about summary refs log tree commit diff
path: root/nixpkgs/pkgs/servers/cloud-print-connector/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/servers/cloud-print-connector/default.nix')
-rw-r--r--nixpkgs/pkgs/servers/cloud-print-connector/default.nix64
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;
+  };
+}