diff options
-rw-r--r-- | graphics/Makefile | 1 | ||||
-rw-r--r-- | graphics/xcftools/Makefile | 84 | ||||
-rw-r--r-- | graphics/xcftools/distinfo | 2 | ||||
-rw-r--r-- | graphics/xcftools/files/patch-src_io-unix.c | 11 | ||||
-rw-r--r-- | graphics/xcftools/files/patch-src_xcf2png.c | 16 | ||||
-rw-r--r-- | graphics/xcftools/files/patch-test_dottest | 53 | ||||
-rw-r--r-- | graphics/xcftools/pkg-descr | 8 |
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 |