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: Tue, 10 Jul 2018 11:45:13
Message-Id: 1531223087.1de60a2d90655fdfd9fccdcff3664cc3b5bf055c.johu@gentoo
1 commit: 1de60a2d90655fdfd9fccdcff3664cc3b5bf055c
2 Author: Johannes Huber <johu <AT> gentoo <DOT> org>
3 AuthorDate: Tue Jul 10 11:42:28 2018 +0000
4 Commit: Johannes Huber <johu <AT> gentoo <DOT> org>
5 CommitDate: Tue Jul 10 11:44:47 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1de60a2d
7
8 net-irc/quassel: Fix automagic dep on qtwebengine
9
10 Revision bump backports use flag 'urlpreview' from live ebuild which
11 controls dependency on qtwebengine. Drops legacy webkit support as well.
12
13 Reported-by: Chí-Thanh Christopher Nguyễn <chithanh <AT> gentoo.org>
14 Closes: https://bugs.gentoo.org/660444
15 Package-Manager: Portage-2.3.41, Repoman-2.3.9
16
17 net-irc/quassel/quassel-0.12.5-r2.ebuild | 184 +++++++++++++++++++++++++++++++
18 1 file changed, 184 insertions(+)
19
20 diff --git a/net-irc/quassel/quassel-0.12.5-r2.ebuild b/net-irc/quassel/quassel-0.12.5-r2.ebuild
21 new file mode 100644
22 index 00000000000..8be168a8ed6
23 --- /dev/null
24 +++ b/net-irc/quassel/quassel-0.12.5-r2.ebuild
25 @@ -0,0 +1,184 @@
26 +# Copyright 1999-2018 Gentoo Foundation
27 +# Distributed under the terms of the GNU General Public License v2
28 +
29 +EAPI=6
30 +
31 +inherit cmake-utils gnome2-utils pax-utils systemd user versionator
32 +
33 +if [[ ${PV} != *9999* ]]; then
34 + SRC_URI="http://quassel-irc.org/pub/${P}.tar.bz2"
35 + KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-linux ~sparc-solaris"
36 +else
37 + EGIT_REPO_URI=( "https://github.com/${PN}/${PN}" "git://git.${PN}-irc.org/${PN}" )
38 + inherit git-r3
39 +fi
40 +
41 +DESCRIPTION="Qt/KDE IRC client supporting a remote daemon for 24/7 connectivity"
42 +HOMEPAGE="http://quassel-irc.org/"
43 +LICENSE="GPL-3"
44 +SLOT="0"
45 +IUSE="crypt dbus debug kde monolithic phonon postgres +server
46 +snorenotify +ssl syslog urlpreview X"
47 +
48 +SERVER_RDEPEND="
49 + dev-qt/qtscript:5
50 + crypt? ( app-crypt/qca:2[qt5(+),ssl] )
51 + postgres? ( dev-qt/qtsql:5[postgres] )
52 + !postgres? ( dev-qt/qtsql:5[sqlite] dev-db/sqlite:3[threadsafe(+),-secure-delete] )
53 + syslog? ( virtual/logger )
54 +"
55 +
56 +GUI_RDEPEND="
57 + dev-qt/qtgui:5
58 + dev-qt/qtwidgets:5
59 + dbus? (
60 + >=dev-libs/libdbusmenu-qt-0.9.3_pre20140619[qt5(+)]
61 + dev-qt/qtdbus:5
62 + )
63 + kde? (
64 + kde-frameworks/kconfigwidgets:5
65 + kde-frameworks/kcoreaddons:5
66 + kde-frameworks/knotifications:5
67 + kde-frameworks/knotifyconfig:5
68 + kde-frameworks/ktextwidgets:5
69 + kde-frameworks/kwidgetsaddons:5
70 + kde-frameworks/kxmlgui:5
71 + kde-frameworks/sonnet:5
72 + )
73 + phonon? ( media-libs/phonon[qt5(+)] )
74 + snorenotify? ( >=x11-libs/snorenotify-0.7.0 )
75 + urlpreview? ( dev-qt/qtwebengine:5[widgets] )
76 +"
77 +
78 +RDEPEND="
79 + dev-qt/qtcore:5
80 + dev-qt/qtnetwork:5[ssl?]
81 + sys-libs/zlib
82 + monolithic? (
83 + ${SERVER_RDEPEND}
84 + ${GUI_RDEPEND}
85 + )
86 + !monolithic? (
87 + server? ( ${SERVER_RDEPEND} )
88 + X? ( ${GUI_RDEPEND} )
89 + )
90 +"
91 +DEPEND="${RDEPEND}
92 + dev-qt/linguist-tools:5
93 + kde-frameworks/extra-cmake-modules
94 +"
95 +
96 +DOCS=( AUTHORS ChangeLog README.md )
97 +
98 +REQUIRED_USE="
99 + || ( X server monolithic )
100 + crypt? ( || ( server monolithic ) )
101 + dbus? ( || ( X monolithic ) )
102 + kde? ( || ( X monolithic ) dbus phonon )
103 + phonon? ( || ( X monolithic ) )
104 + postgres? ( || ( server monolithic ) )
105 + snorenotify? ( || ( X monolithic ) )
106 + syslog? ( || ( server monolithic ) )
107 +"
108 +
109 +PATCHES=( "${FILESDIR}/${P}-qt511.patch" )
110 +
111 +pkg_setup() {
112 + if use server; then
113 + QUASSEL_DIR=/var/lib/${PN}
114 + QUASSEL_USER=${PN}
115 + # create quassel:quassel user
116 + enewgroup "${QUASSEL_USER}"
117 + enewuser "${QUASSEL_USER}" -1 -1 "${QUASSEL_DIR}" "${QUASSEL_USER}"
118 + fi
119 +}
120 +
121 +src_configure() {
122 + local mycmakeargs=(
123 + -DUSE_QT5=ON
124 + -DEMBED_DATA=OFF
125 + -DCMAKE_SKIP_RPATH=ON
126 + -DWITH_WEBKIT=OFF
127 + $(cmake-utils_use_find_package crypt QCA2-QT5)
128 + $(cmake-utils_use_find_package dbus dbusmenu-qt5)
129 + $(cmake-utils_use_find_package dbus Qt5DBus)
130 + -DWITH_KDE=$(usex kde)
131 + -DWITH_OXYGEN=$(usex !kde)
132 + -DWANT_MONO=$(usex monolithic)
133 + $(cmake-utils_use_find_package phonon Phonon4Qt5)
134 + -DWANT_CORE=$(usex server)
135 + $(cmake-utils_use_find_package snorenotify LibsnoreQt5)
136 + -DWITH_WEBENGINE=$(usex urlpreview)
137 + -DWANT_QTCLIENT=$(usex X)
138 + )
139 +
140 + # Something broke upstream detection since Qt 5.5
141 + if use ssl ; then
142 + mycmakeargs+=( "-DHAVE_SSL=TRUE" )
143 + fi
144 +
145 + cmake-utils_src_configure
146 +}
147 +
148 +src_install() {
149 + cmake-utils_src_install
150 +
151 + if use server ; then
152 + # needs PAX marking wrt bug#346255
153 + pax-mark m "${ED}/usr/bin/quasselcore"
154 +
155 + # prepare folders in /var/
156 + keepdir "${QUASSEL_DIR}"
157 + fowners "${QUASSEL_USER}":"${QUASSEL_USER}" "${QUASSEL_DIR}"
158 +
159 + # init scripts & systemd unit
160 + newinitd "${FILESDIR}"/quasselcore.init-r1 quasselcore
161 + newconfd "${FILESDIR}"/quasselcore.conf-r1 quasselcore
162 + systemd_dounit "${FILESDIR}"/quasselcore.service
163 +
164 + # logrotate
165 + insinto /etc/logrotate.d
166 + newins "${FILESDIR}/quassel.logrotate" quassel
167 + fi
168 +}
169 +
170 +pkg_postinst() {
171 + if use monolithic && use ssl ; then
172 + elog "Information on how to enable SSL support for client/core connections"
173 + elog "is available at http://bugs.quassel-irc.org/projects/quassel-irc/wiki/Client-Core_SSL_support."
174 + fi
175 +
176 + if use server; then
177 + einfo "If you want to generate SSL certificate remember to run:"
178 + einfo " emerge --config =${CATEGORY}/${PF}"
179 + fi
180 +
181 + if use server || use monolithic ; then
182 + einfo "Quassel can use net-misc/oidentd package if installed on your system."
183 + einfo "Consider installing it if you want to run quassel within identd daemon."
184 + fi
185 +
186 + gnome2_icon_cache_update
187 +}
188 +
189 +pkg_postrm() {
190 + gnome2_icon_cache_update
191 +}
192 +
193 +pkg_config() {
194 + if use server && use ssl; then
195 + # generate the pem file only when it does not already exist
196 + if [ ! -f "${QUASSEL_DIR}/quasselCert.pem" ]; then
197 + einfo "Generating QUASSEL SSL certificate to: \"${QUASSEL_DIR}/quasselCert.pem\""
198 + openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
199 + -keyout "${QUASSEL_DIR}/quasselCert.pem" \
200 + -out "${QUASSEL_DIR}/quasselCert.pem"
201 + # permissions for the key
202 + chown ${QUASSEL_USER}:${QUASSEL_USER} "${QUASSEL_DIR}/quasselCert.pem"
203 + chmod 400 "${QUASSEL_DIR}/quasselCert.pem"
204 + else
205 + einfo "Certificate \"${QUASSEL_DIR}/quasselCert.pem\" already exists."
206 + einfo "Remove it if you want to create new one."
207 + fi
208 + fi
209 +}