]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - pkgs/stgit/default.nix
Upgrade stgit
[perso/Immae/Config/Nix.git] / pkgs / stgit / default.nix
diff --git a/pkgs/stgit/default.nix b/pkgs/stgit/default.nix
new file mode 100644 (file)
index 0000000..da4f7ec
--- /dev/null
@@ -0,0 +1,64 @@
+# Taken from nixpkgs repository
+{ lib
+, fetchFromGitHub
+, installShellFiles
+, python3Packages
+, asciidoc
+, docbook_xsl
+, git
+, perl
+, xmlto
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "stgit";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "stacked-git";
+    repo = "stgit";
+    rev = "v${version}";
+    sha256 = "sha256-gfPf1yRmx1Mn1TyCBWmjQJBgXLlZrDcew32C9o6uNYk=";
+  };
+
+  nativeBuildInputs = [ installShellFiles asciidoc xmlto docbook_xsl ];
+
+  format = "other";
+
+  checkInputs = [ git perl ];
+
+  postPatch = ''
+    for f in Documentation/*.xsl; do
+      substituteInPlace $f \
+        --replace http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl \
+                  ${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl \
+        --replace http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl \
+                  ${docbook_xsl}/xml/xsl/docbook/html/docbook.xsl
+    done
+  '';
+
+  makeFlags = [
+    "prefix=${placeholder "out"}"
+    "MAN_BASE_URL=${placeholder "out"}/share/man"
+    "XMLTO_EXTRA=--skip-validation"
+  ];
+
+  buildFlags = [ "all" ];
+
+  checkTarget = "test";
+  checkFlags = [ "PERL_PATH=${perl}/bin/perl" ];
+
+  installTargets = [ "install" ];
+  postInstall = ''
+    installShellCompletion \
+      --zsh $out/share/stgit/completion/stgit.zsh
+    '';
+
+  meta = with lib; {
+    description = "A patch manager implemented on top of Git";
+    homepage = "https://stacked-git.github.io/";
+    license = licenses.gpl2Only;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ jshholland ];
+  };
+}