From ac6485efeb05404cd8ac675adf54caa65deb0786 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Sun, 12 Jan 2020 02:48:40 +0000 Subject: 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). --- third_party/cgit/.skip-subtree | 1 + third_party/cgit/default.nix | 37 +++++++++++++++++++++++++++++++++++++ third_party/default.nix | 3 +++ 3 files changed, 41 insertions(+) create mode 100644 third_party/cgit/.skip-subtree create mode 100644 third_party/cgit/default.nix (limited to 'third_party') 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; }; -- cgit 1.4.1