nixpkgs/pkgs/by-name/it/itstool/package.nix
2025-04-01 16:04:09 +02:00

65 lines
1.5 KiB
Nix

{
stdenv,
lib,
fetchurl,
fetchpatch,
python3,
autoreconfHook,
versionCheckHook,
}:
stdenv.mkDerivation rec {
pname = "itstool";
version = "2.0.7";
src = fetchurl {
url = "http://files.itstool.org/${pname}/${pname}-${version}.tar.bz2";
hash = "sha256-a5p80poSu5VZj1dQ6HY87niDahogf4W3TYsydbJ+h8o=";
};
patches = [
# https://github.com/itstool/itstool/pull/51
(fetchpatch {
name = "fix-insufficiently-quoted-regular-expressions-pr51";
url = "https://github.com/itstool/itstool/commit/19f9580f27aa261ea383b395fdef7e153f3f9e6d.patch";
hash = "sha256-5J4mRXQu24o2rqVtaXN/ETgj6A8R0Ym+YkZhqhZTzIc=";
})
];
strictDeps = true;
postPatch = ''
# Do not let autoconf find Python, but set it directly. This fixes cross-compilation.
substituteInPlace configure.ac \
--replace-fail 'AM_PATH_PYTHON([2.6])' "" \
--replace-fail 'AC_MSG_ERROR(Python module $py_module is needed to run this package)' ""
substituteInPlace itstool.in \
--replace-fail "@PYTHON@" "${python3.interpreter}"
'';
nativeBuildInputs = [
autoreconfHook
python3.pkgs.wrapPython
];
pythonPath = [
python3.pkgs.libxml2
];
postFixup = ''
wrapPythonPrograms
'';
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
meta = {
homepage = "https://itstool.org/";
description = "XML to PO and back again";
mainProgram = "itstool";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.all;
maintainers = [ ];
};
}