summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rw-r--r--source/a/upower/patches/0002-linux-Fix-memory-leak-in-Bluez-backend.patch51
-rw-r--r--source/a/upower/patches/0003-linux-Fix-warning-when-bluez-Appearance-property-isn.patch49
-rw-r--r--source/a/upower/patches/0006-lib-Add-Pen-device-type.patch89
-rw-r--r--source/a/upower/patches/0007-linux-Detect-Bluetooth-pens.patch28
-rw-r--r--source/a/upower/patches/0008-linux-Identify-keyboard-pointing-device-combos-as-ke.patch46
-rw-r--r--source/a/upower/patches/0011-linux-Add-support-for-iPhone-XR-XS-models.patch76
-rw-r--r--source/a/upower/patches/0012-build-Use-a-newer-libplist-if-available.patch28
-rw-r--r--source/a/upower/patches/Fix-HID-rules-header-as-per-discussions.patch36
-rw-r--r--source/a/upower/patches/Update-UPower-HID-rules-supported-devices-list.patch114
-rw-r--r--source/a/upower/patches/linux-Clamp-percentage-for-overfull-batteries.patch77
-rw-r--r--source/a/upower/patches/linux-Detect-docked-docking-stations-correctly.patch84
-rw-r--r--source/a/upower/patches/linux-Properly-detect-bluetooth-mice-and-keyboards-t.patch141
-rw-r--r--source/a/upower/patches/rules-Add-support-for-Logitech-G700s-G700-Gaming-Mou.patch23
-rw-r--r--source/a/upower/patches/rules-support-Logitech-Unifying-in-Linux-3.19.patch30
-rw-r--r--source/a/upower/patches/upower-pm-utils-0.9.23-fix-segfault.patch24
-rw-r--r--source/a/upower/patches/upower.glib_2_58_1.diff22
-rw-r--r--source/a/upower/slack-desc8
-rwxr-xr-xsource/a/upower/upower.SlackBuild38
-rw-r--r--source/a/upower/upower.url2
-rwxr-xr-xsource/d/sassc/sassc.SlackBuild128
-rw-r--r--source/d/sassc/sassc.url1
-rw-r--r--source/d/sassc/slack-desc19
-rwxr-xr-xsource/l/brotli/brotli.SlackBuild5
-rw-r--r--source/l/brotli/brotli.no.unrecognized.R.diff32
-rwxr-xr-xsource/l/gdk-pixbuf2-xlib/gdk-pixbuf2-xlib.SlackBuild142
-rw-r--r--source/l/gdk-pixbuf2-xlib/slack-desc19
-rwxr-xr-xsource/l/gjs/gjs.SlackBuild146
-rw-r--r--source/l/gjs/gjs.url1
-rw-r--r--source/l/gjs/slack-desc19
-rwxr-xr-xsource/l/glade/glade.SlackBuild131
-rw-r--r--source/l/glade/glade.url1
-rw-r--r--source/l/glade/slack-desc19
-rwxr-xr-xsource/l/gobject-introspection/gobject-introspection.SlackBuild2
-rwxr-xr-xsource/l/gtksourceview3/gtksourceview3.SlackBuild125
-rw-r--r--source/l/gtksourceview3/gtksourceview3.url1
-rw-r--r--source/l/gtksourceview3/slack-desc19
-rwxr-xr-xsource/l/gvfs/gvfs.SlackBuild2
-rwxr-xr-xsource/l/libsass/libsass.SlackBuild128
-rw-r--r--source/l/libsass/libsass.url1
-rw-r--r--source/l/libsass/slack-desc19
-rwxr-xr-xsource/l/libsoup/libsoup.SlackBuild2
-rwxr-xr-xsource/l/libwnck3/libwnck3.SlackBuild150
-rw-r--r--source/l/libwnck3/libwnck3.url1
-rw-r--r--source/l/libwnck3/slack-desc19
-rwxr-xr-xsource/l/pygobject3/pygobject3.SlackBuild48
-rwxr-xr-xsource/l/vte/vte.SlackBuild2
46 files changed, 1542 insertions, 606 deletions
diff --git a/source/a/upower/patches/0002-linux-Fix-memory-leak-in-Bluez-backend.patch b/source/a/upower/patches/0002-linux-Fix-memory-leak-in-Bluez-backend.patch
new file mode 100644
index 00000000..0a45dcf1
--- /dev/null
+++ b/source/a/upower/patches/0002-linux-Fix-memory-leak-in-Bluez-backend.patch
@@ -0,0 +1,51 @@
+From 8e6cb06ff68a283b9857d4d0e831d93c42521534 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Thu, 17 Oct 2019 16:36:58 +0200
+Subject: [PATCH 2/7] linux: Fix memory leak in Bluez backend
+
+g_dbus_proxy_get_cached_property() returns transfer full GVariants.
+---
+ src/linux/up-device-bluez.c | 17 +++++++++++++----
+ 1 file changed, 13 insertions(+), 4 deletions(-)
+
+diff --git a/src/linux/up-device-bluez.c b/src/linux/up-device-bluez.c
+index cd89529..5e595a9 100644
+--- a/src/linux/up-device-bluez.c
++++ b/src/linux/up-device-bluez.c
+@@ -71,9 +71,10 @@ up_device_bluez_coldplug (UpDevice *device)
+ GDBusProxy *proxy;
+ GError *error = NULL;
+ UpDeviceKind kind;
++ guint16 appearance;
+ const char *uuid;
+ const char *model;
+- guint16 appearance;
++ GVariant *v;
+ guchar percentage;
+
+ /* Static device properties */
+@@ -93,10 +94,18 @@ up_device_bluez_coldplug (UpDevice *device)
+ return FALSE;
+ }
+
+- appearance = g_variant_get_uint16 (g_dbus_proxy_get_cached_property (proxy, "Appearance"));
++ v = g_dbus_proxy_get_cached_property (proxy, "Appearance");
++ appearance = g_variant_get_uint16 (v);
+ kind = appearance_to_kind (appearance);
+- uuid = g_variant_get_string (g_dbus_proxy_get_cached_property (proxy, "Address"), NULL);
+- model = g_variant_get_string (g_dbus_proxy_get_cached_property (proxy, "Alias"), NULL);
++ g_variant_unref (v);
++
++ v = g_dbus_proxy_get_cached_property (proxy, "Address");
++ uuid = g_variant_get_string (v, NULL);
++ g_variant_unref (v);
++
++ v = g_dbus_proxy_get_cached_property (proxy, "Alias");
++ model = g_variant_get_string (v, NULL);
++ g_variant_unref (v);
+
+ /* hardcode some values */
+ g_object_set (device,
+--
+2.24.1
+
diff --git a/source/a/upower/patches/0003-linux-Fix-warning-when-bluez-Appearance-property-isn.patch b/source/a/upower/patches/0003-linux-Fix-warning-when-bluez-Appearance-property-isn.patch
new file mode 100644
index 00000000..156631a7
--- /dev/null
+++ b/source/a/upower/patches/0003-linux-Fix-warning-when-bluez-Appearance-property-isn.patch
@@ -0,0 +1,49 @@
+From ed0dfe4427770776a081877f77f1263491fbe1b6 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Thu, 17 Oct 2019 16:43:15 +0200
+Subject: [PATCH 3/7] linux: Fix warning when bluez Appearance property isn't
+ set
+
+The Appearance property might not be available, and would cause
+warnings like:
+upowerd[17733]: g_variant_get_type: assertion 'value != NULL' failed
+upowerd[17733]: g_variant_type_is_subtype_of: assertion 'g_variant_type_check (type)' failed
+upowerd[17733]: g_variant_get_uint16: assertion 'g_variant_is_of_type (value, G_VARIANT_TYPE_UINT16)' failed
+---
+ src/linux/up-device-bluez.c | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/src/linux/up-device-bluez.c b/src/linux/up-device-bluez.c
+index 5e595a9..2074746 100644
+--- a/src/linux/up-device-bluez.c
++++ b/src/linux/up-device-bluez.c
+@@ -71,7 +71,6 @@ up_device_bluez_coldplug (UpDevice *device)
+ GDBusProxy *proxy;
+ GError *error = NULL;
+ UpDeviceKind kind;
+- guint16 appearance;
+ const char *uuid;
+ const char *model;
+ GVariant *v;
+@@ -95,9 +94,15 @@ up_device_bluez_coldplug (UpDevice *device)
+ }
+
+ v = g_dbus_proxy_get_cached_property (proxy, "Appearance");
+- appearance = g_variant_get_uint16 (v);
+- kind = appearance_to_kind (appearance);
+- g_variant_unref (v);
++ if (v) {
++ guint16 appearance;
++
++ appearance = g_variant_get_uint16 (v);
++ kind = appearance_to_kind (appearance);
++ g_variant_unref (v);
++ } else {
++ kind = UP_DEVICE_KIND_UNKNOWN;
++ }
+
+ v = g_dbus_proxy_get_cached_property (proxy, "Address");
+ uuid = g_variant_get_string (v, NULL);
+--
+2.24.1
+
diff --git a/source/a/upower/patches/0006-lib-Add-Pen-device-type.patch b/source/a/upower/patches/0006-lib-Add-Pen-device-type.patch
new file mode 100644
index 00000000..f05b108d
--- /dev/null
+++ b/source/a/upower/patches/0006-lib-Add-Pen-device-type.patch
@@ -0,0 +1,89 @@
+From 72b85b8c1371f3396c293d9a2aa373b6a7551f63 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Thu, 24 Oct 2019 12:50:26 +0200
+Subject: [PATCH 6/7] lib: Add "Pen" device type
+
+So we can track the battery information for powered tablet pens, rather
+than labelling them as tablets.
+---
+ libupower-glib/up-device.c | 6 ++++--
+ libupower-glib/up-types.c | 4 ++++
+ libupower-glib/up-types.h | 1 +
+ src/linux/integration-test | 3 ++-
+ 4 files changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/libupower-glib/up-device.c b/libupower-glib/up-device.c
+index e21274d..01f752f 100644
+--- a/libupower-glib/up-device.c
++++ b/libupower-glib/up-device.c
+@@ -313,7 +313,8 @@ up_device_to_text (UpDevice *device)
+ kind == UP_DEVICE_KIND_BATTERY ||
+ kind == UP_DEVICE_KIND_MOUSE ||
+ kind == UP_DEVICE_KIND_KEYBOARD ||
+- kind == UP_DEVICE_KIND_GAMING_INPUT) &&
++ kind == UP_DEVICE_KIND_GAMING_INPUT ||
++ kind == UP_DEVICE_KIND_PEN) &&
+ !is_display)
+ g_string_append_printf (string, " rechargeable: %s\n", up_device_bool_to_string (up_exported_device_get_is_rechargeable (priv->proxy_device)));
+ if (kind == UP_DEVICE_KIND_BATTERY ||
+@@ -367,7 +368,8 @@ up_device_to_text (UpDevice *device)
+ kind == UP_DEVICE_KIND_COMPUTER ||
+ kind == UP_DEVICE_KIND_MEDIA_PLAYER ||
+ kind == UP_DEVICE_KIND_UPS ||
+- kind == UP_DEVICE_KIND_GAMING_INPUT) {
++ kind == UP_DEVICE_KIND_GAMING_INPUT ||
++ kind == UP_DEVICE_KIND_PEN) {
+ if (battery_level == UP_DEVICE_LEVEL_NONE)
+ g_string_append_printf (string, " percentage: %g%%\n", up_exported_device_get_percentage (priv->proxy_device));
+ else
+diff --git a/libupower-glib/up-types.c b/libupower-glib/up-types.c
+index 525cd02..7cf9573 100644
+--- a/libupower-glib/up-types.c
++++ b/libupower-glib/up-types.c
+@@ -71,6 +71,8 @@ up_device_kind_to_string (UpDeviceKind type_enum)
+ return "computer";
+ case UP_DEVICE_KIND_GAMING_INPUT:
+ return "gaming-input";
++ case UP_DEVICE_KIND_PEN:
++ return "pen";
+ default:
+ return "unknown";
+ }
+@@ -113,6 +115,8 @@ up_device_kind_from_string (const gchar *type)
+ return UP_DEVICE_KIND_TABLET;
+ if (g_str_equal (type, "gaming-input"))
+ return UP_DEVICE_KIND_GAMING_INPUT;
++ if (g_str_equal (type, "pen"))
++ return UP_DEVICE_KIND_PEN;
+ return UP_DEVICE_KIND_UNKNOWN;
+ }
+
+diff --git a/libupower-glib/up-types.h b/libupower-glib/up-types.h
+index 079bccd..379d46c 100644
+--- a/libupower-glib/up-types.h
++++ b/libupower-glib/up-types.h
+@@ -49,6 +49,7 @@ typedef enum {
+ UP_DEVICE_KIND_TABLET,
+ UP_DEVICE_KIND_COMPUTER,
+ UP_DEVICE_KIND_GAMING_INPUT,
++ UP_DEVICE_KIND_PEN,
+ UP_DEVICE_KIND_LAST
+ } UpDeviceKind;
+
+diff --git a/src/linux/integration-test b/src/linux/integration-test
+index 7098a67..e5c6c46 100755
+--- a/src/linux/integration-test
++++ b/src/linux/integration-test
+@@ -86,7 +86,8 @@ BATTERY_IFACE = 'org.bluez.Battery1'
+ UP_DEVICE_KIND_MEDIA_PLAYER,
+ UP_DEVICE_KIND_TABLET,
+ UP_DEVICE_KIND_COMPUTER,
+- UP_DEVICE_KIND_GAMING_INPUT) = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
++ UP_DEVICE_KIND_GAMING_INPUT,
++ UP_DEVICE_KIND_PEN) = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
+
+ class Tests(dbusmock.DBusTestCase):
+ @classmethod
+--
+2.24.1
+
diff --git a/source/a/upower/patches/0007-linux-Detect-Bluetooth-pens.patch b/source/a/upower/patches/0007-linux-Detect-Bluetooth-pens.patch
new file mode 100644
index 00000000..13624db0
--- /dev/null
+++ b/source/a/upower/patches/0007-linux-Detect-Bluetooth-pens.patch
@@ -0,0 +1,28 @@
+From 85cd95ae53499788a0df86af28876ec27074caa2 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Thu, 24 Oct 2019 12:52:33 +0200
+Subject: [PATCH 1/3] linux: Detect Bluetooth pens
+
+Numbers from:
+https://www.bluetooth.com/specifications/assigned-numbers/baseband/
+---
+ src/linux/up-device-bluez.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/linux/up-device-bluez.c b/src/linux/up-device-bluez.c
+index 2074746..8673d82 100644
+--- a/src/linux/up-device-bluez.c
++++ b/src/linux/up-device-bluez.c
+@@ -52,6 +52,9 @@ appearance_to_kind (guint16 appearance)
+ return UP_DEVICE_KIND_GAMING_INPUT;
+ case 0x05:
+ return UP_DEVICE_KIND_TABLET;
++ case 0x0e:
++ case 0x0f:
++ return UP_DEVICE_KIND_PEN;
+ }
+ break;
+ }
+--
+2.26.2
+
diff --git a/source/a/upower/patches/0008-linux-Identify-keyboard-pointing-device-combos-as-ke.patch b/source/a/upower/patches/0008-linux-Identify-keyboard-pointing-device-combos-as-ke.patch
new file mode 100644
index 00000000..f8fece70
--- /dev/null
+++ b/source/a/upower/patches/0008-linux-Identify-keyboard-pointing-device-combos-as-ke.patch
@@ -0,0 +1,46 @@
+From e0b8354e9cf53a271e66a7ba44fd567daeac2416 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Tue, 5 May 2020 16:07:31 +0200
+Subject: [PATCH 2/3] linux: Identify keyboard/pointing device combos as
+ keyboards
+
+Rather than using the type of the first sibling device we find, which is
+usually the pointing device portion, make sure that keyboard/pointing
+device combo devices are identified as keyboards.
+---
+ src/linux/up-device-supply.c | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/src/linux/up-device-supply.c b/src/linux/up-device-supply.c
+index d7e4423..9302119 100644
+--- a/src/linux/up-device-supply.c
++++ b/src/linux/up-device-supply.c
+@@ -888,7 +888,7 @@ up_device_supply_get_sibling_with_subsystem (GUdevDevice *device,
+ class[0] = subsystem;
+ client = g_udev_client_new (class);
+ devices = g_udev_client_query_by_subsystem (client, subsystem);
+- for (l = devices; l != NULL && sibling == NULL; l = l->next) {
++ for (l = devices; l != NULL; l = l->next) {
+ GUdevDevice *d = l->data;
+ GUdevDevice *p;
+ const char *p_path;
+@@ -897,8 +897,14 @@ up_device_supply_get_sibling_with_subsystem (GUdevDevice *device,
+ if (!p)
+ continue;
+ p_path = g_udev_device_get_sysfs_path (p);
+- if (g_strcmp0 (p_path, parent_path) == 0)
+- sibling = g_object_ref (d);
++ if (g_strcmp0 (p_path, parent_path) == 0) {
++ if (sibling != NULL &&
++ g_udev_device_get_property_as_boolean (d, "ID_INPUT_KEYBOARD")) {
++ g_clear_object (&sibling);
++ }
++ if (sibling == NULL)
++ sibling = g_object_ref (d);
++ }
+
+ g_object_unref (p);
+ }
+--
+2.26.2
+
diff --git a/source/a/upower/patches/0011-linux-Add-support-for-iPhone-XR-XS-models.patch b/source/a/upower/patches/0011-linux-Add-support-for-iPhone-XR-XS-models.patch
new file mode 100644
index 00000000..2426e044
--- /dev/null
+++ b/source/a/upower/patches/0011-linux-Add-support-for-iPhone-XR-XS-models.patch
@@ -0,0 +1,76 @@
+From 97185bae75b16bea48d532aa5511417e485b1c06 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Wed, 17 Jun 2020 10:51:09 +0200
+Subject: [PATCH 1/4] linux: Add support for iPhone XR, XS models
+
+Modifying the udev serial to be acceptable as an hyphened UDID, as the
+usbmux stack expects.
+
+Closes: #114
+---
+ src/linux/up-device-idevice.c | 28 ++++++++++++++++++++++++++--
+ 1 file changed, 26 insertions(+), 2 deletions(-)
+
+diff --git a/src/linux/up-device-idevice.c b/src/linux/up-device-idevice.c
+index a808269..d2fa0a1 100644
+--- a/src/linux/up-device-idevice.c
++++ b/src/linux/up-device-idevice.c
+@@ -203,6 +203,28 @@ out:
+ return G_SOURCE_CONTINUE;
+ }
+
++static char *
++get_device_uuid (GUdevDevice *native)
++{
++ const char *uuid;
++ char *retval;
++
++ uuid = g_udev_device_get_property (native, "ID_SERIAL_SHORT");
++ if (uuid == NULL)
++ return NULL;
++
++ if (strlen (uuid) != 24)
++ return g_strdup (uuid);
++
++ /* new style UDID: add hyphen between first 8 and following 16 digits */
++ retval = g_malloc0 (24 + 1 + 1);
++ memcpy (&retval[0], &uuid[0], 8);
++ retval[8] = '-';
++ memcpy (&retval[9], &uuid[8], 16);
++
++ return retval;
++}
++
+ /**
+ * up_device_idevice_coldplug:
+ *
+@@ -213,7 +235,7 @@ up_device_idevice_coldplug (UpDevice *device)
+ {
+ UpDeviceIdevice *idevice = UP_DEVICE_IDEVICE (device);
+ GUdevDevice *native;
+- const gchar *uuid;
++ char *uuid;
+ const gchar *model;
+ UpDeviceKind kind;
+
+@@ -223,7 +245,7 @@ up_device_idevice_coldplug (UpDevice *device)
+ return FALSE;
+
+ /* Get the UUID */
+- uuid = g_udev_device_get_property (native, "ID_SERIAL_SHORT");
++ uuid = get_device_uuid (native);
+ if (uuid == NULL)
+ return FALSE;
+
+@@ -253,6 +275,8 @@ up_device_idevice_coldplug (UpDevice *device)
+ g_source_set_name_by_id (idevice->priv->start_id,
+ "[upower] up_device_idevice_start_poll_cb (linux)");
+
++ g_free (uuid);
++
+ return TRUE;
+ }
+
+--
+2.27.0
+
diff --git a/source/a/upower/patches/0012-build-Use-a-newer-libplist-if-available.patch b/source/a/upower/patches/0012-build-Use-a-newer-libplist-if-available.patch
new file mode 100644
index 00000000..d7e24ecf
--- /dev/null
+++ b/source/a/upower/patches/0012-build-Use-a-newer-libplist-if-available.patch
@@ -0,0 +1,28 @@
+From 694207d3f08bdd2095f01eee09eb523363800825 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Tue, 16 Jun 2020 14:04:25 +0200
+Subject: [PATCH 2/4] build: Use a newer libplist if available
+
+---
+ configure.ac | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index a96b794..5f08d91 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -202,8 +202,10 @@ if test x$with_backend = xlinux; then
+ PKG_CHECK_MODULES(USB, [libusb-1.0 >= 1.0.0])
+ AC_ARG_WITH(idevice, AS_HELP_STRING([--without-idevice],[Build without libimobiledevice]),
+ with_idevice=$withval,with_idevice=yes)
++ LIBPLIST_DEP=libplist
++ PKG_CHECK_EXISTS(libplist-2.0, LIBPLIST_DEP=libplist-2.0)
+ AS_IF([test "x$with_idevice" != "xno"],
+- [PKG_CHECK_MODULES(IDEVICE, libimobiledevice-1.0 >= 0.9.7 libplist >= 0.12, have_idevice=yes, have_idevice=no)],
++ [PKG_CHECK_MODULES(IDEVICE, libimobiledevice-1.0 >= 0.9.7 $LIBPLIST_DEP, have_idevice=yes, have_idevice=no)],
+ [have_idevice=no])
+ AS_IF([test "x$have_idevice" = "xyes"],
+ [AC_DEFINE(HAVE_IDEVICE, 1, [Define to 1 if iDevice is going to be built])])
+--
+2.27.0
+
diff --git a/source/a/upower/patches/Fix-HID-rules-header-as-per-discussions.patch b/source/a/upower/patches/Fix-HID-rules-header-as-per-discussions.patch
deleted file mode 100644
index d6100394..00000000
--- a/source/a/upower/patches/Fix-HID-rules-header-as-per-discussions.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From ae9f8521c6f900255df1b6c7bc9f6adfd09abda5 Mon Sep 17 00:00:00 2001
-From: Arnaud Quette <arnaud.quette@free.fr>
-Date: Mon, 22 Jun 2015 15:11:15 +0200
-Subject: [PATCH 1/2] Fix HID rules header, as per discussions
-
-Signed-off-by: Richard Hughes <richard@hughsie.com>
----
- rules/95-upower-hid.rules | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/rules/95-upower-hid.rules b/rules/95-upower-hid.rules
-index dcf4380..767e9bc 100644
---- a/rules/95-upower-hid.rules
-+++ b/rules/95-upower-hid.rules
-@@ -1,10 +1,16 @@
- ##############################################################################################################
- # Uninterruptible Power Supplies with USB HID interfaces
- #
--# to keep up to date, monitor: http://svn.debian.org/wsvn/nut/trunk/scripts/upower/95-upower-hid.rules
-+# This file was automatically generated by NUT:
-+# https://github.com/networkupstools/nut/
-+#
-+# To keep up to date, monitor upstream NUT
-+# https://github.com/networkupstools/nut/commits/master/scripts/upower/95-upower-hid.rules
-+# or checkout the NUT repository and call 'tools/nut-usbinfo.pl'
-
--# only support USB, else ignore
-+# newer hiddev are part of the usbmisc class
- SUBSYSTEM=="usbmisc", GOTO="up_hid_chkdev"
-+# only support USB, else ignore
- SUBSYSTEM!="usb", GOTO="up_hid_end"
-
- # if usbraw device, ignore
---
-2.6.4
-
diff --git a/source/a/upower/patches/Update-UPower-HID-rules-supported-devices-list.patch b/source/a/upower/patches/Update-UPower-HID-rules-supported-devices-list.patch
deleted file mode 100644
index 8ef4498c..00000000
--- a/source/a/upower/patches/Update-UPower-HID-rules-supported-devices-list.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From fc27cbd5cb098ccf6c70110fe1b894987328fc0d Mon Sep 17 00:00:00 2001
-From: Arnaud Quette <arnaud.quette@free.fr>
-Date: Mon, 8 Jun 2015 10:08:24 +0200
-Subject: [PATCH 2/2] Update UPower HID rules - supported devices list
-
-As per update on the NUT - Network UPS Tools project, this first patch
-adds some more supported devices to the rules file
-
-Signed-off-by: Richard Hughes <richard@hughsie.com>
----
- rules/95-upower-hid.rules | 31 +++++++++++++++++++++++++++++--
- 1 file changed, 29 insertions(+), 2 deletions(-)
-
-diff --git a/rules/95-upower-hid.rules b/rules/95-upower-hid.rules
-index 767e9bc..e064ef7 100644
---- a/rules/95-upower-hid.rules
-+++ b/rules/95-upower-hid.rules
-@@ -23,21 +23,31 @@ ENV{DEVTYPE}=="usb_interface", GOTO="up_hid_end"
- ATTRS{idVendor}=="03f0", ENV{UPOWER_VENDOR}="Hewlett Packard"
- ATTRS{idVendor}=="0463", ENV{UPOWER_VENDOR}="Eaton"
- ATTRS{idVendor}=="047c", ENV{UPOWER_VENDOR}="Dell"
-+ATTRS{idVendor}=="04d8", ENV{UPOWER_VENDOR}="Minibox"
- ATTRS{idVendor}=="050d", ENV{UPOWER_VENDOR}="Belkin"
- ATTRS{idVendor}=="051d", ENV{UPOWER_VENDOR}="APC"
--ATTRS{idVendor}=="06da", ENV{UPOWER_VENDOR}="Liebert"
-+ATTRS{idVendor}=="0592", ENV{UPOWER_VENDOR}="Powerware"
-+ATTRS{idVendor}=="06da", ENV{UPOWER_VENDOR}="Phoenixtec Power Co., Ltd"
-+ATTRS{idVendor}=="075d", ENV{UPOWER_VENDOR}="iDowell"
- ATTRS{idVendor}=="0764", ENV{UPOWER_VENDOR}="Cyber Power Systems"
- ATTRS{idVendor}=="09ae", ENV{UPOWER_VENDOR}="TrippLite"
- ATTRS{idVendor}=="0d9f", ENV{UPOWER_VENDOR}="PowerCOM"
- ATTRS{idVendor}=="10af", ENV{UPOWER_VENDOR}="Liebert"
-
- # Hewlett Packard
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0001", ENV{UPOWER_BATTERY_TYPE}="ups"
- ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1f06", ENV{UPOWER_BATTERY_TYPE}="ups"
- ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1f08", ENV{UPOWER_BATTERY_TYPE}="ups"
- ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1f09", ENV{UPOWER_BATTERY_TYPE}="ups"
- ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1f0a", ENV{UPOWER_BATTERY_TYPE}="ups"
- ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe0", ENV{UPOWER_BATTERY_TYPE}="ups"
- ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe1", ENV{UPOWER_BATTERY_TYPE}="ups"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe2", ENV{UPOWER_BATTERY_TYPE}="ups"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe3", ENV{UPOWER_BATTERY_TYPE}="ups"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe5", ENV{UPOWER_BATTERY_TYPE}="ups"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe6", ENV{UPOWER_BATTERY_TYPE}="ups"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe7", ENV{UPOWER_BATTERY_TYPE}="ups"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe8", ENV{UPOWER_BATTERY_TYPE}="ups"
-
- # Eaton
- ATTRS{idVendor}=="0463", ATTRS{idProduct}=="0001", ENV{UPOWER_BATTERY_TYPE}="ups"
-@@ -46,6 +56,10 @@ ATTRS{idVendor}=="0463", ATTRS{idProduct}=="ffff", ENV{UPOWER_BATTERY_TYPE}="ups
- # Dell
- ATTRS{idVendor}=="047c", ATTRS{idProduct}=="ffff", ENV{UPOWER_BATTERY_TYPE}="ups"
-
-+# Minibox
-+ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="d004", ENV{UPOWER_BATTERY_TYPE}="ups"
-+ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="d005", ENV{UPOWER_BATTERY_TYPE}="ups"
-+
- # Belkin
- ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0375", ENV{UPOWER_BATTERY_TYPE}="ups"
- ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0551", ENV{UPOWER_BATTERY_TYPE}="ups"
-@@ -55,15 +69,23 @@ ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0900", ENV{UPOWER_BATTERY_TYPE}="ups
- ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0910", ENV{UPOWER_BATTERY_TYPE}="ups"
- ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0912", ENV{UPOWER_BATTERY_TYPE}="ups"
- ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0980", ENV{UPOWER_BATTERY_TYPE}="ups"
-+ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0f51", ENV{UPOWER_BATTERY_TYPE}="ups"
- ATTRS{idVendor}=="050d", ATTRS{idProduct}=="1100", ENV{UPOWER_BATTERY_TYPE}="ups"
-
- # APC
-+ATTRS{idVendor}=="051d", ATTRS{idProduct}=="0000", ENV{UPOWER_BATTERY_TYPE}="ups"
- ATTRS{idVendor}=="051d", ATTRS{idProduct}=="0002", ENV{UPOWER_BATTERY_TYPE}="ups"
- ATTRS{idVendor}=="051d", ATTRS{idProduct}=="0003", ENV{UPOWER_BATTERY_TYPE}="ups"
-
--# Liebert
-+# Powerware
-+ATTRS{idVendor}=="0592", ATTRS{idProduct}=="0004", ENV{UPOWER_BATTERY_TYPE}="ups"
-+
-+# Phoenixtec Power Co., Ltd
- ATTRS{idVendor}=="06da", ATTRS{idProduct}=="ffff", ENV{UPOWER_BATTERY_TYPE}="ups"
-
-+# iDowell
-+ATTRS{idVendor}=="075d", ATTRS{idProduct}=="0300", ENV{UPOWER_BATTERY_TYPE}="ups"
-+
- # Cyber Power Systems
- ATTRS{idVendor}=="0764", ATTRS{idProduct}=="0005", ENV{UPOWER_BATTERY_TYPE}="ups"
- ATTRS{idVendor}=="0764", ATTRS{idProduct}=="0501", ENV{UPOWER_BATTERY_TYPE}="ups"
-@@ -92,6 +114,7 @@ ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3012", ENV{UPOWER_BATTERY_TYPE}="ups
- ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3013", ENV{UPOWER_BATTERY_TYPE}="ups"
- ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3014", ENV{UPOWER_BATTERY_TYPE}="ups"
- ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3015", ENV{UPOWER_BATTERY_TYPE}="ups"
-+ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3016", ENV{UPOWER_BATTERY_TYPE}="ups"
- ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="4001", ENV{UPOWER_BATTERY_TYPE}="ups"
- ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="4002", ENV{UPOWER_BATTERY_TYPE}="ups"
- ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="4003", ENV{UPOWER_BATTERY_TYPE}="ups"
-@@ -102,6 +125,8 @@ ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="4007", ENV{UPOWER_BATTERY_TYPE}="ups
- ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="4008", ENV{UPOWER_BATTERY_TYPE}="ups"
-
- # PowerCOM
-+ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="0001", ENV{UPOWER_BATTERY_TYPE}="ups"
-+ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="0004", ENV{UPOWER_BATTERY_TYPE}="ups"
- ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="00a2", ENV{UPOWER_BATTERY_TYPE}="ups"
- ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="00a3", ENV{UPOWER_BATTERY_TYPE}="ups"
- ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="00a4", ENV{UPOWER_BATTERY_TYPE}="ups"
-@@ -110,5 +135,7 @@ ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="00a6", ENV{UPOWER_BATTERY_TYPE}="ups
-
- # Liebert
- ATTRS{idVendor}=="10af", ATTRS{idProduct}=="0001", ENV{UPOWER_BATTERY_TYPE}="ups"
-+ATTRS{idVendor}=="10af", ATTRS{idProduct}=="0004", ENV{UPOWER_BATTERY_TYPE}="ups"
-+ATTRS{idVendor}=="10af", ATTRS{idProduct}=="0008", ENV{UPOWER_BATTERY_TYPE}="ups"
-
- LABEL="up_hid_end"
---
-2.6.4
-
diff --git a/source/a/upower/patches/linux-Clamp-percentage-for-overfull-batteries.patch b/source/a/upower/patches/linux-Clamp-percentage-for-overfull-batteries.patch
deleted file mode 100644
index bb97ca78..00000000
--- a/source/a/upower/patches/linux-Clamp-percentage-for-overfull-batteries.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From b8fe9902f3c6c50ca6a23e24fcea99582beebc65 Mon Sep 17 00:00:00 2001
-From: Martin Pitt <martinpitt@gnome.org>
-Date: Tue, 22 Oct 2013 10:02:51 +0200
-Subject: [PATCH 2/3] linux: Clamp percentage for overfull batteries
-
-Some batteries report energy > energy_full and a percentage ("capacity"
-attribute) > 100%. Clamp these within 0 and 100% for both plausibility as well
-as to avoid setting an out-of-range property which would then become 0%.
-
-https://launchpad.net/bugs/1240673
----
- src/linux/integration-test | 33 +++++++++++++++++++++++++++++++++
- src/linux/up-device-supply.c | 4 ++++
- 2 files changed, 37 insertions(+)
-
-diff --git a/src/linux/integration-test b/src/linux/integration-test
-index 8489bf3..4be1922 100755
---- a/src/linux/integration-test
-+++ b/src/linux/integration-test
-@@ -442,6 +442,39 @@ class Tests(unittest.TestCase):
- self.assertEqual(self.get_dbus_property('OnLowBattery'), False)
- self.stop_daemon()
-
-+ def test_battery_overfull(self):
-+ '''battery which reports a > 100% percentage for a full battery'''
-+
-+ self.testbed.add_device('power_supply', 'BAT0', None,
-+ ['type', 'Battery',
-+ 'present', '1',
-+ 'status', 'Full',
-+ 'current_now', '1000',
-+ 'charge_now', '11000000',
-+ 'charge_full', '10000000',
-+ 'charge_full_design', '11000000',
-+ 'capacity', '110',
-+ 'voltage_now', '12000000'], [])
-+
-+ self.start_daemon()
-+ devs = self.proxy.EnumerateDevices()
-+ self.assertEqual(len(devs), 1)
-+ bat0_up = devs[0]
-+
-+ # should clamp percentage
-+ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Percentage'), 100.0)
-+ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'IsPresent'), True)
-+ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'State'),
-+ UP_DEVICE_STATE_FULLY_CHARGED)
-+ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Energy'), 132.0)
-+ # should adjust EnergyFull to reality, not what the battery claims
-+ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'EnergyFull'), 132.0)
-+ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'EnergyFullDesign'), 132.0)
-+ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Voltage'), 12.0)
-+ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'PowerSupply'), True)
-+ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Type'), 2)
-+ self.stop_daemon()
-+
- def test_battery_temperature(self):
- '''battery which reports temperature'''
-
-diff --git a/src/linux/up-device-supply.c b/src/linux/up-device-supply.c
-index 8020277..b953d65 100644
---- a/src/linux/up-device-supply.c
-+++ b/src/linux/up-device-supply.c
-@@ -708,6 +708,10 @@ up_device_supply_refresh_battery (UpDeviceSupply *supply)
- /* get a precise percentage */
- if (sysfs_file_exists (native_path, "capacity")) {
- percentage = sysfs_get_double (native_path, "capacity");
-+ if (percentage < 0.0f)
-+ percentage = 0.0f;
-+ if (percentage > 100.0f)
-+ percentage = 100.0f;
- /* for devices which provide capacity, but not {energy,charge}_now */
- if (energy < 0.1f && energy_full > 0.0f)
- energy = energy_full * percentage / 100;
---
-2.6.4
-
diff --git a/source/a/upower/patches/linux-Detect-docked-docking-stations-correctly.patch b/source/a/upower/patches/linux-Detect-docked-docking-stations-correctly.patch
deleted file mode 100644
index bed83d8e..00000000
--- a/source/a/upower/patches/linux-Detect-docked-docking-stations-correctly.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From a6e830cd652a086161f04b049c84283e0573881b Mon Sep 17 00:00:00 2001
-From: Bastien Nocera <hadess@hadess.net>
-Date: Wed, 15 Feb 2012 17:50:00 +0000
-Subject: [PATCH 3/3] linux: Detect docked docking stations correctly
-
-Instead of counting the number of graphics outputs, check
-all the devices the platform/dock_station subsystem that
-export a "dock_station" type.
-
-Based on patch by Armando Di Cianno <armando@goodship.net>
-
-https://bugs.freedesktop.org/show_bug.cgi?id=36818
----
- src/linux/up-dock.c | 38 +++++++++++++++++++-------------------
- 1 file changed, 19 insertions(+), 19 deletions(-)
-
-diff --git a/src/linux/up-dock.c b/src/linux/up-dock.c
-index f9a7c67..4fe904e 100644
---- a/src/linux/up-dock.c
-+++ b/src/linux/up-dock.c
-@@ -46,22 +46,23 @@ G_DEFINE_TYPE (UpDock, up_dock, G_TYPE_OBJECT)
- * up_dock_device_check:
- **/
- static gboolean
--up_dock_device_check (GUdevDevice *d)
-+up_dock_device_check (GUdevDevice *device)
- {
-- const gchar *status;
-- gboolean ret = FALSE;
--
-- /* Get the boolean state from the kernel -- note that ideally
-- * the property value would be "1" or "true" but now it's
-- * set in stone as ABI. Urgh. */
-- status = g_udev_device_get_sysfs_attr (d, "status");
-- if (status == NULL)
-- goto out;
-- ret = (g_strcmp0 (status, "connected") == 0);
-- g_debug ("graphics device %s is %s",
-- g_udev_device_get_sysfs_path (d),
-- ret ? "on" : "off");
--out:
-+ gint docked;
-+ gboolean ret;
-+
-+ /* Is it a docking station? */
-+ if (g_strcmp0 (g_udev_device_get_sysfs_attr (device, "dock_type"), "dock_station") != 0)
-+ return FALSE;
-+
-+ /* Get the boolean state from the kernel */
-+ if (g_udev_device_get_sysfs_attr (device, "docked") == NULL)
-+ return FALSE;
-+
-+ docked = g_udev_device_get_sysfs_attr_as_int (device, "docked");
-+ ret = (docked == 1);
-+ g_debug ("dock_station %s is %s", g_udev_device_get_sysfs_path (device), ret ? "docked" : "undocked");
-+
- return ret;
- }
-
-@@ -76,10 +77,9 @@ up_dock_refresh (UpDock *dock)
- GUdevDevice *native;
- guint count = 0;
-
-- /* the metric we're using here is that a machine is docked when
-- * there is more than one active output */
-+ /* check to see if there are any docking stations, and if they are docked */
- devices = g_udev_client_query_by_subsystem (dock->priv->gudev_client,
-- "drm");
-+ "platform/dock_station");
- for (l = devices; l != NULL; l = l->next) {
- native = l->data;
- count += up_dock_device_check (native);
-@@ -163,7 +163,7 @@ up_dock_uevent_signal_handler_cb (GUdevClient *client, const gchar *action,
- static void
- up_dock_init (UpDock *dock)
- {
-- const gchar *subsystems[] = { "drm", NULL};
-+ const gchar *subsystems[] = { "platform/dock_station", NULL};
- dock->priv = UP_DOCK_GET_PRIVATE (dock);
- dock->priv->gudev_client = g_udev_client_new (subsystems);
- g_signal_connect (dock->priv->gudev_client, "uevent",
---
-2.6.4
-
diff --git a/source/a/upower/patches/linux-Properly-detect-bluetooth-mice-and-keyboards-t.patch b/source/a/upower/patches/linux-Properly-detect-bluetooth-mice-and-keyboards-t.patch
deleted file mode 100644
index 55de33b7..00000000
--- a/source/a/upower/patches/linux-Properly-detect-bluetooth-mice-and-keyboards-t.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-From 6c706ff03365e462e1b076155428decbed0f55c6 Mon Sep 17 00:00:00 2001
-From: Marc Deslauriers <marc.deslauriers@ubuntu.com>
-Date: Mon, 4 May 2015 19:31:31 -0400
-Subject: [PATCH] linux: Properly detect bluetooth mice and keyboards that are
- HID devices
-
-https://bugs.freedesktop.org/show_bug.cgi?id=90222
----
- src/linux/integration-test | 41 +++++++++++++++++++++++++++++++++++++
- src/linux/up-device-supply.c | 48 ++++++++++++++++++++++++++++----------------
- 2 files changed, 72 insertions(+), 17 deletions(-)
-
-diff --git a/src/linux/integration-test b/src/linux/integration-test
-index ad7152a..b83f80d 100755
---- a/src/linux/integration-test
-+++ b/src/linux/integration-test
-@@ -761,6 +761,47 @@ class Tests(unittest.TestCase):
- self.assertEqual(self.get_dbus_dev_property(mb1_up, 'Percentage'), 30)
- self.assertEqual(self.get_dbus_dev_property(mb1_up, 'PowerSupply'), False)
-
-+ def test_bluetooth_hid_mouse(self):
-+ '''bluetooth HID mouse battery'''
-+
-+ self.testbed.add_device('hid',
-+ 'usb1/bluetooth/hci0/hci0:01',
-+ None,
-+ [], [])
-+
-+ self.testbed.add_device(
-+ 'input',
-+ 'usb1/bluetooth/hci0/hci0:01/input/input2/mouse3',
-+ None,
-+ [], ['DEVNAME', 'input/mouse3', 'ID_INPUT_MOUSE', '1'])
-+
-+ self.testbed.add_device(
-+ 'power_supply',
-+ 'usb1/bluetooth/hci0/hci0:01/1/power_supply/hid-00:11:22:33:44:55-battery',
-+ None,
-+ ['type', 'Battery',
-+ 'scope', 'Device',
-+ 'present', '1',
-+ 'online', '1',
-+ 'status', 'Discharging',
-+ 'capacity', '30',
-+ 'model_name', 'Fancy BT mouse'],
-+ [])
-+
-+ self.start_daemon()
-+ devs = self.proxy.EnumerateDevices()
-+ self.assertEqual(len(devs), 1)
-+ mousebat0_up = devs[0]
-+
-+ self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Model'), 'Fancy BT mouse')
-+ self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Percentage'), 30)
-+ self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'PowerSupply'), False)
-+ # 5 == mouse
-+ self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Type'), 5)
-+ self.assertEqual(self.get_dbus_property('OnBattery'), False)
-+ self.assertEqual(self.get_dbus_display_property('WarningLevel'), UP_DEVICE_LEVEL_NONE)
-+ self.stop_daemon()
-+
- def test_bluetooth_keyboard(self):
- '''bluetooth keyboard battery'''
-
-diff --git a/src/linux/up-device-supply.c b/src/linux/up-device-supply.c
-index 1f86382..b96080b 100644
---- a/src/linux/up-device-supply.c
-+++ b/src/linux/up-device-supply.c
-@@ -932,9 +932,12 @@ up_device_supply_coldplug (UpDevice *device)
- const gchar *scope;
- gchar *device_type = NULL;
- gchar *input_path = NULL;
-+ gchar *subdir = NULL;
- GDir *dir = NULL;
- GError *error = NULL;
- UpDeviceKind type = UP_DEVICE_KIND_UNKNOWN;
-+ guint i;
-+ const char *class[] = { "hid", "bluetooth" };
-
- up_device_supply_reset_values (supply);
-
-@@ -970,28 +973,39 @@ up_device_supply_coldplug (UpDevice *device)
- if (g_ascii_strcasecmp (device_type, "mains") == 0) {
- type = UP_DEVICE_KIND_LINE_POWER;
- } else if (g_ascii_strcasecmp (device_type, "battery") == 0) {
-+ for (i = 0; i < G_N_ELEMENTS(class) && type == UP_DEVICE_KIND_UNKNOWN; i++) {
-+ /* Detect if the battery comes from bluetooth keyboard or mouse. */
-+ bluetooth = g_udev_device_get_parent_with_subsystem (native, class[i], NULL);
-+ if (bluetooth != NULL) {
-+ device_path = g_udev_device_get_sysfs_path (bluetooth);
-+
-+ /* There may be an extra subdirectory here */
-+ subdir = g_build_filename (device_path, "input", NULL);
-+ if (!g_file_test (subdir, G_FILE_TEST_IS_DIR)) {
-+ g_free(subdir);
-+ subdir = g_strdup (device_path);
-+ }
-
-- /* Detect if the battery comes from bluetooth keyboard or mouse. */
-- bluetooth = g_udev_device_get_parent_with_subsystem (native, "bluetooth", NULL);
-- if (bluetooth != NULL) {
-- device_path = g_udev_device_get_sysfs_path (bluetooth);
-- if ((dir = g_dir_open (device_path, 0, &error))) {
-- while ((file = g_dir_read_name (dir))) {
-- /* Check if it is an input device. */
-- if (g_str_has_prefix (file, "input")) {
-- input_path = g_build_filename (device_path, file, NULL);
-- break;
-+ if ((dir = g_dir_open (subdir, 0, &error))) {
-+ while ((file = g_dir_read_name (dir))) {
-+ /* Check if it is an input device. */
-+ if (g_str_has_prefix (file, "input")) {
-+ input_path = g_build_filename (subdir, file, NULL);
-+ break;
-+ }
- }
-+ g_dir_close (dir);
-+ } else {
-+ g_warning ("Can not open folder %s: %s", device_path, error->message);
-+ g_error_free (error);
- }
-- g_dir_close (dir);
-- } else {
-- g_warning ("Can not open folder %s: %s", device_path, error->message);
-- g_error_free (error);
-+ g_free (subdir);
-+ g_object_unref (bluetooth);
- }
-- g_object_unref (bluetooth);
-- }
-
-- if (input_path != NULL) {
-+ if (input_path == NULL)
-+ continue;
-+
- if ((dir = g_dir_open (input_path, 0, &error))) {
- while ((file = g_dir_read_name (dir))) {
- /* Check if it is a mouse device. */
---
-2.6.3
-
diff --git a/source/a/upower/patches/rules-Add-support-for-Logitech-G700s-G700-Gaming-Mou.patch b/source/a/upower/patches/rules-Add-support-for-Logitech-G700s-G700-Gaming-Mou.patch
deleted file mode 100644
index 1826c416..00000000
--- a/source/a/upower/patches/rules-Add-support-for-Logitech-G700s-G700-Gaming-Mou.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 305f62adf052aa972523d083ca44d3050f659ec9 Mon Sep 17 00:00:00 2001
-From: muzena <trebelnik2@gmail.com>
-Date: Wed, 8 Jul 2015 17:11:25 +0200
-Subject: [PATCH 4/4] rules: Add support for Logitech G700s/G700 Gaming Mouse
-
-https://bugs.freedesktop.org/show_bug.cgi?id=91270
----
- rules/95-upower-csr.rules | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/rules/95-upower-csr.rules b/rules/95-upower-csr.rules
-index 39539ca..3b83665 100644
---- a/rules/95-upower-csr.rules
-+++ b/rules/95-upower-csr.rules
-@@ -29,4 +29,5 @@ ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c532", DRIVER=="logitech-djdevice",
- ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52b", DRIVER=="logitech-hidpp-device", ENV{UPOWER_BATTERY_TYPE}="unifying"
- ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c532", DRIVER=="logitech-hidpp-device", ENV{UPOWER_BATTERY_TYPE}="unifying"
- ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52f", ENV{UPOWER_BATTERY_TYPE}="lg-wireless"
-+ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c531", ENV{UPOWER_BATTERY_TYPE}="lg-wireless"
- LABEL="up_unifying_end"
---
-2.6.4
-
diff --git a/source/a/upower/patches/rules-support-Logitech-Unifying-in-Linux-3.19.patch b/source/a/upower/patches/rules-support-Logitech-Unifying-in-Linux-3.19.patch
deleted file mode 100644
index adcba238..00000000
--- a/source/a/upower/patches/rules-support-Logitech-Unifying-in-Linux-3.19.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From f8104a112eb967cd4c2aaf57b5a59aafe7c4738f Mon Sep 17 00:00:00 2001
-From: Peter Wu <peter@lekensteyn.nl>
-Date: Wed, 21 Jan 2015 15:56:23 +0100
-Subject: [PATCH] rules: support Logitech Unifying in Linux 3.19
-
-Linux 3.19 changed the way in which devices get registered by
-introducing a hid-logitech-hidpp module. The driver name therefore needs
-to be adjusted.
-
-Signed-off-by: Peter Wu <peter@lekensteyn.nl>
----
- rules/95-upower-csr.rules | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/rules/95-upower-csr.rules b/rules/95-upower-csr.rules
-index b476660..39539ca 100644
---- a/rules/95-upower-csr.rules
-+++ b/rules/95-upower-csr.rules
-@@ -25,5 +25,8 @@ SUBSYSTEM!="hid", GOTO="up_unifying_end"
- ATTRS{idVendor}=="046d", ENV{UPOWER_VENDOR}="Logitech, Inc."
- ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52b", DRIVER=="logitech-djdevice", ENV{UPOWER_BATTERY_TYPE}="unifying"
- ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c532", DRIVER=="logitech-djdevice", ENV{UPOWER_BATTERY_TYPE}="unifying"
-+# These devices bind to the hid-logitech-hidpp module since Linux 3.19
-+ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52b", DRIVER=="logitech-hidpp-device", ENV{UPOWER_BATTERY_TYPE}="unifying"
-+ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c532", DRIVER=="logitech-hidpp-device", ENV{UPOWER_BATTERY_TYPE}="unifying"
- ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52f", ENV{UPOWER_BATTERY_TYPE}="lg-wireless"
- LABEL="up_unifying_end"
---
-2.6.3
-
diff --git a/source/a/upower/patches/upower-pm-utils-0.9.23-fix-segfault.patch b/source/a/upower/patches/upower-pm-utils-0.9.23-fix-segfault.patch
deleted file mode 100644
index 3e897632..00000000
--- a/source/a/upower/patches/upower-pm-utils-0.9.23-fix-segfault.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 0d64bbddaa0078ef148d609a3cfad854cf00d7de Mon Sep 17 00:00:00 2001
-From: Martin Pitt <martinpitt@gnome.org>
-Date: Fri, 08 Nov 2013 13:59:50 +0000
-Subject: lib: Fix segfault on getting property when daemon is not running
-
-This fixes "upower --version" when the daemon is not running, and thus the
-client proxy is NULL.
----
-diff --git a/libupower-glib/up-client.c b/libupower-glib/up-client.c
-index 35d7b5d..17fb02d 100644
---- a/libupower-glib/up-client.c
-+++ b/libupower-glib/up-client.c
-@@ -322,6 +322,9 @@ up_client_get_property (GObject *object,
- UpClient *client;
- client = UP_CLIENT (object);
-
-+ if (client->priv->proxy == NULL)
-+ return;
-+
- switch (prop_id) {
- case PROP_DAEMON_VERSION:
- g_value_set_string (value, up_client_glue_get_daemon_version (client->priv->proxy));
---
-cgit v0.9.0.2-2-gbebe
diff --git a/source/a/upower/patches/upower.glib_2_58_1.diff b/source/a/upower/patches/upower.glib_2_58_1.diff
deleted file mode 100644
index 466fc71d..00000000
--- a/source/a/upower/patches/upower.glib_2_58_1.diff
+++ /dev/null
@@ -1,22 +0,0 @@
---- ./libupower-glib/up-wakeups.c.orig 2013-10-18 09:41:24.000000000 -0500
-+++ ./libupower-glib/up-wakeups.c 2018-11-20 23:07:29.603065864 -0600
-@@ -185,7 +185,7 @@
- return array;
- }
-
--#pragma GCC diagnostic error "-Wdeprecated-declarations"
-+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-
- /**
- * up_wakeups_ensure_properties:
---- ./libupower-glib/up-device.c.orig 2013-10-18 09:41:24.000000000 -0500
-+++ ./libupower-glib/up-device.c 2018-11-20 23:07:24.435066237 -0600
-@@ -748,7 +748,7 @@
- return array;
- }
-
--#pragma GCC diagnostic error "-Wdeprecated-declarations"
-+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-
- /*
- * up_device_set_property:
diff --git a/source/a/upower/slack-desc b/source/a/upower/slack-desc
index 8eb00cdd..b4401b93 100644
--- a/source/a/upower/slack-desc
+++ b/source/a/upower/slack-desc
@@ -1,12 +1,12 @@
# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
+# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
-upower: upower (power management abstraction daemon)
+upower: UPower (power management abstraction daemon)
upower:
upower: UPower is an abstraction for enumerating power devices, listening to
upower: device events and querying history and statistics. Any application or
diff --git a/source/a/upower/upower.SlackBuild b/source/a/upower/upower.SlackBuild
index 8d9bcf57..04ded50a 100755
--- a/source/a/upower/upower.SlackBuild
+++ b/source/a/upower/upower.SlackBuild
@@ -28,7 +28,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=upower
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d- | rev)}
-BUILD=${BUILD:-5}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -81,29 +81,25 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
cd $PKGNAM-$VERSION || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
+ -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-zcat $CWD/patches/upower-pm-utils-0.9.23-fix-segfault.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/linux-Properly-detect-bluetooth-mice-and-keyboards-t.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/rules-support-Logitech-Unifying-in-Linux-3.19.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/linux-Clamp-percentage-for-overfull-batteries.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/linux-Detect-docked-docking-stations-correctly.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/Fix-HID-rules-header-as-per-discussions.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/Update-UPower-HID-rules-supported-devices-list.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/rules-Add-support-for-Logitech-G700s-G700-Gaming-Mou.patch.gz | patch -p1 --verbose || exit 1
-
-# Don't fail on deprecated delarations:
-zcat $CWD/patches/upower.glib_2_58_1.diff.gz | patch -p1 --verbose || exit 1
-
-CFLAGS="$SLKCFLAGS -Wno-error=deprecated-declarations" \
-CXXFLAGS="$SLKCFLAGS -Wno-error=deprecated-declarations" \
+ -exec chmod 644 {} \;
+
+zcat $CWD/patches/0002-linux-Fix-memory-leak-in-Bluez-backend.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/0003-linux-Fix-warning-when-bluez-Appearance-property-isn.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/0006-lib-Add-Pen-device-type.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/0007-linux-Detect-Bluetooth-pens.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/0008-linux-Identify-keyboard-pointing-device-combos-as-ke.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/0011-linux-Add-support-for-iPhone-XR-XS-models.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/0012-build-Use-a-newer-libplist-if-available.patch.gz | patch -p1 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
@@ -113,7 +109,6 @@ CXXFLAGS="$SLKCFLAGS -Wno-error=deprecated-declarations" \
--docdir=/usr/doc/$PKGNAM-$VERSION \
--disable-static \
--enable-man-pages \
- --enable-deprecated \
--build=$TARGET || exit 1
make $NUMJOBS || make || exit 1
@@ -128,14 +123,13 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
# Don't clobber the config file on upgrades
mv $PKG/etc/UPower/UPower.conf $PKG/etc/UPower/UPower.conf.new
-find $PKG/usr/man -type f -exec gzip -9 {} \+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
AUTHORS COPYING ChangeLog HACKING INSTALL NEWS README \
$PKG/usr/doc/$PKGNAM-$VERSION
-cat $CWD/$PKGNAM.SlackBuild > $PKG/usr/doc/$PKGNAM-$VERSION/$PKGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/source/a/upower/upower.url b/source/a/upower/upower.url
index 30c25b7f..9a4f5559 100644
--- a/source/a/upower/upower.url
+++ b/source/a/upower/upower.url
@@ -1 +1 @@
-http://upower.freedesktop.org/releases/
+https://gitlab.freedesktop.org/upower/upower/-/releases
diff --git a/source/d/sassc/sassc.SlackBuild b/source/d/sassc/sassc.SlackBuild
new file mode 100755
index 00000000..f32a0c18
--- /dev/null
+++ b/source/d/sassc/sassc.SlackBuild
@@ -0,0 +1,128 @@
+#!/bin/bash
+
+# Copyright 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=sassc
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ LICENSE* Readme* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/d/sassc/sassc.url b/source/d/sassc/sassc.url
new file mode 100644
index 00000000..7fc72dc1
--- /dev/null
+++ b/source/d/sassc/sassc.url
@@ -0,0 +1 @@
+https://github.com/sass/sassc
diff --git a/source/d/sassc/slack-desc b/source/d/sassc/slack-desc
new file mode 100644
index 00000000..7d9aa060
--- /dev/null
+++ b/source/d/sassc/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+sassc: sassc (Sass CSS preprocessor)
+sassc:
+sassc: SassC is a wrapper around libsass used to generate a useful command-
+sassc: line Sass implementation. Sass is a CSS pre-processor language to add
+sassc: on exciting new features to CSS.
+sassc:
+sassc: Homepage: https://libsass.org
+sassc:
+sassc:
+sassc:
+sassc:
diff --git a/source/l/brotli/brotli.SlackBuild b/source/l/brotli/brotli.SlackBuild
index c60e2906..821421dc 100755
--- a/source/l/brotli/brotli.SlackBuild
+++ b/source/l/brotli/brotli.SlackBuild
@@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=brotli
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -86,6 +86,9 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
+# Remove -R that is not accepted by the C compiler:
+zcat $CWD/brotli.no.unrecognized.R.diff.gz | patch -p1 --verbose || exit 1
+
# Configure, build, and install:
mkdir cmake-build
cd cmake-build
diff --git a/source/l/brotli/brotli.no.unrecognized.R.diff b/source/l/brotli/brotli.no.unrecognized.R.diff
new file mode 100644
index 00000000..3d2835a6
--- /dev/null
+++ b/source/l/brotli/brotli.no.unrecognized.R.diff
@@ -0,0 +1,32 @@
+diff -u -r --new-file brotli-1.0.9.orig/scripts/libbrotlicommon.pc.in brotli-1.0.9/scripts/libbrotlicommon.pc.in
+--- brotli-1.0.9.orig/scripts/libbrotlicommon.pc.in 2020-08-27 09:12:55.000000000 -0500
++++ brotli-1.0.9/scripts/libbrotlicommon.pc.in 2020-11-26 14:45:56.933004919 -0600
+@@ -7,5 +7,5 @@
+ URL: https://github.com/google/brotli
+ Description: Brotli common dictionary library
+ Version: @PACKAGE_VERSION@
+-Libs: -L${libdir} -R${libdir} -lbrotlicommon
++Libs: -L${libdir} -lbrotlicommon
+ Cflags: -I${includedir}
+diff -u -r --new-file brotli-1.0.9.orig/scripts/libbrotlidec.pc.in brotli-1.0.9/scripts/libbrotlidec.pc.in
+--- brotli-1.0.9.orig/scripts/libbrotlidec.pc.in 2020-08-27 09:12:55.000000000 -0500
++++ brotli-1.0.9/scripts/libbrotlidec.pc.in 2020-11-26 14:45:56.933004919 -0600
+@@ -7,6 +7,6 @@
+ URL: https://github.com/google/brotli
+ Description: Brotli decoder library
+ Version: @PACKAGE_VERSION@
+-Libs: -L${libdir} -R${libdir} -lbrotlidec
++Libs: -L${libdir} -lbrotlidec
+ Requires.private: libbrotlicommon >= 1.0.2
+ Cflags: -I${includedir}
+diff -u -r --new-file brotli-1.0.9.orig/scripts/libbrotlienc.pc.in brotli-1.0.9/scripts/libbrotlienc.pc.in
+--- brotli-1.0.9.orig/scripts/libbrotlienc.pc.in 2020-08-27 09:12:55.000000000 -0500
++++ brotli-1.0.9/scripts/libbrotlienc.pc.in 2020-11-26 14:45:56.933004919 -0600
+@@ -7,6 +7,6 @@
+ URL: https://github.com/google/brotli
+ Description: Brotli encoder library
+ Version: @PACKAGE_VERSION@
+-Libs: -L${libdir} -R${libdir} -lbrotlienc
++Libs: -L${libdir} -lbrotlienc
+ Requires.private: libbrotlicommon >= 1.0.2
+ Cflags: -I${includedir}
diff --git a/source/l/gdk-pixbuf2-xlib/gdk-pixbuf2-xlib.SlackBuild b/source/l/gdk-pixbuf2-xlib/gdk-pixbuf2-xlib.SlackBuild
new file mode 100755
index 00000000..84d0b890
--- /dev/null
+++ b/source/l/gdk-pixbuf2-xlib/gdk-pixbuf2-xlib.SlackBuild
@@ -0,0 +1,142 @@
+#!/bin/bash
+
+# Copyright 2010, 2011 Robby Workman, Northport, Alabama, USA
+# Copyright 2010, 2011, 2018 Patrick Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=gdk-pixbuf2-xlib
+SRCNAM=gdk-pixbuf-xlib
+VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i586 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $SRCNAM-$VERSION
+tar xvf $CWD/$SRCNAM-$VERSION.tar.xz || exit 1
+cd $SRCNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+mkdir meson-build
+cd meson-build
+meson setup \
+ --prefix=/usr \
+ --libdir=lib${LIBDIRSUFFIX} \
+ --libexecdir=/usr/libexec \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --includedir=/usr/include \
+ --datadir=/usr/share \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --buildtype=release \
+ -Ddocs=true \
+ -Dgir=true \
+ -Dx11=true \
+ -Dinstalled_tests=false \
+ .. || exit 1
+ "${NINJA:=ninja}" $NUMJOBS || exit 1
+ DESTDIR=$PKG $NINJA install || exit 1
+cd ..
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* INSTALL NEWS README* \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/gdk-pixbuf2-xlib/slack-desc b/source/l/gdk-pixbuf2-xlib/slack-desc
new file mode 100644
index 00000000..7c732aa0
--- /dev/null
+++ b/source/l/gdk-pixbuf2-xlib/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+gdk-pixbuf2-xlib: gdk-pixbuf2-xlib (GdkPixbuf/Xlib API)
+gdk-pixbuf2-xlib:
+gdk-pixbuf2-xlib: GdkPixbuf-Xlib contains the deprecated API for integrating GdkPixbuf
+gdk-pixbuf2-xlib: with Xlib data types. This library was originally shipped as part of
+gdk-pixbuf2-xlib: the gdk-pixbuf2 package, and has since been moved out of the original
+gdk-pixbuf2-xlib: repository.
+gdk-pixbuf2-xlib:
+gdk-pixbuf2-xlib:
+gdk-pixbuf2-xlib:
+gdk-pixbuf2-xlib:
+gdk-pixbuf2-xlib:
diff --git a/source/l/gjs/gjs.SlackBuild b/source/l/gjs/gjs.SlackBuild
new file mode 100755
index 00000000..8f447012
--- /dev/null
+++ b/source/l/gjs/gjs.SlackBuild
@@ -0,0 +1,146 @@
+#!/bin/sh
+#
+# Slackware build script for gjs
+#
+# Copyright 2020 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=gjs
+VERSION=${VERSION:-$(echo gjs-*.tar.lz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i586 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf gjs-$VERSION
+tar xvf $CWD/gjs-${VERSION}.tar.lz || exit 1
+cd gjs-$VERSION
+
+# Make sure ownerships and permissions are sane:
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+mkdir meson-build
+cd meson-build
+meson setup \
+ --prefix=/usr \
+ --libdir=lib${LIBDIRSUFFIX} \
+ --libexecdir=/usr/libexec \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --includedir=/usr/include \
+ --datadir=/usr/share \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --buildtype=release \
+ .. || exit 1
+ "${NINJA:=ninja}" $NUMJOBS || exit 1
+ DESTDIR=$PKG $NINJA install || exit 1
+cd ..
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+fi
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* HACKING INSTALL MAINTAINERS NEWS README* examples/ \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/gjs/gjs.url b/source/l/gjs/gjs.url
new file mode 100644
index 00000000..325e4b40
--- /dev/null
+++ b/source/l/gjs/gjs.url
@@ -0,0 +1 @@
+https://ftp.gnome.org/pub/GNOME/sources/gjs/1.66/gjs-1.66.1.tar.xz
diff --git a/source/l/gjs/slack-desc b/source/l/gjs/slack-desc
new file mode 100644
index 00000000..afe43fa0
--- /dev/null
+++ b/source/l/gjs/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+gjs: gjs (javascript bindings for GNOME)
+gjs:
+gjs: Use the GNOME platform libraries in your JavaScript programs. GJS
+gjs: powers GNOME Shell, Polari, GNOME Documents, and many other apps.
+gjs: Under the hood it uses SpiderMonkey, Mozilla's JavaScript engine
+gjs: originally developed for Firefox.
+gjs:
+gjs: Homepage: https://gitlab.gnome.org/GNOME/gjs/
+gjs:
+gjs:
+gjs:
diff --git a/source/l/glade/glade.SlackBuild b/source/l/glade/glade.SlackBuild
new file mode 100755
index 00000000..f0c8bf2e
--- /dev/null
+++ b/source/l/glade/glade.SlackBuild
@@ -0,0 +1,131 @@
+#!/bin/bash
+
+# Slackware build script for glade
+
+# Copyright 2011, 2020 Robby Workman, Tuscaloosa, Alabama, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=glade
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Well, this is dumb:
+sed -i "s,python-3.8-embed,python-3.9-embed," meson.build
+
+# Configure, build, and install:
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+mkdir meson-build
+cd meson-build
+meson setup \
+ --prefix=/usr \
+ --libdir=lib${LIBDIRSUFFIX} \
+ --libexecdir=/usr/libexec \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --includedir=/usr/include \
+ --datadir=/usr/share \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --buildtype=release \
+ -Dgladeui=true \
+ .. || exit 1
+ "${NINJA:=ninja}" $NUMJOBS || exit 1
+ DESTDIR=$PKG $NINJA install || exit 1
+cd ..
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS* COPYING* INSTALL* NEWS* README* TODO* \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/glade/glade.url b/source/l/glade/glade.url
new file mode 100644
index 00000000..81369812
--- /dev/null
+++ b/source/l/glade/glade.url
@@ -0,0 +1 @@
+https://ftp.gnome.org/pub/GNOME/sources/glade/3.38/glade-3.38.1.tar.xz
diff --git a/source/l/glade/slack-desc b/source/l/glade/slack-desc
new file mode 100644
index 00000000..8ffaf644
--- /dev/null
+++ b/source/l/glade/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+glade: glade (Glade UI Designer)
+glade:
+glade: Glade is a RAD tool to enable quick and easy development of user
+glade: interfaces for the GTK+ toolkit and the GNOME desktop environment.
+glade: The user interfaces designed in Glade are saved as XML, and by using
+glade: the GtkBuilder GTK+ object these can be loaded by applications
+glade: dynamically as needed.
+glade:
+glade: Homepage: http://glade.gnome.org/
+glade:
+glade:
diff --git a/source/l/gobject-introspection/gobject-introspection.SlackBuild b/source/l/gobject-introspection/gobject-introspection.SlackBuild
index 3856fce8..9396474d 100755
--- a/source/l/gobject-introspection/gobject-introspection.SlackBuild
+++ b/source/l/gobject-introspection/gobject-introspection.SlackBuild
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=gobject-introspection
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/gtksourceview3/gtksourceview3.SlackBuild b/source/l/gtksourceview3/gtksourceview3.SlackBuild
new file mode 100755
index 00000000..77ad0fff
--- /dev/null
+++ b/source/l/gtksourceview3/gtksourceview3.SlackBuild
@@ -0,0 +1,125 @@
+#!/bin/bash
+
+# Copyright 2012-2016 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=gtksourceview3
+SRCNAM=gtksourceview
+VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $SRCNAM-$VERSION
+tar xvf $CWD/$SRCNAM-$VERSION.tar.?z || exit 1
+cd $SRCNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --enable-glade-catalog \
+ --build=$ARCH-slackware-linux
+
+# At the end of build process, the uninstalled gtksourceview.pc is
+# used. Let's make sure pkg-config can find it.
+PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$TMP/$PRGNAM-$VERSION make $NUMJOBS || \
+PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$TMP/$PRGNAM-$VERSION make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress man pages
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS COPYING* HACKING MAINTAINERS NEWS README \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/gtksourceview3/gtksourceview3.url b/source/l/gtksourceview3/gtksourceview3.url
new file mode 100644
index 00000000..ba7dc6cb
--- /dev/null
+++ b/source/l/gtksourceview3/gtksourceview3.url
@@ -0,0 +1 @@
+https://ftp.gnome.org/pub/GNOME/sources/gtksourceview/3.24/gtksourceview-3.24.11.tar.xz
diff --git a/source/l/gtksourceview3/slack-desc b/source/l/gtksourceview3/slack-desc
new file mode 100644
index 00000000..585fe634
--- /dev/null
+++ b/source/l/gtksourceview3/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+gtksourceview3: gtksourceview3 (a GTK+ framework for source code editing)
+gtksourceview3:
+gtksourceview3: GtkSourceView is a portable C library that extends the standard
+gtksourceview3: GTK+ framework for multiline text editing with support for
+gtksourceview3: configurable syntax highlighting, unlimited undo/redo, UTF-8
+gtksourceview3: compliant caseless searching, printing and other features
+gtksourceview3: typical of a source code editor.
+gtksourceview3:
+gtksourceview3: Homepage: https://projects.gnome.org/gtksourceview/
+gtksourceview3:
+gtksourceview3:
diff --git a/source/l/gvfs/gvfs.SlackBuild b/source/l/gvfs/gvfs.SlackBuild
index 2589fcb3..f0f423b6 100755
--- a/source/l/gvfs/gvfs.SlackBuild
+++ b/source/l/gvfs/gvfs.SlackBuild
@@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=gvfs
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
diff --git a/source/l/libsass/libsass.SlackBuild b/source/l/libsass/libsass.SlackBuild
new file mode 100755
index 00000000..b5f0ce85
--- /dev/null
+++ b/source/l/libsass/libsass.SlackBuild
@@ -0,0 +1,128 @@
+#!/bin/bash
+
+# Copyright 2019 Eric Hameleers, Eindhoven, NL
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libsass
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ COPYING* LICENSE* *.md \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/libsass/libsass.url b/source/l/libsass/libsass.url
new file mode 100644
index 00000000..dcecdede
--- /dev/null
+++ b/source/l/libsass/libsass.url
@@ -0,0 +1 @@
+https://github.com/sass/libsass
diff --git a/source/l/libsass/slack-desc b/source/l/libsass/slack-desc
new file mode 100644
index 00000000..04fb9aeb
--- /dev/null
+++ b/source/l/libsass/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libsass: libsass (Sass library for C/C++)
+libsass:
+libsass: This is a library implementing Sass (a CSS pre-processor) in C/C++.
+libsass: It is used by SassC, which is the official lightweight CLI tool built
+libsass: by the same people as LibSass.
+libsass:
+libsass: Homepage: https://libsass.org
+libsass:
+libsass:
+libsass:
+libsass:
diff --git a/source/l/libsoup/libsoup.SlackBuild b/source/l/libsoup/libsoup.SlackBuild
index 63d04f5a..0fcdcbfb 100755
--- a/source/l/libsoup/libsoup.SlackBuild
+++ b/source/l/libsoup/libsoup.SlackBuild
@@ -3,6 +3,7 @@
# Slackware build script for libsoup
#
# Copyright 2009-2010 Erik W. Hanson, Minneapolis, MN, USA
+# Copyright 2020 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -91,7 +92,6 @@ meson setup \
--buildtype=release \
-Dgssapi=disabled \
-Dvapi=enabled \
- -Ddoc=enabled \
.. || exit 1
"${NINJA:=ninja}" $NUMJOBS || exit 1
DESTDIR=$PKG $NINJA install || exit 1
diff --git a/source/l/libwnck3/libwnck3.SlackBuild b/source/l/libwnck3/libwnck3.SlackBuild
new file mode 100755
index 00000000..06e674ab
--- /dev/null
+++ b/source/l/libwnck3/libwnck3.SlackBuild
@@ -0,0 +1,150 @@
+#!/bin/sh
+#
+# Slackware build script for libwnck3
+#
+# Copyright 2019 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libwnck3
+VERSION=${VERSION:-$(echo libwnck-*.tar.lz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i586 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf libwnck-$VERSION
+tar xvf $CWD/libwnck-${VERSION}.tar.lz || exit 1
+cd libwnck-$VERSION
+
+# Make sure ownerships and permissions are sane:
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+mkdir meson-build
+cd meson-build
+meson setup \
+ --prefix=/usr \
+ --libdir=lib${LIBDIRSUFFIX} \
+ --libexecdir=/usr/libexec \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --includedir=/usr/include \
+ --datadir=/usr/share \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --buildtype=release \
+ -Dgtk_doc=true \
+ .. || exit 1
+ "${NINJA:=ninja}" $NUMJOBS || exit 1
+ DESTDIR=$PKG $NINJA install || exit 1
+cd ..
+
+mv $PKG/usr/bin/wnckprop $PKG/usr/bin/wnckprop3
+mv $PKG/usr/bin/wnck-urgency-monitor $PKG/usr/bin/wnck3-urgency-monitor
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.*
+ )
+ done
+ )
+fi
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING HACKING INSTALL MAINTAINERS NEWS README rationales.txt \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/libwnck3/libwnck3.url b/source/l/libwnck3/libwnck3.url
new file mode 100644
index 00000000..0ae2fe67
--- /dev/null
+++ b/source/l/libwnck3/libwnck3.url
@@ -0,0 +1 @@
+https://ftp.gnome.org/pub/gnome/sources/libwnck/
diff --git a/source/l/libwnck3/slack-desc b/source/l/libwnck3/slack-desc
new file mode 100644
index 00000000..a6f7c386
--- /dev/null
+++ b/source/l/libwnck3/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libwnck3: libwnck3 (Window Navigator Construction Kit)
+libwnck3:
+libwnck3: A library to use for writing pagers and task lists.
+libwnck3:
+libwnck3: Homepage: https://ftp.gnome.org/pub/gnome/sources/libwnck/
+libwnck3:
+libwnck3:
+libwnck3:
+libwnck3:
+libwnck3:
+libwnck3:
diff --git a/source/l/pygobject3/pygobject3.SlackBuild b/source/l/pygobject3/pygobject3.SlackBuild
index 0da0e0fc..e8108d3d 100755
--- a/source/l/pygobject3/pygobject3.SlackBuild
+++ b/source/l/pygobject3/pygobject3.SlackBuild
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=pygobject3
SRCNAM=pygobject
VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -113,28 +113,30 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+
-# Configure, build, and install (python2 version):
-export CFLAGS="$SLKCFLAGS"
-export CXXFLAGS="$SLKCFLAGS"
-mkdir meson-build
-cd meson-build
-meson setup \
- --prefix=/usr \
- --libdir=lib${LIBDIRSUFFIX} \
- --libexecdir=/usr/libexec \
- --bindir=/usr/bin \
- --sbindir=/usr/sbin \
- --includedir=/usr/include \
- --datadir=/usr/share \
- --mandir=/usr/man \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --buildtype=release \
- -Dpython=python \
- .. || exit 1
- ninja || exit 1
- DESTDIR=$PKG ninja install || exit 1
-cd ..
+## Obsolete. I guess we'll see if anyone misses it and if so possibly stick
+## a copy with the other python2 stuff.
+## Configure, build, and install (python2 version):
+#export CFLAGS="$SLKCFLAGS"
+#export CXXFLAGS="$SLKCFLAGS"
+#mkdir meson-build
+#cd meson-build
+#meson setup \
+# --prefix=/usr \
+# --libdir=lib${LIBDIRSUFFIX} \
+# --libexecdir=/usr/libexec \
+# --bindir=/usr/bin \
+# --sbindir=/usr/sbin \
+# --includedir=/usr/include \
+# --datadir=/usr/share \
+# --mandir=/usr/man \
+# --sysconfdir=/etc \
+# --localstatedir=/var \
+# --buildtype=release \
+# -Dpython=python \
+# .. || exit 1
+# ninja || exit 1
+# DESTDIR=$PKG ninja install || exit 1
+#cd ..
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
diff --git a/source/l/vte/vte.SlackBuild b/source/l/vte/vte.SlackBuild
index 2b6d2076..9937c978 100755
--- a/source/l/vte/vte.SlackBuild
+++ b/source/l/vte/vte.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=vte
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}