nixpkgs/pkgs/development/libraries/nvidia-texture-tools/default.nix
Franz Pletz aff1f4ab94 Use general hardening flag toggle lists
The following parameters are now available:

  * hardeningDisable
    To disable specific hardening flags
  * hardeningEnable
    To enable specific hardening flags

Only the cc-wrapper supports this right now, but these may be reused by
other wrappers, builders or setup hooks.

cc-wrapper supports the following flags:

  * fortify
  * stackprotector
  * pie (disabled by default)
  * pic
  * strictoverflow
  * format
  * relro
  * bindnow
2016-03-05 18:55:26 +01:00

44 lines
1.3 KiB
Nix

{ stdenv, fetchsvn, cmake, libpng, ilmbase, libtiff, zlib, libjpeg
, mesa, libX11
}:
stdenv.mkDerivation rec {
# No support yet for cg, cuda, glew, glut, openexr.
name = "nvidia-texture-tools-1388";
src = fetchsvn {
url = "http://nvidia-texture-tools.googlecode.com/svn/trunk";
rev = "1388";
sha256 = "0pwxqx5l16nqidzm6mwd3rd4gbbknkz6q8cxnvf7sggjpbcvm2d6";
};
buildInputs = [ cmake libpng ilmbase libtiff zlib libjpeg mesa libX11 ];
hardeningDisable = [ "format" ];
patchPhase = ''
# Fix build due to missing dependnecies.
echo 'target_link_libraries(bc7 nvmath)' >> src/nvtt/bc7/CMakeLists.txt
echo 'target_link_libraries(bc6h nvmath)' >> src/nvtt/bc6h/CMakeLists.txt
# Make a recently added pure virtual function just virtual,
# to keep compatibility.
sed -i 's/virtual void endImage() = 0;/virtual void endImage() {}/' src/nvtt/nvtt.h
# Fix building shared libraries.
sed -i 's/SET(NVIMAGE_SHARED TRUE)/SET(NVIMAGE_SHARED TRUE)\nSET(NVTHREAD_SHARED TRUE)/' CMakeLists.txt
'';
cmakeFlags = [
"-DNVTT_SHARED=TRUE"
];
meta = {
description = "A set of cuda-enabled texture tools and compressors";
homepage = "http://developer.nvidia.com/object/texture_tools.html";
license = stdenv.lib.licenses.mit;
platforms = stdenv.lib.platforms.linux;
};
}