Fix by Andy Chambers for segfault in pnmtopng #104434 by Heiko Baums. Fix by Matthew...
authorMike Frysinger <vapier@gentoo.org>
Tue, 27 Sep 2005 01:14:05 +0000 (01:14 +0000)
committerMike Frysinger <vapier@gentoo.org>
Tue, 27 Sep 2005 01:14:05 +0000 (01:14 +0000)
Package-Manager: portage-2.0.52-r1 http://www.bash.org/?136501

media-libs/netpbm/ChangeLog
media-libs/netpbm/Manifest
media-libs/netpbm/files/digest-netpbm-10.29-r1 [new file with mode: 0644]
media-libs/netpbm/files/netpbm-10.29-anytopnm.patch [new file with mode: 0644]
media-libs/netpbm/files/netpbm-10.29-build.patch [new file with mode: 0644]
media-libs/netpbm/files/netpbm-10.29-pnmtopng-alpha-check.patch [new file with mode: 0644]
media-libs/netpbm/netpbm-10.29-r1.ebuild [new file with mode: 0644]

index 77b9ee1677a3f641e57229447afb80b55a682633..d163962c692d8f000e9a188c89f5504a89178953 100644 (file)
@@ -1,6 +1,15 @@
 # ChangeLog for media-libs/netpbm
-# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/netpbm/ChangeLog,v 1.66 2005/08/16 02:13:49 lu_zero Exp $
+# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/netpbm/ChangeLog,v 1.67 2005/09/27 01:14:05 vapier Exp $
+
+*netpbm-10.29-r1 (27 Sep 2005)
+
+  27 Sep 2005; Mike Frysinger <vapier@gentoo.org>
+  +files/netpbm-10.29-anytopnm.patch, +files/netpbm-10.29-build.patch,
+  +files/netpbm-10.29-pnmtopng-alpha-check.patch, +netpbm-10.29-r1.ebuild:
+  Fix by Andy Chambers for segfault in pnmtopng #104434 by Heiko Baums. Fix by
+  Matthew Lange for buggy anytopnm #105127 by Erik Thiele. Add real manpages
+  #67017. Also try to fix parallel building.
 
 *netpbm-10.29 (16 Aug 2005)
 
index 8f1078d9e0fe78cc1a356767dbae4fd657abb1f4..14d23d059b427c77ba75ba407b306fb137422cfd 100644 (file)
@@ -6,20 +6,25 @@ MD5 bc37890e535cf2fcbe66043b92491072 netpbm-10.11.15.ebuild 2009
 MD5 e1f6c302199a36c1be4ecf1654be9bac metadata.xml 224
 MD5 f17a1fb0d30a71452e534e435c7295b2 netpbm-9.12-r4.ebuild 1343
 MD5 28ca860ea5e88498171e08bc22685c16 netpbm-10.11.5-r3.ebuild 1567
+MD5 01dc7e27d78b75db8e6bd397dc17b29a netpbm-10.29-r1.ebuild 2446
 MD5 895b0e411f04f77b4f7c4d6eadff308a netpbm-10.29.ebuild 2431
 MD5 4ff1d95265184a7c760d4748a4cb1beb netpbm-10.28.ebuild 2460
 MD5 a936cf1a2061cebff85f7a54e12d6422 netpbm-10.20.ebuild 2273
 MD5 fc5b2c41ccdc4c486d3f7b65771753b5 netpbm-10.19.ebuild 1739
-MD5 ea188f9c9ae46a2bdf0984927563afcb ChangeLog 9351
+MD5 13bc8d6fa91f6998fb0f9538d27450f6 ChangeLog 9780
 MD5 323b69ef703b303e44f51be5b762df65 netpbm-10.18.7.ebuild 2009
 MD5 e1d7f1307e675fbbfc3a07f2539c0708 netpbm-10.20-r1.ebuild 2442
 MD5 40a3370de6ed591305e4585ffbc605bd files/digest-netpbm-10.20 62
+MD5 e03ba0a74da10891ecaa41fb86191275 files/digest-netpbm-10.29-r1 136
 MD5 b38412609f4a8671a787d303b8d2b876 files/digest-netpbm-9.12-r4 61
 MD5 8c4a20ca06c83687436b8cb75917d5f1 files/digest-netpbm-10.29 62
