Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-irc/inspircd/files/, net-irc/inspircd/
Date: Wed, 30 May 2018 11:43:57
Message-Id: 1527680628.20326abc147ddc804f0582e7da26fce08c89cf39.mgorny@gentoo
1 commit: 20326abc147ddc804f0582e7da26fce08c89cf39
2 Author: Wade Cline <wadecline <AT> hotmail <DOT> com>
3 AuthorDate: Sat Apr 28 02:47:12 2018 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Wed May 30 11:43:48 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=20326abc
7
8 net-irc/inspircd: Version bump to 2.0.26
9
10 Closes: https://github.com/gentoo/gentoo/pull/8225
11
12 net-irc/inspircd/Manifest | 1 +
13 .../files/inspircd-2.0.26-fix-path-builds.patch | 257 +++++++++++++++++++++
14 net-irc/inspircd/inspircd-2.0.26.ebuild | 118 ++++++++++
15 3 files changed, 376 insertions(+)
16
17 diff --git a/net-irc/inspircd/Manifest b/net-irc/inspircd/Manifest
18 index 6e5b23c59a3..c2631dcf58b 100644
19 --- a/net-irc/inspircd/Manifest
20 +++ b/net-irc/inspircd/Manifest
21 @@ -1,2 +1,3 @@
22 DIST inspircd-2.0.23.tar.gz 731695 BLAKE2B 58cd38af6244926f620a7e65b14d44062cc5aacb3aed394b736062f9f5ac0c2b689f8967e2e9577570766547bf8f694e1762bab71114dda9414e05ba8e01bfd2 SHA512 93a3dab04e797cfde158de8c2e959d1bb5df115aa3fe5a4066cdf9f56cb0c548fd2664a12d61bf2dbdb45549577974be99a0d6ffc6114c72cf0697f5ca4f85bb
23 DIST inspircd-2.0.25.tar.gz 734017 BLAKE2B d67af67a68d55e107c4492561fcc181ca17fda8b59d53e14e2a585057507f035d3178a9f5f04a22b8969f0fe6f331833e412f410f3276a610dc179ebf16c2399 SHA512 c404d3c296b48d34ad43f576eba1a1fe96ae3d644f032d11cb6050b8e777f93efe33715b0676f481ac3878eea1c17c884a26bff86b909f71f7329ebcfb97add8
24 +DIST inspircd-2.0.26.tar.gz 735414 BLAKE2B 817a96c95b3360cadfcf69ab093b0bbd0f5b89e66a1b03f0c5916e2a4c514fa529dc4094368b2f03ef98bfe89c584a9a6a555d2ee9e33c7e6b0b4784bccba946 SHA512 950982629eab0dabeac9e7f2ab6e8b923bc5dafa978280cb91aa28c40997b7cfac2e4d39d74bb4c9cdb8f818205cc17bf782ec86f0aae966cb9c47bbf8143d1a
25
26 diff --git a/net-irc/inspircd/files/inspircd-2.0.26-fix-path-builds.patch b/net-irc/inspircd/files/inspircd-2.0.26-fix-path-builds.patch
27 new file mode 100644
28 index 00000000000..da00a8491d1
29 --- /dev/null
30 +++ b/net-irc/inspircd/files/inspircd-2.0.26-fix-path-builds.patch
31 @@ -0,0 +1,257 @@
32 +diff --git a/docs/conf/inspircd.conf.example b/docs/conf/inspircd.conf.example
33 +index d54cdc916..ee21be7f3 100644
34 +--- a/docs/conf/inspircd.conf.example
35 ++++ b/docs/conf/inspircd.conf.example
36 +@@ -425,11 +425,11 @@
37 +
38 + # This file has all the information about oper classes, types and o:lines.
39 + # You *MUST* edit it.
40 +-<include file="conf/examples/opers.conf.example">
41 ++<include file="/etc/inspircd/opers.conf.example">
42 +
43 + # This file has all the information about server links and ulined servers.
44 + # You *MUST* edit it if you intend to link servers.
45 +-<include file="conf/examples/links.conf.example">
46 ++<include file="/etc/inspircd/links.conf.example">
47 +
48 + #-#-#-#-#-#-#-#-#-#- MISCELLANEOUS CONFIGURATION -#-#-#-#-#-#-#-#-#-#
49 + # #
50 +@@ -439,7 +439,8 @@
51 + # motd - displayed on connect and when a user executes /MOTD
52 + # rules - displayed when the user executes /RULES
53 + # Modules can also define their own files
54 +-<files motd="conf/examples/motd.txt.example" rules="conf/examples/rules.txt.example">
55 ++<files motd="/etc/inspircd/motd.txt.example"
56 ++ rules="/etc/inspircd/rules.txt.example">
57 +
58 + # Example of an executable file include. Note this will be read on rehash,
59 + # not when the command is run.
60 +@@ -485,7 +486,7 @@
61 + # the default of 'inspircd.pid' is used. #
62 + # #
63 +
64 +-#<pid file="/path/to/inspircd.pid">
65 ++<pid file="/var/run/inspircd/inspircd.pid">
66 +
67 + #-#-#-#-#-#-#-#-#-#-#-#-#- BANLIST LIMITS #-#-#-#-#-#-#-#-#-#-#-#-#-#-#
68 + # #
69 +@@ -994,7 +995,7 @@
70 + # provide almost all the features of InspIRCd. :) #
71 + # #
72 + # The default does nothing -- we include it for simplicity for you. #
73 +-<include file="conf/examples/modules.conf.example">
74 ++<include file="/etc/inspircd/modules.conf.example">
75 +
76 + # Here are some pre-built modules.conf files that closely match the
77 + # default configurations of some popular IRCd's. You still may want to
78 +@@ -1006,10 +1007,10 @@
79 + # recommended that you make your own modules file based on modules.conf.example.
80 +
81 + # Settings similar to UnrealIRCd defaults.
82 +-#<include file="conf/examples/modules/unrealircd.conf.example">
83 ++#<include file="/etc/inspircd/modules/unrealircd.conf.example">
84 +
85 + # Settings similar to Charybdis IRCd defaults.
86 +-#<include file="conf/examples/modules/charybdis.conf.example">
87 ++#<include file="/etc/inspircd/modules/charybdis.conf.example">
88 +
89 +
90 + #########################################################################
91 +diff --git a/docs/conf/modules.conf.example b/docs/conf/modules.conf.example
92 +index c3f074b94..4b0a584bb 100644
93 +--- a/docs/conf/modules.conf.example
94 ++++ b/docs/conf/modules.conf.example
95 +@@ -315,7 +315,7 @@
96 + # specify some censor tags. See also: #
97 + # https://wiki.inspircd.org/Modules/2.0/censor #
98 + #
99 +-#<include file="conf/examples/censor.conf.example">
100 ++#<include file="/etc/inspircd/censor.conf.example">
101 +
102 + #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
103 + # CGI:IRC module: Adds support for automatic host changing in CGI:IRC
104 +@@ -790,7 +790,7 @@
105 + # specify below the path to the filter.conf file, or define some #
106 + # <filter> tags. #
107 + # #
108 +-#<include file="conf/examples/filter.conf.example">
109 ++#<include file="/etc/inspircd/filter.conf.example">
110 +
111 + #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
112 + # Gecos ban: Implements extended ban 'r', which stops anyone matching
113 +@@ -849,7 +849,7 @@
114 + # #
115 + # If you specify to use the m_helpop.so module, then specify below #
116 + # the path to the helpop.conf file. #
117 +-#<include file="conf/examples/helpop-full.conf.example">
118 ++#<include file="/etc/inspircd/helpop-full.conf.example">
119 +
120 + #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
121 + # Hide chans module: Allows users to hide their channels list from non-
122 +@@ -1304,7 +1304,7 @@
123 + # Read the comment above <connect:allowmotdcolors> in #
124 + # inspircd.conf.example for details. #
125 + # #
126 +-#<opermotd file="conf/examples/opermotd.txt.example" onoper="yes" processcolors="false">
127 ++#<opermotd file="/etc/inspircd/opermotd.txt.example" onoper="yes" processcolors="false">
128 +
129 + #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
130 + # Override module: Adds support for oper override.
131 +diff --git a/make/template/main.mk b/make/template/main.mk
132 +index 23daa7efc..386e0138a 100644
133 +--- a/make/template/main.mk
134 ++++ b/make/template/main.mk
135 +@@ -34,7 +34,7 @@ CC = @CC@
136 + SYSTEM = @SYSTEM@
137 + BUILDPATH = @BUILD_DIR@
138 + SOCKETENGINE = @SOCKETENGINE@
139 +-CXXFLAGS = -pipe -fPIC -DPIC
140 ++MYCXXFLAGS = -pipe -fPIC -DPIC
141 + LDLIBS = -pthread -lstdc++
142 + LDFLAGS =
143 + CORELDFLAGS = -rdynamic -L. $(LDFLAGS)
144 +@@ -52,9 +52,9 @@ INSTMODE_BIN = 0755
145 + INSTMODE_LIB = 0644
146 +
147 + @IFEQ $(CC) icpc
148 +- CXXFLAGS += -Wshadow
149 ++ MYCXXFLAGS += -Wshadow
150 + @ELSE
151 +- CXXFLAGS += -pedantic -Woverloaded-virtual -Wshadow -Wformat=2 -Wmissing-format-attribute -Wall
152 ++ MYCXXFLAGS += -pedantic -Woverloaded-virtual -Wshadow -Wformat=2 -Wmissing-format-attribute -Wall
153 + @ENDIF
154 +
155 +
156 +@@ -76,46 +76,46 @@ INSTMODE_LIB = 0644
157 + INSTALL = ginstall
158 + @ENDIF
159 + @IFEQ $(SYSTEM) darwin
160 +- CXXFLAGS += -DDARWIN -frtti
161 ++ MYCXXFLAGS += -DDARWIN -frtti
162 + LDLIBS += -ldl
163 + CORELDFLAGS = -dynamic -bind_at_load -L. $(LDFLAGS)
164 + PICLDFLAGS = -fPIC -shared -twolevel_namespace -undefined dynamic_lookup $(LDFLAGS)
165 + @ENDIF
166 + @IFEQ $(SYSTEM) interix
167 +- CXXFLAGS += -D_ALL_SOURCE -I/usr/local/include
168 ++ MYCXXFLAGS += -D_ALL_SOURCE -I/usr/local/include
169 + @ENDIF
170 +
171 +-@IFNDEF D
172 +- D=0
173 ++@IFNDEF DEBUGLEVEL
174 ++ DEBUGLEVEL=0
175 + @ENDIF
176 +
177 + GCC6=@GCC6@
178 + @IFEQ $(GCC6) true
179 +- CXXFLAGS += -fno-delete-null-pointer-checks
180 ++ MYCXXFLAGS += -fno-delete-null-pointer-checks
181 + @ENDIF
182 +
183 + DBGOK=0
184 +-@IFEQ $(D) 0
185 +- CXXFLAGS += -O2
186 ++@IFEQ $(DEBUGLEVEL) 0
187 ++ MYCXXFLAGS += -O2
188 + @IFEQ $(CC) g++
189 +- CXXFLAGS += -g1
190 ++ MYCXXFLAGS += -g1
191 + @ENDIF
192 + HEADER = std-header
193 + DBGOK=1
194 + @ENDIF
195 +-@IFEQ $(D) 1
196 +- CXXFLAGS += -O0 -g3 -Werror
197 ++@IFEQ $(DEBUGLEVEL) 1
198 ++ MYCXXFLAGS += -O0 -g3 -Werror
199 + HEADER = debug-header
200 + DBGOK=1
201 + @ENDIF
202 +-@IFEQ $(D) 2
203 +- CXXFLAGS += -O2 -g3
204 ++@IFEQ $(DEBUGLEVEL) 2
205 ++ MYCXXFLAGS += -O2 -g3
206 + HEADER = debug-header
207 + DBGOK=1
208 + @ENDIF
209 + FOOTER = finishmessage
210 +
211 +-CXXFLAGS += -Iinclude
212 ++MYCXXFLAGS += -Iinclude
213 +
214 + @GNU_ONLY MAKEFLAGS += --no-print-directory
215 +
216 +@@ -135,10 +135,11 @@ CXXFLAGS += -Iinclude
217 + @ENDIF
218 +
219 + @IFDEF PURE_STATIC
220 +- CXXFLAGS += -DPURE_STATIC
221 ++ MYCXXFLAGS += -DPURE_STATIC
222 + @ENDIF
223 +
224 +-@DO_EXPORT RUNCC RUNLD CXXFLAGS LDLIBS PICLDFLAGS VERBOSE SOCKETENGINE CORELDFLAGS
225 ++MYCXXFLAGS += $(CXXFLAGS)
226 ++@DO_EXPORT RUNCC RUNLD MYCXXFLAGS LDLIBS PICLDFLAGS VERBOSE SOCKETENGINE CORELDFLAGS
227 + @DO_EXPORT SOURCEPATH BUILDPATH PURE_STATIC SPLIT_CC
228 +
229 + # Default target
230 +@@ -151,10 +152,10 @@ TARGET = all
231 + @GNU_ONLY TARGET = modules/$(M:.so=).so
232 + @ENDIF
233 +
234 +-@IFDEF T
235 ++@IFDEF TGT
236 + HEADER =
237 + FOOTER = target
238 +- TARGET = $(T)
239 ++ TARGET = $(TGT)
240 + @ENDIF
241 +
242 + @IFEQ $(DBGOK) 0
243 +@@ -229,8 +230,8 @@ install: target
244 + @-$(INSTALL) -d -o $(INSTUID) -m $(INSTMODE_DIR) $(DATPATH)
245 + @-$(INSTALL) -d -o $(INSTUID) -m $(INSTMODE_DIR) $(LOGPATH)
246 + @-$(INSTALL) -d -m $(INSTMODE_DIR) $(BINPATH)
247 +- @-$(INSTALL) -d -m $(INSTMODE_DIR) $(CONPATH)/examples/aliases
248 +- @-$(INSTALL) -d -m $(INSTMODE_DIR) $(CONPATH)/examples/modules
249 ++ @-$(INSTALL) -d -m $(INSTMODE_DIR) $(CONPATH)/aliases
250 ++ @-$(INSTALL) -d -m $(INSTMODE_DIR) $(CONPATH)/modules
251 + @-$(INSTALL) -d -m $(INSTMODE_DIR) $(MODPATH)
252 + [ "$(BUILDPATH)/bin/" -ef $(BINPATH) ] || $(INSTALL) -m $(INSTMODE_BIN) "$(BUILDPATH)/bin/inspircd" $(BINPATH)
253 + @IFNDEF PURE_STATIC
254 +@@ -238,9 +239,9 @@ install: target
255 + @ENDIF
256 + -$(INSTALL) -m $(INSTMODE_BIN) @STARTSCRIPT@ $(BASE) 2>/dev/null
257 + -$(INSTALL) -m $(INSTMODE_LIB) tools/gdbargs $(BASE)/.gdbargs 2>/dev/null
258 +- -$(INSTALL) -m $(INSTMODE_LIB) docs/conf/*.example $(CONPATH)/examples
259 +- -$(INSTALL) -m $(INSTMODE_LIB) docs/conf/aliases/*.example $(CONPATH)/examples/aliases
260 +- -$(INSTALL) -m $(INSTMODE_LIB) docs/conf/modules/*.example $(CONPATH)/examples/modules
261 ++ -$(INSTALL) -m $(INSTMODE_LIB) docs/conf/*.example $(CONPATH)
262 ++ -$(INSTALL) -m $(INSTMODE_LIB) docs/conf/aliases/*.example $(CONPATH)/aliases
263 ++ -$(INSTALL) -m $(INSTMODE_LIB) docs/conf/modules/*.example $(CONPATH)/modules
264 + @echo ""
265 + @echo "*************************************"
266 + @echo "* INSTALL COMPLETE! *"
267 +@@ -253,7 +254,7 @@ install: target
268 + @echo ' Data:' $(DATPATH)
269 + @echo 'To start the ircd, run:' $(BASE)/inspircd start
270 + @echo 'Remember to create your config file:' $(CONPATH)/inspircd.conf
271 +- @echo 'Examples are available at:' $(CONPATH)/examples/
272 ++ @echo 'Examples are available at:' $(CONPATH)
273 +
274 + @GNU_ONLY RCS_FILES = $(wildcard .git/index src/version.sh)
275 + @BSD_ONLY RCS_FILES = src/version.sh
276 +diff --git a/make/unit-cc.pl b/make/unit-cc.pl
277 +index a494fb74b..2a570ec91 100755
278 +--- a/make/unit-cc.pl
279 ++++ b/make/unit-cc.pl
280 +@@ -113,7 +113,7 @@ sub do_compile {
281 + my $libs = '';
282 + my $binary = $ENV{RUNCC};
283 + if ($do_compile) {
284 +- $flags = $ENV{CXXFLAGS};
285 ++ $flags = $ENV{MYCXXFLAGS};
286 + $flags =~ s/ -pedantic// if nopedantic($file);
287 + $flags .= ' ' . getcompilerflags($file);
288 +
289
290 diff --git a/net-irc/inspircd/inspircd-2.0.26.ebuild b/net-irc/inspircd/inspircd-2.0.26.ebuild
291 new file mode 100644
292 index 00000000000..ead8598ef2c
293 --- /dev/null
294 +++ b/net-irc/inspircd/inspircd-2.0.26.ebuild
295 @@ -0,0 +1,118 @@
296 +# Copyright 1999-2018 Gentoo Foundation
297 +# Distributed under the terms of the GNU General Public License v2
298 +
299 +EAPI="6"
300 +
301 +inherit eapi7-ver toolchain-funcs user
302 +
303 +DESCRIPTION="Inspire IRCd - The Stable, High-Performance Modular IRCd"
304 +HOMEPAGE="https://inspircd.github.com/"
305 +SRC_URI="https://github.com/inspircd/inspircd/archive/v${PV}.tar.gz -> ${P}.tar.gz"
306 +
307 +LICENSE="GPL-2"
308 +SLOT="0"
309 +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
310 +IUSE="geoip gnutls ipv6 ldap mysql pcre posix postgres sqlite ssl tre"
311 +
312 +RDEPEND="
313 + dev-lang/perl
314 + ssl? ( dev-libs/openssl:= )
315 + geoip? ( dev-libs/geoip )
316 + gnutls? ( net-libs/gnutls:= dev-libs/libgcrypt:0 )
317 + ldap? ( net-nds/openldap )
318 + mysql? ( virtual/mysql )
319 + postgres? ( dev-db/postgresql:= )
320 + pcre? ( dev-libs/libpcre )
321 + sqlite? ( >=dev-db/sqlite-3.0 )
322 + tre? ( dev-libs/tre )"
323 +DEPEND="${RDEPEND}"
324 +
325 +DOCS=( docs/. )
326 +PATCHES=( "${FILESDIR}"/${P}-fix-path-builds.patch )
327 +
328 +pkg_setup() {
329 + enewgroup ${PN}
330 + enewuser ${PN} -1 -1 -1 ${PN}
331 +}
332 +
333 +src_prepare() {
334 + default
335 +
336 + # Patch the inspircd launcher with the inspircd user
337 + sed -i -e "s/@UID@/${PN}/" "${S}/make/template/${PN}" || die
338 +}
339 +
340 +src_configure() {
341 + local extras=""
342 +
343 + use geoip && extras+="m_geoip.cpp,"
344 + use gnutls && extras+="m_ssl_gnutls.cpp,"
345 + use ldap && extras+="m_ldapauth.cpp,m_ldapoper.cpp,"
346 + use mysql && extras+="m_mysql.cpp,"
347 + use pcre && extras+="m_regex_pcre.cpp,"
348 + use posix && extras+="m_regex_posix.cpp,"
349 + use postgres && extras+="m_pgsql.cpp,"
350 + use sqlite && extras+="m_sqlite3.cpp,"
351 + use ssl && extras+="m_ssl_openssl.cpp,"
352 + use tre && extras+="m_regex_tre.cpp,"
353 +
354 + # The first configuration run enables certain "extra" InspIRCd
355 + # modules, the second run generates the actual makefile.
356 + if [[ -n "${extras}" ]]; then
357 + ./configure --disable-interactive --enable-extras=${extras%,}
358 + fi
359 +
360 + local myconf=(
361 + --with-cc="$(tc-getCXX)"
362 + --disable-interactive
363 + --prefix="/usr/$(get_libdir)/${PN}"
364 + --config-dir="/etc/${PN}"
365 + --data-dir="/var/lib/${PN}/data"
366 + --log-dir="/var/log/${PN}"
367 + --binary-dir="/usr/bin"
368 + --module-dir="/usr/$(get_libdir)/${PN}/modules"
369 + $(usex ipv6 '' '--disable-ipv6')
370 + $(usex gnutls '--enable-gnutls' '')
371 + $(usex ssl '--enable-openssl' ''))
372 + ./configure "${myconf[@]}"
373 +}
374 +
375 +src_compile() {
376 + emake V=1 LDFLAGS="${LDFLAGS}" CXXFLAGS="${CXXFLAGS}"
377 +}
378 +
379 +src_install() {
380 + emake INSTUID=${PN} DESTDIR="${D%/}" install
381 +
382 + insinto "/usr/include/${PN}"
383 + doins -r include/.
384 +
385 + einstalldocs
386 +
387 + newinitd "${FILESDIR}/${PN}-r3.initd" "${PN}"
388 + newconfd "${FILESDIR}/${PN}-r3.confd" "${PN}"
389 +
390 + keepdir "/var/log/${PN}"
391 +
392 + diropts -o"${PN}" -g"${PN}" -m0700
393 + keepdir "/var/lib/${PN}/data"
394 +}
395 +
396 +pkg_postinst() {
397 + if [[ -z "${REPLACING_VERSIONS}" ]]; then
398 + # This is a new installation
399 + elog "You will find example configuration files under "
400 + elog "/usr/share/doc/${PN}"
401 + elog "Read the ${PN}.conf.example file carefully before "
402 + elog "starting the service."
403 + fi
404 + local pv
405 + for pv in ${REPLACING_VERSIONS}; do
406 + if ver_test "${pv}" -lt "2.0.24-r1"; then
407 + elog "Starting with 2.0.24-r1 the daemon is no longer started"
408 + elog "with the --logfile option and you are thus expected to define"
409 + elog "logging in the InspIRCd configuration file if you want it."
410 + break
411 + fi
412 + done
413 +}