summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--graphics/Makefile1
-rw-r--r--graphics/xcftools/Makefile84
-rw-r--r--graphics/xcftools/distinfo2
-rw-r--r--graphics/xcftools/files/patch-src_io-unix.c11
-rw-r--r--graphics/xcftools/files/patch-src_xcf2png.c16
-rw-r--r--graphics/xcftools/files/patch-test_dottest53
-rw-r--r--graphics/xcftools/pkg-descr8
7 files changed, 175 insertions, 0 deletions
diff --git a/graphics/Makefile b/graphics/Makefile
index abeabeae542b..d1c89d72b553 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -1019,6 +1019,7 @@
SUBDIR += wxsvg
SUBDIR += xaos
SUBDIR += xbmbrowser
+ SUBDIR += xcftools
SUBDIR += xd3d
SUBDIR += xdgagrab
SUBDIR += xface.el
diff --git a/graphics/xcftools/Makefile b/graphics/xcftools/Makefile
new file mode 100644
index 000000000000..5907035f3087
--- /dev/null
+++ b/graphics/xcftools/Makefile
@@ -0,0 +1,84 @@
+# $FreeBSD$
+
+PORTNAME= xcftools
+PORTVERSION= 1.0.8.20130212
+CATEGORIES= graphics
+MASTER_SITES= GH \
+ http://freeheimdall.spdns.org/files/
+
+MAINTAINER= kalten@gmx.at
+COMMENT= Command-line tools for extracting from XCF format (graphics/gimp)
+
+LIB_DEPENDS= libpng15.so:${PORTSDIR}/graphics/png
+
+# xcftools is under a public domain licence
+
+USE_GITHUB= yes
+GH_ACCOUNT= j-jorge
+GH_TAGNAME= ${GH_COMMIT}
+GH_COMMIT= d72ba82
+
+DIST_SUBDIR= ${PORTNAME}
+
+# option NLS (for gettext) is wrong as this port allways needs NLS:
+USES= libtool cmake gmake iconv pkgconfig perl5 gettext
+USE_PERL5= build run
+GNU_CONFIGURE= yes
+USE_LDCONFIG= yes
+INSTALL_TARGET= preinstall
+
+# manual pages not built but there is -h for each program.
+# regression tests (TESTS option) fail
+
+PORTDOCS= ChangeLog README TRANSLATION
+PLIST_FILES= bin/xcf2png \
+ bin/xcf2pnm \
+ bin/xcfinfo \
+ bin/xcfview
+
+CFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/libpng15
+LDFLAGS+= -L${LOCALBASE}/lib -lintl
+
+MAKE_JOBS_UNSAFE= yes
+
+OPTIONS_DEFINE= DOCS TESTS
+TESTS_DESC= Run self-tests (faulty) (pulls in graphics/netpbm shells/bash)
+
+TEST_BUILD_DEPENDS= pngtopnm:${PORTSDIR}/graphics/netpbm \
+ bash:${PORTSDIR}/shells/bash
+
+.include <bsd.port.options.mk>
+
+post-patch:
+ @${REINPLACE_CMD} -e "s|^#! \(/bin/bash\)|#!${PREFIX}\1|" \
+ ${WRKSRC}/test/dotest
+ @${REINPLACE_CMD} -e "s|perl|${PERL}|" \
+ ${WRKSRC}/test/dotest
+ @${REINPLACE_CMD} -e "s|^#! /usr/bin/perl|#!${PERL}|" \
+ ${WRKSRC}/xcfview \
+ ${WRKSRC}/mancombine.pl \
+ ${WRKSRC}/manpo/mantranslate.pl \
+ ${WRKSRC}/manpo/optipot.pl \
+ ${WRKSRC}/mkenumsc.pl \
+ ${WRKSRC}/mkenumsh.pl \
+ ${WRKSRC}/mkopti.pl \
+ ${WRKSRC}/mktablec.pl
+
+test:
+.if ${PORT_OPTIONS:MTESTS}
+ cd ${WRKSRC}/test && \
+ ${SETENV} ${MAKE_ENV} limits -m 20m ${GMAKE} check
+.endif
+
+post-build: test
+
+post-install:
+ ${STRIP_CMD} ${WRKSRC}/bin/xcf2png ${WRKSRC}/bin/xcf2pnm \
+ ${WRKSRC}/bin/xcfinfo
+ ${INSTALL_SCRIPT} ${WRKSRC}/bin/xcf2png ${WRKSRC}/bin/xcf2pnm \
+ ${WRKSRC}/bin/xcfinfo ${WRKSRC}/xcfview \
+ ${STAGEDIR}${PREFIX}/bin
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
+
+.include <bsd.port.mk>
diff --git a/graphics/xcftools/distinfo b/graphics/xcftools/distinfo
new file mode 100644
index 000000000000..534ac6555ea0
--- /dev/null
+++ b/graphics/xcftools/distinfo
@@ -0,0 +1,2 @@
+SHA256 (xcftools/xcftools-1.0.8.20130212.tar.gz) = 3b00aa9ace6e4c46674fbaee03a8ba0111bd4a2c980b42c9a82f1ff42cd8f6cd
+SIZE (xcftools/xcftools-1.0.8.20130212.tar.gz) = 197954
diff --git a/graphics/xcftools/files/patch-src_io-unix.c b/graphics/xcftools/files/patch-src_io-unix.c
new file mode 100644
index 000000000000..21b8159d9ebf
--- /dev/null
+++ b/graphics/xcftools/files/patch-src_io-unix.c
@@ -0,0 +1,11 @@
+--- src/io-unix.c.orig 2013-02-12 19:30:10.000000000 +0100
++++ src/io-unix.c 2014-09-11 01:34:41.000000000 +0200
+@@ -96,7 +96,7 @@
+ if( status > 0 ) {
+ fclose(xcfstream) ;
+ xcfstream = 0 ;
+- FatalGeneric(status,NULL);
++ FatalGeneric(status,"status=%d",status);
+ }
+ } else {
+ fclose(xcfstream) ;
diff --git a/graphics/xcftools/files/patch-src_xcf2png.c b/graphics/xcftools/files/patch-src_xcf2png.c
new file mode 100644
index 000000000000..c9426bb76080
--- /dev/null
+++ b/graphics/xcftools/files/patch-src_xcf2png.c
@@ -0,0 +1,16 @@
+--- src/xcf2png.c.orig 2013-02-12 19:30:10.000000000 +0100
++++ src/xcf2png.c 2014-09-11 01:38:20.000000000 +0200
+@@ -23,6 +23,13 @@
+ #include "palette.h"
+
+ #include <png.h>
++#ifndef png_voidp_NULL
++#define png_voidp_NULL (png_voidp)NULL
++#endif
++#ifndef png_error_ptr_NULL
++#define png_error_ptr_NULL (png_error_ptr)NULL
++#endif
++
+ #include <stdlib.h>
+ #include <string.h>
+ #include <locale.h>
diff --git a/graphics/xcftools/files/patch-test_dottest b/graphics/xcftools/files/patch-test_dottest
new file mode 100644
index 000000000000..525a1649a6da
--- /dev/null
+++ b/graphics/xcftools/files/patch-test_dottest
@@ -0,0 +1,53 @@
+--- test/dotest.orig 2013-02-12 19:30:10.000000000 +0100
++++ test/dotest 2014-09-11 05:58:19.000000000 +0200
+@@ -31,6 +31,17 @@
+ keepgoing=1
+ fi
+
++
++compare() {
++ answer=`pamarith -compare "$1" "$2" 2>&1`
++ result=$?
++ if [ ! $result -eq 0 ]; then
++ echo "$answer"
++ fi
++ return $result
++}
++
++
+ failed() {
+ if (( lastfailed != totaltests ))
+ then
+@@ -126,9 +137,9 @@
+ source="$1"
+ shift
+ testrun ${XCFTOOLS_PREFIX}xcf2pnm \
+- -@ -oo.$oext $aopt source/$source.xcf.gz "$@"
+- [ -z "$oanswer" ] || cmp o.want o.$oext || failed
+- [ -z "$aanswer" ] || cmp a.want a.pnm || failed
++ -oo.$oext $aopt source/$source.xcf.gz "$@"
++ [ -z "$oanswer" ] || compare o.want o.$oext || failed
++ [ -z "$aanswer" ] || compare a.want a.pnm || failed
+ }
+
+ testpng() {
+@@ -162,10 +173,10 @@
+ perl pngtype.pl < o.png > pngtype
+ diff -u pngtype.want pngtype || failed
+ pngtopnm $oargs o.png > o.pnm
+- cmp o.want o.pnm || failed
++ compare o.want o.pnm || failed
+ if [ "$afilter" != : ] ; then
+ pngtopnm -alpha o.png > a.pnm
+- cmp a.want a.pnm || failed
++ compare a.want a.pnm || failed
+ fi
+ rm pngtype.want
+ }
+@@ -732,4 +743,4 @@
+ exit 0
+ fi
+
+-# End
+\ No newline at end of file
++# End
diff --git a/graphics/xcftools/pkg-descr b/graphics/xcftools/pkg-descr
new file mode 100644
index 000000000000..b780c29d7033
--- /dev/null
+++ b/graphics/xcftools/pkg-descr
@@ -0,0 +1,8 @@
+Xcftools is a set of fast command-line tools for extracting information
+from the Gimp's native file format XCF. The tools are designed to allow
+efficient use of layered XCF files as sources in a build system that use
+'make' and similar tools to manage automatic processing of the graphics.
+These tools work independently of the Gimp engine and do not require the
+Gimp to even be installed.
+
+WWW: http://henning.makholm.net/software