net-irc/quassel: Add use flag snorenotify
authorJohannes Huber <johu@gentoo.org>
Sat, 12 Mar 2016 13:16:32 +0000 (14:16 +0100)
committerJohannes Huber <johu@gentoo.org>
Sat, 12 Mar 2016 13:16:55 +0000 (14:16 +0100)
Gentoo-bug: 574496
Reported-by: Michael Palimaka <kensington@gentoo.org>
Package-Manager: portage-2.2.28

net-irc/quassel/metadata.xml
net-irc/quassel/quassel-0.12.2-r3.ebuild
net-irc/quassel/quassel-0.12.3-r1.ebuild [new file with mode: 0644]
net-irc/quassel/quassel-0.12.3.ebuild
net-irc/quassel/quassel-9999.ebuild

index f6e13eadffbc430bd80f9c0624f6dfa4f4c7a537..096fe544213c41d5d0ab17b7dad6f48790e5753b 100644 (file)
@@ -26,6 +26,9 @@
                        used. You need this enabled on the server, but you might want to
                        disable it on the client.
                </flag>
+               <flag name="snorenotify">
+                       Support for snore notification framework.
+               </flag>
                <flag name="webkit">
                        Use qt-webkit rendering engine for showing URL thumbnails and
                        for other things that need web browser integration.
index a11aa28e34b2451fb84b10fdfd6f056f9d1e1ace..a3f57441cb2b082bbf8f28f90b84aa3f8bf24d9b 100644 (file)
@@ -63,7 +63,7 @@ GUI_RDEPEND="
                        dev-qt/qtdbus:4
                        kde? (
                                kde-base/kdelibs:4
-                               kde-frameworks/oxygen-icons
+                               kde-frameworks/oxygen-icons:*
                                ayatana? ( kde-misc/plasma-widget-message-indicator )
                        )
                )
