FS#37003 - [quassel-client] Build separate packages with and without KDE integration

Attached to Project: Community Packages
Opened by Yaohan Chen (hagabaka) - Friday, 20 September 2013, 23:46 GMT
Last edited by Vesa Kaihlavirta (vegai) - Saturday, 28 September 2013, 21:50 GMT
Task Type Feature Request
Category Packages
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
Currently (0.9.0-2) the quassel-client package in repository does not have KDE integration, but is built with KDE integration if the user builds it manually with KDE installed. This is probably because kdelibs isn't in makedepends.

Some users use quassel with KDE while others not. There have been a bug report complaining KDE support is made mandatory, and a bug report complaining that the package does not have KDE integration.

 FS#24565  - [quassel] Package should be split into KDE and non-KDE variants
https://bugs.archlinux.org/task/24565

 FS#36052  - [quassel-client] built without KDE support
https://bugs.archlinux.org/task/36052

Therefore separate client packages, with and without KDE integration, should be provided.

The following PKGBUILD satisfies this request. It builds the client twice with different WITH_KDE values, and packages separately, similar to how core/gvim and core/vim packages are built.


# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>

pkgbase=quassel
pkgname=('quassel-client' 'quassel-client-kde' 'quassel-core')
pkgver=0.9.0
pkgrel=3
pkgdesc="QT4 irc client with a separated core"
arch=('i686' 'x86_64')
url="http://quassel-irc.org/"
license=('GPL')
makedepends=('cmake' 'automoc4' 'qt4' 'icu' 'kdelibs')
source=("http://quassel-irc.org/pub/quassel-$pkgver.tar.bz2"
'quassel.service'
'quassel.conf')

sha256sums=('2e3fe06ae3731c829aa3c2f6bb5320619bad264c831f322985c3aa3fe58b6027'
'91a1aaae47d41c11aa418dd560039ddbbfb659e02b86379d8c4789c5ada362d3'
'f3031ea8217e01ba42cea14606169e3e27affa5918968ffd5a03c21ae92fe2b8')
build() {
cd $srcdir
mkdir build
mkdir build-client
mkdir build-client-kde

# Core
cd $srcdir/build

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/ \
-DWITH_KDE=0 \
-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_WEBKIT=OFF \
-DCMAKE_BUILD_TYPE="Release" \
../quassel-${pkgver}/ \
-Wno-dev

make

# Client
cd $srcdir/build-client
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/ \
-DWITH_KDE=0 \
-DWITH_OPENSSL=ON \
-DCMAKE_BUILD_TYPE="Release" \
-DWANT_CORE=OFF \
-DWANT_QTCLIENT=ON \
-DWANT_MONO=ON \
../quassel-${pkgver}/ \
-Wno-dev

make

# Client with KDE integration
cd $srcdir/build-client-kde
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/ \
-DWITH_KDE=1 \
-DWITH_OPENSSL=ON \
-DCMAKE_BUILD_TYPE="Release" \
-DWANT_CORE=OFF \
-DWANT_QTCLIENT=ON \
-DWANT_MONO=ON \
../quassel-${pkgver}/ \
-Wno-dev

make

}

package_quassel-core() {
pkgdesc="Qt4 IRC client with a separated core - core only"
depends=('qt4' 'icu')
conflicts=('quassel-core-kde')
backup=(etc/conf.d/quassel)
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() {
pkgdesc="Qt4 IRC client with a separated core - client only"
depends=('qt4')
conflicts=('quassel-client-kde')
install=quassel-client.install
cd $srcdir/build-client

make DESTDIR=${pkgdir} install
}

package_quassel-client-kde() {
pkgdesc="Qt4 IRC client with a separated core - client only - with KDE integration"
depends=('qt4' 'kdelibs')
conflicts=('quassel-client')
provides=('quassel-client'=$pkgver-$pkgrel)
install=quassel-client.install
cd $srcdir/build-client-kde

make DESTDIR=${pkgdir} install
}
This task depends upon

Closed by  Vesa Kaihlavirta (vegai)
Saturday, 28 September 2013, 21:50 GMT
Reason for closing:  Won't implement
Comment by Yaohan Chen (hagabaka) - Friday, 20 September 2013, 23:50 GMT
Attached the PKGBUILD.

I realize  FS#24565  was closed as WONTFIX, but since I'm providing a PKGBUILD that implements it, I hoped you could reconsider. I couldn't attach the PKGBUILD by requesting reopen.
   PKGBUILD (2.8 KiB)
Comment by Vesa Kaihlavirta (vegai) - Saturday, 28 September 2013, 21:49 GMT
Thanks for the effort, but I think it's a more archy way to have just this one package with kde integration included. The problem of installing kdelibs is going to mitigated in some future, though, since it's going to be split up a bit.

Loading...