{ stdenv, fetchurl, jam, unzip, libX11, libXxf86vm, libXrandr, libXinerama , libXrender, libXext, libtiff, libjpeg, libXScrnSaver, writeText , libXdmcp, libXau, lib }: stdenv.mkDerivation rec { name = "argyllcms-1.4.0"; src = fetchurl { url = "http://www.argyllcms.com/Argyll_V1.4.0_src.zip"; sha256 = "1a5i0972cjp6asmawmyzih2y4bv3i0qvf7p6z5lxnr199mq38cfk"; }; # 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" ; # 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 ; # Use libusb1 rather than libusb0 & libusb0-win32 USE_LIBUSB1 = true ; # Make the USB V1 library static LIBUSB_IS_DLL = false ; # Set the libubs1 library name. LIBUSB1NAME = libusb-1A ; JPEGLIB = ; JPEGINC = ; HAVE_JPEG = true ; TIFFLIB = ; TIFFINC = ; HAVE_TIFF = true ; LINKFLAGS += ${lib.concatStringsSep " " (map (x: "-L${x}/lib") buildInputs)} -ldl -lrt -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss -ljpeg -ltiff ; ''; nativeBuildInputs = [ jam unzip ]; preConfigure = '' cp ${jamTop} Jamtop substituteInPlace Makefile --replace "-j 3" "-j $NIX_BUILD_CORES" # Remove tiff and jpg to be sure the nixpkgs-provided ones are used rm -rf tiff jpg ''; buildInputs = [ libtiff libjpeg libX11 libXxf86vm libXrandr libXinerama libXext libXrender libXScrnSaver libXdmcp libXau ]; buildFlags = "PREFIX=$(out) all"; installFlags = "PREFIX=$(out)"; # Install udev rules, but remove lines that set up the udev-acl and plugdev # stuff, since that is handled by udev's own rules (70-udev-acl.rules) postInstall = '' rm -v $out/bin/License.txt mkdir -p $out/etc/udev/rules.d sed -i '/udev-acl/d' libusb1/55-Argyll.rules sed -i '/plugdev/d' libusb1/55-Argyll.rules cp -v libusb1/55-Argyll.rules $out/etc/udev/rules.d/ ''; meta = with stdenv.lib; { homepage = http://www.argyllcms.com; description = "Color management system (compatible with ICC)"; license = licenses.gpl3; maintainers = [ maintainers.rickynils ]; platforms = platforms.linux; }; }