0c999c7521
To get python3 support. #63174 flipped itstool to python3, but itstool doesn't support python3 until 2.0.3 (and perhaps does not support it well until 2.0.5). Pressing forward instead of rolling back at worldofpeace's suggestion, who mentions that other distros seem to be able to ship recent versions of itstool. Tensions in this space seem two-fold. One set centers around libxml2 being a low-level C library with sharp edges, manual memory management, and performance concerns; the python libxml2 wrapper being quite thin (the most dubious character in this drama); and python's sentiment that it ought to be quite hard to crash the interpreter casually. This comes to a head in https://gitlab.gnome.org/GNOME/libxml2/issues/12 , where a use-after-free problem in idiomatic-looking python code is declared working-as-designed. The other set is around python3 being more UTF-8-aware than libxml2's python wrapper, such as https://bugzilla.gnome.org/show_bug.cgi?id=789714 and https://src.fedoraproject.org/rpms/libxml2/blob/master/f/libxml2-2.9.8-python3-unicode-errors.patch itstool is caught in this crossfire merely for being a widely-used python program that uses XML.
21 lines
521 B
Nix
21 lines
521 B
Nix
{ stdenv, fetchurl, python3 }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "itstool-2.0.6";
|
|
|
|
src = fetchurl {
|
|
url = "http://files.itstool.org/itstool/${name}.tar.bz2";
|
|
sha256 = "1acjgf8zlyk7qckdk19iqaca4jcmywd7vxjbcs1mm6kaf8icqcv2";
|
|
};
|
|
|
|
buildInputs = [ (python3.withPackages(ps: with ps; [ libxml2 ])) ];
|
|
|
|
meta = {
|
|
homepage = http://itstool.org/;
|
|
description = "XML to PO and back again";
|
|
license = stdenv.lib.licenses.gpl3Plus;
|
|
platforms = stdenv.lib.platforms.all;
|
|
maintainers = [ ];
|
|
};
|
|
}
|