Gentoo Archives: gentoo-commits

From: Johannes Huber <johu@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-irc/quassel/
Date: Mon, 25 Apr 2016 11:25:46
Message-Id: 1461583526.4108cf6e6c3c55351c8d0ba566f895893844a3c2.johu@gentoo
1 commit: 4108cf6e6c3c55351c8d0ba566f895893844a3c2
2 Author: Johannes Huber <johu <AT> gentoo <DOT> org>
3 AuthorDate: Mon Apr 25 11:24:32 2016 +0000
4 Commit: Johannes Huber <johu <AT> gentoo <DOT> org>
5 CommitDate: Mon Apr 25 11:25:26 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4108cf6e
7
8 net-irc/quassel: Version bump 0.12.4
9
10 Package-Manager: portage-2.2.28
11
12 net-irc/quassel/Manifest | 1 +
13 net-irc/quassel/quassel-0.12.4.ebuild | 222 ++++++++++++++++++++++++++++++++++
14 2 files changed, 223 insertions(+)
15
16 diff --git a/net-irc/quassel/Manifest b/net-irc/quassel/Manifest
17 index 3962e34..b80eb2a 100644
18 --- a/net-irc/quassel/Manifest
19 +++ b/net-irc/quassel/Manifest
20 @@ -1,2 +1,3 @@
21 DIST quassel-0.12.2.tar.bz2 3681838 SHA256 6bd6f79ecb88fb857bea7e89c767a3bd0f413ff01bae9298dd2e563478947897 SHA512 0c907982af0ba11af6ba5d075850149dc4d4df0c759a736dfaccdc01778958bd9b0137515c2d78a72a1b5aef6600cea47505de6ee905d83a51cf4e67d132911d WHIRLPOOL 947c47ab6a5db73fdda7d5e5fc3f618030e9c2cfd78f4f423b32332e6514b5c3b8d24423a6be8ee8bf81e2e4a973aa29578e776dba5e8f7ad947acbcb7aef497
22 DIST quassel-0.12.3.tar.bz2 3687078 SHA256 4d3ee91b85cce3d8df62faf55ad35bebd6fc45085ed6248b8a41d2858de3d434 SHA512 0cb5486c4a992cb4e5e84ec2cc15f11ac6e324fa7b3a4a0ddc1edd090adabcb30f8856b1f2f348bec34fdfa33bcfa0e8e14fb45898d11d954f501bb3ee4c8aa4 WHIRLPOOL 482c2afee0e24dee2f3e80cacb47c7f7642851c4f417723a73258579824331a265c56b5777bc79c47bd3af6a6747d33a00bb539894f64081165d75cb19b351cc
23 +DIST quassel-0.12.4.tar.bz2 3742639 SHA256 93e4e54cb3743cbe2e5684c2fcba94fd2bc2cd739f7672dee14341b49c29444d SHA512 66bc12a9634534e6492787172a199c774ef1642d1ddb268c24ed96608698628bca7b278021a006a4db76783b19b1e1dead9d019bb8a6cbe1e12b8857792e7b92 WHIRLPOOL 13a6078aa8f0a3d039e9c240c870a13744b3eb3324f45508f62a37aa8da13c0b00f94f53fe2602762503459a1110e3796673c104397b37297390cc406f2eaa66
24
25 diff --git a/net-irc/quassel/quassel-0.12.4.ebuild b/net-irc/quassel/quassel-0.12.4.ebuild
26 new file mode 100644
27 index 0000000..858a026
28 --- /dev/null
29 +++ b/net-irc/quassel/quassel-0.12.4.ebuild
30 @@ -0,0 +1,222 @@
31 +# Copyright 1999-2016 Gentoo Foundation
32 +# Distributed under the terms of the GNU General Public License v2
33 +# $Id$
34 +
35 +EAPI=6
36 +
37 +inherit cmake-utils eutils pax-utils systemd user versionator
38 +
39 +EGIT_REPO_URI="git://git.quassel-irc.org/quassel"
40 +[[ "${PV}" == "9999" ]] && inherit git-r3
41 +
42 +DESCRIPTION="Qt/KDE IRC client supporting a remote daemon for 24/7 connectivity"
43 +HOMEPAGE="http://quassel-irc.org/"
44 +[[ "${PV}" == "9999" ]] || SRC_URI="http://quassel-irc.org/pub/${P}.tar.bz2"
45 +
46 +LICENSE="GPL-3"
47 +KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-linux ~sparc-solaris"
48 +SLOT="0"
49 +IUSE="ayatana crypt dbus debug kde monolithic phonon postgres qt5 +server
50 +snorenotify +ssl syslog webkit X"
51 +
52 +SERVER_RDEPEND="
53 + qt5? (
54 + dev-qt/qtscript:5
55 + crypt? ( app-crypt/qca:2[openssl,qt5] )
56 + postgres? ( dev-qt/qtsql:5[postgres] )
57 + !postgres? ( dev-qt/qtsql:5[sqlite] dev-db/sqlite:3[threadsafe(+),-secure-delete] )
58 + )
59 + !qt5? (
60 + dev-qt/qtscript:4
61 + crypt? ( app-crypt/qca:2[openssl,qt4(+)] )
62 + postgres? ( dev-qt/qtsql:4[postgres] )
63 + !postgres? ( dev-qt/qtsql:4[sqlite] dev-db/sqlite:3[threadsafe(+),-secure-delete] )
64 + )
65 + syslog? ( virtual/logger )
66 +"
67 +
68 +GUI_RDEPEND="
69 + qt5? (
70 + dev-qt/qtgui:5
71 + dev-qt/qtwidgets:5
72 + dbus? (
73 + >=dev-libs/libdbusmenu-qt-0.9.3_pre20140619[qt5]
74 + dev-qt/qtdbus:5
75 + )
76 + kde? (
77 + kde-frameworks/kconfigwidgets:5
78 + kde-frameworks/kcoreaddons:5
79 + kde-frameworks/knotifications:5
80 + kde-frameworks/knotifyconfig:5
81 + kde-frameworks/ktextwidgets:5
82 + kde-frameworks/kwidgetsaddons:5
83 + kde-frameworks/kxmlgui:5
84 + kde-frameworks/sonnet:5
85 + )
86 + phonon? ( media-libs/phonon[qt5] )
87 + snorenotify? ( >=x11-libs/snorenotify-0.7.0 )
88 + webkit? ( dev-qt/qtwebkit:5 )
89 + )
90 + !qt5? (
91 + dev-qt/qtgui:4
92 + ayatana? ( dev-libs/libindicate-qt )
93 + dbus? (
94 + >=dev-libs/libdbusmenu-qt-0.9.3_pre20140619[qt4(+)]
95 + dev-qt/qtdbus:4
96 + kde? (
97 + kde-base/kdelibs:4
98 + kde-frameworks/oxygen-icons:*
99 + ayatana? ( kde-misc/plasma-widget-message-indicator )
100 + )
101 + )
102 + phonon? ( || ( media-libs/phonon[qt4] dev-qt/qtphonon:4 ) )
103 + webkit? ( dev-qt/qtwebkit:4 )
104 + )
105 +"
106 +
107 +RDEPEND="
108 + sys-libs/zlib
109 + qt5? (
110 + dev-qt/qtcore:5
111 + dev-qt/qtnetwork:5[ssl?]
112 + )
113 + !qt5? ( dev-qt/qtcore:4[ssl?] )
114 + monolithic? (
115 + ${SERVER_RDEPEND}
116 + ${GUI_RDEPEND}
117 + )
118 + !monolithic? (
119 + server? ( ${SERVER_RDEPEND} )
120 + X? ( ${GUI_RDEPEND} )
121 + )
122 +"
123 +DEPEND="${RDEPEND}
124 + qt5? (
125 + dev-qt/linguist-tools:5
126 + kde-frameworks/extra-cmake-modules
127 + )
128 +"
129 +
130 +DOCS=( AUTHORS ChangeLog README )
131 +
132 +REQUIRED_USE="
133 + || ( X server monolithic )
134 + ayatana? ( || ( X monolithic ) )
135 + crypt? ( || ( server monolithic ) )
136 + dbus? ( || ( X monolithic ) )
137 + kde? ( || ( X monolithic ) phonon )
138 + phonon? ( || ( X monolithic ) )
139 + postgres? ( || ( server monolithic ) )
140 + qt5? ( !ayatana )
141 + snorenotify? ( qt5 || ( X monolithic ) )
142 + syslog? ( || ( server monolithic ) )
143 + webkit? ( || ( X monolithic ) )
144 +"
145 +
146 +pkg_setup() {
147 + if use server; then
148 + QUASSEL_DIR=/var/lib/${PN}
149 + QUASSEL_USER=${PN}
150 + # create quassel:quassel user
151 + enewgroup "${QUASSEL_USER}"
152 + enewuser "${QUASSEL_USER}" -1 -1 "${QUASSEL_DIR}" "${QUASSEL_USER}"
153 + fi
154 +}
155 +
156 +src_configure() {
157 + local mycmakeargs=(
158 + $(cmake-utils_use_find_package ayatana IndicateQt)
159 + $(cmake-utils_use_find_package crypt QCA2)
160 + $(cmake-utils_use_find_package crypt QCA2-QT5)
161 + $(cmake-utils_use_find_package dbus dbusmenu-qt)
162 + $(cmake-utils_use_find_package dbus dbusmenu-qt5)
163 + -DWITH_KDE=$(usex kde)
164 + -DWITH_OXYGEN=$(usex !kde)
165 + -DWANT_MONO=$(usex monolithic)
166 + $(cmake-utils_use_find_package phonon Phonon)
167 + $(cmake-utils_use_find_package phonon Phonon4Qt5)
168 + -DUSE_QT5=$(usex qt5)
169 + -DWANT_CORE=$(usex server)
170 + $(cmake-utils_use_find_package snorenotify LibsnoreQt5)
171 + -DWITH_WEBKIT=$(usex webkit)
172 + -DWANT_QTCLIENT=$(usex X)
173 + -DEMBED_DATA=OFF
174 + -DCMAKE_SKIP_RPATH=ON
175 + )
176 +
177 + # Something broke upstream detection since Qt 5.5
178 + if use ssl ; then
179 + mycmakeargs+=("-DHAVE_SSL=TRUE")
180 + fi
181 +
182 + cmake-utils_src_configure
183 +}
184 +
185 +src_install() {
186 + cmake-utils_src_install
187 +
188 + if use server ; then
189 + # needs PAX marking wrt bug#346255
190 + pax-mark m "${ED}/usr/bin/quasselcore"
191 +
192 + # prepare folders in /var/
193 + keepdir "${QUASSEL_DIR}"
194 + fowners "${QUASSEL_USER}":"${QUASSEL_USER}" "${QUASSEL_DIR}"
195 +
196 + # init scripts & systemd unit
197 + newinitd "${FILESDIR}"/quasselcore.init quasselcore
198 + newconfd "${FILESDIR}"/quasselcore.conf quasselcore
199 + systemd_dounit "${FILESDIR}"/quasselcore.service
200 +
201 + # logrotate
202 + insinto /etc/logrotate.d
203 + newins "${FILESDIR}/quassel.logrotate" quassel
204 + fi
205 +}
206 +
207 +pkg_postinst() {
208 + if use monolithic && use ssl ; then
209 + elog "Information on how to enable SSL support for client/core connections"
210 + elog "is available at http://bugs.quassel-irc.org/wiki/quassel-irc."
211 + fi
212 +
213 + if use server; then
214 + einfo "If you want to generate SSL certificate remember to run:"
215 + einfo " emerge --config =${CATEGORY}/${PF}"
216 + fi
217 +
218 + if use server || use monolithic ; then
219 + einfo "Quassel can use net-misc/oidentd package if installed on your system."
220 + einfo "Consider installing it if you want to run quassel within identd daemon."
221 + fi
222 +
223 + # temporary info mesage
224 + if use server && [[ $(get_version_component_range 2 ${REPLACING_VERSIONS}) -lt 7 ]]; then
225 + echo
226 + ewarn "Please note that all configuration moved from"
227 + ewarn "/home/\${QUASSEL_USER}/.config/quassel-irc.org/"
228 + ewarn "to: ${QUASSEL_DIR}."
229 + echo
230 + ewarn "For migration, stop the core, move quasselcore files (pretty much"
231 + ewarn "everything apart from quasselclient.conf and settings.qss) into"
232 + ewarn "new location and then start server again."
233 + fi
234 +}
235 +
236 +pkg_config() {
237 + if use server && use ssl; then
238 + # generate the pem file only when it does not already exist
239 + if [ ! -f "${QUASSEL_DIR}/quasselCert.pem" ]; then
240 + einfo "Generating QUASSEL SSL certificate to: \"${QUASSEL_DIR}/quasselCert.pem\""
241 + openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
242 + -keyout "${QUASSEL_DIR}/quasselCert.pem" \
243 + -out "${QUASSEL_DIR}/quasselCert.pem"
244 + # permissions for the key
245 + chown ${QUASSEL_USER}:${QUASSEL_USER} "${QUASSEL_DIR}/quasselCert.pem"
246 + chmod 400 "${QUASSEL_DIR}/quasselCert.pem"
247 + else
248 + einfo "Certificate \"${QUASSEL_DIR}/quasselCert.pem\" already exists."
249 + einfo "Remove it if you want to create new one."
250 + fi
251 + fi
252 +}