summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2005-09-27 01:14:05 +0000
committerMike Frysinger <vapier@gentoo.org>2005-09-27 01:14:05 +0000
commitfedfece29e2c9ecd96cbfb919893185692f2c883 (patch)
treee36e4e0644fd654e2ef1049876e1c1dc9b23b2ea
parentadd some sanity checks to make sure people use these functions correctly (diff)
downloadgentoo-2-fedfece29e2c9ecd96cbfb919893185692f2c883.tar.gz
gentoo-2-fedfece29e2c9ecd96cbfb919893185692f2c883.tar.bz2
gentoo-2-fedfece29e2c9ecd96cbfb919893185692f2c883.zip
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.
(Portage version: 2.0.52-r1 http://www.bash.org/?136501 )
-rw-r--r--media-libs/netpbm/ChangeLog13
-rw-r--r--media-libs/netpbm/files/digest-netpbm-10.29-r12
-rw-r--r--media-libs/netpbm/files/netpbm-10.29-anytopnm.patch58
-rw-r--r--media-libs/netpbm/files/netpbm-10.29-build.patch60
-rw-r--r--media-libs/netpbm/files/netpbm-10.29-pnmtopng-alpha-check.patch18
-rw-r--r--media-libs/netpbm/netpbm-10.29-r1.ebuild92
6 files changed, 241 insertions, 2 deletions
diff --git a/media-libs/netpbm/ChangeLog b/media-libs/netpbm/ChangeLog
index 77b9ee1677a3..d163962c692d 100644
--- a/media-libs/netpbm/ChangeLog
+++ b/media-libs/netpbm/ChangeLog
@@ -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)
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
index 000000000000..5f256cebbee7
--- /dev/null
+++ b/media-libs/netpbm/files/digest-netpbm-10.29-r1
@@ -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
index 000000000000..aa4cf5afec35
--- /dev/null
+++ b/media-libs/netpbm/files/netpbm-10.29-anytopnm.patch
@@ -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
index 000000000000..902f9aa5ab4b
--- /dev/null
+++ b/media-libs/netpbm/files/netpbm-10.29-build.patch
@@ -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
index 000000000000..fbae5ac4e7a2
--- /dev/null
+++ b/media-libs/netpbm/files/netpbm-10.29-pnmtopng-alpha-check.patch
@@ -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
index 000000000000..b9bd9c8cadbc
--- /dev/null
+++ b/media-libs/netpbm/netpbm-10.29-r1.ebuild
@@ -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
+}