diff options
author | John Marino <marino@FreeBSD.org> | 2014-09-18 04:33:22 +0800 |
---|---|---|
committer | John Marino <marino@FreeBSD.org> | 2014-09-18 04:33:22 +0800 |
commit | 673e42630c8e5f3a8f7782c4fe1f406887c75569 (patch) | |
tree | 22ca30d698be9a1a9087ff6792f85992065fdc93 /graphics/xcftools | |
parent | e85e54acf66a54a3f2e59bf5f8658fd05e29cb5b (diff) | |
download | freebsd-ports-gnome-673e42630c8e5f3a8f7782c4fe1f406887c75569.tar.gz freebsd-ports-gnome-673e42630c8e5f3a8f7782c4fe1f406887c75569.tar.zst freebsd-ports-gnome-673e42630c8e5f3a8f7782c4fe1f406887c75569.zip |
Add new port graphics/xcftools
PR: 179116
Submitted by: Kalten (gmx.at)
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.
Diffstat (limited to 'graphics/xcftools')
-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 |
6 files changed, 174 insertions, 0 deletions
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 |