diff options
author | Conrad Kostecki <conikost@gentoo.org> | 2021-01-26 18:46:33 +0100 |
---|---|---|
committer | Conrad Kostecki <conikost@gentoo.org> | 2021-01-26 18:48:35 +0100 |
commit | 0627ace426453e33e7c25cee06997274a002a127 (patch) | |
tree | 6cc9c4c3e11b5cd0070f1d99cb605c10ca2429dd /net-im | |
parent | dev-ml/ocamlweb: QA Flags ignored (diff) | |
download | gentoo-0627ace426453e33e7c25cee06997274a002a127.tar.gz gentoo-0627ace426453e33e7c25cee06997274a002a127.tar.bz2 gentoo-0627ace426453e33e7c25cee06997274a002a127.zip |
net-im/prosody: fix checkconfig on slotted lua
Closes: https://bugs.gentoo.org/767202
Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
Diffstat (limited to 'net-im')
-rw-r--r-- | net-im/prosody/files/prosody.initd-r5 | 44 | ||||
-rw-r--r-- | net-im/prosody/prosody-0.11.7-r101.ebuild | 103 |
2 files changed, 147 insertions, 0 deletions
diff --git a/net-im/prosody/files/prosody.initd-r5 b/net-im/prosody/files/prosody.initd-r5 new file mode 100644 index 000000000000..54e37be5bd8c --- /dev/null +++ b/net-im/prosody/files/prosody.initd-r5 @@ -0,0 +1,44 @@ +#!/sbin/openrc-run +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +name="Prosody XMPP server" +extra_started_commands="reload" +jabber_pid="/run/jabber" +jabber_logs="/var/log/jabber" +pidfile="${jabber_pid}/prosody.pid" +prosody_config="/etc/jabber/prosody.cfg.lua" + +command="/usr/bin/prosody" +commandctl="/usr/bin/prosodyctl" +command_group="jabber" +command_user="jabber" + +checkconfig() { + if [ ! -f "${prosody_config}" ]; then + eerror "Please create ${prosody_config} before starting Prosody!" + return 1 + fi + + ${commandctl} check config + return $? +} + +depend() { + need net + provide jabber-server + use dns postgresql +} + +reload() { + ebegin "Reloading configuration" + start-stop-daemon --signal HUP --pidfile "${pidfile}" + eend $? +} + +start_pre() { + checkconfig || return 1 + + checkpath -d -m 0750 -o "${command_user}:${command_group}" -q "${jabber_logs}" + checkpath -d -m 0750 -o "${command_user}:${command_group}" -q "${jabber_pid}" +} diff --git a/net-im/prosody/prosody-0.11.7-r101.ebuild b/net-im/prosody/prosody-0.11.7-r101.ebuild new file mode 100644 index 000000000000..28fe617959eb --- /dev/null +++ b/net-im/prosody/prosody-0.11.7-r101.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +LUA_COMPAT=( lua5-{1..3} luajit ) +LUA_REQ_USE="deprecated(+)" + +inherit lua-single systemd tmpfiles toolchain-funcs + +DESCRIPTION="Prosody is a modern XMPP communication server" +HOMEPAGE="https://prosody.im/" +SRC_URI="https://prosody.im/downloads/source/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 arm arm64 x86" +IUSE="icu +idn +libevent libressl mysql postgres +sqlite +ssl test +zlib" +REQUIRED_USE=" + ^^ ( icu idn ) + ${LUA_REQUIRED_USE} +" +RESTRICT="!test? ( test )" + +RDEPEND=" + $(lua_gen_cond_dep 'dev-lua/luaexpat[${LUA_USEDEP}]') + $(lua_gen_cond_dep 'dev-lua/luafilesystem[${LUA_USEDEP}]') + $(lua_gen_cond_dep 'dev-lua/luasocket[${LUA_USEDEP}]') + net-im/jabber-base + icu? ( dev-libs/icu:= ) + idn? ( net-dns/libidn:= ) + libevent? ( $(lua_gen_cond_dep 'dev-lua/luaevent[${LUA_USEDEP}]') ) + libressl? ( dev-libs/libressl:= ) + !libressl? ( dev-libs/openssl:0= ) + lua_single_target_lua5-1? ( $(lua_gen_cond_dep 'dev-lua/lua-bit32[lua_targets_lua5-1(-)]') ) + mysql? ( $(lua_gen_cond_dep 'dev-lua/luadbi[mysql,${LUA_USEDEP}]') ) + postgres? ( $(lua_gen_cond_dep 'dev-lua/luadbi[postgres,${LUA_USEDEP}]') ) + sqlite? ( $(lua_gen_cond_dep 'dev-lua/luadbi[sqlite,${LUA_USEDEP}]') ) + ssl? ( $(lua_gen_cond_dep 'dev-lua/luasec[${LUA_USEDEP}]') ) + zlib? ( $(lua_gen_cond_dep 'dev-lua/lua-zlib[${LUA_USEDEP}]') ) + ${LUA_DEPS} +" + +DEPEND="${RDEPEND}" + +BDEPEND=" + virtual/pkgconfig + test? ( $(lua_gen_cond_dep 'dev-lua/busted[${LUA_USEDEP}]') ) +" + +PATCHES=( + "${FILESDIR}/${PN}-0.11.7-bit32.patch" + "${FILESDIR}/${PN}-0.11.7-gentoo.patch" +) + +src_prepare() { + default + + # Set correct plugin path for optional net-im/prosody-modules package + sed -e "s/GENTOO_LIBDIR/$(get_libdir)/g" -i prosody.cfg.lua.dist || die +} + +src_configure() { + local myeconfargs=( + --add-cflags="${CFLAGS}" + --add-ldflags="${LDFLAGS}" + --c-compiler="$(tc-getCC)" + --datadir="${EPREFIX}/var/spool/jabber" + --idn-library="$(usex idn 'idn' 'icu')" + --libdir="${EPREFIX}/usr/$(get_libdir)" + --linker="$(tc-getCC)" + --lua-version="$(usex lua_single_target_luajit '5.1' $(ver_cut 1-2 $(lua_get_version)))" + --no-example-certs + --ostype="linux" + --prefix="${EPREFIX}/usr" + --runwith="${ELUA}" + --sysconfdir="${EPREFIX}/etc/jabber" + --with-lua-include="${EPREFIX}/$(lua_get_include_dir)" + --with-lua-lib="${EPREFIX}/$(lua_get_cmod_dir)" + ) + + # Since the configure script is handcrafted, + # and yells at unknown options, do not use 'econf'. + ./configure "${myeconfargs[@]}" || die + + rm makefile || die + mv GNUmakefile Makefile || die +} + +src_install() { + default + + keepdir /var/spool/jabber + + newinitd "${FILESDIR}"/prosody.initd-r5 prosody + systemd_newunit "${FILESDIR}"/prosody.service-r2 prosody.service + + newtmpfiles "${FILESDIR}"/prosody.tmpfilesd-r1 prosody.conf +} + +pkg_postinst() { + tmpfiles_process prosody.conf +} |