diff options
Diffstat (limited to 'media-gfx/nvidia-texture-tools')
8 files changed, 316 insertions, 0 deletions
diff --git a/media-gfx/nvidia-texture-tools/Manifest b/media-gfx/nvidia-texture-tools/Manifest new file mode 100644 index 000000000000..45775cf768a0 --- /dev/null +++ b/media-gfx/nvidia-texture-tools/Manifest @@ -0,0 +1,11 @@ +AUX nvidia-texture-tools-2.0.8-cg.patch 1077 SHA256 7afbd87eae77e851eea580da3abf07aa212b73745f1134f7630b15fbd65e71ba SHA512 9c528320efa9c274c805dd3202e6c44d1391486c5c3d574ce4a6264ee4013a8b215467fbd0a880193048a716365f499b4cb1e935bb6e49d165c674a03d45a387 WHIRLPOOL 441aadf868eb7c27610cd9f69f35481391ca73d462caaceccef3a066de391eb82f0496a0ad836224a0da8b35e9990ddd75dc88e62b999b89874442253dd67e74 +AUX nvidia-texture-tools-2.0.8-clang.patch 684 SHA256 e45fe157ad8fa3b88e666b42937276941aa8d712610f2c2048832836cc08634a SHA512 2e2f7645c8a29e6c158e054d27ccd270a5441d33254a0cc27c12aeb1b8c423374b0900a71ed87ef7bc055597302adfc0eeb27e1c788dca54850df53004c50822 WHIRLPOOL 34e39ea61b9c95da48337684c8b63d29fa4aadb4ca7ae9dba7ac43afe210cd5ec2f481c3c1f29a7ec02d97778919009a108a713b76f2102e47a59c1f1d10ec2d +AUX nvidia-texture-tools-2.0.8-cpp14.patch 1566 SHA256 114cb51b2689710a4ff6fc80ab726475901f43c8ecefc8a496cadf8b19ce7aa5 SHA512 4234facfc77da76a5d1a394ba48a5d6cfc664b695af1e8fdd90e6bb51de6ce949061a9a30e32aa2d668d21fe41c31caae50dc6efa607a568e2ab1329c41f2ba5 WHIRLPOOL d35ffe6790485f5198cc2b0f49d752cedf2aeaf6e95967de9b018d0d8d2959b3302ff90a4900974f57a6e338d16ee8536bf85feb46afece28923dab1bb5d42e1 +AUX nvidia-texture-tools-2.0.8-gcc-4.7.patch 406 SHA256 9ca032984c84d9b7aafedd2a0e4f5f78a039eaa604d3fe8297dc18b922c5af8f SHA512 1bcd69cbbbd01194bb68bff547b240cb196ef3aa73c73c401fb657c4ae7cd77f995fcd7d39f868d25c49994312b236210306aa577194fe756830a22f03da3e7b WHIRLPOOL 823fe1c4e0c4796093dcf47a1b13de67304bf4d88f06e80b0d8609c195debad4237c37cb66e16e04e1af4dfd056a52738af97133ca8f3c6d47391b9d0978010e +AUX nvidia-texture-tools-2.0.8-openexr.patch 2558 SHA256 14e8bfe0b05d8457d4490ebb9923ff3fe0ece7c7eeee648c374c4d196ce3f760 SHA512 f17a4f009298c65a06e536a434033db9735b0574c3fc2225bde2c86841c1ad8b35c6d9f5988a98285eb9e7b2e9832e8c9495a1a36e3dcf398101b08d59e87ade WHIRLPOOL fc228debe0890ba80d773ba4be11c26499bd8d1cd2c18041260360722199ceb550b1894d0d555740c88d8b05c222df131cba26ad90ccdcd5812198535a95bf59 +DIST nvidia-texture-tools-2.0.8-1.tar.gz 935227 SHA256 6b3c83500b420ee976f61eeae16e5727e2401e133f543baeac76c66c381eed2e SHA512 8e7ac79daaa10a2b1b64cfc8d6b37b37698e2a46f925cc33cdfd8e4b36705db8836edec6f98c5d6da475d7773f4a5826b5cebc120b7c5a6f9515906e2e4fae9d WHIRLPOOL 5f4e3daeab3f2dd0fc057d2fc56d4bfc888cd86449c1b390380b24a561d1538c010bc93c7990b0f156f03df37933333596796e53174fc4ce818845d74b45d400 +DIST nvidia-texture-tools-2.0.8-patchset-1.tar.xz 9688 SHA256 7cc8ba61cf0290984b31bdbe7b291ff75f2eeab8b07da908dfb5a1b421341516 SHA512 36305036d178c4a9960148d4ae5fd72e866ebc3f193f7c75e720275f4fa11d4a1f9067f42309de739db84678c81cd921f117cfe5b2e6a78785cf35c7e3947c8b WHIRLPOOL 6c530a09a7e46a34dbaa9bdaf5017e58e8f490bc5afef230b3fa83362e30f4bbe3d3454e8b9153af0acfb27e77652b578a2c52da86d34b287b919806233942bc +EBUILD nvidia-texture-tools-2.0.8-r3.ebuild 1700 SHA256 82662e7a53ebe85268c3158b9c3bc21e633f308765d240f331643f496214f62c SHA512 c3a0453d9d83c673f2b8457bacd9967b0f8fb3694269444276025e77f48ebe9253cc96c17ad14f6b9dd9e264e086f0d6e6f910083115793346d239f2975affbb WHIRLPOOL 5e0ec179e2943d6d9177fb6e9ed0e4298c0e57f3e597948c55d354c579e81b1112ebed98045e8115ea7ce37a9c22f5c3a94c7bbc56d9ce1396ba53a105bf5c8d +MISC ChangeLog 3379 SHA256 dedbce1566fc93005db0347b2e881d1db3e12d1b7e9ba48d12de588831f29cb9 SHA512 d33691bf524f07d9d139af871eb0dc9d5c9cbe8b20b9cbb69f0219da07be921e6f6757d45945c88e373175af8a1b74e6548d35f64afd2a26d8438af4329b8994 WHIRLPOOL 4dee7115c1e7d496c6ef92e8189bbbf87d12cefdcad42c2e97df9db3bd7ea2d670d620acd0b780d7c1aab0745e9fcff44aa4871fec76012fe4b92fc56b50bc0e +MISC ChangeLog-2015 3069 SHA256 772bedec45ec6b3088f05317dc527c0c8ec0d955b0bfd3a14d1041a751e6e347 SHA512 f64f2a0c2d8add3d6c8d185bbe51342fe7bb6ebeed6da04b5283454082d6c2666be9a03e99b95dec3e11c81264523ad1ce15f863bf1f6dd8dc094ccc6d79175d WHIRLPOOL c269d2c60d9b2806ee3c4a1e99c52dc4d3c04df8e3531ade075c889190b1f9d4fab279dc1c151c940206034cf8821552e76141595cc14bab584f6b6ca00beaa7 +MISC metadata.xml 432 SHA256 e5edcc628cd8352493bb17ba5dca6f197bbf16718809d21dc0f627295891f21d SHA512 04ae34b58e838041211dfbb73bc88dd3f9d53f8eb6c8f8736e148790d5b3e50498c3e135c8333c37ca996378d0fc50d21b9e5ac8f7664cac868841fd66adbd0c WHIRLPOOL 9769aa0a12ce40097e43de4caa62228cf3e0cbb2b35f21880b5894d40210f5d25cddeb2cf5909877a0e88ceff43881ad327d662281bf801e77f7e9f364d263b6 diff --git a/media-gfx/nvidia-texture-tools/files/nvidia-texture-tools-2.0.8-cg.patch b/media-gfx/nvidia-texture-tools/files/nvidia-texture-tools-2.0.8-cg.patch new file mode 100644 index 000000000000..79d38f576316 --- /dev/null +++ b/media-gfx/nvidia-texture-tools/files/nvidia-texture-tools-2.0.8-cg.patch @@ -0,0 +1,39 @@ +From: hasufell <hasufell@gentoo.org> +Date: Thu May 3 20:06:31 UTC 2012 + +fix compilation for cg useflag + +--- a/cmake/FindCg.cmake ++++ b/cmake/FindCg.cmake +@@ -86,6 +86,7 @@ + FIND_PROGRAM( CG_COMPILER cgc + /usr/bin + /usr/local/bin ++ /opt/nvidia-cg-toolkit/bin + DOC "The Cg Compiler" + ) + GET_FILENAME_COMPONENT(CG_COMPILER_DIR "${CG_COMPILER}" PATH) +@@ -93,6 +94,7 @@ + FIND_PATH( CG_INCLUDE_PATH Cg/cg.h + /usr/include + /usr/local/include ++ /opt/nvidia-cg-toolkit/include + ${CG_COMPILER_SUPER_DIR}/include + DOC "The directory where Cg/cg.h resides" + ) +@@ -102,6 +104,7 @@ + /usr/lib + /usr/local/lib64 + /usr/local/lib ++ /opt/nvidia-cg-toolkit/lib + ${CG_COMPILER_SUPER_DIR}/lib64 + ${CG_COMPILER_SUPER_DIR}/lib + DOC "The Cg runtime library" +@@ -113,6 +116,7 @@ + /usr/lib + /usr/local/lib64 + /usr/local/lib ++ /opt/nvidia-cg-toolkit/lib + ${CG_COMPILER_SUPER_DIR}/lib64 + ${CG_COMPILER_SUPER_DIR}/lib + DOC "The Cg runtime library" diff --git a/media-gfx/nvidia-texture-tools/files/nvidia-texture-tools-2.0.8-clang.patch b/media-gfx/nvidia-texture-tools/files/nvidia-texture-tools-2.0.8-clang.patch new file mode 100644 index 000000000000..373c87e4171b --- /dev/null +++ b/media-gfx/nvidia-texture-tools/files/nvidia-texture-tools-2.0.8-clang.patch @@ -0,0 +1,18 @@ +Index: src/src/nvtt/squish/CMakeLists.txt +=================================================================== +--- src/src/nvtt/squish/CMakeLists.txt (revision 13060) ++++ src/src/nvtt/squish/CMakeLists.txt (working copy) +@@ -22,7 +22,11 @@
+ + ADD_LIBRARY(squish STATIC ${SQUISH_SRCS}) + +-IF(CMAKE_COMPILER_IS_GNUCXX) ++IF("${CMAKE_CXX_COMPILER}" MATCHES "clang(\\+\\+)?$" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") ++ SET(CMAKE_COMPILER_IS_CLANGXX 1) ++ENDIF() ++ ++IF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX) + SET_TARGET_PROPERTIES(squish PROPERTIES COMPILE_FLAGS -fPIC) +-ENDIF(CMAKE_COMPILER_IS_GNUCXX) ++ENDIF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX) + diff --git a/media-gfx/nvidia-texture-tools/files/nvidia-texture-tools-2.0.8-cpp14.patch b/media-gfx/nvidia-texture-tools/files/nvidia-texture-tools-2.0.8-cpp14.patch new file mode 100644 index 000000000000..3130d2c60bb1 --- /dev/null +++ b/media-gfx/nvidia-texture-tools/files/nvidia-texture-tools-2.0.8-cpp14.patch @@ -0,0 +1,58 @@ +This patch fixes cpp14 compilation errors. +Gentoo-bug: 594938 + +--- a/src/nvimage/ImageIO.cpp ++++ b/src/nvimage/ImageIO.cpp +@@ -135,7 +135,7 @@ + StdInputStream stream(fileName); + + if (stream.isError()) { +- return false; ++ return NULL; + } + + return loadFloat(fileName, stream); +@@ -233,7 +233,7 @@ + case TGA_TYPE_INDEXED: + if( tga.colormap_type!=1 || tga.colormap_size!=24 || tga.colormap_length>256 ) { + nvDebug( "*** ImageIO::loadTGA: Error, only 24bit paletted images are supported.\n" ); +- return false; ++ return NULL; + } + pal = true; + break; +@@ -254,7 +254,7 @@ + + default: + nvDebug( "*** ImageIO::loadTGA: Error, unsupported image type.\n" ); +- return false; ++ return NULL; + } + + const uint pixel_size = (tga.pixel_size/8); +@@ -621,7 +621,7 @@ + png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); + if (png_ptr == NULL) { + // nvDebug( "*** LoadPNG: Error allocating read buffer in file '%s'.\n", name ); +- return false; ++ return NULL; + } + + // Allocate/initialize a memory block for the image information +@@ -629,14 +629,14 @@ + if (info_ptr == NULL) { + png_destroy_read_struct(&png_ptr, NULL, NULL); + // nvDebug( "*** LoadPNG: Error allocating image information for '%s'.\n", name ); +- return false; ++ return NULL; + } + + // Set up the error handling + if (setjmp(png_jmpbuf(png_ptr))) { + png_destroy_read_struct(&png_ptr, &info_ptr, NULL); + // nvDebug( "*** LoadPNG: Error reading png file '%s'.\n", name ); +- return false; ++ return NULL; + } + + // Set up the I/O functions. diff --git a/media-gfx/nvidia-texture-tools/files/nvidia-texture-tools-2.0.8-gcc-4.7.patch b/media-gfx/nvidia-texture-tools/files/nvidia-texture-tools-2.0.8-gcc-4.7.patch new file mode 100644 index 000000000000..aaba26227411 --- /dev/null +++ b/media-gfx/nvidia-texture-tools/files/nvidia-texture-tools-2.0.8-gcc-4.7.patch @@ -0,0 +1,16 @@ +From: Julian Ospald <hasufell@gentoo.org> +Date: Fri Jun 29 08:15:12 UTC 2012 +Subject: fix compilation on gcc 4.7 + +https://bugs.gentoo.org/show_bug.cgi?id=423965 + +--- a/src/nvcore/nvcore.h ++++ b/src/nvcore/nvcore.h +@@ -158,6 +158,7 @@ + #elif NV_CC_GNUC + # if NV_OS_LINUX + # include "DefsGnucLinux.h" ++# include <unistd.h> // gcc 4.7 + # elif NV_OS_DARWIN + # include "DefsGnucDarwin.h" + # elif NV_OS_MINGW diff --git a/media-gfx/nvidia-texture-tools/files/nvidia-texture-tools-2.0.8-openexr.patch b/media-gfx/nvidia-texture-tools/files/nvidia-texture-tools-2.0.8-openexr.patch new file mode 100644 index 000000000000..b49abf9e5c32 --- /dev/null +++ b/media-gfx/nvidia-texture-tools/files/nvidia-texture-tools-2.0.8-openexr.patch @@ -0,0 +1,93 @@ +From: Julian Ospald <hasufell@gentoo.org> +Date: Wed Mar 20 22:10:22 UTC 2013 +Subject: add pkgconfig checks + +https://bugs.gentoo.org/show_bug.cgi?id=462494 + +--- nvidia-texture-tools/cmake/FindOpenEXR.cmake ++++ nvidia-texture-tools/cmake/FindOpenEXR.cmake +@@ -7,11 +7,15 @@ + # OPENEXR_LIBRARIES = libraries that are needed to use OpenEXR. + # + +-INCLUDE(FindZLIB) ++IF(UNIX) ++ INCLUDE(FindPkgConfig) ++ pkg_check_modules(_PKG_OPENEXR OpenEXR) ++ENDIF(UNIX) + ++find_package(ZLIB REQUIRED) + +-IF(ZLIB_FOUND) +- ++IF(NOT _PKG_OPENEXR_FOUND) ++ + SET(LIBRARY_PATHS + /usr/lib + /usr/local/lib +@@ -46,10 +50,20 @@ + NAMES IlmThread + PATHS ${LIBRARY_PATHS}) + +-ENDIF(ZLIB_FOUND) ++ENDIF(NOT _PKG_OPENEXR_FOUND) + + #MESSAGE(STATUS ${OPENEXR_IMATH_LIBRARY} ${OPENEXR_ILMIMF_LIBRARY} ${OPENEXR_IEX_LIBRARY} ${OPENEXR_HALF_LIBRARY} ${OPENEXR_ILMTHREAD_LIBRARY} ${ZLIB_LIBRARY}) + ++IF(_PKG_OPENEXR_FOUND) ++ SET(OPENEXR_FOUND TRUE) ++ foreach(i ${_PKG_OPENEXR_CFLAGS}) ++ SET(OPENEXR_CFLAGS "${OPENEXR_CFLAGS} ${i}") ++ endforeach(i) ++ foreach(p ${_PKG_OPENEXR_LDFLAGS}) ++ SET(OPENEXR_LDFLAGS "${OPENEXR_LDFLAGS} ${p}") ++ endforeach(p) ++ SET(OPENEXR_LDFLAGS "${OPENEXR_LDFLAGS} ${ZLIB_LIBRARY}") ++ELSE(_PKG_OPENEXR_FOUND) + IF (OPENEXR_INCLUDE_PATH AND OPENEXR_IMATH_LIBRARY AND OPENEXR_ILMIMF_LIBRARY AND OPENEXR_IEX_LIBRARY AND OPENEXR_HALF_LIBRARY) + SET(OPENEXR_FOUND TRUE) + SET(OPENEXR_INCLUDE_PATHS ${OPENEXR_INCLUDE_PATH} CACHE STRING "The include paths needed to use OpenEXR") +@@ -65,6 +79,8 @@ + MESSAGE(FATAL_ERROR "Could not find OpenEXR library") + ENDIF(OPENEXR_FIND_REQUIRED) + ENDIF(OPENEXR_FOUND) ++ENDIF(_PKG_OPENEXR_FOUND) ++ + + MARK_AS_ADVANCED( + OPENEXR_INCLUDE_PATHS +@@ -73,3 +89,4 @@ + OPENEXR_IMATH_LIBRARY + OPENEXR_IEX_LIBRARY + OPENEXR_HALF_LIBRARY) ++ +--- nvidia-texture-tools/src/nvimage/CMakeLists.txt ++++ nvidia-texture-tools/src/nvimage/CMakeLists.txt +@@ -44,10 +44,10 @@ + INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR}) + ENDIF(TIFF_FOUND) + +-IF(OPENEXR_FOUND) ++IF(OPENEXR_FOUND AND NOT _PKG_OPENEXR_FOUND) + SET(LIBS ${LIBS} ${OPENEXR_LIBRARIES}) + INCLUDE_DIRECTORIES(${OPENEXR_INCLUDE_PATHS}) +-ENDIF(OPENEXR_FOUND) ++ENDIF(OPENEXR_FOUND AND NOT _PKG_OPENEXR_FOUND) + + # targets + ADD_DEFINITIONS(-DNVIMAGE_EXPORTS) +@@ -61,6 +61,14 @@ + + TARGET_LINK_LIBRARIES(nvimage ${LIBS} nvcore nvmath posh) + ++IF(_PKG_OPENEXR_FOUND) ++ SET_TARGET_PROPERTIES(nvimage ++ PROPERTIES ++ COMPILE_FLAGS "${OPENEXR_CFLAGS}" ++ LINK_FLAGS "${OPENEXR_LDFLAGS}" ++ ) ++ENDIF(_PKG_OPENEXR_FOUND) ++ + INSTALL(TARGETS nvimage + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib diff --git a/media-gfx/nvidia-texture-tools/metadata.xml b/media-gfx/nvidia-texture-tools/metadata.xml new file mode 100644 index 000000000000..0d4c55828138 --- /dev/null +++ b/media-gfx/nvidia-texture-tools/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <!-- maintainer-needed --> + <use> + <flag name="cg">Enable NVIDIA C graphics compiler toolkit plug-in</flag> + <flag name="cuda">Enable NVIDIA CUDA toolkit support</flag> + <flag name="glew">Enable support for The OpenGL Extension Wrangler Library (<pkg>media-libs/glew</pkg>)</flag> + </use> +</pkgmetadata> diff --git a/media-gfx/nvidia-texture-tools/nvidia-texture-tools-2.0.8-r3.ebuild b/media-gfx/nvidia-texture-tools/nvidia-texture-tools-2.0.8-r3.ebuild new file mode 100644 index 000000000000..f264f6ce7ef5 --- /dev/null +++ b/media-gfx/nvidia-texture-tools/nvidia-texture-tools-2.0.8-r3.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-utils eutils + +DESCRIPTION="A set of cuda-enabled texture tools and compressors" +HOMEPAGE="http://developer.nvidia.com/object/texture_tools.html" +SRC_URI="https://${PN}.googlecode.com/files/${P}-1.tar.gz + https://dev.gentoo.org/~ssuominen/${P}-patchset-1.tar.xz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="cg cuda glew glut openexr" + +RDEPEND=" + media-libs/ilmbase:= + media-libs/libpng:0= + media-libs/tiff:0 + sys-libs/zlib + virtual/jpeg:0 + virtual/opengl + x11-libs/libX11 + cg? ( media-gfx/nvidia-cg-toolkit ) + cuda? ( dev-util/nvidia-cuda-toolkit ) + glew? ( media-libs/glew:0= ) + glut? ( media-libs/freeglut ) + openexr? ( media-libs/openexr:= ) + " +DEPEND="${RDEPEND} + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/${P}-cg.patch" # fix bug #414509 + "${FILESDIR}/${P}-gcc-4.7.patch" # fix bug #423965 + "${FILESDIR}/${P}-openexr.patch" # fix bug #462494 + "${FILESDIR}/${P}-clang.patch" # fix clang build + "${FILESDIR}/${P}-cpp14.patch" # fix bug #594938 +) + +S="${WORKDIR}/${PN}" + +pkg_setup() { + if use cuda; then + if [[ $(( $(gcc-major-version) * 10 + $(gcc-minor-version) )) -gt 44 ]] ; then + eerror "gcc 4.5 and up are not supported for useflag cuda!" + die "gcc 4.5 and up are not supported for useflag cuda!" + fi + fi +} + +src_prepare() { + edos2unix cmake/* + EPATCH_SUFFIX=patch epatch "${WORKDIR}/patches" + cmake-utils_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DLIBDIR=$(get_libdir) + -DNVTT_SHARED=TRUE + -DCG=$(usex cg) + -DCUDA=$(usex cuda) + -DGLEW=$(usex glew) + -DGLUT=$(usex glut) + -DOPENEXR=$(usex openexr) + ) + cmake-utils_src_configure +} |