summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--user/gnumeric/APKBUILD4
-rw-r--r--user/gst-plugins-base/APKBUILD26
-rw-r--r--user/mesa/APKBUILD40
-rw-r--r--user/mesa/glx_ro_text_segm.patch28
-rw-r--r--user/mesa/intel.patch85
-rw-r--r--user/mesa/python3-compat.patch119
-rw-r--r--user/postfix/APKBUILD12
-rw-r--r--user/scons/APKBUILD33
-rw-r--r--user/scons/python3-bang.patch8
-rw-r--r--user/serf/APKBUILD41
-rw-r--r--user/serf/py3.patch24
-rw-r--r--user/subversion/APKBUILD58
-rw-r--r--user/subversion/python3-bang.patch8
-rw-r--r--user/utf8proc/APKBUILD46
14 files changed, 244 insertions, 288 deletions
diff --git a/user/gnumeric/APKBUILD b/user/gnumeric/APKBUILD
index 815de92d2..07c02e4ef 100644
--- a/user/gnumeric/APKBUILD
+++ b/user/gnumeric/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=gnumeric
pkgver=1.12.44
-pkgrel=0
+pkgrel=1
pkgdesc="GNOME spreadsheet software"
url="http://www.gnumeric.org/"
arch="all"
@@ -13,7 +13,7 @@ license="GPL-2.0-only OR GPL-3.0-only"
depends=""
makedepends="byacc gobject-introspection-dev goffice-dev gtk+3.0-dev intltool
itstool libgda-dev libxml2-utils perl-dev zlib-dev"
-subpackages="$pkgname-doc $pkgname-lang"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
langdir="/usr/lib/locale"
source="https://ftp.gnome.org/pub/GNOME/sources/gnumeric/1.12/gnumeric-$pkgver.tar.xz
cs.patch
diff --git a/user/gst-plugins-base/APKBUILD b/user/gst-plugins-base/APKBUILD
index dd1215897..555fec878 100644
--- a/user/gst-plugins-base/APKBUILD
+++ b/user/gst-plugins-base/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=gst-plugins-base
pkgver=1.14.4
-pkgrel=0
+pkgrel=1
pkgdesc="GStreamer multimedia framework - Base plugins"
url="https://gstreamer.freedesktop.org/"
arch="all"
@@ -9,26 +9,10 @@ license="GPL LGPL"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
depends=""
replaces="gst-plugins-base1"
-makedepends="
- alsa-lib-dev
- cdparanoia-dev
- expat-dev
- glib-dev
- gobject-introspection-dev
- gstreamer-dev
- libice-dev
- libogg-dev
- libsm-dev
- libtheora-dev
- libvorbis-dev
- libx11-dev
- libxt-dev
- libxv-dev
- opus-dev
- orc-dev
- pango-dev
- perl
- "
+makedepends="alsa-lib-dev cdparanoia-dev expat-dev glib-dev
+ gobject-introspection-dev gstreamer-dev libice-dev libogg-dev libsm-dev
+ libtheora-dev libvorbis-dev libx11-dev libxt-dev libxv-dev mesa-dev
+ opus-dev orc-dev pango-dev perl"
checkdepends="orc-compiler"
source="https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-$pkgver.tar.xz"
ldpath="/usr/lib/gstreamer-1.0"
diff --git a/user/mesa/APKBUILD b/user/mesa/APKBUILD
index 418e9e361..c36074f8a 100644
--- a/user/mesa/APKBUILD
+++ b/user/mesa/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=mesa
-pkgver=18.1.8
+pkgver=18.3.2
pkgrel=0
pkgdesc="Mesa DRI OpenGL library"
url="https://www.mesa3d.org"
@@ -15,26 +15,21 @@ subpackages="$pkgname-dev
$pkgname-dri-virtio:_dri
$pkgname-glapi $pkgname-egl $pkgname-gl $pkgname-gles
$pkgname-xatracker $pkgname-osmesa $pkgname-gbm
- $pkgname-libwayland-egl:_wayland
"
_llvmver=6
-depends_dev="libdrm-dev dri2proto libxext-dev libxdamage-dev libxcb-dev glproto
- dri3proto presentproto libxshmfence-dev"
-makedepends="$depends_dev expat-dev xextproto libxt-dev makedepend py3-mako
- flex bison llvm$_llvmver-dev eudev-dev libvdpau-dev python3 py-libxml2
- libxvmc-dev libxfixes-dev wayland-dev libelf-dev wayland-protocols
- autoconf automake libtool libxxf86vm-dev libx11-dev zlib-dev"
+depends_dev="libdrm-dev libxcb-dev libxdamage-dev libxext-dev libxshmfence-dev
+ xorgproto-dev"
+makedepends="$depends_dev byacc eudev-dev expat-dev flex libelf-dev
+ libvdpau-dev libx11-dev libxfixes-dev libxrandr-dev libxt-dev
+ libxvmc-dev libxxf86vm-dev llvm$_llvmver-dev makedepend python3
+ py3-libxml2 py3-mako zlib-dev"
source="https://mesa.freedesktop.org/archive/mesa-$pkgver.tar.xz
- glx_ro_text_segm.patch
musl-fixes.patch
musl-fix-includes.patch
amdgpu-pthread-header.patch
disk_cache-stack-overflow.patch
drmdeps.patch
- python3-compat.patch
- intel.patch
"
-replaces="mesa-dricore"
_dri_driverdir=/usr/lib/xorg/modules/dri
_dri_drivers="r200,radeon,nouveau,swrast"
@@ -73,22 +68,20 @@ build() {
cd "$builddir"
export CFLAGS="$CFLAGS -D_XOPEN_SOURCE=700"
- PYTHON2=python3 ./configure \
+ PYTHON=python3 ./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--sysconfdir=/etc \
--with-dri-driverdir=$_dri_driverdir \
--disable-asm \
- --disable-xvmc \
- --enable-glx-rts \
--with-gallium-drivers=${_gallium_drivers} \
--with-dri-drivers=${_dri_drivers} \
--with-vulkan-drivers=${_vulkan_drivers} \
--with-llvm-prefix=/usr/lib/llvm$_llvmver \
--enable-llvm-shared-libs \
--enable-llvm \
- --with-platforms=x11,drm,wayland \
+ --with-platforms=x11,drm \
--enable-shared-glapi \
--enable-gbm \
--disable-glx-tls \
@@ -100,7 +93,6 @@ build() {
--enable-gles1 \
--enable-gles2 \
--enable-egl \
- --enable-texture-float \
--enable-xa \
--enable-vdpau \
$_arch_opts
@@ -238,19 +230,9 @@ _dri() {
esac
}
-_wayland() {
- pkgdesc="Mesa libwayland-egl library"
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/libwayland-egl.so.* "$subpkgdir"/usr/lib/ \
- || return 1
-}
-
-sha512sums="ab89c6d27b765d3efdf61b24dc56d863ae590d83003d2eae4bfe25ecfbeda5bee0227f21d057523bb4eceeaf3d9955df48087ffb472c41b123c100e593056cb9 mesa-18.1.8.tar.xz
-c3d4804ebc24c7216e4c9d4995fb92e116be7f478024b44808ee134a4c93bb51d1f66fe5fb6eca254f124c4abf6f81272b027824b3e2650a9607818bf793035a glx_ro_text_segm.patch
+sha512sums="34b66520728d720b1f3d3d63f8ba5c255d57b9e8fe427264419e4163b474df662ff6db9ca8b81283866da415e34346a4c39fc37bebe2a0929be14480faf4db45 mesa-18.3.2.tar.xz
9f7a050f09571a2b17098d495b82e2e85b293fb7285e7d6d7c3c48cd4220a1bdcc61a7321ba78dd14860939ecabe7e89b32d6110f3728f793273e1e26b78a553 musl-fixes.patch
c7d91a660a033df91fac9c557039efc8669f0c26b2d35997d50753938b70d1af0bd110dcab3f8236eafab7d4be5dd7cd128a3e057e67e7e6a38a73fd6a7ef62e musl-fix-includes.patch
245d0d64d858dfadeeb544f31f7d0bb6ecb746a7fd5ec99755d679ae1a1eef4198d66473fb24d333eb6786bb8657012771e8285d67f165dc61a031df801947aa amdgpu-pthread-header.patch
f40ff04ac73c090c74d1955de6013c5aa41fb77f28b2b82d89cfc1880306a9ca1dde4581592db19f0a0ec6d85032f1ed5d953103ab0d075f9f0b7e459a028c45 disk_cache-stack-overflow.patch
-6800bc62aebfba22a2562c858c27391b47c5675020bd67f040da93ffe4d5d8ac828907a44c7cee6a4ebe63821b58c2515b4012f1f23473670b1de8670426a430 drmdeps.patch
-61ddf4f33f11b4fbaa334bec04d184236f01bc8cad4340cb74b66c92fc8c0c985d36507cf43b504d186dc108fc2e5ae348ed28ea8a680ba4dfdb74994fc440f7 python3-compat.patch
-baa0039c65b760ac60d55a112cc3fe9c59759e6f6e31c9c0dc46cfc1dcca91726706d6fb3328e11c043ba1f84f01dd56d0208ee153b05174fde74252d3d7d95c intel.patch"
+6800bc62aebfba22a2562c858c27391b47c5675020bd67f040da93ffe4d5d8ac828907a44c7cee6a4ebe63821b58c2515b4012f1f23473670b1de8670426a430 drmdeps.patch"
diff --git a/user/mesa/glx_ro_text_segm.patch b/user/mesa/glx_ro_text_segm.patch
deleted file mode 100644
index 8cad4876b..000000000
--- a/user/mesa/glx_ro_text_segm.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-2011-02-09 Jeremy Huddleston <jeremyhu@freedesktop.org
-
- #240956
- * configure.ac add support to enable readonly test segment on x86
-
---- ./configure.ac.orig 2008-11-17 23:19:38.000000000 +0100
-+++ ./configure.ac 2008-11-17 23:20:17.000000000 +0100
-@@ -499,6 +499,20 @@
- enable_xcb=no
- fi
-
-+
-+dnl readonly text segment on x86 hardened platforms
-+AC_ARG_ENABLE([glx_rts],
-+ [AS_HELP_STRING([--enable-glx-rts],
-+ [on x86, use a readonly text segment for libGL @<:@default=disabled@:>@])],
-+ [enable_glx_rts="$enableval"],
-+ [enable_glx_rts=no])
-+if test "x$enable_glx_rts" = xyes; then
-+ DEFINES="$DEFINES -DGLX_X86_READONLY_TEXT"
-+else
-+ enable_glx_rts=no
-+fi
-+
-+
- dnl
- dnl libGL configuration per driver
- dnl
diff --git a/user/mesa/intel.patch b/user/mesa/intel.patch
deleted file mode 100644
index 10871fc7c..000000000
--- a/user/mesa/intel.patch
+++ /dev/null
@@ -1,85 +0,0 @@
---- mesa-18.1.3/src/mesa/drivers/dri/i965/brw_bufmgr.h 2018-06-29 13:47:29.000000000 -0400
-+++ mesa-18.1.3/src/mesa/drivers/dri/i965/brw_bufmgr.h 2018-07-24 03:18:37.479847335 -0400
-@@ -37,6 +37,7 @@
- #include <stdbool.h>
- #include <stdint.h>
- #include <stdio.h>
-+#include <time.h>
- #include "util/u_atomic.h"
- #include "util/list.h"
-
---- mesa-18.1.3/src/intel/vulkan/anv_entrypoints_gen.py 2018-07-24 03:15:05.009848837 -0400
-+++ mesa-18.1.3/src/intel/vulkan/anv_entrypoints_gen.py 2018-07-24 03:12:21.739849990 -0400
-@@ -91,7 +91,7 @@
- % endfor
- """, output_encoding='utf-8')
-
--TEMPLATE_C = Template(u"""\
-+TEMPLATE_C = Template("""\
- /*
- * Copyright © 2015 Intel Corporation
- *
-@@ -145,7 +145,7 @@
- /* Hash table stats:
- * size ${len(strmap.sorted_strings)} entries
- * collisions entries:
--% for i in xrange(10):
-+% for i in range(10):
- * ${i}${'+' if i == 9 else ' '} ${strmap.collisions[i]}
- % endfor
- */
-@@ -388,7 +388,7 @@
-
- def bake(self):
- self.sorted_strings = \
-- sorted(self.strings.values(), key=lambda x: x.string)
-+ sorted(list(self.strings.values()), key=lambda x: x.string)
- offset = 0
- for entry in self.sorted_strings:
- entry.offset = offset
-@@ -507,7 +507,7 @@
- assert e.core_version is None
- e.extensions.append(ext)
-
-- return [e for e in entrypoints.itervalues() if e.enabled]
-+ return [e for e in list(entrypoints.values()) if e.enabled]
-
-
- def get_entrypoints_defines(doc):
---- mesa-18.1.3/src/intel/vulkan/anv_extensions.py 2018-06-29 13:47:29.000000000 -0400
-+++ mesa-18.1.3/src/intel/vulkan/anv_extensions.py 2018-07-24 03:07:13.599852168 -0400
-@@ -146,14 +146,32 @@
- patch = self.patch if self.patch is not None else 0
- return (self.major << 22) | (self.minor << 12) | patch
-
-- def __cmp__(self, other):
-+ def __lt__(self, other):
- # If only one of them has a patch version, "ignore" it by making
- # other's patch version match self.
- if (self.patch is None) != (other.patch is None):
- other = copy.copy(other)
- other.patch = self.patch
-
-- return self.__int_ver().__cmp__(other.__int_ver())
-+ return self.__int_ver() < other.__int_ver()
-+
-+ def __gt__(self, other):
-+ # If only one of them has a patch version, "ignore" it by making
-+ # other's patch version match self.
-+ if (self.patch is None) != (other.patch is None):
-+ other = copy.copy(other)
-+ other.patch = self.patch
-+
-+ return self.__int_ver() > other.__int_ver()
-+
-+ def __eq__(self, other):
-+ # If only one of them has a patch version, "ignore" it by making
-+ # other's patch version match self.
-+ if (self.patch is None) != (other.patch is None):
-+ other = copy.copy(other)
-+ other.patch = self.patch
-+
-+ return self.__int_ver() == other.__int_ver()
-
-
- MAX_API_VERSION = VkVersion('0.0.0')
diff --git a/user/mesa/python3-compat.patch b/user/mesa/python3-compat.patch
deleted file mode 100644
index 9dc213e9f..000000000
--- a/user/mesa/python3-compat.patch
+++ /dev/null
@@ -1,119 +0,0 @@
---- mesa-17.3.1/src/gallium/drivers/r600/egd_tables.py (original)
-+++ mesa-17.3.1/src/gallium/drivers/r600/egd_tables.py (refactored)
-@@ -60,7 +60,7 @@
- """
- fragments = [
- '"%s\\0" /* %s */' % (
-- te[0].encode('string_escape'),
-+ te[0].encode('unicode-escape'),
- ', '.join(str(idx) for idx in te[2])
- )
- for te in self.table
-@@ -217,10 +217,10 @@
- strings = StringTable()
- strings_offsets = IntTable("int")
-
-- print '/* This file is autogenerated by egd_tables.py from evergreend.h. Do not edit directly. */'
-- print
-- print CopyRight.strip()
-- print '''
-+ print('/* This file is autogenerated by egd_tables.py from evergreend.h. Do not edit directly. */')
-+ print()
-+ print(CopyRight.strip())
-+ print('''
- #ifndef EG_TABLES_H
- #define EG_TABLES_H
-
-@@ -242,20 +242,20 @@
- unsigned name_offset;
- unsigned op;
- };
--'''
--
-- print 'static const struct eg_packet3 packet3_table[] = {'
-+''')
-+
-+ print('static const struct eg_packet3 packet3_table[] = {')
- for pkt in packets:
-- print '\t{%s, %s},' % (strings.add(pkt[5:]), pkt)
-- print '};'
-- print
--
-- print 'static const struct eg_field egd_fields_table[] = {'
-+ print('\t{%s, %s},' % (strings.add(pkt[5:]), pkt))
-+ print('};')
-+ print()
-+
-+ print('static const struct eg_field egd_fields_table[] = {')
-
- fields_idx = 0
- for reg in regs:
- if len(reg.fields) and reg.own_fields:
-- print '\t/* %s */' % (fields_idx)
-+ print('\t/* %s */' % (fields_idx))
-
- reg.fields_idx = fields_idx
-
-@@ -266,34 +266,34 @@
- while value[1] >= len(values_offsets):
- values_offsets.append(-1)
- values_offsets[value[1]] = strings.add(strip_prefix(value[0]))
-- print '\t{%s, %s(~0u), %s, %s},' % (
-+ print('\t{%s, %s(~0u), %s, %s},' % (
- strings.add(field.name), field.s_name,
-- len(values_offsets), strings_offsets.add(values_offsets))
-+ len(values_offsets), strings_offsets.add(values_offsets)))
- else:
-- print '\t{%s, %s(~0u)},' % (strings.add(field.name), field.s_name)
-+ print('\t{%s, %s(~0u)},' % (strings.add(field.name), field.s_name))
- fields_idx += 1
-
-- print '};'
-- print
--
-- print 'static const struct eg_reg egd_reg_table[] = {'
-+ print('};')
-+ print()
-+
-+ print('static const struct eg_reg egd_reg_table[] = {')
- for reg in regs:
- if len(reg.fields):
-- print '\t{%s, %s, %s, %s},' % (strings.add(reg.name), reg.r_name,
-- len(reg.fields), reg.fields_idx if reg.own_fields else reg.fields_owner.fields_idx)
-+ print('\t{%s, %s, %s, %s},' % (strings.add(reg.name), reg.r_name,
-+ len(reg.fields), reg.fields_idx if reg.own_fields else reg.fields_owner.fields_idx))
- else:
-- print '\t{%s, %s},' % (strings.add(reg.name), reg.r_name)
-- print '};'
-- print
-+ print('\t{%s, %s},' % (strings.add(reg.name), reg.r_name))
-+ print('};')
-+ print()
-
- strings.emit(sys.stdout, "egd_strings")
-
-- print
-+ print()
-
- strings_offsets.emit(sys.stdout, "egd_strings_offsets")
-
-- print
-- print '#endif'
-+ print()
-+ print('#endif')
-
-
- def main():
---- mesa-18.1.3/m4/ax_check_python_mako_module.m4.old 2018-06-29 17:47:29.000000000 +0000
-+++ mesa-18.1.3/m4/ax_check_python_mako_module.m4 2018-07-09 01:55:22.740000000 +0000
-@@ -48,8 +48,8 @@
- except ImportError as err:
- sys.exit(err)
- else:
-- ver_req = map(int, '$1'.split('.'))
-- ver_act = map(int, mako.__version__.split('.'))
-+ ver_req = list(map(int, '$1'.split('.')))
-+ ver_act = list(map(int, mako.__version__.split('.')))
- sys.exit(int(ver_req > ver_act))
- " | $PYTHON2 -
-
diff --git a/user/postfix/APKBUILD b/user/postfix/APKBUILD
index a48fcc7bd..5269c55bd 100644
--- a/user/postfix/APKBUILD
+++ b/user/postfix/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Dan Theisen <djt@hxx.in>
pkgname=postfix
pkgver=3.3.2
-pkgrel=0
+pkgrel=1
pkgdesc="Mail server (MTA) that is Sendmail outside and Qmail inside"
url="http://www.postfix.org/"
arch="all"
@@ -12,8 +12,8 @@ depends=""
makedepends="cyrus-sasl-dev db-dev icu-dev linux-pam-dev lmdb-dev openldap-dev
openssl-dev pcre-dev perl postgresql-dev sqlite-dev"
install="$pkgname.pre-install"
-subpackages="$pkgname-doc $pkgname-ldap $pkgname-lmdb $pkgname-pgsql
- $pkgname-sqlite"
+subpackages="$pkgname-doc $pkgname-ldap $pkgname-lmdb $pkgname-openrc
+ $pkgname-pgsql $pkgname-sqlite"
pkgusers="postfix"
pkggroups="postfix postdrop"
source="http://www.namesdir.com/mirrors/postfix-release/official/postfix-$pkgver.tar.gz
@@ -52,12 +52,16 @@ package() {
!var/spool/postfix
EOF
+ chown -R root:postfix \
+ "$pkgdir"/var/lib/postfix
chown -R postfix:postfix \
- "$pkgdir"/var/lib/postfix \
"$pkgdir"/var/spool/postfix
+ chgrp postdrop "$pkgdir"/var/spool/postfix/{public,maildrop}
chmod 0750 "$pkgdir"/var/lib/postfix
chgrp postdrop "$pkgdir"/usr/sbin/postdrop "$pkgdir"/usr/sbin/postqueue
chmod 2755 "$pkgdir"/usr/sbin/postdrop "$pkgdir"/usr/sbin/postqueue
+
+ install -D -m755 "$srcdir"/postfix.initd "$pkgdir"/etc/init.d/postfix
}
_database() {
diff --git a/user/scons/APKBUILD b/user/scons/APKBUILD
new file mode 100644
index 000000000..c3ebf5694
--- /dev/null
+++ b/user/scons/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=scons
+pkgver=3.0.4
+pkgrel=0
+pkgdesc="Python-based software building system"
+url="https://scons.org/"
+arch="noarch"
+license="MIT"
+depends="python3"
+makedepends="python3-dev"
+subpackages=""
+source="https://prdownloads.sourceforge.net/scons/scons-$pkgver.tar.gz
+ python3-bang.patch
+ "
+
+build() {
+ cd "$builddir"
+ python3 setup.py build
+}
+
+check() {
+ cd "$builddir"
+ python3 setup.py check
+}
+
+package() {
+ cd "$builddir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="064a604939460fa85aa247776e5a2083ce98cac5f49f6035886d207f5cf167255756ee10cc00dd8228278d0d1efbed2afd8793bf3ca736a3ac970fabc3c4b627 scons-3.0.4.tar.gz
+cb8be26f0d8cae7974dffcb3008c67254e8904bb8bb91f9732dd01a9942e33d57527101ec4104a866061096b991a336d00b344da48cf835489fc5d26fb1f331e python3-bang.patch"
diff --git a/user/scons/python3-bang.patch b/user/scons/python3-bang.patch
new file mode 100644
index 000000000..e902e7418
--- /dev/null
+++ b/user/scons/python3-bang.patch
@@ -0,0 +1,8 @@
+--- scons-3.0.4/script/scons.old 2019-01-23 17:30:36.000000000 +0000
++++ scons-3.0.4/script/scons 2019-01-23 22:08:17.600000000 +0000
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env python
++#! /usr/bin/env python3
+ #
+ # SCons - a Software Constructor
+ #
diff --git a/user/serf/APKBUILD b/user/serf/APKBUILD
new file mode 100644
index 000000000..db2ae5425
--- /dev/null
+++ b/user/serf/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=serf
+pkgver=1.3.9
+pkgrel=0
+pkgdesc="High-performance HTTP library from Apache"
+url="https://serf.apache.org/"
+arch="all"
+license="Apache-2.0"
+depends=""
+makedepends="apr-dev apr-util-dev openssl-dev scons zlib-dev"
+subpackages="$pkgname-dev"
+source="https://www.apache.org/dist/serf/serf-$pkgver.tar.bz2
+ py3.patch
+ "
+
+build() {
+ cd "$builddir"
+ scons PREFIX=/usr -j "$JOBS"
+}
+
+check() {
+ cd "$builddir"
+ scons test
+}
+
+package() {
+ cd "$builddir"
+ local _header
+ install -D -m644 libserf-1.a "$pkgdir"/usr/lib/libserf-1.a
+ install -D -m755 libserf-1.so.1.3.0 "$pkgdir"/usr/lib/libserf-1.so.1.3.0
+ ln -s libserf-1.so.1.3.0 "$pkgdir"/usr/lib/libserf-1.so.1
+ ln -s libserf-1.so.1.3.0 "$pkgdir"/usr/lib/libserf-1.so
+ for _header in serf{_bucket_{types,util},}.h; do
+ install -D -m644 $_header "$pkgdir"/usr/include/serf-1/$_header
+ done
+ install -D -m644 serf-1.pc "$pkgdir"/usr/lib/pkgconfig/serf-1.pc
+}
+
+sha512sums="9f5418d991840a08d293d1ecba70cd9534a207696d002f22dbe62354e7b005955112a0d144a76c89c7f7ad3b4c882e54974441fafa0c09c4aa25c49c021ca75d serf-1.3.9.tar.bz2
+4f55a30f8e505e757c36debc8e19041dbf824c5708495d9e0338e4bac736445eff72ea60aa9a9bafdcdde9b26e2ffb6c79c39b4e6f6422cffc34d3986e49d1b1 py3.patch"
diff --git a/user/serf/py3.patch b/user/serf/py3.patch
new file mode 100644
index 000000000..12e7be1bc
--- /dev/null
+++ b/user/serf/py3.patch
@@ -0,0 +1,24 @@
+--- serf-1.3.9/SConstruct.old 2015-09-17 12:46:24.000000000 +0000
++++ serf-1.3.9/SConstruct 2019-01-23 22:11:30.900000000 +0000
+@@ -163,9 +163,9 @@
+ suffix='.def', src_suffix='.h')
+ })
+
+-match = re.search('SERF_MAJOR_VERSION ([0-9]+).*'
+- 'SERF_MINOR_VERSION ([0-9]+).*'
+- 'SERF_PATCH_VERSION ([0-9]+)',
++match = re.search(b'SERF_MAJOR_VERSION ([0-9]+).*'
++ b'SERF_MINOR_VERSION ([0-9]+).*'
++ b'SERF_PATCH_VERSION ([0-9]+)',
+ env.File('serf.h').get_contents(),
+ re.DOTALL)
+ MAJOR, MINOR, PATCH = [int(x) for x in match.groups()]
+@@ -183,7 +183,7 @@
+
+ unknown = opts.UnknownVariables()
+ if unknown:
+- print 'Warning: Used unknown variables:', ', '.join(unknown.keys())
++ print('Warning: Used unknown variables:', ', '.join(unknown.keys()))
+
+ apr = str(env['APR'])
+ apu = str(env['APU'])
diff --git a/user/subversion/APKBUILD b/user/subversion/APKBUILD
new file mode 100644
index 000000000..3d9a96a68
--- /dev/null
+++ b/user/subversion/APKBUILD
@@ -0,0 +1,58 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=subversion
+pkgver=1.10.4
+pkgrel=0
+pkgdesc="Version control system from 2000"
+url="https://subversion.apache.org/"
+arch="all"
+license="Apache-2.0"
+depends=""
+depends_dev="apr-dev apr-util-dev linux-headers"
+makedepends="apr-dev apr-util-dev cyrus-sasl-dev db-dev dbus-dev file-dev
+ kdelibs4support-dev kwallet-dev libsecret-dev lz4-dev openssl-dev
+ serf-dev sqlite-dev utf8proc-dev zlib-dev"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-gnome $pkgname-kwallet
+ $pkgname-lang"
+source="https://www-eu.apache.org/dist/subversion/subversion-$pkgver.tar.bz2
+ python3-bang.patch
+ "
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --with-kwallet
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" -j1 install
+}
+
+gnome() {
+ pkgdesc="$pkgdesc (GNOME Keychain integration)"
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/libsvn_auth_gnome* "$subpkgdir"/usr/lib/
+}
+
+kwallet() {
+ pkgdesc="$pkgdesc (KDE Wallet integration)"
+ install_if="$pkgname=$pkgver-r$pkgrel kwallet"
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/libsvn_auth_kwallet* "$subpkgdir"/usr/lib/
+}
+
+sha512sums="c44a4a4a9533cd4f4cb6ddbc3ce98585a96da6c8e75497d087034b52f899797bb0972dfc0e79db99e81149e59e7fa765398c6ad35eba64f11f4ae9c3b3537434 subversion-1.10.4.tar.bz2
+1b96b791f70c2f6e05da8dbc9d42ccadf4603f25392c6676c4e30ecdb142ce74dd9b8dc27dc68b1cb461f4409d79c4c2aeed1d39a5a442d9349079a819358f5a python3-bang.patch"
diff --git a/user/subversion/python3-bang.patch b/user/subversion/python3-bang.patch
new file mode 100644
index 000000000..fa92ff098
--- /dev/null
+++ b/user/subversion/python3-bang.patch
@@ -0,0 +1,8 @@
+--- subversion-1.10.4/subversion/tests/cmdline/svneditor.py.old 2010-02-22 19:47:55.000000000 +0000
++++ subversion-1.10.4/subversion/tests/cmdline/svneditor.py 2019-01-23 23:08:14.830000000 +0000
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ #
+ # svneditor.py: a mock $SVN_EDITOR for the Subversion test suite
+ #
diff --git a/user/utf8proc/APKBUILD b/user/utf8proc/APKBUILD
new file mode 100644
index 000000000..8be033ef7
--- /dev/null
+++ b/user/utf8proc/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=utf8proc
+pkgver=2.2.0
+pkgrel=0
+pkgdesc="C library for processing UTF-8 data"
+url=" "
+arch="all"
+license="MIT AND Unicode-DFS-2016"
+depends=""
+makedepends=""
+subpackages="$pkgname-dev"
+source="utf8proc-$pkgver.tar.gz::https://github.com/JuliaStrings/utf8proc/archive/v$pkgver.tar.gz"
+
+prepare() {
+ cd "$builddir"
+ default_prepare
+ mkdir build
+}
+
+build() {
+ cd "$builddir"/build
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=RelWithDebugInfo \
+ -DCMAKE_C_FLAGS="$CFLAGS" \
+ ${CMAKE_CROSSOPTS} \
+ ..
+ make
+}
+
+check() {
+ cd "$builddir"/build
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ cd "$builddir"/build
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="ae19287e33bc4807475063963557c4d1d2f7d95577d61882ba8df380883662860eeb868e7391ac1b8111614ca2c1855f631925ade6eaa827d07d28cc4cdbab9c utf8proc-2.2.0.tar.gz"