diff options
author | Ian Delaney <idella4@gentoo.org> | 2016-03-26 12:51:56 +0800 |
---|---|---|
committer | Ian Delaney <idella4@gentoo.org> | 2016-03-26 12:52:45 +0800 |
commit | 86543057cd91158f05e53b816a318147d379b5c9 (patch) | |
tree | a622c1f00e6061a21f372e9ba6a879c0a3059a7c /net-irc/inspircd | |
parent | dev-python/os-win: Whitespace (diff) | |
download | gentoo-86543057cd91158f05e53b816a318147d379b5c9.tar.gz gentoo-86543057cd91158f05e53b816a318147d379b5c9.tar.bz2 gentoo-86543057cd91158f05e53b816a318147d379b5c9.zip |
net-irc/inspircd: bump to vn. 2.0.21
patches to bump ebuild and fix build paths sunbmitted by
the proxy maintainer via the gentoo bug. Keyword arm
intially tested fine however requires keywording in
required dep, held back for later.
Gentoo bug: #575956
Package-Manager: portage-2.2.28
Diffstat (limited to 'net-irc/inspircd')
-rw-r--r-- | net-irc/inspircd/Manifest | 1 | ||||
-rw-r--r-- | net-irc/inspircd/files/inspircd-2.0.21-fix-path-builds.patch | 247 | ||||
-rw-r--r-- | net-irc/inspircd/files/inspircd-2.0.21-init | 39 | ||||
-rw-r--r-- | net-irc/inspircd/inspircd-2.0.21.ebuild | 102 |
4 files changed, 389 insertions, 0 deletions
diff --git a/net-irc/inspircd/Manifest b/net-irc/inspircd/Manifest index 46b960a4052b..7541fdfbdd3f 100644 --- a/net-irc/inspircd/Manifest +++ b/net-irc/inspircd/Manifest @@ -1 +1,2 @@ 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 diff --git a/net-irc/inspircd/files/inspircd-2.0.21-fix-path-builds.patch b/net-irc/inspircd/files/inspircd-2.0.21-fix-path-builds.patch new file mode 100644 index 000000000000..247a4efadc65 --- /dev/null +++ b/net-irc/inspircd/files/inspircd-2.0.21-fix-path-builds.patch @@ -0,0 +1,247 @@ +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 ++++ b/docs/conf/inspircd.conf.example 2015-07-27 05:22:26.107849785 -0500 +@@ -412,11 +412,11 @@ + + # This file has all the information about oper classes, types and o:lines. + # You *MUST* edit it. +-<include file="conf/examples/opers.conf.example"> ++<include file="/etc/inspircd/opers.conf.example"> + + # This file has all the information about server links and ulined servers. + # You *MUST* edit it if you intend to link servers. +-<include file="conf/examples/links.conf.example"> ++<include file="/etc/inspircd/links.conf.example"> + + #-#-#-#-#-#-#-#-#-#- MISCELLANEOUS CONFIGURATION -#-#-#-#-#-#-#-#-#-# + # # +@@ -426,7 +426,8 @@ + # motd - displayed on connect and when a user executes /MOTD + # rules - displayed when the user executes /RULES + # Modules can also define their own files +-<files motd="conf/examples/motd.txt.example" rules="conf/examples/rules.txt.example"> ++<files motd="/etc/inspircd/motd.txt.example" ++ rules="/etc/inspircd/rules.txt.example"> + + # Example of an executable file include. Note this will be read on rehash, + # not when the command is run. +@@ -472,7 +473,7 @@ + # the default of 'inspircd.pid' is used. # + # # + +-#<pid file="/path/to/inspircd.pid"> ++<pid file="/var/run/inspircd/inspircd.pid"> + + #-#-#-#-#-#-#-#-#-#-#-#-#- BANLIST LIMITS #-#-#-#-#-#-#-#-#-#-#-#-#-#-# + # # +@@ -953,7 +954,7 @@ + # provide almost all the features of InspIRCd. :) # + # # + # The default does nothing -- we include it for simplicity for you. # +-<include file="conf/examples/modules.conf.example"> ++<include file="/etc/inspircd/modules.conf.example"> + + # Here are some pre-built modules.conf files that closely match the + # default configurations of some popular IRCd's. You still may want to +@@ -965,10 +966,10 @@ + # recommended that you make your own modules file based on modules.conf.example. + + # Settings similar to UnrealIRCd defaults. +-#<include file="conf/examples/modules/unrealircd.conf.example"> ++#<include file="/etc/inspircd/modules/unrealircd.conf.example"> + + # Settings similar to Charybdis IRCd defaults. +-#<include file="conf/examples/modules/charybdis.conf.example"> ++#<include file="/etc/inspircd/modules/charybdis.conf.example"> + + + ######################################################################### +diff -Nuar a/docs/conf/modules.conf.example b/docs/conf/modules.conf.example +--- a/docs/conf/modules.conf.example 2016-02-28 17:38:30.492335461 -0600 ++++ b/docs/conf/modules.conf.example 2016-02-28 17:39:20.068559846 -0600 +@@ -315,7 +315,7 @@ + # specify some censor tags. See also: # + # http://wiki.inspircd.org/Modules/censor # + # +-#<include file="conf/examples/censor.conf.example"> ++#<include file="/etc/inspircd/censor.conf.example"> + + #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# + # CGI:IRC module: Adds support for automatic host changing in CGI:IRC +@@ -778,7 +778,7 @@ + # specify below the path to the filter.conf file, or define some # + # <filter> tags. # + # # +-#<include file="conf/examples/filter.conf.example"> ++#<include file="/etc/inspircd/filter.conf.example"> + + #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# + # Gecos ban: Implements extended ban 'r', which stops anyone matching +@@ -834,7 +834,7 @@ + # # + # If you specify to use the m_helpop.so module, then specify below # + # the path to the helpop.conf file. # +-#<include file="conf/examples/inspircd.helpop-full.example"> ++#<include file="/etc/inspircd/inspircd.helpop-full.example"> + + #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# + # Hide chans module: Allows users to hide their channels list from non- +@@ -1284,7 +1284,7 @@ + # Read the comment above <connect:allowmotdcolors> in # + # inspircd.conf.example for details. # + # # +-#<opermotd file="conf/examples/opermotd.txt.example" onoper="yes" processcolors="false"> ++#<opermotd file="/etc/inspircd/opermotd.txt.example" onoper="yes" processcolors="false"> + + #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# + # Override module: Adds support for oper override. +diff -Nuar a/make/template/main.mk b/make/template/main.mk +--- a/make/template/main.mk 2015-05-10 00:24:10.000000000 -0500 ++++ b/make/template/main.mk 2015-07-27 05:22:26.107849785 -0500 +@@ -34,7 +34,7 @@ + SYSTEM = @SYSTEM@ + BUILDPATH = @BUILD_DIR@ + SOCKETENGINE = @SOCKETENGINE@ +-CXXFLAGS = -pipe -fPIC -DPIC ++MYCXXFLAGS = -pipe -fPIC -DPIC + LDLIBS = -pthread -lstdc++ + LDFLAGS = + CORELDFLAGS = -rdynamic -L. $(LDFLAGS) +@@ -51,9 +51,9 @@ + INSTMODE_LIB = 0644 + + @IFEQ $(CC) icpc +- CXXFLAGS += -Wshadow ++ MYCXXFLAGS += -Wshadow + @ELSE +- CXXFLAGS += -pedantic -Woverloaded-virtual -Wshadow -Wformat=2 -Wmissing-format-attribute -Wall ++ MYCXXFLAGS += -pedantic -Woverloaded-virtual -Wshadow -Wformat=2 -Wmissing-format-attribute -Wall + @ENDIF + + +@@ -75,41 +75,41 @@ + INSTALL = ginstall + @ENDIF + @IFEQ $(SYSTEM) darwin +- CXXFLAGS += -DDARWIN -frtti ++ MYCXXFLAGS += -DDARWIN -frtti + LDLIBS += -ldl + CORELDFLAGS = -dynamic -bind_at_load -L. $(LDFLAGS) + PICLDFLAGS = -fPIC -shared -twolevel_namespace -undefined dynamic_lookup $(LDFLAGS) + @ENDIF + @IFEQ $(SYSTEM) interix +- CXXFLAGS += -D_ALL_SOURCE -I/usr/local/include ++ MYCXXFLAGS += -D_ALL_SOURCE -I/usr/local/include + @ENDIF + +-@IFNDEF D +- D=0 ++@IFNDEF DEBUGLEVEL ++ DEBUGLEVEL=0 + @ENDIF + + DBGOK=0 +-@IFEQ $(D) 0 +- CXXFLAGS += -O2 ++@IFEQ $(DEBUGLEVEL) 0 ++ MYCXXFLAGS += -O2 + @IFEQ $(CC) g++ +- CXXFLAGS += -g1 ++ MYCXXFLAGS += -g1 + @ENDIF + HEADER = std-header + DBGOK=1 + @ENDIF +-@IFEQ $(D) 1 +- CXXFLAGS += -O0 -g3 -Werror ++@IFEQ $(DEBUGLEVEL) 1 ++ MYCXXFLAGS += -O0 -g3 -Werror + HEADER = debug-header + DBGOK=1 + @ENDIF +-@IFEQ $(D) 2 +- CXXFLAGS += -O2 -g3 ++@IFEQ $(DEBUGLEVEL) 2 ++ MYCXXFLAGS += -O2 -g3 + HEADER = debug-header + DBGOK=1 + @ENDIF + FOOTER = finishmessage + +-CXXFLAGS += -Iinclude ++MYCXXFLAGS += -Iinclude + + @GNU_ONLY MAKEFLAGS += --no-print-directory + +@@ -129,10 +129,11 @@ + @ENDIF + + @IFDEF PURE_STATIC +- CXXFLAGS += -DPURE_STATIC ++ MYCXXFLAGS += -DPURE_STATIC + @ENDIF + +-@DO_EXPORT RUNCC RUNLD CXXFLAGS LDLIBS PICLDFLAGS VERBOSE SOCKETENGINE CORELDFLAGS ++MYCXXFLAGS += $(CXXFLAGS) ++@DO_EXPORT RUNCC RUNLD MYCXXFLAGS LDLIBS PICLDFLAGS VERBOSE SOCKETENGINE CORELDFLAGS + @DO_EXPORT SOURCEPATH BUILDPATH PURE_STATIC SPLIT_CC + + # Default target +@@ -145,10 +146,10 @@ + @GNU_ONLY TARGET = modules/$(M:.so=).so + @ENDIF + +-@IFDEF T ++@IFDEF TGT + HEADER = + FOOTER = target +- TARGET = $(T) ++ TARGET = $(TGT) + @ENDIF + + @IFEQ $(DBGOK) 0 +@@ -223,8 +224,8 @@ + @-$(INSTALL) -d -o $(INSTUID) -m $(INSTMODE_DIR) $(BASE)/data + @-$(INSTALL) -d -o $(INSTUID) -m $(INSTMODE_DIR) $(BASE)/logs + @-$(INSTALL) -d -m $(INSTMODE_DIR) $(BINPATH) +- @-$(INSTALL) -d -m $(INSTMODE_DIR) $(CONPATH)/examples/aliases +- @-$(INSTALL) -d -m $(INSTMODE_DIR) $(CONPATH)/examples/modules ++ @-$(INSTALL) -d -m $(INSTMODE_DIR) $(CONPATH)/aliases ++ @-$(INSTALL) -d -m $(INSTMODE_DIR) $(CONPATH)/modules + @-$(INSTALL) -d -m $(INSTMODE_DIR) $(MODPATH) + [ $(BUILDPATH)/bin/ -ef $(BINPATH) ] || $(INSTALL) -m $(INSTMODE_BIN) $(BUILDPATH)/bin/inspircd $(BINPATH) + @IFNDEF PURE_STATIC +@@ -232,9 +233,9 @@ + @ENDIF + -$(INSTALL) -m $(INSTMODE_BIN) @STARTSCRIPT@ $(BASE) 2>/dev/null + -$(INSTALL) -m $(INSTMODE_LIB) tools/gdbargs $(BASE)/.gdbargs 2>/dev/null +- -$(INSTALL) -m $(INSTMODE_LIB) docs/conf/*.example $(CONPATH)/examples +- -$(INSTALL) -m $(INSTMODE_LIB) docs/conf/aliases/*.example $(CONPATH)/examples/aliases +- -$(INSTALL) -m $(INSTMODE_LIB) docs/conf/modules/*.example $(CONPATH)/examples/modules ++ -$(INSTALL) -m $(INSTMODE_LIB) docs/conf/*.example $(CONPATH) ++ -$(INSTALL) -m $(INSTMODE_LIB) docs/conf/aliases/*.example $(CONPATH)/aliases ++ -$(INSTALL) -m $(INSTMODE_LIB) docs/conf/modules/*.example $(CONPATH)/modules + @echo "" + @echo "*************************************" + @echo "* INSTALL COMPLETE! *" +@@ -247,7 +248,7 @@ + @echo ' Data:' $(DATPATH) + @echo 'To start the ircd, run:' $(BASE)/inspircd start + @echo 'Remember to create your config file:' $(CONPATH)/inspircd.conf +- @echo 'Examples are available at:' $(CONPATH)/examples/ ++ @echo 'Examples are available at:' $(CONPATH) + + @GNU_ONLY RCS_FILES = $(wildcard .git/index src/version.sh) + @BSD_ONLY RCS_FILES = src/version.sh +diff -Nuar a/make/unit-cc.pl b/make/unit-cc.pl +--- a/make/unit-cc.pl 2015-05-10 00:24:10.000000000 -0500 ++++ b/make/unit-cc.pl 2015-07-27 05:22:26.107849785 -0500 +@@ -113,7 +113,7 @@ + my $libs = ''; + my $binary = $ENV{RUNCC}; + if ($do_compile) { +- $flags = $ENV{CXXFLAGS}; ++ $flags = $ENV{MYCXXFLAGS}; + $flags =~ s/ -pedantic// if nopedantic($file); + $flags .= ' ' . getcompilerflags($file); + diff --git a/net-irc/inspircd/files/inspircd-2.0.21-init b/net-irc/inspircd/files/inspircd-2.0.21-init new file mode 100644 index 000000000000..52549e9272ea --- /dev/null +++ b/net-irc/inspircd/files/inspircd-2.0.21-init @@ -0,0 +1,39 @@ +#!/sbin/runscript +# Copyright 1999-2014 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 $? +} diff --git a/net-irc/inspircd/inspircd-2.0.21.ebuild b/net-irc/inspircd/inspircd-2.0.21.ebuild new file mode 100644 index 000000000000..78958fcb5314 --- /dev/null +++ b/net-irc/inspircd/inspircd-2.0.21.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2016 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://www.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 +} |