diff options
Diffstat (limited to 'third_party/cgit/default.nix')
-rw-r--r-- | third_party/cgit/default.nix | 49 |
1 files changed, 35 insertions, 14 deletions
diff --git a/third_party/cgit/default.nix b/third_party/cgit/default.nix index 025877ee4b72..bac6a3264e6e 100644 --- a/third_party/cgit/default.nix +++ b/third_party/cgit/default.nix @@ -1,21 +1,23 @@ { depot, lib, pkgs, ... }: let - inherit (pkgs) stdenv gzip bzip2 xz luajit zlib autoconf openssl pkgconfig; -in stdenv.mkDerivation rec { - pname = "cgit"; + inherit (pkgs) stdenv gzip bzip2 xz lzip zstd zlib openssl; +in +stdenv.mkDerivation rec { + pname = "cgit-pink"; version = "master"; src = ./.; - nativeBuildInputs = [ autoconf pkgconfig ]; - buildInputs = [ openssl zlib luajit ]; + buildInputs = [ openssl zlib ]; enableParallelBuilding = true; postPatch = '' sed -e 's|"gzip"|"${gzip}/bin/gzip"|' \ -e 's|"bzip2"|"${bzip2.bin}/bin/bzip2"|' \ + -e 's|"lzip"|"${lzip}/bin/lzip"|' \ -e 's|"xz"|"${xz.bin}/bin/xz"|' \ + -e 's|"zstd"|"${zstd}/bin/zstd"|' \ -i ui-snapshot.c ''; @@ -25,19 +27,38 @@ in stdenv.mkDerivation rec { # # TODO(tazjin): Add an assert for this somewhere so we notice it on # channel bumps. - preBuild = '' - rm -rf git # remove submodule dir ... - cp -r --no-preserve=ownership,mode ${pkgs.srcOnly depot.third_party.git} git - makeFlagsArray+=(prefix="$out" CGIT_SCRIPT_PATH="$out/cgit/") - cat tvl-extra.css >> cgit.css + preBuild = + let + # we have to give cgit a git with dottime support to build + git' = pkgs.git.overrideAttrs (old: { + src = pkgs.fetchurl { + url = "https://github.com/git/git/archive/refs/tags/v2.44.2.tar.gz"; + hash = "sha256-3h0LBfAD4MXfZc0tjWQDO81UdbRo3w5C0W7j7rr9m9I="; + }; + patches = (old.patches or [ ]) ++ [ + ../git/0001-feat-third_party-git-date-add-dottime-format.patch + ]; + }); + in + '' + rm -rf git # remove submodule dir ... + cp -r --no-preserve=ownership,mode ${pkgs.srcOnly git'} git + makeFlagsArray+=(prefix="$out" CGIT_SCRIPT_PATH="$out/cgit/") + cat tvl-extra.css >> cgit.css + ''; + + stripDebugList = [ "cgit" ]; + + # We don't use the filters and they require wrapping to find their deps + postInstall = '' + rm -rf "$out/lib/cgit/filters" + find "$out" -type d -empty -delete ''; meta = { - homepage = https://git.zx2c4.com/cgit/about/; - repositories.git = git://git.zx2c4.com/cgit; - description = "Web frontend for git repositories"; + hompepage = "https://git.causal.agency/cgit-pink/"; + description = "cgit fork aiming for better maintenance"; license = lib.licenses.gpl2; platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ bjornfor ]; }; } |