Gentoo Archives: gentoo-commits

From: Florian Schmaus <flow@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-irc/inspircd/
Date: Mon, 03 Jan 2022 18:45:28
Message-Id: 1641235455.87e8bb4372a10477bbda61a459cbd185e1e72e55.flow@gentoo
1 commit: 87e8bb4372a10477bbda61a459cbd185e1e72e55
2 Author: Wade Cline <wadecline <AT> hotmail <DOT> com>
3 AuthorDate: Sat Jan 1 03:19:42 2022 +0000
4 Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
5 CommitDate: Mon Jan 3 18:44:15 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=87e8bb43
7
8 net-irc/inspircd: Add 3.12.0
9
10 Package-Manager: Portage-3.0.28, Repoman-3.0.3
11 Signed-off-by: Wade Cline <wadecline <AT> hotmail.com>
12 Closes: https://github.com/gentoo/gentoo/pull/23609
13 Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
14
15 net-irc/inspircd/Manifest | 2 +
16 net-irc/inspircd/inspircd-3.12.0.ebuild | 117 ++++++++++++++++++++++++++++++++
17 2 files changed, 119 insertions(+)
18
19 diff --git a/net-irc/inspircd/Manifest b/net-irc/inspircd/Manifest
20 index 91e291f50d89..df29aae4e49e 100644
21 --- a/net-irc/inspircd/Manifest
22 +++ b/net-irc/inspircd/Manifest
23 @@ -1,2 +1,4 @@
24 DIST inspircd-3.11.0-fix-path-builds.patch.bz2 4564 BLAKE2B 5414c6bff651f179bb7f214198d13c08ce1e92b6946729d617a56a2dd451a239520bc946823603b2e3ab0a78577f077c1d566bfa6771d6c9866ef5249269653c SHA512 92feddfa23acac2f1813539f9fae0e1c6c7332565c5d63df02e6f800b4457ed1ac1eff4f3aee8fb155dbae5b6d1d16536b435734549f740ae294382330837d5c
25 DIST inspircd-3.11.0.tar.gz 859767 BLAKE2B a0924d302577dcb471e22c0df21b7259c5b68b1ee2080233c31e84bc5cf8c32fbe134a359bf4d7f7541f512e078a9e75717df2dc7178670b3e3d7c7dfb2930b7 SHA512 59a277de041f1b0d44204c36190b6bd728f981997ba377f5bf9b7745fce122271e3df35223ff11d8d31d70f1f378977ea6603963ff2bb1a4fbaac958903b0da3
26 +DIST inspircd-3.12.0-fix-path-builds.patch.bz2 4570 BLAKE2B 2c2cea615f9e170c249868a60dcf698ba130b33e6e0553bb8c3070698332e643f3d58fc823fe92621e5498c8606b8334afe1536c9772a24f389010a93b72bc09 SHA512 e20171d6c94c163c414c0aa2a02a22ec2de02ec20a00542ada0181abc46e229f7e9d9108b88895a1ad6134b72e3fdab6e80b6c6b33e10b8be73f3a28130c0adb
27 +DIST inspircd-3.12.0.tar.gz 864630 BLAKE2B eb8fc009347777bdd1e1b119465a6e9f7b6f563c855607905ae256dd0f433d460872d185d2b17ca5033dad7fc07d1e049ce714bf92b91033e5157f796c1451ed SHA512 b8ad5bef5c4ea493bb77976cf75861efb445792696b536eab875c7c5e1a5fa679a5ad48c73a2bcb448871b4398f8370cde326abf389fc21db7e5fd24cfcdca59
28
29 diff --git a/net-irc/inspircd/inspircd-3.12.0.ebuild b/net-irc/inspircd/inspircd-3.12.0.ebuild
30 new file mode 100644
31 index 000000000000..ffef87177d73
32 --- /dev/null
33 +++ b/net-irc/inspircd/inspircd-3.12.0.ebuild
34 @@ -0,0 +1,117 @@
35 +# Copyright 1999-2022 Gentoo Authors
36 +# Distributed under the terms of the GNU General Public License v2
37 +
38 +EAPI=8
39 +
40 +inherit toolchain-funcs
41 +
42 +DESCRIPTION="Inspire IRCd - The Stable, High-Performance Modular IRCd"
43 +HOMEPAGE="https://www.inspircd.org/"
44 +SRC_URI="https://github.com/inspircd/inspircd/archive/v${PV}.tar.gz -> ${P}.tar.gz"
45 +SRC_URI+=" https://github.com/clinew/gentoo-distfiles/raw/master/inspircd-${PV}-fix-path-builds.patch.bz2"
46 +
47 +LICENSE="GPL-2"
48 +SLOT="0"
49 +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
50 +IUSE="debug gnutls ldap maxminddb mbedtls mysql pcre postgres re2 regex-posix regex-stdlib sqlite ssl sslrehashsignal tre"
51 +
52 +RDEPEND="
53 + acct-group/inspircd
54 + acct-user/inspircd
55 + dev-lang/perl
56 + gnutls? ( net-libs/gnutls:= dev-libs/libgcrypt:0 )
57 + ldap? ( net-nds/openldap )
58 + maxminddb? ( dev-libs/libmaxminddb )
59 + mbedtls? ( net-libs/mbedtls:= )
60 + mysql? ( dev-db/mysql-connector-c:= )
61 + pcre? ( dev-libs/libpcre )
62 + postgres? ( dev-db/postgresql:= )
63 + re2? ( dev-libs/re2:= )
64 + sqlite? ( >=dev-db/sqlite-3.0 )
65 + ssl? ( dev-libs/openssl:= )
66 + tre? ( dev-libs/tre )"
67 +DEPEND="${RDEPEND}"
68 +
69 +DOCS=( docs/. )
70 +PATCHES=( "${WORKDIR}"/${PF}-fix-path-builds.patch )
71 +
72 +src_prepare() {
73 + default
74 +
75 + # Patch the inspircd launcher with the inspircd user
76 + sed -i -e "s/@UID@/${PN}/" "make/template/${PN}" || die
77 +}
78 +
79 +src_configure() {
80 + local extras=""
81 +
82 + use gnutls && extras+="m_ssl_gnutls.cpp,"
83 + use ldap && extras+="m_ldap.cpp,"
84 + use maxminddb && extras+="m_geo_maxmind.cpp,"
85 + use mbedtls && extras+="m_ssl_mbedtls.cpp,"
86 + use mysql && extras+="m_mysql.cpp,"
87 + use pcre && extras+="m_regex_pcre.cpp,"
88 + use postgres && extras+="m_pgsql.cpp,"
89 + use re2 && extras+="m_regex_re2.cpp,"
90 + use regex-posix && extras+="m_regex_posix.cpp,"
91 + use regex-stdlib && extras+="m_regex_stdlib.cpp,"
92 + use sqlite && extras+="m_sqlite3.cpp,"
93 + use ssl && extras+="m_ssl_openssl.cpp,"
94 + use sslrehashsignal && extras+="m_sslrehashsignal.cpp,"
95 + use tre && extras+="m_regex_tre.cpp,"
96 +
97 + # The first configuration run enables certain "extra" InspIRCd
98 + # modules, the second run generates the actual makefile.
99 + if [[ -n "${extras}" ]]; then
100 + ./configure --disable-interactive --enable-extras=${extras%,}
101 + fi
102 +
103 + local myconf=(
104 + --disable-interactive
105 + --disable-auto-extras
106 + --prefix="/usr/$(get_libdir)/${PN}"
107 + --config-dir="/etc/${PN}"
108 + --data-dir="/var/lib/${PN}/data"
109 + --log-dir="/var/log/${PN}"
110 + --binary-dir="/usr/bin"
111 + --module-dir="/usr/$(get_libdir)/${PN}/modules"
112 + --manual-dir="/usr/share/man")
113 + CXX="$(tc-getCXX)" ./configure "${myconf[@]}"
114 +}
115 +
116 +src_compile() {
117 + emake LDFLAGS="${LDFLAGS}" CXXFLAGS="${CXXFLAGS}" $(usex debug 'INSPIRCD_DEBUG=2' '') INSPIRCD_VERBOSE=1
118 +}
119 +
120 +src_install() {
121 + default
122 +
123 + insinto "/usr/include/${PN}"
124 + doins -r include/.
125 +
126 + newinitd "${FILESDIR}/${PN}.initd" "${PN}"
127 + newconfd "${FILESDIR}/${PN}.confd" "${PN}"
128 +
129 + keepdir "/var/log/${PN}"
130 +
131 + diropts -o"${PN}" -g"${PN}" -m0700
132 + keepdir "/var/lib/${PN}/data"
133 +}
134 +
135 +pkg_postinst() {
136 + if [[ -z "${REPLACING_VERSIONS}" ]]; then
137 + # This is a new installation
138 + elog "You will find example configuration files under "
139 + elog "/usr/share/doc/${PN}"
140 + elog "Read the ${PN}.conf.example file carefully before "
141 + elog "starting the service."
142 + fi
143 + local pv
144 + for pv in ${REPLACING_VERSIONS}; do
145 + if ver_test "${pv}" -lt "3.0.0"; then
146 + elog "Version 3.0 is a major upgrade which contains breaking"
147 + elog "changes. You will need to update your configuration files."
148 + elog "See: https://docs.inspircd.org/3/configuration-changes"
149 + fi
150 + done
151 +}