[net-im/spectrum] sync with tree
This commit is contained in:
parent
e84d7c7ca8
commit
6c3eff76fc
@ -2,30 +2,46 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
command="/usr/bin/${RC_SVCNAME}_manager"
|
||||
command_args="start"
|
||||
command_background="true"
|
||||
command="/usr/bin/spectrum2_manager"
|
||||
command_group="spectrum"
|
||||
command_user="spectrum"
|
||||
name="Spectrum2 Transport"
|
||||
pidfile="/run/${RC_SVCNAME}/${RC_SVCNAME}_manager.pid"
|
||||
shell="/bin/sh"
|
||||
su="/bin/su"
|
||||
|
||||
depend() {
|
||||
need net
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting ${name}"
|
||||
"${su}" "${command_user}" -c "${command} start" -s "${shell}"
|
||||
eend $?
|
||||
}
|
||||
|
||||
start_pre() {
|
||||
checkpath -d -o "${command_user}:${command_group}" -q "/run/${RC_SVCNAME}"
|
||||
# Ensure /run/spectrum2 dir is owned by spectrum user.
|
||||
# spectrum2_manager stores pidfiles of individual services here.
|
||||
# See security related comment at the bottom.
|
||||
checkpath -d -o "${command_user}:${command_group}" -q "/run/spectrum2"
|
||||
}
|
||||
|
||||
status() {
|
||||
ebegin "Status Spectrum2 Transport"
|
||||
${command} status
|
||||
ebegin "Status ${name}"
|
||||
"${su}" "${command_user}" -c "${command} status" -s "${shell}"
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping Spectrum2 Transport"
|
||||
${command} stop
|
||||
ebegin "Stopping ${name}"
|
||||
"${su}" "${command_user}" -c "${command} stop" -s "${shell}"
|
||||
eend $?
|
||||
}
|
||||
|
||||
# Andrey Utkin <andrey_utkin@gentoo.org> (24 Nov 2018)
|
||||
# Conrad Kostecki <conrad@kostecki.com> (24 Nov 2018)
|
||||
# We are aware of many security issues caused by careless chowning, see
|
||||
# http://michael.orlitzky.com/articles/end_root_chowning_now_(make_etc-init.d_great_again).xhtml
|
||||
# We believe none of these issues apply.
|
||||
# These pidfiles are not read by any privileged process.
|
||||
# checkpath here chowns only the dir itself and doesn't act recursively.
|
||||
|
12
net-im/spectrum/files/spectrum2.service
Normal file
12
net-im/spectrum/files/spectrum2.service
Normal file
@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Spectrum2 Transport
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/spectrum2_manager start
|
||||
ExecStop=/usr/bin/spectrum2_manager stop
|
||||
User=spectrum
|
||||
Group=spectrum
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
1
net-im/spectrum/files/spectrum2.tmpfiles
Normal file
1
net-im/spectrum/files/spectrum2.tmpfiles
Normal file
@ -0,0 +1 @@
|
||||
d /run/spectrum2 0700 specturm spectrum - -
|
@ -1,55 +0,0 @@
|
||||
--- a/CMakeLists.txt 2018-02-07 11:57:43.000000000 +0100
|
||||
+++ b/CMakeLists.txt 2018-04-04 22:12:33.000000000 +0200
|
||||
@@ -200,8 +200,7 @@
|
||||
set(Communi_DIR "${CMAKE_SOURCE_DIR}/cmake_modules")
|
||||
find_package(Communi)
|
||||
|
||||
- INCLUDE(FindQt4)
|
||||
- FIND_PACKAGE(Qt4 COMPONENTS QtCore QtNetwork)
|
||||
+ FIND_PACKAGE(Qt5 COMPONENTS Core Network)
|
||||
# ADD_DEFINITIONS(${SWIFTEN_CFLAGS})
|
||||
ADD_DEFINITIONS(-DSUPPORT_LEGACY_CAPS)
|
||||
# ADD_DEFINITIONS(-DBOOST_FILESYSTEM_VERSION=2)
|
||||
@@ -341,7 +340,6 @@
|
||||
message("IRC plugin : yes")
|
||||
include_directories(${QT_QTNETWORK_INCLUDE_DIR})
|
||||
include_directories(${IRC_INCLUDE_DIR})
|
||||
- include(${QT_USE_FILE})
|
||||
else()
|
||||
if(ENABLE_IRC)
|
||||
message("IRC plugin : no (install libCommuni and libprotobuf-dev)")
|
||||
--- a/backends/libcommuni/CMakeLists.txt 2018-02-07 11:57:43.000000000 +0100
|
||||
+++ b/backends/libcommuni/CMakeLists.txt 2018-04-04 22:20:11.000000000 +0200
|
||||
@@ -1,14 +1,15 @@
|
||||
cmake_minimum_required(VERSION 2.6)
|
||||
+find_package(Qt5Network REQUIRED)
|
||||
FILE(GLOB SRC *.cpp)
|
||||
FILE(GLOB HEADERS *.h)
|
||||
-QT4_WRAP_CPP(SRC ${HEADERS} OPTIONS -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED)
|
||||
-add_definitions(-DQT_NO_KEYWORDS)
|
||||
+QT5_WRAP_CPP(SRC ${HEADERS} OPTIONS -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED)
|
||||
ADD_EXECUTABLE(spectrum2_libcommuni_backend ${SRC})
|
||||
+include_directories(${Qt5Core_INCLUDE_DIRS} ${Qt5Network_INCLUDE_DIRS})
|
||||
|
||||
if (NOT WIN32)
|
||||
- target_link_libraries(spectrum2_libcommuni_backend ${IRC_LIBRARY} Qt4::QtNetwork Qt4::QtCore transport pthread)
|
||||
+ target_link_libraries(spectrum2_libcommuni_backend ${IRC_LIBRARY} Qt5::Network Qt5::Core transport pthread)
|
||||
else ()
|
||||
- target_link_libraries(spectrum2_libcommuni_backend ${IRC_LIBRARY} Qt4::QtNetwork Qt4::QtCore transport)
|
||||
+ target_link_libraries(spectrum2_libcommuni_backend ${IRC_LIBRARY} Qt5::Network Qt5::Core transport)
|
||||
endif()
|
||||
INSTALL(TARGETS spectrum2_libcommuni_backend RUNTIME DESTINATION bin)
|
||||
|
||||
--- a/cmake_modules/FindCommuni.cmake 2018-02-07 11:57:43.000000000 +0100
|
||||
+++ b/cmake_modules/FindCommuni.cmake 2018-04-04 22:14:07.000000000 +0200
|
||||
@@ -1,8 +1,7 @@
|
||||
-find_package(Qt4)
|
||||
-include( ${QT_USE_FILE} )
|
||||
+find_package(Qt5Network)
|
||||
|
||||
FIND_LIBRARY(IRC_LIBRARY NAMES IrcCore PATHS ${QT_LIBRARY_DIR})
|
||||
-FIND_PATH(IRC_INCLUDE_DIR NAMES "IrcCore/ircglobal.h" PATHS ${QT_INCLUDE_DIR} PATH_SUFFIXES Communi)
|
||||
+FIND_PATH(IRC_INCLUDE_DIR NAMES "IrcCore/ircglobal.h" PATHS ${Qt5Core_INCLUDE_DIRS} ${Qt5Core_INCLUDE_DIRS}"/.." PATH_SUFFIXES Communi)
|
||||
|
||||
# message( STATUS ${IRC_LIBRARY})
|
||||
if( IRC_LIBRARY AND IRC_INCLUDE_DIR )
|
@ -1,9 +1,10 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit cmake-utils user
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit cmake-utils python-single-r1 systemd user
|
||||
|
||||
if [[ ${PV} = "9999" ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/SpectrumIM/${PN}2.git"
|
||||
@ -23,56 +24,64 @@ SLOT="0"
|
||||
IUSE="debug doc frotz irc mysql postgres purple sms +sqlite test twitter whatsapp xmpp"
|
||||
REQUIRED_USE="|| ( mysql postgres sqlite )"
|
||||
|
||||
DEPEND_RDEPEND="
|
||||
RDEPEND="
|
||||
dev-libs/boost:=
|
||||
dev-libs/expat
|
||||
dev-libs/libev:=
|
||||
dev-libs/log4cxx
|
||||
dev-libs/jsoncpp:=
|
||||
dev-libs/openssl:0=
|
||||
dev-libs/popt
|
||||
dev-libs/protobuf:=
|
||||
net-dns/libidn:0=
|
||||
net-im/swift:=
|
||||
net-misc/curl
|
||||
sys-libs/zlib:=
|
||||
frotz? ( !games-engines/frotz )
|
||||
irc? ( net-im/libcommuni )
|
||||
mysql? ( || ( dev-db/mariadb-connector-c dev-db/mysql-connector-c ) )
|
||||
postgres? ( dev-db/postgresql:= )
|
||||
purple? ( dev-libs/glib
|
||||
dev-libs/libev:=
|
||||
net-im/pidgin:= )
|
||||
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 )
|
||||
twitter? ( net-misc/curl )
|
||||
whatsapp? ( net-im/transwhat )
|
||||
xmpp? ( net-im/swift:= )"
|
||||
whatsapp? ( net-im/transwhat )"
|
||||
|
||||
DEPEND="
|
||||
${DEPEND_RDEPEND}
|
||||
${PYTHON_DEPS}
|
||||
${RDEPEND}
|
||||
doc? ( app-doc/doxygen )
|
||||
test? ( dev-util/cppunit )
|
||||
test? (
|
||||
dev-python/sleekxmpp[${PYTHON_USEDEP}]
|
||||
dev-util/cppunit
|
||||
net-irc/ngircd
|
||||
)
|
||||
"
|
||||
|
||||
RDEPEND="${DEPEND_BOTH}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/remove_debug_cflags.patch"
|
||||
"${FILESDIR}/use_qt5_libcommuni.patch"
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup spectrum
|
||||
enewuser spectrum -1 -1 /var/lib/spectrum2 spectrum
|
||||
|
||||
use test && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Respect users LDFLAGS
|
||||
sed -i -e "s/-Wl,-export-dynamic/& ${LDFLAGS}/" spectrum/src/CMakeLists.txt || die
|
||||
|
||||
# Respect users CFLAGS, when compiling for debug mode.
|
||||
# Since Spectrum2 searches for a qt4 compiled libcommuni,
|
||||
# it must be patched, to find the qt5 compiled libcommuni.
|
||||
# See: https://github.com/SpectrumIM/spectrum2/pull/253
|
||||
# Respect users CFLAGS, when compiling for debug mode
|
||||
cmake-utils_src_prepare
|
||||
}
|
||||
|
||||
@ -97,14 +106,20 @@ src_configure() {
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cd tests/libtransport && "${EPYTHON}" ../start.py || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake-utils_src_install
|
||||
|
||||
einstalldocs
|
||||
|
||||
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
|
||||
systemd_newtmpfilesd "${FILESDIR}"/spectrum2.tmpfiles spectrum2.conf
|
||||
|
||||
einstalldocs
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user