diff --git a/net-irc/quassel/quassel-0.12.3-r1.ebuild b/net-irc/quassel/quassel-0.12.3-r1.ebuild
new file mode 100644 (file)
index 0000000..82a7f06
--- /dev/null
@@ -0,0 +1,222 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils eutils pax-utils systemd user versionator
+
+EGIT_REPO_URI="git://git.quassel-irc.org/quassel"
+[[ "${PV}" == "9999" ]] && inherit git-r3
+
+DESCRIPTION="Qt/KDE IRC client supporting a remote daemon for 24/7 connectivity"
+HOMEPAGE="http://quassel-irc.org/"
+[[ "${PV}" == "9999" ]] || SRC_URI="http://quassel-irc.org/pub/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~amd64-linux ~sparc-solaris"
+SLOT="0"
+IUSE="ayatana crypt dbus debug kde monolithic phonon postgres qt5 +server
+snorenotify +ssl syslog webkit X"
+
+SERVER_RDEPEND="
+       qt5? (
+               dev-qt/qtscript:5
+               crypt? ( app-crypt/qca:2[openssl,qt5] )
+               postgres? ( dev-qt/qtsql:5[postgres] )
+               !postgres? ( dev-qt/qtsql:5[sqlite] dev-db/sqlite:3[threadsafe(+),-secure-delete] )
+       )
+       !qt5? (
+               dev-qt/qtscript:4
+               crypt? ( app-crypt/qca:2[openssl,qt4(+)] )
+               postgres? ( dev-qt/qtsql:4[postgres] )
+               !postgres? ( dev-qt/qtsql:4[sqlite] dev-db/sqlite:3[threadsafe(+),-secure-delete] )
+       )
+       syslog? ( virtual/logger )
+"
+
+GUI_RDEPEND="
+       qt5? (
+               dev-qt/qtgui:5
+               dev-qt/qtwidgets:5
+               dbus? (
+                       >=dev-libs/libdbusmenu-qt-0.9.3_pre20140619[qt5]
+                       dev-qt/qtdbus:5
+               )
+               kde? (
+                       kde-frameworks/kconfigwidgets:5
+                       kde-frameworks/kcoreaddons:5
+                       kde-frameworks/knotifications:5
+                       kde-frameworks/knotifyconfig:5
+                       kde-frameworks/ktextwidgets:5
+                       kde-frameworks/kwidgetsaddons:5
+                       kde-frameworks/kxmlgui:5
+                       kde-frameworks/sonnet:5
+               )
+               phonon? ( media-libs/phonon[qt5] )
+               snorenotify? ( >=x11-libs/snorenotify-0.7.0 )
+               webkit? ( dev-qt/qtwebkit:5 )
+       )
+       !qt5? (
+               dev-qt/qtgui:4
+               ayatana? ( dev-libs/libindicate-qt )
+               dbus? (
+                       >=dev-libs/libdbusmenu-qt-0.9.3_pre20140619[qt4(+)]
+                       dev-qt/qtdbus:4
+                       kde? (
+                               kde-base/kdelibs:4
+                               kde-frameworks/oxygen-icons:*
+                               ayatana? ( kde-misc/plasma-widget-message-indicator )
+                       )
+               )
+               phonon? ( || ( media-libs/phonon[qt4] dev-qt/qtphonon:4 ) )
+               webkit? ( dev-qt/qtwebkit:4 )
+       )
+"
+
+RDEPEND="
+       sys-libs/zlib
+       qt5? (
+               dev-qt/qtcore:5
+               dev-qt/qtnetwork:5[ssl?]
+       )
+       !qt5? ( dev-qt/qtcore:4[ssl?] )
+       monolithic? (
+               ${SERVER_RDEPEND}
+               ${GUI_RDEPEND}
+       )
+       !monolithic? (
+               server? ( ${SERVER_RDEPEND} )
+               X? ( ${GUI_RDEPEND} )
+       )
+"
+DEPEND="${RDEPEND}
+       qt5? (
+               dev-qt/linguist-tools:5
+               kde-frameworks/extra-cmake-modules
+       )
+"
+
+DOCS=( AUTHORS ChangeLog README )
+
+REQUIRED_USE="
+       || ( X server monolithic )
+       ayatana? ( || ( X monolithic ) )
+       crypt? ( || ( server monolithic ) )
+       dbus? ( || ( X monolithic ) )
+       kde? ( || ( X monolithic ) phonon )
+       phonon? ( || ( X monolithic ) )
+       postgres? ( || ( server monolithic ) )
+       qt5? ( !ayatana )
+       snorenotify? ( qt5 || ( X monolithic ) )
+       syslog? ( || ( server monolithic ) )
+       webkit? ( || ( X monolithic ) )
+"
+
+pkg_setup() {
+       if use server; then
+               QUASSEL_DIR=/var/lib/${PN}
+               QUASSEL_USER=${PN}
+               # create quassel:quassel user
+               enewgroup "${QUASSEL_USER}"
+               enewuser "${QUASSEL_USER}" -1 -1 "${QUASSEL_DIR}" "${QUASSEL_USER}"
+       fi
+}
+
+src_configure() {
+       local mycmakeargs=(
+               $(cmake-utils_use_find_package ayatana IndicateQt)
+               $(cmake-utils_use_find_package crypt QCA2)
+               $(cmake-utils_use_find_package crypt QCA2-QT5)
+               $(cmake-utils_use_find_package dbus dbusmenu-qt)
+               $(cmake-utils_use_find_package dbus dbusmenu-qt5)
+               $(cmake-utils_use_with kde)
+               $(cmake-utils_use_with !kde OXYGEN)
+               $(cmake-utils_use_want monolithic MONO)
+               $(cmake-utils_use_find_package phonon)
+               $(cmake-utils_use_find_package phonon Phonon4Qt5)
+               $(cmake-utils_use_use qt5)
+               $(cmake-utils_use_want server CORE)
+               $(cmake-utils_use_find_package snorenotify LibsnoreQt5)
+               $(cmake-utils_use_with webkit)
+               $(cmake-utils_use_want X QTCLIENT)
+               -DEMBED_DATA=OFF
+               -DCMAKE_SKIP_RPATH=ON
+       )
+
+       # Something broke upstream detection since Qt 5.5
+       if use ssl ; then
+               mycmakeargs+=("-DHAVE_SSL=TRUE")
+       fi
+
+       cmake-utils_src_configure
+}
+
+src_install() {
+       cmake-utils_src_install
+
+       if use server ; then
+               # needs PAX marking wrt bug#346255
+               pax-mark m "${ED}/usr/bin/quasselcore"
+
+               # prepare folders in /var/
+               keepdir "${QUASSEL_DIR}"
+               fowners "${QUASSEL_USER}":"${QUASSEL_USER}" "${QUASSEL_DIR}"
+
+               # init scripts & systemd unit
+               newinitd "${FILESDIR}"/quasselcore.init quasselcore
+               newconfd "${FILESDIR}"/quasselcore.conf quasselcore
+               systemd_dounit "${FILESDIR}"/quasselcore.service
+
+               # logrotate
+               insinto /etc/logrotate.d
+               newins "${FILESDIR}/quassel.logrotate" quassel
+       fi
+}
+
+pkg_postinst() {
+       if use monolithic && use ssl ; then
+               elog "Information on how to enable SSL support for client/core connections"
+               elog "is available at http://bugs.quassel-irc.org/wiki/quassel-irc."
+       fi
+
+       if use server; then
+               einfo "If you want to generate SSL certificate remember to run:"
+               einfo " emerge --config =${CATEGORY}/${PF}"
+       fi
+
+       if use server || use monolithic ; then
+               einfo "Quassel can use net-misc/oidentd package if installed on your system."
+               einfo "Consider installing it if you want to run quassel within identd daemon."
+       fi
+
+       # temporary info mesage
+       if use server && [[ $(get_version_component_range 2 ${REPLACING_VERSIONS}) -lt 7 ]]; then
+               echo
+               ewarn "Please note that all configuration moved from"
+               ewarn "/home/\${QUASSEL_USER}/.config/quassel-irc.org/"
+               ewarn "to: ${QUASSEL_DIR}."
+               echo
+               ewarn "For migration, stop the core, move quasselcore files (pretty much"
+               ewarn "everything apart from quasselclient.conf and settings.qss) into"
+               ewarn "new location and then start server again."
+       fi
+}
+
+pkg_config() {
+       if use server && use ssl; then
+               # generate the pem file only when it does not already exist
+               if [ ! -f "${QUASSEL_DIR}/quasselCert.pem" ]; then
+                       einfo "Generating QUASSEL SSL certificate to: \"${QUASSEL_DIR}/quasselCert.pem\""
+                       openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
+                               -keyout "${QUASSEL_DIR}/quasselCert.pem" \
+                               -out "${QUASSEL_DIR}/quasselCert.pem"
+                       # permissions for the key
+                       chown ${QUASSEL_USER}:${QUASSEL_USER} "${QUASSEL_DIR}/quasselCert.pem"
+                       chmod 400 "${QUASSEL_DIR}/quasselCert.pem"
+               else
+                       einfo "Certificate \"${QUASSEL_DIR}/quasselCert.pem\" already exists."
+                       einfo "Remove it if you want to create new one."
+               fi
+       fi
+}
index ffede264fdc95df2dac0103b356c4478b65fe7a4..793d9057f78609de1d43490da05099618640b6ef 100644 (file)
@@ -63,7 +63,7 @@ GUI_RDEPEND="
                        dev-qt/qtdbus:4
                        kde? (
                                kde-base/kdelibs:4
-                               kde-frameworks/oxygen-icons
+                               kde-frameworks/oxygen-icons:*
                                ayatana? ( kde-misc/plasma-widget-message-indicator )
                        )
                )
