Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib, stdenv, fetchgit, python3 }:
2
3stdenv.mkDerivation {
4 pname = "gnulib";
5 version = "20210702";
6
7 src = fetchgit {
8 url = "https://git.savannah.gnu.org/r/gnulib.git";
9 rev = "901694b904cd861adc2529b2e05a3fb33f9b534f";
10 sha256 = "1f5znlv2wjziglw9vlygdgm4jfbsz34h2dz6w4h90bl4hm0ycb1w";
11 };
12
13 postPatch = ''
14 patchShebangs gnulib-tool.py
15 '';
16
17 buildInputs = [ python3 ];
18
19 installPhase = ''
20 mkdir -p $out/bin
21 cp -r * $out/
22 ln -s $out/lib $out/include
23 ln -s $out/gnulib-tool $out/bin/
24 '';
25
26 # do not change headers to not update all vendored build files
27 dontFixup = true;
28
29 passthru = {
30 # This patch is used by multiple other packages (currently:
31 # gnused, gettext) which contain vendored copies of gnulib.
32 # Without it, compilation will fail with error messages about
33 # "__LDBL_REDIR1_DECL" or similar on platforms with longdouble
34 # redirects (currently powerpc64). Once all of those other
35 # packages make a release with a newer gnulib we can drop this
36 # patch.
37 longdouble-redirect-patch = ./gnulib-longdouble-redirect.patch;
38 };
39
40 meta = with lib; {
41 description = "Central location for code to be shared among GNU packages";
42 homepage = "https://www.gnu.org/software/gnulib/";
43 license = licenses.gpl3Plus;
44 mainProgram = "gnulib-tool";
45 platforms = platforms.unix;
46 };
47}