about summary refs log tree commit diff
path: root/third_party
diff options
context:
space:
mode:
authorVincent Ambo <Vincent Ambo>2020-01-12T02·48+0000
committerVincent Ambo <Vincent Ambo>2020-01-12T02·49+0000
commitac6485efeb05404cd8ac675adf54caa65deb0786 (patch)
treec4b4050adf2eeafeb20cc9c2f54264ef177f51c6 /third_party
parent93cc05d36319418c3304115964398f17f10545ae (diff)
feat(third_party/cgit): Add derivation to build cgit r/380
This is pretty much exactly the derivation from nixpkgs, with some
things removed to reduce the closure size (e.g. the various formatters
used in the default cgit version, which are replaced by cheddar in my
setup).
Diffstat (limited to 'third_party')
-rw-r--r--third_party/cgit/.skip-subtree1
-rw-r--r--third_party/cgit/default.nix37
-rw-r--r--third_party/default.nix3
3 files changed, 41 insertions, 0 deletions
diff --git a/third_party/cgit/.skip-subtree b/third_party/cgit/.skip-subtree
new file mode 100644
index 0000000000..c108a7d34f
--- /dev/null
+++ b/third_party/cgit/.skip-subtree
@@ -0,0 +1 @@
+Subtrees of this directory belong to cgit (third-party).
diff --git a/third_party/cgit/default.nix b/third_party/cgit/default.nix
new file mode 100644
index 0000000000..7b1dfa8939
--- /dev/null
+++ b/third_party/cgit/default.nix
@@ -0,0 +1,37 @@
+{ pkgs, ... }:
+
+let
+  inherit (pkgs.third_party) stdenv gzip bzip2 xz luajit zlib autoconf openssl pkgconfig;
+in stdenv.mkDerivation rec {
+  pname = "cgit";
+  version = "master";
+  src = ./.;
+
+  nativeBuildInputs = [ autoconf pkgconfig ];
+  buildInputs = [ openssl zlib luajit ];
+
+  postPatch = ''
+    sed -e 's|"gzip"|"${gzip}/bin/gzip"|' \
+        -e 's|"bzip2"|"${bzip2.bin}/bin/bzip2"|' \
+        -e 's|"xz"|"${xz.bin}/bin/xz"|' \
+        -i ui-snapshot.c
+  '';
+
+  # Give cgit the git source tree from the depot. Note that the
+  # versions should be kept in sync (see the Makefile for the current
+  # git version).
+  preBuild = ''
+    rm -rf git # remove submodule dir ...
+    cp -r --no-preserve=ownership,mode ${pkgs.third_party.git.src} git
+    makeFlagsArray+=(prefix="$out" CGIT_SCRIPT_PATH="$out/cgit/")
+  '';
+
+  meta = {
+    homepage = https://git.zx2c4.com/cgit/about/;
+    repositories.git = git://git.zx2c4.com/cgit;
+    description = "Web frontend for git repositories";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ bjornfor ];
+  };
+}
diff --git a/third_party/default.nix b/third_party/default.nix
index 1d4a6ae7e1..fc8192ea92 100644
--- a/third_party/default.nix
+++ b/third_party/default.nix
@@ -24,6 +24,7 @@ let
       bashInteractive
       bat
       buildGoPackage
+      bzip2
       cacert
       cachix
       cargo
@@ -54,6 +55,7 @@ let
       lib
       lispPackages
       llvmPackages
+      luajit
       luatex
       makeFontsConf
       makeWrapper
@@ -91,6 +93,7 @@ let
       writeShellScriptBin
       writeText
       writeTextFile
+      xz
       zlib
       zstd;
   };