From 45124067bb5899a225aa93187b2dc5d9d315bdb9 Mon Sep 17 00:00:00 2001 From: Joe Peterson Date: Sat, 8 Nov 2008 19:48:07 +0000 Subject: Fix 3.6.1 to not use any bundled static libs and to correctly detect system lib versions, like libpng (bug #153538) Package-Manager: portage-2.2_rc13/cvs/Linux 2.6.27-gentoo-r2 i686 --- media-gfx/povray/ChangeLog | 9 ++- media-gfx/povray/Manifest | 4 +- .../files/povray-3.6.1-use-system-libpng.patch | 51 ++++++++++++ media-gfx/povray/povray-3.6.1-r4.ebuild | 90 ++++++++++++++++++++++ 4 files changed, 152 insertions(+), 2 deletions(-) create mode 100644 media-gfx/povray/files/povray-3.6.1-use-system-libpng.patch create mode 100644 media-gfx/povray/povray-3.6.1-r4.ebuild (limited to 'media-gfx/povray') diff --git a/media-gfx/povray/ChangeLog b/media-gfx/povray/ChangeLog index 5dad9f02311f..ae367f0abaf7 100644 --- a/media-gfx/povray/ChangeLog +++ b/media-gfx/povray/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for media-gfx/povray # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-gfx/povray/ChangeLog,v 1.79 2008/11/08 15:45:55 nixnut Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-gfx/povray/ChangeLog,v 1.80 2008/11/08 19:48:07 lavajoe Exp $ + +*povray-3.6.1-r4 (08 Nov 2008) + + 08 Nov 2008; Joe Peterson + +files/povray-3.6.1-use-system-libpng.patch, +povray-3.6.1-r4.ebuild: + Fix 3.6.1 to not use any bundled static libs and to correctly detect + system lib versions, like libpng (bug #153538) 08 Nov 2008; nixnut povray-3.6.1-r3.ebuild: Stable on ppc wrt bug 245981 diff --git a/media-gfx/povray/Manifest b/media-gfx/povray/Manifest index 187ed19f023b..84bf70b386bb 100644 --- a/media-gfx/povray/Manifest +++ b/media-gfx/povray/Manifest @@ -1,9 +1,11 @@ AUX povray-3.6.1-configure.patch 1081 RMD160 92dd3995691d567f6ae24b38bea1f31b9803b5b3 SHA1 c4c9fe03b8e24b8c03ed93abd484cfff3abd8dfc SHA256 a3278c6e43c30daa5a2edb7de3726e57f732f9c387b2d838cb41f3c7f14f773b AUX povray-3.6.1-find-egrep.patch 2463 RMD160 6af6c01daec1a0eb5ae27f65ede5411c4af2dbe2 SHA1 19537ff628130a4d2b048529e5a4f9bbfe79840c SHA256 1f56d1223954c1d0ed160b034badcf0878813b0bf984221c8eadce5d7666a46e +AUX povray-3.6.1-use-system-libpng.patch 1922 RMD160 dd5481f9ff81f06c596dc0a19386e5ca01f4ad57 SHA1 98333f7701ffd1803adc9b04d5d09beff2f34c27 SHA256 efb0d8345d8409d6c92d024b0b1621bea88f460d73ad9d00b4b670e1ae6b127f DIST povray-3.6.1.tar.bz2 8200160 RMD160 84ba679da66089f192cc1bfcf8bdd498e736a9a3 SHA1 1fab3ccbdedafbf77e3a66087709bbdf60bc643d SHA256 4e8a7fecd44807343b6867e1f2440aa0e09613d6d69a7385ac48f4e5e7737a73 DIST povray-src-3.7.0.beta.29.tar.bz2 6202387 RMD160 5073463b1068fc95a31f77da6458286888eccff8 SHA1 4c7a4c22472d3b9a2d88e660a6df6c3b3d497efb SHA256 88655167a4ae0ba97a7e1e19c261d592692bbbdc7f77d287c0b3d084334b45b3 EBUILD povray-3.6.1-r2.ebuild 1507 RMD160 a19e644cee988e4fd08a9899488f724bb914f7fa SHA1 c0047a1dbb33e7ced8ba72db84e4ba0cc98eba62 SHA256 18b7040548f990c7df80da07deb14b58413c643b6e42d58425dc9ec70ce6de83 EBUILD povray-3.6.1-r3.ebuild 2395 RMD160 d61d6901e0a3ee3578ef3afe5f12ed5318c7b30b SHA1 8fa30c990537ab0245eaf28d2c2cffd8e3e0ead7 SHA256 1d1b97bb3d3e9ad101303c02a4ef3f3caabff2a2d9e70847022a4260c689f16f +EBUILD povray-3.6.1-r4.ebuild 2754 RMD160 4a5b8591187fdc6c772b81d8c4e45cea735c2803 SHA1 f4557319c71b657cd9ec9c90d5a572e71e939f43 SHA256 a1f4d5a66ad2b9ced415344bd1242fcbe86cd85870b96fb38852a1b4f9089d57 EBUILD povray-3.7.0_beta29.ebuild 3589 RMD160 7bcf89efcedee868b8c0aec786e241ce5e8b01f7 SHA1 149351df2461d2f1e368a0c9c28ed02805f32b08 SHA256 c43502815e3a31b1cd89678c7600cdceff05206cb34b49150ee4dc947a48f0f4 -MISC ChangeLog 11635 RMD160 7b42f176f6b07038c2319ffdba3b0ebcd75326bb SHA1 c48ab08a27d022e874b778c8fbc30e292ec3a337 SHA256 11d4f283f2d4a20949304bde9d6af95fef141526fcb360b6c46f6f60b1cd1332 +MISC ChangeLog 11910 RMD160 17d7096a4c8c1d4e2e2dde90e88d1f0f440f3dc6 SHA1 decf57d3f7784cd01ca200cc86976cabf1bf5b3b SHA256 a56493b93aac76a9b9f35237f93c0f462675ed0e7db35b6041d624233b017f43 MISC metadata.xml 223 RMD160 0c9c59654305e8789fe6c93fd07c561cfe003f54 SHA1 7904e6fb45104baf2cb67fb9886c633af4dc7056 SHA256 a24b49fe5448d4cb329acf1d8113ac30eb1d61d63a7319b66c077d3f1775d055 diff --git a/media-gfx/povray/files/povray-3.6.1-use-system-libpng.patch b/media-gfx/povray/files/povray-3.6.1-use-system-libpng.patch new file mode 100644 index 000000000000..365ee370f0d0 --- /dev/null +++ b/media-gfx/povray/files/povray-3.6.1-use-system-libpng.patch @@ -0,0 +1,51 @@ +--- povray-3.6.1/acinclude.m4~ 2004-08-03 00:16:14.000000000 +0100 ++++ povray-3.6.1/acinclude.m4 2006-11-15 15:29:33.000000000 +0000 +@@ -353,13 +353,36 @@ + [ + AC_LANG_SOURCE( + [#include ++#include + #include + #include "$5" + int main (void) + { + const char *version = $6; ++ char wanted[[]] = "$2"; ++ char *version_tok, *wanted_tok = wanted; ++ char *version_tmp, *wanted_tmp; + fprintf (stderr, "%s\n", version); +- return ! (strcmp (version ? version : "", "$2") >= 0); ++ if (!version) return EXIT_FAILURE; ++ version_tok = strdup(version); ++ for (version_tok = strtok_r(version_tok, ".", &version_tmp), ++ wanted_tok = strtok_r(wanted_tok, ".", &wanted_tmp); ++ version_tok != NULL && wanted_tok != NULL; ++ version_tok = strtok_r(NULL, ".", &version_tmp), ++ wanted_tok = strtok_r(NULL, ".", &wanted_tmp)) { ++ char *version_endptr, *wanted_endptr; ++ unsigned long version_bit = strtoul(version_tok, &version_endptr, 10); ++ unsigned long wanted_bit = strtoul(wanted_tok, &wanted_endptr, 10); ++ if (version_bit < wanted_bit) ++ return EXIT_FAILURE; ++ if (version_bit > wanted_bit) ++ return EXIT_SUCCESS; ++ if (strcmp(version_endptr, wanted_endptr) > 0) ++ return EXIT_SUCCESS; ++ if (strcmp(version_endptr, wanted_endptr) < 0) ++ return EXIT_FAILURE; ++ } ++ return wanted_tok == NULL ? EXIT_SUCCESS : EXIT_FAILURE; + }] + ) + ], +--- povray-3.6.1/source/png_pov.cpp~ 2004-08-03 00:11:37.000000000 +0100 ++++ povray-3.6.1/source/png_pov.cpp 2006-11-15 16:48:33.000000000 +0000 +@@ -782,7 +782,7 @@ + { + // finished prematurely - trick into thinking done + png_ptr->num_rows = png_ptr->row_number; +- png_write_finish_row(png_ptr); ++ png_write_row(png_ptr, row_ptr); + } + + #ifdef POV_COMMENTS // temporarily skip comment writing code diff --git a/media-gfx/povray/povray-3.6.1-r4.ebuild b/media-gfx/povray/povray-3.6.1-r4.ebuild new file mode 100644 index 000000000000..dde050a60ebe --- /dev/null +++ b/media-gfx/povray/povray-3.6.1-r4.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-gfx/povray/povray-3.6.1-r4.ebuild,v 1.1 2008/11/08 19:48:07 lavajoe Exp $ + +inherit flag-o-matic eutils autotools + +DESCRIPTION="The Persistence Of Vision Ray Tracer" +SRC_URI="ftp://ftp.povray.org/pub/povray/Official/Unix/${P}.tar.bz2" +HOMEPAGE="http://www.povray.org/" + +LICENSE="povlegal-3.6" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +IUSE="svga tiff X" + +DEPEND=">=media-libs/libpng-1.2.26 + tiff? ( >=media-libs/tiff-3.6.1 ) + media-libs/jpeg + sys-libs/zlib + X? ( x11-libs/libXaw ) + svga? ( media-libs/svgalib )" + +src_unpack() { + unpack ${A} + cd "${S}" + + epatch "${FILESDIR}"/${P}-configure.patch + epatch "${FILESDIR}"/${P}-find-egrep.patch + + # Change some destination directories that cannot be adjusted via configure + cp Makefile.am Makefile.am.orig + sed -i -e "s:^povlibdir = .*:povlibdir = @datadir@/${PN}:" Makefile.am + sed -i -e "s:^povdocdir = .*:povdocdir = @datadir@/doc/${PF}:" Makefile.am + sed -i -e "s:^povconfdir = .*:povconfdir = @sysconfdir@/${PN}:" Makefile.am + + cd unix + cp Makefile.am Makefile.am.orig + sed -i -e 's:^ -DPOVLIBDIR=.*: -DPOVLIBDIR=\\"@datadir@/'"${PN}"'\\" \\:' Makefile.am + sed -i -e 's:^ -DPOVCONFDIR=.*: -DPOVCONFDIR=\\"@sysconfdir@/'"${PN}"'\\" \\:' Makefile.am + cd .. + + # Patch code that compares system lib versions to properly detect + # newer versions. Also fix reference to old png call. (Bug #153538) + epatch "${FILESDIR}"/${P}-use-system-libpng.patch + + # Also, to make sure no bundled static libs can be used, remove them + rm -r libraries/jpeg + rm -r libraries/png + rm -r libraries/tiff + rm -r libraries/zlib + + AT_NO_RECURSIVE="yes" eautoreconf +} + +src_compile() { + # Fixes bug 71255 + if [[ $(get-flag march) == k6-2 ]]; then + filter-flags -fomit-frame-pointer + fi + + econf \ + COMPILED_BY="Portage (Gentoo `uname`) on `hostname -f`" \ + $(use_with svga) \ + $(use_with tiff) \ + $(use_with X) \ + || die + + emake || die +} + +src_install() { + emake DESTDIR="${D}" install || die +} + +pkg_preinst() { + # Copy the old config files if they are in the old location + # but do not yet exist in the new location. + # This way, they can be treated by CONFIG_PROTECT as normal. + for conf_file in $(ls "${D}/etc/${PN}"); do + if [ ! -e "${ROOT}etc/${PN}/${conf_file}" ]; then + for version_dir in $(ls "${ROOT}etc/${PN}" | grep "^[0-9]" | sort -rn); do + if [ -e "${ROOT}etc/${PN}/${version_dir}/${conf_file}" ]; then + mv "${ROOT}etc/${PN}/${version_dir}/${conf_file}" "${ROOT}etc/${PN}" + elog "Note: ${conf_file} moved from ${ROOT}etc/povray/${version_dir}/ to ${ROOT}etc/povray/" + break + fi + done + fi + done +} -- cgit v1.2.3-65-gdbad