summaryrefslogtreecommitdiff
path: root/net-irc/quassel
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /net-irc/quassel
reinit the tree, so we can have metadata
Diffstat (limited to 'net-irc/quassel')
-rw-r--r--net-irc/quassel/Manifest12
-rw-r--r--net-irc/quassel/files/quassel.logrotate9
-rw-r--r--net-irc/quassel/files/quasselcore.conf21
-rw-r--r--net-irc/quassel/files/quasselcore.conf-r111
-rw-r--r--net-irc/quassel/files/quasselcore.init62
-rw-r--r--net-irc/quassel/files/quasselcore.init-r122
-rw-r--r--net-irc/quassel/files/quasselcore.service11
-rw-r--r--net-irc/quassel/metadata.xml56
-rw-r--r--net-irc/quassel/quassel-0.12.4.ebuild207
-rw-r--r--net-irc/quassel/quassel-9999.ebuild171
10 files changed, 582 insertions, 0 deletions
diff --git a/net-irc/quassel/Manifest b/net-irc/quassel/Manifest
new file mode 100644
index 000000000000..555738aae826
--- /dev/null
+++ b/net-irc/quassel/Manifest
@@ -0,0 +1,12 @@
+AUX quassel.logrotate 105 SHA256 00c32e857d7a4346d09ac057768565692da9cacf41ed37cc7e357b395e033a45 SHA512 60371b4046c3c20c06d01f9cbf3f8465b40c9a989f392ed3e5a4724deff71960015eeb1707817af256618be8085b2aa5809377fec8cfae59e6b8fc958317e780 WHIRLPOOL 5b5185a6a68c12ce08ec5b41bb10644e487308f81b3e5d554524b05f70573410e31b299ac5fcec8806390deb37d0529ac69c435d0fcbaac005e59aec5a4095c5
+AUX quasselcore.conf 607 SHA256 2939b389370db7a3512f26e4c60b302e7c063519bd2c8d1cc8a04dd281eec2ec SHA512 b1fd0382d83c5983f6266c7500ac12dc00b964ff1f104cb20de9dd40b93edcbf90f98f5ab3f6f2cb87e6be63580c3ab2958f2e3ae57eb9569c24c49d8506bc38 WHIRLPOOL 31ada0d0b9fc364030ab319b641917e1c084b7eb075b92090a4400e7f4430f660151c873cff6ca32c334942762947ce50a0889b66e9f8380d8d64aafd3a7478a
+AUX quasselcore.conf-r1 333 SHA256 7d7ea29e58f49a0cc56aa3df4cc54814a67510169ce6cefad7ad5e5493671df7 SHA512 7d3f320b5d5c9cc27db399a5460ea37f33688d523340d4509ebd2fcf20620b43d4b1a05cdb91fa07931798b18a2bdcee9f4f29c75e867bd4b5a7f170cd02ba90 WHIRLPOOL 1d680d8df581dcb63f41d26db4f0e7ae667afad116c4cd579188d89e3a5296f47ec263e53fab02651cd96009ada3221044760e3a379347cb9a26304b41d0795f
+AUX quasselcore.init 1742 SHA256 c9fa4401dc8f58fdaba8b71f75edbcf362431490f3c09a84ea80d3db0d0cb2e7 SHA512 eddd620b43439becc3f714854b7d1c9f9a65b4784325b11298c94c9f15b6e1fe2547f566f8ae2ebf1134d6361228bdb047964df3ae439d540d57d8864cdecd6d WHIRLPOOL 9757ee2da43e14b22d79d68da54cf4f17cf04cdd03c0919b20273963a3ae0a02ec281a5d6be6ea8ee37afb7841cc7a753b66a5747f8bac069f462b51c3944f18
+AUX quasselcore.init-r1 490 SHA256 f533256d8406754b1aa471f58087f5f8b266187de769def783c4ce86e85450c7 SHA512 71b2381e834d86a29269516270fe2463adfe59de16d9916d9cc496959e6931719262bf980763662bfb309acb79c6508ae33c61ceacd53be912d3161105ba0c69 WHIRLPOOL 25ee3a393660faedff0e55069a69bce7a841845c490615062f19ee8597df9b11560014067f527905ca16022f0616a365489cb462e795002a2c4dc75731d66af0
+AUX quasselcore.service 189 SHA256 33c71f621f69f2eb6a5c613b979238c085a1e1aef3ee162011341c1a26821dae SHA512 3f0e15582dca70ca11beddb50aa6c6d993d4283ff89dc83a84b1acf2c0d2edba306fdab30eb05937f363cf507e34b7f884e0852d88be68748b68ac7b4013b776 WHIRLPOOL 97e88e0581d064305390a7e093bc550f1fcad9a782ca7d7bae941aa56d9f6fbd72a98d67c0d85b3cf6f17d282ddc76e4c61ddc83a2ee14079b4643f8b29cb5fd
+DIST quassel-0.12.4.tar.bz2 3742639 SHA256 93e4e54cb3743cbe2e5684c2fcba94fd2bc2cd739f7672dee14341b49c29444d SHA512 66bc12a9634534e6492787172a199c774ef1642d1ddb268c24ed96608698628bca7b278021a006a4db76783b19b1e1dead9d019bb8a6cbe1e12b8857792e7b92 WHIRLPOOL 13a6078aa8f0a3d039e9c240c870a13744b3eb3324f45508f62a37aa8da13c0b00f94f53fe2602762503459a1110e3796673c104397b37297390cc406f2eaa66
+EBUILD quassel-0.12.4.ebuild 5569 SHA256 628e0bfb2ebe1f586a19af44f8a82dc5dacf95ae98a39778e2010a7aa280690f SHA512 5ccaeb6cb5f237d2fdd3b03102b410d71b029333c73938acc8a07edba21abbb521d7b01568a5c118c2176f65e5116f2bea3b1716841aeec262e76b1672ad56a7 WHIRLPOOL fa17861b2d59942ddf7bb5e61e1ef4339f7872dfb2e1e62d34494bc980f353429369539a785b6d5f5c4075c694b986f41a33d35447a2f2a6fd7fca531259be35
+EBUILD quassel-9999.ebuild 4677 SHA256 ad9df842153c0e2c6a138aa4b1a66020ef87247f48bbf57adac063df8047a050 SHA512 bb9cba8ce7b1389e51ab42c76e14419ec8b5adce5716cff68c4faec7343580099a24a8af5f38f8d4efa4931a224b8924a32bf88bce9cd1ca4d075cbe8fc7359f WHIRLPOOL a2685d11ac5890aa683f44dec753235254bbe6897a829c6d1056c8a9f5287d1abcf1dddb99ce308266be81fa43853eb5fca3b9304dee5ef720b7fb0a034bab72
+MISC ChangeLog 8551 SHA256 380523247326e53489799a60accf1e1d5f287e7bf63bdaa5c70847da1c848596 SHA512 d38a4cc3578fa19fc901f94aad58b9e57dbc81a9c161f8e6f9fd8dbae83e11c86b14ad855a505b5ca53086d4c3ba1616d23bb38a7f72f229154bf33d83371fd9 WHIRLPOOL 0832a8889e45cfc404d2001e1675d9f6086ef983e2c09137420365f11aed4c7155a15a3f8b23a142b43b302ec8d09a16c61ffe7f4f4bb4c92a91010c0bc4e7c7
+MISC ChangeLog-2015 33096 SHA256 73e43554c4b61045c50b6edc224d0aa77068a764b71defadb4bde57419acba53 SHA512 3a3a7ed10b819b958b6906982e7496d55c46f870239ae6309c521de86c917b8868ea31111236d17d9737a296fa1b1e3d529dee15c4c0dd1321160cf1b8d06194 WHIRLPOOL 5006e2dff2334ff22ac0f323981f6650f4576ad103ba487c7ff48bebbd8691d6feeb4865a0a474e676b50763b35b13cc83ed7e6b1dc000eb0f9ced79eaf6834f
+MISC metadata.xml 1942 SHA256 05bd446a5ebec8d501520873ea2b64802fc74f39bd41df8d65bb75e5d03da3d9 SHA512 abf82cf9fe2bd552c1b26591e20da212cc3a118f6fb4ac92df8340d6ad5c7b6757e9290f8c6e8175dd95384b385dfd0399d6693d7fe6dc480b5a6d6f9b851d05 WHIRLPOOL 90c77de4ce540bff43cd606c4e992f98c587d178878eac3c56c4b21ad6f02ab1e28aace2ff58d3ea5eeab3da5ec58951b5db7358fddd024a1449fd8d96a61726
diff --git a/net-irc/quassel/files/quassel.logrotate b/net-irc/quassel/files/quassel.logrotate
new file mode 100644
index 000000000000..8e7208350020
--- /dev/null
+++ b/net-irc/quassel/files/quassel.logrotate
@@ -0,0 +1,9 @@
+/var/log/quassel.log {
+ compress
+ rotate 4
+ weekly
+ delaycompress
+ copytruncate
+ missingok
+ notifempty
+}
diff --git a/net-irc/quassel/files/quasselcore.conf b/net-irc/quassel/files/quasselcore.conf
new file mode 100644
index 000000000000..960203500fe4
--- /dev/null
+++ b/net-irc/quassel/files/quasselcore.conf
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Loglevel Debug|Info|Warning|Error. Default is: Info
+# The logfile is located at /var/log/quassel.log.
+#LOGLEVEL="Info"
+
+# The address(es) quasselcore will listen on. Default is 0.0.0.0
+#LISTEN="0.0.0.0"
+
+# The port quasselcore will listen at. Default is: 4242
+#PORT="4242"
+
+# User we want our daemon to run under.
+#QUASSEL_USER="quassel"
+
+# Directory we store all quasselcore content.
+#CONFIGDIR="/var/lib/quassel"
+
+# File quasselcore will log all its events into.
+#LOGFILE="/var/log/quassel.log"
diff --git a/net-irc/quassel/files/quasselcore.conf-r1 b/net-irc/quassel/files/quasselcore.conf-r1
new file mode 100644
index 000000000000..29e14467a8f3
--- /dev/null
+++ b/net-irc/quassel/files/quasselcore.conf-r1
@@ -0,0 +1,11 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Loglevel Debug|Info|Warning|Error. Default is: Info
+#LOGLEVEL="Info"
+
+# The address(es) quasselcore will listen on. Default is 0.0.0.0
+#LISTEN="0.0.0.0"
+
+# The port quasselcore will listen at. Default is: 4242
+#PORT="4242"
diff --git a/net-irc/quassel/files/quasselcore.init b/net-irc/quassel/files/quasselcore.init
new file mode 100644
index 000000000000..468c24ec2990
--- /dev/null
+++ b/net-irc/quassel/files/quasselcore.init
@@ -0,0 +1,62 @@
+#!/sbin/openrc-run
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need localmount net
+ after bootmisc postgres
+}
+
+CORE="$(which quasselcore)"
+PID="/var/run/quassel.pid"
+LOGFILE=${LOGFILE:-"/var/log/quassel.log"}
+CONFIGDIR=${CONFIGDIR:-"/var/lib/quassel"}
+QUASSEL_USER=${QUASSEL_USER:-"quassel"}
+
+checkconfig() {
+ # set defaults
+ LOGLEVEL=${LOGLEVEL:-"Info"}
+
+ # check config folder
+ if [ ! -d "${CONFIGDIR}" ]; then
+ mkdir "${CONFIGDIR}" || return 1
+ fi
+ # permissions always changed just to avoid runtime issues
+ chown -R "${QUASSEL_USER}":"${QUASSEL_USER}" "${CONFIGDIR}" || return 1
+
+ # check log file
+ if [ ! -e "${LOGFILE}" ]; then
+ touch "${LOGFILE}" || return 1
+ fi
+ # permissions always changed just to avoid runtime issues
+ chown "${QUASSEL_USER}":"${QUASSEL_USER}" "${LOGFILE}" || return 1
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting Quassel Core"
+
+ if [ -n "${RC_UNAME}" ]; then
+ # running on baselayout-2/openrc
+ start-stop-daemon --start --user "${QUASSEL_USER}" --background --make-pidfile \
+ --pidfile "${PID}" \
+ --exec "${CORE}" -- --logfile="${LOGFILE}" --loglevel="${LOGLEVEL}" \
+ ${LISTEN:+--listen="${LISTEN}"} ${PORT:+--port="${PORT}"} \
+ --configdir="${CONFIGDIR}"
+ else
+ # running on baselayout-1
+ start-stop-daemon --start --chuid "${QUASSEL_USER}" --background --make-pidfile \
+ --pidfile "${PID}" --env HOME="${CONFIGDIR}" \
+ --exec "${CORE}" -- --logfile="${LOGFILE}" --loglevel="${LOGLEVEL}" \
+ ${LISTEN:+--listen="${LISTEN}"} ${PORT:+--port="${PORT}"} \
+ --configdir="${CONFIGDIR}"
+ fi
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Quassel Core"
+ start-stop-daemon --stop --pidfile "${PID}" --exec "${CORE}"
+ eend $?
+}
diff --git a/net-irc/quassel/files/quasselcore.init-r1 b/net-irc/quassel/files/quasselcore.init-r1
new file mode 100644
index 000000000000..5976235aafa4
--- /dev/null
+++ b/net-irc/quassel/files/quasselcore.init-r1
@@ -0,0 +1,22 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ after logger postgres
+}
+
+LISTEN=${LISTEN:-"0.0.0.0"}
+LOGLEVEL=${LOGLEVEL:-"Info"}
+PORT=${PORT:="4242"}
+
+command="/usr/bin/quasselcore"
+command_args="--configdir=/var/lib/quassel
+ --listen=${LISTEN}
+ --loglevel=${LOGLEVEL}
+ --port=${PORT}
+ --syslog"
+command_background="yes"
+command_user="quassel"
+description="Quassel Core"
+pidfile="/run/quassel.pid"
diff --git a/net-irc/quassel/files/quasselcore.service b/net-irc/quassel/files/quasselcore.service
new file mode 100644
index 000000000000..f5b49ab0373b
--- /dev/null
+++ b/net-irc/quassel/files/quasselcore.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Quassel Core
+After=network.target
+
+[Service]
+User=quassel
+Group=quassel
+ExecStart=/usr/bin/quasselcore --configdir=/var/lib/quassel
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-irc/quassel/metadata.xml b/net-irc/quassel/metadata.xml
new file mode 100644
index 000000000000..973e5423b38c
--- /dev/null
+++ b/net-irc/quassel/metadata.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>johu@gentoo.org</email>
+ <name>Johannes Huber</name>
+ </maintainer>
+ <use>
+ <flag name="breeze">
+ Support the Breeze and Breeze-Dark icon sets (default for Plasma 5).
+ </flag>
+ <flag name="crypt">
+ Support core-&gt;network per-channel and per-query blowfish
+ encryption via <pkg>app-crypt/qca</pkg> SLOT 2.
+ </flag>
+ <flag name="dbus">
+ Support desktop notifications via the StatusNotifier D-Bus service
+ (used by most modern desktop environments).
+ </flag>
+ <flag name="monolithic">
+ Build standalone client with integrated core, no external
+ quasselcore needed. Only useful if you don't want to use Quassel's
+ client/server model. The server and X flags are not needed in this
+ case but it is possible to enable them too.
+ </flag>
+ <flag name="oxygen">
+ Support the Oxygen icon set that was the default for KDE4.
+ </flag>
+ <flag name="phonon">
+ Build client with phonon backend support. This enables sound
+ playback in client.
+ </flag>
+ <flag name="server">
+ Build the server binary. If this USE flag is disabled, the
+ 'core' server binary for quassel is not built, and cannot be
+ 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="urlpreview">
+ Use QtWebEngine rendering engine for showing URL thumbnails.
+ </flag>
+ <flag name="X">
+ Build the Qt5 GUI client for quassel. If this USE flag is
+ disabled, the GUI is not built, and cannot be used. You might
+ want to disable this on the server, but you need it enabled on
+ the client.
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/net-irc/quassel/quassel-0.12.4.ebuild b/net-irc/quassel/quassel-0.12.4.ebuild
new file mode 100644
index 000000000000..4b8e4eb39bec
--- /dev/null
+++ b/net-irc/quassel/quassel-0.12.4.ebuild
@@ -0,0 +1,207 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils eutils pax-utils systemd user versionator
+
+EGIT_REPO_URI=( "https://github.com/${PN}/${PN}" "git://git.${PN}-irc.org/${PN}" )
+[[ "${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 ~arm ~ppc x86 ~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[qt5,ssl] )
+ 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[qt4,ssl] )
+ 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-frameworks/kdelibs:4
+ kde-frameworks/oxygen-icons:*
+ )
+ )
+ phonon? ( media-libs/phonon[qt4] )
+ )
+"
+
+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? ( qt5 || ( 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)
+ -DWITH_KDE=$(usex kde)
+ -DWITH_OXYGEN=$(usex !kde)
+ -DWANT_MONO=$(usex monolithic)
+ $(cmake-utils_use_find_package phonon Phonon)
+ $(cmake-utils_use_find_package phonon Phonon4Qt5)
+ -DUSE_QT5=$(usex qt5)
+ -DWANT_CORE=$(usex server)
+ $(cmake-utils_use_find_package snorenotify LibsnoreQt5)
+ -DWITH_WEBKIT=$(usex webkit)
+ -DWANT_QTCLIENT=$(usex X)
+ -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
+}
+
+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
+}
diff --git a/net-irc/quassel/quassel-9999.ebuild b/net-irc/quassel/quassel-9999.ebuild
new file mode 100644
index 000000000000..7bf54b67a40a
--- /dev/null
+++ b/net-irc/quassel/quassel-9999.ebuild
@@ -0,0 +1,171 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils eutils pax-utils systemd user
+
+EGIT_REPO_URI=( "https://github.com/${PN}/${PN}" "git://git.${PN}-irc.org/${PN}" )
+[[ "${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"
+SLOT="0"
+KEYWORDS=""
+IUSE="+breeze crypt +dbus debug kde monolithic oxygen postgres +server snorenotify +ssl syslog urlpreview X"
+
+SERVER_RDEPEND="
+ dev-qt/qtscript:5
+ crypt? ( app-crypt/qca:2[qt5,ssl] )
+ postgres? ( dev-qt/qtsql:5[postgres] )
+ !postgres? ( dev-qt/qtsql:5[sqlite] dev-db/sqlite:3[threadsafe(+),-secure-delete] )
+ syslog? ( virtual/logger )
+"
+
+GUI_RDEPEND="
+ dev-qt/qtgui:5
+ dev-qt/qtmultimedia:5
+ dev-qt/qtwidgets:5
+ breeze? ( kde-frameworks/breeze-icons: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
+ )
+ oxygen? ( kde-frameworks/oxygen-icons:5 )
+ snorenotify? ( >=x11-libs/snorenotify-0.7.0 )
+ urlpreview? ( dev-qt/qtwebengine:5[widgets] )
+"
+
+RDEPEND="
+ sys-libs/zlib
+ dev-qt/qtcore:5
+ dev-qt/qtnetwork:5[ssl?]
+ monolithic? (
+ ${SERVER_RDEPEND}
+ ${GUI_RDEPEND}
+ )
+ !monolithic? (
+ server? ( ${SERVER_RDEPEND} )
+ X? ( ${GUI_RDEPEND} )
+ )
+"
+DEPEND="${RDEPEND}
+ dev-qt/linguist-tools:5
+ kde-frameworks/extra-cmake-modules
+"
+
+DOCS=( AUTHORS ChangeLog README.md )
+
+REQUIRED_USE="
+ || ( X server monolithic )
+ crypt? ( || ( server monolithic ) )
+ kde? ( || ( X monolithic ) )
+ monolithic? ( || ( breeze oxygen ) )
+ postgres? ( || ( server monolithic ) )
+ snorenotify? ( || ( X monolithic ) )
+ syslog? ( || ( server monolithic ) )
+ X? ( || ( breeze oxygen ) )
+"
+
+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=(
+ -DUSE_QT4=OFF
+ -DUSE_QT5=ON
+ -DWANT_CORE=$(usex server)
+ -DWANT_MONO=$(usex monolithic)
+ -DWANT_QTCLIENT=$(usex X)
+ -DWITH_KDE=$(usex kde)
+ -DWITH_WEBKIT=OFF
+ -DWITH_WEBENGINE=$(usex urlpreview)
+ -DWITH_BREEZE=OFF
+ -DWITH_BREEZE_DARK=OFF
+ -DWITH_OXYGEN=OFF
+ -DEMBED_DATA=OFF
+ -DCMAKE_SKIP_RPATH=ON
+ $(cmake-utils_use_find_package crypt QCA2-QT5)
+ $(cmake-utils_use_find_package dbus dbusmenu-qt5)
+ $(cmake-utils_use_find_package snorenotify LibsnoreQt5)
+ )
+
+ 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/projects/quassel-irc/wiki/Client-Core_SSL_support."
+ 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
+}
+
+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
+}