2015-09-07 09:41:39 +00:00
|
|
|
{ stdenv, fetchzip, jam, unzip, libX11, libXxf86vm, libXrandr, libXinerama
|
|
|
|
, libXrender, libXext, libtiff, libjpeg, libpng, libXScrnSaver, writeText
|
2018-07-21 00:44:44 +00:00
|
|
|
, libXdmcp, libXau, lib, openssl }:
|
2015-09-07 09:41:39 +00:00
|
|
|
let
|
2019-04-14 07:14:58 +00:00
|
|
|
version = "2.1.0";
|
2015-09-07 09:41:39 +00:00
|
|
|
in
|
2012-12-13 14:58:57 +00:00
|
|
|
stdenv.mkDerivation rec {
|
2015-09-07 09:41:39 +00:00
|
|
|
name = "argyllcms-${version}";
|
2012-12-13 14:58:57 +00:00
|
|
|
|
2015-09-07 09:41:39 +00:00
|
|
|
src = fetchzip {
|
|
|
|
# Kind of flacky URL, it was reaturning 406 and inconsistent binaries for a
|
|
|
|
# while on me. It might be good to find a mirror
|
2018-06-28 18:43:35 +00:00
|
|
|
url = "https://www.argyllcms.com/Argyll_V${version}_src.zip";
|
2019-04-14 07:14:58 +00:00
|
|
|
sha256 = "02zxy6ipp84hrd1p5nspp3f9dzphr0qwlq8s557jn746cf866bv3";
|
2015-09-13 20:08:40 +00:00
|
|
|
|
|
|
|
# The argyllcms web server doesn't like curl ...
|
|
|
|
curlOpts = "--user-agent 'Mozilla/5.0'";
|
2012-12-13 14:58:57 +00:00
|
|
|
};
|
|
|
|
|
2015-09-17 04:58:53 +00:00
|
|
|
patches = [ ./gcc5.patch ];
|
|
|
|
|
2012-12-13 14:58:57 +00:00
|
|
|
# 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 = "ref" ;
|
2015-09-07 09:41:39 +00:00
|
|
|
|
2012-12-13 14:58:57 +00:00
|
|
|
# Keep this DESTDIR anchored to Jamtop. PREFIX is used literally
|
|
|
|
ANCHORED_PATH_VARS = DESTDIR ;
|
2015-09-07 09:41:39 +00:00
|
|
|
|
2012-12-13 14:58:57 +00:00
|
|
|
# Tell standalone libraries that they are part of Argyll:
|
|
|
|
DEFINES += ARGYLLCMS ;
|
2015-09-07 09:41:39 +00:00
|
|
|
|
|
|
|
# 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 ;
|
|
|
|
|
|
|
|
# Use ArgyllCMS version of libusb (deprecated - don't use)
|
|
|
|
USE_LIBUSB = false ;
|
|
|
|
|
|
|
|
# For testing CCast
|
|
|
|
DEFINES += CCTEST_PATTERN ;
|
2012-12-13 14:58:57 +00:00
|
|
|
|
|
|
|
JPEGLIB = ;
|
|
|
|
JPEGINC = ;
|
|
|
|
HAVE_JPEG = true ;
|
|
|
|
|
|
|
|
TIFFLIB = ;
|
|
|
|
TIFFINC = ;
|
|
|
|
HAVE_TIFF = true ;
|
|
|
|
|
2015-09-07 09:41:39 +00:00
|
|
|
PNGLIB = ;
|
|
|
|
PNGINC = ;
|
|
|
|
HAVE_PNG = true ;
|
|
|
|
|
|
|
|
ZLIB = ;
|
|
|
|
ZINC = ;
|
|
|
|
HAVE_Z = true ;
|
|
|
|
|
|
|
|
SSLLIB = ;
|
|
|
|
SSLINC = ;
|
|
|
|
HAVE_SSL = true ;
|
|
|
|
|
2012-12-13 14:58:57 +00:00
|
|
|
LINKFLAGS +=
|
|
|
|
${lib.concatStringsSep " " (map (x: "-L${x}/lib") buildInputs)}
|
|
|
|
-ldl -lrt -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss
|
2015-09-07 09:41:39 +00:00
|
|
|
-ljpeg -ltiff -lpng -lssl ;
|
2012-12-13 14:58:57 +00:00
|
|
|
'';
|
|
|
|
|
2013-01-13 10:33:45 +00:00
|
|
|
nativeBuildInputs = [ jam unzip ];
|
2012-12-13 14:58:57 +00:00
|
|
|
|
|
|
|
preConfigure = ''
|
|
|
|
cp ${jamTop} Jamtop
|
|
|
|
substituteInPlace Makefile --replace "-j 3" "-j $NIX_BUILD_CORES"
|
2015-09-07 09:41:39 +00:00
|
|
|
# Remove tiff, jpg and png to be sure the nixpkgs-provided ones are used
|
|
|
|
rm -rf tiff jpg png
|
2017-07-23 00:54:57 +00:00
|
|
|
|
|
|
|
unset AR
|
2012-12-13 14:58:57 +00:00
|
|
|
'';
|
|
|
|
|
2015-09-07 09:41:39 +00:00
|
|
|
buildInputs = [
|
|
|
|
libtiff libjpeg libpng libX11 libXxf86vm libXrandr libXinerama libXext
|
|
|
|
libXrender libXScrnSaver libXdmcp libXau openssl
|
2012-12-13 14:58:57 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
buildFlags = "PREFIX=$(out) all";
|
|
|
|
|
|
|
|
installFlags = "PREFIX=$(out)";
|
|
|
|
|
2015-09-07 09:41:39 +00:00
|
|
|
# Install udev rules, but remove lines that set up the udev-acl
|
2012-12-13 14:58:57 +00:00
|
|
|
# stuff, since that is handled by udev's own rules (70-udev-acl.rules)
|
2015-09-07 09:41:39 +00:00
|
|
|
#
|
|
|
|
# Move ref to a better place (there must be a way to make the install target
|
|
|
|
# do that for us)
|
2012-12-13 14:58:57 +00:00
|
|
|
postInstall = ''
|
|
|
|
rm -v $out/bin/License.txt
|
|
|
|
mkdir -p $out/etc/udev/rules.d
|
2015-09-07 09:41:39 +00:00
|
|
|
sed -i '/udev-acl/d' usb/55-Argyll.rules
|
|
|
|
cp -v usb/55-Argyll.rules $out/etc/udev/rules.d/
|
|
|
|
mkdir -p $out/share/
|
|
|
|
mv $out/ref $out/share/argyllcms
|
2012-12-13 14:58:57 +00:00
|
|
|
'';
|
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
homepage = http://www.argyllcms.com;
|
2013-10-05 14:22:46 +00:00
|
|
|
description = "Color management system (compatible with ICC)";
|
2012-12-13 14:58:57 +00:00
|
|
|
license = licenses.gpl3;
|
|
|
|
maintainers = [ maintainers.rickynils ];
|
|
|
|
platforms = platforms.linux;
|
|
|
|
};
|
|
|
|
}
|