summaryrefslogtreecommitdiff
path: root/media-gfx/povray
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /media-gfx/povray
reinit the tree, so we can have metadata
Diffstat (limited to 'media-gfx/povray')
-rw-r--r--media-gfx/povray/Manifest12
-rw-r--r--media-gfx/povray/files/povray-3.7.0.0-automagic.patch27
-rw-r--r--media-gfx/povray/files/povray-3.7.0.0-boost-1.50.patch72
-rw-r--r--media-gfx/povray/files/povray-3.7.0.0-r1-boost-1.50.patch108
-rw-r--r--media-gfx/povray/files/povray-3.7.0.0-user-conf.patch27
-rw-r--r--media-gfx/povray/files/povray-3.7.0_rc6-darwin-defaults.patch21
-rw-r--r--media-gfx/povray/metadata.xml14
-rw-r--r--media-gfx/povray/povray-3.7.0.0-r1.ebuild141
-rw-r--r--media-gfx/povray/povray-3.7.0.0.ebuild146
9 files changed, 568 insertions, 0 deletions
diff --git a/media-gfx/povray/Manifest b/media-gfx/povray/Manifest
new file mode 100644
index 000000000000..af21bb4f964f
--- /dev/null
+++ b/media-gfx/povray/Manifest
@@ -0,0 +1,12 @@
+AUX povray-3.7.0.0-automagic.patch 812 SHA256 dc37eb1505fcea73c2d30bef3939efa9ffb1921ee88d60e36e3aae0668336ab9 SHA512 c76ccc429b2868fbae4d40f66d81c07d8b5eba3ec419b2377d3ee541f34b7e597ecf232d1a268abd85fa47abd4f9c7b3cbf26293746b2b10361cef2ea4c34709 WHIRLPOOL 976db9c966d8f6e5e3c05c207f6d0c8f2c62cac9454bbd06f6a2dd8f3d478617b0436e9571bcfb9e8ebc32248561d472f747cc875715b2accc7b42c01fec8c12
+AUX povray-3.7.0.0-boost-1.50.patch 2739 SHA256 c8d4e6809bfcd1a33457b493fa9ba9d2a9983e1a4be750508d766d129dd0b180 SHA512 90b5f03bd290b8fd4431fae208a38d8d54c56bbe3e39db728546a0598ce953eb6f98745bd2ad527d4f8f39dc02cb066b4aee999e7fc7e1348c0da98e9f6bbc1b WHIRLPOOL ebfe59545a53562cbcccfd2da690f4fce80da28599978410f723efb76c589570fc44266a66691d065874701113f1efc37ce4748e6681d7a38ed578722a1f63e3
+AUX povray-3.7.0.0-r1-boost-1.50.patch 3582 SHA256 c837b6173e8600061e8eec338c27f8d59b4b8afa131861ab85acc2e55c48fed7 SHA512 5ab0f29e67e98e47fe8fb991d8a510cb1ff92f27be6e0191c7d8c8f91ec3d67b3127d7227bdbfe8f263b9c6ada216ac46d0bb2e1f221230b253f07424ba689db WHIRLPOOL 4bf9c7b395d97c25b7e006fd700fc2ff6e827b15c77cbb3a46332687ac25c247f86f529d77bec6630d2cb91875f3a5da948845848b4126d46f9b05cfeb870cb0
+AUX povray-3.7.0.0-user-conf.patch 1491 SHA256 f29cb95a171005422ae56aef93d420ab6cff03e88a0fdb0ddae1549c07675501 SHA512 f25ad7e0738a6e0e759aba7405d29839f69a3013170b7072e17afebda7e5d700906280491499628859a8d61c27ee3fc54f0b9fd3f472e0771cdad4f7a3bf6664 WHIRLPOOL 4128514106a5ea157f29d7545e2daaf9ad2138b2e48e7fd7cec53835d9364f841d32a31388af7bc5eb4461b6e38b31aa416cfb9ebaaa7727116a8dd20994bc56
+AUX povray-3.7.0_rc6-darwin-defaults.patch 920 SHA256 68c8094b916fc4c78c294f33502391c579505ae91b14d091c6fb78d91b147167 SHA512 17ae635430f0d57157c9915ce5b25a88afcb34f6dd9552b27a42b32d638fdfbcb8b4e41ec89b52048db9d054812535b7b41f328ffe4554e719e4a3de21cbfdee WHIRLPOOL a8e0d22fce5fe47e12ebb0c8c3b56aa364fd8ec7d963cd02e6b64d4a8825e2d98337b194820b588551e18e3e35fdf414f47e046c05f61ab9a0acc8183f378d79
+DIST povray-3.7.0.0.tar.gz 38191521 SHA256 bf68861d648e3acafbd1d83a25016a0c68547b257e4fa79fb36eb5f08d665f27 SHA512 82e3dbcd58b7ae921fe3b953815ca4dbbfb22eda434554baee4accabd1455b18cb511061f1cf9cf93128fab0a042df374fe2f68186d78c19853a465bd4bcbe10 WHIRLPOOL 6fc85ef9dc0d31a96d98f52d4c0c42cb37264f4e90da842b0e976076fcb1abad3a38d5f5ce82ebdd111babc67d8f16e460f8b04fd40f9dadf8f115f9493e933f
+DIST povray-3.7.0.0_p20160914-fix-c++14.patch.bz2 12876 SHA256 adc1a1cfda6494dfa18bb4a8c62e5a949e4369afc01d520975687c92edee69f8 SHA512 3329da12a822762559445e208a746ff208c39f7b63e27ba84a390074bb52a105c9a2f66180e58c5157795bb16346e11b5b05efaf077ee0d8246179975a692b04 WHIRLPOOL b3adb9f515841471ca7f1130e0991bbd362571f9c20c3f694cc73c03d3311b7143267b626bf08f2ac72b724ecf91274c24d4527e7a29c5368f1df874410a339f
+EBUILD povray-3.7.0.0-r1.ebuild 4418 SHA256 a442ea6e2f27f5aedd5c605c38f376d888ed4798747bac9d78382141f649c815 SHA512 6a44afc7b482fb9e09d8c14ad1a75f9672295844507ef2f63b464ddf8da3564f2fc76c1fd7152dd51ffb043ce01a6ad9afa3cabff485b2cd2aa31b44f0c762af WHIRLPOOL dfe6f4008c8627a0311670fb84f9bca27ab7ecc5cc53bcb08c9fd339539c6173e37a7d14955601efd25fd2d402867f4ab39ac3413602e6c9d3a1428f0116884c
+EBUILD povray-3.7.0.0.ebuild 4391 SHA256 0430f475b037ce7323af682b486d7498eca88ed86be259a62a9eb2753e9c2604 SHA512 1f213b1860b156d6f5cd6a19c41c6582f47ff96b5653f5d23e7baad787c2ce7ee592e80d03ff515ccffef7bacae0c7dcd8adb45a9f61b71055245a00e69221f7 WHIRLPOOL 766aec6a04e1ddb9dc72a35c8f19ce95b11e4310bdc4cf62230b077dea688d6e93d01eb7770144ef7675fe3699179ac29e3d36f318b16fa87f09127c273db109
+MISC ChangeLog 4461 SHA256 c4071c3126584e31059b43db61fd7dc6a04a3c38b39a1d1c458176d11e3e7f30 SHA512 f24e824b827c13dadfeec0d55c161a6504e84c13d5c29ad8935da23ce82ad337c5c0a6434ef1ca7c62545415b4ec2e8277133731140f872d78d46f3c3ea697ca WHIRLPOOL a24326057b24c822ee2206552d093c2d391bad5d39332991b949bec540600213b31fdd222fe16a529440a5570c237d122b7bedec5b2d99171d93424fab7fe500
+MISC ChangeLog-2015 24250 SHA256 870f69fa3163b4e0e7b6e8a2d2b9878b650207206473bff2015729b268b6b89e SHA512 0cd411490a29d40b039f81ae6c09e9ebad4603bb3d54aa0ec50b03587e6a69e45dc0272f60fa01a22954c07ad221ce31ac7cd203962cde0f9be075558c27e5f9 WHIRLPOOL 302588ae268cc92cadf6374dc946cd98eb6d83c110d1402433d1ba53189505d25806ceba8aa739b9709e9cbfbdb358ed5fdc831af84d3e13b5b96bdd00f04039
+MISC metadata.xml 504 SHA256 e6ca51e08746ac5d94195664f44174105c57706d9c7163bad5cb2c27c41b8790 SHA512 e2146892acd26bd3fc03fe1733f67073a1db1106f568ac886548b7c3e4fef508d1f3a619d74b8573696f007ae764d26e1f8556c3dbb03b9434b71258f0bcbb00 WHIRLPOOL ea6c829ba975cb190a6648dc8f0c95486c7c982771bab7775dce05ce4d105ccf85643bad01c58b1b232dcc6d25113b82adc6ef931d5e0d948372138107aa258e
diff --git a/media-gfx/povray/files/povray-3.7.0.0-automagic.patch b/media-gfx/povray/files/povray-3.7.0.0-automagic.patch
new file mode 100644
index 000000000000..a7c776f13fb6
--- /dev/null
+++ b/media-gfx/povray/files/povray-3.7.0.0-automagic.patch
@@ -0,0 +1,27 @@
+ unix/configure.ac | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index f62f5d4..d9a3750 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -335,10 +335,15 @@ fi
+ AC_DEFINE([USE_OFFICIAL_BOOST], [], [Use the official Boost libraries.])
+
+ # Intel Math Kernel library
+-pov_save_ldflags="$LDFLAGS"
+-test x"$with_libmkl" != x"" && LDFLAGS="-L$with_libmkl $LDFLAGS"
+-AC_CHECK_LIB([mkl], [sin])
+-test x"ac_cv_lib_mkl_sin" = x"no" && LDFLAGS="$pov_save_ldflags"
++AS_IF([test x"$with_libmkl" != x"no"], [
++ pov_save_ldflags="$LDFLAGS"
++ AS_IF([test x"$with_libmkl" != x"yes"], [
++ LDFLAGS="-L$with_libmkl $LDFLAGS"
++ ])
++ AC_CHECK_LIB([mkl], [sin], [], [
++ AC_MSG_ERROR([Cannot find working mkl library])
++ ])
++])
+
+ # libm
+ AC_CHECK_LIB([m], [sin])
diff --git a/media-gfx/povray/files/povray-3.7.0.0-boost-1.50.patch b/media-gfx/povray/files/povray-3.7.0.0-boost-1.50.patch
new file mode 100644
index 000000000000..f8e807ad647d
--- /dev/null
+++ b/media-gfx/povray/files/povray-3.7.0.0-boost-1.50.patch
@@ -0,0 +1,72 @@
+ configure.ac | 26 ++++++--------------------
+ vfe/unix/platformbase.cpp | 2 +-
+ 2 files changed, 7 insertions(+), 21 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 51596f8..900c150 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -57,8 +57,6 @@ AC_CONFIG_SRCDIR([unix/disp_text.cpp])
+ m4_include([unix/config/acx_pthread.m4])
+ m4_include([unix/config/ax_arg_enable.m4])
+ m4_include([unix/config/ax_arg_with.m4])
+-m4_include([unix/config/ax_boost_base.m4])
+-m4_include([unix/config/ax_boost_thread.m4])
+ m4_include([unix/config/ax_test_compiler_flags.m4])
+ m4_include([unix/config/ax_check_lib.m4])
+ m4_include([unix/config/ax_check_libjpeg.m4])
+@@ -168,6 +166,7 @@ AC_CANONICAL_HOST
+
+ AM_INIT_AUTOMAKE([1.9 dist-bzip2])
+ AM_MAINTAINER_MODE
++LT_INIT
+
+ AX_FIX_INCORRECT_PATH(C_INCLUDE_PATH, ".", [pov_warn_path="$pov_warn_path C_INCLUDE_PATH"])
+ AX_FIX_INCORRECT_PATH(CPLUS_INCLUDE_PATH, ".", [pov_warn_path="$pov_warn_path CPLUS_INCLUDE_PATH"])
+@@ -298,28 +297,15 @@ LIBS="$LIBS $PTHREAD_CFLAGS $PTHREAD_LIBS" # append
+
+ # Boost; required library
+ # the following macro stops with error when boost is not found
+-AX_BOOST_BASE([$required_libboost_version])
+-AX_BOOST_THREAD
+-if test x"$ax_cv_boost_thread" != x"yes"; then
++BOOST_REQUIRE([$required_libboost_version])
++BOOST_THREADS
++if test x"$boost_cv_lib_thread" != x"yes"; then
+ AC_MSG_ERROR([cannot find a suitable boost thread library])
+ else
+ CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" # append
+- LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" # append
+- LIBS="$BOOST_THREAD_LIB $LIBS"
++ LDFLAGS="$LDFLAGS -L$BOOST_LDPATH" # append
++ LIBS="$BOOST_THREAD_LIBS $LIBS"
+ fi
+-AC_MSG_CHECKING([whether the boost thread library is usable])
+-AC_RUN_IFELSE(
+- [AC_LANG_PROGRAM([[
+-#include <boost/thread/thread.hpp>
+- ]],
+- [[boost::defer_lock_t(); return 0;]])],
+- [AC_MSG_RESULT([yes])],
+- [
+- AC_MSG_RESULT([no])
+- AC_MSG_FAILURE([cannot link with the boost thread library])
+- ],
+- [AC_MSG_RESULT([cross-compiling])] # FIXME
+-)
+ AC_DEFINE([USE_OFFICIAL_BOOST], [], [Use the official Boost libraries.])
+
+ # Intel Math Kernel library
+diff --git a/vfe/unix/platformbase.cpp b/vfe/unix/platformbase.cpp
+index 8669d19..83c0191 100644
+--- a/vfe/unix/platformbase.cpp
++++ b/vfe/unix/platformbase.cpp
+@@ -68,7 +68,7 @@ namespace pov_base
+ #else
+ // taken from source/base/timer.cpp
+ boost::xtime t;
+- boost::xtime_get(&t, boost::TIME_UTC);
++ boost::xtime_get(&t, POV_TIME_UTC);
+ POV_ULONG ns = (POV_ULONG)(t.sec) * (POV_ULONG)(1000000000) + (POV_ULONG)(t.nsec) + (POV_ULONG)(msec) * (POV_ULONG)(1000000);
+ t.sec = (boost::xtime::xtime_sec_t)(ns / (POV_ULONG)(1000000000));
+ t.nsec = (boost::xtime::xtime_nsec_t)(ns % (POV_ULONG)(1000000000));
diff --git a/media-gfx/povray/files/povray-3.7.0.0-r1-boost-1.50.patch b/media-gfx/povray/files/povray-3.7.0.0-r1-boost-1.50.patch
new file mode 100644
index 000000000000..8a30041469f8
--- /dev/null
+++ b/media-gfx/povray/files/povray-3.7.0.0-r1-boost-1.50.patch
@@ -0,0 +1,108 @@
+Remove bundled m4 macros, instead use system ones from
+sys-devel/autoconf-archive. Use AX_BOOST_SYSTEM to prevent
+underlinking issues with more recent boost versions.
+See also: https://bugs.gentoo.org/show_bug.cgi?id=550018
+
+--- povray-3.7.0.0/unix/configure.ac
++++ povray-3.7.0.0/unix/configure.ac
+@@ -54,23 +54,7 @@
+ AC_CONFIG_SRCDIR([unix/disp_text.cpp])
+
+ # Additional autoconf macros.
+-m4_include([unix/config/acx_pthread.m4])
+-m4_include([unix/config/ax_arg_enable.m4])
+-m4_include([unix/config/ax_arg_with.m4])
+-m4_include([unix/config/ax_boost_base.m4])
+-m4_include([unix/config/ax_boost_thread.m4])
+-m4_include([unix/config/ax_test_compiler_flags.m4])
+-m4_include([unix/config/ax_check_lib.m4])
+-m4_include([unix/config/ax_check_libjpeg.m4])
+-m4_include([unix/config/ax_check_libsdl.m4])
+-m4_include([unix/config/ax_check_libtiff.m4])
+-m4_include([unix/config/ax_check_openexr.m4])
+-m4_include([unix/config/ax_compare_version.m4])
+-m4_include([unix/config/ax_compiler_vendor.m4])
+-m4_include([unix/config/ax_compiler_version.m4])
+-m4_include([unix/config/ax_fix_incorrect_path.m4])
+-m4_include([unix/config/ax_prog_ld_static.m4])
+-m4_include([unix/config/ax_x86_arch.m4])
++AC_CONFIG_MACRO_DIR([unix/config])
+
+ # Required versions of the support libraries.
+ # Must be declared after AC_INIT.
+@@ -166,7 +150,7 @@
+ AC_CANONICAL_BUILD
+ AC_CANONICAL_HOST
+
+-AM_INIT_AUTOMAKE([1.9 dist-bzip2])
++AM_INIT_AUTOMAKE([1.9 dist-bzip2 subdir-objects])
+ AM_MAINTAINER_MODE
+
+ AX_FIX_INCORRECT_PATH(C_INCLUDE_PATH, ".", [pov_warn_path="$pov_warn_path C_INCLUDE_PATH"])
+@@ -184,6 +168,7 @@
+ CFLAGS="$CFLAGS"
+ AC_PROG_CC
+ AC_PROG_CPP
++AM_PROG_AR
+
+ # Force checking essential (ANSI-compliant) headers.
+ AC_CHECK_HEADERS([stdlib.h])
+@@ -292,13 +277,14 @@
+ fi
+
+ # Posix threads
+-ACX_PTHREAD
++AX_PTHREAD
+ CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" # append
+ LIBS="$LIBS $PTHREAD_CFLAGS $PTHREAD_LIBS" # append
+
+ # Boost; required library
+ # the following macro stops with error when boost is not found
+ AX_BOOST_BASE([$required_libboost_version])
++AX_BOOST_SYSTEM
+ AX_BOOST_THREAD
+ if test x"$ax_cv_boost_thread" != x"yes"; then
+ AC_MSG_ERROR([cannot find a suitable boost thread library])
+@@ -307,19 +293,6 @@
+ LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" # append
+ LIBS="$BOOST_THREAD_LIB $LIBS"
+ fi
+-AC_MSG_CHECKING([whether the boost thread library is usable])
+-AC_RUN_IFELSE(
+- [AC_LANG_PROGRAM([[
+-#include <boost/thread/thread.hpp>
+- ]],
+- [[boost::defer_lock_t(); return 0;]])],
+- [AC_MSG_RESULT([yes])],
+- [
+- AC_MSG_RESULT([no])
+- AC_MSG_FAILURE([cannot link with the boost thread library])
+- ],
+- [AC_MSG_RESULT([cross-compiling])] # FIXME
+-)
+ AC_DEFINE([USE_OFFICIAL_BOOST], [], [Use the official Boost libraries.])
+
+ # Intel Math Kernel library
+--- povray-3.7.0.0/unix/prebuild.sh
++++ povray-3.7.0.0/unix/prebuild.sh
+@@ -439,7 +439,8 @@
+ # Beware: order does matter!
+ LDADD = \\
+ \$(top_builddir)/vfe/libvfe.a \\
+- \$(top_builddir)/source/libpovray.a
++ \$(top_builddir)/source/libpovray.a \\
++ @BOOST_SYSTEM_LIB@
+ pbEOF
+ ;;
+ esac
+--- povray-3.7.0.0/vfe/unix/platformbase.cpp
++++ povray-3.7.0.0/vfe/unix/platformbase.cpp
+@@ -68,7 +68,7 @@
+ #else
+ // taken from source/base/timer.cpp
+ boost::xtime t;
+- boost::xtime_get(&t, boost::TIME_UTC);
++ boost::xtime_get(&t, POV_TIME_UTC);
+ POV_ULONG ns = (POV_ULONG)(t.sec) * (POV_ULONG)(1000000000) + (POV_ULONG)(t.nsec) + (POV_ULONG)(msec) * (POV_ULONG)(1000000);
+ t.sec = (boost::xtime::xtime_sec_t)(ns / (POV_ULONG)(1000000000));
+ t.nsec = (boost::xtime::xtime_nsec_t)(ns % (POV_ULONG)(1000000000));
diff --git a/media-gfx/povray/files/povray-3.7.0.0-user-conf.patch b/media-gfx/povray/files/povray-3.7.0.0-user-conf.patch
new file mode 100644
index 000000000000..b3c279fcdeff
--- /dev/null
+++ b/media-gfx/povray/files/povray-3.7.0.0-user-conf.patch
@@ -0,0 +1,27 @@
+ Makefile.am | 13 -------------
+ 1 files changed, 0 insertions(+), 13 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 76b394c..9822c52 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -107,19 +107,6 @@ install-data-local:
+ for f in $$filelist ; do \
+ $(INSTALL_DATA) $(top_srcdir)/doc/$$f $(DESTDIR)$(povdocdir)/$$f && echo "$(DESTDIR)$(povdocdir)/$$f" >> $(povinstall); \
+ done
+- @echo "Creating user directories..."; \
+- for p in $(povuser) $(povconfuser) ; do \
+- $(MKDIR_P) $$p && chown $(povowner) $$p && chgrp $(povgroup) $$p && printf "%s\n" "$$p" "`cat $(povinstall)`" > $(povinstall); \
+- done
+- @echo "Copying user configuration and INI files..."; \
+- for f in povray.conf povray.ini ; do \
+- if test -f $(povconfuser)/$$f; then \
+- echo "Creating backup of $(povconfuser)/$$f"; \
+- mv -f $(povconfuser)/$$f $(povconfuser)/$$f.bak; \
+- fi; \
+- done; \
+- $(INSTALL_DATA) $(top_srcdir)/povray.conf $(povconfuser)/povray.conf && chown $(povowner) $(povconfuser)/povray.conf && chgrp $(povgroup) $(povconfuser)/povray.conf && echo "$(povconfuser)/povray.conf" >> $(povinstall); \
+- $(INSTALL_DATA) $(top_builddir)/povray.ini $(povconfuser)/povray.ini && chown $(povowner) $(povconfuser)/povray.ini && chgrp $(povgroup) $(povconfuser)/povray.ini && echo "$(povconfuser)/povray.ini" >> $(povinstall)
+
+ # Remove data, config, and empty folders for 'make uninstall'.
+ # Use 'hook' instead of 'local' so as to properly remove *empty* folders (e.g. scripts).
diff --git a/media-gfx/povray/files/povray-3.7.0_rc6-darwin-defaults.patch b/media-gfx/povray/files/povray-3.7.0_rc6-darwin-defaults.patch
new file mode 100644
index 000000000000..16e09c749b2e
--- /dev/null
+++ b/media-gfx/povray/files/povray-3.7.0_rc6-darwin-defaults.patch
@@ -0,0 +1,21 @@
+# Darwin does not support thread-local storage (__thread)
+# http://lists.apple.com/archives/xcode-users/2006/Jun/msg00551.html
+# so use default from boost thread
+
+# use lseek for lseek64
+# sys/types.h is needed because of uint
+
+--- povray-3.7.0.RC6/vfe/unix/syspovconfig.h.orig 2013-03-01 11:09:42.000000000 -0700
++++ povray-3.7.0.RC6/vfe/unix/syspovconfig.h 2013-03-01 11:07:14.000000000 -0700
+@@ -171,9 +171,7 @@
+ #define METADATA_PLATFORM_STRING BUILD_ARCH
+ #define METADATA_COMPILER_STRING COMPILER_VERSION
+
+-#define DECLARE_THREAD_LOCAL_PTR(ptrType, ptrName) __thread ptrType *ptrName
+-#define IMPLEMENT_THREAD_LOCAL_PTR(ptrType, ptrName, ignore) __thread ptrType *ptrName
+-#define GET_THREAD_LOCAL_PTR(ptrName) (ptrName)
+-#define SET_THREAD_LOCAL_PTR(ptrName, ptrValue) (ptrName = ptrValue)
++#define lseek64 lseek
++#include <sys/types.h>
+
+ #endif
diff --git a/media-gfx/povray/metadata.xml b/media-gfx/povray/metadata.xml
new file mode 100644
index 000000000000..a23bbb8953d4
--- /dev/null
+++ b/media-gfx/povray/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="mkl">Enable support for Intel Vector Math Library, part of sci-libs/mkl</flag>
+ <flag name="io-restrictions">POV-Ray's mechanism for control of I/O operations</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">POV-Ray/povray</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/media-gfx/povray/povray-3.7.0.0-r1.ebuild b/media-gfx/povray/povray-3.7.0.0-r1.ebuild
new file mode 100644
index 000000000000..35f061a14759
--- /dev/null
+++ b/media-gfx/povray/povray-3.7.0.0-r1.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools flag-o-matic versionator virtualx
+
+POVRAY_MAJOR_VER=$(get_version_component_range 1-3)
+POVRAY_MINOR_VER=$(get_version_component_range 4)
+if [ -n "$POVRAY_MINOR_VER" ]; then
+ POVRAY_MINOR_VER=${POVRAY_MINOR_VER/rc/RC}
+ MY_PV="${POVRAY_MAJOR_VER}.${POVRAY_MINOR_VER}"
+else
+ MY_PV=${POVRAY_MAJOR_VER}
+fi
+
+DESCRIPTION="The Persistence of Vision Raytracer"
+HOMEPAGE="http://www.povray.org/"
+SRC_URI="https://github.com/POV-Ray/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~soap/distfiles/${P}_p20160914-fix-c++14.patch.bz2"
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug +io-restrictions openexr static-libs tiff X"
+
+DEPEND="
+ >=dev-libs/boost-1.50.0:=[threads(+)]
+ media-libs/libpng:0
+ sys-libs/zlib
+ virtual/jpeg:0
+ openexr? (
+ media-libs/ilmbase
+ media-libs/openexr )
+ tiff? ( media-libs/tiff:0 )
+ X? ( media-libs/libsdl )"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND}
+ sys-devel/autoconf-archive"
+
+S=${WORKDIR}/${PN}-${MY_PV}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-user-conf.patch
+ "${FILESDIR}"/${P}-automagic.patch
+ "${WORKDIR}"/${P}_p20160914-fix-c++14.patch
+)
+
+src_prepare() {
+ [[ ${CHOST} == *-darwin* ]] && \
+ PATCHES+=( "${FILESDIR}"/${PN}-3.7.0_rc6-darwin-defaults.patch )
+ eapply "${FILESDIR}"/${PF}-boost-1.50.patch
+
+ pushd unix &>/dev/null || die
+ pushd config &>/dev/null || die
+ rm -rf \
+ acx_pthread.m4 \
+ ax_boost_base.m4 \
+ ax_boost_thread.m4 \
+ ax_compare_version.m4 \
+ ax_compiler_vendor.m4 \
+ ax_compiler_version.m4 || die
+ popd &>/dev/null || die
+ bash -x prebuild.sh || die
+ popd &>/dev/null || die
+
+ rm -rf libraries || die
+
+ # Change some destination directories that cannot be adjusted via configure
+ sed \
+ -e 's:${povsysconfdir}/$PACKAGE/$VERSION_BASE:${povsysconfdir}/'${PN}':g' \
+ -e 's:${povdatadir}/$PACKAGE-$VERSION_BASE:${povdatadir}/'${PN}':g' \
+ -e 's:${povdatadir}/doc/$PACKAGE-$VERSION_BASE:${povdatadir}/doc/'${PF}':g' \
+ -e 's:BOOST_THREAD_LIBS $LIBS:BOOST_THREAD_LIBS $LIBS -lboost_date_time:g' \
+ -i configure.ac || die
+
+ sed \
+ -e "s:^povlibdir = .*:povlibdir = @datadir@/${PN}:" \
+ -e "s:^povdocdir = .*:povdocdir = @datadir@/doc/${PF}:" \
+ -e "s:^povconfdir = .*:povconfdir = @sysconfdir@/${PN}:" \
+ -e 's:mkdir_p:MKDIR_P:g' \
+ -i Makefile.am || die
+
+ # The "+p" option on the test command line causes a pause and
+ # prompts the user to interact, so remove it.
+ sed -i -e "s:biscuit.pov -f +d +p:biscuit.pov -f +d:" Makefile.am || die
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ # Fixes bug 71255
+ if [[ $(get-flag march) == k6-2 ]]; then
+ filter-flags -fomit-frame-pointer
+ fi
+
+ # The config files are installed correctly (e.g. povray.conf),
+ # but the code compiles using incorrect [default] paths
+ # (based on /usr/local...), so povray will not find the system
+ # config files without the following fix:
+ append-cppflags -DPOVLIBDIR=\\\"${EROOT}usr/share/${PN}\\\" -DPOVCONFDIR=\\\"${EROOT}etc/${PN}\\\"
+
+ econf \
+ COMPILED_BY="Portage (Gentoo $(uname)) on $(hostname -f)" \
+ $(use_enable debug) \
+ $(use_enable io-restrictions) \
+ $(use_with openexr openexr "${EPREFIX}/usr/$(get_libdir)") \
+ $(use_with tiff libtiff "${EPREFIX}/usr/$(get_libdir)") \
+ $(use_with X libsdl "${EPREFIX}/usr/$(get_libdir)") \
+ $(use_with X x "${EPREFIX}/usr/$(get_libdir)") \
+ $(use_enable static-libs static) \
+ $(usex tiff "" "NON_REDISTRIBUTABLE_BUILD=yes") \
+ --without-libmkl \
+ --disable-pipe \
+ --disable-strip \
+ --disable-optimiz \
+ --disable-optimiz-arch
+}
+
+src_test() {
+ virtx default
+}
+
+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.
+ local conf_file version_dir
+ for conf_file in "${ED}"/etc/"${PN}"/*; do
+ if [ ! -e "${EROOT}etc/${PN}/${conf_file}" ]; then
+ for version_dir in $(echo "${EROOT}"etc/"${PN}"/* | grep "^[0-9]" | sort -rn); do
+ if [ -e "${EROOT}etc/${PN}/${version_dir}/${conf_file}" ]; then
+ mv "${EROOT}etc/${PN}/${version_dir}/${conf_file}" "${EROOT}etc/${PN}" || die
+ elog "Note: ${conf_file} moved from ${EROOT}etc/povray/${version_dir}/ to ${EROOT}etc/povray/"
+ break
+ fi
+ done
+ fi
+ done
+}
diff --git a/media-gfx/povray/povray-3.7.0.0.ebuild b/media-gfx/povray/povray-3.7.0.0.ebuild
new file mode 100644
index 000000000000..9a8ae2aa94b5
--- /dev/null
+++ b/media-gfx/povray/povray-3.7.0.0.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=true
+
+inherit autotools-utils flag-o-matic multilib versionator virtualx
+
+POVRAY_MAJOR_VER=$(get_version_component_range 1-3)
+POVRAY_MINOR_VER=$(get_version_component_range 4)
+if [ -n "$POVRAY_MINOR_VER" ]; then
+ POVRAY_MINOR_VER=${POVRAY_MINOR_VER/rc/RC}
+ MY_PV="${POVRAY_MAJOR_VER}.${POVRAY_MINOR_VER}"
+else
+ MY_PV=${POVRAY_MAJOR_VER}
+fi
+
+DESCRIPTION="The Persistence of Vision Raytracer"
+HOMEPAGE="http://www.povray.org/"
+SRC_URI="https://github.com/POV-Ray/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug +io-restrictions mkl openexr static-libs tiff X"
+
+DEPEND="
+ >=dev-libs/boost-1.50.0:=[threads(+)]
+ media-libs/libpng:0
+ sys-libs/zlib
+ virtual/jpeg
+ mkl? ( sci-libs/mkl )
+ openexr? (
+ media-libs/ilmbase
+ media-libs/openexr )
+ tiff? ( media-libs/tiff:0 )
+ X? ( media-libs/libsdl )"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND}
+ sys-devel/boost-m4"
+
+S=${WORKDIR}/${PN}-${MY_PV}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-user-conf.patch
+ "${FILESDIR}"/${P}-boost-1.50.patch
+ "${FILESDIR}"/${P}-automagic.patch
+ )
+
+src_prepare() {
+ [[ ${CHOST} == *-darwin* ]] && \
+ PATCHES+=( "${FILESDIR}"/${PN}-3.7.0_rc6-darwin-defaults.patch )
+
+ cd unix || die
+ bash -x prebuild.sh || die
+ cd .. || die
+ rm -rf libraries || die
+
+ # Change some destination directories that cannot be adjusted via configure
+ sed \
+ -e 's:${povsysconfdir}/$PACKAGE/$VERSION_BASE:${povsysconfdir}/'${PN}':g' \
+ -e 's:${povdatadir}/$PACKAGE-$VERSION_BASE:${povdatadir}/'${PN}':g' \
+ -e 's:${povdatadir}/doc/$PACKAGE-$VERSION_BASE:${povdatadir}/doc/'${PF}':g' \
+ -e 's:BOOST_THREAD_LIBS $LIBS:BOOST_THREAD_LIBS $LIBS -lboost_date_time:g' \
+ -i configure.ac || die
+
+ sed \
+ -e "s:^povlibdir = .*:povlibdir = @datadir@/${PN}:" \
+ -e "s:^povdocdir = .*:povdocdir = @datadir@/doc/${PF}:" \
+ -e "s:^povconfdir = .*:povconfdir = @sysconfdir@/${PN}:" \
+ -e 's:mkdir_p:MKDIR_P:g' \
+ -i Makefile.am || die
+
+ # The "+p" option on the test command line causes a pause and
+ # prompts the user to interact, so remove it.
+ sed -i -e "s:biscuit.pov -f +d +p:biscuit.pov -f +d:" Makefile.am || die
+
+ autotools-utils_src_prepare
+}
+
+_src_compile() {
+ einfo "${LDFLAGS}"
+ autotools-utils_src_compile LDFLAGS="${LDFLAGS}"
+}
+
+src_configure() {
+ local non_redist_conf
+
+ # Fixes bug 71255
+ if [[ $(get-flag march) == k6-2 ]]; then
+ filter-flags -fomit-frame-pointer
+ fi
+
+ # The config files are installed correctly (e.g. povray.conf),
+ # but the code compiles using incorrect [default] paths
+ # (based on /usr/local...), so povray will not find the system
+ # config files without the following fix:
+ append-cppflags -DPOVLIBDIR=\\\"${EROOT}usr/share/${PN}\\\" -DPOVCONFDIR=\\\"${EROOT}etc/${PN}\\\"
+
+ if ! use tiff ; then
+ non_redist_conf="NON_REDISTRIBUTABLE_BUILD=yes"
+ else
+ non_redist_conf=""
+ fi
+
+ local myeconfargs=(
+ ${non_redist_conf}
+ COMPILED_BY="Portage (Gentoo `uname`) on `hostname -f`"
+ $(use_enable debug)
+ $(use_enable io-restrictions)
+ $(use_with openexr openexr "${EPREFIX}/usr/$(get_libdir)")
+ $(use_with mkl libmkl "${EPREFIX}/usr/$(get_libdir)")
+ $(use_with tiff libtiff "${EPREFIX}/usr/$(get_libdir)")
+ $(use_with X libsdl "${EPREFIX}/usr/$(get_libdir)")
+ $(use_with X x "${EPREFIX}/usr/$(get_libdir)")
+ --disable-pipe
+ --disable-strip
+ --disable-optimiz
+ --disable-optimiz-arch
+ )
+ autotools-utils_src_configure
+}
+
+src_test() {
+ # For the beta releases, we generate a license extension in case needed
+ VIRTUALX_COMMAND="autotools-utils_src_test"
+ virtualmake
+}
+
+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 "${ED}/etc/${PN}"); do
+ if [ ! -e "${EROOT}etc/${PN}/${conf_file}" ]; then
+ for version_dir in $(ls "${EROOT}etc/${PN}" | grep "^[0-9]" | sort -rn); do
+ if [ -e "${EROOT}etc/${PN}/${version_dir}/${conf_file}" ]; then
+ mv "${EROOT}etc/${PN}/${version_dir}/${conf_file}" "${EROOT}etc/${PN}"
+ elog "Note: ${conf_file} moved from ${EROOT}etc/povray/${version_dir}/ to ${EROOT}etc/povray/"
+ break
+ fi
+ done
+ fi
+ done
+}