summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Peterson <lavajoe@gentoo.org>2008-11-08 19:48:07 +0000
committerJoe Peterson <lavajoe@gentoo.org>2008-11-08 19:48:07 +0000
commit45124067bb5899a225aa93187b2dc5d9d315bdb9 (patch)
treece99678db5c875ccbf663bc678b0403c4682f019 /media-gfx/povray/files
parentKeyworded on alpha, bug #238598 (diff)
downloadhistorical-45124067bb5899a225aa93187b2dc5d9d315bdb9.tar.gz
historical-45124067bb5899a225aa93187b2dc5d9d315bdb9.tar.bz2
historical-45124067bb5899a225aa93187b2dc5d9d315bdb9.zip
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
Diffstat (limited to 'media-gfx/povray/files')
-rw-r--r--media-gfx/povray/files/povray-3.6.1-use-system-libpng.patch51
1 files changed, 51 insertions, 0 deletions
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 <stdio.h>
++#include <stdlib.h>
+ #include <string.h>
+ #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