diff options
author | Mike Frysinger <vapier@gentoo.org> | 2005-09-27 01:14:05 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2005-09-27 01:14:05 +0000 |
commit | fedfece29e2c9ecd96cbfb919893185692f2c883 (patch) | |
tree | e36e4e0644fd654e2ef1049876e1c1dc9b23b2ea | |
parent | add some sanity checks to make sure people use these functions correctly (diff) | |
download | gentoo-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/ChangeLog | 13 | ||||
-rw-r--r-- | media-libs/netpbm/files/digest-netpbm-10.29-r1 | 2 | ||||
-rw-r--r-- | media-libs/netpbm/files/netpbm-10.29-anytopnm.patch | 58 | ||||
-rw-r--r-- | media-libs/netpbm/files/netpbm-10.29-build.patch | 60 | ||||
-rw-r--r-- | media-libs/netpbm/files/netpbm-10.29-pnmtopng-alpha-check.patch | 18 | ||||
-rw-r--r-- | media-libs/netpbm/netpbm-10.29-r1.ebuild | 92 |
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 +} |