+MD5 3e364cbe32c6c5bd2f329b8dbcf604d5 files/netpbm-10.29-anytopnm.patch 1562
 MD5 19ce2b4d396523dcbcb1e415d4bdb8c9 files/digest-netpbm-10.11.5-r3 64
+MD5 ffa6c02e94b0dfc779d129cd7e09e928 files/netpbm-10.29-build.patch 1886
 MD5 c06a062a991dc2b0f8bd88ac44a1e5e5 files/digest-netpbm-10.19 62
 MD5 c6c3222383568021fbbdc34114b6f279 files/digest-netpbm-10.28 62
 MD5 6735fc271948c349d02f59361b4c373e files/digest-netpbm-10.11.14 65
+MD5 d0d44fe5de727324db35e8110dc81f63 files/netpbm-10.29-pnmtopng-alpha-check.patch 603
 MD5 40a3370de6ed591305e4585ffbc605bd files/digest-netpbm-10.20-r1 62
 MD5 ef9c07e7cbf6b830f8dd61e59fb0a34b files/netpbm-dSAFER.patch 818
 MD5 74da89b4a373ba2116b4ba5d8e9d31a0 files/digest-netpbm-10.18.7 64
@@ -32,7 +37,7 @@ MD5 d3afaf9141525a706f8c077f66918670 files/10.11.5/Makefile.config 17308
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.2 (GNU/Linux)
 
-iD8DBQFDAXOGgIKl8Uu19MoRAl1ZAJ9+komQtLQOjJQD8seXD/Zd1O4LxQCfThIn
-/isg8Ff4xFYcLswzChYlJ5I=
-=0C33
+iD8DBQFDOJ0TgIKl8Uu19MoRAjQrAJ9ZQHykrJXdjxof8AVYVUxNYYm1BACfYGcv
+U/4IzGL/6rTQ1s25zPNirfw=
+=dovU
 -----END PGP SIGNATURE-----
