summaryrefslogtreecommitdiffstats
path: root/arch/tde-deps
diff options
context:
space:
mode:
Diffstat (limited to 'arch/tde-deps')
-rw-r--r--arch/tde-deps/exempi/PKGBUILD34
-rw-r--r--arch/tde-deps/exempi/keys/pgp/6C44DB3E0BF3EAF5B433239A5FEE05E6A56E15A3.asc57
-rw-r--r--arch/tde-deps/gdk-pixbuf-xlib/PKGBUILD42
-rw-r--r--arch/tde-deps/gnokii/.SRCINFO36
-rw-r--r--arch/tde-deps/gnokii/PKGBUILD79
-rw-r--r--arch/tde-deps/gnokii/gnokii-config.patch12
-rw-r--r--arch/tde-deps/gnokii/gnokii-gcc5.patch27
-rw-r--r--arch/tde-deps/gnokii/gnokii-gcc7.patch13
-rw-r--r--arch/tde-deps/gnokii/gnokii-lock.patch15
-rw-r--r--arch/tde-deps/gnokii/gnokii.install3
-rw-r--r--arch/tde-deps/htdig/.SRCINFO18
-rw-r--r--arch/tde-deps/htdig/CVE-2007-6110.patch26
-rw-r--r--arch/tde-deps/htdig/PKGBUILD53
-rw-r--r--arch/tde-deps/htdig/gcc4.3.patch15
-rw-r--r--arch/tde-deps/imlib/CAN-2004-1026.patch510
-rw-r--r--arch/tde-deps/imlib/PKGBUILD48
-rw-r--r--arch/tde-deps/imlib/aclocal-fixes.patch20
-rw-r--r--arch/tde-deps/imlib/debian-bug448360.patch92
-rw-r--r--arch/tde-deps/imlib/imlib-1.9.15-libpng15.patch142
-rw-r--r--arch/tde-deps/imlib/imlib-giflib51.patch126
-rw-r--r--arch/tde-deps/imlib/imlib-gtk.patch14
-rw-r--r--arch/tde-deps/lcms/.SRCINFO21
-rw-r--r--arch/tde-deps/lcms/PKGBUILD59
-rw-r--r--arch/tde-deps/lcms/cve-2013-4276.patch62
-rw-r--r--arch/tde-deps/libofx/PKGBUILD43
-rw-r--r--arch/tde-deps/libxml++2.6/PKGBUILD55
-rw-r--r--arch/tde-deps/opensc/PKGBUILD52
-rw-r--r--arch/tde-deps/perl-config-autoconf/PKGBUILD39
-rw-r--r--arch/tde-deps/perl-extutils-libbuilder/PKGBUILD34
-rw-r--r--arch/tde-deps/perl-file-slurper/PKGBUILD36
-rw-r--r--arch/tde-deps/perl-text-bibtex/PKGBUILD46
-rw-r--r--arch/tde-deps/pod2man/.SRCINFO12
-rw-r--r--arch/tde-deps/pod2man/.gitignore6
-rw-r--r--arch/tde-deps/pod2man/PKGBUILD22
-rwxr-xr-xarch/tde-deps/pod2man/pkgsum.sh15
-rwxr-xr-xarch/tde-deps/pod2man/update.sh29
-rw-r--r--arch/tde-deps/sword/PKGBUILD52
-rw-r--r--arch/tde-deps/tor/PKGBUILD69
-rw-r--r--arch/tde-deps/tor/keys/pgp/1C1BC007A9F607AA8152C040BEA7B180B1491921.asc43
-rw-r--r--arch/tde-deps/tor/keys/pgp/2133BC600AB133E1D826D173FE43009C4607B1FB.asc123
-rw-r--r--arch/tde-deps/tor/keys/pgp/B74417EDDF22AC9F9E90F49142E86A2A11F48D36.asc51
-rw-r--r--arch/tde-deps/tor/tor.service35
-rw-r--r--arch/tde-deps/tor/tor.sysusers1
-rw-r--r--arch/tde-deps/tor/tor.tmpfiles1
-rw-r--r--arch/tde-deps/tor/torrc.patch28
-rw-r--r--arch/tde-deps/torsocks/PKGBUILD33
-rw-r--r--arch/tde-deps/torsocks/keys/pgp/B74417EDDF22AC9F9E90F49142E86A2A11F48D36.asc66
-rw-r--r--arch/tde-deps/xine-lib/010-xine-lib-dav1d-1.0.0-support.patch28
-rw-r--r--arch/tde-deps/xine-lib/020-xine-lib-ffmpeg-5.1-fix.patch330
-rw-r--r--arch/tde-deps/xine-lib/PKGBUILD63
-rw-r--r--arch/tde-deps/xscreensaver/LICENSE10
-rw-r--r--arch/tde-deps/xscreensaver/PKGBUILD55
-rw-r--r--arch/tde-deps/yaz/PKGBUILD35
-rw-r--r--arch/tde-deps/yaz/yaz.changelog104
54 files changed, 3040 insertions, 0 deletions
diff --git a/arch/tde-deps/exempi/PKGBUILD b/arch/tde-deps/exempi/PKGBUILD
new file mode 100644
index 000000000..024495fa7
--- /dev/null
+++ b/arch/tde-deps/exempi/PKGBUILD
@@ -0,0 +1,34 @@
+# Maintainer:
+# Contributor: Jan de Groot <jgc@archlinux.org>
+# Contributor: André Klitzing <aklitzing@online.de>
+
+pkgname=exempi
+pkgver=2.6.3
+pkgrel=1
+pkgdesc="A library to parse XMP metadata"
+url="https://libopenraw.freedesktop.org/wiki/Exempi"
+arch=('powerpc64le')
+license=(custom:BSD)
+depends=(gcc-libs expat zlib)
+makedepends=(boost)
+source=(https://libopenraw.freedesktop.org/download/$pkgname-$pkgver.tar.bz2{,.asc})
+sha256sums=('b0749db18a9e78cf771737954a838cdcdb1d5415888bac1ba9caf8cba77c656c'
+ 'SKIP')
+validpgpkeys=('6C44DB3E0BF3EAF5B433239A5FEE05E6A56E15A3') # Hubert Figuiere
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr # --disable-static
+ make
+}
+
+check() {
+ cd $pkgname-$pkgver
+ make check
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/arch/tde-deps/exempi/keys/pgp/6C44DB3E0BF3EAF5B433239A5FEE05E6A56E15A3.asc b/arch/tde-deps/exempi/keys/pgp/6C44DB3E0BF3EAF5B433239A5FEE05E6A56E15A3.asc
new file mode 100644
index 000000000..1047c5f60
--- /dev/null
+++ b/arch/tde-deps/exempi/keys/pgp/6C44DB3E0BF3EAF5B433239A5FEE05E6A56E15A3.asc
@@ -0,0 +1,57 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQGiBDxX1cwRBACiWIxtbJpfhLT7kr6vNqO1+wleNmfIv3U1WB3NyezdQCUTGA9Y
+k5+vzNqVt+ljpgdk+i1wtvrPg4EC94KH8HErOci9eYGjYI37FjQ2LXC9SIOex/7e
+6swnHE3225WVya6k7kPVlG2P8zssAntOtl+k/HWdMYpnGsCQkkUkbW4dYwCg7eoX
+R24Y4P6Nns9+91kxjynhgqMEAI39E2qAYhYR/B9yS7fuSjwcxaG2M49wtB/S196G
+gnnRCEd9OofJNtprJqggG9DntjpstCvEgOjc5xqy0GWE/dt7BJOpYK7SgX6GhR31
+Hdw7q3OL+QWAu6rcLVVgvJoLVYQupmwRdw+JN7UTauE9tQOBbq1M750b+Awx34gk
+32d1A/447Eadc07Vx6gr6Jd2+jwqRLlPuYkJJgy7+MqKu5p+ZE1eXvNINX6NCuwP
+p9HmxsAj7S89nDzsElmwc3tJ+rDH06UlSRV4zfmA9B9/b/6iNyXH3Mq4dwyB+FA6
+4pUCiMBxB7KD0w+BxdjBt1jxv+v2HYDaxuHngYPHA8qdMyZimLQcSHViZXJ0IEZp
+Z3VpZXJlIDxodWJAbml0LmNhPohdBDARAgAdBQJDZWtnFh0gbm8gbG9uZ2VyIHdv
+cmsgdGhlcmUACgkQX+4F5qVuFaN/2gCg13PZNNkc31hUGtp74+nZLzmJRmoAoLrc
+MyS1A776BQQ9zr3wIKWe4JOYtCFIdWJlcnQgRmlndWllcmUgPGh1YkBtb3ppbGxh
+LmNvbT6ISQQwEQIACQUCVyQHTwIdAAAKCRBf7gXmpW4Voz7GAJ4q0P26aIzQ9tim
+xYnV183N503glACfXYzEuA9UE3U3Vx7eBev+eMNDUIq0Ikh1YmVydCBGaWd1aWVy
+ZSA8aHViQGZpZ3VpZXJlLm5ldD6IYQQTEQIAIQIbAwYLCQgHAwIDFQIDAxYCAQIe
+AQIXgAUCQ2RUHwIZAQAKCRBf7gXmpW4VoxLBAJ9HlmDe+IYWvtWnamfCWWDDLNTm
+5ACfeiTUKw0oqVtz1M/RyJRlmKNR+jC0I0h1YmVydCBGaWd1aWVyZSA8aHViQGFi
+aXNvdXJjZS5jb20+iFwEExECABwFAj1GRV4CGwMECwcDAgMVAgMDFgIBAh4BAheA
+AAoJEF/uBealbhWjPtMAnjKhBx2VAv92QS3R/qyT1/2UNydqAKDLRdgmly0gScjP
+XWr0Hb5sG0JgELQlSHViZXJ0IEZpZ3VpZXJlIDxoZmlndWllcmVAdGVhc2VyLmZy
+PohXBBMRAgAXBQsHCgMEAxUDAgMWAgECF4AFAkNkVB0ACgkQX+4F5qVuFaPLmgCg
+4DiauGlk8Zh8JQjXmtpzUQdeqlcAnRTURi/256Sp2kEH0bGMvbt+QqEbtCZIdWJl
+cnQgRmlndWllcmUgPGhmaWd1aWVyZUBub3ZlbGwuY29tPohJBDARAgAJBQJJkxa+
+Ah0AAAoJEF/uBealbhWjx2EAoMBI/QIBYIGbFy0rgy9x9jide7cJAKCiVRrv3k2x
+dpphC2pBZPJlC6/rIrQvSHViZXJ0IEZpZ3VpZXJlIChYYW5kcm9zKSA8aHViZXJ0
+ZkB4YW5kcm9zLmNvbT6IWAQwEQIAGAUCRdopPREdIG5vIGxvbmdlciB0aGVyZQAK
+CRBf7gXmpW4Vo9mYAJ4i2gZJRGLprEAHYFtt/SRrvfluUQCg0p589AlRSn0IjDdo
+pt4iZevEdpO5Ag0EPFfWVhAIAIgTH5pVq+L6k1S0askR+Xvh7D66GGXGnzkg+ZVu
+Qo8xxQn/VoRe2imHn2R6bRQtzGKj6GfVKikzTnGNectYZsIhxrwJa2iw9daf8PoW
+iyZfJ6dHRO8C82brQVXCWm4BF7T06wKUcrbyRJqvphBAXA8jYphLX+aMCTQAXaFl
+CPotnSmF6WeJzH7GHvrENcWio9/MTD1dyMeB0XhCRtL5gqlPQlgAWD8J/W6uyz3U
+B+83q9Ud5cbDh9oF/Fga5ct0XbtkBrQ0GLdgkLKKB99V3Ktj3m8CzBYcdhiuBBNL
+U0GzSoGFJDSLmrpR7o5SpAp3OPhN4o5dfkK/K1L7ok2HAAsAAwUH/iKGQqMdTAWb
++k4pyh3118gG198oC2Uxkqb+PS8Q3/uIYUSfw67EmPuKD/gQllyfIDwd72xxjkca
+LpR7aWY9WRfZP8K0rterqo9udf2H4dVpBUft9eTiR7yCwUNXqqmQUc1cPQ8H0t2e
+n2rDTggTNlnCAUhNOLY/4f/MgddmKYtHat33hf25cQs+cXUvA8ET+oiJorVuipOO
+8qZfjJ00hcG4RLS6ZtLvA2dhYgki1tRS+kp8sXhODBHfQ7hL6NbynK+YHpAXHPa3
+QTXdRCXEL5AJwaf4PJDtXBbgW0B8o09hnOabYmc/lqBDJDx5D4RJYIoSmk9U7912
+b2GX+pfbXWOIRgQYEQIABgUCPFfWVgAKCRBf7gXmpW4Voy4DAJ9q0gfW1TLZy5Cz
+NWEwYzwDkP77kgCfYkkkT82tlt1Fb8Hx4yog30pgtQa5Ag0EQzDo+RAIAJMjbbIn
+YPrxe9SAtVPGFTfp6Gwtq2qh1/DljXTnEYwtsRAscSaudNZ1l1v/OaH8ytsY5CyR
+VgdkdtZFGB/fU5Ny5N0BaKyCZJfHzM37S9bTWJ5/X8U4Q7AF/6LuYnmcFK2pZ/xT
+nFzwwQ7BRss7oucSVlEulxcvK2OspPW86otIpmxwiP7EUjql+F2nw6bRYcqeb74K
+FFV13sK4JT/MlqUlIvd9EpUiCEO0u5WIJX22yRpo7CA42fIAnAhE5bY9Qp1Yq0Wj
+jSYNepYEaSnLLi29lyOpN3t1X/Iu/r6BlB/XJMfPyOESp2+0zUGItbtYDVqIzdic
+PCXH3mlQTmjkl9cABA0H/Rn97LK9h3rieL33h1Fwkyqo9+RoQdWuadc2qLoF4GNC
+oGFMv884AyLqj1QowZFCtNBHMyS43UrKzNXyVod2W4HvZF7f9z5FoTmDq5Q4V2Kf
+r2ikhEeWl2cKhZWXQbZqUlbtFHT42TBMAy/sV11hhdsDPUV0A37LC0L9Dzf7hu1Q
+j5jsaDKV0szqp9iKX4euVutsP1DJjSR5NIzHPwZjSzv1QiCLTuPj8N3J8t5NgaiQ
+NyjbPUwqZR37CgJI0jTAt+5rkpxI5oiWZxt9yA2hzG0XyZPsMkBeZbW9g2j8iPaI
+MiDZZ305uZuCF399OXZtDTH5Um4RWZXdQU2OXhzt16eISQQYEQIACQUCQzDo+QIb
+DAAKCRBf7gXmpW4Vo3T4AJ0RI/Q8oljgVs4/X8vaWpgO/fzsTACfZnN2yido4De5
+jrl6dHnS+kzEsSI=
+=S3zp
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/arch/tde-deps/gdk-pixbuf-xlib/PKGBUILD b/arch/tde-deps/gdk-pixbuf-xlib/PKGBUILD
new file mode 100644
index 000000000..f429c1492
--- /dev/null
+++ b/arch/tde-deps/gdk-pixbuf-xlib/PKGBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+
+pkgname=gdk-pixbuf-xlib
+pkgver=2.40.2
+pkgrel=2
+pkgdesc="Deprecated Xlib integration for GdkPixbuf"
+arch=('powerpc64le')
+url="https://gitlab.gnome.org/Archive/gdk-pixbuf-xlib"
+license=(LGPL2.1)
+depends=(gdk-pixbuf2 libx11)
+makedepends=(gtk-doc git meson)
+options=(debug)
+_commit=c142b818801e0affceea4a2139cf5630a283e54e # tags/2.40.2^0
+source=("git+$url.git#commit=$_commit")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd $pkgname
+ git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g'
+}
+
+prepare() {
+ cd $pkgname
+}
+
+build() {
+ arch-meson $pkgname build -D gtk_doc=true
+ meson compile -C build
+}
+
+check() {
+ meson test -C build --print-errorlogs
+}
+
+package() {
+ depends+=(libgdk_pixbuf-2.0.so)
+ provides+=(libgdk_pixbuf_xlib-2.0.so)
+
+ meson install -C build --destdir "$pkgdir"
+}
+
+# vim:set sw=2 sts=-1 et:
diff --git a/arch/tde-deps/gnokii/.SRCINFO b/arch/tde-deps/gnokii/.SRCINFO
new file mode 100644
index 000000000..a3ba54279
--- /dev/null
+++ b/arch/tde-deps/gnokii/.SRCINFO
@@ -0,0 +1,36 @@
+pkgbase = gnokii
+ pkgdesc = Tools and user space driver for use with mobile phones
+ pkgver = 0.6.31
+ pkgrel = 19
+ url = https://www.gnokii.org/
+ install = gnokii.install
+ arch = x86_64
+ license = GPL
+ makedepends = gtk2
+ makedepends = mariadb-libs
+ makedepends = postgresql-libs
+ makedepends = intltool
+ depends = libusb-compat
+ depends = libxpm
+ depends = bluez-libs
+ depends = libical
+ depends = sqlite
+ depends = systemd
+ optdepends = dialog: sendsms tool
+ optdepends = gtk2: xgnokii GUI
+ optdepends = mariadb-libs: smsd mysql backend
+ optdepends = postgresql-libs: smsd postgresql backend
+ backup = etc/gnokiirc
+ source = https://www.gnokii.org/download/gnokii/gnokii-0.6.31.tar.bz2
+ source = gnokii-config.patch
+ source = gnokii-lock.patch
+ source = gnokii-gcc5.patch
+ source = gnokii-gcc7.patch
+ sha256sums = 8f5a083b05c1a66a3402ca5cd80084e14c2c0632c991bb53b03c78e9adb02501
+ sha256sums = 4c795f0b80b3703a2813adb32399b42080a01670619c1db63ab094494cb6f329
+ sha256sums = e0584a44268e9055b43f1673d7db828f45294c5108635ebd5f664e12703f108b
+ sha256sums = eafe67990e383e92636a88de27f003674374db81d986ddbb397ab18d82b6556d
+ sha256sums = a5db8684216904bd2a2cd8a557dcc16484831b9bc2ec91a0b102b14c3bfe9245
+
+pkgname = gnokii
+
diff --git a/arch/tde-deps/gnokii/PKGBUILD b/arch/tde-deps/gnokii/PKGBUILD
new file mode 100644
index 000000000..76bb50958
--- /dev/null
+++ b/arch/tde-deps/gnokii/PKGBUILD
@@ -0,0 +1,79 @@
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+# Contributor: Aurelien Foret <orelien@chez.com>
+
+pkgname=gnokii
+pkgver=0.6.31
+pkgrel=19.1
+pkgdesc='Tools and user space driver for use with mobile phones'
+arch=('i686' 'x86_64' 'aarch64' 'armv7h' 'powerpc64le')
+url='https://www.gnokii.org/'
+license=('GPL')
+depends=('libusb-compat' 'libxpm' 'bluez-libs' 'libical' 'sqlite' 'systemd')
+makedepends=('gtk2' 'mariadb-libs' 'postgresql-libs' 'intltool')
+optdepends=('dialog: sendsms tool'
+ 'gtk2: xgnokii GUI'
+ 'mariadb-libs: smsd mysql backend'
+ 'postgresql-libs: smsd postgresql backend')
+backup=('etc/gnokiirc')
+install=$pkgname.install
+source=("https://www.gnokii.org/download/$pkgname/$pkgname-$pkgver.tar.bz2"
+ 'gnokii-config.patch'
+ 'gnokii-lock.patch'
+ 'gnokii-gcc5.patch'
+ 'gnokii-gcc7.patch')
+sha256sums=('8f5a083b05c1a66a3402ca5cd80084e14c2c0632c991bb53b03c78e9adb02501'
+ '4c795f0b80b3703a2813adb32399b42080a01670619c1db63ab094494cb6f329'
+ 'e0584a44268e9055b43f1673d7db828f45294c5108635ebd5f664e12703f108b'
+ 'eafe67990e383e92636a88de27f003674374db81d986ddbb397ab18d82b6556d'
+ 'a5db8684216904bd2a2cd8a557dcc16484831b9bc2ec91a0b102b14c3bfe9245')
+
+prepare() {
+ cd $pkgname-$pkgver
+
+ # Set bindir location
+ patch -Np1 -i ../gnokii-config.patch
+
+ # Set lock path
+ patch -Np1 -i ../gnokii-lock.patch
+
+ # Fix build with GCC 5 (Fedora patch)
+ patch -Np1 -i ../gnokii-gcc5.patch
+
+ # Fix build with GCC 7
+ patch -Np1 -i ../gnokii-gcc7.patch
+
+ # Update automake build system
+ cp -a /usr/share/libtool/build-aux/config.guess .
+ cp -a /usr/share/libtool/build-aux/config.sub .
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin \
+ --enable-security
+ make
+ pushd xgnokii
+ make
+ popd
+}
+
+package() {
+ cd $pkgname-$pkgver
+
+ make DESTDIR="$pkgdir" install
+ pushd xgnokii
+ make DESTDIR="$pkgdir" install
+ popd
+
+ # Install initial config file
+ install -Dm644 Docs/sample/gnokiirc "$pkgdir/etc/gnokiirc"
+
+ # Fix file permission
+ chmod 755 "$pkgdir/usr/bin/sendsms"
+
+ # Setup lock directory
+ install -dm755 "$pkgdir"/usr/lib/tmpfiles.d
+ echo 'd /run/lock/lockdev 0775 root lock -' > "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
+}
diff --git a/arch/tde-deps/gnokii/gnokii-config.patch b/arch/tde-deps/gnokii/gnokii-config.patch
new file mode 100644
index 000000000..c10d19cec
--- /dev/null
+++ b/arch/tde-deps/gnokii/gnokii-config.patch
@@ -0,0 +1,12 @@
+diff -Nura gnokii-0.6.31.orig/Docs/sample/gnokiirc gnokii-0.6.31/Docs/sample/gnokiirc
+--- gnokii-0.6.31.orig/Docs/sample/gnokiirc 2011-12-02 15:53:04.000000000 +0100
++++ gnokii-0.6.31/Docs/sample/gnokiirc 2012-02-18 12:49:26.957557504 +0100
+@@ -238,7 +238,7 @@
+ # In particular ensure that mgnokiidev is in this location, with
+ # permissions 4750, owned by root, group gnokii. Ensure you
+ # are in the gnokii group and that the group exists...
+-bindir = /usr/local/sbin/
++bindir = /usr/bin/
+
+ # Any entries in the following two sections will be set as environment
+ # variables when running the scripts.
diff --git a/arch/tde-deps/gnokii/gnokii-gcc5.patch b/arch/tde-deps/gnokii/gnokii-gcc5.patch
new file mode 100644
index 000000000..09b65f5b0
--- /dev/null
+++ b/arch/tde-deps/gnokii/gnokii-gcc5.patch
@@ -0,0 +1,27 @@
+Patch by Robert Scheck <robert@fedoraproject.org> for gnokii <= 0.6.31 to avoid
+build failures with GCC 5.x as "gnokii-0.6.31/xgnokii/xgnokii.c:1209: undefined
+reference to `GUI_HideAbout'" and "xgnokii-xgnokii_logos.o:(.data.rel+0xe0):
+undefined reference to `CloseLogosWindow'".
+
+--- gnokii-0.6.31/xgnokii/xgnokii.c 2011-12-02 15:53:04.000000000 +0100
++++ gnokii-0.6.31/xgnokii/xgnokii.c.gcc5 2015-06-20 15:49:59.000000000 +0200
+@@ -798,7 +798,7 @@
+ }
+
+
+-inline void GUI_HideAbout(void)
++void GUI_HideAbout(void)
+ {
+ gtk_widget_hide(AboutDialog);
+ }
+--- gnokii-0.6.31/xgnokii/xgnokii_logos.c 2011-12-02 15:53:04.000000000 +0100
++++ gnokii-0.6.31/xgnokii/xgnokii_logos.c.gcc5 2015-06-20 15:50:15.000000000 +0200
+@@ -1304,7 +1304,7 @@
+ return 0;
+ }
+
+-inline void CloseLogosWindow(void)
++void CloseLogosWindow(void)
+ {
+ gtk_widget_hide(GUI_LogosWindow);
+ }
diff --git a/arch/tde-deps/gnokii/gnokii-gcc7.patch b/arch/tde-deps/gnokii/gnokii-gcc7.patch
new file mode 100644
index 000000000..24fc9c9b1
--- /dev/null
+++ b/arch/tde-deps/gnokii/gnokii-gcc7.patch
@@ -0,0 +1,13 @@
+diff --git a/common/gsm-filetypes.c b/common/gsm-filetypes.c
+index b4ceea1..264420a 100644
+--- a/common/gsm-filetypes.c
++++ b/common/gsm-filetypes.c
+@@ -1409,7 +1409,7 @@ static int get_next_token(char *src, int delim)
+ #define GET_NEXT_TOKEN() o = get_next_token(line + offset, ';')
+ #define STORE_TOKEN(a) strip_slashes(a, line + offset, sizeof(a) - 1, o - 1)
+
+-inline int local_atoi(char *str, int len)
++int local_atoi(char *str, int len)
+ {
+ int retval;
+ char *aux = strndup(str, len);
diff --git a/arch/tde-deps/gnokii/gnokii-lock.patch b/arch/tde-deps/gnokii/gnokii-lock.patch
new file mode 100644
index 000000000..61bcfaf40
--- /dev/null
+++ b/arch/tde-deps/gnokii/gnokii-lock.patch
@@ -0,0 +1,15 @@
+diff -Naur gnokii-0.6.31.orig/common/misc.c gnokii-0.6.31/common/misc.c
+--- gnokii-0.6.31.orig/common/misc.c 2011-12-02 15:53:04.000000000 +0100
++++ gnokii-0.6.31/common/misc.c 2013-08-12 18:38:41.021668458 +0200
+@@ -448,9 +448,9 @@
+
+ #define BUFFER_MAX_LENGTH 128
+ #if defined (__svr4__)
+-# define lock_path "/var/run/LCK.."
++# define lock_path "/var/run/lockdev/LCK.."
+ #else
+-# define lock_path "/var/lock/LCK.."
++# define lock_path "/var/lock/lockdev/LCK.."
+ #endif
+
+ /* Lock the device. Return allocated string with a lock name */
diff --git a/arch/tde-deps/gnokii/gnokii.install b/arch/tde-deps/gnokii/gnokii.install
new file mode 100644
index 000000000..354b345a2
--- /dev/null
+++ b/arch/tde-deps/gnokii/gnokii.install
@@ -0,0 +1,3 @@
+post_install() {
+ echo "Users need to be in 'lock' and 'uucp' groups to connect to devices"
+}
diff --git a/arch/tde-deps/htdig/.SRCINFO b/arch/tde-deps/htdig/.SRCINFO
new file mode 100644
index 000000000..f4da67b4b
--- /dev/null
+++ b/arch/tde-deps/htdig/.SRCINFO
@@ -0,0 +1,18 @@
+pkgbase = htdig
+ pkgdesc = Scripts and HTML code needed for using ht://Dig as a web search engine
+ pkgver = 3.2.0b6
+ pkgrel = 11
+ url = http://www.htdig.org/
+ arch = i686
+ arch = x86_64
+ license = GPL
+ depends = openssl
+ source = http://downloads.sourceforge.net/htdig/htdig-3.2.0b6.tar.bz2
+ source = gcc4.3.patch
+ source = CVE-2007-6110.patch
+ md5sums = 8b9b9587a411ac7dd278fa5413428960
+ md5sums = 2aeda683f95b58efc0978d7fe951de59
+ md5sums = 0d9099d3b5a32d322a8e0240f85a3578
+
+pkgname = htdig
+
diff --git a/arch/tde-deps/htdig/CVE-2007-6110.patch b/arch/tde-deps/htdig/CVE-2007-6110.patch
new file mode 100644
index 000000000..57b0e3b78
--- /dev/null
+++ b/arch/tde-deps/htdig/CVE-2007-6110.patch
@@ -0,0 +1,26 @@
+Index: htdig-3.2.0b6/htsearch/Display.cc
+===================================================================
+--- htdig-3.2.0b6.orig/htsearch/Display.cc
++++ htdig-3.2.0b6/htsearch/Display.cc
+@@ -137,7 +137,7 @@ Display::display(int pageNumber)
+ // Must temporarily stash the message in a String, since
+ // displaySyntaxError will overwrite the static temp used in form.
+
+- String s(form("No such sort method: `%s'", (const char*)config->Find("sort")));
++ String s("invalid sort method");
+
+ displaySyntaxError(s);
+ return;
+Index: htdig-3.2.0b6/libhtdig/ResultFetch.cc
+===================================================================
+--- htdig-3.2.0b6.orig/libhtdig/ResultFetch.cc
++++ htdig-3.2.0b6/libhtdig/ResultFetch.cc
+@@ -142,7 +142,7 @@ ResultFetch::fetch()
+ // Must temporarily stash the message in a String, since
+ // displaySyntaxError will overwrite the static temp used in form.
+
+- String s(form("No such sort method: `%s'", (const char *) config->Find("sort")));
++ String s("invalid sort method");
+
+ displaySyntaxError(s);
+ //return;
diff --git a/arch/tde-deps/htdig/PKGBUILD b/arch/tde-deps/htdig/PKGBUILD
new file mode 100644
index 000000000..cec2ce842
--- /dev/null
+++ b/arch/tde-deps/htdig/PKGBUILD
@@ -0,0 +1,53 @@
+# $Id: PKGBUILD 260530 2016-03-02 18:25:02Z foutrelis $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+
+pkgname=htdig
+pkgver=3.2.0b6
+pkgrel=11.1
+pkgdesc="Scripts and HTML code needed for using ht://Dig as a web search engine"
+url="http://www.htdig.org/"
+arch=('i686' 'x86_64' 'aarch64' 'armv7h' 'powerpc64le')
+license=('GPL')
+depends=('openssl')
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
+ 'gcc4.3.patch'
+ 'CVE-2007-6110.patch')
+md5sums=('8b9b9587a411ac7dd278fa5413428960'
+ '2aeda683f95b58efc0978d7fe951de59'
+ '0d9099d3b5a32d322a8e0240f85a3578')
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+
+ patch -p1 -i "${srcdir}/gcc4.3.patch"
+ patch -p1 -i "${srcdir}/CVE-2007-6110.patch"
+
+ cp -a /usr/share/libtool/build-aux/config.guess .
+ cp -a /usr/share/libtool/build-aux/config.sub .
+ cp -a /usr/share/libtool/build-aux/config.guess ./db/
+ cp -a /usr/share/libtool/build-aux/config.sub ./db/
+}
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ CFLAGS=-Wno-narrowing CXXFLAGS="-Wno-narrowing -std=c++03" \
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man \
+ --with-config-dir=/etc/htdig \
+ --with-default-config-file=/etc/htdig/htdig.conf \
+ --with-database-dir=/var/lib/htdig/db \
+ --with-cgi-bin-dir=/usr/bin \
+ --with-common-dir=/usr/share/doc/htdig \
+ --with-search-dir=/usr/share/doc/htdig \
+ --with-image-dir=/usr/share/doc/htdig \
+ --localstatedir=/var/lib/htdig \
+ --with-ssl
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/arch/tde-deps/htdig/gcc4.3.patch b/arch/tde-deps/htdig/gcc4.3.patch
new file mode 100644
index 000000000..58dec1395
--- /dev/null
+++ b/arch/tde-deps/htdig/gcc4.3.patch
@@ -0,0 +1,15 @@
+diff -Naurp htdig-3.2.0b6.orig/htsearch/Collection.h htdig-3.2.0b6/htsearch/Collection.h
+--- htdig-3.2.0b6.orig/htsearch/Collection.h 2004-05-28 06:15:24.000000000 -0700
++++ htdig-3.2.0b6/htsearch/Collection.h 2006-03-22 11:35:40.000000000 -0800
+@@ -36,9 +36,9 @@ public:
+ const char *docExcerpt);
+ ~Collection();
+
+- void Collection::Open();
++ void Open();
+
+- void Collection::Close();
++ void Close();
+
+ char *getWordFile() { return wordFile.get(); }
+ DocumentRef *getDocumentRef(int id);
diff --git a/arch/tde-deps/imlib/CAN-2004-1026.patch b/arch/tde-deps/imlib/CAN-2004-1026.patch
new file mode 100644
index 000000000..c820270d4
--- /dev/null
+++ b/arch/tde-deps/imlib/CAN-2004-1026.patch
@@ -0,0 +1,510 @@
+diff -urN imlib-1.9.13.orig/Imlib/load.c imlib-1.9.13/Imlib/load.c
+--- imlib-1.9.13.orig/Imlib/load.c Wed Mar 13 19:06:29 2002
++++ imlib-1.9.13/Imlib/load.c Thu Sep 16 17:21:01 2004
+@@ -4,6 +4,8 @@
+ #include "Imlib_private.h"
+ #include <setjmp.h>
+
++#define G_MAXINT ((int) 0x7fffffff)
++
+ /* Split the ID - damages input */
+
+ static char *
+@@ -41,13 +43,17 @@
+
+ /*
+ * Make sure we don't wrap on our memory allocations
++ * we check G_MAXINT/4 because rend.c malloc's w * h * bpp
++ * + 3 is safety margin
+ */
+
+ void * _imlib_malloc_image(unsigned int w, unsigned int h)
+ {
+- if( w > 32767 || h > 32767)
+- return NULL;
+- return malloc(w * h * 3);
++ if (w <= 0 || w > 32767 ||
++ h <= 0 || h > 32767 ||
++ h >= (G_MAXINT/4 - 1) / w)
++ return NULL;
++ return malloc(w * h * 3 + 3);
+ }
+
+ #ifdef HAVE_LIBJPEG
+@@ -360,7 +366,9 @@
+ npix = ww * hh;
+ *w = (int)ww;
+ *h = (int)hh;
+- if(ww > 32767 || hh > 32767)
++ if (ww <= 0 || ww > 32767 ||
++ hh <= 0 || hh > 32767 ||
++ hh >= (G_MAXINT/sizeof(uint32)) / ww)
+ {
+ TIFFClose(tif);
+ return NULL;
+@@ -463,7 +471,7 @@
+ }
+ *w = gif->Image.Width;
+ *h = gif->Image.Height;
+- if (*h > 32767 || *w > 32767)
++ if (*h <= 0 || *h > 32767 || *w <= 0 || *w > 32767)
+ {
+ return NULL;
+ }
+@@ -965,7 +973,12 @@
+ comment = 0;
+ quote = 0;
+ context = 0;
++ memset(lookup, 0, sizeof(lookup));
++
+ line = malloc(lsz);
++ if (!line)
++ return NULL;
++
+ while (!done)
+ {
+ pc = c;
+@@ -994,25 +1007,25 @@
+ {
+ /* Header */
+ sscanf(line, "%i %i %i %i", w, h, &ncolors, &cpp);
+- if (ncolors > 32766)
++ if (ncolors <= 0 || ncolors > 32766)
+ {
+ fprintf(stderr, "IMLIB ERROR: XPM files wth colors > 32766 not supported\n");
+ free(line);
+ return NULL;
+ }
+- if (cpp > 5)
++ if (cpp <= 0 || cpp > 5)
+ {
+ fprintf(stderr, "IMLIB ERROR: XPM files with characters per pixel > 5 not supported\n");
+ free(line);
+ return NULL;
+ }
+- if (*w > 32767)
++ if (*w <= 0 || *w > 32767)
+ {
+ fprintf(stderr, "IMLIB ERROR: Image width > 32767 pixels for file\n");
+ free(line);
+ return NULL;
+ }
+- if (*h > 32767)
++ if (*h <= 0 || *h > 32767)
+ {
+ fprintf(stderr, "IMLIB ERROR: Image height > 32767 pixels for file\n");
+ free(line);
+@@ -1045,11 +1058,13 @@
+ {
+ int slen;
+ int hascolor, iscolor;
++ int space;
+
+ iscolor = 0;
+ hascolor = 0;
+ tok[0] = 0;
+ col[0] = 0;
++ space = sizeof(col) - 1;
+ s[0] = 0;
+ len = strlen(line);
+ strncpy(cmap[j].str, line, cpp);
+@@ -1072,10 +1087,10 @@
+ {
+ if (k >= len)
+ {
+- if (col[0])
+- strcat(col, " ");
+- if (strlen(col) + strlen(s) < sizeof(col))
+- strcat(col, s);
++ if (col[0] && space > 0)
++ strcat(col, " "), space -= 1;
++ if (slen <= space)
++ strcat(col, s), space -= slen;
+ }
+ if (col[0])
+ {
+@@ -1105,14 +1120,17 @@
+ }
+ }
+ }
+- strcpy(tok, s);
++ if (slen < sizeof(tok));
++ strcpy(tok, s);
+ col[0] = 0;
++ space = sizeof(col) - 1;
+ }
+ else
+ {
+- if (col[0])
+- strcat(col, " ");
+- strcat(col, s);
++ if (col[0] && space > 0)
++ strcat(col, " "), space -=1;
++ if (slen <= space)
++ strcat(col, s), space -= slen;
+ }
+ }
+ }
+@@ -1341,12 +1359,12 @@
+ sscanf(s, "%i %i", w, h);
+ a = *w;
+ b = *h;
+- if (a > 32767)
++ if (a <= 0 || a > 32767)
+ {
+ fprintf(stderr, "IMLIB ERROR: Image width > 32767 pixels for file\n");
+ return NULL;
+ }
+- if (b > 32767)
++ if (b <= 0 || b > 32767)
+ {
+ fprintf(stderr, "IMLIB ERROR: Image height > 32767 pixels for file\n");
+ return NULL;
+diff -urN imlib-1.9.13.orig/Imlib/utils.c imlib-1.9.13/Imlib/utils.c
+--- imlib-1.9.13.orig/Imlib/utils.c Mon Mar 4 17:45:28 2002
++++ imlib-1.9.13/Imlib/utils.c Thu Sep 16 17:21:15 2004
+@@ -1496,36 +1496,56 @@
+ context = 0;
+ ptr = NULL;
+ end = NULL;
++ memset(lookup, 0, sizeof(lookup));
+
+ while (!done)
+ {
+ line = data[count++];
++ if (!line)
++ break;
++ line = strdup(line);
++ if (!line)
++ break;
++ len = strlen(line);
++ for (i = 0; i < len; ++i)
++ {
++ c = line[i];
++ if (c < 32)
++ line[i] = 32;
++ else if (c > 127)
++ line[i] = 127;
++ }
++
+ if (context == 0)
+ {
+ /* Header */
+ sscanf(line, "%i %i %i %i", &w, &h, &ncolors, &cpp);
+- if (ncolors > 32766)
++ if (ncolors <= 0 || ncolors > 32766)
+ {
+ fprintf(stderr, "IMLIB ERROR: XPM data wth colors > 32766 not supported\n");
+ free(im);
++ free(line);
+ return NULL;
+ }
+- if (cpp > 5)
++ if (cpp <= 0 || cpp > 5)
+ {
+ fprintf(stderr, "IMLIB ERROR: XPM data with characters per pixel > 5 not supported\n");
+ free(im);
++ free(line);
+ return NULL;
+ }
+- if (w > 32767)
++ if (w <= 0 || w > 32767)
+ {
+ fprintf(stderr, "IMLIB ERROR: Image width > 32767 pixels for data\n");
+ free(im);
++ free(line);
+ return NULL;
+ }
+- if (h > 32767)
++ if (h <= 0 || h > 32767)
+ {
+ fprintf(stderr, "IMLIB ERROR: Image height > 32767 pixels for data\n");
+ free(im);
++ free(line);
+ return NULL;
+ }
+ cmap = malloc(sizeof(struct _cmap) * ncolors);
+@@ -1533,6 +1553,7 @@
+ if (!cmap)
+ {
+ free(im);
++ free(line);
+ return NULL;
+ }
+ im->rgb_width = w;
+@@ -1542,6 +1563,7 @@
+ {
+ free(cmap);
+ free(im);
++ free(line);
+ return NULL;
+ }
+ im->alpha_data = NULL;
+@@ -1817,6 +1839,7 @@
+ }
+ if ((ptr) && ((ptr - im->rgb_data) >= w * h * 3))
+ done = 1;
++ free(line);
+ }
+ if (!transp)
+ {
+diff -urN imlib-1.9.13.orig/gdk_imlib/io-gif.c imlib-1.9.13/gdk_imlib/io-gif.c
+--- imlib-1.9.13.orig/gdk_imlib/io-gif.c Mon Mar 4 17:26:51 2002
++++ imlib-1.9.13/gdk_imlib/io-gif.c Thu Sep 16 16:11:31 2004
+@@ -55,7 +55,7 @@
+ }
+ *w = gif->Image.Width;
+ *h = gif->Image.Height;
+- if(*h > 32767 || *w > 32767)
++ if(*h <= 0 || *h > 32767 || *w <= 0 || *w > 32767)
+ {
+ return NULL;
+ }
+diff -urN imlib-1.9.13.orig/gdk_imlib/io-ppm.c imlib-1.9.13/gdk_imlib/io-ppm.c
+--- imlib-1.9.13.orig/gdk_imlib/io-ppm.c Mon Mar 4 17:26:51 2002
++++ imlib-1.9.13/gdk_imlib/io-ppm.c Thu Sep 16 16:13:13 2004
+@@ -53,12 +53,12 @@
+ sscanf(s, "%i %i", w, h);
+ a = *w;
+ b = *h;
+- if (a > 32767)
++ if (a <= 0 || a > 32767)
+ {
+ fprintf(stderr, "gdk_imlib ERROR: Image width > 32767 pixels for file\n");
+ return NULL;
+ }
+- if (b > 32767)
++ if (b <= 0 || b > 32767)
+ {
+ fprintf(stderr, "gdk_imlib ERROR: Image height > 32767 pixels for file\n");
+ return NULL;
+diff -urN imlib-1.9.13.orig/gdk_imlib/io-tiff.c imlib-1.9.13/gdk_imlib/io-tiff.c
+--- imlib-1.9.13.orig/gdk_imlib/io-tiff.c Mon Mar 4 17:26:51 2002
++++ imlib-1.9.13/gdk_imlib/io-tiff.c Thu Sep 16 16:13:57 2004
+@@ -36,7 +36,9 @@
+ npix = ww * hh;
+ *w = (int)ww;
+ *h = (int)hh;
+- if(ww > 32767 || hh > 32767)
++ if (ww <= 0 || ww > 32767 ||
++ hh <= 0 || hh > 32767 ||
++ hh >= (G_MAXINT/sizeof(uint32)) / ww)
+ {
+ TIFFClose(tif);
+ return NULL;
+diff -urN imlib-1.9.13.orig/gdk_imlib/io-xpm.c imlib-1.9.13/gdk_imlib/io-xpm.c
+--- imlib-1.9.13.orig/gdk_imlib/io-xpm.c Mon Mar 4 17:26:51 2002
++++ imlib-1.9.13/gdk_imlib/io-xpm.c Thu Sep 16 17:08:24 2004
+@@ -40,8 +40,12 @@
+ context = 0;
+ i = j = 0;
+ cmap = NULL;
++ memset(lookup, 0, sizeof(lookup));
+
+ line = malloc(lsz);
++ if (!line)
++ return NULL;
++
+ while (!done)
+ {
+ pc = c;
+@@ -70,25 +74,25 @@
+ {
+ /* Header */
+ sscanf(line, "%i %i %i %i", w, h, &ncolors, &cpp);
+- if (ncolors > 32766)
++ if (ncolors <= 0 || ncolors > 32766)
+ {
+ fprintf(stderr, "gdk_imlib ERROR: XPM files wth colors > 32766 not supported\n");
+ free(line);
+ return NULL;
+ }
+- if (cpp > 5)
++ if (cpp <= 0 || cpp > 5)
+ {
+ fprintf(stderr, "gdk_imlib ERROR: XPM files with characters per pixel > 5 not supported\n");
+ free(line);
+ return NULL;
+ }
+- if (*w > 32767)
++ if (*w <= 0 || *w > 32767)
+ {
+ fprintf(stderr, "gdk_imlib ERROR: Image width > 32767 pixels for file\n");
+ free(line);
+ return NULL;
+ }
+- if (*h > 32767)
++ if (*h <= 0 || *h > 32767)
+ {
+ fprintf(stderr, "gdk_imlib ERROR: Image height > 32767 pixels for file\n");
+ free(line);
+@@ -120,11 +124,13 @@
+ {
+ int slen;
+ int hascolor, iscolor;
++ int space;
+
+ hascolor = 0;
+ iscolor = 0;
+ tok[0] = 0;
+ col[0] = 0;
++ space = sizeof(col) - 1;
+ s[0] = 0;
+ len = strlen(line);
+ strncpy(cmap[j].str, line, cpp);
+@@ -147,10 +153,10 @@
+ {
+ if (k >= len)
+ {
+- if (col[0])
+- strcat(col, " ");
+- if (strlen(col) + strlen(s) < sizeof(col))
+- strcat(col, s);
++ if (col[0] && space > 0)
++ strncat(col, " ", space), space -= 1;
++ if (slen <= space)
++ strcat(col, s), space -= slen;
+ }
+ if (col[0])
+ {
+@@ -180,14 +186,17 @@
+ }
+ }
+ }
+- strcpy(tok, s);
++ if (slen < sizeof(tok))
++ strcpy(tok, s);
+ col[0] = 0;
++ space = sizeof(col) - 1;
+ }
+ else
+ {
+- if (col[0])
+- strcat(col, " ");
+- strcat(col, s);
++ if (col[0] && space > 0)
++ strcat(col, " "), space -= 1;
++ if (slen <= space)
++ strcat(col, s), space -= slen;
+ }
+ }
+ }
+diff -urN imlib-1.9.13.orig/gdk_imlib/misc.c imlib-1.9.13/gdk_imlib/misc.c
+--- imlib-1.9.13.orig/gdk_imlib/misc.c Mon Mar 4 17:26:51 2002
++++ imlib-1.9.13/gdk_imlib/misc.c Thu Sep 16 16:35:32 2004
+@@ -1355,11 +1355,16 @@
+
+ /*
+ * Make sure we don't wrap on our memory allocations
++ * we check G_MAX_INT/4 because rend.c malloc's w * h * bpp
++ * + 3 is safety margin
+ */
+
+ void *_gdk_malloc_image(unsigned int w, unsigned int h)
+ {
+- if( w > 32767 || h > 32767)
++ if (w <= 0 || w > 32767 ||
++ h <= 0 || h > 32767 ||
++ h >= (G_MAXINT/4 - 1) / w)
+ return NULL;
+- return malloc(w * h * 3);
++ return malloc(w * h * 3 + 3);
+ }
++
+diff -urN imlib-1.9.13.orig/gdk_imlib/utils.c imlib-1.9.13/gdk_imlib/utils.c
+--- imlib-1.9.13.orig/gdk_imlib/utils.c Mon Mar 4 17:26:51 2002
++++ imlib-1.9.13/gdk_imlib/utils.c Thu Sep 16 17:28:35 2004
+@@ -1236,36 +1236,56 @@
+ context = 0;
+ ptr = NULL;
+ end = NULL;
++ memset(lookup, 0, sizeof(lookup));
+
+ while (!done)
+ {
+ line = data[count++];
++ if (!line)
++ break;
++ line = strdup(line);
++ if (!line)
++ break;
++ len = strlen(line);
++ for (i = 0; i < len; ++i)
++ {
++ c = line[i];
++ if (c < 32)
++ line[i] = 32;
++ else if (c > 127)
++ line[i] = 127;
++ }
++
+ if (context == 0)
+ {
+ /* Header */
+ sscanf(line, "%i %i %i %i", &w, &h, &ncolors, &cpp);
+- if (ncolors > 32766)
++ if (ncolors <= 0 || ncolors > 32766)
+ {
+ fprintf(stderr, "gdk_imlib ERROR: XPM data wth colors > 32766 not supported\n");
+ free(im);
++ free(line);
+ return NULL;
+ }
+- if (cpp > 5)
++ if (cpp <= 0 || cpp > 5)
+ {
+ fprintf(stderr, "gdk_imlib ERROR: XPM data with characters per pixel > 5 not supported\n");
+ free(im);
++ free(line);
+ return NULL;
+ }
+- if (w > 32767)
++ if (w <= 0 || w > 32767)
+ {
+ fprintf(stderr, "gdk_imlib ERROR: Image width > 32767 pixels for data\n");
+ free(im);
++ free(line);
+ return NULL;
+ }
+- if (h > 32767)
++ if (h <= 0 || h > 32767)
+ {
+ fprintf(stderr, "gdk_imlib ERROR: Image height > 32767 pixels for data\n");
+ free(im);
++ free(line);
+ return NULL;
+ }
+ cmap = malloc(sizeof(struct _cmap) * ncolors);
+@@ -1273,6 +1293,7 @@
+ if (!cmap)
+ {
+ free(im);
++ free(line);
+ return NULL;
+ }
+ im->rgb_width = w;
+@@ -1282,6 +1303,7 @@
+ {
+ free(cmap);
+ free(im);
++ free(line);
+ return NULL;
+ }
+ im->alpha_data = NULL;
+@@ -1355,7 +1377,7 @@
+ strcpy(col + colptr, " ");
+ colptr++;
+ }
+- if (colptr + ls <= sizeof(col))
++ if (colptr + ls < sizeof(col))
+ {
+ strcpy(col + colptr, s);
+ colptr += ls;
+@@ -1558,6 +1580,7 @@
+ }
+ if ((ptr) && ((ptr - im->rgb_data) >= w * h * 3))
+ done = 1;
++ free(line);
+ }
+ if (!transp)
+ {
diff --git a/arch/tde-deps/imlib/PKGBUILD b/arch/tde-deps/imlib/PKGBUILD
new file mode 100644
index 000000000..a3035caca
--- /dev/null
+++ b/arch/tde-deps/imlib/PKGBUILD
@@ -0,0 +1,48 @@
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=imlib
+pkgver=1.9.15
+pkgrel=17
+pkgdesc="General image handling library for X11 and Gtk"
+arch=('powerpc64le')
+url="http://freshmeat.net/projects/imlib/"
+license=('GPL')
+depends=('giflib' 'libpng' 'libtiff' 'libxext')
+makedepends=('libxt')
+source=(https://ftp.gnome.org/pub/GNOME/sources/imlib/1.9/${pkgname}-${pkgver}.tar.bz2
+ debian-bug448360.patch CAN-2004-1026.patch aclocal-fixes.patch
+ imlib-1.9.15-libpng15.patch imlib-giflib51.patch imlib-gtk.patch)
+sha512sums=('f50d9141b3c54b44921aa09c0a5ea848aefaa904efdd6da132dace42604671f8dbd3e4b71a596f054f0db4525ba2002864b5e5b21f8805cf1b5514b661ac254a'
+ '0c805568c54149239a3106293e7a4f5abe127abebc1a851cda87958fede996d6c0415fe1b47a7f023f2deb2e3460204d5aae4fce5787e402a026d46c2e7e662c'
+ 'a75537267e9e276920fbc0360cd4832f727c6c9857401889bdb1466f3088c98e5ea2ef84a94a5873a3c12dda0b9aed36a5e2039fece87e51154a3b773d97aa5c'
+ 'ca4d2a047ee07f25bb462c8b34fc8298ef9a31b39f83309598a696973534e144f8f02a130bb764737dfbd329073e64abe4f8a673d66731822fece4969d7ab02a'
+ 'e7a6d48ef04fbcfcab998e6968130796ab3da1fd9def14ab2ccc713e0956f1f2be3f3a8f680ded5f00cb7ac9ea31d2f94de04aaa039ec5b03cece71f36f14294'
+ '91a62ed701974b953c2bc4f6b530ea7614b2195906110fcdc45bb200acacea0c54d431c3eafdcd2b33877606ef6b23bd34d051f99f90e5505d8e725b78278c89'
+ 'fb05c545e8c8e3eaf6a6cc390c0c9211c37074f7bd6805529254d9c61d56ceb9b2e3877d276f46ac0b195ae796e52c5baad11781ef91272c955529396bdf6de7')
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+ patch -p1 -i "${srcdir}/debian-bug448360.patch"
+ patch -p1 -i "${srcdir}/CAN-2004-1026.patch"
+ patch -p0 -i "${srcdir}/aclocal-fixes.patch"
+ patch -p0 -i "${srcdir}/imlib-1.9.15-libpng15.patch"
+ patch -p1 -i "${srcdir}/imlib-giflib51.patch"
+ patch -p1 -i "${srcdir}/imlib-gtk.patch"
+ sed '/AC_PATH_XTRA/d' -i configure.in
+ mv configure.in configure.ac
+ libtoolize --force
+ cp /usr/bin/libtool .
+}
+
+build() {
+ cd ${pkgname}-${pkgver}
+ autoreconf --force --install
+ ./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man --enable-shm --disable-static
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/arch/tde-deps/imlib/aclocal-fixes.patch b/arch/tde-deps/imlib/aclocal-fixes.patch
new file mode 100644
index 000000000..04ef737e7
--- /dev/null
+++ b/arch/tde-deps/imlib/aclocal-fixes.patch
@@ -0,0 +1,20 @@
+--- imlib.m4.orig 2006-03-05 12:41:14.000000000 +0000
++++ imlib.m4 2006-03-05 12:44:15.000000000 +0000
+@@ -6,7 +6,7 @@
+ dnl AM_PATH_IMLIB([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+ dnl Test for IMLIB, and define IMLIB_CFLAGS and IMLIB_LIBS
+ dnl
+-AC_DEFUN(AM_PATH_IMLIB,
++AC_DEFUN([AM_PATH_IMLIB],
+ [dnl
+ dnl Get the cflags and libraries from the imlib-config script
+ dnl
+@@ -164,7 +164,7 @@
+ ])
+
+ # Check for gdk-imlib
+-AC_DEFUN(AM_PATH_GDK_IMLIB,
++AC_DEFUN([AM_PATH_GDK_IMLIB],
+ [dnl
+ dnl Get the cflags and libraries from the imlib-config script
+ dnl
diff --git a/arch/tde-deps/imlib/debian-bug448360.patch b/arch/tde-deps/imlib/debian-bug448360.patch
new file mode 100644
index 000000000..f1c0ef111
--- /dev/null
+++ b/arch/tde-deps/imlib/debian-bug448360.patch
@@ -0,0 +1,92 @@
+diff -up -ru imlib-1.9.15.orig/gdk_imlib/misc.c imlib-1.9.15/gdk_imlib/misc.c
+--- imlib-1.9.15.orig/gdk_imlib/misc.c 2002-03-04 18:06:32.000000000 +0100
++++ imlib-1.9.15/gdk_imlib/misc.c 2007-10-28 14:00:04.000000000 +0100
+@@ -674,6 +674,10 @@ gdk_imlib_init_params(GdkImlibInitParams
+ visual = gdk_rgb_get_visual();
+ id->x.visual = GDK_VISUAL_XVISUAL(visual); /* the visual type */
+ id->x.depth = visual->depth; /* the depth of the screen in bpp */
++
++ id->x.shm = 0;
++ id->x.shmp = 0;
++ id->max_shm = 0;
+ #ifdef HAVE_SHM
+ if (XShmQueryExtension(id->x.disp))
+ {
+@@ -689,17 +693,14 @@ gdk_imlib_init_params(GdkImlibInitParams
+ id->x.last_xim = NULL;
+ id->x.last_sxim = NULL;
+ id->max_shm = 0x7fffffff;
+- if (XShmPixmapFormat(id->x.disp) == ZPixmap)
++ if ((XShmPixmapFormat(id->x.disp) == ZPixmap) &&
++ (pm == True))
+ id->x.shmp = 1;
+ }
+ }
+ }
+- else
+ #endif
+- {
+- id->x.shm = 0;
+- id->x.shmp = 0;
+- }
++
+ id->cache.on_image = 0;
+ id->cache.size_image = 0;
+ id->cache.num_image = 0;
+@@ -935,8 +936,8 @@ gdk_imlib_init_params(GdkImlibInitParams
+ }
+ if (p->flags & PARAMS_SHAREDPIXMAPS)
+ {
+- if (id->x.shm)
+- id->x.shmp = p->sharedpixmaps;
++ if (!p->sharedpixmaps)
++ id->x.shmp = 0;
+ }
+ if (p->flags & PARAMS_PALETTEOVERRIDE)
+ override = p->paletteoverride;
+diff -up -ru imlib-1.9.15.orig/Imlib/misc.c imlib-1.9.15/Imlib/misc.c
+--- imlib-1.9.15.orig/Imlib/misc.c 2004-09-21 02:22:59.000000000 +0200
++++ imlib-1.9.15/Imlib/misc.c 2007-10-28 14:00:23.000000000 +0100
+@@ -675,6 +675,10 @@ Imlib_init_with_params(Display * disp, I
+ id->x.root = DefaultRootWindow(disp); /* the root window id */
+ id->x.visual = DefaultVisual(disp, id->x.screen); /* the visual type */
+ id->x.depth = DefaultDepth(disp, id->x.screen); /* the depth of the screen in bpp */
++
++ id->x.shm = 0;
++ id->x.shmp = 0;
++ id->max_shm = 0;
+ #ifdef HAVE_SHM
+ if (XShmQueryExtension(id->x.disp))
+ {
+@@ -690,17 +694,14 @@ Imlib_init_with_params(Display * disp, I
+ id->x.last_xim = NULL;
+ id->x.last_sxim = NULL;
+ id->max_shm = 0x7fffffff;
+- if (XShmPixmapFormat(id->x.disp) == ZPixmap)
++ if ((XShmPixmapFormat(id->x.disp) == ZPixmap &&
++ (pm == True)))
+ id->x.shmp = 1;
+ }
+ }
+ }
+- else
+ #endif
+- {
+- id->x.shm = 0;
+- id->x.shmp = 0;
+- }
++
+ id->cache.on_image = 0;
+ id->cache.size_image = 0;
+ id->cache.num_image = 0;
+@@ -952,8 +953,8 @@ Imlib_init_with_params(Display * disp, I
+ }
+ if (p->flags & PARAMS_SHAREDPIXMAPS)
+ {
+- if (id->x.shm)
+- id->x.shmp = p->sharedpixmaps;
++ if (!p->sharedpixmaps)
++ id->x.shmp = 0;
+ }
+ if (p->flags & PARAMS_PALETTEOVERRIDE)
+ override = p->paletteoverride;
diff --git a/arch/tde-deps/imlib/imlib-1.9.15-libpng15.patch b/arch/tde-deps/imlib/imlib-1.9.15-libpng15.patch
new file mode 100644
index 000000000..7837cd488
--- /dev/null
+++ b/arch/tde-deps/imlib/imlib-1.9.15-libpng15.patch
@@ -0,0 +1,142 @@
+--- gdk_imlib/io-png.c
++++ gdk_imlib/io-png.c
+@@ -40,13 +40,13 @@
+ return NULL;
+ }
+
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+ }
+
+- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+@@ -275,13 +275,13 @@
+ return NULL;
+ }
+
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+ }
+
+- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+@@ -301,6 +301,9 @@
+ /* Setup Translators */
+ if (color_type == PNG_COLOR_TYPE_PALETTE)
+ png_set_expand(png_ptr);
++ if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8)
++ png_set_expand(png_ptr);
++
+ png_set_strip_16(png_ptr);
+ png_set_packing(png_ptr);
+ if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS))
+@@ -440,13 +443,13 @@
+ return NULL;
+ }
+
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+ }
+
+- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+@@ -635,7 +638,7 @@
+ png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
+ return 0;
+ }
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ fclose(f);
+ png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
+--- Imlib/load.c
++++ Imlib/load.c
+@@ -197,12 +197,12 @@
+ png_destroy_read_struct(&png_ptr, NULL, NULL);
+ return NULL;
+ }
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+ }
+- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+@@ -260,7 +260,8 @@
+ png_read_image(png_ptr, lines);
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ ptr = data;
+- if (color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
++ if (color_type == PNG_COLOR_TYPE_GRAY
++ || color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
+ {
+ for (y = 0; y < *h; y++)
+ {
+@@ -285,6 +286,7 @@
+ }
+ }
+ }
++#if 0
+ else if (color_type == PNG_COLOR_TYPE_GRAY)
+ {
+ for (y = 0; y < *h; y++)
+@@ -300,6 +302,7 @@
+ }
+ }
+ }
++#endif
+ else
+ {
+ for (y = 0; y < *h; y++)
+--- Imlib/save.c
++++ Imlib/save.c
+@@ -342,7 +342,7 @@
+ png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
+ return 0;
+ }
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ fclose(f);
+ png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
+--- Imlib/utils.c
++++ Imlib/utils.c
+@@ -1981,14 +1981,13 @@
+ png_destroy_read_struct(&png_ptr, NULL, NULL);
+ return NULL;
+ }
+-
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
+ }
+
+- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return NULL;
diff --git a/arch/tde-deps/imlib/imlib-giflib51.patch b/arch/tde-deps/imlib/imlib-giflib51.patch
new file mode 100644
index 000000000..ae0cf7043
--- /dev/null
+++ b/arch/tde-deps/imlib/imlib-giflib51.patch
@@ -0,0 +1,126 @@
+diff -ruN imlib-1.9.15.orig/gdk_imlib/io-gif.c imlib-1.9.15/gdk_imlib/io-gif.c
+--- imlib-1.9.15.orig/gdk_imlib/io-gif.c 2014-05-27 09:38:13.210527763 +0000
++++ imlib-1.9.15/gdk_imlib/io-gif.c 2014-05-27 09:43:55.435910398 +0000
+@@ -30,7 +30,7 @@
+ fd = fileno(f);
+ /* Apparently rewind(f) isn't sufficient */
+ lseek(fd, (long) 0, 0);
+- gif = DGifOpenFileHandle(fd);
++ gif = DGifOpenFileHandle(fd, NULL);
+
+ transp = -1;
+ data = NULL;
+@@ -43,14 +43,14 @@
+ {
+ if (DGifGetRecordType(gif, &rec) == GIF_ERROR)
+ {
+- PrintGifError();
++ fprintf(stderr, "giflib error: %s\n", GifErrorString(gif->Error));
+ rec = TERMINATE_RECORD_TYPE;
+ }
+ if ((rec == IMAGE_DESC_RECORD_TYPE) && (!done))
+ {
+ if (DGifGetImageDesc(gif) == GIF_ERROR)
+ {
+- PrintGifError();
++ fprintf(stderr, "giflib error: %s\n", GifErrorString(gif->Error));
+ rec = TERMINATE_RECORD_TYPE;
+ }
+ *w = gif->Image.Width;
+@@ -62,13 +62,13 @@
+ rows = malloc(*h * sizeof(GifRowType *));
+ if (!rows)
+ {
+- DGifCloseFile(gif);
++ DGifCloseFile(gif, NULL);
+ return NULL;
+ }
+ data = _gdk_malloc_image(*w, *h);
+ if (!data)
+ {
+- DGifCloseFile(gif);
++ DGifCloseFile(gif, NULL);
+ free(rows);
+ return NULL;
+ }
+@@ -79,7 +79,7 @@
+ rows[i] = malloc(*w * sizeof(GifPixelType));
+ if (!rows[i])
+ {
+- DGifCloseFile(gif);
++ DGifCloseFile(gif, NULL);
+ for (i = 0; i < *h; i++)
+ if (rows[i])
+ free(rows[i]);
+@@ -168,7 +168,7 @@
+ }
+ }
+ }
+- DGifCloseFile(gif);
++ DGifCloseFile(gif, NULL);
+ for (i = 0; i < *h; i++)
+ free(rows[i]);
+ free(rows);
+diff -ruN imlib-1.9.15.orig/Imlib/load.c imlib-1.9.15/Imlib/load.c
+--- imlib-1.9.15.orig/Imlib/load.c 2014-05-27 09:38:13.220527723 +0000
++++ imlib-1.9.15/Imlib/load.c 2014-05-27 09:45:25.775576104 +0000
+@@ -454,7 +454,7 @@
+ fd = fileno(f);
+ /* Apparently rewind(f) isn't sufficient */
+ lseek(fd, (long) 0, 0);
+- gif = DGifOpenFileHandle(fd);
++ gif = DGifOpenFileHandle(fd, NULL);
+
+ if (!gif)
+ return NULL;
+@@ -462,14 +462,14 @@
+ {
+ if (DGifGetRecordType(gif, &rec) == GIF_ERROR)
+ {
+- PrintGifError();
++ fprintf(stderr, "Imlib ERROR: JPEG uses line buffers > 16. Cannot load.\n");
+ rec = TERMINATE_RECORD_TYPE;
+ }
+ if ((rec == IMAGE_DESC_RECORD_TYPE) && (!done))
+ {
+ if (DGifGetImageDesc(gif) == GIF_ERROR)
+ {
+- PrintGifError();
++ fprintf(stderr, "Imlib ERROR: JPEG uses line buffers > 16. Cannot load.\n");
+ rec = TERMINATE_RECORD_TYPE;
+ }
+ *w = gif->Image.Width;
+@@ -481,13 +481,13 @@
+ rows = malloc(*h * sizeof(GifRowType *));
+ if (!rows)
+ {
+- DGifCloseFile(gif);
++ DGifCloseFile(gif, NULL);
+ return NULL;
+ }
+ data = _imlib_malloc_image(*w, *h);
+ if (!data)
+ {
+- DGifCloseFile(gif);
++ DGifCloseFile(gif, NULL);
+ free(rows);
+ return NULL;
+ }
+@@ -498,7 +498,7 @@
+ rows[i] = malloc(*w * sizeof(GifPixelType));
+ if (!rows[i])
+ {
+- DGifCloseFile(gif);
++ DGifCloseFile(gif, NULL);
+ for (i = 0; i < *h; i++)
+ if (rows[i])
+ free(rows[i]);
+@@ -587,7 +587,7 @@
+ }
+ }
+ }
+- DGifCloseFile(gif);
++ DGifCloseFile(gif, NULL);
+ for (i = 0; i < *h; i++)
+ free(rows[i]);
+ free(rows);
diff --git a/arch/tde-deps/imlib/imlib-gtk.patch b/arch/tde-deps/imlib/imlib-gtk.patch
new file mode 100644
index 000000000..c6e4fb618
--- /dev/null
+++ b/arch/tde-deps/imlib/imlib-gtk.patch
@@ -0,0 +1,14 @@
+--- a/configure.in 2014-04-12 17:46:28.459612102 +0200
++++ b/configure.in 2014-04-12 17:46:33.926347877 +0200
+@@ -17,11 +17,6 @@
+ dnl incase it is broken for example.
+ AC_ARG_ENABLE(shm, [ --enable-shm support shared memory if available [default=yes]], echo $enable_shm, enable_shm="yes")
+
+-AM_PATH_GTK(1.2.1,[
+- GDK_IMLIB="gdk_imlib utils"],[
+- GDK_IMLIB=""
+- AC_MSG_WARN([*** gdk_imlib will not be built ***])])
+-
+ AC_MSG_CHECKING(whether to build gmodulized imlib)
+
+ AC_ARG_ENABLE(modules, [ --disable-modules Disables dynamic module loading],[
diff --git a/arch/tde-deps/lcms/.SRCINFO b/arch/tde-deps/lcms/.SRCINFO
new file mode 100644
index 000000000..7121ba137
--- /dev/null
+++ b/arch/tde-deps/lcms/.SRCINFO
@@ -0,0 +1,21 @@
+pkgbase = lcms
+ pkgdesc = Lightweight color management development library/engine
+ pkgver = 1.19
+ pkgrel = 7
+ url = http://www.littlecms.com
+ arch = x86_64
+ arch = i686
+ license = custom
+ makedepends = python2
+ depends = libtiff
+ source = https://downloads.sourceforge.net/sourceforge/lcms/lcms-1.19.tar.gz
+ source = cve-2013-4276.patch
+ sha256sums = 80ae32cb9f568af4dc7ee4d3c05a4c31fc513fc3e31730fed0ce7378237273a9
+ sha256sums = cd10cc5ce791ae782b1257e6181a71cbdb685b705779c9ef2ceffc7fb2021bd0
+
+pkgname = lcms
+
+pkgname = python2-lcms
+ pkgdesc = LittleCMS Python bindings
+ depends = lcms
+
diff --git a/arch/tde-deps/lcms/PKGBUILD b/arch/tde-deps/lcms/PKGBUILD
new file mode 100644
index 000000000..8471514bb
--- /dev/null
+++ b/arch/tde-deps/lcms/PKGBUILD
@@ -0,0 +1,59 @@
+# Maintainer: Tobias Kieslich <neri@archlinux.org>
+# Contributor: Ben <contrasutra@myrealbox.com>
+
+pkgbase=lcms
+pkgname=(lcms)
+pkgver=1.19
+pkgrel=7.1
+pkgdesc='Lightweight color management development library/engine'
+arch=('i686' 'x86_64' 'aarch64' 'armv7h' 'powerpc64le')
+license=('custom')
+depends=('libtiff')
+#makedepends=('python2')
+url='http://www.littlecms.com'
+source=("https://downloads.sourceforge.net/sourceforge/${pkgbase}/${pkgbase}-${pkgver}.tar.gz"
+ 'cve-2013-4276.patch')
+sha256sums=('80ae32cb9f568af4dc7ee4d3c05a4c31fc513fc3e31730fed0ce7378237273a9'
+ 'cd10cc5ce791ae782b1257e6181a71cbdb685b705779c9ef2ceffc7fb2021bd0')
+
+prepare() {
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+
+ patch -Np1 -i ../cve-2013-4276.patch
+
+ cp -a /usr/share/libtool/build-aux/config.guess .
+ cp -a /usr/share/libtool/build-aux/config.sub .
+}
+
+build() {
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+
+ ./configure \
+ --prefix=/usr \
+ --without-python
+ make
+ #make -C python
+}
+
+package_lcms() {
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+ install -D -m0644 COPYING \
+ "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+
+ rm -rf "${pkgdir}/usr/lib/python2.7/"
+}
+
+#package_python2-lcms() {
+# pkgdesc='LittleCMS Python bindings'
+# depends=('lcms')
+#
+# cd "${srcdir}/${pkgbase}-${pkgver}"
+#
+# make DESTDIR="${pkgdir}" install
+# install -D -m0644 COPYING \
+# "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+#
+# rm -rf "${pkgdir}/usr/"{bin,include,lib/{pkgconfig,liblcms.*},share/man}
+#}
diff --git a/arch/tde-deps/lcms/cve-2013-4276.patch b/arch/tde-deps/lcms/cve-2013-4276.patch
new file mode 100644
index 000000000..8f2f32297
--- /dev/null
+++ b/arch/tde-deps/lcms/cve-2013-4276.patch
@@ -0,0 +1,62 @@
+diff -ur lcms-1.19.dfsg/samples/icctrans.c lcms-1.19.dfsg-patched/samples/icctrans.c
+--- lcms-1.19.dfsg/samples/icctrans.c 2009-10-30 15:57:45.000000000 +0000
++++ lcms-1.19.dfsg-patched/samples/icctrans.c 2013-08-06 11:53:14.385266647 +0100
+@@ -86,6 +86,8 @@
+ static LPcmsNAMEDCOLORLIST InputColorant = NULL;
+ static LPcmsNAMEDCOLORLIST OutputColorant = NULL;
+
++unsigned int Buffer_size = 4096;
++
+
+ // isatty replacement
+
+@@ -500,7 +502,7 @@
+
+ Prefix[0] = 0;
+ if (!lTerse)
+- sprintf(Prefix, "%s=", C);
++ snprintf(Prefix, 20, "%s=", C);
+
+ if (InHexa)
+ {
+@@ -648,7 +650,9 @@
+ static
+ void GetLine(char* Buffer)
+ {
+- scanf("%s", Buffer);
++ char User_buffer[Buffer_size];
++ fgets(User_buffer, (Buffer_size - 1), stdin);
++ sscanf(User_buffer,"%s", Buffer);
+
+ if (toupper(Buffer[0]) == 'Q') { // Quit?
+
+@@ -668,7 +672,7 @@
+ static
+ double GetAnswer(const char* Prompt, double Range)
+ {
+- char Buffer[4096];
++ char Buffer[Buffer_size];
+ double val = 0.0;
+
+ if (Range == 0.0) { // Range 0 means double value
+@@ -738,7 +742,7 @@
+ static
+ WORD GetIndex(void)
+ {
+- char Buffer[4096], Name[40], Prefix[40], Suffix[40];
++ char Buffer[Buffer_size], Name[40], Prefix[40], Suffix[40];
+ int index, max;
+
+ max = cmsNamedColorCount(hTrans)-1;
+diff -ur lcms-1.19.dfsg/tifficc/tiffdiff.c lcms-1.19.dfsg-patched/tifficc/tiffdiff.c
+--- lcms-1.19.dfsg/tifficc/tiffdiff.c 2009-10-30 15:57:46.000000000 +0000
++++ lcms-1.19.dfsg-patched/tifficc/tiffdiff.c 2013-08-06 11:49:06.698951157 +0100
+@@ -633,7 +633,7 @@
+ cmsIT8SetSheetType(hIT8, "TIFFDIFF");
+
+
+- sprintf(Buffer, "Differences between %s and %s", TiffName1, TiffName2);
++ snprintf(Buffer, 256, "Differences between %s and %s", TiffName1, TiffName2);
+
+ cmsIT8SetComment(hIT8, Buffer);
+
diff --git a/arch/tde-deps/libofx/PKGBUILD b/arch/tde-deps/libofx/PKGBUILD
new file mode 100644
index 000000000..c96953d15
--- /dev/null
+++ b/arch/tde-deps/libofx/PKGBUILD
@@ -0,0 +1,43 @@
+# Maintainer: Jaroslav Lichtblau <svetlemodry@archlinux.org>
+# Contributor: Aaron Griffin <aaron@archlinux.org>
+
+pkgbase=libofx
+pkgname=('libofx' 'libofx-doc')
+pkgver=0.10.9
+pkgrel=1
+pkgdesc="API for the OFX banking standard"
+arch=('powerpc64le')
+url="https://github.com/libofx"
+license=('GPL')
+depends=('opensp' 'curl' 'libxml++2.6')
+checkdepends=('gnupg')
+source=(https://github.com/$pkgname/$pkgname/releases/download/$pkgver/$pkgname-$pkgver.tar.gz)
+sha256sums=('1ca89ff7d681c9edad312172ac464231a8de686e653213612f9417492cef0d37')
+
+build() {
+ cd $pkgbase-$pkgver
+ ./configure --prefix=/usr
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+ make CXXFLAGS+=-std=c++11
+}
+
+check() {
+ cd $pkgbase-$pkgver
+ make check
+}
+
+package_libofx() {
+ options=('!docs')
+
+ cd $pkgbase-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
+package_libofx-doc() {
+ pkgdesc="Documention of the OFX banking standard API"
+ depends=()
+
+ cd $pkgbase-$pkgver
+ make DESTDIR="$pkgdir" install-docDATA
+ make -C doc DESTDIR="$pkgdir" install
+}
diff --git a/arch/tde-deps/libxml++2.6/PKGBUILD b/arch/tde-deps/libxml++2.6/PKGBUILD
new file mode 100644
index 000000000..56686585b
--- /dev/null
+++ b/arch/tde-deps/libxml++2.6/PKGBUILD
@@ -0,0 +1,55 @@
+# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+# Contributor: damir <damir@archlinux.org>
+
+pkgbase=libxml++2.6
+pkgname=(libxml++2.6 libxml++2.6-docs)
+pkgver=2.42.1
+pkgrel=1
+pkgdesc="C++ bindings to libxml2"
+url="https://libxmlplusplus.github.io/libxmlplusplus/"
+arch=('powerpc64le')
+license=(LGPL)
+depends=(libxml2 glibmm)
+makedepends=(git meson mm-common glibmm-docs)
+options=(!emptydirs)
+_commit=ceedcb1ca7462305cbca16464bbc5ea50d89c356 # tags/2.42.1^0
+source=("git+https://github.com/libxmlplusplus/libxmlplusplus#commit=$_commit")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd libxmlplusplus
+ git describe --tags | sed 's/-/+/g'
+}
+
+prepare() {
+ cd libxmlplusplus
+}
+
+build() {
+ arch-meson libxmlplusplus build -D maintainer-mode=true
+ meson compile -C build
+}
+
+check() {
+ meson test -C build --print-errorlogs
+}
+
+package_libxml++2.6() {
+ provides=("libxml++2=$pkgver" libxml++-2.6.so)
+ conflicts=(libxml++2)
+ replaces=(libxml++2)
+
+ meson install -C build --destdir "$pkgdir"
+
+ # Split -docs
+ mkdir -p docs/usr/share
+ mv -t docs/usr/share "$pkgdir"/usr/share/{devhelp,doc}
+}
+
+package_libxml++2.6-docs() {
+ pkgdesc+=" (documentation)"
+ depends=()
+ options=(!strip)
+
+ mv -t "$pkgdir" docs/*
+}
diff --git a/arch/tde-deps/opensc/PKGBUILD b/arch/tde-deps/opensc/PKGBUILD
new file mode 100644
index 000000000..2195152d9
--- /dev/null
+++ b/arch/tde-deps/opensc/PKGBUILD
@@ -0,0 +1,52 @@
+# Maintainer: Alad
+# Contributor: Timothy Redaelli <timothy.redaelli@gmail.com>
+# Contributor: Sébastien Luttringer
+# Contributor: kevku <kevku@msn.com>
+
+pkgname=opensc
+pkgver=0.23.0
+pkgrel=1
+pkgdesc='Tools and libraries for smart cards'
+arch=('powerpc64le')
+url='https://github.com/OpenSC/OpenSC/wiki'
+license=('LGPL')
+backup=('etc/opensc.conf')
+makedepends=('docbook-xsl')
+depends=('pcsclite' 'glib2' 'libltdl')
+options=(!emptydirs !lto)
+source=("https://github.com/OpenSC/OpenSC/releases/download/$pkgver/opensc-$pkgver.tar.gz")
+sha512sums=('cd102cd64e719c59153960a4921b7525055045f16e6f6ffa8c9def6ce999a9c5098267b41f8753b41107f626bea20c34561002f5d38eddb4ce6b371913a17a1b')
+
+build() {
+ cd $pkgname-$pkgver
+
+ _sheetdir=(/usr/share/xml/docbook/xsl-stylesheets-*-nons)
+
+ ./bootstrap
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --with-completiondir=/usr/share/bash-completion/completions \
+ --enable-man \
+ --enable-doc \
+ --enable-readline \
+ --enable-openssl \
+ --enable-pcsc \
+ --enable-zlib \
+ --enable-sm \
+ --with-xsl-stylesheetsdir="$_sheetdir"
+
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
+ make
+}
+
+package(){
+ cd $pkgname-$pkgver
+
+ make DESTDIR="$pkgdir" install
+
+ install -D -m644 etc/opensc.conf "$pkgdir/etc/opensc.conf"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/arch/tde-deps/perl-config-autoconf/PKGBUILD b/arch/tde-deps/perl-config-autoconf/PKGBUILD
new file mode 100644
index 000000000..f3239c047
--- /dev/null
+++ b/arch/tde-deps/perl-config-autoconf/PKGBUILD
@@ -0,0 +1,39 @@
+# Maintainer: Rémy Oudompheng <remy@archlinux.org>
+# Contributor: John D Jones III AKA jnbek <jnbek1972 -_AT_- g m a i l -_Dot_- com>
+# Generator : CPANPLUS::Dist::Arch 1.32
+
+pkgname='perl-config-autoconf'
+_dist="Config-AutoConf"
+pkgver=0.320
+pkgrel=1
+pkgdesc="A module to implement some of AutoConf macros in pure perl."
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl-capture-tiny' 'perl-file-slurper')
+makedepends=('bison' 'flex' 'gawk' 'grep' 'pkg-config' 'sed')
+url='https://metacpan.org/release/Config-AutoConf'
+source=("https://search.cpan.org/CPAN/authors/id/A/AM/AMBS/${_dist}-${pkgver}.tar.gz")
+md5sums=('71664b2864232e265179ac29298e0916')
+sha256sums=('bb57a958ef49d3f7162276dae14a7bd5af43fd1d8513231af35d665459454023')
+
+build() {
+ cd "${srcdir}/${_dist}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
+ perl Makefile.PL
+ make
+}
+
+check() {
+ cd "${srcdir}/${_dist}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1
+ make test
+}
+
+package() {
+ cd "${srcdir}/${_dist}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ make install INSTALLDIRS=vendor DESTDIR="$pkgdir"
+}
diff --git a/arch/tde-deps/perl-extutils-libbuilder/PKGBUILD b/arch/tde-deps/perl-extutils-libbuilder/PKGBUILD
new file mode 100644
index 000000000..ef80ce3b7
--- /dev/null
+++ b/arch/tde-deps/perl-extutils-libbuilder/PKGBUILD
@@ -0,0 +1,34 @@
+# Maintainer: Rémy Oudompheng <remy@archlinux.org>
+
+pkgname='perl-extutils-libbuilder'
+_dist="ExtUtils-LibBuilder"
+pkgver=0.08
+pkgrel=10
+pkgdesc="A tools to build C libraries"
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl')
+makedepends=('perl-module-build')
+url="https://metacpan.org/release/${_dist}"
+source=("https://search.cpan.org/CPAN/authors/id/A/AM/AMBS/${_dist}-${pkgver}.tar.gz")
+sha256sums=('c51171e06de53039f0bca1d97a6471ec37941ff59e8a3d1cb170ebdd2573b5d2')
+
+build() {
+ cd "${srcdir}/${_dist}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ perl Build.PL
+ ./Build
+}
+
+check() {
+ cd "${srcdir}/${_dist}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ ./Build test
+}
+
+package() {
+ cd "${srcdir}/${_dist}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ ./Build install installdirs=vendor destdir="$pkgdir"
+}
diff --git a/arch/tde-deps/perl-file-slurper/PKGBUILD b/arch/tde-deps/perl-file-slurper/PKGBUILD
new file mode 100644
index 000000000..6729ac806
--- /dev/null
+++ b/arch/tde-deps/perl-file-slurper/PKGBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Rémy Oudompheng <remy@archlinux.org>
+
+pkgname=perl-file-slurper
+_dist=File-Slurper
+pkgver=0.013
+pkgrel=1
+pkgdesc="A simple, sane and efficient module to slurp a file"
+arch=('any')
+url="https://metacpan.org/release/${_dist}"
+license=('PerlArtistic' 'GPL')
+depends=('perl')
+checkdepends=('perl-test-warnings')
+options=('!emptydirs')
+source=(https://search.cpan.org/CPAN/authors/id/L/LE/LEONT/${_dist}-${pkgver}.tar.gz)
+sha256sums=('e2f6a4029a6a242d50054044f1fb86770b9b5cc4daeb1a967f91ffb42716a8c5')
+
+build() {
+ cd "${srcdir}/${_dist}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
+ perl Makefile.PL
+ make
+}
+
+check() {
+ cd "${srcdir}/${_dist}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1
+ make test
+}
+
+package() {
+ cd "${srcdir}/${_dist}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ make install INSTALLDIRS=vendor DESTDIR="$pkgdir"
+}
diff --git a/arch/tde-deps/perl-text-bibtex/PKGBUILD b/arch/tde-deps/perl-text-bibtex/PKGBUILD
new file mode 100644
index 000000000..203b53875
--- /dev/null
+++ b/arch/tde-deps/perl-text-bibtex/PKGBUILD
@@ -0,0 +1,46 @@
+# Maintainer: Rémy Oudompheng <remy@archlinux.org>
+
+pkgname=perl-text-bibtex
+_dist=Text-BibTeX
+pkgver=0.89
+pkgrel=1
+pkgdesc="Perl interface to read and parse BibTeX files"
+arch=('powerpc64le')
+url="https://metacpan.org/release/${_dist}"
+license=('PerlArtistic' 'GPL')
+depends=('perl')
+makedepends=('perl-module-build'
+ 'perl-config-autoconf'
+ 'perl-extutils-libbuilder')
+options=('!emptydirs')
+source=(https://search.cpan.org/CPAN/authors/id/A/AM/AMBS/${_dist}-${pkgver}.tar.gz)
+# Checksums from http://search.cpan.org/CPAN/authors/id/A/AM/AMBS/CHECKSUMS
+md5sums=('67fa6d9c03c659627d9fd58bb380c1fe')
+sha256sums=('88a78ebf088ec7502f401c5a2b138c862cf5458534b773223bbf3aaf41224196')
+
+prepare() {
+ cd "${srcdir}/${_dist}-${pkgver}"
+ # Don't install to /usr/lib64
+ sed -i s,lib64,lib,g Build.PL
+}
+
+build() {
+ cd "${srcdir}/${_dist}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
+ perl Build.PL
+ ./Build
+}
+
+check() {
+ cd "${srcdir}/${_dist}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1
+ ./Build test
+}
+
+package() {
+ cd "${srcdir}/${_dist}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ ./Build install installdirs=vendor destdir="$pkgdir"
+}
diff --git a/arch/tde-deps/pod2man/.SRCINFO b/arch/tde-deps/pod2man/.SRCINFO
new file mode 100644
index 000000000..412bde20b
--- /dev/null
+++ b/arch/tde-deps/pod2man/.SRCINFO
@@ -0,0 +1,12 @@
+pkgbase = pod2man
+ pkgdesc = Make pod2man easily accessible
+ pkgver = 5.30.2
+ pkgrel = 1
+ url = https://perl.org/
+ arch = x86_64
+ license = GPL
+ license = PerlArtistic
+ depends = perl
+
+pkgname = pod2man
+
diff --git a/arch/tde-deps/pod2man/.gitignore b/arch/tde-deps/pod2man/.gitignore
new file mode 100644
index 000000000..b3cd27837
--- /dev/null
+++ b/arch/tde-deps/pod2man/.gitignore
@@ -0,0 +1,6 @@
+pkg
+src
+*.gz
+*.xz
+*.bak
+*.new
diff --git a/arch/tde-deps/pod2man/PKGBUILD b/arch/tde-deps/pod2man/PKGBUILD
new file mode 100644
index 000000000..eacfb42d0
--- /dev/null
+++ b/arch/tde-deps/pod2man/PKGBUILD
@@ -0,0 +1,22 @@
+# Maintainer: Fernando Ortiz <nandub+arch@nandub.info >
+# Contributor: Alexander F. Rødseth <xyproto@archlinux.org>
+
+pkgname=pod2man
+pkgver=5.30.2
+pkgrel=1
+pkgdesc='Make pod2man easily accessible'
+arch=('i686' 'x86_64' 'aarch64' 'armv7h' 'powerpc64le')
+license=(GPL PerlArtistic)
+url='https://perl.org/'
+depends=(perl)
+
+package() {
+ # perl 5 places pod2man in /usr/bin/core_perl instead of /usr/bin,
+ # for unknown reasons. This creates a symlink in what is what is now a more
+ # conventional location.
+
+ install -d "$pkgdir/usr/bin"
+ ln -s /usr/bin/core_perl/pod2man "$pkgdir/usr/bin/pod2man"
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/arch/tde-deps/pod2man/pkgsum.sh b/arch/tde-deps/pod2man/pkgsum.sh
new file mode 100755
index 000000000..e908ad353
--- /dev/null
+++ b/arch/tde-deps/pod2man/pkgsum.sh
@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+
+#taken from https://bbs.archlinux.org/viewtopic.php?id=131666 by falconindy
+awk -v newsums="$(makepkg -g)" '
+BEGIN {
+ if (!newsums) exit 1
+}
+
+/^[[:blank:]]*(md|sha)[[:digit:]]+sums=/,/\)[[:blank:]]*$/ {
+ if (!i) print newsums; i++
+ next
+}
+
+1
+' PKGBUILD > PKGBUILD.new && mv PKGBUILD{.new,} \ No newline at end of file
diff --git a/arch/tde-deps/pod2man/update.sh b/arch/tde-deps/pod2man/update.sh
new file mode 100755
index 000000000..b176cad88
--- /dev/null
+++ b/arch/tde-deps/pod2man/update.sh
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+
+get_latest() {
+ wget -q -O- 'https://github.com/kimwalisch/primesieve/wiki/Downloads' | \
+ sed -n 's,.*primesieve-\([0-9][^>]*\)\.tar.*,\1,p' | \
+ grep -v '\(linux\|mac\|win\)' | \
+ sort -r | \
+ head -1
+}
+
+latest_version=$1
+#latest_version=$(get_latest)
+current_version=$(cat PKGBUILD | grep pkgver= | awk -F'=' '{print $2}')
+
+if ! [ "$latest_version" = "$current_version" ]; then
+ echo Updating the package with the latest version
+ echo latest: $latest_version
+ echo current: $current_version
+ sed -i.bak "s/$current_version/$latest_version/g" PKGBUILD
+ sed -i.bak "s/pkgrel=[^d.]/pkgrel=1/g" PKGBUILD
+ ./pkgsum.sh
+ if which makepkg &> /dev/null; then
+ makepkg --printsrcinfo > .SRCINFO
+ else
+ mksrcinfo
+ fi
+else
+ echo Nothing to update.
+fi
diff --git a/arch/tde-deps/sword/PKGBUILD b/arch/tde-deps/sword/PKGBUILD
new file mode 100644
index 000000000..37b95756f
--- /dev/null
+++ b/arch/tde-deps/sword/PKGBUILD
@@ -0,0 +1,52 @@
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Maintainer: Caleb Maclennan <caleb@alerque.com>
+# Maintainer: T.J. Townsend <blakkheim@archlinux.org>
+# Contributor: SanskritFritz (gmail)
+# Contributor: Alexander Rødseth
+# Contributor: Andrea Scarpino
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor: TripleE <eric1548@yahoo.com>
+# Contributor: Dominic Tubach
+
+pkgbase=sword
+pkgname=(sword python-sword)
+_mainver=1.9
+pkgver=1.9.0
+pkgrel=9
+pkgdesc="Library for Bible study programs"
+arch=('powerpc64le')
+url="https://www.crosswire.org/sword/"
+license=('GPL')
+makedepends=('curl' 'clucene' 'swig' 'cmake' 'python')
+source=("https://www.crosswire.org/ftpmirror/pub/$pkgbase/source/v$_mainver/$pkgbase-$pkgver.tar.gz")
+sha512sums=('9ed3fbb5024af1f93b1473bae0d95534d02a5b00b3c9d41a0f855cee8106dc4e330844080adbee7c3f74c0e5ce1480bf16c87c842421337a341f641bae11137f')
+
+build() {
+ # http://site.icu-project.org/download/61#TOC-Migration-Issues
+ CXXFLAGS+=' -DU_USING_ICU_NAMESPACE=1'
+
+ #./configure --prefix=/usr --libdir=/usr/lib --sysconfdir=/etc
+ cmake -B build -S $pkgbase-$pkgver \
+ -DCMAKE_BUILD_TYPE='None' \
+ -DLIBSWORD_LIBRARY_TYPE="Shared" \
+ -DSYSCONF_INSTALL_DIR='/etc' \
+ -DSWORD_BUILD_TESTS="Yes" \
+ -DSWORD_PYTHON_3=TRUE \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -Wno-dev
+ cmake --build build
+}
+
+package_sword() {
+ depends=('curl' 'clucene' 'xz')
+ backup=('etc/sword.conf')
+
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+package_python-sword() {
+ depends=('sword' 'python')
+
+ cd build/bindings/swig/python3
+ python setup.py install --root="$pkgdir" --prefix=/usr -O1 --skip-build
+}
diff --git a/arch/tde-deps/tor/PKGBUILD b/arch/tde-deps/tor/PKGBUILD
new file mode 100644
index 000000000..537b2902d
--- /dev/null
+++ b/arch/tde-deps/tor/PKGBUILD
@@ -0,0 +1,69 @@
+# Maintainer: Lukas Fleischer <lfleischer@archlinux.org>
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
+# Maintainer: kpcyrd <kpcyrd[at]archlinux[dot]org>
+# Contributor: Daniel Micay <danielmicay@gmail.com>
+# Contributor: simo <simo@archlinux.org>
+# Contributor: Sid Karunaratne
+
+pkgname=tor
+pkgver=0.4.7.11
+pkgrel=1
+pkgdesc='Anonymizing overlay network.'
+arch=('powerpc64le')
+url='https://www.torproject.org/download/tor/'
+license=('BSD')
+depends=('openssl' 'libevent' 'bash' 'libseccomp' 'zstd' 'libcap' 'systemd-libs'
+ 'libsystemd.so' 'libzstd.so' 'libseccomp.so' 'libcap.so')
+optdepends=('torsocks: for torify')
+makedepends=('ca-certificates' 'systemd')
+backup=('etc/tor/torrc')
+source=("https://dist.torproject.org/${pkgname}-${pkgver}.tar.gz"{,.sha256sum{,.asc}}
+ 'torrc.patch'
+ 'tor.sysusers'
+ 'tor.tmpfiles'
+ 'tor.service')
+b2sums=('2d743e7d0aea63e76f6e24aa235792af8691fde419f56bbdf8c6ee865250a09ec06454ec84abac8ba47e3d61a363c937fc050376172d3ec6b0815998d1c8679e'
+ '1e49ba88ae21af6589a9815603ee375cc0dc85fcd8dd5a5f52cd44659438874ae9d10b09b7f15cadd2c30d2e8012a27be4233dcb19195d4627f19a59ccf68d0b'
+ 'SKIP'
+ '3359e138d823a77df2a42ce3fe8c6ecb4004e9ec191863db7857aceea7c136c78f09518b1a199dfd3215f5d61f1c060f4a0e2141c5bdb6b847af60fb6e9a81a7'
+ '9053da53926f2120ac57b6c1442238f5bbd89bf9270347c4e00b721b39939bebc6adfcf814a9d7289dfd14d085d91c193529305336db93190da5b7f586a031df'
+ '5d55d9a7e42b6ce78b8ab985bab37afe8f0bacddb5abd895c4a490adb8f98b9422f90b40066fef05ecf37b7b21e80aadc615c4b7f6e12b05581304113a1b1f1d'
+ '327c1a35c3d4c44f93edb47959c8c41ab6af4cbfcbb8f4e9f54f2f69d17d148bf85e2d2c8aefe2d3165e123056dd68a248af78d1ba713b94a4e6d27a9cf412f1')
+validpgpkeys=(
+ '2133BC600AB133E1D826D173FE43009C4607B1FB' # Nick Mathewson
+ 'B74417EDDF22AC9F9E90F49142E86A2A11F48D36' # David Goulet
+ '1C1BC007A9F607AA8152C040BEA7B180B1491921' # Alexander Færøy
+)
+
+prepare() {
+ # verify the signed sums match the expected source tarball
+ sha256sum -c ${pkgname}-${pkgver}.tar.gz.sha256sum
+ cd ${pkgname}-${pkgver}
+ # uncomment essential config sections in the torrc file
+ patch -Np1 < "${srcdir}/torrc.patch"
+}
+
+build() {
+ cd ${pkgname}-${pkgver}
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+
+ make DESTDIR="${pkgdir}" install
+ mv "${pkgdir}"/etc/tor/torrc{.sample,}
+
+ # install arch custom files
+ install -Dm 644 "${srcdir}"/*.service -t "${pkgdir}"/usr/lib/systemd/system
+ install -Dm 644 "${srcdir}"/tor.sysusers "${pkgdir}"/usr/lib/sysusers.d/tor.conf
+ install -Dm 644 "${srcdir}"/tor.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/tor.conf
+
+ install -Dm 644 LICENSE -t "${pkgdir}"/usr/share/licenses/${pkgname}
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/arch/tde-deps/tor/keys/pgp/1C1BC007A9F607AA8152C040BEA7B180B1491921.asc b/arch/tde-deps/tor/keys/pgp/1C1BC007A9F607AA8152C040BEA7B180B1491921.asc
new file mode 100644
index 000000000..9cc80960e
--- /dev/null
+++ b/arch/tde-deps/tor/keys/pgp/1C1BC007A9F607AA8152C040BEA7B180B1491921.asc
@@ -0,0 +1,43 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+IzfFlprFAg==
+=SCcY
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/arch/tde-deps/tor/keys/pgp/2133BC600AB133E1D826D173FE43009C4607B1FB.asc b/arch/tde-deps/tor/keys/pgp/2133BC600AB133E1D826D173FE43009C4607B1FB.asc
new file mode 100644
index 000000000..2332b8727
--- /dev/null
+++ b/arch/tde-deps/tor/keys/pgp/2133BC600AB133E1D826D173FE43009C4607B1FB.asc
@@ -0,0 +1,123 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQINBFfinwwBEADNzG/Q6YTrH7oSfUERhopwCWWn/gsprtnUFK+O4enXPXQlisGt
+OVNbc5GWoZibNPowjORN+kADB+ce+VBmVeh+4ZeJDjpsc+WXuVajDc0wNwG3I36m
+8uNRPLMftBcxS1zUsMpwaqff5sDoqlBTwrvfLpHT0W1ecJX8Ew10zim58DzwQisR
+Uv1rsGiyH/dFzs8m3jPdNjDZyyzGQK62hwp6Y/m11PiMYgGrvAa1ofjfkGRVxUgo
+UUG8JG/AhGvMnHJjV923A7I8MspOm4H76wlEQLesPHJ5WPSBXTZ5jVgdWdp50fPR
+JZOUT6gwkYF59SeZOcSFecdyuSb0W68/klD5PX0G8qQ5ko9beNm7Rs2aJKvY1MHU
+n5rb00aulQFaYLFJ7LOTDqYDUkKYp7n4hw1X1yXO1MUYyk9J9WNO/Uo2psKXcBsd
+ZjdEWj1dWHOhwswygndL7RxK/17psmod055S0uYkjA74J2eRSmPZ7ErIfUh85rQw
+DZyYKh7B6AGjcpA1YyrAh6BgyJncP9x21dmip0ENrfg5rpcfHpTrOF8To8fpo4/y
+vUL8kCxCCPJtkJiuXkGhV3oZsj2tWGvAclYqO7xe84vks+GgjG9Ydfga8JrvPMDz
+YLX7aTDnZRiU2Z+FvtABMjmmPjAHj3hMx/o25Na4bQ7wBAPEUiESsnh1HwARAQAB
+tCJOaWNrIE1hdGhld3NvbiA8bmlja21Ad2FuZ2FmdS5uZXQ+iQI+BBMBCAAoAhsB
+Ah4BAheABQsJCAcCBhUKCQgLAgUWAwIBAAUCX3sbcAUJEP592QAKCRD+QwCcRgex
++1VqD/9YksvGVLhmqk5GGk25NIepvq4upKPEt3oePZK/Bj9xNTMpUvmNa0+n6lER
+a9/bcdoEer8PRiTKbOAijR5rgySN2gEpjJSDTcql4q5C5RQoO11OqcC6gEBk93BG
+Z2Ur2PpNchxAmNH+hkVsmZVIbCVoYFXz2uNeT/q+0CJPzUGZYA8FadPdUeZ2lwa1
+lz7I9h2gNQID+IrqV8MEpgTD207ERjdB0C8zua7J/DbnlfZN4zbjsaL/y8RCJkk3
+yG1YG2ECDF5Q8bivkcYlSSTqrMo9WAiJLK7m03qKLfyKH5M9DM1kBCqppYPKEANB
+44vk++0GEyYQL2gjICkXO5XrxJAVkBm/RzKVFAMvRx0SBqCG2NiywspTiVrXRGEe
++0KQkkHI8bPPVcrLGHE+x19W6s8YWHTRJj8F1xJOBy37PW+o9OpX5cfmJosNRh4z
+VZFPnuS+ytC1QNL9DxUBxgKy1UCKrlb5WTb6sQh03xDEU25uoOB9UmITk3Wd9Moq
+R0F59EZ5cqN8TKdfSup94mI6ecDRPOw9akZ1LNFpbiJ5E5EAiATCd4SEh5PxBDt7
+YK6/38Ik4l8IoPinDSyJCVesJNRbWNIdwjpX31pplzK0GDE+1JLfHZJnVVD9X8ed
+QQpwPIeUbMN1XFd8kQs+xwCg6QQrtjRmLjjNDf/dnbmxSWoo67QjTmljayBNYXRo
+ZXdzb24gPG5pY2ttQGFsdW0ubWl0LmVkdT6JAkEEEwEIACsCGwECHgECF4ACGQEF
+CwkIBwIGFQoJCAsCBRYDAgEABQJfextlBQkQ/n3ZAAoJEP5DAJxGB7H7IPIP/06D
+yuBw1g5hzi3BSotr990P2kwOU7H0G9acB7wFHqQAX/m48KruaP9itxxaoZ+x1Ze7
+4KahXAI39bvR+yYfke27msKFkCMYuXFltBiLl/YLrc4Fcj/9+suq60J2cHGPryL4
+u35kcdFVXfm2TDrHef1yUNsJCw8P+qaUViD2OT4PezN/gg9uqzKJ1nIIUZAjvYND
+8AMZqmB2QsXCaeWhFESzs4fDbQ5ZcbKGmSuB/e+LVrVpNOAVh5KAKUDxYNGGJ93E
+37QCGp5oLbigEVuZwCMz5wktue+g4yslGwIrNfZ2EYL/grTGUKIZMjRHg6MH+1IB
+UyPgJG1AY8cCj+9VO2Vvqsp0WE9duY07UxjjpF+QUI8dkIP7DlbO1JMns8NRhVpp
+GuIo6R0bLLxHStZimS6h/DrDBulxNcSAziEZ7DSc0dHOLtyBjgt/kwEGqJJ9ROOQ
+nBcG9/Z+pHhS1RCGvl52A4peUAusPtekzLyt/KunUuUJxNODknq60rmH1+CBbJYZ
+Gi13e7gAG+6q0kMw//45poio4MhbkZ0hzv55b+37L6QrRTTV+bLbYWsobZisbwUp
+ck4AK3DYj9KEClRNyzvMtqgERmNXjgTDAtJpdFtOdwP3H0DgGvtlKkJbwkH/0G3p
+9uAYeLSsluk4XtpOGjUiDfbciFACAEn4DraMnuiftCROaWNrIE1hdGhld3NvbiA8
+bmlja21AZnJlZWhhdmVuLm5ldD6JAj4EEwEIACgCGwECHgECF4AFCwkIBwIGFQoJ
+CAsCBRYDAgEABQJfextxBQkQ/n3ZAAoJEP5DAJxGB7H7eBwP/R3OpDnx7JtFOq22
+z0jcLjPLwmP+QqgOlIvSiqj66SplpEhPHcgf4DgBu02RwE8ONAMo6McFvUH4tvI2
+NH3X8WET32APLe8/2cxhtZpH86gdnwTu1xGMXQxz5sRppIhOtoowGWh+/e/t9owA
+LOm/+IsHnxbX4ddIN6goB/mrlepRVRUODBnE0K9oZG7VnnrB73Ip0+hqaDVmiGdO
+n7LSggl7ip7VZ5hUHXwvHg3dUknKapucMXFCaqdelvYFt3NYQ2ZROAsAVLdi4k2d
+Y9/WGNCgFHbdSGurJ19yGwttv57t+GUsG3OXHEIMq52dkM4LOnbdVR2miV/jhFQ7
+J6i+mjZ5tYJiwrX9uFSOSzHbjWVCq5tlj1OHs18s0zDO523p2YWS2LWaiDpThnRU
+092iGsNJZHaJmzA0T+7Ti/uaqqY9CjshYSBdi0XUQ1LowzWDfBsVjV/u+BN80FYo
+szJzTAmiJW3GOrxbkhdb4nYptPKmY4YSSlLffOQ0y9Y+eUYMGe23xhejsYITS6TH
+OunWmb/jlgK12Rd8AyrZVtD64szxAYqSXJ9rx/k16KIl1z7JzJIRzBIrdHe8HTtu
+y9zs/oQgICPMrotKF6TCjHkH7prZFcCF09IjRcc8ihpZ/C991HS4X4pN1MdQMuEI
+WVIAjxKh++gMYYzMjXUqBsjXjuBhtCVOaWNrIE1hdGhld3NvbiA8bmlja21AdG9y
+cHJvamVjdC5vcmc+iQI+BBMBCAAoAhsBAh4BAheABQsJCAcCBhUKCQgLAgUWAwIB
+AAUCX3sbcAUJEP592QAKCRD+QwCcRgex+yGnD/96O7SIy+Ve+xNuJvxvhjZDzibl
+ME8SaQqH3iGLYpADbtvz1aEZEbaAUXMTs+yu0zRFtX0i8bYocy9QrvNCwepb1qeD
+pQd4IE2nFZgyTOMf6cjy3ITR8xhpWk1OVwLX91pnXkEN13As8xrLGr1+h+nM/ni3
+c56HDeWDihQwqTHhBJoNorrH+/nKtzZBNhfG0myiM/b9GxCH2YbOgMRIC9JuCPyg
+WOWVytOTysQWSKiIIvL/oMnW5DTGa5xXVt+iTdxTgLc+9+6pMkg/hVGHG3j4Af3w
+U1/H7bQMCNb+jz+txnCYV21t7ACouaQAMx+WYZD36hqXq+f5v9NRufXO667DaM7K
+q9UvQHGD0pIPM9TlOsshTl4AzBHAJIB4ixGscZR3H8cIlgbQye92GmgdJkw2x0UJ
+5WaU4J9g3iMnLeIA4j09Qmf5H8wXrTpLz0yTB/S1ESVjVv3BJSUhyn04rM/uDvfa
+wHUp8d4j1bstdGxepNFxrWlsK9zUV1olAJ8UZeC4sRmky2EbbF+Q9qXQuGpnWuJk
+7KyKyg9gJkJcbUCrsU2st1Gsip6pJ1TGTAVJMj4wInC90xQ2elnHm1AMjiTBBxY4
+g16GRoAmBolAmaEmkkJq/YfPM1Xpie//E3gjx75669abyKkmKAgckXgLJWjUVWu6
+JO3C810ImbNLySDEMLkCDQRX5TdLARAA43qD2AMaEUiock0YF+QMB3tfMn91qwwi
+qOI6umOCev3RMeUzkdd+5pYJVX5i3WQCwjjChPzDucC82z/m/wGrtphCCx4wyx2U
+ec0JzNXKjKfEDBMne0MwTncrPiwuy7k1UJD25n1n8ZwkcDwBE5snYZE5qAUTE84h
+6uIYPJgVYM6AKYiMHP1VRPU83YM5alMA+OffSThmlZ43+Gd/1X5aQ4xtRokV58Kw
+hTkTEWFUJmfcnroz5i6ZyUiWfLERmAuz7Ez8SXjvWtfdsebTPzlc6P/BfvfMgqnC
+zem5wgU07w9cgUaNrlHNBU0z2eGkrrE696VofMOxfixvkguzZjjHxtlidTT32w7V
+UYKF+f5jRlC6l0tQ+eyGLl1dPLMFOJi4G4o+KEZSCb9rCwyYB1JEHy+pkBMOe9rK
+NHDqPSDUB9YMkE9WpQNjlevO0mRaJ/HpEXcJYJ1KattxGtVXKhZMHHdqWwi9MBSF
+koThohK/PLl2gxFXIwRuGocSFt9Ea362g0QeY93EgMsjtXr4JnUTDBc1AjArkw1Y
+uu/VBB7GurNVV1zG5DP8/3WAsPGgKgGLwcEawD8cv4ZV3mhbVTWjxTeabVK8tJ6D
+4wVaaJKlI4alL1p0o/BHIbL6CIZGcJYkfZ1ydxJ8H1Ldc6KaGqE3LcRv3y22CXYC
+BpQM7wzoa78AEQEAAYkERAQYAQgADwIbAgUCX3sbpwUJEPvl3AIpwV0gBBkBCAAG
+BQJX5TdLAAoJEGr+5tSekrYB/5AQAK5d+GWYBO6NccLmgymjpNZZSk0mTyvf3qx0
+nOWxGYT5JP9s5oykm4IK59RdUm6lfpLRe6hZXcrLEXZvREg3MCqOMHDjaTJygC8C
+uv/JL7y5unc2/0fAPtYFYYgY/JLkwsOPiLIv0deidUDm1PelBBcFpJ3JtiEOfg9w
+4j/duxDo+F+UdMWGm5GngGFx4vrCFBSAaqhcY712my8KOIJXWOqtk631maG9XcfD
+BfjfuHvSd7jsiQkQ7g61h+Vbiq4+7vq9H4ikFUiRVVQ8JA+KmCcSWUZXVKflmHLT
+EbU1qTOr1ueWqfDbIiXSsVtrrncObWhL2snlZFxnBzPXtgKwJUks0T5U/D8Q37nL
+V23JnGk+f/SO9LzI+2GE7DTvllV0HLaTa6///lwQ9HZ4D7i9kSmZEPnI/YHwYqpN
+Pz//reJ/M4CoqWfFDzTRlBX18M/2d1pcc8kIEcncrWfMSg+16GAXTPusKt34z12g
+a4KZKIm+KDTeJOzL9xUpMX4Gc4IORzmQyVTzMyw6aOLNjeTpVSritb2wfvRbmUsD
+7GdPMlhPL6xQRXnorhuoV/9NfKbuZVb3FjfcGEVHY/i28j1Vd332U91u8lYqD14m
+RiVwcoC/qV0sK6/zPd/g4bp5xmNkjW2vr3qVQw3ckV4wlTMcl7/tRXLZj4DFHRJd
+hz3Q5fjvCRD+QwCcRgex+0I0EAC8cLhf7PXIhn13WSIQRsGt9hPor4TmbyLq2uEM
+n8zcHFA9xXlmXwmq8d9zx5yJKenloWluk2lIw0YxaO+oPFgIjz86Rta66VxdbvNM
+xpnyH5F1GJ7uFq+MEZ8ysJgHBBfYEfCteOGhsTCcJ85fZWwi3SL8n/GlERDbUq9K
+/GSGVZAZrlhc6NR0P3nWRm7DrUddqMNAWxnOkv9Exf+f6o5+PdhRvknv/nkCzhix
+6228Bbe0rOiwLEIpwq4Andnh+soXRffvgU59San+dwo5e2xdwtVi6BWEea6FPDLv
+A03csKT7jcQPdmDFHRXuzKQ9TK2QspMQKRawJCiE8E3o/mBpXXJjY6ddAZebqo7L
+9Zy4aZF9Ibxu2yc5IZumB8cjtMrvwAtKS8Ov+aAQSwX2SDFoDSxaxQmxZrKH/ssr
+8DepBmnwlVTfAC4p2hq1Xu3cTOc516DvzpqHHmUnoWPMHb3Ri+Bfg7KelqX5qCeF
+/GV/1ikJmw6HjorrPL0yv0m2rM2nYh9gZagQBrOyBz7DxFSZOgeLP4PvPggcl0f6
+I0eyVR9J/WxIBYERBbF3wjWv5HTNfdVr5O6T+olg7TkTIudVto4BU+Mu8/xI07QW
+fQSgZ4C1nbHqlsJoNYiSeMNTqXdzC75SezXWtKRjZxVXh4pUPY86ovIZ6MOYoLx9
+IVyUtbkCDQRX5Ti2ARAAnHWApVnCMmgWEXtMndUAknsl/CQaXFc4X7dNHuGF2ZXd
+bAjTX0LHhxRXbU/vNUtiq3SNv6I8ArdpIWNOsJBnBSC98z6z4bhvJLqLp9sz1foz
+wcoa5OpNEgoZoWNmUn+5sGcf8LJikUPfda0Qwm/XAFrPgQzerVE4uw0C6MITNYPw
+9psbtq1Aog2enbNfOko7UDCAtg8k+tsoUnPi6xil03xQtKclLMjGoyiIkBNFWeKW
+dgKlwl5CdzZXdsf9+0Sba0pIxFm5F58+CCIxlmfm4SZOUF3IcwYUr6G6o/nWvDUR
+y8iLwHHLrlihONAO+s+4q0Dqk5A0rlcRN/NaWfAFrW0blDGEiD4CoQkUn0AfWH+M
+9/L1kZ4Tg9b88kNrxed63q52EipzIqtc2XJz4K7+4txNL/YsHsGASi4orBtile/Q
+txmWSSRRvxuIUspbhsjH37xhxl0BZRlAa8H+M5zGrVhHkp7WN3p589vsFNMAz8Mv
+Z0ifAQQmRLlL55y64pYedX7SIzPHNRSQJ6ERDhqld6NNHBtZ74f143VrUwo8aBNm
+tz3yGGtVv6FJPQ+XXZ9xj3hui2eTZVrWTN4BRFieVvBYAO1sK00H+KdQiM4zErwX
+Sgiy7+L6UL+r7jHRXTADmUyyjBaPVDkD+yH4xqHz+/tCHYsaSMY4ffFVsTovvqsA
+EQEAAYkCJQQYAQgADwIbDAUCX3sbwgUJEPvkjAAKCRD+QwCcRgex+z/6D/0d9B2H
+oMt5hc9S9MMRRhVQeWRnDrVKMc9DLhIwwFPPusAt4G7FilHspPMtoJ22OIcEYZKC
+wSZC2j8Yt1PhW3bnOnHa7Er+06rTjU9hFFxn9orrsz83YIOZywLOL2yboew4omRk
+jBUiJDXRRnVhPwUR0Lz8rPCfGCa0b+IbbznZ0NLsCvnkYi5iMShvp6ZNszxnkvbW
+8+8lGnG6+yoSIwwD87KL2PDGENUIcv5rulZJHmFm7K8kThbnNTeWhmsuDuR7PNt2
+FZwQQ0s+It3DqZ7GFR5eBPmedTBwt7p4VzpUdRQ7ZDS9cXaYId1As4IanKQvQNbH
+G2HTujQ5KpMogB4PCyHlg7d1gnpXlRhW7zjEF7lQXlFnlcNZjI1uJ+suJW1vnQ4F
+Yt6TBq793ZWquWZYloassnwH2bFY3zNxajNm1A0NVKjwZTcvwthj1JvacHE4BdFU
+LK4/DJ5Bwdqa+5aiRpSeJq+ARwQRc/ZEuU90k4XpBXSLaZdzkAWr8J/KVk61FnlY
+e8BKq+1Pmu6VD+hnru//RYgtMNheHfgPy6QRTjRY1PhwvRcdxcwuFknUBBQ6fb3h
+obVvbPc3QOsbHn8xyxzPmpM7a1+9szXqNu22sV+O4Ya+5MGcS1JokyFVWa10WD0y
+wwDAcynzMET9pI0MXmqY1qKjlMQVc7lb4FLeXw==
+=y/Gu
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/arch/tde-deps/tor/keys/pgp/B74417EDDF22AC9F9E90F49142E86A2A11F48D36.asc b/arch/tde-deps/tor/keys/pgp/B74417EDDF22AC9F9E90F49142E86A2A11F48D36.asc
new file mode 100644
index 000000000..b3a6bfaca
--- /dev/null
+++ b/arch/tde-deps/tor/keys/pgp/B74417EDDF22AC9F9E90F49142E86A2A11F48D36.asc
@@ -0,0 +1,51 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+=Aw5d
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/arch/tde-deps/tor/tor.service b/arch/tde-deps/tor/tor.service
new file mode 100644
index 000000000..f91b63a08
--- /dev/null
+++ b/arch/tde-deps/tor/tor.service
@@ -0,0 +1,35 @@
+# tor.service -- this systemd configuration file for Tor sets up a
+# relatively conservative, hardened Tor service. You may need to
+# edit it if you are making changes to your Tor configuration that it
+# does not allow. Package maintainers: this should be a starting point
+# for your tor.service; it is not the last point.
+
+[Unit]
+Description=Anonymizing overlay network for TCP
+After=syslog.target network.target nss-lookup.target
+
+[Service]
+Type=notify
+NotifyAccess=all
+ExecStartPre=/usr/bin/tor -f /etc/tor/torrc --verify-config
+ExecStart=/usr/bin/tor -f /etc/tor/torrc
+ExecReload=/bin/kill -HUP ${MAINPID}
+KillSignal=SIGINT
+TimeoutSec=60
+Restart=on-failure
+WatchdogSec=1m
+LimitNOFILE=32768
+
+# Hardening
+PrivateTmp=yes
+PrivateDevices=yes
+ProtectHome=yes
+ProtectSystem=full
+ReadOnlyDirectories=/
+ReadWriteDirectories=-/var/lib/tor
+ReadWriteDirectories=-/var/log/tor
+NoNewPrivileges=yes
+CapabilityBoundingSet=CAP_SETUID CAP_SETGID CAP_NET_BIND_SERVICE CAP_DAC_READ_SEARCH
+
+[Install]
+WantedBy=multi-user.target
diff --git a/arch/tde-deps/tor/tor.sysusers b/arch/tde-deps/tor/tor.sysusers
new file mode 100644
index 000000000..1f039ff57
--- /dev/null
+++ b/arch/tde-deps/tor/tor.sysusers
@@ -0,0 +1 @@
+u tor 43 - /var/lib/tor
diff --git a/arch/tde-deps/tor/tor.tmpfiles b/arch/tde-deps/tor/tor.tmpfiles
new file mode 100644
index 000000000..ed8beb4b7
--- /dev/null
+++ b/arch/tde-deps/tor/tor.tmpfiles
@@ -0,0 +1 @@
+d /var/lib/tor 0700 tor tor - -
diff --git a/arch/tde-deps/tor/torrc.patch b/arch/tde-deps/tor/torrc.patch
new file mode 100644
index 000000000..0f3c849a4
--- /dev/null
+++ b/arch/tde-deps/tor/torrc.patch
@@ -0,0 +1,28 @@
+--- a/src/config/torrc.sample.in 2021-03-10 19:59:10.123456789 +0100
++++ b/src/config/torrc.sample.in 2021-03-10 19:59:10.123456789 +0100
+@@ -11,6 +11,7 @@
+ ##
+ ## Tor will look for this file in various places based on your platform:
+ ## https://www.torproject.org/docs/faq#torrc
++User tor
+
+ ## Tor opens a SOCKS proxy on port 9050 by default -- even if you don't
+ ## configure one below. Set "SOCKSPort 0" if you plan to run Tor only
+@@ -39,7 +40,7 @@
+ ## Send every possible message to @LOCALSTATEDIR@/log/tor/debug.log
+ #Log debug file @LOCALSTATEDIR@/log/tor/debug.log
+ ## Use the system log instead of Tor's logfiles
+-#Log notice syslog
++Log notice syslog
+ ## To send all messages to stderr:
+ #Log debug stderr
+
+@@ -50,7 +51,7 @@
+
+ ## The directory for keeping all the keys/etc. By default, we store
+ ## things in $HOME/.tor on Unix, and in Application Data\tor on Windows.
+-#DataDirectory @LOCALSTATEDIR@/lib/tor
++DataDirectory @LOCALSTATEDIR@/lib/tor
+
+ ## The port on which Tor will listen for local connections from Tor
+ ## controller applications, as documented in control-spec.txt.
diff --git a/arch/tde-deps/torsocks/PKGBUILD b/arch/tde-deps/torsocks/PKGBUILD
new file mode 100644
index 000000000..0db591399
--- /dev/null
+++ b/arch/tde-deps/torsocks/PKGBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
+# Contributor: Daniel Micay <danielmicay@gmail.com>
+# Contributor: Nicolas Pouillard <nicolas.pouillard@gmail.com>
+# Contributor: Rorschach <r0rschach@lavabit.com>
+
+pkgname=torsocks
+pkgver=2.3.0
+pkgrel=2
+pkgdesc='Wrapper to safely torify applications'
+url='https://gitweb.torproject.org/torsocks.git/'
+arch=('powerpc64le')
+license=('GPL2')
+depends=('tor')
+backup=("etc/tor/${pkgname}.conf")
+source=(https://people.torproject.org/~dgoulet/${pkgname}/${pkgname}-${pkgver}.tar.xz{,.asc})
+sha512sums=('4888caaffdcfebf3673e14f3491eae6aa84ca0a4a2a812ba7bdac2abb471307e89a3c5cffe7691fb6f190c7bd9ea455ee9a223d909a39152be8524f590be2031'
+ 'SKIP')
+validpgpkeys=('B74417EDDF22AC9F9E90F49142E86A2A11F48D36')
+
+build() {
+ cd ${pkgname}-${pkgver}
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/arch/tde-deps/torsocks/keys/pgp/B74417EDDF22AC9F9E90F49142E86A2A11F48D36.asc b/arch/tde-deps/torsocks/keys/pgp/B74417EDDF22AC9F9E90F49142E86A2A11F48D36.asc
new file mode 100644
index 000000000..33dd2bc7c
--- /dev/null
+++ b/arch/tde-deps/torsocks/keys/pgp/B74417EDDF22AC9F9E90F49142E86A2A11F48D36.asc
@@ -0,0 +1,66 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+isR9
+=/Stc
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/arch/tde-deps/xine-lib/010-xine-lib-dav1d-1.0.0-support.patch b/arch/tde-deps/xine-lib/010-xine-lib-dav1d-1.0.0-support.patch
new file mode 100644
index 000000000..aa0be9eef
--- /dev/null
+++ b/arch/tde-deps/xine-lib/010-xine-lib-dav1d-1.0.0-support.patch
@@ -0,0 +1,28 @@
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,5 @@
++ * Add dav1d 1.0.0 support.
++
+ xine-lib (1.2.12) 2022-03-09
+ * Add string tree library (generic info parser).
+ * Add OpenSL ES audio output plugin.
+--- a/src/video_dec/dav1d.c
++++ b/src/video_dec/dav1d.c
+@@ -544,11 +544,17 @@
+
+ /* multithreading */
+ ncpu = xine_cpu_count();
++#if DAV1D_API_VERSION_MAJOR > 5
++ settings.n_threads = ncpu + 1;
++ xprintf(stream->xine, XINE_VERBOSITY_DEBUG, LOG_MODULE ": "
++ "Using %d threads\n", settings.n_threads);
++#else
+ settings.n_frame_threads = (ncpu > 8) ? 4 : (ncpu < 2) ? 1 : ncpu/2;
+ settings.n_tile_threads = MAX(1, ncpu - settings.n_frame_threads + 1);
+ xprintf(stream->xine, XINE_VERBOSITY_DEBUG, LOG_MODULE ": "
+ "Using %d frame threads, %d tile threads\n",
+ settings.n_frame_threads, settings.n_tile_threads);
++#endif
+
+ /* dri frame allocator */
+ settings.allocator.cookie = this;
diff --git a/arch/tde-deps/xine-lib/020-xine-lib-ffmpeg-5.1-fix.patch b/arch/tde-deps/xine-lib/020-xine-lib-ffmpeg-5.1-fix.patch
new file mode 100644
index 000000000..baa21b2f0
--- /dev/null
+++ b/arch/tde-deps/xine-lib/020-xine-lib-ffmpeg-5.1-fix.patch
@@ -0,0 +1,330 @@
+--- a/m4/decoders.m4
++++ b/m4/decoders.m4
+@@ -134,13 +134,36 @@ a52_init ();
+ AC_DEFINE([HAVE_FFMPEG], 1, [Define this if you have the ffmpeg library])
+ dnl Check presence of ffmpeg/avutil.h to see if it's old or new
+ dnl style for headers. The new style would be preferred actually...
++ dnl Sigh. at least some 09/2022 ffmpeg version does violate the basic
++ dnl "get directly what you use directly" rule. especially,
++ dnl libavformat/avformat.h includes libavcodec/packet.h which uses
++ dnl (but not includes) libavutil/avutil.h. this means that a mere
++ dnl AC_CHECK_HEADERS([libavformat/avformat.h]) will fail strangely :-/
+ ac_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $FFMPEG_CFLAGS"
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CFLAGS $FFMPEG_CFLAGS $AVUTIL_CFLAGS"
+- AC_CHECK_HEADERS([ffmpeg/avutil.h])
+- AC_CHECK_HEADERS([libavutil/avutil.h])
+- AC_CHECK_HEADERS([libavutil/sha1.h])
+- AC_CHECK_HEADERS([libavutil/sha.h])
++ AC_CHECK_HEADERS([ffmpeg/avutil.h libavutil/avutil.h libavutil/sha1.h libavutil/mem.h libavutil/sha.h])
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
++#include <libavutil/avutil.h>
++#include <libavcodec/avcodec.h>
++ ]],[[]])], [have_avutil_avcodec_h=yes], [have_avutil_avcodec_h=no])
++ test x"$have_avutil_avcodec_h" == x"yes" && AC_DEFINE([HAVE_AVUTIL_AVCODEC_H],[1],
++ [Define this if you have libavutil/avutil.h and libavcodec/avcodec.h.])
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
++#include <libavutil/avutil.h>
++#include <libavcodec/avcodec.h>
++#include <libavformat/avformat.h>
++ ]],[[]])], [have_avformat_avformat_h=yes], [have_avformat_avformat_h=no])
++ test x"$have_avformat_avformat_h" == x"yes" && AC_DEFINE([HAVE_AVFORMAT_AVFORMAT_H],[1],
++ [Define this if you have libavformat/avformat.h.])
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
++#include <libavutil/avutil.h>
++#include <libavcodec/avcodec.h>
++#include <libavformat/avformat.h>
++#include <libavformat/avio.h>
++ ]],[[]])], [have_avformat_avio_h=yes], [have_avformat_avio_h=no])
++ test x"$have_avformat_avio_h" == x"yes" && AC_DEFINE([HAVE_AVFORMAT_AVIO_H],[1],
++ [Define this if you have libavformat/avformat.h.])
+ if test "$ac_cv_header_ffmpeg_avutil_h" = "yes" && test "$ac_cv_header_libavutil_avutil_h" = "yes"; then
+ AC_MSG_ERROR([old & new ffmpeg headers found - you need to clean up!])
+ fi
+--- a/m4/input.m4
++++ b/m4/input.m4
+@@ -229,6 +229,7 @@ AC_DEFUN([XINE_INPUT_PLUGINS], [
+ fi
+ if test x"$have_avformat" = x"yes"; then
+ AC_DEFINE([HAVE_AVFORMAT], 1, [Define this if you have libavformat installed])
++ AC_CHECK_HEADERS([libavformat/avformat.h])
+ fi
+ fi
+ AM_CONDITIONAL([ENABLE_AVFORMAT], [test x"$have_avformat" = x"yes"])
+--- a/src/combined/ffmpeg/demux_avformat.c
++++ b/src/combined/ffmpeg/demux_avformat.c
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2013-2021 the xine project
++ * Copyright (C) 2013-2022 the xine project
+ * Copyright (C) 2013-2020 Petri Hintukainen <phintuka@users.sourceforge.net>
+ *
+ * This file is part of xine, a free video player.
+@@ -29,6 +29,8 @@
+ #include <pthread.h>
+ #include <errno.h>
+
++#include <libavutil/avutil.h>
++#include <libavcodec/avcodec.h>
+ #include <libavformat/avformat.h>
+ #include <libavformat/avio.h>
+
+@@ -922,3 +924,4 @@ void *init_avformat_demux_plugin (xine_t
+ (void)data;
+ return (demux_class_t *)&this;
+ }
++
+--- a/src/combined/ffmpeg/ff_audio_decoder.c
++++ b/src/combined/ffmpeg/ff_audio_decoder.c
+@@ -31,13 +31,20 @@
+ #include <pthread.h>
+ #include <math.h>
+
+-#ifdef HAVE_FFMPEG_AVUTIL_H
+-# include <avcodec.h>
+-#else
+-# include <libavcodec/avcodec.h>
++#if defined(HAVE_LIBAVUTIL_AVUTIL_H)
++# include <libavutil/avutil.h>
++#endif
++
++#if defined(HAVE_LIBAVUTIL_MEM_H)
+ # include <libavutil/mem.h>
+ #endif
+
++#if defined(HAVE_AVUTIL_AVCODEC_H)
++# include <libavcodec/avcodec.h>
++#else
++# include <avcodec.h>
++#endif
++
+ #define LOG_MODULE "ffmpeg_audio_dec"
+ #define LOG_VERBOSE
+ /*
+--- a/src/combined/ffmpeg/ffmpeg_compat.h
++++ b/src/combined/ffmpeg/ffmpeg_compat.h
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2000-2021 the xine project
++ * Copyright (C) 2000-2022 the xine project
+ *
+ * This file is part of xine, a unix video player.
+ *
+@@ -25,22 +25,24 @@
+
+ #define XFF_INT_VERSION(major,minor,micro) ((major<<16)|(minor<<8)|micro)
+
+-#ifndef LIBAVCODEC_VERSION_INT
+-# if defined(LIBAVCODEC_VERSION_MAJOR) && defined(LIBAVCODEC_VERSION_MINOR)
+-# define LIBAVCODEC_VERSION_INT XFF_INT_VERSION(LIBAVCODEC_VERSION_MAJOR,LIBAVCODEC_VERSION_MINOR,0)
+-# else
+-# error ffmpeg headers must be included first !
+-# endif
++/** NOTE: since 2022-09-01, ffmpeg headers are more detached from each other.
++ * this goes that far:
++ * libavformat/avformat.h includes libavcodec/packet.h which uses
++ * (but not includes) libavutil/avutil.h :-/ */
++
++#if !defined(LIBAVUTIL_VERSION_INT) && defined(LIBAVUTIL_VERSION_MAJOR) && defined(LIBAVUTIL_VERSION_MINOR)
++# define LIBAVUTIL_VERSION_INT XFF_INT_VERSION(LIBAVUTIL_VERSION_MAJOR,LIBAVUTIL_VERSION_MINOR,0)
++#endif
++#if !defined(LIBAVUTIL_VERSION_INT)
++# error avutil.h must be included first !
+ #endif
+
+-#ifndef LIBAVUTIL_VERSION_INT
+-# if defined(LIBAVUTIL_VERSION_MAJOR) && defined(LIBAVUTIL_VERSION_MINOR)
+-# define LIBAVUTIL_VERSION_INT XFF_INT_VERSION(LIBAVUTIL_VERSION_MAJOR,LIBAVUTIL_VERSION_MINOR,0)
+-# else
+-# error ffmpeg headers must be included first !
+-# endif
++#if !defined(LIBAVCODEC_VERSION_INT) && defined(LIBAVCODEC_VERSION_MAJOR) && defined(LIBAVCODEC_VERSION_MINOR)
++# define LIBAVCODEC_VERSION_INT XFF_INT_VERSION(LIBAVCODEC_VERSION_MAJOR,LIBAVCODEC_VERSION_MINOR,0)
+ #endif
+
++#if defined(LIBAVCODEC_VERSION_INT)
++
+ #if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(52,0,0)
+ # define bits_per_sample bits_per_coded_sample
+ #endif
+@@ -136,38 +138,6 @@
+ # define XFF_VAAPI 2 /** << libavutil/hwcontext.h, libavutil/hwcontext_vaapi.h */
+ #endif
+
+-#if LIBAVUTIL_VERSION_INT >= XFF_INT_VERSION(52,0,0)
+-# define PIX_FMT_NONE AV_PIX_FMT_NONE
+-# define PIX_FMT_YUV420P AV_PIX_FMT_YUV420P
+-# define PIX_FMT_YUVJ420P AV_PIX_FMT_YUVJ420P
+-# define PIX_FMT_YUV444P AV_PIX_FMT_YUV444P
+-# define PIX_FMT_YUVJ444P AV_PIX_FMT_YUVJ444P
+-# define PIX_FMT_YUV410P AV_PIX_FMT_YUV410P
+-# define PIX_FMT_YUV411P AV_PIX_FMT_YUV411P
+-# define PIX_FMT_ARGB AV_PIX_FMT_ARGB
+-# define PIX_FMT_BGRA AV_PIX_FMT_BGRA
+-# define PIX_FMT_RGB24 AV_PIX_FMT_RGB24
+-# define PIX_FMT_BGR24 AV_PIX_FMT_BGR24
+-# define PIX_FMT_RGB555BE AV_PIX_FMT_RGB555BE
+-# define PIX_FMT_RGB555LE AV_PIX_FMT_RGB555LE
+-# define PIX_FMT_RGB565BE AV_PIX_FMT_RGB565BE
+-# define PIX_FMT_RGB565LE AV_PIX_FMT_RGB565LE
+-# define PIX_FMT_PAL8 AV_PIX_FMT_PAL8
+-# define PixelFormat AVPixelFormat
+-/* video_out/video_out_vaapi */
+-# if LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(59,0,100) /** << revise this */
+-# define PIX_FMT_VAAPI_VLD AV_PIX_FMT_VAAPI_VLD
+-# define PIX_FMT_VAAPI_IDCT AV_PIX_FMT_VAAPI_IDCT
+-# define PIX_FMT_VAAPI_MOCO AV_PIX_FMT_VAAPI_MOCO
+-# else
+-# define PIX_FMT_VAAPI_VLD AV_PIX_FMT_VAAPI
+-# define PIX_FMT_VAAPI_IDCT AV_PIX_FMT_VAAPI
+-# define PIX_FMT_VAAPI_MOCO AV_PIX_FMT_VAAPI
+-# endif
+-
+-# define CODEC_FLAG_BITEXACT AV_CODEC_FLAG_BITEXACT
+-#endif
+-
+ #if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(54,25,0)
+ /* dxr3/ffmpeg_encoder */
+ # define CODEC_ID_MPEG1VIDEO AV_CODEC_ID_MPEG1VIDEO
+@@ -194,10 +164,6 @@
+ /* ff_*_decoder mapping is already handled by mkcodeclists.pl */
+ #endif
+
+-#ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE
+-# define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000
+-#endif
+-
+ #if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(55,0,100)
+ # define XFF_AV_BUFFER 1
+ #endif
+@@ -290,5 +256,51 @@
+ # define XFF_AVCODEC_REGISTER_ALL() do {} while(0)
+ #endif
+
++#if LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(59,24,100)
++# define XFF_AUDIO_CHANNEL_LAYOUT 1 /* AVCodecContext.channels, .channel_leyout */
++#else
++# define XFF_AUDIO_CHANNEL_LAYOUT 2 /* AVCodecContext.ch_layout.nb_channels, .ch_layout.u.mask */
++#endif
++
++#ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE
++# define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000
++#endif
++
++#if LIBAVUTIL_VERSION_INT >= XFF_INT_VERSION(52,0,0)
++# define PIX_FMT_NONE AV_PIX_FMT_NONE
++# define PIX_FMT_YUV420P AV_PIX_FMT_YUV420P
++# define PIX_FMT_YUVJ420P AV_PIX_FMT_YUVJ420P
++# define PIX_FMT_YUV444P AV_PIX_FMT_YUV444P
++# define PIX_FMT_YUVJ444P AV_PIX_FMT_YUVJ444P
++# define PIX_FMT_YUV410P AV_PIX_FMT_YUV410P
++# define PIX_FMT_YUV411P AV_PIX_FMT_YUV411P
++# define PIX_FMT_ARGB AV_PIX_FMT_ARGB
++# define PIX_FMT_BGRA AV_PIX_FMT_BGRA
++# define PIX_FMT_RGB24 AV_PIX_FMT_RGB24
++# define PIX_FMT_BGR24 AV_PIX_FMT_BGR24
++# define PIX_FMT_RGB555BE AV_PIX_FMT_RGB555BE
++# define PIX_FMT_RGB555LE AV_PIX_FMT_RGB555LE
++# define PIX_FMT_RGB565BE AV_PIX_FMT_RGB565BE
++# define PIX_FMT_RGB565LE AV_PIX_FMT_RGB565LE
++# define PIX_FMT_PAL8 AV_PIX_FMT_PAL8
++# define PixelFormat AVPixelFormat
++/* video_out/video_out_vaapi */
++# if LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(59,0,100) /** << revise this */
++# define PIX_FMT_VAAPI_VLD AV_PIX_FMT_VAAPI_VLD
++# define PIX_FMT_VAAPI_IDCT AV_PIX_FMT_VAAPI_IDCT
++# define PIX_FMT_VAAPI_MOCO AV_PIX_FMT_VAAPI_MOCO
++# else
++# define PIX_FMT_VAAPI_VLD AV_PIX_FMT_VAAPI
++# define PIX_FMT_VAAPI_IDCT AV_PIX_FMT_VAAPI
++# define PIX_FMT_VAAPI_MOCO AV_PIX_FMT_VAAPI
++# endif
++
++# define CODEC_FLAG_BITEXACT AV_CODEC_FLAG_BITEXACT
++#endif
++
++#else /* defined(LIBAVCODEC_VERSION_INT) */
++# error avcodec.h must be included first !
++#endif /* defined(LIBAVCODEC_VERSION_INT) */
++
+ #endif /* XINE_AVCODEC_COMPAT_H */
+
+--- a/src/combined/ffmpeg/ffmpeg_decoder.c
++++ b/src/combined/ffmpeg/ffmpeg_decoder.c 2022-09-13 23:43:40.255615724 -0300
+@@ -26,12 +26,20 @@
+
+ #include <pthread.h>
+
+-#ifdef HAVE_FFMPEG_AVUTIL_H
+-# include <avcodec.h>
+-#else
+-# include <libavcodec/avcodec.h>
++#if defined(HAVE_LIBAVUTIL_AVUTIL_H)
++# include <libavutil/avutil.h>
++#endif
++
++#if defined(HAVE_LIBAVUTIL_MEM_H)
+ # include <libavutil/mem.h>
+ #endif
++
++#if defined(HAVE_AVUTIL_AVCODEC_H)
++# include <libavcodec/avcodec.h>
++#else
++# include <avcodec.h>
++#endif
++
+ #ifdef HAVE_AVFORMAT
+ # include <libavformat/avformat.h> // av_register_all()
+ #endif
+--- a/src/combined/ffmpeg/ff_video_decoder.c
++++ b/src/combined/ffmpeg/ff_video_decoder.c
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2001-2021 the xine project
++ * Copyright (C) 2001-2022 the xine project
+ *
+ * This file is part of xine, a free video player.
+ *
+@@ -32,13 +32,20 @@
+ #include <math.h>
+ #include <assert.h>
+
+-#ifdef HAVE_FFMPEG_AVUTIL_H
+-# include <avcodec.h>
+-#else
+-# include <libavcodec/avcodec.h>
++#if defined(HAVE_LIBAVUTIL_AVUTIL_H)
++# include <libavutil/avutil.h>
++#endif
++
++#if defined(HAVE_LIBAVUTIL_MEM_H)
+ # include <libavutil/mem.h>
+ #endif
+
++#if defined(HAVE_AVUTIL_AVCODEC_H)
++# include <libavcodec/avcodec.h>
++#else
++# include <avcodec.h>
++#endif
++
+ #define LOG_MODULE "ffmpeg_video_dec"
+ #define LOG_VERBOSE
+ /*
+--- a/src/combined/ffmpeg/input_avio.c
++++ b/src/combined/ffmpeg/input_avio.c 2022-09-13 23:43:40.255615724 -0300
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2013-2020 the xine project
++ * Copyright (C) 2013-2022 the xine project
+ * Copyright (C) 2013-2020 Petri Hintukainen <phintuka@users.sourceforge.net>
+ *
+ * This file is part of xine, a free video player.
+@@ -28,6 +28,8 @@
+ #include <string.h>
+ #include <pthread.h>
+
++#include <libavutil/avutil.h>
++#include <libavcodec/avcodec.h>
+ #include <libavformat/avio.h>
+
+ #define LOG_MODULE "libavio"
diff --git a/arch/tde-deps/xine-lib/PKGBUILD b/arch/tde-deps/xine-lib/PKGBUILD
new file mode 100644
index 000000000..211202c63
--- /dev/null
+++ b/arch/tde-deps/xine-lib/PKGBUILD
@@ -0,0 +1,63 @@
+# Maintainer : Daniel Bermond <dbermond@archlinux.org>
+# Contributor: Eric Bélanger <eric@archlinux.org>
+
+pkgname=xine-lib
+pkgver=1.2.12
+pkgrel=4
+pkgdesc='Multimedia playback engine'
+arch=('powerpc64le')
+url='https://www.xine-project.org'
+license=('GPL' 'LGPL')
+depends=('ffmpeg' 'libjpeg-turbo' 'libnsl' 'libpng' 'libx11' 'libxcb'
+ 'libxext' 'libxinerama' 'libxv' 'libxvmc' 'zlib')
+optdepends=('libdvdnav: for dvd plugin'
+ 'libdvdread: for spu and dxr3 plugins'
+ 'vcdimager: for vcd plugin'
+ 'glu: for opengl and vaapi plugins'
+ 'sdl: for sdl plugin'
+ 'wayland: for egl_wl plugin'
+ 'aalib: for aalib plugin'
+ 'a52dec: for a52 plugin'
+ 'faad2: for faad plugin'
+ 'flac: for flac plugin'
+ 'libdca: for dts (dca) plugin'
+ 'libmad: for mad (mp3) plugin'
+ 'libmpcdec: for mpc (musepack) plugin'
+ 'wavpack: for wavpack plugin'
+ 'gdk-pixbuf2: for gdk_pixbuf plugin'
+ 'imagemagick: for imagemagick plugin'
+ 'libcaca: for caca plugin'
+ 'libmng: for mng plugin'
+ 'libnfs: for nfs plugin'
+ 'libssh2: for ssh plugin'
+ 'smbclient: for samba plugin')
+makedepends=('mesa' 'libdvdnav' 'libdvdread' 'vcdimager' 'glu' 'sdl'
+ 'wayland' 'aalib' 'a52dec' 'faad2' 'flac' 'libdca' 'libmad'
+ 'libmpcdec' 'wavpack' 'gdk-pixbuf2' 'imagemagick' 'libcaca'
+ 'libmng' 'libnfs' 'smbclient')
+source=("https://downloads.sourceforge.net/project/xine/xine-lib/${pkgver}/xine-lib-${pkgver}.tar.xz"
+ '010-xine-lib-dav1d-1.0.0-support.patch'
+ '020-xine-lib-ffmpeg-5.1-fix.patch')
+sha256sums=('d606270468e1540c2a89c0d7f5fdf11e17ecc0c2698cc0bcb1065ff26abee098'
+ '9e41a7e49bc81d04d8f5014d5a4fcb4961eeb735eb6329a76ac24425fdafae06'
+ '36930d0973c71027175530e6911a9e9ad824107eedd519b01f375800f3f98822')
+
+prepare() {
+ patch -d "${pkgname}-${pkgver}" -Np1 -i "${srcdir}/010-xine-lib-dav1d-1.0.0-support.patch"
+ patch -d "${pkgname}-${pkgver}" -Np1 -i "${srcdir}/020-xine-lib-ffmpeg-5.1-fix.patch"
+}
+
+build() {
+ cd "${pkgname}-${pkgver}"
+ ./autogen.sh \
+ --prefix='/usr' \
+ --enable-antialiasing \
+ --with-external-dvdnav \
+ --with-wavpack
+ sed -i 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+ make
+}
+
+package() {
+ make -C "${pkgname}-${pkgver}" DESTDIR="$pkgdir" install
+}
diff --git a/arch/tde-deps/xscreensaver/LICENSE b/arch/tde-deps/xscreensaver/LICENSE
new file mode 100644
index 000000000..406467cd4
--- /dev/null
+++ b/arch/tde-deps/xscreensaver/LICENSE
@@ -0,0 +1,10 @@
+/* xscreensaver, Copyright (c) 1991-2013 Jamie Zawinski <jwz@jwz.org>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation. No representations are made about the suitability of this
+ * software for any purpose. It is provided "as is" without express or
+ * implied warranty.
+ */
diff --git a/arch/tde-deps/xscreensaver/PKGBUILD b/arch/tde-deps/xscreensaver/PKGBUILD
new file mode 100644
index 000000000..bc8dd585a
--- /dev/null
+++ b/arch/tde-deps/xscreensaver/PKGBUILD
@@ -0,0 +1,55 @@
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
+# Contributor: Eric Bélanger <eric@archlinux.org>
+#
+# Note: Build for archlinuxpower with both gtk2 and gtk3 and without gdm
+
+pkgname=xscreensaver
+pkgver=6.05.1
+pkgrel=2
+pkgdesc='Screen saver and locker for the X Window System'
+url='https://www.jwz.org/xscreensaver/'
+arch=('powerpc64le')
+license=('BSD')
+depends=(
+ 'gtk2' 'gtk3' 'glu' 'xorg-appres' 'libglvnd' 'libjpeg-turbo' 'libjpeg.so'
+ 'libsystemd.so' 'libx11' 'libxcrypt' 'libcrypt.so' 'libxext' 'libxft' 'libxi'
+ 'libxinerama' 'libxmu' 'libxrandr' 'libxt' 'libxxf86vm' 'perl-libwww' 'pam'
+ 'libpam.so' 'glibc' 'glib2' 'gdk-pixbuf2' 'gdk-pixbuf-xlib'
+)
+makedepends=('bc' 'intltool' 'libxpm' 'systemd' 'systemd-libs')
+optdepends=('gdm: for login manager support')
+backup=('etc/pam.d/xscreensaver')
+source=(https://www.jwz.org/xscreensaver/${pkgname}-${pkgver}.tar.gz
+ LICENSE)
+sha512sums=('c659a769ff71020b9f96b7e707bd1bcc667eb304179305d56b1be45eed095d650a8aa019890a0c5d444672f9dd68516c99c53b0df94cd96196d7f30a24b987e3'
+ '863c699479b2ec2775a0d1cba22e615929194a14af164b3513e46a0c04229da6547255a4da8f7f1bbb40906898c124ed3c9ec2436b76b62affcb62385af9783e')
+b2sums=('97c16c9f0b2a0b4d00ddccd711b921ca683bd233bc3d07ecad38b68ff94b149a20512246dd6bae052323f00b1b433f56469c5638a031cbc65b61c2b84a0180e3'
+ 'cacb6ba39d6ecb8703ef5f5a7dc74de0ca805cce73b43a8b9b6b4c255c909aa9b5e692de76c2fbd4da26ce6efb5f2a46138c43b1b37f53cee6d20fd6ed41f4a9')
+
+build() {
+ cd ${pkgname}-${pkgver%.*}
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --libexecdir=/usr/lib \
+ --without-setuid-hacks \
+ --with-pam \
+ --with-login-manager \
+ --with-gtk \
+ --with-gl \
+ --without-gle \
+ --with-pixbuf \
+ --with-jpeg
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver%.*}
+ install -d "${pkgdir}/etc/pam.d"
+ make install_prefix="${pkgdir}" install
+ install -Dm 644 ../LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
+ echo "NotShowIn=KDE;GNOME;" >> "${pkgdir}/usr/share/applications/xscreensaver-settings.desktop"
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/arch/tde-deps/yaz/PKGBUILD b/arch/tde-deps/yaz/PKGBUILD
new file mode 100644
index 000000000..ff7b13d86
--- /dev/null
+++ b/arch/tde-deps/yaz/PKGBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Jaroslav Lichtblau <svetlemodry@archlinux.org>
+# Contributor: Ray Rashif <schiv@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor: William Rea <sillywilly@gmail.com>
+# Contributor: Robert Emil Berge <filoktetes@linuxophic.org>
+
+pkgname=yaz
+pkgver=5.32.0
+pkgrel=2
+pkgdesc="A toolkit supporting the development of Z39.50/SRW/SRU clients and servers"
+arch=('powerpc64le')
+url="https://www.indexdata.dk/yaz"
+license=('BSD')
+depends=('gnutls' 'libxslt' 'icu')
+makedepends=('zsh')
+changelog=$pkgname.changelog
+source=(http://ftp.indexdata.dk/pub/$pkgname/$pkgname-$pkgver.tar.gz)
+sha256sums=('04d08c799d5ee56a2670e6ac0b42398d2ff956bd9bf144bfe9c4c30e557140e0')
+
+build() {
+ cd "${srcdir}"/$pkgname-$pkgver
+
+ ./configure --prefix=/usr --enable-shared=yaz
+ make
+}
+
+package() {
+ cd "${srcdir}"/$pkgname-$pkgver
+
+ make DESTDIR="${pkgdir}" install
+
+#License
+ install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/arch/tde-deps/yaz/yaz.changelog b/arch/tde-deps/yaz/yaz.changelog
new file mode 100644
index 000000000..74eb77f79
--- /dev/null
+++ b/arch/tde-deps/yaz/yaz.changelog
@@ -0,0 +1,104 @@
+2022-03-21 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.31.1-1
+
+2021-05-15 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.31.0-1
+
+2020-07-06 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.30.3-1
+
+2020-04-20 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.30.2-1
+
+2020-03-23 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.30.0-1
+
+2020-03-08 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.29.0-1
+
+2019-12-11 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.28.0-1
+
+2019-10-16 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.27.2-1
+
+2018-12-04 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.27.1-1
+
+2018-10-14 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.27.0-1
+
+2018-07-15 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.26.1-1
+
+2018-05-12 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.25.0-1
+
+2017-09-06 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.23.1-1
+
+2017-08-05 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.23.0-1
+
+2017-05-30 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.22.0-1
+
+2017-05-08 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.21.1-1
+
+2017-04-06 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.21.0-1
+
+2017-02-21 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.20.2-1
+
+2017-01-10 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.20.0-1
+
+2016-12-17 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.19.0-1
+
+2016-11-06 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.18.0-2 readline 7.0 rebuild
+
+2016-10-17 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.18.0-1
+
+2016-10-04 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.17.0-1
+
+2016-04-30 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.16.0-1
+
+2016-01-16 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.15.2-1
+
+2015-12-04 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.15.1-1
+
+2015-10-05 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.14.11-1
+
+2014-12-30 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.7.2-1
+
+2014-10-21 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.4.4-1
+
+2014-05-25 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.1.1-1
+
+2014-02-06 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.0.12-1
+
+2013-10-25 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.0.9-1
+
+2013-10-12 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 5.0.1-1
+
+2013-04-20 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 4.2.54-1
+
+2013-01-20 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * yaz 4.2.49-1