diff options
Diffstat (limited to 'source')
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) "} |