nixpkgs/pkgs/tools/graphics/pfstools/default.nix
Alexander Shpilkin 1cd122e7b6
pfstools: fix build of pfsglview with newer cmake
The CMake build configuration for pfsglview used an internal variable,
GLUT_glut_LIBRARY, to link with GLUT, which seems to have stopped
working when CMake was bumped from 3.21 in 3.22 in nixpkgs#147818. Use
the officially documented GLUT_LIBRARIES instead.
2022-04-04 23:51:27 +03:00

49 lines
1.8 KiB
Nix

{ lib, stdenv, mkDerivation, fetchurl, cmake, pkg-config, darwin
, openexr, zlib, imagemagick6, libGLU, libGL, freeglut, fftwFloat
, fftw, gsl, libexif, perl, qtbase, netpbm
, enableUnfree ? false, opencv2
}:
mkDerivation rec {
pname = "pfstools";
version = "2.2.0";
src = fetchurl {
url = "mirror://sourceforge/${pname}/${version}/${pname}-${version}.tgz";
sha256 = "sha256-m/aESYVmMibCGZjutDwmGsuOSziRuakbcpVUQGKJ18o=";
};
outputs = [ "out" "dev" "man"];
cmakeFlags = [ "-DWITH_MATLAB=false" ];
preConfigure = ''
rm cmake/FindNETPBM.cmake
echo "SET(NETPBM_LIBRARY `find ${lib.getLib netpbm} -name "*.${stdenv.hostPlatform.extensions.sharedLibrary}*" -type f`)" >> cmake/FindNETPBM.cmake
echo "SET(NETPBM_LIBRARIES `find ${lib.getLib netpbm} -name "*.${stdenv.hostPlatform.extensions.sharedLibrary}*" -type f`)" >> cmake/FindNETPBM.cmake
echo "SET(NETPBM_INCLUDE_DIR ${lib.getDev netpbm}/include/netpbm)" >> cmake/FindNETPBM.cmake
echo "INCLUDE(FindPackageHandleStandardArgs)" >> cmake/FindNETPBM.cmake
echo "FIND_PACKAGE_HANDLE_STANDARD_ARGS(NETPBM DEFAULT_MSG NETPBM_LIBRARY NETPBM_INCLUDE_DIR)" >> cmake/FindNETPBM.cmake
'';
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [
openexr zlib imagemagick6 fftwFloat
fftw gsl libexif perl qtbase netpbm
] ++ (if stdenv.isDarwin then (with darwin.apple_sdk.frameworks; [
OpenGL GLUT
]) else [
libGLU libGL freeglut
]) ++ lib.optional enableUnfree (opencv2.override { enableUnfree = true; });
patches = [ ./glut.patch ./threads.patch ./pfstools.patch ./pfsalign.patch ];
meta = with lib; {
homepage = "http://pfstools.sourceforge.net/";
description = "Toolkit for manipulation of HDR images";
platforms = platforms.linux;
license = licenses.lgpl2;
maintainers = [ maintainers.juliendehos ];
};
}