diff --git a/media-libs/netpbm/files/digest-netpbm-10.29-r1 b/media-libs/netpbm/files/digest-netpbm-10.29-r1
new file mode 100644 (file)
index 0000000..5f256ce
--- /dev/null
@@ -0,0 +1,2 @@
+MD5 606c7ca1f3cd4c722a98961216730aec netpbm-10.29.tgz 2359729
+MD5 2009fd15b23e6b405af0813e950d044e netpbm-10.29-manpages.tar.bz2 232801
diff --git a/media-libs/netpbm/files/netpbm-10.29-anytopnm.patch b/media-libs/netpbm/files/netpbm-10.29-anytopnm.patch
new file mode 100644 (file)
index 0000000..aa4cf5a
--- /dev/null
@@ -0,0 +1,58 @@
+Patch by Matthew Lange
+
+http://bugs.gentoo.org/105127
+
+--- converter/other/anytopnm
++++ converter/other/anytopnm
+@@ -73,7 +73,7 @@
+     file --mime /dev/null >/dev/null 2>/dev/null
+     if [ $? -eq 0 ]; then
+         # Now that we know the --mime option exists, use it.
+-        mimeType=`file --mime "$1" | cut -d: -f2-`
++        mimeType=`file --mime "$1" | cut -d: -f2- | cut -c2-`
+     else
+         # file --mime failed; we don't know why, but we assume it's because it
+         # is a traditional 'file' program that doesn't have a --mime option.
+@@ -90,26 +90,26 @@
+     case "$1" in
+ 
+         image/jpeg )
+-            type = "jfif"
++            type="jfif"
+             ;;
+         image/gif )
+-            type = "gif"
++            type="gif"
+             ;;
+         image/tiff )
+-            type = "tiff"
++            type="tiff"
+             ;;
+         image/bmp )
+-            type = "bmp"
++            type="bmp"
+             ;;
+         image/png )
+-            type = "png"
++            type="png"
+             ;;
+         image/x-portable-bitmap | image/x-portable-pixmap | \
+                 image/x-portable-greymap)
+-            type = "pnm"
++            type="pnm"
+             ;;
+         image/x-xpm )
+-            type = "xpm"
++            type="xpm"
+             ;;
+         * )
+             filetype=unknown
+@@ -541,7 +541,7 @@
+ 
+ setMimeType "$file"
+ 
+-typeDescription=`file "$file" | cut -d: -f2-`
++typeDescription=`file "$file" | cut -d: -f2- | cut -c2`
+ 
+ determineType "$file" "$mimeType" "$typeDescription" "$fileExtension"
+ 
diff --git a/media-libs/netpbm/files/netpbm-10.29-build.patch b/media-libs/netpbm/files/netpbm-10.29-build.patch
new file mode 100644 (file)
index 0000000..902f9aa
--- /dev/null
@@ -0,0 +1,60 @@
+- Don't install libnetpbm.a and libnetpbm.so into a sep link dir
+- Try to fix parallel building
+- Make the libopt tool less 'helpful'
+
+--- lib/Makefile
++++ lib/Makefile
+@@ -249,7 +249,7 @@
+ .PHONY: install.staticlib
+ install.staticlib: $(PKGDIR)/link
+       $(INSTALL) -c -m $(INSTALL_PERM_LIBS) libnetpbm.$(STATICLIBSUFFIX) \
+-        $(PKGDIR)/link
++        $(PKGDIR)/lib
+ 
+ # Install a shared library stub -- the ".so" file used at link time to
+ # prepare a program for dynamically linking a library at run time 
+@@ -257,9 +257,9 @@
+ install.sharedlibstub: $(PKGDIR)/link
+ ifeq ($(NETPBMLIBTYPE),unixshared)
+ # install the link-time (.so) links to the runtime libraries
+-      cd $(PKGDIR)/link ; \
++      cd $(PKGDIR)/lib ; \
+           rm -f libnetpbm.$(NETPBMLIBSUFFIX); \
+-          $(SYMLINK) ../lib/libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ) \
++          $(SYMLINK) libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ) \
+             libnetpbm.$(NETPBMLIBSUFFIX)
+ endif
+ ifeq ($(NETPBMLIBTYPE),dll)
+--- GNUmakefile
++++ GNUmakefile
+@@ -87,6 +87,9 @@
+ 
+ .PHONY: nonmerge
+ nonmerge: $(PRODUCT_SUBDIRS:%=%/all)
++
++$(PRODUCT_SUBDIRS:%=%/all): $(LIBOPT)
++converter/all analyzer/all editor/all generator/all other/all: lib/all
+ 
+ OMIT_CONFIG_RULE = 1
+ include $(SRCDIR)/Makefile.common
+--- buildtools/libopt.c
++++ buildtools/libopt.c
+@@ -496,4 +496,5 @@
+ main(int argc, char **argv) {
+ 
++    bool shut_the_hell_up = TRUE;
+     bool error;
+     bool runtime;  /* -runtime option has been seen */
+@@ -508,4 +509,6 @@
+         if (strcmp(argv[arg], "-runtime") == 0)
+             runtime = TRUE;
++        else if (strcmp(argv[arg], "-v") == 0)
++            shut_the_hell_up = FALSE;
+         else {
+             if (strlen(argv[arg]) > 200)
+@@ -534,4 +537,5 @@
+     } else {
+         fputs(outputLine, stdout);
++        if (shut_the_hell_up == FALSE)
+         fprintf(stderr, "libopt results: '%s'\n", outputLine);
+         retval = 0;
diff --git a/media-libs/netpbm/files/netpbm-10.29-pnmtopng-alpha-check.patch b/media-libs/netpbm/files/netpbm-10.29-pnmtopng-alpha-check.patch
new file mode 100644 (file)
index 0000000..fbae5ac
--- /dev/null
@@ -0,0 +1,18 @@
+Fix segfault when converting files w/out alpha
+
+Patch by Andy Chambers
+
+http://bugs.gentoo.org/104434
+
+--- converter/other/pnmtopng.c
++++ converter/other/pnmtopng.c
+@@ -1690,7 +1690,8 @@
+             pnm_promoteformatrow(xelrow, cols, maxval, format, maxval,
+                                  PPM_TYPE);
+             
+-            makePngLine(line, xelrow, cols, maxval, alpha, alpha_mask[row],
++            makePngLine(line, xelrow, cols, maxval, 
++                      alpha, alpha ? alpha_mask[row] : NULL,
+                         cht, caht, info_ptr, png_maxval, depth);
+ 
+             png_write_row(png_ptr, line);
diff --git a/media-libs/netpbm/netpbm-10.29-r1.ebuild b/media-libs/netpbm/netpbm-10.29-r1.ebuild
new file mode 100644 (file)
index 0000000..b9bd9c8
--- /dev/null
@@ -0,0 +1,92 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/netpbm/netpbm-10.29-r1.ebuild,v 1.1 2005/09/27 01:14:05 vapier Exp $
+
+inherit flag-o-matic toolchain-funcs eutils
+
+DESCRIPTION="A set of utilities for converting to/from the netpbm (and related) formats"
+HOMEPAGE="http://netpbm.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tgz
+       mirror://gentoo/${P}-manpages.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="svga jpeg tiff png zlib"
+
+DEPEND="jpeg? ( >=media-libs/jpeg-6b )
+       tiff? ( >=media-libs/tiff-3.5.5 )
+       png? ( >=media-libs/libpng-1.2.1 )
+       zlib? ( sys-libs/zlib )
+       svga? ( media-libs/svgalib )
+       media-libs/jbigkit
+       media-libs/jasper
+       media-libs/urt"
+
+netpbm_config() {
+       use $1 && echo ${2:-lib$1.so} || echo NONE
+}
+
+src_unpack() {
+       unpack ${A}
+       cd "${S}"
+
+       epatch "${FILESDIR}"/netpbm-10.29-anytopnm.patch #105127
+       epatch "${FILESDIR}"/netpbm-10.29-pnmtopng-alpha-check.patch #104434
+       epatch "${FILESDIR}"/netpbm-10.29-build.patch
+
+       rm -f configure
+       cp Makefile.config.in Makefile.config
+       cat >> Makefile.config <<-EOF
+       # Gentoo toolchain options
+       CC = $(tc-getCC)
+       CC_FOR_BUILD = $(tc-getBUILD_CC)
+       AR = $(tc-getAR)
+       RANLIB = $(tc-getRANLIB)
+       STRIPFLAG =
+       CFLAGS_SHLIB = -fPIC
+
+       # Gentoo build options
+       TIFFLIB = $(netpbm_config tiff)
+       JPEGLIB = $(netpbm_config jpeg)
+       PNGLIB = $(netpbm_config png)
+       ZLIB = $(netpbm_config zlib libz.so)
+       LINUXSVGALIB = $(netpbm_config svga libvga.so)
+
+       # Use system versions instead of bundled
+       JBIGLIB = libjbig.a
+       JBIGHDR_DIR =
+       JASPERLIB = libjasper.so
+       JASPERHDR_DIR =
+       URTLIB = librle.a
+       URTHDR_DIR = /usr/include/urt
+       EOF
+
+       # Sparc support ...
+       replace-flags -mcpu=ultrasparc "-mcpu=v8 -mtune=ultrasparc"
+       replace-flags -mcpu=v9 "-mcpu=v8 -mtune=v9"
+}
+
+src_install() {
+       make package pkgdir="${D}"/usr || die "make package failed"
+
+       [[ $(get_libdir) != "lib" ]] && mv "${D}"/usr/lib "${D}"/usr/$(get_libdir)
+
+       # Remove cruft that we don't need, and move around stuff we want
+       rm -f "${D}"/usr/bin/{doc.url,manweb}
+       rm -rf "${D}"/usr/man/web
+       rm -rf "${D}"/usr/link
+       rm -f "${D}"/usr/{README,VERSION,config_template,pkginfo}
+       dodir /usr/share
+       mv "${D}"/usr/man "${D}"/usr/share/
+       mv "${D}"/usr/misc "${D}"/usr/share/netpbm
+
+       dodoc README
+       cd doc
+       GLOBIGNORE='*.html:.*' dodoc *
+       dohtml -r .
+
+       cd "${WORKDIR}"/${P}-manpages
+       doman *.[0-9]
+       dodoc README* gen-netpbm-manpages
+}