summaryrefslogtreecommitdiff
path: root/user
diff options
context:
space:
mode:
Diffstat (limited to 'user')
-rw-r--r--user/bash-completion/APKBUILD17
-rw-r--r--user/bash-completion/fix-tests.patch75
-rw-r--r--user/fbset/APKBUILD29
-rw-r--r--user/fbset/types.patch14
-rw-r--r--user/libinput/APKBUILD6
-rw-r--r--user/libwacom/APKBUILD6
-rw-r--r--user/libwacom/fix-database.patch34
-rw-r--r--user/netsurf/APKBUILD11
-rw-r--r--user/netsurf/curl.patch161
-rw-r--r--user/py3-docopt/APKBUILD30
-rw-r--r--user/py3-hbmqtt/APKBUILD31
-rw-r--r--user/py3-passlib/APKBUILD32
-rw-r--r--user/py3-sphinxcontrib-asyncio/APKBUILD32
-rw-r--r--user/py3-transitions/APKBUILD31
-rw-r--r--user/py3-websockets/APKBUILD30
-rw-r--r--user/xdg-utils/APKBUILD16
-rw-r--r--user/xdg-utils/xdg-mime-gnome.patch40
-rw-r--r--user/xdg-utils/xdg-mime-plasma.patch61
-rw-r--r--user/xdg-utils/xdg-open-failure.patch43
-rw-r--r--user/xdg-utils/xdg-open-spaces.patch38
-rw-r--r--user/xdg-utils/xdg-su-lxqt.patch28
-rw-r--r--user/xf86-video-amdgpu/APKBUILD35
-rw-r--r--user/xf86-video-glint/APKBUILD34
-rw-r--r--user/xf86-video-rendition/APKBUILD34
-rw-r--r--user/xf86-video-siliconmotion/APKBUILD34
-rw-r--r--user/xf86-video-sis/APKBUILD39
-rw-r--r--user/xf86-video-sis/glx.patch302
-rw-r--r--user/xf86-video-sis/virtualFrom.patch28
-rw-r--r--user/xf86-video-sisusb/APKBUILD34
-rw-r--r--user/xf86-video-sunffb/APKBUILD34
-rw-r--r--user/xf86-video-sunleo/APKBUILD34
-rw-r--r--user/xf86-video-trident/APKBUILD34
-rw-r--r--user/xf86-video-v4l/APKBUILD34
-rw-r--r--user/xf86-video-vboxvideo/APKBUILD34
-rw-r--r--user/xf86-video-vesa/APKBUILD34
-rw-r--r--user/xf86-video-vmware/APKBUILD34
-rw-r--r--user/xorg-drivers/APKBUILD15
37 files changed, 1518 insertions, 40 deletions
diff --git a/user/bash-completion/APKBUILD b/user/bash-completion/APKBUILD
index ef73c5b7c..535db976b 100644
--- a/user/bash-completion/APKBUILD
+++ b/user/bash-completion/APKBUILD
@@ -3,16 +3,19 @@
# Contributor: zlg <zlg+adelie@zlg.space>
# Maintainer:
pkgname=bash-completion
-pkgver=2.8
+pkgver=2.9
pkgrel=0
-pkgdesc="Command-line tab-completion for bash"
+pkgdesc="Command-line tab-completion for the Bash shell"
url="https://github.com/scop/bash-completion"
arch="noarch"
-license="GPL-2.0-or-later"
+license="GPL-2.0+"
depends="bash"
makedepends=""
+checkdepends="py3-pexpect py3-pytest"
subpackages="$pkgname-doc"
-source="https://github.com/scop/${pkgname}/releases/download/${pkgver}/${pkgname}-${pkgver}.tar.xz"
+source="https://github.com/scop/${pkgname}/releases/download/${pkgver}/${pkgname}-${pkgver}.tar.xz
+ fix-tests.patch
+ "
# Provided with util-linux and networkmanager:
_conflicting="
@@ -37,7 +40,6 @@ _conflicting="
"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -49,12 +51,10 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make -j1 DESTDIR="$pkgdir" install
mkdir -p "$pkgdir"/usr/share/doc/$pkgname/
@@ -67,4 +67,5 @@ package() {
done
}
-sha512sums="d839ef5a98811a2aade7ebdc0bc84c84a41c74db384f89913b06f3c25add1ba22528ac25392b19d27280685d258c74dcdc11247cbaae5b8d82f2c0b546abc268 bash-completion-2.8.tar.xz"
+sha512sums="e864091196d670699bdb2af3fc40464788e79c932fa564afa7ba34a637aa1583db7dbceab0e7ba6718fac99e9fd2dfb03d1ee51d7cf279d925ad63f60401d7d5 bash-completion-2.9.tar.xz
+a029f83c62edea94c86008db18dfe689880e3cea144e18bfce6a0675ddc4bc6ce2f29c2189c25e29932bbaf3139ad17c166c8f304ae3b3389d6b7894bbf15ab0 fix-tests.patch"
diff --git a/user/bash-completion/fix-tests.patch b/user/bash-completion/fix-tests.patch
new file mode 100644
index 000000000..557606460
--- /dev/null
+++ b/user/bash-completion/fix-tests.patch
@@ -0,0 +1,75 @@
+From 70afc1ed3697c3171a004b7db2f19220117d2862 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ville=20Skytt=C3=A4?= <ville.skytta@iki.fi>
+Date: Tue, 30 Apr 2019 18:04:13 +0300
+Subject: [PATCH] test_getconf: skip if -a doesn't output any POSIX_V*
+
+Refs https://github.com/scop/bash-completion/issues/312
+---
+ test/t/test_getconf.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/test/t/test_getconf.py b/test/t/test_getconf.py
+index 6f9192d251..96713dbe4c 100644
+--- a/test/t/test_getconf.py
++++ b/test/t/test_getconf.py
+@@ -14,7 +14,9 @@ def test_2(self, completion):
+ def test_3(self, completion):
+ assert completion
+
+- @pytest.mark.complete("getconf -v ")
++ @pytest.mark.complete(
++ "getconf -v ", skipif="! getconf -a 2>&1 | command grep -q ^POSIX_V"
++ )
+ def test_4(self, completion):
+ assert completion
+
+From 2cdac1b9f24df62a1fa80c1824ee8524c9b02393 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ville=20Skytt=C3=A4?= <ville.skytta@iki.fi>
+Date: Wed, 1 May 2019 13:42:52 +0300
+Subject: [PATCH] test_iconv: skip option completion if --help fails
+
+Such as on Alpine Linux (musl libc).
+
+Refs https://github.com/scop/bash-completion/issues/312
+---
+ test/t/test_iconv.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/t/test_iconv.py b/test/t/test_iconv.py
+index dc5f8961a6..2edc439b08 100644
+--- a/test/t/test_iconv.py
++++ b/test/t/test_iconv.py
+@@ -2,7 +2,7 @@
+
+
+ class TestIconv:
+- @pytest.mark.complete("iconv -")
++ @pytest.mark.complete("iconv -", skipif="! iconv --help &>/dev/null")
+ def test_1(self, completion):
+ assert completion
+
+--- bash-completion-2.9/test/t/test_cpio.py.old 2019-04-27 08:54:49.000000000 +0000
++++ bash-completion-2.9/test/t/test_cpio.py 2019-07-12 01:02:37.813838612 +0000
+@@ -8,9 +8,3 @@
+ def test_1(self, completion):
+ assert completion
+
+- @pytest.mark.complete("cpio -R ")
+- def test_2(self, bash, completion):
+- users = sorted(
+- assert_bash_exec(bash, "compgen -A user", want_output=True).split()
+- )
+- assert completion == users
+--- bash-completion-2.9/test/t/test_getconf.py.old 2019-07-12 01:03:00.331419016 +0000
++++ bash-completion-2.9/test/t/test_getconf.py 2019-07-12 04:15:53.176145140 +0000
+@@ -2,7 +2,9 @@
+
+
+ class TestGetconf:
+- @pytest.mark.complete("getconf P")
++ @pytest.mark.complete(
++ "getconf P", skipif="! getconf -a 2>&1 | command grep -q ^POSIX_V"
++ )
+ def test_1(self, completion):
+ assert completion
+
diff --git a/user/fbset/APKBUILD b/user/fbset/APKBUILD
new file mode 100644
index 000000000..32b82173f
--- /dev/null
+++ b/user/fbset/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=fbset
+pkgver=2.1
+pkgrel=0
+pkgdesc="Utility to manipulate the framebuffer"
+url="http://users.telenet.be/geertu/Linux/fbdev/"
+arch="all"
+options="!check" # No test suite.
+license="GPL-2.0-only"
+depends=""
+makedepends="bison flex"
+subpackages="$pkgname-doc"
+source="http://users.telenet.be/geertu/Linux/fbdev/fbset-$pkgver.tar.gz
+ types.patch
+ "
+
+build() {
+ make -j1
+}
+
+package() {
+ install -m755 -Dt "$pkgdir"/usr/sbin fbset
+ install -m644 -Dt "$pkgdir"/usr/share/man/man5 fb.modes.5
+ install -m644 -Dt "$pkgdir"/usr/share/man/man8 fbset.8
+}
+
+sha512sums="7e0380760f77b0db7dcc128f6375a3ed8da4b8521d1926faba27812c5cb20e6f1a62f3a539591a81a6b7e7986940db4cd83e03d6de487e0ab7f0760ed1d21b28 fbset-2.1.tar.gz
+5c4443f20b8342d2af6f1ddad9b2680c6e1a187f179645cb849eae921faf9c31a5d50fe59145357dff822fb6b0c0b717a590f7370dcdbc66cb283397960932b0 types.patch"
diff --git a/user/fbset/types.patch b/user/fbset/types.patch
new file mode 100644
index 000000000..7b3499427
--- /dev/null
+++ b/user/fbset/types.patch
@@ -0,0 +1,14 @@
+From: Gentoo
+For: musl compatibility (__u32)
+
+--- a/fbset.h 2018-04-05 18:17:18.292975594 +0000
++++ b/fbset.h 2018-04-05 18:22:20.448747231 +0000
+@@ -17,6 +17,8 @@
+
+ #ifdef __GLIBC__
+ #include <asm/types.h>
++#else
++#include <linux/types.h>
+ #endif
+
+ #define VERSION "Linux Frame Buffer Device Configuration " \
diff --git a/user/libinput/APKBUILD b/user/libinput/APKBUILD
index 14db25b0e..ee878b4b5 100644
--- a/user/libinput/APKBUILD
+++ b/user/libinput/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libinput
pkgver=1.13.2
-pkgrel=0
+pkgrel=1
pkgdesc="Library for handling input devices"
url="https://www.freedesktop.org/wiki/Software/libinput/"
arch="all"
@@ -11,7 +11,8 @@ license="MIT"
makedepends="doxygen eudev-dev graphviz libevdev-dev libwacom-dev meson
mtdev-dev ninja py3-recommonmark py3-sphinx py3-sphinx-rtd-theme"
checkdepends="check-dev valgrind"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
+subpackages="$pkgname-dev $pkgname-doc"
+replaces="$pkgname-libs"
source="https://freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz"
build() {
@@ -28,7 +29,6 @@ check() {
package() {
DESTDIR="$pkgdir" ninja -C builddir/ install
- install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
sha512sums="26f11c5274c26acc38b9b5729195010c0799a9563f1eb0e0cd67e323f8ed73b0fc8db8584ec8fdf1b726417f64c2daeb54832167079832626c8c1190fccf459f libinput-1.13.2.tar.xz"
diff --git a/user/libwacom/APKBUILD b/user/libwacom/APKBUILD
index 56464b2a0..c99e8605a 100644
--- a/user/libwacom/APKBUILD
+++ b/user/libwacom/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libwacom
pkgver=0.33
-pkgrel=1
+pkgrel=2
pkgdesc="Tablet description library"
url="http://linuxwacom.sourceforge.net/"
arch="all"
@@ -31,9 +31,9 @@ check() {
package() {
make DESTDIR="$pkgdir" install
install -dm755 "$pkgdir"/usr/lib/udev/rules.d/
- tools/generate-udev-rules
+ tools/generate-udev-rules \
> "$pkgdir"/usr/lib/udev/rules.d/65-libwacom.rules
}
sha512sums="de4d9cf3b5f4d87a159ba8ee617bafce9d13b67dc23d9dc67efd57317b0df2079dd0de328bc800de47f14ee49ea82bb842e34297cef23ba336c1ddca3afa826d libwacom-0.33.tar.bz2
-d1ac1176aa4a95991330e23fb84868d65a1b2e81d68173c990f885af1ce591de7aca16e21db8128e4f1975bca22b8014a6fa2ca8c0458dce464568239d75263c fix-database.patch"
+db07a7c44bd7ed010eec167d5e7cd807da203f8d42630855189b7c7e91ef6776b7df571ee0b0a0985912f836640fcf458ee4a394a47e9e8365892a6a137a3f00 fix-database.patch"
diff --git a/user/libwacom/fix-database.patch b/user/libwacom/fix-database.patch
index d367ca997..3c43b5bbf 100644
--- a/user/libwacom/fix-database.patch
+++ b/user/libwacom/fix-database.patch
@@ -1,15 +1,25 @@
-https://github.com/linuxwacom/libwacom/issues/85
-
-Awful, cheesy hack.
-
---- libwacom-0.33/libwacom/libwacom-database.c.old 2019-04-12 03:10:21.000000000 +0000
-+++ libwacom-0.33/libwacom/libwacom-database.c 2019-06-01 06:24:56.290159726 +0000
-@@ -152,7 +152,7 @@
-
- memset(namestr, 0, sizeof(namestr));
+diff --git a/libwacom/libwacom-database.c b/libwacom/libwacom-database.c
+index afb89a2..28388f5 100644
+--- a/libwacom/libwacom-database.c
++++ b/libwacom/libwacom-database.c
+@@ -147,14 +147,13 @@ make_match_string (const char *name, WacomBusType bus, int vendor_id, int produc
+ static gboolean
+ match_from_string(const char *str, WacomBusType *bus, int *vendor_id, int *product_id, char **name)
+ {
+- int rc = 1;
+- char busstr[64], namestr[64];
++ int rc = 1, len = 0;
++ char busstr[64];
+- memset(namestr, 0, sizeof(namestr));
+-
- rc = sscanf(str, "%63[^:]:%x:%x:%63c", busstr, vendor_id, product_id, namestr);
-+ rc = sscanf(str, "%63[^:]:%x:%x:%63[^\b]", busstr, vendor_id, product_id, namestr);
- if (rc == 4) {
- *name = g_strdup(namestr);
+- if (rc == 4) {
+- *name = g_strdup(namestr);
++ rc = sscanf(str, "%63[^:]:%x:%x:%n", busstr, vendor_id, product_id, &len);
++ if (len > 0) {
++ /* Grumble grumble scanf handling of %n */
++ *name = g_strdup(str+len);
} else if (rc == 3) {
+ *name = NULL;
+ } else {
diff --git a/user/netsurf/APKBUILD b/user/netsurf/APKBUILD
index 54fdea907..917c71be5 100644
--- a/user/netsurf/APKBUILD
+++ b/user/netsurf/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=netsurf
pkgver=3.8
-pkgrel=0
+pkgrel=1
pkgdesc="Modern, lightweight GTK-based browser"
url="http://www.netsurf-browser.org/"
arch="all"
@@ -13,7 +13,9 @@ makedepends="curl-dev zlib-dev bison flex libjpeg-turbo-dev libpng-dev
openssl-dev expat-dev gperf gtk+2.0-dev librsvg-dev
perl-html-parser"
source="http://download.netsurf-browser.org/netsurf/releases/source-full/netsurf-all-$pkgver.tar.gz
- Makefile.config"
+ Makefile.config
+ curl.patch
+ "
builddir="$srcdir/netsurf-all-$pkgver"
prepare() {
@@ -22,14 +24,13 @@ prepare() {
}
build() {
- cd "$builddir"
make PREFIX=/usr NETSURF_USE_VIDEO=YES
}
package() {
- cd "$builddir"
make PREFIX=/usr DESTDIR="$pkgdir" install
}
sha512sums="cc040566b2ae4bda1fa15f75f246b2977f17b1f0adc747ddf86a9f8873bc25dce46cacce8e3d80146e72cc0227b1642c9da8b39a73ca2b5bb254334a25b8136a netsurf-all-3.8.tar.gz
-cb5f7ca711c4a015a49acc25882b9b95e151d69e68a21d1df068f107b2372dc7493a25c0dfc1ef0cf42ceb16ba47ceb1002f6d37c2424512b183b508ee41357e Makefile.config"
+cb5f7ca711c4a015a49acc25882b9b95e151d69e68a21d1df068f107b2372dc7493a25c0dfc1ef0cf42ceb16ba47ceb1002f6d37c2424512b183b508ee41357e Makefile.config
+594c82f550ac04ea86807a7b2d634e10b24156439588d2d1917f67a8962ae872ab50289400d7f779ba0711a6758aee4bd442d7318fe6f271945e60242285c2bb curl.patch"
diff --git a/user/netsurf/curl.patch b/user/netsurf/curl.patch
new file mode 100644
index 000000000..c76a4dfa1
--- /dev/null
+++ b/user/netsurf/curl.patch
@@ -0,0 +1,161 @@
+From 65b16f4c54eba748ee4c8b6580e6f08fc27534f8 Mon Sep 17 00:00:00 2001
+From: Michael Drake <michael.drake@codethink.co.uk>
+Date: Mon, 6 May 2019 17:12:14 +0100
+Subject: Curl fetcher: Force HTTP1.1 to fix HTTP2 crash.
+
+On ubuntu 19.4, curl is built with HTTP2 support, and we
+segfault.
+
+==18174== Invalid read of size 1
+==18174== at 0x4ACCE7D: ??? (in /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0)
+==18174== by 0x4B054B1: ??? (in /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0)
+==18174== by 0x4AD398A: ??? (in /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0)
+==18174== by 0x4AD7A0B: ??? (in /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0)
+==18174== by 0x4AE93EE: ??? (in /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0)
+==18174== by 0x4AEA8A8: curl_multi_perform (in /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0)
+==18174== by 0x1F2EF7: fetch_curl_poll (curl.c:1209)
+==18174== by 0x1EEC5C: fetcher_poll (fetch.c:271)
+==18174== by 0x2A1ED4: schedule_run (schedule.c:160)
+==18174== by 0x15F941: framebuffer_run (gui.c:596)
+==18174== by 0x15F941: main (gui.c:2206)
+==18174== Address 0x9de95a8 is 3,224 bytes inside a block of size 6,304 free'd
+==18174== at 0x483997B: free (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
+==18174== by 0x4AD497B: ??? (in /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0)
+==18174== by 0x4AE158C: curl_easy_cleanup (in /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0)
+==18174== by 0x1F30DE: fetch_curl_cache_handle (curl.c:761)
+==18174== by 0x1F30DE: fetch_curl_stop (curl.c:840)
+==18174== by 0x1F30DE: fetch_curl_done (curl.c:1122)
+==18174== by 0x1F30DE: fetch_curl_poll (curl.c:1223)
+==18174== by 0x1EEC5C: fetcher_poll (fetch.c:271)
+==18174== by 0x2A1ED4: schedule_run (schedule.c:160)
+==18174== by 0x15F941: framebuffer_run (gui.c:596)
+==18174== by 0x15F941: main (gui.c:2206)
+==18174== Block was alloc'd at
+==18174== at 0x483AB35: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
+==18174== by 0x4AE165F: curl_easy_duphandle (in /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0)
+==18174== by 0x1F15EB: fetch_curl_get_handle (curl.c:738)
+==18174== by 0x1F15EB: fetch_curl_start (curl.c:750)
+==18174== by 0x1EEB22: fetch_dispatch_job (fetch.c:156)
+==18174== by 0x1EEB22: fetch_choose_and_dispatch (fetch.c:187)
+==18174== by 0x1EEB22: fetch_dispatch_jobs (fetch.c:247)
+==18174== by 0x1EF1BB: fetch_start (fetch.c:573)
+==18174== by 0x26C779: llcache_object_refetch (llcache.c:916)
+==18174== by 0x26D5E4: llcache_object_fetch (llcache.c:979)
+==18174== by 0x26D5E4: llcache_object_retrieve_from_cache (llcache.c:1767)
+==18174== by 0x26D5E4: llcache_object_retrieve (llcache.c:1865)
+==18174== by 0x26E42C: llcache_fetch_redirect (llcache.c:2110)
+==18174== by 0x26E42C: llcache_fetch_callback (llcache.c:2810)
+==18174== by 0x1F1295: fetch_curl_process_headers (curl.c:922)
+==18174== by 0x1F13A0: fetch_curl_data (curl.c:1324)
+==18174== by 0x4ACD4C3: ??? (in /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0)
+==18174== by 0x4AE00DA: ??? (in /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0)
+---
+ content/fetchers/curl.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/content/fetchers/curl.c b/content/fetchers/curl.c
+index 7ce7c5b48..4602f6aea 100644
+--- a/netsurf/content/fetchers/curl.c
++++ b/netsurf/content/fetchers/curl.c
+@@ -1519,6 +1519,10 @@ nserror fetch_curl_register(void)
+ if (nsoption_bool(suppress_curl_debug)) {
+ SETOPT(CURLOPT_DEBUGFUNCTION, fetch_curl_ignore_debug);
+ }
++
++ /* Currently we explode if curl uses HTTP2, so force 1.1. */
++ SETOPT(CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
++
+ SETOPT(CURLOPT_WRITEFUNCTION, fetch_curl_data);
+ SETOPT(CURLOPT_HEADERFUNCTION, fetch_curl_header);
+ SETOPT(CURLOPT_PROGRESSFUNCTION, fetch_curl_progress);
+--
+cgit v1.2.1
+
+
+From 3d80e825e1c77ece19c21ed1cc568049856a44de Mon Sep 17 00:00:00 2001
+From: Daniel Silverstone <dsilvers@digital-scurf.org>
+Date: Wed, 5 Jun 2019 19:51:47 +0100
+Subject: content/fetchers/curl.c: Defer fetch start if inside cURL
+
+In order to cope better with modern cURL which prevents making
+cURL calls when inside a callback from within cURL, defer fetch
+start when we are processing in `fetch_curl_data()`.
+
+Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
+---
+ content/fetchers/curl.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+(limited to 'content/fetchers/curl.c')
+
+diff --git a/content/fetchers/curl.c b/content/fetchers/curl.c
+index 63b9ea115..c039429a5 100644
+--- a/netsurf/content/fetchers/curl.c
++++ b/content/fetchers/curl.c
+@@ -142,6 +142,9 @@ static char fetch_error_buffer[CURL_ERROR_SIZE];
+ /** Proxy authentication details. */
+ static char fetch_proxy_userpwd[100];
+
++/** Interlock to prevent initiation during callbacks */
++static bool inside_curl = false;
++
+
+ /* OpenSSL 1.0.x to 1.1.0 certificate reference counting changed
+ * LibreSSL declares its OpenSSL version as 2.1 but only supports the old way
+@@ -710,6 +713,9 @@ fetch_curl_initiate_fetch(struct curl_fetch_info *fetch, CURL *handle)
+ code = fetch_curl_set_options(fetch);
+ if (code != CURLE_OK) {
+ fetch->curl_handle = 0;
++ /* The handle maybe went bad, eat it */
++ NSLOG(netsurf, WARNING, "cURL handle maybe went bad, retry later");
++ curl_easy_cleanup(handle);
+ return false;
+ }
+
+@@ -747,6 +753,10 @@ static CURL *fetch_curl_get_handle(lwc_string *host)
+ static bool fetch_curl_start(void *vfetch)
+ {
+ struct curl_fetch_info *fetch = (struct curl_fetch_info*)vfetch;
++ if (inside_curl) {
++ NSLOG(netsurf, DEBUG, "Deferring fetch because we're inside cURL");
++ return false;
++ }
+ return fetch_curl_initiate_fetch(fetch,
+ fetch_curl_get_handle(fetch->host));
+ }
+@@ -1317,6 +1327,9 @@ static size_t fetch_curl_data(char *data, size_t size, size_t nmemb, void *_f)
+ CURLcode code;
+ fetch_msg msg;
+
++ assert(inside_curl == false);
++ inside_curl = true;
++
+ /* ensure we only have to get this information once */
+ if (!f->http_code) {
+ code = curl_easy_getinfo(f->curl_handle, CURLINFO_HTTP_CODE,
+@@ -1330,11 +1343,13 @@ static size_t fetch_curl_data(char *data, size_t size, size_t nmemb, void *_f)
+ */
+ if (f->http_code == 401) {
+ f->http_code = 0;
++ inside_curl = false;
+ return size * nmemb;
+ }
+
+ if (f->abort || (!f->had_headers && fetch_curl_process_headers(f))) {
+ f->stopped = true;
++ inside_curl = false;
+ return 0;
+ }
+
+@@ -1344,6 +1359,7 @@ static size_t fetch_curl_data(char *data, size_t size, size_t nmemb, void *_f)
+ msg.data.header_or_data.len = size * nmemb;
+ fetch_send_callback(&msg, f->fetch_handle);
+
++ inside_curl = false;
+ if (f->abort) {
+ f->stopped = true;
+ return 0;
+--
+cgit v1.2.1
+
+
diff --git a/user/py3-docopt/APKBUILD b/user/py3-docopt/APKBUILD
new file mode 100644
index 000000000..b0bdf48a7
--- /dev/null
+++ b/user/py3-docopt/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=py3-docopt
+_pkgname=${pkgname#py3-}
+pkgver=0.6.2
+pkgrel=0
+pkgdesc="Expressive Python argument parsing library"
+url="https://pypi.org/project/docopt/"
+arch="noarch"
+license="MIT"
+depends="python3"
+makedepends="python3-dev"
+subpackages=""
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 setup.py test
+}
+
+package() {
+ mkdir -p "$pkgdir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="af138feccf8c37b374ee44fcda4938a88107d434df13c173214021b1a3348b152a595095a86982b66ac03a11db8e0f1e9e6a3a65c98deea92330311daeb831a3 docopt-0.6.2.tar.gz"
diff --git a/user/py3-hbmqtt/APKBUILD b/user/py3-hbmqtt/APKBUILD
new file mode 100644
index 000000000..e3f10e5ca
--- /dev/null
+++ b/user/py3-hbmqtt/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=py3-hbmqtt
+_pkgname=${pkgname#py3-}
+pkgver=0.9.5
+pkgrel=0
+pkgdesc="MQTT client/broker using Python and asyncio"
+url="https://pypi.org/project/hbmqtt/"
+arch="noarch"
+license="MIT"
+depends="python3"
+checkdepends="py3-docopt py3-passlib py3-pyyaml py3-six py3-transitions py3-websockets"
+makedepends="python3-dev"
+subpackages=""
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 setup.py test
+}
+
+package() {
+ mkdir -p "$pkgdir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="f5b1a301268c7af300a407a1a9734ba74ced825883e6740cc9d4e2eed4db48c55f6d76e4911a69743e1db514b1f2b4a05abb2320f40c349f2ac7a1d6c38d1642 hbmqtt-0.9.5.tar.gz"
diff --git a/user/py3-passlib/APKBUILD b/user/py3-passlib/APKBUILD
new file mode 100644
index 000000000..e3b86d402
--- /dev/null
+++ b/user/py3-passlib/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=py3-passlib
+_pkgname=${pkgname#py3-}
+pkgver=1.7.1
+pkgrel=0
+pkgdesc="Python password hashing framework"
+url="https://pypi.org/project/passlib/"
+arch="noarch"
+options="!check" # needs nose
+license="BSD-3-Clause"
+depends="python3"
+checkdepends="py3-nose"
+makedepends="python3-dev"
+subpackages=""
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 setup.py test
+}
+
+package() {
+ mkdir -p "$pkgdir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="3d5f069cd4e44e5e87cdabc46845acbdd6c1eeedb7ce1f611aebee87b0f7af19009b6a47a10ec555fd84260b9f5c933c6429e325d30326de3869f05031674168 passlib-1.7.1.tar.gz"
diff --git a/user/py3-sphinxcontrib-asyncio/APKBUILD b/user/py3-sphinxcontrib-asyncio/APKBUILD
new file mode 100644
index 000000000..73056c35a
--- /dev/null
+++ b/user/py3-sphinxcontrib-asyncio/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=py3-sphinxcontrib-asyncio
+_pkgname=${pkgname#py3-}
+pkgver=0.2.0
+pkgrel=0
+pkgdesc="Sphinx extension for using asyncio coroutines in markup"
+url="https://pypi.org/project/sphinxcontrib-asyncio/"
+arch="noarch"
+options="!check" # Tests not included in tarball.
+license="Apache-2.0"
+depends="python3"
+checkdepends="py3-pytest"
+makedepends="python3-dev"
+subpackages=""
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 setup.py test
+}
+
+package() {
+ mkdir -p "$pkgdir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="2ca25717c03385ae9bf879b8efeab8d508292d07f96d941032720d755d3db2e7bbc3c9a33c6103af9d83849ed8878bea1048d349bd0873288ee2addfee9756b7 sphinxcontrib-asyncio-0.2.0.tar.gz"
diff --git a/user/py3-transitions/APKBUILD b/user/py3-transitions/APKBUILD
new file mode 100644
index 000000000..8d9005f3e
--- /dev/null
+++ b/user/py3-transitions/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=py3-transitions
+_pkgname=${pkgname#py3-}
+pkgver=0.6.9
+pkgrel=0
+pkgdesc="Python state machine library"
+url="https://pypi.org/project/passlib/"
+arch="noarch"
+options="!check" # requires nose, pygraphviz
+license="MIT"
+depends="python3"
+makedepends="python3-dev"
+subpackages=""
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 setup.py test
+}
+
+package() {
+ mkdir -p "$pkgdir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="0cef11d547ae631afcb3dad557ab81b425f825028639787337f700f19073d7cb4c69ba9b6284155b3be85fb3eac4c4abd5b0cf3104dff8d2098c219729de4352 transitions-0.6.9.tar.gz"
diff --git a/user/py3-websockets/APKBUILD b/user/py3-websockets/APKBUILD
new file mode 100644
index 000000000..3dad1684a
--- /dev/null
+++ b/user/py3-websockets/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=py3-websockets
+_pkgname=${pkgname#py3-}
+pkgver=8.0
+pkgrel=0
+pkgdesc="Python implementation of RFCs 6455 and 7692"
+url="https://pypi.org/project/websockets/"
+arch="all"
+license="BSD-3-Clause"
+depends="python3"
+makedepends="python3-dev"
+subpackages=""
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 setup.py test
+}
+
+package() {
+ mkdir -p "$pkgdir"
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="8ae408224367b4e1fcab4d39758f75902072b15e833ed9db41afc9b69deb8cb6f1c538c200785e260cd890f31562feaeb99bdbcec445c5561714a9f08b936f6f websockets-8.0.tar.gz"
diff --git a/user/xdg-utils/APKBUILD b/user/xdg-utils/APKBUILD
index 08766dfaa..ff09bfff1 100644
--- a/user/xdg-utils/APKBUILD
+++ b/user/xdg-utils/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xdg-utils
pkgver=1.1.3
-pkgrel=0
+pkgrel=1
pkgdesc="Basic desktop integration functions"
url="https://www.freedesktop.org/wiki/Software/xdg-utils/"
arch="noarch"
@@ -13,10 +13,14 @@ makedepends="libxml2-utils libxslt lynx xmlto"
subpackages="$pkgname-doc"
source="https://portland.freedesktop.org/download/xdg-utils-$pkgver.tar.gz
xdg-screensaver-mv-T.patch
+ xdg-mime-gnome.patch
+ xdg-mime-plasma.patch
+ xdg-open-failure.patch
+ xdg-open-spaces.patch
+ xdg-su-lxqt.patch
"
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -28,9 +32,13 @@ build() {
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
sha512sums="d1f819a211eb4104a90dfdc6fedcb640fd46b15ccfc8762266f8f538c49d74cb00027b8c1af991fb2a200acb4379986ae375700e06a2aa08fb41a38f883acb3e xdg-utils-1.1.3.tar.gz
-db0896979fbc3b575826b4d732658564d08bcfc957b3fa1490fe02e4cc7b52adfa1e05956432a732dae8f50145e0040bc145739ba5692ae1b86fa74be8174436 xdg-screensaver-mv-T.patch"
+db0896979fbc3b575826b4d732658564d08bcfc957b3fa1490fe02e4cc7b52adfa1e05956432a732dae8f50145e0040bc145739ba5692ae1b86fa74be8174436 xdg-screensaver-mv-T.patch
+f8a711f349a690a950339574209fdaa6e06ef05644d8c83fd90b0c6abe9f64a457320e02a53c3cf4a68630fe15872c2786189c34014635169c8ba40e5fe0f693 xdg-mime-gnome.patch
+0270c722a4655815c7d2c042340c2bc16b1d99d1b1e4f4bf160c549afbd5620b88dfaaf31f2bbd1bafcf8d153f40e72af53006b94651a3a787c0dccec63dbb0c xdg-mime-plasma.patch
+17d1941fb81cb8b0bf23817b4d57c603bdcb4abc2919d8c6ce0dff4ce27cc83b33454740c881a67f9d9cb329ba1ea941067fcaca1fc82900d94c540699bf29cd xdg-open-failure.patch
+8f3888313dd74a6b6332aa8a41525d517e47bf37450fd361543df06146ed91e8d5a2be9762a10535a557b88f7c3d0c47904b0a250109f7d1a783d9ec30aaba04 xdg-open-spaces.patch
+48f7f976cf54741fb8fce7f559a0bfd08567363759e7788b8607066a32b0666e8ba1d4c7d2f9599950df81f0b71bd8114b20e937ece5ad88ec7f378ac8e8a9ac xdg-su-lxqt.patch"
diff --git a/user/xdg-utils/xdg-mime-gnome.patch b/user/xdg-utils/xdg-mime-gnome.patch
new file mode 100644
index 000000000..327d6968b
--- /dev/null
+++ b/user/xdg-utils/xdg-mime-gnome.patch
@@ -0,0 +1,40 @@
+From 0547886c0a7ae79145998495a6e3af6a1450d0c7 Mon Sep 17 00:00:00 2001
+From: Martin Puppe <dev@mpuppe.de>
+Date: Sat, 13 Apr 2019 12:46:44 +0200
+Subject: [PATCH] xdg-mime: return correct exit code for GNOME
+
+If the desktop environment was GNOME and none of the commands for
+detecting the MIME type of a file was available, xdg-mime used to return
+exit code 0 even though it failed. The man page says it should return
+exit code 3. This commit fixes the issue.
+
+I have considered returning exit code 4 instead since that is what would
+be returned if info_kde() or info_generic() fail to find a tool for MIME
+type detection. But I have decided to implement the behavior as
+specified in the man page.
+
+The exit code of an if construct is 0 if no condition
+tested true [^1]. The author of the original code probably was not aware
+of this.
+
+[^1]: https://www.gnu.org/software/bash/manual/html_node/Conditional-Constructs.html#Conditional-Constructs
+---
+ scripts/xdg-mime.in | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/scripts/xdg-mime.in b/scripts/xdg-mime.in
+index 0e567c7..034d0ef 100644
+--- a/scripts/xdg-mime.in
++++ b/scripts/xdg-mime.in
+@@ -84,6 +84,8 @@ info_gnome()
+ elif gnomevfs-info --help 2>/dev/null 1>&2; then
+ DEBUG 1 "Running gnomevfs-info \"$1\""
+ gnomevfs-info --slow-mime "$1" 2> /dev/null | grep "^MIME" | cut -d ":" -f 2 | sed s/"^ "//
++ else
++ exit_failure_operation_impossible "no method available for querying MIME type of '$filename'"
+ fi
+
+ if [ $? -eq 0 ]; then
+--
+2.21.0
+
diff --git a/user/xdg-utils/xdg-mime-plasma.patch b/user/xdg-utils/xdg-mime-plasma.patch
new file mode 100644
index 000000000..38b5f4b28
--- /dev/null
+++ b/user/xdg-utils/xdg-mime-plasma.patch
@@ -0,0 +1,61 @@
+From cf2a703b19d64f939890dcea79b3bd8d2a9a08fe Mon Sep 17 00:00:00 2001
+From: Ongun Kanat <ongun.kanat@gmail.com>
+Date: Fri, 12 Jul 2019 16:22:35 +0200
+Subject: [PATCH] Fix xdg-mime for proper Plasma 5 support
+
+This adds checks for Plasma 5 and runs kbuildsycoca5 after
+updating mimeapps.list file. The path of the file is
+detected via qtpaths utility.
+---
+ scripts/xdg-mime.in | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/scripts/xdg-mime.in b/scripts/xdg-mime.in
+index 0e567c7..1ac6a3d 100644
+--- a/scripts/xdg-mime.in
++++ b/scripts/xdg-mime.in
+@@ -133,7 +133,10 @@ make_default_kde()
+ # text/plain=gnome-gedit.desktop;gnu-emacs.desktop;
+ vendor="$1"
+ mimetype="$2"
+- if [ x"$KDE_SESSION_VERSION" = x"4" ]; then
++ if [ x"$KDE_SESSION_VERSION" = x"5" ]; then
++ default_dir=$(qtpaths --writable-path ConfigLocation)
++ default_file="$default_dir/mimeapps.list"
++ elif [ x"$KDE_SESSION_VERSION" = x"4" ]; then
+ default_dir=`kde4-config --path xdgdata-apps 2> /dev/null | cut -d ':' -f 1`
+ default_file="$default_dir/mimeapps.list"
+ else
+@@ -148,7 +151,7 @@ make_default_kde()
+ DEBUG 1 "Updating $default_file"
+ mkdir -p "$default_dir"
+ [ -f "$default_file" ] || touch "$default_file"
+- if [ x"$KDE_SESSION_VERSION" = x"4" ]; then
++ if [ x"$KDE_SESSION_VERSION" = x"4" ] || [ x"$KDE_SESSION_VERSION" = x"5" ]; then
+ [ -f "$default_file" ] || touch "$default_file"
+ awk -v application="$vendor" -v mimetype="$mimetype" '
+ BEGIN {
+@@ -207,7 +210,7 @@ make_default_kde()
+ }
+ }
+ ' "$default_file" > "${default_file}.new" && mv "${default_file}.new" "$default_file"
+- eval 'kbuildsycoca4'$xdg_redirect_output
++ eval 'kbuildsycoca${KDE_SESSION_VERSION}'$xdg_redirect_output
+ else
+ awk -v application="$vendor" -v mimetype="$mimetype" '
+ BEGIN {
+@@ -576,6 +579,11 @@ if [ "$action" = "makedefault" ]; then
+
+ make_default_kde "$filename" "$mimetype"
+ make_default_generic "$filename" "$mimetype"
++ detectDE
++
++ if [ x"$DE" = x"kde" ]; then
++ eval 'kbuildsycoca${KDE_SESSION_VERSION}'$xdg_redirect_output
++ fi
+ done
+ exit_success
+ fi
+--
+2.21.0
+
diff --git a/user/xdg-utils/xdg-open-failure.patch b/user/xdg-utils/xdg-open-failure.patch
new file mode 100644
index 000000000..022d4614d
--- /dev/null
+++ b/user/xdg-utils/xdg-open-failure.patch
@@ -0,0 +1,43 @@
+From 0ad418b2543b532ec82298ac2660d3f222f10882 Mon Sep 17 00:00:00 2001
+From: KARBOWSKI Piotr <piotr.karbowski@gmail.com>
+Date: Sun, 23 Jun 2019 11:39:40 +0200
+Subject: [PATCH] xdg-open: Exit also on non-zero exit status from 'Exec'
+ .desktop entry.
+
+Currently if the tool that was taken out of .desktop file Exec field
+will exit with non-zero exit code, xdg-open will then fallback to
+open_generic() from search_desktop_file(), which will lead to opening
+again the same file with the same tool and ending on opening the file
+with web browser.
+
+This may lead to situation when for example text editor that fails to
+write file on exit, will open the unchanged file with web browsr.
+
+Another real life example is if one were to exit from mpv with
+control-C, xdg-open will again start mpv, then it will try to start
+x-web-browser and ending with starting a browser from list -- firefox in
+my case.
+
+This must be a bug as it's not docummented anywhere. If we got to the
+point where we exec $command_exec then xdg-open must exit even if
+whatever was executed by $command_exec returned non-zero exit status.
+---
+ scripts/xdg-open.in | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/scripts/xdg-open.in b/scripts/xdg-open.in
+index 202f3e3..7cfdde0 100644
+--- a/scripts/xdg-open.in
++++ b/scripts/xdg-open.in
+@@ -325,6 +325,8 @@ search_desktop_file()
+
+ if [ $? -eq 0 ]; then
+ exit_success
++ else
++ exit_failure_operation_failed
+ fi
+ fi
+
+--
+2.21.0
+
diff --git a/user/xdg-utils/xdg-open-spaces.patch b/user/xdg-utils/xdg-open-spaces.patch
new file mode 100644
index 000000000..7583a9dc3
--- /dev/null
+++ b/user/xdg-utils/xdg-open-spaces.patch
@@ -0,0 +1,38 @@
+From cc686869e9801b09abc29a3e72718ae0520aa97e Mon Sep 17 00:00:00 2001
+From: Dominik Schmidt <dominik@schm1dt.ch>
+Date: Sat, 8 Dec 2018 19:56:44 +0100
+Subject: [PATCH] xdg-open: Fix unquoted variable expansion when looking for
+ .desktop files
+
+The recursive find algorithm for the .desktop files has an unquoted path expansion
+in the generic case, when no desktop environment specific tool is found.
+Hence, if we have a directory layout containing something along the lines of
+
+ ~/.local/share/applications/foo bar/
+
+Then the recursion will expand into searching in:
+
+ * `~/.local/share/applications/foo`
+ * `~/bar/*`
+
+instead of `~/.local/share/applications/foo bar/*`
+---
+ scripts/xdg-open.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scripts/xdg-open.in b/scripts/xdg-open.in
+index 202f3e3..b3e0ba9 100644
+--- a/scripts/xdg-open.in
++++ b/scripts/xdg-open.in
+@@ -328,7 +328,7 @@ search_desktop_file()
+ fi
+ fi
+
+- for d in $dir/*/; do
++ for d in "$dir"/*/; do
+ [ -d "$d" ] && search_desktop_file "$default" "$d" "$target"
+ done
+ }
+--
+2.21.0
+
diff --git a/user/xdg-utils/xdg-su-lxqt.patch b/user/xdg-utils/xdg-su-lxqt.patch
new file mode 100644
index 000000000..dccc4e214
--- /dev/null
+++ b/user/xdg-utils/xdg-su-lxqt.patch
@@ -0,0 +1,28 @@
+Upstream-Bug: https://bugzilla.suse.com/show_bug.cgi?id=1120397
+Upstream-Bug: https://github.com/lxqt/lxqt/issues/1653
+
+From 132cbff34f00f67a83ea58919a982abe600f25c3 Mon Sep 17 00:00:00 2001
+From: Fabio Pesari <posta@parallelo.eu>
+Date: Sun, 7 Jul 2019 13:08:33 +0000
+Subject: [PATCH] xdg-su: Fix escaping for lxqt-sudo
+
+---
+ scripts/xdg-su.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scripts/xdg-su.in b/scripts/xdg-su.in
+index b7a9865..65463eb 100644
+--- a/scripts/xdg-su.in
++++ b/scripts/xdg-su.in
+@@ -84,7 +84,7 @@ su_lxqt()
+ if [ $? -eq 0 ] ; then
+ if [ -z "$user" ] ; then
+ # -s option runs as su rather then sudo
+- $LXQTSU -s "$cmd"
++ $LXQTSU -s $cmd
+ else
+ # lxqt-sudo does not support specifying a user
+ su_generic
+--
+2.21.0
+
diff --git a/user/xf86-video-amdgpu/APKBUILD b/user/xf86-video-amdgpu/APKBUILD
new file mode 100644
index 000000000..0228575e4
--- /dev/null
+++ b/user/xf86-video-amdgpu/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=xf86-video-amdgpu
+pkgver=19.0.1
+pkgrel=0
+pkgdesc="X.Org driver for brand new AMD GPUs"
+url="https://www.X.Org/"
+arch="all"
+license="X11"
+depends=""
+makedepends="eudev-dev libdrm-dev mesa-dev util-macros xorg-server-dev
+ xorgproto-dev"
+subpackages="$pkgname-doc"
+source="https://www.x.org/releases/individual/driver/xf86-video-amdgpu-$pkgver.tar.bz2"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="dda04e3ccee140354f59e04895cf50cd7dc06a105c40ce35069613c5b5fbe083cab6833fd293d96334f64dde1a0c4af6154d473594a144f37404188ae7f37dd5 xf86-video-amdgpu-19.0.1.tar.bz2"
diff --git a/user/xf86-video-glint/APKBUILD b/user/xf86-video-glint/APKBUILD
new file mode 100644
index 000000000..c3f2b0303
--- /dev/null
+++ b/user/xf86-video-glint/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=xf86-video-glint
+pkgver=1.2.9
+pkgrel=0
+pkgdesc="X.Org driver for GLINT/Permedia GPUs"
+url="https://www.X.Org/"
+arch="all"
+license="X11"
+depends=""
+makedepends="util-macros xorg-server-dev xorgproto-dev"
+subpackages="$pkgname-doc"
+source="https://www.X.Org/releases/individual/driver/xf86-video-glint-$pkgver.tar.bz2"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="29b573abc2c77992562ab72ea99dfac5fa4baee99404747c53494680fe750b9c096833cd6c8013aa85f7fb5db5bdbee2a9b26dff633a6a4fe2dc8cd9f0adff12 xf86-video-glint-1.2.9.tar.bz2"
diff --git a/user/xf86-video-rendition/APKBUILD b/user/xf86-video-rendition/APKBUILD
new file mode 100644
index 000000000..7174d96a7
--- /dev/null
+++ b/user/xf86-video-rendition/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=xf86-video-rendition
+pkgver=4.2.7
+pkgrel=0
+pkgdesc="X.Org driver for Rendition graphics"
+url="https://www.X.Org/"
+arch="all"
+license="X11"
+depends=""
+makedepends="util-macros xorg-server-dev xorgproto-dev"
+subpackages="$pkgname-doc"
+source="https://www.X.Org/releases/individual/driver/xf86-video-rendition-$pkgver.tar.bz2"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="5a23a599488946499e9bb3dfaf553cd68b6a1555a9c46b4038f355038a28747715bb940c52170f909917386911c8ae2607c669ba28f24a6c10ad375dab4535aa xf86-video-rendition-4.2.7.tar.bz2"
diff --git a/user/xf86-video-siliconmotion/APKBUILD b/user/xf86-video-siliconmotion/APKBUILD
new file mode 100644
index 000000000..de2f1c4f4
--- /dev/null
+++ b/user/xf86-video-siliconmotion/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=xf86-video-siliconmotion
+pkgver=1.7.9
+pkgrel=0
+pkgdesc="X.Org driver for Silicon Motion video cards"
+url="https://www.X.Org/"
+arch="all"
+license="X11"
+depends=""
+makedepends="util-macros xorg-server-dev xorgproto-dev"
+subpackages="$pkgname-doc"
+source="https://www.X.Org/releases/individual/driver/xf86-video-siliconmotion-$pkgver.tar.bz2"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="13085945ca496f83521c28b25c394077e010031dbdc2374347a932a52650ada02f525269a81d0b0bb20b48e371d5435a7a73cb7555a07dc5a784e77152608c63 xf86-video-siliconmotion-1.7.9.tar.bz2"
diff --git a/user/xf86-video-sis/APKBUILD b/user/xf86-video-sis/APKBUILD
new file mode 100644
index 000000000..2cd03b8ce
--- /dev/null
+++ b/user/xf86-video-sis/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=xf86-video-sis
+pkgver=0.10.9
+pkgrel=0
+pkgdesc="X.Org driver for SiS video cards"
+url="https://www.X.Org/"
+arch="all"
+license="X11"
+depends=""
+makedepends="util-macros xorg-server-dev xorgproto-dev"
+subpackages="$pkgname-doc"
+source="https://www.X.Org/releases/individual/driver/xf86-video-sis-$pkgver.tar.bz2
+ glx.patch
+ virtualFrom.patch
+ "
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="7cb11d2f1f8be8d92159af7e322a9e4fe4e3436c38932d6d665b8854c2009495e99ff075c7a14d9db9c781114afc8397f0e8c1225d9a2f4bbf1b6a4b6cd6745d xf86-video-sis-0.10.9.tar.bz2
+964e3a0a70b1abd93b3260f127a569a5afe1f4c872d5bf8533fae7033b3e612752ee931c042dcf08996a92ee44069a93b5b614cbd2b10005fec14da109d636f4 glx.patch
+f0ca7776af2562818bc7fa738b0f43af3322369c981f37cf531e25dc05a07783778ae6f5042a4c90629dc6eb8705b95014c024de002b5b48ecb5fa46db9c8280 virtualFrom.patch"
diff --git a/user/xf86-video-sis/glx.patch b/user/xf86-video-sis/glx.patch
new file mode 100644
index 000000000..f3cad9fad
--- /dev/null
+++ b/user/xf86-video-sis/glx.patch
@@ -0,0 +1,302 @@
+From a50b2b3412dd8e7f3916acb142c942e85ffcb3e5 Mon Sep 17 00:00:00 2001
+From: Emil Velikov <emil.velikov@collabora.com>
+Date: Mon, 17 Jul 2017 12:01:57 +0100
+Subject: [PATCH 2/2] xf86-video-sis: remove the GlxSetVisualConfigs stub and
+ friends
+
+The function was an empty since 2008 at least. Remove it alongside the
+unused GLX visuals code.
+
+With this all the GL/GLX dependencies in the driver are gone.
+
+Cc: Connor Behan <connor.behan@gmail.com>
+Cc: Thomas Klausner <wiz@NetBSD.org>
+Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
+---
+ src/sis.h | 4 --
+ src/sis_dri.c | 161 +------------------------------------------------------
+ src/sis_dri.h | 5 --
+ src/sis_driver.c | 10 +---
+ 4 files changed, 3 insertions(+), 177 deletions(-)
+
+diff --git a/src/sis.h b/src/sis.h
+index 385b784..2b764cb 100644
+--- a/src/sis.h
++++ b/src/sis.h
+@@ -197,7 +197,6 @@
+ #include "sarea.h"
+ #define _XF86DRI_SERVER_
+ #include "dri.h"
+-#include "GL/glxint.h"
+ #include "sis_dri.h"
+ #endif /* SISDRI */
+
+@@ -1198,9 +1197,6 @@ typedef struct {
+ Bool directRenderingEnabled;
+ DRIInfoPtr pDRIInfo;
+ int drmSubFD;
+- int numVisualConfigs;
+- __GLXvisualConfig* pVisualConfigs;
+- SISConfigPrivPtr pVisualConfigsPriv;
+ SISRegRec DRContextRegs;
+ #endif
+
+diff --git a/src/sis_dri.c b/src/sis_dri.c
+index 9a045a2..5778c51 100644
+--- a/src/sis_dri.c
++++ b/src/sis_dri.c
+@@ -44,7 +44,6 @@
+ #include "sis_regs.h"
+
+ #include "fb.h"
+-#include "GL/glxtokens.h"
+
+ #ifndef SISHAVEDRMWRITE
+ # if XF86_VERSION_CURRENT < XF86_VERSION_NUMERIC(4,2,99,0,0)
+@@ -96,12 +95,6 @@ extern char *DRICreatePCIBusID(pciVideoPtr PciInfo);
+ while( (SIS_MMIO_IN16(pSiS->IOBase, Q_STATUS+2) & 0x8000) != 0x8000){}; \
+ }
+
+-extern void GlxSetVisualConfigs(
+- int nconfigs,
+- __GLXvisualConfig *configs,
+- void **configprivs
+-);
+-
+ /* The kernel's "sis" DRM module handles all chipsets */
+ static char SISKernelDriverName[] = "sis";
+
+@@ -110,7 +103,6 @@ static char SISClientDriverNameSiS300[] = "sis"; /* 300, 540, 630, 730 */
+ static char SISClientDriverNameSiS315[] = "sis315"; /* All of 315/330 series */
+ static char SISClientDriverNameXGI[] = "xgi"; /* XGI V3, V5, V8 */
+
+-static Bool SISInitVisualConfigs(ScreenPtr pScreen);
+ static Bool SISCreateContext(ScreenPtr pScreen, VisualPtr visual,
+ drm_context_t hwContext, void *pVisualConfigPriv,
+ DRIContextType contextStore);
+@@ -125,141 +117,6 @@ static void SISDRIInitBuffers(WindowPtr pWin, RegionPtr prgn, CARD32 index);
+ static void SISDRIMoveBuffers(WindowPtr pParent, DDXPointRec ptOldOrg,
+ RegionPtr prgnSrc, CARD32 index);
+
+-static Bool
+-SISInitVisualConfigs(ScreenPtr pScreen)
+-{
+- ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+- SISPtr pSIS = SISPTR(pScrn);
+- int numConfigs = 0;
+- __GLXvisualConfig *pConfigs = 0;
+- SISConfigPrivPtr pSISConfigs = 0;
+- SISConfigPrivPtr *pSISConfigPtrs = 0;
+- int i, db, z_stencil, accum;
+- Bool useZ16 = FALSE;
+-
+- if(getenv("SIS_FORCE_Z16")) {
+- useZ16 = TRUE;
+- }
+-
+- switch (pScrn->bitsPerPixel) {
+- case 8:
+- case 24:
+- break;
+- case 16:
+- case 32:
+- numConfigs = (useZ16) ? 8 : 16;
+-
+- if(!(pConfigs = (__GLXvisualConfig*)calloc(sizeof(__GLXvisualConfig),
+- numConfigs))) {
+- return FALSE;
+- }
+- if(!(pSISConfigs = (SISConfigPrivPtr)calloc(sizeof(SISConfigPrivRec),
+- numConfigs))) {
+- free(pConfigs);
+- return FALSE;
+- }
+- if(!(pSISConfigPtrs = (SISConfigPrivPtr*)calloc(sizeof(SISConfigPrivPtr),
+- numConfigs))) {
+- free(pConfigs);
+- free(pSISConfigs);
+- return FALSE;
+- }
+- for(i=0; i<numConfigs; i++) pSISConfigPtrs[i] = &pSISConfigs[i];
+-
+- i = 0;
+- for(accum = 0; accum <= 1; accum++) {
+- for(z_stencil = 0; z_stencil < (useZ16 ? 2 : 4); z_stencil++) {
+- for(db = 0; db <= 1; db++) {
+- pConfigs[i].vid = -1;
+- pConfigs[i].class = -1;
+- pConfigs[i].rgba = TRUE;
+- if(pScrn->bitsPerPixel == 16) {
+- pConfigs[i].redSize = 5;
+- pConfigs[i].greenSize = 6;
+- pConfigs[i].blueSize = 5;
+- pConfigs[i].alphaSize = 0;
+- pConfigs[i].redMask = 0x0000F800;
+- pConfigs[i].greenMask = 0x000007E0;
+- pConfigs[i].blueMask = 0x0000001F;
+- pConfigs[i].alphaMask = 0x00000000;
+- } else {
+- pConfigs[i].redSize = 8;
+- pConfigs[i].greenSize = 8;
+- pConfigs[i].blueSize = 8;
+- pConfigs[i].alphaSize = 8;
+- pConfigs[i].redMask = 0x00FF0000;
+- pConfigs[i].greenMask = 0x0000FF00;
+- pConfigs[i].blueMask = 0x000000FF;
+- pConfigs[i].alphaMask = 0xFF000000;
+- }
+- if(accum) {
+- pConfigs[i].accumRedSize = 16;
+- pConfigs[i].accumGreenSize = 16;
+- pConfigs[i].accumBlueSize = 16;
+- if(pConfigs[i].alphaMask == 0)
+- pConfigs[i].accumAlphaSize = 0;
+- else
+- pConfigs[i].accumAlphaSize = 16;
+- } else {
+- pConfigs[i].accumRedSize = 0;
+- pConfigs[i].accumGreenSize = 0;
+- pConfigs[i].accumBlueSize = 0;
+- pConfigs[i].accumAlphaSize = 0;
+- }
+- if(db) pConfigs[i].doubleBuffer = TRUE;
+- else pConfigs[i].doubleBuffer = FALSE;
+- pConfigs[i].stereo = FALSE;
+- pConfigs[i].bufferSize = -1;
+- switch(z_stencil) {
+- case 0:
+- pConfigs[i].depthSize = 0;
+- pConfigs[i].stencilSize = 0;
+- break;
+- case 1:
+- pConfigs[i].depthSize = 16;
+- pConfigs[i].stencilSize = 0;
+- break;
+- case 2:
+- pConfigs[i].depthSize = 32;
+- pConfigs[i].stencilSize = 0;
+- break;
+- case 3:
+- pConfigs[i].depthSize = 24;
+- pConfigs[i].stencilSize = 8;
+- break;
+- }
+- pConfigs[i].auxBuffers = 0;
+- pConfigs[i].level = 0;
+- if(pConfigs[i].accumRedSize != 0)
+- pConfigs[i].visualRating = GLX_SLOW_CONFIG;
+- else
+- pConfigs[i].visualRating = GLX_NONE_EXT;
+- pConfigs[i].transparentPixel = GLX_NONE;
+- pConfigs[i].transparentRed = 0;
+- pConfigs[i].transparentGreen = 0;
+- pConfigs[i].transparentBlue = 0;
+- pConfigs[i].transparentAlpha = 0;
+- pConfigs[i].transparentIndex = 0;
+- i++;
+- }
+- }
+- }
+- if(i != numConfigs) {
+- xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+- "[dri] Incorrect initialization of visuals. Disabling the DRI.\n");
+- return FALSE;
+- }
+- break;
+- }
+-
+- pSIS->numVisualConfigs = numConfigs;
+- pSIS->pVisualConfigs = pConfigs;
+- pSIS->pVisualConfigsPriv = pSISConfigs;
+- GlxSetVisualConfigs(numConfigs, pConfigs, (void**)pSISConfigPtrs);
+-
+- return TRUE;
+-}
+-
+ Bool
+ SISDRIScreenInit(ScreenPtr pScreen)
+ {
+@@ -276,10 +133,9 @@ SISDRIScreenInit(ScreenPtr pScreen)
+ pSIS->cmdQ_SharedWritePortBackup = NULL;
+ #endif
+
+- /* Check that the GLX, DRI, and DRM modules have been loaded by testing
++ /* Check that the DRI, and DRM modules have been loaded by testing
+ * for canonical symbols in each module.
+ */
+- if(!xf86LoaderCheckSymbol("GlxSetVisualConfigs")) return FALSE;
+ if(!xf86LoaderCheckSymbol("drmAvailable")) return FALSE;
+ if(!xf86LoaderCheckSymbol("DRIQueryVersion")) {
+ xf86DrvMsg(pScreen->myNum, X_ERROR,
+@@ -651,11 +507,6 @@ SISDRIScreenInit(ScreenPtr pScreen)
+
+ pSISDRI->irqEnabled = pSIS->irqEnabled;
+
+- if(!(SISInitVisualConfigs(pScreen))) {
+- SISDRICloseScreen(pScreen);
+- return FALSE;
+- }
+-
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "[dri] Visual configs initialized\n" );
+
+ return TRUE;
+@@ -801,16 +652,6 @@ SISDRICloseScreen(ScreenPtr pScreen)
+ pSIS->pDRIInfo = NULL;
+ }
+
+- if(pSIS->pVisualConfigs) {
+- free(pSIS->pVisualConfigs);
+- pSIS->pVisualConfigs = NULL;
+- }
+-
+- if(pSIS->pVisualConfigsPriv) {
+- free(pSIS->pVisualConfigsPriv);
+- pSIS->pVisualConfigsPriv = NULL;
+- }
+-
+ }
+
+ /* TODO: xserver receives driver's swapping event and do something
+diff --git a/src/sis_dri.h b/src/sis_dri.h
+index 399d757..ce9039c 100644
+--- a/src/sis_dri.h
++++ b/src/sis_dri.h
+@@ -103,11 +103,6 @@ typedef struct {
+ #define AGPVtxBufOffset AGPCmdBufOffset
+ #define AGPVtxBufSize AGPCmdBufSize
+
+-typedef struct {
+- /* Nothing here yet */
+- int dummy;
+-} SISConfigPrivRec, *SISConfigPrivPtr;
+-
+ typedef struct {
+ /* Nothing here yet */
+ int dummy;
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index 513f68b..4e51e2e 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -6901,17 +6901,11 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ }
+ }
+
+- /* Load the dri and glx modules if requested. */
++ /* Load the dri modules if requested. */
+ #ifdef SISDRI
+ if(pSiS->loadDRI) {
+ if(!xf86LoaderCheckSymbol("DRIScreenInit")) {
+- if(xf86LoadSubModule(pScrn, "dri")) {
+- if(!xf86LoaderCheckSymbol("GlxSetVisualConfigs")) {
+- if(!xf86LoadSubModule(pScrn, "glx")) {
+- SISErrorLog(pScrn, "Failed to load glx module\n");
+- }
+- }
+- } else {
++ if(!xf86LoadSubModule(pScrn, "dri")) {
+ SISErrorLog(pScrn, "Failed to load dri module\n");
+ }
+ }
+--
+2.16.2
+
diff --git a/user/xf86-video-sis/virtualFrom.patch b/user/xf86-video-sis/virtualFrom.patch
new file mode 100644
index 000000000..4413c4a0f
--- /dev/null
+++ b/user/xf86-video-sis/virtualFrom.patch
@@ -0,0 +1,28 @@
+From 4b1356a2b7fd06e9a05d134caa4033681c939737 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Thu, 16 Feb 2017 11:21:27 -0500
+Subject: [PATCH 1/2] Remove reference to ->virtualFrom
+
+The core will print this information as well anyway.
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+---
+ src/sis_driver.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index 8f06164..513f68b 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -2738,7 +2738,7 @@ SiSPrintModes(ScrnInfoPtr pScrn)
+ float hsync, refresh = 0.0;
+ char *desc, *desc2, *prefix, *uprefix, *output;
+
+- xf86DrvMsg(pScrn->scrnIndex, pScrn->virtualFrom, "Virtual size is %dx%d "
++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Virtual size is %dx%d "
+ "(pitch %d)\n", pScrn->virtualX, pScrn->virtualY,
+ pScrn->displayWidth);
+
+--
+2.16.2
+
diff --git a/user/xf86-video-sisusb/APKBUILD b/user/xf86-video-sisusb/APKBUILD
new file mode 100644
index 000000000..0e0707aa0
--- /dev/null
+++ b/user/xf86-video-sisusb/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=xf86-video-sisusb
+pkgver=0.9.7
+pkgrel=0
+pkgdesc="X.Org driver for SiS USB-based video cards"
+url="https://www.X.Org/"
+arch="all"
+license="X11"
+depends=""
+makedepends="util-macros xorg-server-dev xorgproto-dev"
+subpackages="$pkgname-doc"
+source="https://www.X.Org/releases/individual/driver/xf86-video-sisusb-$pkgver.tar.bz2"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="6edaf54bad80a261fa22606cad6619992e04560e132b3e68be30c80ebf2e599bc157118e725f67c5d96adc09ed036cc0c78ae0e0ce926708726f953a2fc34f02 xf86-video-sisusb-0.9.7.tar.bz2"
diff --git a/user/xf86-video-sunffb/APKBUILD b/user/xf86-video-sunffb/APKBUILD
new file mode 100644
index 000000000..37a3147fb
--- /dev/null
+++ b/user/xf86-video-sunffb/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=xf86-video-sunffb
+pkgver=1.2.2
+pkgrel=0
+pkgdesc="X.Org driver for Sun framebuffers"
+url="https://www.X.Org/"
+arch="all"
+license="X11"
+depends=""
+makedepends="util-macros xorg-server-dev xorgproto-dev"
+subpackages="$pkgname-doc"
+source="https://www.X.Org/releases/individual/driver/xf86-video-sunffb-$pkgver.tar.bz2"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="a812cfdb43527e97993d1ce8b62324a5ee442c0bbf695d45582f10d7d428606ac9a546c80cd401e41e2f198c94fa84762ec4e545b53b8d1cb074bfb13ab45ff0 xf86-video-sunffb-1.2.2.tar.bz2"
diff --git a/user/xf86-video-sunleo/APKBUILD b/user/xf86-video-sunleo/APKBUILD
new file mode 100644
index 000000000..0233842b5
--- /dev/null
+++ b/user/xf86-video-sunleo/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=xf86-video-sunleo
+pkgver=1.2.2
+pkgrel=0
+pkgdesc="X.Org driver for the Sun LEO 3D accelerator"
+url="https://www.X.Org/"
+arch="all"
+license="X11"
+depends=""
+makedepends="util-macros xorg-server-dev xorgproto-dev"
+subpackages="$pkgname-doc"
+source="https://www.X.Org/releases/individual/driver/xf86-video-sunleo-$pkgver.tar.bz2"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="467559e608b59dcf2a50cbaddc218ad0778e88515906fed9d6346db09187f3f7645482113882bcf81428d4af3d3f2cccec7f24663c12c23a411f8a87551ef23f xf86-video-sunleo-1.2.2.tar.bz2"
diff --git a/user/xf86-video-trident/APKBUILD b/user/xf86-video-trident/APKBUILD
new file mode 100644
index 000000000..560447424
--- /dev/null
+++ b/user/xf86-video-trident/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=xf86-video-trident
+pkgver=1.3.8
+pkgrel=0
+pkgdesc="X.Org driver for Trident video cards"
+url="https://www.X.Org/"
+arch="all"
+license="X11"
+depends=""
+makedepends="util-macros xorg-server-dev xorgproto-dev"
+subpackages="$pkgname-doc"
+source="https://www.X.Org/releases/individual/driver/xf86-video-trident-$pkgver.tar.bz2"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="f971e9441c9ff7374d53d30f6746232903221665ae52560d5716762c2233cc6d0065b631a4fed98bf194d9827572cc42da577a2e6e06ba014e6ce42343b63f66 xf86-video-trident-1.3.8.tar.bz2"
diff --git a/user/xf86-video-v4l/APKBUILD b/user/xf86-video-v4l/APKBUILD
new file mode 100644
index 000000000..2437720a1
--- /dev/null
+++ b/user/xf86-video-v4l/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=xf86-video-v4l
+pkgver=0.3.0
+pkgrel=0
+pkgdesc="X.Org driver for Video4Linux devices"
+url="https://www.X.Org/"
+arch="all"
+license="X11"
+depends=""
+makedepends="util-macros xorg-server-dev xorgproto-dev"
+subpackages="$pkgname-doc"
+source="https://www.X.Org/releases/individual/driver/xf86-video-v4l-$pkgver.tar.bz2"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="ec39b2fa70143b8662c3bd8ec094afdfa245687072d19164eb6b6c3e96aaf39a4d7708af60be975fcd07927cc9055812a67abb611a98cd27b3d548d8c2249955 xf86-video-v4l-0.3.0.tar.bz2"
diff --git a/user/xf86-video-vboxvideo/APKBUILD b/user/xf86-video-vboxvideo/APKBUILD
new file mode 100644
index 000000000..5a5288f9b
--- /dev/null
+++ b/user/xf86-video-vboxvideo/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=xf86-video-vboxvideo
+pkgver=1.0.0
+pkgrel=0
+pkgdesc="X.Org driver for the VirtualBox video adaptor"
+url="https://www.X.Org/"
+arch="all"
+license="X11"
+depends=""
+makedepends="util-macros xorg-server-dev xorgproto-dev"
+subpackages="$pkgname-doc"
+source="https://www.X.Org/releases/individual/driver/xf86-video-vboxvideo-$pkgver.tar.bz2"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="1a9856a966495a3a291592ee3113ed5ee83e3ef530bf37d91605206a62f641726511ad48ca79b8a3e94f601f8cf15341255b0c7d14f5c8acf985b84f965d8dfc xf86-video-vboxvideo-1.0.0.tar.bz2"
diff --git a/user/xf86-video-vesa/APKBUILD b/user/xf86-video-vesa/APKBUILD
new file mode 100644
index 000000000..b87f3412f
--- /dev/null
+++ b/user/xf86-video-vesa/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=xf86-video-vesa
+pkgver=2.4.0
+pkgrel=0
+pkgdesc="X.Org driver for VESA-compatible video adaptors"
+url="https://www.X.Org/"
+arch="all"
+license="X11"
+depends=""
+makedepends="util-macros xorg-server-dev xorgproto-dev"
+subpackages="$pkgname-doc"
+source="https://www.X.Org/releases/individual/driver/xf86-video-vesa-$pkgver.tar.bz2"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="4af5c0a7fd64eba503980198cf510688dff2f33482ceac446455d97255dcc828613387ac57828eb6dce080cb15a8644a2b2e278bf356705fdeaea873ab07c2de xf86-video-vesa-2.4.0.tar.bz2"
diff --git a/user/xf86-video-vmware/APKBUILD b/user/xf86-video-vmware/APKBUILD
new file mode 100644
index 000000000..99cfce3ba
--- /dev/null
+++ b/user/xf86-video-vmware/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=xf86-video-vmware
+pkgver=13.3.0
+pkgrel=0
+pkgdesc="X.Org driver for VMware's SVGA adaptor"
+url="https://www.X.Org/"
+arch="all"
+license="X11"
+depends=""
+makedepends="eudev-dev util-macros xorg-server-dev xorgproto-dev"
+subpackages="$pkgname-doc"
+source="https://www.X.Org/releases/individual/driver/xf86-video-vmware-$pkgver.tar.bz2"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="c318de893cae7b2b11e11c1b389ee47478b7c8d1f52c27099dbe453efec28f3e9da449217307a8c2251999eada66312f766996be1a6ead413b8b6dedc42c68ca xf86-video-vmware-13.3.0.tar.bz2"
diff --git a/user/xorg-drivers/APKBUILD b/user/xorg-drivers/APKBUILD
index c6442655d..0d26e67ca 100644
--- a/user/xorg-drivers/APKBUILD
+++ b/user/xorg-drivers/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xorg-drivers
pkgver=1.0
-pkgrel=0
+pkgrel=1
pkgdesc="Drivers for X.Org systems"
url="https://www.X.Org/"
arch="all"
@@ -12,15 +12,20 @@ depends="xf86-input-evdev xf86-input-joystick xf86-input-keyboard
xf86-input-libinput xf86-input-mouse xf86-input-synaptics
xf86-input-void xf86-input-wacom
- xf86-video-ast xf86-video-ati xf86-video-cirrus xf86-video-dummy
- xf86-video-fbdev xf86-video-freedreno xf86-video-mach64 xf86-video-mga
- xf86-video-nouveau xf86-video-openchrome xf86-video-qxl xf86-video-r128
- xf86-video-tdfx"
+ xf86-video-amdgpu xf86-video-ast xf86-video-ati xf86-video-cirrus
+ xf86-video-dummy xf86-video-fbdev xf86-video-freedreno xf86-video-glint
+ xf86-video-mach64 xf86-video-mga xf86-video-nouveau
+ xf86-video-openchrome xf86-video-qxl xf86-video-r128
+ xf86-video-rendition xf86-video-siliconmotion xf86-video-sis
+ xf86-video-sisusb xf86-video-tdfx xf86-video-trident xf86-video-v4l
+ xf86-video-vboxvideo xf86-video-vesa xf86-video-vmware"
case $CTARGET_ARCH in
pmmx)
depends="$depends xf86-video-geode xf86-video-intel" ;;
x86_64)
depends="$depends xf86-video-intel" ;;
+ sparc*)
+ depends="$depends xf86-video-sunffb xf86-video-sunleo" ;;
esac
source=""