summary refs log tree commit diff
path: root/pkgs/applications/version-management/sourcehut/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/version-management/sourcehut/default.nix')
-rw-r--r--pkgs/applications/version-management/sourcehut/default.nix49
1 files changed, 49 insertions, 0 deletions
diff --git a/pkgs/applications/version-management/sourcehut/default.nix b/pkgs/applications/version-management/sourcehut/default.nix
new file mode 100644
index 00000000000..b7c8eaf3820
--- /dev/null
+++ b/pkgs/applications/version-management/sourcehut/default.nix
@@ -0,0 +1,49 @@
+{ python37, openssl_1_1
+, callPackage }:
+
+# To expose the *srht modules, they have to be a python module so we use `buildPythonModule`
+# Then we expose them through all-packages.nix as an application through `toPythonApplication`
+# https://github.com/NixOS/nixpkgs/pull/54425#discussion_r250688781
+
+let
+  fetchNodeModules = callPackage ../../networking/instant-messengers/rambox/fetchNodeModules.nix { };
+
+  python = python37.override {
+    packageOverrides = self: super: {
+      srht = self.callPackage ./core.nix { inherit fetchNodeModules; };
+
+      buildsrht = self.callPackage ./builds.nix { };
+      dispatchsrht = self.callPackage ./dispatch.nix { };
+      gitsrht = self.callPackage ./git.nix { };
+      hgsrht = self.callPackage ./hg.nix { };
+      listssrht = self.callPackage ./lists.nix { };
+      mansrht = self.callPackage ./man.nix { };
+      metasrht = self.callPackage ./meta.nix { };
+      pastesrht = self.callPackage ./paste.nix { };
+      todosrht = self.callPackage ./todo.nix { };
+
+      scmsrht = self.callPackage ./scm.nix { };
+
+      # OVERRIDES
+
+      cryptography = super.cryptography.override {
+        openssl = openssl_1_1;
+      };
+
+      pyopenssl = super.pyopenssl.override {
+        openssl = openssl_1_1;
+      };
+    };
+  };
+in with python.pkgs; {
+  inherit python;
+  buildsrht = toPythonApplication buildsrht;
+  dispatchsrht = toPythonApplication dispatchsrht;
+  gitsrht = toPythonApplication gitsrht;
+  hgsrht = toPythonApplication hgsrht;
+  listssrht = toPythonApplication listssrht;
+  mansrht = toPythonApplication mansrht;
+  metasrht = toPythonApplication metasrht;
+  pastesrht = toPythonApplication pastesrht;
+  todosrht = toPythonApplication todosrht;
+}