lol
1{ lib, stdenv, mkDerivation, fetchurl, cmake, pkg-config, darwin
2, openexr, zlib, imagemagick6, libGLU, libGL, freeglut, fftwFloat
3, fftw, gsl, libexif, perl, qtbase, netpbm
4, enableUnfree ? false, opencv2
5}:
6
7mkDerivation rec {
8 pname = "pfstools";
9 version = "2.2.0";
10
11 src = fetchurl {
12 url = "mirror://sourceforge/${pname}/${version}/${pname}-${version}.tgz";
13 sha256 = "sha256-m/aESYVmMibCGZjutDwmGsuOSziRuakbcpVUQGKJ18o=";
14 };
15
16 outputs = [ "out" "dev" "man"];
17
18 cmakeFlags = [ "-DWITH_MATLAB=false" ];
19
20 preConfigure = ''
21 rm cmake/FindNETPBM.cmake
22 echo "SET(NETPBM_LIBRARY `find ${lib.getLib netpbm} -name "*.${stdenv.hostPlatform.extensions.sharedLibrary}*" -type f`)" >> cmake/FindNETPBM.cmake
23 echo "SET(NETPBM_LIBRARIES `find ${lib.getLib netpbm} -name "*.${stdenv.hostPlatform.extensions.sharedLibrary}*" -type f`)" >> cmake/FindNETPBM.cmake
24 echo "SET(NETPBM_INCLUDE_DIR ${lib.getDev netpbm}/include/netpbm)" >> cmake/FindNETPBM.cmake
25 echo "INCLUDE(FindPackageHandleStandardArgs)" >> cmake/FindNETPBM.cmake
26 echo "FIND_PACKAGE_HANDLE_STANDARD_ARGS(NETPBM DEFAULT_MSG NETPBM_LIBRARY NETPBM_INCLUDE_DIR)" >> cmake/FindNETPBM.cmake
27 '';
28
29 nativeBuildInputs = [ cmake pkg-config ];
30 buildInputs = [
31 openexr zlib imagemagick6 fftwFloat
32 fftw gsl libexif perl qtbase netpbm
33 ] ++ (if stdenv.isDarwin then (with darwin.apple_sdk.frameworks; [
34 OpenGL GLUT
35 ]) else [
36 libGLU libGL freeglut
37 ]) ++ lib.optional enableUnfree (opencv2.override { enableUnfree = true; });
38
39 patches = [ ./glut.patch ./threads.patch ./pfstools.patch ./pfsalign.patch ];
40
41 meta = with lib; {
42 homepage = "http://pfstools.sourceforge.net/";
43 description = "Toolkit for manipulation of HDR images";
44 platforms = platforms.linux;
45 license = licenses.lgpl2;
46 maintainers = [ maintainers.juliendehos ];
47 };
48}