argyllcms: make reproducible
and make binfmt cross-compilable
This commit is contained in:
parent
23f71e9427
commit
e7a05e90da
1 changed files with 78 additions and 70 deletions
|
@ -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; {
|
||||
|
|
Loading…
Reference in a new issue