core/pkgs/by-name/gn/gnulib/default.nix
2024-06-30 09:12:46 +01:00

54 lines
1.4 KiB
Nix

{
lib,
stdenv,
fetchFromSavannah,
python3,
}:
stdenv.mkDerivation rec {
pname = "gnulib";
version = "20231109";
src = fetchFromSavannah {
repo = "gnulib";
rev = "2dd1a7984c6b3e6056cef7e3f9933e0039c21634";
hash = "sha256-QtWf3mljEnr0TTogkoKN63Y5HTm14A2e/sIXX3xe2SE=";
};
postPatch = ''
patchShebangs gnulib-tool.py
'';
buildInputs = [ python3 ];
installPhase = ''
mkdir -p $out/bin
cp -r * $out/
ln -s $out/lib $out/include
ln -s $out/gnulib-tool $out/bin/
'';
# do not change headers to not update all vendored build files
dontFixup = true;
passthru = {
# This patch is used by multiple other packages (currently:
# gnused, gettext) which contain vendored copies of gnulib.
# Without it, compilation will fail with error messages about
# "__LDBL_REDIR1_DECL" or similar on platforms with longdouble
# redirects (currently powerpc64). Once all of those other
# packages make a release with a newer gnulib we can drop this
# patch.
longdouble-redirect-patch = ./gnulib-longdouble-redirect.patch;
};
meta = with lib; {
description = "Central location for code to be shared among GNU packages";
homepage = "https://www.gnu.org/software/gnulib/";
changelog = "https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=ChangeLog";
license = licenses.gpl3Plus;
mainProgram = "gnulib-tool";
platforms = platforms.unix;
};
}