summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-irc/ircservices
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-irc/ircservices')
-rw-r--r--net-irc/ircservices/Manifest1
-rw-r--r--net-irc/ircservices/files/5.0.37-fPIC.patch23
-rw-r--r--net-irc/ircservices/files/5.0.53-fPIC-configure.patch15
-rw-r--r--net-irc/ircservices/files/ircservices-5.1.17-fPIC-configure.patch14
-rw-r--r--net-irc/ircservices/files/ircservices-5.1.17-fPIC.patch12
-rw-r--r--net-irc/ircservices/files/ircservices-5.1.24-as-needed.patch17
-rw-r--r--net-irc/ircservices/files/ircservices-5.1.24-fd_set-amd64.patch236
-rw-r--r--net-irc/ircservices/files/ircservices-5.1.24-ircservices-chk-pidfile.patch22
-rw-r--r--net-irc/ircservices/files/ircservices-5.1.24-ldflags.patch12
-rw-r--r--net-irc/ircservices/files/ircservices-5.1.24-parallel-make.patch28
-rw-r--r--net-irc/ircservices/files/ircservices.conf.d6
-rw-r--r--net-irc/ircservices/files/ircservices.confd11
-rw-r--r--net-irc/ircservices/files/ircservices.init.d30
-rw-r--r--net-irc/ircservices/files/ircservices.initd31
-rw-r--r--net-irc/ircservices/ircservices-5.1.24.ebuild96
-rw-r--r--net-irc/ircservices/metadata.xml9
16 files changed, 563 insertions, 0 deletions
diff --git a/net-irc/ircservices/Manifest b/net-irc/ircservices/Manifest
new file mode 100644
index 000000000000..ec30127e3589
--- /dev/null
+++ b/net-irc/ircservices/Manifest
@@ -0,0 +1 @@
+DIST ircservices-5.1.24.tar.gz 1516612 SHA256 63c88b84ddcd12f3636ca9c69987a06e4055156ae3ebe2ff4f22205c66c2a365 SHA512 1c1a0ec6d0e0a11071532e07792a15b1910fe108f09e991ca27e0196cfeec72e057a067fa69396b8647aca4ed8097c857eb8e714d8bee2ca6a0c5e27593fb06d WHIRLPOOL f8a3fdfb888030d4fd7426e4270a424dc651ef8e5b7e4f030ed0cb882f3911f2f96909eefcb5f65d1d69ced305538ae0ecc575fc3b4f9d558ab56946a42f8f52
diff --git a/net-irc/ircservices/files/5.0.37-fPIC.patch b/net-irc/ircservices/files/5.0.37-fPIC.patch
new file mode 100644
index 000000000000..9e201fce1105
--- /dev/null
+++ b/net-irc/ircservices/files/5.0.37-fPIC.patch
@@ -0,0 +1,23 @@
+--- ircservices-5.0.37/modules/Makerules 2004-08-14 22:59:07.290105488 +0200
++++ ircservices-5.0.37-fPIC/modules/Makerules 2004-08-14 22:59:30.496577568 +0200
+@@ -164,7 +164,7 @@
+ $(TARGET).o: .compiled-$(TARGET).o FRC
+ @echo >/dev/null
+ .compiled-$(TARGET).o: $(TARGET).c $(DEPS) $(INCLUDES2)
+- cd $(TOPDIR) && $(CC) $(CFLAGS) -I. -c modules/$(DIRNAME)/$< -o modules/$(DIRNAME)/$(TARGET).o
++ cd $(TOPDIR) && $(CC) $(CFLAGS) -fPIC -I. -c modules/$(DIRNAME)/$< -o modules/$(DIRNAME)/$(TARGET).o
+ @rm -f $@
+ @ln -s $(TARGET).o $@
+
+--- ircservices-5.0.37/modules/protocol/Makefile 2004-08-14 23:05:00.399424712 +0200
++++ ircservices-5.0.37-fPIC/modules/protocol/Makefile 2004-08-14 23:05:09.366061576 +0200
+@@ -72,7 +72,7 @@
+ ###########################################################################
+
+ sjoin-bahamut.o: sjoin.c $(DEPS) $(INCLUDES-sjoin.o)
+- $(CC) $(CFLAGS) -DBAHAMUT_HACK -I$(TOPDIR) -c sjoin.c -o $@
++ $(CC) $(CFLAGS) -fPIC -DBAHAMUT_HACK -I$(TOPDIR) -c sjoin.c -o $@
+
+ sjoin-unreal.o: sjoin.c $(DEPS) $(INCLUDES-sjoin.o)
+- $(CC) $(CFLAGS) -DUNREAL_HACK -I$(TOPDIR) -c sjoin.c -o $@
++ $(CC) $(CFLAGS) -fPIC -DUNREAL_HACK -I$(TOPDIR) -c sjoin.c -o $@
diff --git a/net-irc/ircservices/files/5.0.53-fPIC-configure.patch b/net-irc/ircservices/files/5.0.53-fPIC-configure.patch
new file mode 100644
index 000000000000..66870d95d963
--- /dev/null
+++ b/net-irc/ircservices/files/5.0.53-fPIC-configure.patch
@@ -0,0 +1,15 @@
+diff -Nur ircservices-5.0.53.orig/configure ircservices-5.0.53/configure
+--- ircservices-5.0.53.orig/configure 2005-02-21 14:07:37.000000000 +0100
++++ ircservices-5.0.53/configure 2005-08-11 00:01:28.196549494 +0200
+@@ -1395,9 +1395,9 @@
+ fi
+ if [ "$OK" ] ; then
+ if [ "x`uname -s`" = "xOSF1" ] ; then
+- CC_SHARED="$CC -shared -Wl,-expect_unresolved"
++ CC_SHARED="$CC -shared -Wl,-expect_unresolved -fPIC"
+ else
+- CC_SHARED="$CC -shared"
++ CC_SHARED="$CC -shared -fPIC"
+ fi
+ if run $CC_SHARED $CC_FLAGS $CC_LIBS $CONFTMP/test-lib.c -o $CONFTMP/test-lib.so ; then
+ log "-shared works"
diff --git a/net-irc/ircservices/files/ircservices-5.1.17-fPIC-configure.patch b/net-irc/ircservices/files/ircservices-5.1.17-fPIC-configure.patch
new file mode 100644
index 000000000000..8e279031b2e0
--- /dev/null
+++ b/net-irc/ircservices/files/ircservices-5.1.17-fPIC-configure.patch
@@ -0,0 +1,14 @@
+--- ircservices-5.1.12/configure 2008-09-22 17:35:52.000000000 +0000
++++ ircservices-5.1.12.orig/configure 2008-09-22 17:33:51.000000000 +0000
+@@ -1296,9 +1296,9 @@
+ fi
+ if [ "$OK" ] ; then
+ if [ "x`uname -s`" = "xOSF1" ] ; then
+- CC_SHARED="$CC -shared -Wl,-expect_unresolved"
++ CC_SHARED="$CC -shared -Wl,-expect_unresolved -fPIC"
+ else
+- CC_SHARED="$CC -shared"
++ CC_SHARED="$CC -shared -fPIC"
+ fi
+ if run $CC_SHARED $CC_FLAGS $CC_LIBS $CONFTMP/test-lib.c -o $CONFTMP/test-lib.so && run $CC_SHARED $CC_FLAGS $CC_LIBS $CONFTMP/test-lib2.c -o $CONFTMP/test-lib2.so ; then
+ log "-shared works"
diff --git a/net-irc/ircservices/files/ircservices-5.1.17-fPIC.patch b/net-irc/ircservices/files/ircservices-5.1.17-fPIC.patch
new file mode 100644
index 000000000000..788723c5be00
--- /dev/null
+++ b/net-irc/ircservices/files/ircservices-5.1.17-fPIC.patch
@@ -0,0 +1,12 @@
+diff -Nur ircservices-5.1.12/modules/Makerules ircservices-5.1.12.orig/modules/Makerules
+--- ircservices-5.1.12/modules/Makerules 2008-09-22 17:37:48.000000000 +0000
++++ ircservices-5.1.12.orig/modules/Makerules 2008-09-22 17:33:51.000000000 +0000
+@@ -172,7 +172,7 @@
+ $(TARGET).o: .compiled-$(TARGET).o FRC
+ @echo >/dev/null
+ .compiled-$(TARGET).o: $(TARGET).c $(DEPS) $(INCLUDES2)
+- cd $(TOPDIR) && $(CC) $(CFLAGS) -I. -c modules/$(DIRNAME)/$< -o modules/$(DIRNAME)/$(TARGET).o
++ cd $(TOPDIR) && $(CC) $(CFLAGS) -fPIC -I. -c modules/$(DIRNAME)/$< -o modules/$(DIRNAME)/$(TARGET).o
+ @rm -f $@
+ @ln -s $(TARGET).o $@
+
diff --git a/net-irc/ircservices/files/ircservices-5.1.24-as-needed.patch b/net-irc/ircservices/files/ircservices-5.1.24-as-needed.patch
new file mode 100644
index 000000000000..b8b3668e1e39
--- /dev/null
+++ b/net-irc/ircservices/files/ircservices-5.1.24-as-needed.patch
@@ -0,0 +1,17 @@
+From: Nathan Phillip Brink <binki@gentoo.org>
+Date: 2011-06-22
+Subject: Fix missing $(LIBS) in the Makefiles where linking of modules
+ happens.
+
+diff -r 7c815ad6fa2e -r f195c349225a modules/Makerules
+--- a/modules/Makerules Wed Jun 22 00:14:22 2011 -0400
++++ b/modules/Makerules Wed Jun 22 13:32:24 2011 -0400
+@@ -104,7 +104,7 @@
+
+ # Compile one or more objects into a dynamic module.
+ $(TARGET).so: $(TARGET).o $(OBJECTS)
+- $(CC_SHARED) $(CFLAGS) $(LFLAGS) $^ -o $@
++ $(CC_SHARED) $(CFLAGS) $(LFLAGS) $^ -o $@ $(LIBS)
+
+ # Compile one or more objects into a static module and generate a symbol
+ # list. The .a file we create here is just a placeholder to show that
diff --git a/net-irc/ircservices/files/ircservices-5.1.24-fd_set-amd64.patch b/net-irc/ircservices/files/ircservices-5.1.24-fd_set-amd64.patch
new file mode 100644
index 000000000000..b15595d570a3
--- /dev/null
+++ b/net-irc/ircservices/files/ircservices-5.1.24-fd_set-amd64.patch
@@ -0,0 +1,236 @@
+From: Nathan Phillip Brink <binki@gentoo.org>
+Subject: Fix compilation on amd64 platform by using a different method
+ of fixing the printf() + size_t problem.
+
+The method used is to test if the `z' printf integer modifier works or
+not. If that works, use it. Otherwise, search for a normal integer
+type of similar length to size_t. Defines PRIdSIZE and PRIuSIZE in
+reminiscence of inttypes.h
+
+diff -r b323b647fe91 -r e10ae0e7b778 Makefile
+--- a/Makefile Tue Jun 21 00:42:59 2011 -0400
++++ b/Makefile Tue Jun 21 00:44:38 2011 -0400
+@@ -116,17 +116,17 @@
+
+ ifneq ($(STATIC_MODULES),)
+ modules: langstrs.h
+- @$(MAKE) -C modules all-static CFLAGS="$(CFLAGS)"
++ @$(MAKE) -C modules all-static CFLAGS='$(CFLAGS)'
+ else
+ modules: langstrs.h
+- @$(MAKE) -C modules all-dynamic CFLAGS="$(CFLAGS)"
++ @$(MAKE) -C modules all-dynamic CFLAGS='$(CFLAGS)'
+ endif
+
+ languages:
+- @$(MAKE) -C lang CFLAGS="$(CFLAGS)"
++ @$(MAKE) -C lang CFLAGS='$(CFLAGS)'
+
+ tools: langstrs.h services.h
+- @$(MAKE) -C tools CFLAGS="$(CFLAGS)"
++ @$(MAKE) -C tools CFLAGS='$(CFLAGS)'
+
+
+ # Catch any changes in compilation options at the top of this file or the
+diff -r b323b647fe91 -r e10ae0e7b778 configure
+--- a/configure Tue Jun 21 00:42:59 2011 -0400
++++ b/configure Tue Jun 21 00:44:38 2011 -0400
+@@ -271,6 +271,7 @@
+ SIZEOF_INT=
+ SIZEOF_LONG=
+ SIZEOF_PTR=
++SIZEOF_SIZE_T=
+ SIZEOF_TIME_T=
+ MAX_TIME_T=
+ SIZEOF_GID_T=bonkle
+@@ -1997,6 +1998,39 @@
+ fi
+ fi
+
++MODE="check_size_t "
++echo2 "Checking the size of size_t... "
++if [ "$SIZEOF_SIZE_T" ]; then
++ echo "(cached) `expr $SIZEOF_SIZE_T \* 8` bits"
++ log "cache supplied `expr $SIZEOF_SIZE_T \* 8` bits"
++else
++ cat >$CONFTMP/test.c <<EOT
++ #include <stdlib.h>
++ #include <stdio.h>
++ int main()
++ {
++ size_t a = 0;
++ printf("%d", sizeof(a));
++ return 0;
++ }
++EOT
++ if run $CC $CC_FLAGS $CONFTMP/test.c $CC_LIBS -o $CONFTMP/test; then
++ a="`$CONFTMP/test`"
++ log "test program output (sizeof(size_t)): $a"
++ if [ ! "$a" ]; then
++ echo "test program failed! Assuming `expr $SIZEOF_PTR \* 8` bits."
++ log "assuming `expr $SIZEOF_PTR \* 8` bits"
++ SIZEOF_SIZE_T=$SIZEOF_PTR
++ else
++ SIZEOF_SIZE_T="$a"
++ echo `expr $SIZEOF_SIZE_T \* 8` bits
++ log "`expr $SIZEOF_SIZE_T \* 8` bits"
++ fi
++ else
++ whoa_there
++ fi
++fi
++
+ MODE="check_time_t "
+ echo2 "Checking the size of time_t... "
+ if [ "$SIZEOF_TIME_T" -a "$MAX_TIME_T" ] ; then
+@@ -2135,6 +2169,53 @@
+ fi
+ fi
+
++MODE="check_PRIdSIZE "
++echo2 "Checking how to use size_t with printf... "
++if [ "$SIZE_T_FORMAT" ]; then
++ echo "(cached) $SIZE_T_FORMAT"
++ log "cache $SIZE_T_FORMAT"
++else
++ cat >$CONFTMP/test.c <<EOT
++ #include <stdlib.h>
++ #include <stdio.h>
++ int main()
++ {
++ size_t a = 26;
++ printf("%zu", a);
++ return 0;
++ }
++EOT
++ if run $CC $CC_FLAGS $CONFTMP/test.c $CC_LIBS -o $CONFTMP/test; then
++ a="`$CONFTMP/test`"
++ log "test program output printf(\"%zu\", (size_t)26): $a"
++ if [ "x$a" = "x26" ]; then
++ echo "can use %zu to print size_t (I love standards-compliance :-))."
++ log "can use %zu to print size_t (I love standards-compliance :-))."
++ CDEFS="$CDEFS -DPRIdSIZE=\\\"zd\\\" -DPRIuSIZE=\\\"zu\\\""
++ else
++ echo "test program indicated that runtime does not accept %zu for size_t."
++ log "test program indicated that runtime does not accept %zu for size_t."
++ if [ "x$SIZEOF_SIZE_T" = "x$SIZEOF_INT" ]; then
++ SIZE_MOD=
++ MATCHED=int
++ else
++ if [ "x$SIZEOF_SIZE_T" = "x$SIZEOF_LONG" ]; then
++ SIZE_MOD=l
++ MATCHED=long
++ else
++ SIZE_MOD=l
++ MATCHED="no known types"
++ fi
++ fi
++ echo "size_t's size matched $MATCHED, using %$SIZE_MOD""d to print size_t."
++ log "size_t's size matched $MATCHED, using %$SIZE_MOD""d to print size_t."
++ CDEFS="$CDEFS -DPRIdSIZE=\\\"$SIZE_MOD""d\\\" -DPRIuSIZE=\\\"$SIZE_MOD""u\\\""
++ fi
++ else
++ whoa_there
++ fi
++fi
++
+ ###########################################################################
+
+ # AIX workaround.
+diff -r b323b647fe91 -r e10ae0e7b778 defs.h
+--- a/defs.h Tue Jun 21 00:42:59 2011 -0400
++++ b/defs.h Tue Jun 21 00:44:38 2011 -0400
+@@ -224,11 +224,6 @@
+
+ /* Various generally useful macros. */
+
+-
+-/* Make sizeof() return an int regardless of compiler (avoids printf
+- * argument type warnings). */
+-#define sizeof(v) ((int)sizeof(v))
+-
+ /* Length of an array: */
+ #define lenof(a) (sizeof(a) / sizeof(*(a)))
+
+diff -r b323b647fe91 -r e10ae0e7b778 modules/Makefile
+--- a/modules/Makefile Tue Jun 21 00:42:59 2011 -0400
++++ b/modules/Makefile Tue Jun 21 00:44:38 2011 -0400
+@@ -18,7 +18,7 @@
+
+ all-dynamic:
+ @set -e ; for i in $(SUBDIRS) ; do \
+- $(MAKE) -C $$i $@ DIRNAME="$$i" CFLAGS="$(CFLAGS)" ; \
++ $(MAKE) -C $$i $@ DIRNAME="$$i" CFLAGS='$(CFLAGS)' ; \
+ if $(TEST_NT) ! -f .stamp -o "$$i/.stamp" -nt .stamp ; then \
+ echo "touch .stamp" ; \
+ touch .stamp ; \
+@@ -33,7 +33,7 @@
+ @echo '#include "modsyms.c"' >>modlist.c
+ @echo 'struct {const char *name; void *symlist;} modlist[] = {' >>modlist.c
+ @set -e ; for i in $(SUBDIRS) ; do \
+- $(MAKE) -C $$i $@ DIRNAME="$$i" CFLAGS="$(CFLAGS)" ; \
++ $(MAKE) -C $$i $@ DIRNAME="$$i" CFLAGS='$(CFLAGS)' ; \
+ cat $$i/.modext-*.h >>modext.h ; \
+ cat $$i/.modsyms-*.c >>modsyms.c ; \
+ cat $$i/.modlist-*.c >>modlist.c ; \
+diff -r b323b647fe91 -r e10ae0e7b778 modules/Makerules
+--- a/modules/Makerules Tue Jun 21 00:42:59 2011 -0400
++++ b/modules/Makerules Tue Jun 21 00:44:38 2011 -0400
+@@ -153,13 +153,13 @@
+ $(TARGET).o $(TARGET)_static.o: MODULE_CFLAGS += -DMODULE_MAIN_FILE
+ $(TARGET)_static.o: MODULE_CFLAGS += -D_this_module_ptr=_this_module_ptr_$(MODULE_ID) -Dmodule_version=module_version_$(MODULE_ID) -Dmodule_config=module_config_$(MODULE_ID) -Dinit_module=init_module_$(MODULE_ID) -Dexit_module=exit_module_$(MODULE_ID)
+ $(TARGET)_static.o: FRC
+- @$(MAKE) --no-print-directory $@ TARGET=$(@:_static.o=) INCLUDES2="$(INCLUDES-$(@:_static.o=.o))" CFLAGS="$(CFLAGS) $(MODULE_CFLAGS)" REALLY_COMPILE=2
++ @$(MAKE) --no-print-directory $@ TARGET=$(@:_static.o=) INCLUDES2="$(INCLUDES-$(@:_static.o=.o))" CFLAGS='$(CFLAGS) $(MODULE_CFLAGS)' REALLY_COMPILE=2
+ @if $(TEST_NT) ! -f .stamp -o "$@" -nt .stamp ; then \
+ echo "touch .stamp" ; \
+ touch .stamp ; \
+ fi
+ $(TARGET).o $(OBJECTS): FRC
+- @$(MAKE) --no-print-directory $@ TARGET=$(@:.o=) INCLUDES2="$(INCLUDES-$@)" CFLAGS="$(CFLAGS) $(MODULE_CFLAGS)" REALLY_COMPILE=2
++ @$(MAKE) --no-print-directory $@ TARGET=$(@:.o=) INCLUDES2="$(INCLUDES-$@)" CFLAGS='$(CFLAGS) $(MODULE_CFLAGS)' REALLY_COMPILE=2
+ @if $(TEST_NT) ! -f .stamp -o "$@" -nt .stamp ; then \
+ echo "touch .stamp" ; \
+ touch .stamp ; \
+diff -r b323b647fe91 -r e10ae0e7b778 tools/convert-cygnus.c
+--- a/tools/convert-cygnus.c Tue Jun 21 00:42:59 2011 -0400
++++ b/tools/convert-cygnus.c Tue Jun 21 00:44:38 2011 -0400
+@@ -245,7 +245,7 @@
+ break;
+ }
+ if (strlen(pass) > sizeof(ngi->pass)-1) {
+- fprintf(stderr, "%s:%d: Password for `%s' truncated to %d"
++ fprintf(stderr, "%s:%d: Password for `%s' truncated to %" PRIdSIZE
+ " characters\n", fname, line, ni->nick,
+ sizeof(ngi->pass)-1);
+ pass[sizeof(ngi->pass)-1] = 0;
+@@ -741,7 +741,7 @@
+ }
+ ci->founder = ni->nickgroup;
+ if (strlen(pass) > sizeof(ci->founderpass)-1) {
+- fprintf(stderr, "%s:%d: Password for `%s' truncated to %d"
++ fprintf(stderr, "%s:%d: Password for `%s' truncated to %" PRIdSIZE
+ " characters\n", fname, line, ci->name,
+ sizeof(ci->founderpass)-1);
+ pass[sizeof(ci->founderpass)-1] = 0;
+diff -r b323b647fe91 -r e10ae0e7b778 tools/convert-hybserv.c
+--- a/tools/convert-hybserv.c Tue Jun 21 00:42:59 2011 -0400
++++ b/tools/convert-hybserv.c Tue Jun 21 00:44:38 2011 -0400
+@@ -198,7 +198,7 @@
+ exit(1);
+ } else {
+ fprintf(stderr, "%s:%d: Password for `%s'"
+- " truncated to %d characters\n", fname,
++ " truncated to %" PRIdSIZE " characters\n", fname,
+ line, ni->nick,
+ sizeof(ngi->pass.password)-1);
+ }
+@@ -564,7 +564,7 @@
+ exit(1);
+ } else {
+ fprintf(stderr, "%s:%d: Password for `%s'"
+- " truncated to %d characters\n", fname,
++ " truncated to %" PRIdSIZE " characters\n", fname,
+ line, ci->name,
+ sizeof(ci->founderpass.password)-1);
+ }
diff --git a/net-irc/ircservices/files/ircservices-5.1.24-ircservices-chk-pidfile.patch b/net-irc/ircservices/files/ircservices-5.1.24-ircservices-chk-pidfile.patch
new file mode 100644
index 000000000000..b232e8c5e07a
--- /dev/null
+++ b/net-irc/ircservices/files/ircservices-5.1.24-ircservices-chk-pidfile.patch
@@ -0,0 +1,22 @@
+From: Nathan Phillip Brink <binki@gentoo.org>
+Date: 2011/06/15
+Subject: Use the same datadir/pidfile searching algorithm in
+ ircservices-chk as in ircservices to ensure consistent
+ results.
+
+--- a/tools/ircservices-chk.in
++++ b/tools/ircservices-chk.in
+@@ -21,10 +21,10 @@
+ fi
+
+ ok=
+-if [ -f "@DATDEST@/$PIDFILE" ] ; then
+- pid=`cat "@DATDEST@/$PIDFILE"`
++if ! cd "@DATDEST@" || [ -f "$PIDFILE" ] ; then
++ pid=`cat "$PIDFILE"`
+ if echo "0$pid" | grep -q '[^0-9]' ; then
+- rm -f "@DATDEST@/$PIDFILE"
++ rm -f "$PIDFILE"
+ elif kill -0 $pid ; then
+ ok=1
+ fi
diff --git a/net-irc/ircservices/files/ircservices-5.1.24-ldflags.patch b/net-irc/ircservices/files/ircservices-5.1.24-ldflags.patch
new file mode 100644
index 000000000000..b4041cd74a27
--- /dev/null
+++ b/net-irc/ircservices/files/ircservices-5.1.24-ldflags.patch
@@ -0,0 +1,12 @@
+diff -r e10ae0e7b778 modules/Makerules
+--- a/modules/Makerules Tue Jun 21 00:44:38 2011 -0400
++++ b/modules/Makerules Tue Jun 21 13:00:07 2011 -0400
+@@ -104,7 +104,7 @@
+
+ # Compile one or more objects into a dynamic module.
+ $(TARGET).so: $(TARGET).o $(OBJECTS)
+- $(CC_SHARED) $^ -o $@
++ $(CC_SHARED) $(CFLAGS) $(LFLAGS) $^ -o $@
+
+ # Compile one or more objects into a static module and generate a symbol
+ # list. The .a file we create here is just a placeholder to show that
diff --git a/net-irc/ircservices/files/ircservices-5.1.24-parallel-make.patch b/net-irc/ircservices/files/ircservices-5.1.24-parallel-make.patch
new file mode 100644
index 000000000000..910771adcdc5
--- /dev/null
+++ b/net-irc/ircservices/files/ircservices-5.1.24-parallel-make.patch
@@ -0,0 +1,28 @@
+From: Nathan Phillip Brink <binki@gentoo.org>
+Subject: Fix issues of langstrs.h not being built before modules and
+ tools are, hopefully fixing parallel make.
+
+diff -r ad64cfd2cacc -r b323b647fe91 Makefile
+--- a/Makefile Mon Jun 20 22:29:07 2011 -0400
++++ b/Makefile Tue Jun 21 00:42:59 2011 -0400
+@@ -115,17 +115,17 @@
+ $(CC) $(LFLAGS) $(OBJS) version.o $(MODLIB) $(LIBS) -o $@
+
+ ifneq ($(STATIC_MODULES),)
+-modules:
++modules: langstrs.h
+ @$(MAKE) -C modules all-static CFLAGS="$(CFLAGS)"
+ else
+-modules:
++modules: langstrs.h
+ @$(MAKE) -C modules all-dynamic CFLAGS="$(CFLAGS)"
+ endif
+
+ languages:
+ @$(MAKE) -C lang CFLAGS="$(CFLAGS)"
+
+-tools: services.h
++tools: langstrs.h services.h
+ @$(MAKE) -C tools CFLAGS="$(CFLAGS)"
+
+
diff --git a/net-irc/ircservices/files/ircservices.conf.d b/net-irc/ircservices/files/ircservices.conf.d
new file mode 100644
index 000000000000..ee6b45b0b033
--- /dev/null
+++ b/net-irc/ircservices/files/ircservices.conf.d
@@ -0,0 +1,6 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Id$
+
+# Se this to true to have ircservices depend on a local ircd to be up
+LOCALIRCD="false"
diff --git a/net-irc/ircservices/files/ircservices.confd b/net-irc/ircservices/files/ircservices.confd
new file mode 100644
index 000000000000..6d2bc475ca14
--- /dev/null
+++ b/net-irc/ircservices/files/ircservices.confd
@@ -0,0 +1,11 @@
+# -*- mode: sh; -*-
+
+# The user which ircservices should be run as. Set to an empty value
+# to have ircservices run as the user the initscript is run as (which
+# is generally bad practice).
+IRCSERVICES_USER=ircservices
+
+# The location of the pidfile (as written in ircservices.conf). If the
+# directory containing the pidfile does not exist, and attempt will be
+# made to create that folder and set its owner to IRCSERVICES_USER.
+IRCSERVICES_PIDFILE=/var/run/ircservices/ircservices.pid
diff --git a/net-irc/ircservices/files/ircservices.init.d b/net-irc/ircservices/files/ircservices.init.d
new file mode 100644
index 000000000000..7d7931c3f153
--- /dev/null
+++ b/net-irc/ircservices/files/ircservices.init.d
@@ -0,0 +1,30 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Id$
+
+depend() {
+ if [[ ${LOCALIRCD} = true ]]
+ then
+ need net ircd
+ else
+ need net
+ use ircd
+ fi
+}
+
+start() {
+ ebegin "Starting IRC Services"
+ start-stop-daemon --start --quiet --user ircservices --exec /usr/bin/ircservices -- \
+ -dir=/var/lib/ircservices \
+ -log=/var/log/ircservices/ircservices.log \
+ &>/dev/null
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping IRC Services"
+ start-stop-daemon --stop --quiet --pidfile /var/lib/ircservices/ircservices.pid
+ eend $?
+ rm -f /var/lib/ircservices/ircservices.pid
+}
diff --git a/net-irc/ircservices/files/ircservices.initd b/net-irc/ircservices/files/ircservices.initd
new file mode 100644
index 000000000000..05b5718bdb93
--- /dev/null
+++ b/net-irc/ircservices/files/ircservices.initd
@@ -0,0 +1,31 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Id$
+
+depend() {
+ need net
+ use ircd
+ provide irc-services
+}
+
+start() {
+ IRCSERVICES_RUNDIR="${IRCSERVICES_PIDFILE%/*}"
+ if ! [ -d "${IRCSERVICES_RUNDIR}" ]; then
+ ebegin "Creating ${IRCSERVICES_RUNDIR} for ${SVCNAME}"
+ mkdir "${IRCSERVICES_RUNDIR}" && chown "${IRCSERVICES_USER}" "${IRCSERVICES_RUNDIR}"
+ eend $?
+ fi
+
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --user ircservices --exec /usr/bin/ircservices -- \
+ -dir=/var/lib/ircservices \
+ -log=/var/log/ircservices/ircservices.log
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --pidfile "${IRCSERVICES_PIDFILE}"
+ eend $?
+}
diff --git a/net-irc/ircservices/ircservices-5.1.24.ebuild b/net-irc/ircservices/ircservices-5.1.24.ebuild
new file mode 100644
index 000000000000..7b45cfed41db
--- /dev/null
+++ b/net-irc/ircservices/ircservices-5.1.24.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils fixheadtails flag-o-matic prefix toolchain-funcs user
+
+DESCRIPTION="ChanServ, NickServ, and MemoServ with support for several IRC daemons"
+HOMEPAGE="http://achurch.org/services/"
+SRC_URI="http://achurch.org/services/tarballs/${P}.tar.gz"
+LICENSE="GPL-2 FDL-1.2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+pkg_setup() {
+ enewgroup ircservices
+ enewuser ircservices -1 -1 -1 ircservices
+
+ # this is needed, because old ebuilds added the user with ircservices:users
+ usermod -g ircservices ircservices
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-5.1.17-fPIC.patch \
+ "${FILESDIR}"/${PN}-5.1.17-fPIC-configure.patch \
+ "${FILESDIR}"/${P}-ircservices-chk-pidfile.patch \
+ "${FILESDIR}"/${P}-parallel-make.patch \
+ "${FILESDIR}"/${P}-ldflags.patch \
+ "${FILESDIR}"/${P}-as-needed.patch \
+ "${FILESDIR}"/${P}-fd_set-amd64.patch
+
+ ht_fix_file configure
+ sed -i \
+ -e "s/-m 750/-m 755/" \
+ -e "s/-m 640/-m 644/" \
+ configure || die
+
+ sed -i -e "s;ircservices.pid;${EPREFIX}/var/run/ircservices/&;g" data/example-ircservices.conf || die
+}
+
+src_configure() {
+ append-flags -fno-stack-protector
+ # configure fails with -O higher than 2
+ replace-flags "-O[3-9s]" "-O2"
+
+ RUNGROUP="ircservices" \
+ ./configure \
+ -cc "$(tc-getCC)" \
+ -cflags "${CFLAGS}" \
+ -lflags "${LDFLAGS}" \
+ -bindest /usr/bin \
+ -datdest /var/lib/ircservices \
+ || die "./configure failed"
+}
+
+src_install() {
+ dodir /usr/bin /{etc,usr/{$(get_libdir),share},var/lib}/ircservices
+ keepdir /var/log/ircservices
+
+ emake \
+ BINDEST="${D}"/usr/bin \
+ DATDEST="${D}"/var/lib/ircservices \
+ install
+
+ mv "${D}"/var/lib/ircservices/convert-db "${D}"/usr/bin/ircservices-convert-db || die "mv failed"
+
+ # Now we move some files around to make it FHS conform
+ mv "${D}"/var/lib/ircservices/example-ircservices.conf "${D}"/etc/ircservices/ircservices.conf || die "mv failed"
+ dosym /etc/ircservices/ircservices.conf /var/lib/ircservices/ircservices.conf
+
+ mv "${D}"/var/lib/ircservices/example-modules.conf "${D}"/etc/ircservices/modules.conf || die "mv failed"
+ dosym /etc/ircservices/modules.conf /var/lib/ircservices/modules.conf
+
+ mv "${D}"/var/lib/ircservices/modules "${D}"/usr/$(get_libdir)/ircservices || die "mv failed"
+ dosym /usr/$(get_libdir)/ircservices/modules /var/lib/ircservices/modules
+
+ mv "${D}"/var/lib/ircservices/{helpfiles,languages} "${D}"/usr/share/ircservices || die "mv failed"
+ dosym /usr/share/ircservices/helpfiles /var/lib/ircservices/helpfiles
+ dosym /usr/share/ircservices/languages /var/lib/ircservices/languages
+
+ fperms 750 /var/{lib,log}/ircservices /etc/ircservices
+ fperms 640 /etc/ircservices/{ircservices,modules}.conf
+ fowners ircservices:ircservices /var/{lib,log}/ircservices
+ fowners root:ircservices /etc/ircservices{,/{ircservices,modules}.conf}
+
+ newinitd "${FILESDIR}"/ircservices.initd ircservices
+ newconfd "${FILESDIR}"/ircservices.confd ircservices
+
+ doman docs/ircservices*.8
+ newman docs/convert-db.8 ircservices-convert-db.8
+
+ dohtml -r docs/*
+ dodoc docs/Changes* README docs/WhatsNew
+}
diff --git a/net-irc/ircservices/metadata.xml b/net-irc/ircservices/metadata.xml
new file mode 100644
index 000000000000..715b3c1f8069
--- /dev/null
+++ b/net-irc/ircservices/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>net-irc</herd>
+ <maintainer>
+ <email>gurligebis@gentoo.org</email>
+ <name>Bjarke Istrup Pedersen</name>
+ </maintainer>
+</pkgmetadata>