diff options
-rw-r--r-- | user/modemmanager/01-org.freedesktop.ModemManager.rules | 8 | ||||
-rw-r--r-- | user/modemmanager/APKBUILD | 48 | ||||
-rw-r--r-- | user/modemmanager/no-translit.patch | 92 |
3 files changed, 148 insertions, 0 deletions
diff --git a/user/modemmanager/01-org.freedesktop.ModemManager.rules b/user/modemmanager/01-org.freedesktop.ModemManager.rules new file mode 100644 index 000000000..c57f4c55c --- /dev/null +++ b/user/modemmanager/01-org.freedesktop.ModemManager.rules @@ -0,0 +1,8 @@ +// Let users in either 'plugdev' or 'dialout' control ModemManager +polkit.addRule(function(action, subject) { + if (/^org\.freedesktop\.ModemManager1\.(Device\.Control|Contacts|Messaging|Location)$/.test(action.id) && + (subject.isInGroup("plugdev") || subject.isInGroup("dialout")) && subject.active) { + return "yes"; + } +}); + diff --git a/user/modemmanager/APKBUILD b/user/modemmanager/APKBUILD new file mode 100644 index 000000000..a6ad0524d --- /dev/null +++ b/user/modemmanager/APKBUILD @@ -0,0 +1,48 @@ +# Contributor: A. Wilcox <awilfox@adelielinux.org> +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=modemmanager +pkgver=1.10.0 +pkgrel=0 +pkgdesc="Software to control mobile broadband modems" +url="https://www.freedesktop.org/wiki/Software/ModemManager/" +arch="all" +license="GPL-2.0+ AND LGPL-2.1+" +depends="" +checkdepends="dbus-x11" +makedepends="glib-dev gobject-introspection-dev libgudev-dev libmbim-dev + libqmi-dev polkit-dev vala-dev" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" +source="https://www.freedesktop.org/software/ModemManager/ModemManager-$pkgver.tar.xz + no-translit.patch + + 01-org.freedesktop.ModemManager.rules + " +builddir="$srcdir/ModemManager-$pkgver" + +build() { + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --disable-more-warnings \ + --enable-introspection \ + --enable-vala + make +} + +check() { + make check +} + +package() { + make DESTDIR="$pkgdir" install + install -D -m644 -t "$pkgdir"/usr/share/polkit-1/rules.d/ \ + "$srcdir"/01-org.freedesktop.ModemManager.rules +} + +sha512sums="676b11892b284c2da587895e71903f80ec96978c66eafae5e2d90e5c0f1dae18e50efc68b704c7907f01f208d585f5a8140316cf83e093df3f782c80949c33bc ModemManager-1.10.0.tar.xz +78e1c2ef604fb8b204618b9ecdc741ed7087fcc46ee563dbaaf6c9c0185165be58abfc3bf8ba89129fce7570c172cd1ac1e191e6d1200e3029c14a585ff40b83 no-translit.patch +31ded548acc8ccfcca5cd54384819b73ad9ac83556b754fa03a1a9c08aed7f913c7f066000abef0e52310721ef8c00ca8f48f1f762faaa5792420f62b5201881 01-org.freedesktop.ModemManager.rules" diff --git a/user/modemmanager/no-translit.patch b/user/modemmanager/no-translit.patch new file mode 100644 index 000000000..8f6d4b5f7 --- /dev/null +++ b/user/modemmanager/no-translit.patch @@ -0,0 +1,92 @@ +--- ModemManager-1.10.0/src/mm-broadband-modem.c.old 2019-01-15 14:57:35.000000000 +0000 ++++ ModemManager-1.10.0/src/mm-broadband-modem.c 2019-05-10 05:17:07.329881242 +0000 +@@ -7014,7 +7014,7 @@ + /* The raw SMS data can only be GSM, UCS2, or unknown (8-bit), so we + * need to convert to UCS2 here. + */ +- ucs2_text = g_convert (text, -1, "UCS-2BE//TRANSLIT", "UTF-8", NULL, &ucs2_len, NULL); ++ ucs2_text = g_convert (text, -1, "UCS-2BE", "UTF-8", NULL, &ucs2_len, NULL); + g_assert (ucs2_text); + raw = g_byte_array_sized_new (ucs2_len); + g_byte_array_append (raw, (const guint8 *) ucs2_text, ucs2_len); +--- ModemManager-1.10.0/src/mm-charsets.c.old 2019-05-10 05:09:21.350652258 +0000 ++++ ModemManager-1.10.0/src/mm-charsets.c 2019-05-10 05:16:41.752668021 +0000 +@@ -35,15 +35,15 @@ + } CharsetEntry; + + static CharsetEntry charset_map[] = { +- { "UTF-8", "UTF8", "UTF-8", "UTF-8//TRANSLIT", MM_MODEM_CHARSET_UTF8 }, +- { "UCS2", NULL, "UCS-2BE", "UCS-2BE//TRANSLIT", MM_MODEM_CHARSET_UCS2 }, +- { "IRA", "ASCII", "ASCII", "ASCII//TRANSLIT", MM_MODEM_CHARSET_IRA }, +- { "GSM", NULL, NULL, NULL, MM_MODEM_CHARSET_GSM }, +- { "8859-1", NULL, "ISO8859-1", "ISO8859-1//TRANSLIT", MM_MODEM_CHARSET_8859_1 }, +- { "PCCP437", "CP437", "CP437", "CP437//TRANSLIT", MM_MODEM_CHARSET_PCCP437 }, +- { "PCDN", "CP850", "CP850", "CP850//TRANSLIT", MM_MODEM_CHARSET_PCDN }, +- { "HEX", NULL, NULL, NULL, MM_MODEM_CHARSET_HEX }, +- { NULL, NULL, NULL, NULL, MM_MODEM_CHARSET_UNKNOWN } ++ { "UTF-8", "UTF8", "UTF-8", "UTF-8", MM_MODEM_CHARSET_UTF8 }, ++ { "UCS2", NULL, "UCS-2BE", "UCS-2BE", MM_MODEM_CHARSET_UCS2 }, ++ { "IRA", "ASCII", "ASCII", "ASCII", MM_MODEM_CHARSET_IRA }, ++ { "GSM", NULL, NULL, NULL, MM_MODEM_CHARSET_GSM }, ++ { "8859-1", NULL, "ISO8859-1", "ISO8859-1", MM_MODEM_CHARSET_8859_1 }, ++ { "PCCP437", "CP437", "CP437", "CP437", MM_MODEM_CHARSET_PCCP437 }, ++ { "PCDN", "CP850", "CP850", "CP850", MM_MODEM_CHARSET_PCDN }, ++ { "HEX", NULL, NULL, NULL, MM_MODEM_CHARSET_HEX }, ++ { NULL, NULL, NULL, NULL, MM_MODEM_CHARSET_UNKNOWN } + }; + + const char * +@@ -163,7 +163,7 @@ + g_return_val_if_fail (iconv_from != NULL, FALSE); + + converted = g_convert ((const gchar *)array->data, array->len, +- "UTF-8//TRANSLIT", iconv_from, ++ "UTF-8", iconv_from, + NULL, NULL, &error); + if (!converted || error) { + g_clear_error (&error); +@@ -195,7 +195,7 @@ + return unconverted; + + converted = g_convert (unconverted, unconverted_len, +- "UTF-8//TRANSLIT", iconv_from, ++ "UTF-8", iconv_from, + NULL, NULL, &error); + if (!converted || error) { + g_clear_error (&error); +@@ -226,7 +226,7 @@ + return g_strdup (src); + + converted = g_convert (src, strlen (src), +- iconv_to, "UTF-8//TRANSLIT", ++ iconv_to, "UTF-8", + NULL, &converted_len, &error); + if (!converted || error) { + g_clear_error (&error); +@@ -747,7 +747,7 @@ + + iconv_from = charset_iconv_from (charset); + utf8 = g_convert (str, strlen (str), +- "UTF-8//TRANSLIT", iconv_from, ++ "UTF-8", iconv_from, + NULL, NULL, &error); + if (!utf8 || error) { + g_clear_error (&error); +@@ -790,7 +790,7 @@ + * that is UTF-8, if any. + */ + utf8 = g_convert (str, strlen (str), +- "UTF-8//TRANSLIT", "UTF-8//TRANSLIT", ++ "UTF-8", "UTF-8", + &bread, &bwritten, NULL); + + /* Valid conversion, or we didn't get enough valid UTF-8 */ +@@ -804,7 +804,7 @@ + */ + str[bread] = '\0'; + utf8 = g_convert (str, strlen (str), +- "UTF-8//TRANSLIT", "UTF-8//TRANSLIT", ++ "UTF-8", "UTF-8", + NULL, NULL, NULL); + g_free (str); + break; |