summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Phillip Brink <binki@gentoo.org>2011-06-27 23:55:00 +0000
committerNathan Phillip Brink <binki@gentoo.org>2011-06-27 23:55:00 +0000
commite18038e5354f0743460a22d0e49541cf2a9c1c29 (patch)
tree8d9401c60ad173067b7b393403e5b56616eed340 /net-irc
parentRespect LDFLAGS (bug #334709, patch thanks to Ross Smith) and update to EAPI 4. (diff)
downloadhistorical-e18038e5354f0743460a22d0e49541cf2a9c1c29.tar.gz
historical-e18038e5354f0743460a22d0e49541cf2a9c1c29.tar.bz2
historical-e18038e5354f0743460a22d0e49541cf2a9c1c29.zip
Bump to ircservices-5.1.24 with build on amd64 fixed, hopefully parallel make issues solved, LDFLAGS and -Wl,--as-needed support. Last upstream release (ircservices is discontinued upstream).
Package-Manager: portage-2.2.0_alpha41-r1/cvs/Linux x86_64
Diffstat (limited to 'net-irc')
-rw-r--r--net-irc/ircservices/ChangeLog17
-rw-r--r--net-irc/ircservices/Manifest31
-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.confd11
-rw-r--r--net-irc/ircservices/files/ircservices.initd31
-rw-r--r--net-irc/ircservices/ircservices-5.1.24.ebuild96
10 files changed, 498 insertions, 3 deletions
diff --git a/net-irc/ircservices/ChangeLog b/net-irc/ircservices/ChangeLog
index 94acac775a92..ae51b2eb3b7c 100644
--- a/net-irc/ircservices/ChangeLog
+++ b/net-irc/ircservices/ChangeLog
@@ -1,6 +1,19 @@
# ChangeLog for net-irc/ircservices
-# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-irc/ircservices/ChangeLog,v 1.47 2009/12/28 19:01:34 nixnut Exp $
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-irc/ircservices/ChangeLog,v 1.48 2011/06/27 23:55:00 binki Exp $
+
+*ircservices-5.1.24 (27 Jun 2011)
+
+ 27 Jun 2011; Nathan Phillip Brink <binki@gentoo.org>
+ +ircservices-5.1.24.ebuild, +files/ircservices-5.1.24-as-needed.patch,
+ +files/ircservices-5.1.24-fd_set-amd64.patch,
+ +files/ircservices-5.1.24-ircservices-chk-pidfile.patch,
+ +files/ircservices-5.1.24-ldflags.patch,
+ +files/ircservices-5.1.24-parallel-make.patch, +files/ircservices.confd,
+ +files/ircservices.initd:
+ Bump to ircservices-5.1.24 with build on amd64 fixed, hopefully parallel
+ make issues solved, LDFLAGS and -Wl,--as-needed support. Last upstream
+ release (ircservices is discontinued upstream).
28 Dec 2009; nixnut <nixnut@gentoo.org> ircservices-5.1.17.ebuild:
ppc stable #289539
diff --git a/net-irc/ircservices/Manifest b/net-irc/ircservices/Manifest
index 84d8f128d809..aabaf4f45fa9 100644
--- a/net-irc/ircservices/Manifest
+++ b/net-irc/ircservices/Manifest
@@ -1,12 +1,41 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
AUX 5.0.37-fPIC.patch 1172 RMD160 2fd0bbbb606ad26229c62ca64430cf1ebb0f8654 SHA1 15a1dba81a02681f1682efb8c007d2b51045e496 SHA256 a04e0ec338d84a1f1f64233af4aeeadd4f216032063347bec275b4e5ff5c9114
AUX 5.0.53-fPIC-configure.patch 635 RMD160 c4bb6b707999dd9e9b85046898daa71f8b717f26 SHA1 82ce45099e1e5a557dbfb1587b88cef679dbaa53 SHA256 d74043c7c031d07f0435996b52176a769bb7f892d4921c5a528c3a2405256252
AUX ircservices-5.1.17-fPIC-configure.patch 778 RMD160 c4e2132984dd63b31dbcecda7a9c527b39e474fc SHA1 4ac98c01a7824477916c86fd61a48b4a376de206 SHA256 b94e19034a85a96964ea659716278545dc77c7644e1c5a758dae66d5c9e538c2
AUX ircservices-5.1.17-fPIC.patch 622 RMD160 b1a1064317da8c8ddcec8049963990dd34607f3e SHA1 8d86abb05c88cbbc8656c5384d6a7011dfd0f645 SHA256 af5f1472b5c9b1e9ff50f4ade87f6a8e8784addaeb356fddce81f74cffad0f91
+AUX ircservices-5.1.24-as-needed.patch 668 RMD160 1dab251b0c1f68128619183e5ba07a2417b4c9fc SHA1 7c2ab1f3719fa7bb61dad17a85fba5759fe501bb SHA256 267c455715797c0f8d939512813f547171fa03c737d77b399e43ef503252d50b
+AUX ircservices-5.1.24-fd_set-amd64.patch 9361 RMD160 08d5e56308030e4dd6d0cc3f0a4d18a0d5b79b98 SHA1 913c4f31b5f44df4d495e5982dc75ce15fec768d SHA256 f20cc762bd575b898136f0bc638ba2c5490ab42b2a2e6963568a1ca9d099a3f4
+AUX ircservices-5.1.24-ircservices-chk-pidfile.patch 562 RMD160 f267da25a19cf33c235237ef9134c8ecad8931a5 SHA1 cfc0caf8298523d6575d10104313a5060d1d5a65 SHA256 f85d1ba2193713bd4ee396f4f9d51c4806bea536c7224115ce505f08750e43be
+AUX ircservices-5.1.24-ldflags.patch 479 RMD160 7cb97dca262e481db9a738e42fd7e29221fad98d SHA1 78ba695490acfc8ddbbb71715e813911d374433f SHA256 1798dac8bf78ceccf24874cecf331d8f6d605a152c5eec75557b69938029c06e
+AUX ircservices-5.1.24-parallel-make.patch 736 RMD160 66793c669ed14b035c365f5512561ccf11f58c42 SHA1 da5f3baf004797abe1e997fcb18c77dbc9f59524 SHA256 54104cc06087db860e1933363071fa7077a914eaf7efbaeea001e611182af6ce
AUX ircservices.conf.d 327 RMD160 584b51f9cc583920cd12646cfa84489fae99fab5 SHA1 178a5649edcb3f3075b6d8c0e9192081e1d42276 SHA256 e6fd7cacb1b44e6ddbf7d1c9831480eeed4d0e4a6b2f21188327971a073240a0
+AUX ircservices.confd 487 RMD160 76baf4978ec01ca71ed3c345fc7ddd3121729c38 SHA1 eae014947594f91677c55b1a453421b980edc635 SHA256 cbbd130e360f6d4191baf99d3943f3a5e09f32b016f94803660365879e0c02b7
AUX ircservices.init.d 764 RMD160 e54f5a09c99c9aea230013afe01b02080aa793b4 SHA1 e86f4706db823029ba65954845d3d080034f2855 SHA256 9dacabf713916d88b6c03af21c0a449f527e9c19d1e9f1c56aeeeeb68586bdbd
+AUX ircservices.initd 876 RMD160 800ce2c041d2e8f648d0dd744e3b68bb6ea65c7d SHA1 c13fe473b4e90eb7c5971242b6c999f97b3a6f80 SHA256 56122b2c54fe1ee68cd5300108c2d4ecbeb1b66a7b7c2363581c0c7bb4b8670b
DIST ircservices-5.0.63.tar.gz 1167436 RMD160 d61d5bf3dc28ac38a391b3918289d74ce2106ace SHA1 5c08af0d56bc99f9dc8f331eae9963beb3e28dad SHA256 7cf68b2dc956c25da694e1650b3871a9a55feac191292062d3d568d377be6ce3
DIST ircservices-5.1.17.tar.gz 1529495 RMD160 0704e7c487ca0f47ebf1e97db59e5889fa279403 SHA1 f486405a5887bd11d07fb50808ddfc576307f6d5 SHA256 faba759b4d9faf39784a6ce109364ce2c7808e3d681b4c2728f2cc29fa042590
+DIST ircservices-5.1.24.tar.gz 1516612 RMD160 d30ed9e2d5dc25945cb20d3dec4e18318efcf037 SHA1 221bef1139aa3845d4015d71828ac8677c279de4 SHA256 63c88b84ddcd12f3636ca9c69987a06e4055156ae3ebe2ff4f22205c66c2a365
EBUILD ircservices-5.0.63.ebuild 3420 RMD160 1e846339e0ecec52b2fa0f63017d5147c9ac1191 SHA1 fb183478e7867059f9eb42d8ae307f131f9ba9af SHA256 f3c30d41f9a96103a660658ac9d699c27f106281287367c7d07667488e62cbf8
EBUILD ircservices-5.1.17.ebuild 3408 RMD160 3594428aa287ce42afc66cf5f8a265ba74d012cf SHA1 7749a399988d0e98be8378e3c3fdaa71357e2b57 SHA256 917443fbf0943223614ecf4b4ba91c210342d6f4f40b2d44f243ddd59bad9c06
-MISC ChangeLog 7555 RMD160 e4eb15094d3ffaca02e60373afbc873a5136084d SHA1 29a631f293d80238b72165aaca7ceefb3ed04ec1 SHA256 05c3761e794abd8f2abd021266a70a51a98e74d5b24568bbdc1dd775a400dbee
+EBUILD ircservices-5.1.24.ebuild 3262 RMD160 27aa1ffaad99c85f947d5fa31339ade91949d52b SHA1 fc1567edf7610e809668898bb94fc1411790fd0f SHA256 55b6e1993747a37b55bd4c4c694efdd1324e814a9a43643c11dacc03f6051797
+MISC ChangeLog 8169 RMD160 161e42e34c36fc9f3ade06d7ff7279582de042b8 SHA1 aa2fd4ed31585730b97eff71c269520745d46372 SHA256 08e302d962155f528321c3a62659f24c8e484e4ff7d8eb2ca2a58128c8db3493
MISC metadata.xml 267 RMD160 6c1df58375f4a1410db23bc639e1d2a278edfeb8 SHA1 a9324f1d3ca9746fe1ab419901d9c6556803dc4b SHA256 e143475a8cdddede06c25d62f39b853951fe13af9739fae4969f2aec483256dc
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.14 (GNU/Linux)
+
+iQIcBAEBCAAGBQJOCRiJAAoJEHQ6UuhrqBBQ680QALZG3VgnGV8yijxox/ICQAgT
++84A1IVgUPwCq8r281sD4KhlfPPVI3aGfVInji4YUxjXukg/N9ykuJVFO8DaNcQ/
+JlPKGIVZO4nHT1ZoJ3y6iRy+DscBRzJ8CcoDnDhcaXoRp1BU8NX41GDTF8QoxXzZ
+5/7BT14NvSKRz7vci2AfLD9oOMbBJjy6tV/Xr7puPFDWBTQPhe0TWFJiwUBBIHSI
+ATGxAFRE19ecThHRgu03LFSQdf+eyH7cYCwXWIeWkNafNRhvQljLpqw9kaG/fSRq
+xlRXrlGRNfUteHqhGGT/Yjs0+krHvkU/Vb4qNAejqEMSMtyR7eU0L13WRkSeAQu2
+OAvMFQLw77NwtUQH38AnMwtt88t9HOMJ5iCetylDLeDFKL/5cPWKgE06M9jG4SeL
+7H4ajvPZlwmS8KGsWOQQJqw50qiCRzGSqwAerdiCKTkq+rsW3oH2FuMRTHRq6hWP
+lH4ur5xBr2XJuDHR6n5dXFjaSLG0X7rH4hsGGxu/cCXKP6S9gY/j66VezSX/0dyR
+mWo9Qvv+X81neuh5zX4Sv8Y9jsD3KyvtAoFlgQqDTCNNYdwkJizc0t0gfZgIp604
+gWcyNbTn8tt5jGs5pFWVFlFD3CxK8xqGMEpXF0tfuozSCe5NGqGP2M6UmEDT/uVE
+dcnqgYspUa2vyZmKMKs+
+=MBHT
+-----END PGP SIGNATURE-----
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.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.initd b/net-irc/ircservices/files/ircservices.initd
new file mode 100644
index 000000000000..0bc561c7203c
--- /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
+# $Header: /var/cvsroot/gentoo-x86/net-irc/ircservices/files/ircservices.initd,v 1.1 2011/06/27 23:55:00 binki Exp $
+
+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 --chuid 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..825f9df5339b
--- /dev/null
+++ b/net-irc/ircservices/ircservices-5.1.24.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-irc/ircservices/ircservices-5.1.24.ebuild,v 1.1 2011/06/27 23:55:00 binki Exp $
+
+EAPI=4
+
+inherit eutils fixheadtails flag-o-matic prefix toolchain-funcs
+
+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
+}