feat(third_party/cgit): Add derivation to build cgit

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).
This commit is contained in:
Vincent Ambo 2020-01-12 02:48:40 +00:00
parent 93cc05d363
commit ac6485efeb
3 changed files with 41 additions and 0 deletions

1
third_party/cgit/.skip-subtree vendored Normal file
View file

@ -0,0 +1 @@
Subtrees of this directory belong to cgit (third-party).

37
third_party/cgit/default.nix vendored Normal file
View file

@ -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 ];
};
}

View file

@ -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;
};