From e523ec195cd31c7dbc2da92150ebb03b3f677b6e Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Wed, 21 Jan 2026 17:12:37 +0100 Subject: [PATCH 1/2] cgit-pink: remove Unmaintained upstream, and no longer builds. Closes: https://github.com/NixOS/nixpkgs/pull/482335 --- .../version-management/cgit/common.nix | 127 ------------------ .../version-management/cgit/default.nix | 116 ++++++++++++++-- .../version-management/cgit/pink.nix | 27 ---- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 2 - 5 files changed, 109 insertions(+), 164 deletions(-) delete mode 100644 pkgs/applications/version-management/cgit/common.nix delete mode 100644 pkgs/applications/version-management/cgit/pink.nix diff --git a/pkgs/applications/version-management/cgit/common.nix b/pkgs/applications/version-management/cgit/common.nix deleted file mode 100644 index ccd202fa3fe3..000000000000 --- a/pkgs/applications/version-management/cgit/common.nix +++ /dev/null @@ -1,127 +0,0 @@ -{ - pname, - version, - src, - gitSrc, - buildInputs ? [ ], - homepage, - description, - maintainers, - passthru ? { }, -}: - -{ - lib, - stdenv, - openssl, - zlib, - asciidoc, - libxml2, - libxslt, - docbook_xsl, - pkg-config, - coreutils, - gnused, - groff, - docutils, - gzip, - bzip2, - lzip, - xz, - zstd, - python3Packages, -}: - -stdenv.mkDerivation { - inherit - pname - version - src - gitSrc - passthru - ; - - separateDebugInfo = true; - - nativeBuildInputs = [ - pkg-config - asciidoc - ] - ++ (with python3Packages; [ - python - wrapPython - ]); - buildInputs = buildInputs ++ [ - openssl - zlib - libxml2 - libxslt - docbook_xsl - ]; - pythonPath = with python3Packages; [ - pygments - markdown - ]; - - 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 - - substituteInPlace filters/html-converters/man2html \ - --replace 'groff' '${groff}/bin/groff' - - substituteInPlace filters/html-converters/rst2html \ - --replace 'rst2html.py' '${docutils}/bin/rst2html.py' - ''; - - # Give cgit a git source tree and pass configuration parameters (as make - # variables). - preBuild = '' - mkdir -p git - tar --strip-components=1 -xf "$gitSrc" -C git - ''; - - makeFlags = [ - "prefix=$(out)" - "CGIT_SCRIPT_PATH=$(out)/cgit/" - "CC=${stdenv.cc.targetPrefix}cc" - "AR=${stdenv.cc.targetPrefix}ar" - ]; - - # Install manpage. - postInstall = '' - # xmllint fails: - #make install-man - - # bypassing xmllint works: - a2x --no-xmllint -f manpage cgitrc.5.txt - mkdir -p "$out/share/man/man5" - cp cgitrc.5 "$out/share/man/man5" - - wrapPythonProgramsIn "$out/lib/cgit/filters" "$out $pythonPath" - - for script in $out/lib/cgit/filters/*.sh $out/lib/cgit/filters/html-converters/txt2html; do - wrapProgram $script --prefix PATH : '${ - lib.makeBinPath [ - coreutils - gnused - ] - }' - done - ''; - - stripDebugList = [ "cgit" ]; - - enableParallelBuilding = true; - - meta = { - inherit homepage description; - license = lib.licenses.gpl2; - platforms = lib.platforms.linux; - maintainers = maintainers ++ (with lib.maintainers; [ qyliss ]); - }; -} diff --git a/pkgs/applications/version-management/cgit/default.nix b/pkgs/applications/version-management/cgit/default.nix index 9fcd94ccf5e1..0a19bc2590c3 100644 --- a/pkgs/applications/version-management/cgit/default.nix +++ b/pkgs/applications/version-management/cgit/default.nix @@ -1,17 +1,34 @@ { lib, + stdenv, fetchurl, - callPackage, + openssl, + zlib, + asciidoc, + libxml2, + libxslt, luajit, + docbook_xsl, + pkg-config, + coreutils, + gnused, + groff, + docutils, + gzip, + bzip2, + lzip, + xz, + zstd, + python3Packages, nixosTests, }: -callPackage (import ./common.nix rec { +stdenv.mkDerivation { pname = "cgit"; version = "1.2.3"; src = fetchurl { - url = "https://git.zx2c4.com/cgit/snapshot/${pname}-${version}.tar.xz"; + url = "https://git.zx2c4.com/cgit/snapshot/cgit-1.2.3.tar.xz"; sha256 = "193d990ym10qlslk0p8mjwp2j6rhqa7fq0y1iff65lvbyv914pss"; }; @@ -23,11 +40,94 @@ callPackage (import ./common.nix rec { sha256 = "09lzwa183nblr6l8ib35g2xrjf9wm9yhk3szfvyzkwivdv69c9r2"; }; - buildInputs = [ luajit ]; + separateDebugInfo = true; + + nativeBuildInputs = [ + pkg-config + asciidoc + ] + ++ (with python3Packages; [ + python + wrapPython + ]); + buildInputs = [ + openssl + zlib + libxml2 + libxslt + luajit + docbook_xsl + ]; + pythonPath = with python3Packages; [ + pygments + markdown + ]; + + 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 + + substituteInPlace filters/html-converters/man2html \ + --replace 'groff' '${groff}/bin/groff' + + substituteInPlace filters/html-converters/rst2html \ + --replace 'rst2html.py' '${docutils}/bin/rst2html.py' + ''; + + # Give cgit a git source tree and pass configuration parameters (as make + # variables). + preBuild = '' + mkdir -p git + tar --strip-components=1 -xf "$gitSrc" -C git + ''; + + makeFlags = [ + "prefix=$(out)" + "CGIT_SCRIPT_PATH=$(out)/cgit/" + "CC=${stdenv.cc.targetPrefix}cc" + "AR=${stdenv.cc.targetPrefix}ar" + ]; + + # Install manpage. + postInstall = '' + # xmllint fails: + #make install-man + + # bypassing xmllint works: + a2x --no-xmllint -f manpage cgitrc.5.txt + mkdir -p "$out/share/man/man5" + cp cgitrc.5 "$out/share/man/man5" + + wrapPythonProgramsIn "$out/lib/cgit/filters" "$out $pythonPath" + + for script in $out/lib/cgit/filters/*.sh $out/lib/cgit/filters/html-converters/txt2html; do + wrapProgram $script --prefix PATH : '${ + lib.makeBinPath [ + coreutils + gnused + ] + }' + done + ''; + + stripDebugList = [ "cgit" ]; + + enableParallelBuilding = true; passthru.tests = { inherit (nixosTests) cgit; }; - homepage = "https://git.zx2c4.com/cgit/about/"; - description = "Web frontend for git repositories"; - maintainers = with lib.maintainers; [ bjornfor ]; -}) { } + meta = { + homepage = "https://git.zx2c4.com/cgit/about/"; + description = "Web frontend for git repositories"; + license = lib.licenses.gpl2; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ + bjornfor + qyliss + ]; + }; +} diff --git a/pkgs/applications/version-management/cgit/pink.nix b/pkgs/applications/version-management/cgit/pink.nix deleted file mode 100644 index 3ff143326027..000000000000 --- a/pkgs/applications/version-management/cgit/pink.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ - lib, - fetchurl, - callPackage, -}: - -callPackage (import ./common.nix rec { - pname = "cgit-pink"; - version = "1.4.1"; - - src = fetchurl { - url = "https://git.causal.agency/cgit-pink/snapshot/cgit-pink-${version}.tar.gz"; - sha256 = "1ma6j3r4ba5fhd47pc6xn5bmxaqr8ci2pvky9v100n1hh5n6q97i"; - }; - - # cgit-pink is tightly coupled with git and needs a git source tree to build. - # IMPORTANT: Remember to check which git version cgit-pink needs on every - # version bump (look for "GIT_VER" in the top-level Makefile). - gitSrc = fetchurl { - url = "mirror://kernel/software/scm/git/git-2.36.1.tar.xz"; - sha256 = "0w43a35mhc2qf2gjkxjlnkf2lq8g0snf34iy5gqx2678yq7llpa0"; - }; - - homepage = "https://git.causal.agency/cgit-pink/about/"; - description = "cgit fork aiming for better maintenance"; - maintainers = with lib.maintainers; [ sternenseemann ]; -}) { } diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 479af8a8f89e..5e6e1ed2a82a 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -414,6 +414,7 @@ mapAliases { cereal_1_3_0 = throw "cereal_1_3_0 has been removed as it was unused; use cereal intsead"; # Added 2025-09-12 cereal_1_3_2 = throw "cereal_1_3_2 is now the only version and has been renamed to cereal"; # Added 2025-09-12 certmgr-selfsigned = throw "'certmgr-selfsigned' has been renamed to/replaced by 'certmgr'"; # Converted to throw 2025-10-27 + cgit-pink = throw "cgit-pink has been removed, as it is unmaintained upstream"; # Added 2026-01-21 challenger = throw "'challenger' has been renamed to/replaced by 'taler-challenger'"; # Converted to throw 2025-10-27 charmcraft = throw "charmcraft was removed in Sep 25 following removal of LXD from nixpkgs"; # Added 2025-09-18 charybdis = throw "charybdis was removed since its upstream repo was archived in 2021"; # Added 2026-01-13 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b206b71e3373..5a9ccbd2baf1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1154,8 +1154,6 @@ with pkgs; cgit = callPackage ../applications/version-management/cgit { }; - cgit-pink = callPackage ../applications/version-management/cgit/pink.nix { }; - datalad = with python3Packages; toPythonApplication datalad; datalad-gooey = with python3Packages; toPythonApplication datalad-gooey; From 107e1875e0b1ac6dc96179e594c026b34be19750 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Thu, 22 Jan 2026 11:44:07 +0100 Subject: [PATCH 2/2] cgit: add sternenseemann as maintainer --- pkgs/applications/version-management/cgit/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/version-management/cgit/default.nix b/pkgs/applications/version-management/cgit/default.nix index 0a19bc2590c3..06b801a9dcbf 100644 --- a/pkgs/applications/version-management/cgit/default.nix +++ b/pkgs/applications/version-management/cgit/default.nix @@ -128,6 +128,7 @@ stdenv.mkDerivation { maintainers = with lib.maintainers; [ bjornfor qyliss + sternenseemann ]; }; }