From 92857bef1f105647b7e834e69d9f980a81705622 Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Tue, 13 Feb 2018 18:59:17 +0000
Subject: libxslt: update to 1.1.32+3

---
 abs/core/libxslt/CVE-2011-1202.patch | 56 -----------------------------------
 abs/core/libxslt/PKGBUILD            | 57 +++++++++++++++++++++---------------
 2 files changed, 33 insertions(+), 80 deletions(-)
 delete mode 100644 abs/core/libxslt/CVE-2011-1202.patch

diff --git a/abs/core/libxslt/CVE-2011-1202.patch b/abs/core/libxslt/CVE-2011-1202.patch
deleted file mode 100644
index 61ea213..0000000
--- a/abs/core/libxslt/CVE-2011-1202.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From ecb6bcb8d1b7e44842edde3929f412d46b40c89f Mon Sep 17 00:00:00 2001
-From: Daniel Veillard <veillard@redhat.com>
-Date: Tue, 22 Feb 2011 02:14:23 +0000
-Subject: Fix generate-id() to not expose object addresses
-
-As pointed out by Chris Evans <scarybeasts@gmail.com> it's better
-security wise to not expose object addresses directly, use a diff
-w.r.t. the document root own address to avoid this
-* libxslt/functions.c: fix IDs generation code
----
-diff --git a/libxslt/functions.c b/libxslt/functions.c
-index 4720c7a..de962f4 100644
---- a/libxslt/functions.c
-+++ b/libxslt/functions.c
-@@ -654,8 +654,9 @@ xsltFormatNumberFunction(xmlXPathParserContextPtr ctxt, int nargs)
- void
- xsltGenerateIdFunction(xmlXPathParserContextPtr ctxt, int nargs){
-     xmlNodePtr cur = NULL;
--    unsigned long val;
--    xmlChar str[20];
-+    long val;
-+    xmlChar str[30];
-+    xmlDocPtr doc;
- 
-     if (nargs == 0) {
- 	cur = ctxt->context->node;
-@@ -694,9 +695,24 @@ xsltGenerateIdFunction(xmlXPathParserContextPtr ctxt, int nargs){
-      * Okay this is ugly but should work, use the NodePtr address
-      * to forge the ID
-      */
--    val = (unsigned long)((char *)cur - (char *)0);
--    val /= sizeof(xmlNode);
--    sprintf((char *)str, "id%ld", val);
-+    if (cur->type != XML_NAMESPACE_DECL)
-+        doc = cur->doc;
-+    else {
-+        xmlNsPtr ns = (xmlNsPtr) cur;
-+
-+        if (ns->context != NULL)
-+            doc = ns->context;
-+        else
-+            doc = ctxt->context->doc;
-+
-+    }
-+
-+    val = (long)((char *)cur - (char *)doc);
-+    if (val >= 0) {
-+      sprintf((char *)str, "idp%ld", val);
-+    } else {
-+      sprintf((char *)str, "idm%ld", -val);
-+    }
-     valuePush(ctxt, xmlXPathNewString(str));
- }
- 
---
-cgit v0.9.0.2
diff --git a/abs/core/libxslt/PKGBUILD b/abs/core/libxslt/PKGBUILD
index 7cdc5e9..3f8af1b 100644
--- a/abs/core/libxslt/PKGBUILD
+++ b/abs/core/libxslt/PKGBUILD
@@ -1,42 +1,51 @@
-# $Id: PKGBUILD 149384 2012-02-07 12:34:45Z jgc $
+# $Id$
 # Maintainer: Eric Belanger <eric@archlinux.org>
 # Contributor: John Proctor <jproctor@prium.net>
 
 pkgname=libxslt
-pkgver=1.1.26
-pkgrel=3
+pkgver=1.1.32+3+g32c8821
+pkgrel=1
 pkgdesc="XML stylesheet transformation library"
-arch=('i686' 'x86_64')
 url="http://xmlsoft.org/XSLT/"
-license=('custom')
-depends=('libxml2' 'libgcrypt')
-makedepends=('python2')
-checkdepends=('docbook-xml')
-options=('!libtool')
-source=(ftp://xmlsoft.org/libxslt/${pkgname}-${pkgver}.tar.gz
-        CVE-2011-1202.patch)
-md5sums=('e61d0364a30146aaa3001296f853b2b9'
-         'ce9744943575efaa6b5501668899b753')
+arch=(x86_64)
+license=(custom)
+depends=(libxml2 libgcrypt)
+makedepends=(python2 git)
+checkdepends=(docbook-xml python)
+_commit=32c88216ddbaa0f3491f45bc84ee89285c6a1129  # master
+source=("git+https://git.gnome.org/browse/libxslt#commit=$_commit")
+sha256sums=('SKIP')
+
+pkgver() {
+  cd $pkgname
+  git describe --tags | sed 's/^v//;s/-/+/g'
+}
+
+prepare() {
+  cd $pkgname
+
+  sed -e 's|/usr/bin/python -u|/usr/bin/python2 -u|g' \
+      -e 's|/usr/bin/python$|/usr/bin/python2|g' \
+      -i python/tests/*.py
+
+  NOCONFIGURE=1 ./autogen.sh
+}
 
 build() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
-  patch -Np1 -i "${srcdir}/CVE-2011-1202.patch"
-  sed -e 's|/usr/bin/python -u|/usr/bin/python2 -u|g' -e 's|/usr/bin/python$|/usr/bin/python2|g' -i python/tests/*.py
+  cd $pkgname
   ./configure --prefix=/usr --with-python=/usr/bin/python2
+  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
   make
 }
 
 check() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
+  cd $pkgname
   make check
 }
 
 package() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
-  make DESTDIR="${pkgdir}" install
-
-  install -d "${pkgdir}/usr/share/licenses/${pkgname}"
-  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
-
-  rm -f "${pkgdir}"/usr/lib/python*/site-packages/*.a
+  cd $pkgname
+  make DESTDIR="$pkgdir" install
+  install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+  find "$pkgdir" -name '*.a' -print -delete
 }
-- 
cgit v0.12

