summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-libs/ptex/files/ptex-2.1.28-20170213.patch72
-rw-r--r--media-libs/ptex/files/ptex-2.1.28-allow-custom-build-type.patch39
-rw-r--r--media-libs/ptex/ptex-2.1.28-r1.ebuild25
3 files changed, 136 insertions, 0 deletions
diff --git a/media-libs/ptex/files/ptex-2.1.28-20170213.patch b/media-libs/ptex/files/ptex-2.1.28-20170213.patch
new file mode 100644
index 000000000000..335d07788632
--- /dev/null
+++ b/media-libs/ptex/files/ptex-2.1.28-20170213.patch
@@ -0,0 +1,72 @@
+diff -purN a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt 2016-04-04 18:14:05.000000000 +0100
++++ b/CMakeLists.txt 2017-02-13 22:59:10.000000000 +0000
+@@ -16,7 +16,7 @@ else ()
+ endif ()
+
+ if (NOT WIN32)
+- set(CMAKE_CXX_FLAGS "-std=c++98 -Wall -Wextra -pedantic")
++ set(CMAKE_CXX_FLAGS "-std=c++11 -Wall -Wextra -pedantic ${CMAKE_CXX_FLAGS}")
+ endif ()
+
+ if(MSVC)
+diff -purN a/Makefile b/Makefile
+--- a/Makefile 2016-04-04 18:14:05.000000000 +0100
++++ b/Makefile 2017-02-13 22:59:10.000000000 +0000
+@@ -17,6 +17,10 @@ ifdef PRMAN_15_COMPATIBLE_PTEX
+ CMAKE_FLAGS += -DPRMAN_15_COMPATIBLE_PTEX:BOOL=TRUE
+ endif
+
++ifdef TOOLCHAIN
++ CMAKE_FLAGS += -DCMAKE_TOOLCHAIN_FILE=$(TOOLCHAIN)
++endif
++
+ # make V=1 shortcut for VERBOSE=1
+ ifdef V
+ VERBOSE=1
+diff -purN a/src/ptex/PtexHashMap.h b/src/ptex/PtexHashMap.h
+--- a/src/ptex/PtexHashMap.h 2016-04-04 18:14:05.000000000 +0100
++++ b/src/ptex/PtexHashMap.h 2017-02-13 22:59:10.000000000 +0000
+@@ -284,14 +284,11 @@ private:
+
+ Entry* lockEntriesAndGrowIfNeeded(size_t& newMemUsed)
+ {
+- while (_size*2 >= _numEntries) {
+- Entry* entries = lockEntries();
+- if (_size*2 >= _numEntries) {
+- entries = grow(entries, newMemUsed);
+- }
+- return entries;
++ Entry* entries = lockEntries();
++ if (_size*2 >= _numEntries) {
++ entries = grow(entries, newMemUsed);
+ }
+- return lockEntries();
++ return entries;
+ }
+
+ Entry* grow(Entry* oldEntries, size_t& newMemUsed)
+diff -purN a/src/ptex/PtexIO.h b/src/ptex/PtexIO.h
+--- a/src/ptex/PtexIO.h 2016-04-04 18:14:05.000000000 +0100
++++ b/src/ptex/PtexIO.h 2017-02-13 22:59:10.000000000 +0000
+@@ -40,6 +40,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ PTEX_NAMESPACE_BEGIN
+
++#pragma pack(push, 1)
+ struct Header {
+ uint32_t magic;
+ uint32_t version;
+@@ -98,6 +99,7 @@ struct EditMetaDataHeader {
+ uint32_t metadatazipsize;
+ uint32_t metadatamemsize;
+ };
++#pragma pack(pop)
+
+ const uint32_t Magic = 'P' | ('t'<<8) | ('e'<<16) | ('x'<<24);
+ const int HeaderSize = sizeof(Header);
+diff -purN a/.workonrc.products b/.workonrc.products
+--- a/.workonrc.products 1970-01-01 01:00:00.000000000 +0100
++++ b/.workonrc.products 2017-02-13 22:59:10.000000000 +0000
+@@ -0,0 +1 @@
++Ptex
diff --git a/media-libs/ptex/files/ptex-2.1.28-allow-custom-build-type.patch b/media-libs/ptex/files/ptex-2.1.28-allow-custom-build-type.patch
new file mode 100644
index 000000000000..fd79759f7ed4
--- /dev/null
+++ b/media-libs/ptex/files/ptex-2.1.28-allow-custom-build-type.patch
@@ -0,0 +1,39 @@
+diff -purN a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt 2017-02-13 22:59:10.000000000 +0000
++++ b/CMakeLists.txt 2017-08-08 14:19:10.325817085 +0100
+@@ -8,11 +8,16 @@ include(FindThreads)
+
+ enable_testing()
+
+-# Detect the build type from the $FLAVOR environment variable
+-if ("$ENV{FLAVOR}" MATCHES "debug")
+- set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "type of build" FORCE)
+-else ()
+- set(CMAKE_BUILD_TYPE "Release" CACHE STRING "type of build" FORCE)
++if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
++ # Detect the build type from the $FLAVOR environment variable
++ # Default to optimized Release builds when unspecified.
++ if ("$ENV{FLAVOR}" MATCHES "debug")
++ set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "type of build" FORCE)
++ elseif ("$ENV{FLAVOR}" MATCHES "profile")
++ set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "type of build" FORCE)
++ else ()
++ set(CMAKE_BUILD_TYPE "Release" CACHE STRING "type of build" FORCE)
++ endif ()
+ endif ()
+
+ if (NOT WIN32)
+diff -purN a/Makefile b/Makefile
+--- a/Makefile 2017-02-13 22:59:10.000000000 +0000
++++ b/Makefile 2017-08-08 14:19:16.939829578 +0100
+@@ -21,6 +21,10 @@ ifdef TOOLCHAIN
+ CMAKE_FLAGS += -DCMAKE_TOOLCHAIN_FILE=$(TOOLCHAIN)
+ endif
+
++ifdef BUILD_TYPE
++ CMAKE_FLAGS += -DCMAKE_BUILD_TYPE=$(BUILD_TYPE)
++endif
++
+ # make V=1 shortcut for VERBOSE=1
+ ifdef V
+ VERBOSE=1
diff --git a/media-libs/ptex/ptex-2.1.28-r1.ebuild b/media-libs/ptex/ptex-2.1.28-r1.ebuild
new file mode 100644
index 000000000000..494ddef43b0e
--- /dev/null
+++ b/media-libs/ptex/ptex-2.1.28-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+DESCRIPTION="Per-Face Texture Mapping for Production Rendering"
+HOMEPAGE="http://ptex.us/"
+SRC_URI="https://github.com/wdas/ptex/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="sys-libs/zlib:="
+DEPEND="${RDEPEND}
+ app-doc/doxygen"
+
+PATCHES=(
+ "${FILESDIR}/${P}-20170213.patch"
+ "${FILESDIR}/${P}-allow-custom-build-type.patch"
+)
+
+mycmakeargs=( -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}/html" )