@@ -, +, @@ --- net-irc/inspircd/Manifest | 1 + .../files/inspircd-2.0.23-fix-path-builds.patch | 253 +++++++++++++++++++++ net-irc/inspircd/files/inspircd-2.0.23-init | 39 ++++ net-irc/inspircd/inspircd-2.0.23.ebuild | 102 +++++++++ 4 files changed, 395 insertions(+) create mode 100644 net-irc/inspircd/files/inspircd-2.0.23-fix-path-builds.patch create mode 100644 net-irc/inspircd/files/inspircd-2.0.23-init create mode 100644 net-irc/inspircd/inspircd-2.0.23.ebuild --- a/net-irc/inspircd/Manifest +++ a/net-irc/inspircd/Manifest @@ -1,2 +1,3 @@ DIST inspircd-2.0.20.tar.gz 728970 SHA256 5156e2da5da4cfa377705ecd633aee41cdcd785d12627497d55cab5f70dd686f SHA512 85463f7df379e5c7e190b4cc7ea67a80d5c4e5799c68abf2329e8204239dbed7258d11c97e5138039a8002f18ca0bd75ffc5c362b02cc27170adaf8cda6acc7e WHIRLPOOL 7eb8d3ca23c203431794ac18e65037e696638f54a0df8f2efbf590e87017e31f7a4f37926352cb4a613e6d58fb0d76ebf44a78ca6d39d093d66b46b57330b541 DIST inspircd-2.0.21.tar.gz 730417 SHA256 bc2f861d754754a108797699319186130ef7d909204eb56ab2c3b1ae80c9d6c5 SHA512 28f38e8195d5cb6e7c7f2c4bcff2f0fcc13fb462a26975269faf899af7228c3ece2002ee819d0d5e2242ae5687a8e198e82cace8b3ff75521a44f12ac29ade0f WHIRLPOOL e1d7ee44a4900a26c2307d431fd62e0b13a8ba56388fa3e2edb10754c6bea5426625b4008162adc203c984e36b9e99ed656622bc21aae4195574514edc9b678e +DIST inspircd-2.0.23.tar.gz 731695 SHA256 522b31fc80e8fd90b66837bf50f8a941233709d5b1fc9c0b3c47a413fb69f162 SHA512 93a3dab04e797cfde158de8c2e959d1bb5df115aa3fe5a4066cdf9f56cb0c548fd2664a12d61bf2dbdb45549577974be99a0d6ffc6114c72cf0697f5ca4f85bb WHIRLPOOL 9ac288624835e8cf97cf3634df47c4310c6929691b4bfb39139cb0a6c45a7503e1c73addf7f6eaef03d77e52d53a78f8efd648ddb3b5ee9023c4bdee045ac4a1 --- a/net-irc/inspircd/files/inspircd-2.0.23-fix-path-builds.patch +++ a/net-irc/inspircd/files/inspircd-2.0.23-fix-path-builds.patch @@ -0,0 +1,253 @@ +diff -Nuar a/docs/conf/inspircd.conf.example b/docs/conf/inspircd.conf.example +--- a/docs/conf/inspircd.conf.example 2015-05-10 00:24:10.000000000 -0500 @@ -0,0 +1,39 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +extra_commands="rehash version" + +depend() { + need net + provide ircd +} + +start() { + ebegin "Starting InspIRCd" + checkpath -d -m 0750 -o inspircd:inspircd /var/run/inspircd + start-stop-daemon --start --quiet --user inspircd \ + --exec /usr/bin/inspircd -- \ + --config /etc/inspircd/inspircd.conf \ + --logfile /var/log/inspircd/ircd.log + eend $? +} + +stop() { + ebegin "Stopping InspIRCd" + start-stop-daemon --stop --quiet --exec /usr/bin/inspircd + eend $? +} + +rehash() { + ebegin "Rehashing InspIRCd" + /usr/lib/inspircd/inspircd rehash + eend $? +} + +version() { + ebegin "Retrieve InspIRCd version" + /usr/lib/inspircd/inspircd version + eend $? +} --- a/net-irc/inspircd/inspircd-2.0.23.ebuild +++ a/net-irc/inspircd/inspircd-2.0.23.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit toolchain-funcs user + +DESCRIPTION="Inspire IRCd - The Stable, High-Performance Modular IRCd" +HOMEPAGE="https://inspircd.github.com/" +SRC_URI="https://github.com/inspircd/inspircd/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +IUSE="geoip gnutls ipv6 ldap mysql pcre posix postgres sqlite ssl tre" + +RDEPEND=" + dev-lang/perl + ssl? ( dev-libs/openssl:= ) + geoip? ( dev-libs/geoip ) + gnutls? ( net-libs/gnutls dev-libs/libgcrypt:0 ) + ldap? ( net-nds/openldap ) + mysql? ( virtual/mysql ) + postgres? ( dev-db/postgresql:= ) + pcre? ( dev-libs/libpcre ) + sqlite? ( >=dev-db/sqlite-3.0 ) + tre? ( dev-libs/tre )" +DEPEND="${RDEPEND}" + +PATCHES=( "${FILESDIR}"/${P}-fix-path-builds.patch ) + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 -1 ${PN} +} + +src_prepare() { + # Patch the inspircd launcher with the inspircd user + sed -i -e "s/@UID@/${PN}/" "${S}/make/template/${PN}" || die + + default_src_prepare +} + +src_configure() { + local extras="" + + use geoip && extras="${extras}m_geoip.cpp," + use gnutls && extras="${extras}m_ssl_gnutls.cpp," + use ldap && extras="${extras}m_ldapauth.cpp,m_ldapoper.cpp," + use mysql && extras="${extras}m_mysql.cpp," + use pcre && extras="${extras}m_regex_pcre.cpp," + use posix && extras="${extras}m_regex_posix.cpp," + use postgres && extras="${extras}m_pgsql.cpp," + use sqlite && extras="${extras}m_sqlite3.cpp," + use ssl && extras="${extras}m_ssl_openssl.cpp," + use tre && extras="${extras}m_regex_tre.cpp," + + if [ -n "${extras}" ]; then + econf --disable-interactive --enable-extras=${extras} + fi + + econf \ + --with-cc="$(tc-getCXX)" \ + --disable-interactive \ + --prefix="/usr/$(get_libdir)/${PN}" \ + --config-dir="/etc/${PN}" \ + --data-dir="/var/lib/${PN}/data" \ + --log-dir="/var/log/${PN}" \ + --binary-dir="/usr/bin" \ + --module-dir="/usr/$(get_libdir)/${PN}/modules" \ + $(use_enable ipv6) \ + $(use_enable gnutls) \ + $(use_enable ssl openssl) +} + +src_compile() { + emake V=1 LDFLAGS="${LDFLAGS}" CXXFLAGS="${CXXFLAGS}" +} + +src_install() { + emake INSTUID=${PN} DESTDIR="${D}" install + + insinto "/usr/include/${PN}" + doins include/* + + diropts -o"${PN}" -g"${PN}" -m0700 + dodir "/var/lib/${PN}" + dodir "/var/lib/${PN}/data" + + newinitd "${FILESDIR}/${P}-init" "${PN}" + keepdir "/var/log/${PN}"/ +} + +pkg_postinst() { + elog "Before starting ${PN} the first time, you should create" + elog "the /etc/${PN}/${PN}.conf file." + elog "You can find example configuration files under /etc/${PN}" + elog "Read the ${PN}.conf.example file carefully before " + elog "(re)starting the service." + elog +} --