blob: 070cf7bf30383aef039b482b490c19632cc70359 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake eapi9-ver systemd tmpfiles
DESCRIPTION="An open source instant messaging transport"
HOMEPAGE="https://spectrum.im"
if [[ ${PV} == *_p* ]]; then
COMMIT="e77233cd1c6dc93b52b88be1b6ebe2b77713d1db"
COMMIT_DATE="2026-07-27"
SRC_URI="https://github.com/SpectrumIM/${PN}/archive/${COMMIT}.tar.gz -> ${P}.gh.tar.gz"
S="${WORKDIR}/${PN}-${COMMIT}"
else
SRC_URI="https://github.com/SpectrumIM/spectrum2/archive/${PV}.tar.gz -> ${P}.tar.gz"
fi
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64"
IUSE="doc frotz irc mysql postgres purple sms +sqlite test xmpp"
REQUIRED_USE="
|| ( mysql postgres sqlite )
test? ( irc )
"
RESTRICT="!test? ( test )"
RDEPEND="
acct-group/spectrum
acct-user/spectrum
!dev-cpp/fbthrift
dev-libs/boost:=[nls]
dev-libs/expat
dev-libs/libev:=
>=dev-libs/log4cxx-1.0.0:=
dev-libs/jsoncpp:=
dev-libs/openssl:=
dev-libs/popt
dev-libs/protobuf:=
net-dns/libidn:=
>=net-im/swift-4.0.2-r2:=
net-misc/curl
virtual/zlib:=
frotz? ( games-engines/frotz )
irc? (
dev-qt/qtbase:6[network]
net-im/libcommuni
)
mysql? (
|| (
dev-db/mariadb-connector-c
dev-db/mysql-connector-c
)
)
postgres? ( dev-libs/libpqxx:= )
purple? (
dev-libs/glib
net-im/pidgin:=
)
sms? ( app-mobilephone/smstools )
sqlite? ( dev-db/sqlite:3 )
"
DEPEND="
${RDEPEND}
doc? ( app-text/doxygen )
test? ( dev-util/cppunit )
"
PATCHES=(
"${FILESDIR}"/${PN}-2.2.1-boost-1.87.patch
"${FILESDIR}"/${PN}-2.2.1-boost-1.89.patch
"${FILESDIR}"/${PN}-2.2.1-cmake.patch
"${FILESDIR}"/${PN}-2.2.1-findjsoncpp.patch
"${FILESDIR}"/${PN}-2.2.1-cmake-ld-typo.patch
)
src_prepare() {
cmake_src_prepare
# Respect users LDFLAGS
sed -i -e "s/-Wl,--export-dynamic/& ${LDFLAGS}/" spectrum/src/CMakeLists.txt || die
}
src_configure() {
local mycmakeargs=(
-DCMAKE_INSTALL_LOCALSTATEDIR="${EPREFIX}/var"
-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
-DENABLE_DOCS="$(usex doc)"
-DENABLE_FROTZ="$(usex frotz)"
-DENABLE_IRC="$(usex irc)"
$(usex irc '-DENABLE_QT6=ON' '')
-DENABLE_MYSQL="$(usex mysql)"
-DENABLE_PQXX="$(usex postgres)"
-DENABLE_PURPLE="$(usex purple)"
-DENABLE_SMSTOOLS3="$(usex sms)"
-DENABLE_SQLITE3="$(usex sqlite)"
-DENABLE_TESTS="$(usex test)"
-DENABLE_XMPP="$(usex xmpp)"
-DENABLE_SLACK_FRONTEND=OFF
)
cmake_src_configure
}
src_test() {
cd "${BUILD_DIR}/tests/libtransport" || die
./libtransport_test || die
}
src_install() {
cmake_src_install
diropts -o spectrum -g spectrum
keepdir /var/log/spectrum2 /var/lib/spectrum2
diropts
newinitd "${FILESDIR}"/spectrum2.initd spectrum2
systemd_newunit "${FILESDIR}"/spectrum2.service spectrum2.service
newtmpfiles "${FILESDIR}"/spectrum2.tmpfiles-r1 spectrum2.conf
einstalldocs
}
pkg_postinst() {
tmpfiles_process spectrum2.conf
if ver_replacing -lt 2.2.0; then
ewarn "Starting with Release 2.2.0, the path for spectrum2"
ewarn "executable helper files has been changed from '/usr/bin'"
ewarn "to '/usr/libexec'. Please update your config files!"
fi
}
|