diff --git a/third_party/cgit/.skip-subtree b/third_party/cgit/.skip-subtree new file mode 100644 index 000000000..c108a7d34 --- /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 000000000..7b1dfa893 --- /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 1d4a6ae7e..fc8192ea9 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; };