diff options
author | Oleg Shparber | 2015-01-17 12:46:25 -0800 |
---|---|---|
committer | Oleg Shparber | 2015-01-17 12:46:25 -0800 |
commit | 630ac43b8028be32548e16cc0e279ca45ce2d350 (patch) | |
tree | 18220f57497a55ef74e3283c8a8a4c9e46fc4fef | |
parent | 5e9418c3242bbd2e94da227f5367c537c7148c1a (diff) | |
download | aur-630ac43b8028be32548e16cc0e279ca45ce2d350.tar.gz |
quassel-light: Provide split packages for core, client and monolithic
It's similar to community package and provides three split packages.
-rw-r--r-- | .SRCINFO | 36 | ||||
-rw-r--r-- | PKGBUILD | 121 | ||||
-rw-r--r-- | quassel-client.install | 9 | ||||
-rw-r--r-- | quassel-monolithic.install | 9 | ||||
-rw-r--r-- | quassel.install | 21 | ||||
-rw-r--r-- | quassel.service | 10 |
6 files changed, 162 insertions, 44 deletions
@@ -1,25 +1,39 @@ pkgbase = quassel-light - pkgdesc = Modern, cross-platform, distributed IRC client; built with few dependencies + pkgdesc = Next-generation distributed IRC client (minimal dependencies) pkgver = 0.11.0 - pkgrel = 2 + pkgrel = 3 url = http://quassel-irc.org/ - install = quassel.install arch = i686 arch = x86_64 license = GPL makedepends = cmake - depends = qt5-base - provides = quassel-core - provides = quassel-client - conflicts = quassel-core - conflicts = quassel-client - backup = etc/conf.d/quassel source = http://quassel-irc.org/pub/quassel-0.11.0.tar.bz2 source = quassel.service source = quassel.conf sha256sums = 99a191b8bc2a410f7020b890ec57e0be49313f539da9f4843675bb108b0f4504 - sha256sums = 91a1aaae47d41c11aa418dd560039ddbbfb659e02b86379d8c4789c5ada362d3 + sha256sums = 828aaf27696ffe2aa4b80755a09bdf264f644d9539366981697a73bb23340d7b sha256sums = f3031ea8217e01ba42cea14606169e3e27affa5918968ffd5a03c21ae92fe2b8 -pkgname = quassel-light +pkgname = quassel-client-light + pkgdesc = Next-generation distributed IRC client - client only (minimal dependencies) + install = quassel-client.install + depends = qt5-base + provides = quassel-client + conflicts = quassel-monolithic + +pkgname = quassel-core-light + pkgdesc = Next-generation distributed IRC client - core only (minimal dependencies) + install = quassel.install + depends = qt5-base + depends = qt5-script + provides = quassel-core + backup = etc/conf.d/quassel + +pkgname = quassel-monolithic-light + pkgdesc = Next-generation distributed IRC client - monolithic (minimal dependencies) + install = quassel-monolithic.install + depends = qt5-base + depends = qt5-script + provides = quassel-monolithic + conflicts = quassel-client @@ -1,49 +1,126 @@ # Maintainer: Oleg Shparber <trollixx+aur@gmail.com> -# Contributor: Johannes Löthberg <johannes@kyriasis.com> -# Contributor: Gaetan Bisson <bisson@archlinux.org> +# Contributor: Vesa Kaihlavirta <vegai@iki.fi> +# Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> -pkgname=quassel-light +_pkgbase=quassel +pkgbase=${_pkgbase}-light +pkgname=('quassel-client-light' 'quassel-core-light' 'quassel-monolithic-light') pkgver=0.11.0 -pkgrel=2 -pkgdesc="Modern, cross-platform, distributed IRC client; built with few dependencies" +pkgrel=3 +pkgdesc="Next-generation distributed IRC client (minimal dependencies)" arch=('i686' 'x86_64') url="http://quassel-irc.org/" license=('GPL') -depends=('qt5-base') makedepends=('cmake') -provides=('quassel-core' 'quassel-client') -conflicts=('quassel-core' 'quassel-client') -install=quassel.install -backup=(etc/conf.d/quassel) -source=("http://quassel-irc.org/pub/quassel-$pkgver.tar.bz2" - 'quassel.service' - 'quassel.conf') +source=(http://quassel-irc.org/pub/${_pkgbase}-$pkgver.tar.bz2 + ${_pkgbase}.service + ${_pkgbase}.conf) sha256sums=('99a191b8bc2a410f7020b890ec57e0be49313f539da9f4843675bb108b0f4504' - '91a1aaae47d41c11aa418dd560039ddbbfb659e02b86379d8c4789c5ada362d3' + '828aaf27696ffe2aa4b80755a09bdf264f644d9539366981697a73bb23340d7b' 'f3031ea8217e01ba42cea14606169e3e27affa5918968ffd5a03c21ae92fe2b8') build() { + cd "${srcdir}" [[ ! -d build ]] && mkdir build - cd build + [[ ! -d build-client ]] && mkdir build-client + [[ ! -d build-mono ]] && mkdir build-mono + # Core + cd "${srcdir}"/build cmake \ -DCMAKE_INSTALL_PREFIX=/usr/ \ -DUSE_QT5=ON \ - -DWANT_MONO=OFF \ -DWITH_KDE=OFF \ - -DWITH_WEBKIT=OFF \ + -DCMAKE_BUILD_TYPE="Release" \ + -DWITH_OPENSSL=ON \ + -DWANT_CORE=ON \ + -DWANT_MONO=OFF \ + -DWANT_QTCLIENT=OFF \ + -DWITH_DBUS=OFF \ + -DWITH_OXYGEN=OFF \ -DWITH_PHONON=OFF \ - -DWITH_LIBINDICATE=OFF \ + -DWITH_WEBKIT=OFF \ + -DCMAKE_BUILD_TYPE="Release" \ + ../quassel-${pkgver}/ \ + -Wno-dev + make + + # Client + cd "${srcdir}"/build-client + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr/ \ + -DUSE_QT5=ON \ + -DWITH_KDE=OFF \ -DWITH_OPENSSL=ON \ -DCMAKE_BUILD_TYPE="Release" \ + -DWANT_CORE=OFF \ + -DWANT_QTCLIENT=ON \ + -DWANT_MONO=OFF \ + -DWITH_DBUS=OFF \ + -DWITH_OXYGEN=OFF \ + -DWITH_PHONON=OFF \ + -DWITH_WEBKIT=OFF \ ../quassel-${pkgver}/ \ -Wno-dev + make + # Monolithic + cd "${srcdir}"/build-mono + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr/ \ + -DUSE_QT5=ON \ + -DWITH_KDE=OFF \ + -DWITH_OPENSSL=ON \ + -DCMAKE_BUILD_TYPE="Release" \ + -DWANT_CORE=OFF \ + -DWANT_QTCLIENT=OFF \ + -DWANT_MONO=ON \ + -DWITH_DBUS=OFF \ + -DWITH_OXYGEN=OFF \ + -DWITH_PHONON=OFF \ + -DWITH_WEBKIT=OFF \ + ../quassel-${pkgver}/ \ + -Wno-dev make } -package() { - make -C build DESTDIR="$pkgdir" install - install -Dm644 quassel.service "$pkgdir"/usr/lib/systemd/system/quassel.service - install -Dm644 quassel.conf "$pkgdir"/etc/conf.d/quassel +package_quassel-core-light() { +pkgdesc="Next-generation distributed IRC client - core only (minimal dependencies)" +depends=('qt5-base' 'qt5-script') +backup=(etc/conf.d/quassel) +provides=('quassel-core') +install=quassel.install + cd "${srcdir}"/build + + make DESTDIR="${pkgdir}" install + + # Remove unneeded pixmap icons + rm -r "${pkgdir}"/usr/share + + install -Dm644 "${srcdir}"/${_pkgbase}.service \ + "${pkgdir}"/usr/lib/systemd/system/${_pkgbase}.service + install -Dm644 "${srcdir}"/${_pkgbase}.conf \ + "${pkgdir}"/etc/conf.d/${_pkgbase} +} + +package_quassel-client-light() { +pkgdesc="Next-generation distributed IRC client - client only (minimal dependencies)" +depends=('qt5-base') +provides=('quassel-client') +conflicts=('quassel-monolithic') +install=quassel-client.install + cd "${srcdir}"/build-client + + make DESTDIR="${pkgdir}" install +} + +package_quassel-monolithic-light() { +pkgdesc="Next-generation distributed IRC client - monolithic (minimal dependencies)" +depends=('qt5-base' 'qt5-script') +provides=('quassel-monolithic') +conflicts=('quassel-client') +install=quassel-monolithic.install + cd "${srcdir}"/build-mono + + make DESTDIR="${pkgdir}" install } diff --git a/quassel-client.install b/quassel-client.install new file mode 100644 index 000000000000..1c93ee3f9ef2 --- /dev/null +++ b/quassel-client.install @@ -0,0 +1,9 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} +post_upgrade() { + post_install +} +post_remove() { + post_install +} diff --git a/quassel-monolithic.install b/quassel-monolithic.install new file mode 100644 index 000000000000..1c93ee3f9ef2 --- /dev/null +++ b/quassel-monolithic.install @@ -0,0 +1,9 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} +post_upgrade() { + post_install +} +post_remove() { + post_install +} diff --git a/quassel.install b/quassel.install index d3af4659fefc..b6c2db3c09e0 100644 --- a/quassel.install +++ b/quassel.install @@ -1,14 +1,21 @@ post_install() { - useradd -r -s /bin/sh -d /var/lib/quassel quassel - mkdir -p /var/lib/quassel && chown -R quassel:quassel /var/lib/quassel - xdg-icon-resource forceupdate --theme hicolor &> /dev/null + useradd -r -s /bin/false -d /var/lib/quassel quassel + mkdir -p /var/lib/quassel && chown -R quassel:quassel /var/lib/quassel +# xdg-icon-resource forceupdate --theme hicolor &> /dev/null } -pre_remove() { - systemctl disable quassel.service - systemctl stop quassel.service +post_upgrade() { + [ `vercmp $2 0.5.2-1` -le 0 ] && ( + cat <<EOF + +==> - quasselcore now runs as the quassel user +==> - quasselcore now listens to port 127.0.0.1 by default +==> - both of above are configurable: /etc/conf.d/quassel +EOF + post_install + ) || true } post_remove() { - userdel quassel + userdel quassel } diff --git a/quassel.service b/quassel.service index eff018899287..9cf1a4329af8 100644 --- a/quassel.service +++ b/quassel.service @@ -1,12 +1,14 @@ [Unit] -Description=Quassel core service -After=network.target +Description=Quassel Core +After=network.target postgresql.service +Wants=postgresql.service [Service] -Type=simple User=quassel Group=quassel -ExecStart=/usr/bin/quasselcore --configdir=/var/lib/quassel --listen=0.0.0.0 +PIDFile=/var/run/quassel.pid +EnvironmentFile=/etc/conf.d/quassel +ExecStart=/usr/bin/quasselcore --listen=${LISTEN} --configdir=/var/lib/quassel [Install] WantedBy=multi-user.target |