index d55c1a81afca0bba72e9269cfbeafcbdd6cf0f68..cdca48ca19d96f7aa95b16bf55ea45d4c93ee554 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -16,7 +16,8 @@ HOMEPAGE="http://quassel-irc.org/"
 LICENSE="GPL-3"
 KEYWORDS=""
 SLOT="0"
-IUSE="ayatana crypt dbus debug kde monolithic phonon postgres qt5 +server +ssl syslog webkit X"
+IUSE="ayatana crypt dbus debug kde monolithic phonon postgres qt5 +server
+snorenotify +ssl syslog webkit X"
 
 SERVER_RDEPEND="
        qt5? (
@@ -53,6 +54,7 @@ GUI_RDEPEND="
                        kde-frameworks/sonnet:5
                )
                phonon? ( media-libs/phonon[qt5] )
+               snorenotify? ( >=x11-libs/snorenotify-0.7.0 )
                webkit? ( dev-qt/qtwebkit:5 )
        )
        !qt5? (
@@ -63,7 +65,7 @@ GUI_RDEPEND="
                        dev-qt/qtdbus:4
                        kde? (
                                kde-base/kdelibs:4
-                               kde-frameworks/oxygen-icons
+                               kde-frameworks/oxygen-icons:*
                                ayatana? ( kde-misc/plasma-widget-message-indicator )
                        )
                )
@@ -106,6 +108,7 @@ REQUIRED_USE="
        phonon? ( || ( X monolithic ) )
        postgres? ( || ( server monolithic ) )
        qt5? ( !ayatana )
+       snorenotify? ( qt5 || ( X monolithic ) )
        syslog? ( || ( server monolithic ) )
        webkit? ( || ( X monolithic ) )
 "
@@ -134,6 +137,7 @@ src_configure() {
                $(cmake-utils_use_find_package phonon Phonon4Qt5)
                $(cmake-utils_use_use qt5)
                $(cmake-utils_use_want server CORE)
+               $(cmake-utils_use_find_package snorenotify LibsnoreQt5)
                $(cmake-utils_use_with webkit)
                $(cmake-utils_use_want X QTCLIENT)
                -DEMBED_DATA=OFF