diff --git a/pkgs/tools/graphics/argyllcms/default.nix b/pkgs/tools/graphics/argyllcms/default.nix index ceca22eca35d..294a403d7ea5 100644 --- a/pkgs/tools/graphics/argyllcms/default.nix +++ b/pkgs/tools/graphics/argyllcms/default.nix @@ -13,83 +13,88 @@ stdenv.mkDerivation rec { sha256 = "sha256-umY3wQfG26Okqnw+MCUnlwWTAyJ6MR/FHe5oe61KBh0="; }; - # The contents of this file comes from the Jamtop file from the - # root of the ArgyllCMS distribution, rewritten to pick up Nixpkgs - # library paths. When ArgyllCMS is updated, make sure that changes - # in that file is reflected here. - jamTop = writeText "argyllcms_jamtop" '' - DESTDIR = "/" ; - REFSUBDIR = "share/argyllcms" ; - - # Keep this DESTDIR anchored to Jamtop. PREFIX is used literally - ANCHORED_PATH_VARS = DESTDIR ; - - # Tell standalone libraries that they are part of Argyll: - DEFINES += ARGYLLCMS ; - - # enable serial instruments & support - USE_SERIAL = true ; - - # enable fast serial instruments & support - USE_FAST_SERIAL = true ; # (Implicit in USE_SERIAL too) - - # enable USB instruments & support - USE_USB = true ; - - # enable dummy Demo Instrument (only if code is available) - USE_DEMOINST = true ; - - # enable Video Test Patch Generator and 3DLUT device support - # (V2.0.0 and above) - USE_VTPGLUT = false ; - - # enable Printer device support - USE_PRINTER = false ; - - # enable CMF Measurement device and accessory support (if present) - USE_CMFM = false ; - - # Use ArgyllCMS version of libusb (deprecated - don't use) - USE_LIBUSB = false ; - - # Compile in graph plotting code (Not fully implemented) - USE_PLOT = true ; # [true] - - JPEGLIB = ; - JPEGINC = ; - HAVE_JPEG = true ; - - TIFFLIB = ; - TIFFINC = ; - HAVE_TIFF = true ; - - PNGLIB = ; - PNGINC = ; - HAVE_PNG = true ; - - ZLIB = ; - ZINC = ; - HAVE_Z = true ; - - SSLLIB = ; - SSLINC = ; - HAVE_SSL = true ; - - LINKFLAGS += - ${lib.concatStringsSep " " (map (x: "-L${x}/lib") buildInputs)} - -ldl -lrt -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss - -ljpeg -ltiff -lpng -lssl ; - ''; - nativeBuildInputs = [ jam unzip ]; - preConfigure = '' + postPatch = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' + substituteInPlace Jambase \ + --replace "-m64" "" + ''; + + preConfigure = let + # The contents of this file comes from the Jamtop file from the + # root of the ArgyllCMS distribution, rewritten to pick up Nixpkgs + # library paths. When ArgyllCMS is updated, make sure that changes + # in that file is reflected here. + jamTop = writeText "argyllcms_jamtop" '' + DESTDIR = "/" ; + REFSUBDIR = "share/argyllcms" ; + + # Keep this DESTDIR anchored to Jamtop. PREFIX is used literally + ANCHORED_PATH_VARS = DESTDIR ; + + # Tell standalone libraries that they are part of Argyll: + DEFINES += ARGYLLCMS ; + + # enable serial instruments & support + USE_SERIAL = true ; + + # enable fast serial instruments & support + USE_FAST_SERIAL = true ; # (Implicit in USE_SERIAL too) + + # enable USB instruments & support + USE_USB = true ; + + # enable dummy Demo Instrument (only if code is available) + USE_DEMOINST = true ; + + # enable Video Test Patch Generator and 3DLUT device support + # (V2.0.0 and above) + USE_VTPGLUT = false ; + + # enable Printer device support + USE_PRINTER = false ; + + # enable CMF Measurement device and accessory support (if present) + USE_CMFM = false ; + + # Use ArgyllCMS version of libusb (deprecated - don't use) + USE_LIBUSB = false ; + + # Compile in graph plotting code (Not fully implemented) + USE_PLOT = true ; # [true] + + JPEGLIB = ; + JPEGINC = ; + HAVE_JPEG = true ; + + TIFFLIB = ; + TIFFINC = ; + HAVE_TIFF = true ; + + PNGLIB = ; + PNGINC = ; + HAVE_PNG = true ; + + ZLIB = ; + ZINC = ; + HAVE_Z = true ; + + SSLLIB = ; + SSLINC = ; + HAVE_SSL = true ; + + LINKFLAGS += + ${lib.concatStringsSep " " (map (x: "-L${x}/lib") buildInputs)} + -ldl -lrt -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss + -ljpeg -ltiff -lpng -lssl ; + ''; + in '' cp ${jamTop} Jamtop substituteInPlace Makefile --replace "-j 3" "-j $NIX_BUILD_CORES" # Remove tiff, jpg and png to be sure the nixpkgs-provided ones are used rm -rf tiff jpg png - unset AR + export AR="$AR rusc" ''; buildInputs = [ @@ -110,6 +115,9 @@ stdenv.mkDerivation rec { mkdir -p $out/etc/udev/rules.d sed -i '/udev-acl/d' usb/55-Argyll.rules cp -v usb/55-Argyll.rules $out/etc/udev/rules.d/ + + sed -i -e 's/^CREATED .*/CREATED "'"$(date -d @$SOURCE_DATE_EPOCH)"'"/g' $out/share/argyllcms/RefMediumGamut.gam + ''; meta = with lib; {