diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/cloud-print-connector/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/cloud-print-connector/default.nix | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/cloud-print-connector/default.nix b/nixpkgs/pkgs/servers/cloud-print-connector/default.nix new file mode 100644 index 000000000000..e81993100274 --- /dev/null +++ b/nixpkgs/pkgs/servers/cloud-print-connector/default.nix @@ -0,0 +1,64 @@ +{ stdenv, buildGoPackage, fetchFromGitHub, avahi, cups, fetchpatch }: + +# TODO: Add a service for gcp-cups-connector and perhaps some other +# kind of configuration for the same thing that gcp-connector-util +# provides. + +# Mic92 has an example module: +# - https://github.com/Mic92/dotfiles/blob/ba2a01144cfdc71c829d872a3fc816c64663ad7f/nixos/vms/matchbox/modules/cloud-print-connector.nix + +buildGoPackage rec { + pname = "cloud-print-connector-unstable"; + version = "1.16"; + rev = "481ad139cc023a3ba65e769f08f277368fa8a5de"; + + goPackagePath = "github.com/google/cloud-print-connector"; + + subPackages = [ + "gcp-connector-util" + "gcp-cups-connector" + ]; + + patches = [ + (fetchpatch { + # https://github.com/google/cloud-print-connector/pull/475 + url = "https://github.com/google/cloud-print-connector/commit/6a77c7c283b83cbcc9cbfab59710023cd09da3ed.patch"; + sha256 = "054pi9nz402va95z5k6wq3dalnv5rcya078wa99p1kdwb7cqmrcq"; + }) + ]; + + src = fetchFromGitHub { + owner = "google"; + repo = "cloud-print-connector"; + sha256 = "0z2xad4wsv962rc1rspghfcfkz4nj2j5l5cm7xyn6qmsag0m8y2x"; + rev = "v${version}"; + }; + + # To compute a new go2nix deps.go file, + # change to the gcp-connector-util directory and create a nix-shell with avahi and + # cups in it. + + # manually mirrored from launchpad because cloning failed due insecure http protocol + # { + # goPackagePath = "launchpad.net/go-xdg/v0"; + # fetch = { + # type = "git"; + # url = "https://github.com/Mic92/go-xdg"; + # rev = "b3fc6b3106d78701853b0caf62ebedae42769af2"; + # sha256 = "0fd68kkxzxjanpgannpys962bxzqdf8c1qvzk687hv504a3dp76f"; + # }; + # } + goDeps = ./deps.nix; + + buildInputs = [ avahi cups ]; + + meta = with stdenv.lib; { + description = "Share printers from your Windows, Linux, FreeBSD or macOS computer with ChromeOS and Android devices, using the Cloud Print Connector"; + homepage = "https://github.com/google/cloud-print-connector"; + license = licenses.bsd3; + maintainers = with maintainers; [ hodapp ]; + # TODO: Fix broken build on macOS. The GitHub presently lists the + # FreeBSD build as broken too, but this may change in the future. + platforms = platforms.unix; + }; +} |