diff options
-rw-r--r-- | libre/quassel/0001-qtui-Set-desktop-file-name.patch | 50 | ||||
-rw-r--r-- | libre/quassel/PKGBUILD | 135 | ||||
-rw-r--r-- | libre/quassel/quassel.conf | 2 | ||||
-rw-r--r-- | libre/quassel/quassel.service | 14 | ||||
-rw-r--r-- | libre/quassel/quassel.sysusers | 1 | ||||
-rw-r--r-- | libre/quassel/quassel.tmpfiles | 1 | ||||
-rw-r--r-- | libre/quassel/search-duck.patch | 26 |
7 files changed, 229 insertions, 0 deletions
diff --git a/libre/quassel/0001-qtui-Set-desktop-file-name.patch b/libre/quassel/0001-qtui-Set-desktop-file-name.patch new file mode 100644 index 000000000..e82bb8d82 --- /dev/null +++ b/libre/quassel/0001-qtui-Set-desktop-file-name.patch @@ -0,0 +1,50 @@ +From 919ac3d7184faee0ccfa7fe65c6635a7dcf5d234 Mon Sep 17 00:00:00 2001 +Message-Id: <919ac3d7184faee0ccfa7fe65c6635a7dcf5d234.1553291431.git.jan.steffens@gmail.com> +From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> +Date: Fri, 22 Mar 2019 22:37:22 +0100 +Subject: [PATCH] qtui: Set desktop file name + +The XCB platform plugin defaults the WM class to the executable name, +which already matches our desktop file name. Unfortunately, the Wayland +platform plugin prepends the inverted organization domain, resulting in +an app ID of "org.quassel-irc.quasselclient", thus breaking the +association. + +Set the desktop file name explicitly so the Wayland platform doesn't get +confused. +--- + src/qtui/monoapplication.cpp | 3 +++ + src/qtui/qtuiapplication.cpp | 3 +++ + 2 files changed, 6 insertions(+) + +diff --git a/src/qtui/monoapplication.cpp b/src/qtui/monoapplication.cpp +index 809f1147..3f60523f 100644 +--- a/src/qtui/monoapplication.cpp ++++ b/src/qtui/monoapplication.cpp +@@ -32,6 +32,9 @@ MonolithicApplication::MonolithicApplication(int &argc, char **argv) + : QtUiApplication(argc, argv) + { + Quassel::setRunMode(Quassel::Monolithic); ++#if QT_VERSION >= 0x050700 ++ QGuiApplication::setDesktopFileName(Quassel::buildInfo().applicationName + ".desktop"); ++#endif + } + + +diff --git a/src/qtui/qtuiapplication.cpp b/src/qtui/qtuiapplication.cpp +index e5b0b773..989a1961 100644 +--- a/src/qtui/qtuiapplication.cpp ++++ b/src/qtui/qtuiapplication.cpp +@@ -92,6 +92,9 @@ QtUiApplication::QtUiApplication(int &argc, char **argv) + #if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)) + QGuiApplication::setFallbackSessionManagementEnabled(false); + #endif ++#if QT_VERSION >= 0x050700 ++ QGuiApplication::setDesktopFileName(Quassel::buildInfo().clientApplicationName + ".desktop"); ++#endif + } + + +-- +2.21.0 + diff --git a/libre/quassel/PKGBUILD b/libre/quassel/PKGBUILD new file mode 100644 index 000000000..e8cd70257 --- /dev/null +++ b/libre/quassel/PKGBUILD @@ -0,0 +1,135 @@ +# Maintainer: bill-auger <bill-auger@programmer.net> +# Maintainer (arch): Jaroslav Lichtblau <svetlemodry@archlinux.org> +# Contributor: Vesa Kaihlavirta <vegai@iki.fi> + +pkgbase=quassel +pkgname=('quassel-core' + 'quassel-client' + 'quassel-client-small' + 'quassel-monolithic') +pkgver=0.13.1 +pkgrel=2 +pkgrel+=.parabola1 +pkgdesc="Next-generation distributed IRC client" +arch=('x86_64') +url="https://quassel-irc.org/" +license=('GPL') +makedepends=('qt5-base' 'qt5-tools' 'qt5-webkit' 'qca-qt5' 'qt5-script' + 'qt5-multimedia' 'knotifyconfig' 'sonnet' 'libldap' 'cmake' + 'extra-cmake-modules' 'python' 'hicolor-icon-theme') +source=(https://quassel-irc.org/pub/$pkgbase-$pkgver.tar.bz2 + 0001-qtui-Set-desktop-file-name.patch + search-duck.patch + $pkgbase.service + $pkgbase.sysusers + $pkgbase.tmpfiles + $pkgbase.conf) +sha256sums=('48efee9778743b1db9f44efb91d1c913104db01190c57f2ff57483c39a97e855' + '695ff3b605ea62ccfdf9ec4b9e6ffa74f3e2c0ac81402d51a74d263c47886c92' + '3d90a7edfa2b2e27e5f56b25f7583585efbcd35219c04a3bf138d9fe9bb9eab2' + '5dbe20290f3361b9b7a74a52905137e76b656976febf2d31082a2276f9dcde7f' + '3c72441a99e2668c6a8a751fa07beeb44f937576c8a1b5f615e4a55f841d93d9' + '2afd4340c7713f6533e5d175a86b28fd118ecd907776c2b10925d1a4fb31cdca' + 'f3031ea8217e01ba42cea14606169e3e27affa5918968ffd5a03c21ae92fe2b8') + +prepare() { + cd $pkgbase-$pkgver + patch -Np1 -i ../0001-qtui-Set-desktop-file-name.patch + patch -Np1 -i ../search-duck.patch +} + +_build() ( + cmake -H$pkgbase-$pkgver -Bbuild-$1 \ + -DCMAKE_INSTALL_PREFIX=/usr/ \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-suggest-override" \ + -DHAVE_SSL=ON \ + "${@:2}" \ + -Wno-dev + cmake --build build-$1 +) + +_install() { + DESTDIR="${pkgdir}" cmake --build build-$1 --target install +} + +build() { + _build core \ + -DWANT_QTCLIENT=OFF \ + -DWANT_MONO=OFF \ + -DWITH_BUNDLED_ICONS=OFF \ + -DWITH_WEBKIT=OFF \ + -DWITH_WEBENGINE=OFF + + _build monolithic \ + -DWANT_CORE=OFF \ + -DWANT_QTCLIENT=OFF \ + -DWITH_WEBKIT=ON \ + -DWITH_WEBENGINE=OFF \ + -DWITH_KDE=ON + + _build client \ + -DWANT_CORE=OFF \ + -DWANT_MONO=OFF \ + -DWITH_WEBKIT=ON \ + -DWITH_WEBENGINE=OFF \ + -DWITH_KDE=ON + + _build client-small \ + -DWANT_CORE=OFF \ + -DWANT_MONO=OFF \ + -DWITH_WEBKIT=OFF \ + -DWITH_WEBENGINE=OFF \ + -DCMAKE_DISABLE_FIND_PACKAGE_dbusmenu-qt5=ON \ + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Multimedia=ON \ + -DCMAKE_DISABLE_FIND_PACKAGE_Phonon4Qt5=ON +} + +package_quassel-core() { +pkgdesc="Next-generation distributed IRC client - core only" +depends=('icu' 'qca-qt5' 'qt5-script' 'libldap') +optdepends=('postgresql: PostgreSQL database support') +backup=(etc/conf.d/quassel) + + _install core + + # Remove unneeded pixmap icons + rm -r "${pkgdir}"/usr/share + + install -Dm644 $pkgbase.sysusers \ + "${pkgdir}"/usr/lib/sysusers.d/$pkgbase.conf + install -Dm644 $pkgbase.tmpfiles \ + "${pkgdir}"/usr/lib/tmpfiles.d/$pkgbase.conf + install -Dm644 $pkgbase.service \ + "${pkgdir}"/usr/lib/systemd/system/$pkgbase.service + install -Dm644 $pkgbase.conf \ + "${pkgdir}"/etc/conf.d/$pkgbase +} + +package_quassel-client() { +pkgdesc="Next-generation distributed IRC client - client only" +depends=('qt5-base' 'qt5-webkit' 'qt5-multimedia' 'knotifyconfig' + 'hicolor-icon-theme') +conflicts=('quassel-monolithic' 'quassel-client-small') + + _install client +} + +package_quassel-client-small() { +pkgdesc="Next-generation distributed IRC client - client only, reduced deps" +depends=('qt5-base' 'qt5-svg' 'sonnet' 'hicolor-icon-theme') +conflicts=('quassel-monolithic' 'quassel-client') +replaces=('quassel-remote') + + _install client-small +} + +package_quassel-monolithic() { +pkgdesc="Next-generation distributed IRC client - monolithic" +depends=('qt5-base' 'qt5-webkit' 'qt5-multimedia' 'qt5-script' 'qca-qt5' + 'knotifyconfig' 'libldap' 'hicolor-icon-theme') +optdepends=('postgresql: PostgreSQL database support') +conflicts=('quassel-client' 'quassel-client-small') + + _install monolithic +} diff --git a/libre/quassel/quassel.conf b/libre/quassel/quassel.conf new file mode 100644 index 000000000..6b667d8d4 --- /dev/null +++ b/libre/quassel/quassel.conf @@ -0,0 +1,2 @@ +QUASSEL_USER=quassel +LISTEN=127.0.0.1 diff --git a/libre/quassel/quassel.service b/libre/quassel/quassel.service new file mode 100644 index 000000000..b23c61af2 --- /dev/null +++ b/libre/quassel/quassel.service @@ -0,0 +1,14 @@ +[Unit] +Description=Quassel Core +After=network.target postgresql.service +Wants=postgresql.service + +[Service] +User=quassel +Group=quassel +PIDFile=/var/run/quassel.pid +EnvironmentFile=/etc/conf.d/quassel +ExecStart=/usr/bin/quasselcore --configdir=/var/lib/quassel + +[Install] +WantedBy=multi-user.target diff --git a/libre/quassel/quassel.sysusers b/libre/quassel/quassel.sysusers new file mode 100644 index 000000000..ea4fdf0f0 --- /dev/null +++ b/libre/quassel/quassel.sysusers @@ -0,0 +1 @@ +u quassel - - /var/lib/quassel diff --git a/libre/quassel/quassel.tmpfiles b/libre/quassel/quassel.tmpfiles new file mode 100644 index 000000000..b10c730d3 --- /dev/null +++ b/libre/quassel/quassel.tmpfiles @@ -0,0 +1 @@ +d /var/lib/quassel - quassel quassel - - diff --git a/libre/quassel/search-duck.patch b/libre/quassel/search-duck.patch new file mode 100644 index 000000000..9fc77b724 --- /dev/null +++ b/libre/quassel/search-duck.patch @@ -0,0 +1,26 @@ +diff --git a/src/qtui/chatviewsettings.h b/src/qtui/chatviewsettings.h +index 838891b..4d28926 100644 +--- a/src/qtui/chatviewsettings.h ++++ b/src/qtui/chatviewsettings.h +@@ -104,7 +104,7 @@ public: + */ + inline void enableSenderBrackets(bool enabled) { setLocalValue("ShowSenderBrackets", enabled); } + +- inline QString webSearchUrlFormatString() { return localValue("WebSearchUrlFormat", "https://www.google.com/search?q=%s").toString(); } ++ inline QString webSearchUrlFormatString() { return localValue("WebSearchUrlFormat", "https://duckduckgo.com/?q=%s").toString(); } + inline void setWebSearchUrlFormatString(const QString &format) { setLocalValue("WebSearchUrlFormat", format); } + }; + +diff --git a/src/qtui/settingspages/chatviewsettingspage.ui b/src/qtui/settingspages/chatviewsettingspage.ui +index 99f568a..7d13fff 100644 +--- a/src/qtui/settingspages/chatviewsettingspage.ui ++++ b/src/qtui/settingspages/chatviewsettingspage.ui +@@ -244,7 +244,7 @@ + <string notr="true">WebSearchUrlFormat</string> + </property> + <property name="defaultValue" stdset="0"> +- <string>https://www.google.com/search?q=%s</string> ++ <string>https://duckduckgo.com/?q=%s</string> + </property> + </widget> + </item> |