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 bashInteractive
bat bat
buildGoPackage buildGoPackage
bzip2
cacert cacert
cachix cachix
cargo cargo
@ -54,6 +55,7 @@ let
lib lib
lispPackages lispPackages
llvmPackages llvmPackages
luajit
luatex luatex
makeFontsConf makeFontsConf
makeWrapper makeWrapper
@ -91,6 +93,7 @@ let
writeShellScriptBin writeShellScriptBin
writeText writeText
writeTextFile writeTextFile
xz
zlib zlib
zstd; zstd;
}; };