nixpkgs/pkgs/development/tools/misc/itstool/default.nix
Chuck 0c999c7521 itstool: 2.0.2 -> 2.0.6
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.
2019-10-30 17:32:15 -07:00

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 = [ ];
};
}