summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--user/itstool/APKBUILD42
-rw-r--r--user/itstool/fix-segfault.patch25
2 files changed, 67 insertions, 0 deletions
diff --git a/user/itstool/APKBUILD b/user/itstool/APKBUILD
new file mode 100644
index 000000000..6d6b66814
--- /dev/null
+++ b/user/itstool/APKBUILD
@@ -0,0 +1,42 @@
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=itstool
+pkgver=2.0.4
+pkgrel=4
+pkgdesc="ITS-based XML translation tool"
+url="http://itstool.org/"
+arch="noarch"
+license="GPL-3.0+"
+depends="py3-libxml2 python3"
+subpackages="$pkgname-doc"
+source="http://files.itstool.org/itstool/$pkgname-$pkgver.tar.bz2
+ fix-segfault.patch"
+
+build() {
+ cd "$builddir"
+
+ PYTHON="/usr/bin/python3" ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+ # verify that the shebang is correct
+ chmod +x itstool
+ ./itstool
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="f5cfa9c75710f9cc43a61caeb92ca04ec77023bce6fb14d770dda82efde2e5d9050245618c249d309227a3d43555cb1739f5fe680b4a370786ed4631fa9ee4b7 itstool-2.0.4.tar.bz2
+eb426e7cc9f151154f47b93ef46d6fcfb5fa0982be3bf78863ebf5ea009a89de252a6c63dfb090d76003c47107ebb5d1ac2a7d1ef7db08defe19e32f996dbdbd fix-segfault.patch"
diff --git a/user/itstool/fix-segfault.patch b/user/itstool/fix-segfault.patch
new file mode 100644
index 000000000..047b691b7
--- /dev/null
+++ b/user/itstool/fix-segfault.patch
@@ -0,0 +1,25 @@
+From 1549b6d12eb2f35e5c7f1b1856c21768e92ba794 Mon Sep 17 00:00:00 2001
+From: Guido Trentalancia <guido@trentalancia.com>
+Date: Wed, 1 Nov 2017 18:23:44 +0100
+Subject: [PATCH] Fix a segmentation fault bug introduced with version 2.0.4.
+
+https://github.com/itstool/itstool/issues/17
+
+This fix seems a lot easier than the previous reverted commit.
+---
+ itstool.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/itstool.in b/itstool.in
+index c1d0585..e492e95 100755
+--- a/itstool.in
++++ b/itstool.in
+@@ -1048,7 +1048,7 @@ class Document (object):
+ else:
+ ctxt.replaceEntities(1)
+ ctxt.parseDocument()
+- trnode = ctxt.doc().getRootElement()
++ trnode = ctxt.doc().getRootElement().copyNode(1)
+ try:
+ self._check_errors()
+ except libxml2.parserError: