diff options
author | obadz <obadz-git@obadz.com> | 2018-10-06 21:21:35 +0100 |
---|---|---|
committer | obadz <3359345+obadz@users.noreply.github.com> | 2018-10-11 09:19:58 +0100 |
commit | 6fca3c5700a80d791c07214c8376db2f65d4d331 (patch) | |
tree | a1d77d0e41b90e820c4cb44f44224404ed3f3417 /pkgs/misc/cups | |
parent | 177ddb91be600d7c88b6685f7919d149fd7feae0 (diff) | |
download | nixlib-6fca3c5700a80d791c07214c8376db2f65d4d331.tar nixlib-6fca3c5700a80d791c07214c8376db2f65d4d331.tar.gz nixlib-6fca3c5700a80d791c07214c8376db2f65d4d331.tar.bz2 nixlib-6fca3c5700a80d791c07214c8376db2f65d4d331.tar.lz nixlib-6fca3c5700a80d791c07214c8376db2f65d4d331.tar.xz nixlib-6fca3c5700a80d791c07214c8376db2f65d4d331.tar.zst nixlib-6fca3c5700a80d791c07214c8376db2f65d4d331.zip |
cups-googlecloudprint: init at 20160502
Diffstat (limited to 'pkgs/misc/cups')
-rw-r--r-- | pkgs/misc/cups/drivers/googlecloudprint/default.nix | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/pkgs/misc/cups/drivers/googlecloudprint/default.nix b/pkgs/misc/cups/drivers/googlecloudprint/default.nix new file mode 100644 index 000000000000..b3fc87fbf1da --- /dev/null +++ b/pkgs/misc/cups/drivers/googlecloudprint/default.nix @@ -0,0 +1,64 @@ +{ stdenv, lib, fetchFromGitHub, python2, python2Packages, file, makeWrapper, cups }: + +# Setup instructions can be found at https://github.com/simoncadman/CUPS-Cloud-Print#configuration +# So the nix version is something like: +# nix run nixpkgs.cups-googlecloudprint -c sudo setupcloudprint +# nix run nixpkgs.cups-googlecloudprint -c sudo listcloudprinters + +let pythonEnv = python2.buildEnv.override { + extraLibs = with python2Packages; [ + six + httplib2 + pycups + ]; +}; + +in stdenv.mkDerivation rec { + name = "cups-googlecloudprint-${version}"; + version = "20160502"; + + src = fetchFromGitHub { + owner = "simoncadman"; + repo = "CUPS-Cloud-Print"; + rev = version; + sha256 = "0760i12w7jrhq7fsgyz3yqla5cvpjb45n6m2jz96wsy3p3xf6dzz"; + }; + + buildInputs = [ cups makeWrapper ]; + + cupsgroup = "nonexistantgroup"; + NOPERMS = 1; + + postConfigure = '' + substituteInPlace Makefile --replace "${cups}" "$out" + ''; + + postInstall = '' + pushd "$out" + for s in lib/cups/backend/gcp lib/cups/driver/cupscloudprint + do + echo "Wrapping $s..." + wrapProgram "$out/$s" --set PATH "${lib.makeBinPath [pythonEnv file]}" --prefix PYTHONPATH : "$out/share/cloudprint-cups" + done + + mkdir bin + + for s in share/cloudprint-cups/*.py + do + if [ -x "$s" ] # Only wrapping those Python scripts marked as executable + then + o="bin/$(echo $s | sed 's,share/cloudprint-cups/\(.*\).py,\1,')" + echo "Wrapping $o -> $s..." + makeWrapper "$out/$s" "$o" --set PATH "${lib.makeBinPath [pythonEnv file]}" --prefix PYTHONPATH : "$out/share/cloudprint-cups" + fi + done + popd + ''; + + meta = with stdenv.lib; { + description = "Google Cloud Print driver for CUPS, allows printing to printers hosted on Google Cloud Print"; + homepage = http://ccp.niftiestsoftware.com; + platforms = platforms.linux; + license = licenses.gpl3; + }; +} |