diff options
Diffstat (limited to 'net-irc')
350 files changed, 13463 insertions, 0 deletions
diff --git a/net-irc/anope/Manifest b/net-irc/anope/Manifest new file mode 100644 index 000000000000..f40a60829509 --- /dev/null +++ b/net-irc/anope/Manifest @@ -0,0 +1 @@ +DIST anope-1.8.7.tar.gz 1586164 SHA256 804516153936b1147a79960a283229191d29e1d9162c3ec70d86d099ee04447b SHA512 3fb67f73b8f4dbdfbb9b4ac41a20e3b5c46d54cf5abb303f4a25d3a5863ef860ba5bdffc67439e5f1435675f80f86b2c283932c1a05edde2ae49612947fbd074 WHIRLPOOL 347231e1a9be8bfd9f09a895af5ede179a24c1ac56cefbfb0fb343ea060497f2985e9cc2fd368857e58ea919751fde1c10bef1f02333f989928c7504314c0f13 diff --git a/net-irc/anope/anope-1.8.7-r1.ebuild b/net-irc/anope/anope-1.8.7-r1.ebuild new file mode 100644 index 000000000000..95b969e5687a --- /dev/null +++ b/net-irc/anope/anope-1.8.7-r1.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit autotools eutils multilib versionator user + +DESCRIPTION="Anope IRC Services" +HOMEPAGE="http://www.anope.org" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="mysql" + +DEPEND="mysql? ( virtual/mysql )" +RDEPEND="${DEPEND}" + +pkg_pretend() { + local replaced_version + for replaced_version in ${REPLACING_VERSIONS} ; do + if ! version_is_at_least 1.8.7 ${replaced_version} && [[ -f ${ROOT}opt/anope/data/nick.db ]]; then + eerror "It looks like you have an older version of Anope installed." + eerror "To upgrade, shut down Anope and copy your databases to" + eerror "${ROOT}var/lib/anope and your configuration to ${ROOT}etc/anope" + eerror "You can do this by:" + eerror "# mkdir -p ${ROOT}var/lib/anope ${ROOT}etc/anope" + eerror "# chown anope:anope ${ROOT}var/lib/anope" + eerror "# mv ${ROOT}opt/anope/data/*.db ${ROOT}var/lib/anope" + eerror "# mv ${ROOT}opt/anope/data/services.conf ${ROOT}etc/anope" + die "Please move your anope database files from /opt/anope/data" + fi + done +} + +pkg_setup() { + enewgroup anope + enewuser anope -1 -1 -1 anope +} + +src_prepare() { + epatch "${FILESDIR}/pid-patch.diff" + epatch "${FILESDIR}/${P}-ldflags-fix.patch" + epatch "${FILESDIR}/${P}-libdir-gentoo.patch" + epatch "${FILESDIR}"/${P}-mariadb.patch # bug 381119 + eautoconf +} + +src_configure() { + local myconf + if ! use mysql; then + myconf="${myconf} --without-mysql" + fi + + econf \ + ${myconf} \ + --with-bindir=/usr/bin/ \ + --with-datadir=/var/lib/anope \ + --with-libdir=/usr/$(get_libdir)/anope/ \ + --with-rungroup=anope \ + --with-permissions=077 + + sed -i -e "/^build:/s:$: language:g" "${S}"/Makefile || die "sed failed" +} + +src_install() { + keepdir /var/log/anope /var/lib/anope/backups + fowners anope:anope /var/{lib,log}/anope /var/lib/anope/backups + + local baselibdir + baselibdir="${D}/usr/$(get_libdir)/anope" + + dodir /usr/$(get_libdir)/anope/{lang,modules} + emake DATDEST="${baselibdir}" \ + BINDEST="${D}/usr/bin" \ + MODULE_PATH="${baselibdir}/modules" \ + install + + newinitd "${FILESDIR}/anope-init.d" anope + newconfd "${FILESDIR}/anope-conf.d" anope + + dodoc Changes Changes.conf Changes.lang Changes.mysql docs/* data/example.conf + use mysql && dodoc data/tables.sql + + insinto /etc/anope + newins data/example.conf services.conf +} + +pkg_preinst() { + if has_version net-irc/anope ; then + local directory + directory="${ROOT}"var/lib/anope/pre-update + elog "Making a backup of your databases to ${directory}" + if [ ! -d "${directory}" ]; then + mkdir -p "${directory}" || die "failed to create backup directory" + chown anope:anope "${directory}"/../ || die "failed to chown data directory" + fi + # don't die otherwise merge will fail if there are no existing databases + cp "${ROOT}"/var/lib/anope/*.db "${directory}" + fi +} + +pkg_postinst() { + echo + ewarn "Anope won't run out of the box, you still have to configure it to match your IRCD's configuration." + ewarn "Edit /etc/anope/services.conf to configure Anope." + + if use mysql; then + echo + ewarn "!!! ATTENTION !!!" + ewarn "Be sure to read Changes.mysql to update your MySQL" + ewarn "tables or anope will break after restart" + ewarn "!!! ATTENTION !!!" + echo + einfo "The mysql script for updating the tables is located in the" + einfo "/usr/share/doc/${PF} directory" + fi +} diff --git a/net-irc/anope/files/anope-1.8.7-ldflags-fix.patch b/net-irc/anope/files/anope-1.8.7-ldflags-fix.patch new file mode 100644 index 000000000000..98500509693b --- /dev/null +++ b/net-irc/anope/files/anope-1.8.7-ldflags-fix.patch @@ -0,0 +1,47 @@ +diff -aurp a/src/core/Makefile b/src/core/Makefile +--- a/src/core/Makefile 2010-10-10 19:55:31.396999906 +0000 ++++ b/src/core/Makefile 2010-10-10 19:53:54.877001245 +0000 +@@ -24,7 +24,7 @@ distclean: spotless + $(CC) ${CFLAGS} ${CDEFS} ${MODULEFLAGS} -I../${INCLUDEDIR} -c $< + + .o.s: +- $(CC) ${SHARED} ../mod_version.o $< -o $*.so ${PROFILE} ++ $(CC) $(CFLAGS) $(LDFLAGS) ${SHARED} ../mod_version.o $< -o $*.so ${PROFILE} + @$(TOUCH) $*.s + + subs: +diff -aurp a/src/modules/Makefile b/src/modules/Makefile +--- a/src/modules/Makefile 2010-10-10 19:55:32.486000023 +0000 ++++ b/src/modules/Makefile 2010-10-10 19:54:07.240000026 +0000 +@@ -27,7 +27,7 @@ distclean: spotless + $(CC) ${CFLAGS} ${CDEFS} ${MODULEFLAGS} -I../${INCLUDEDIR} -c $< + + .o.s: +- $(CC) ${SHARED} ../mod_version.o $< -o $*.so ${PROFILE} ++ $(CC) $(CFLAGS) $(LDFLAGS) ${SHARED} ../mod_version.o $< -o $*.so ${PROFILE} + @$(TOUCH) $*.s + + subs: +diff -aurp a/src/protocol/Makefile b/src/protocol/Makefile +--- a/src/protocol/Makefile 2010-10-10 19:55:33.605002302 +0000 ++++ b/src/protocol/Makefile 2010-10-10 19:54:19.271997806 +0000 +@@ -24,7 +24,7 @@ distclean: clean spotless + $(CC) ${CFLAGS} ${CDEFS} ${MODULEFLAGS} -I../${INCLUDEDIR} -c $< + + .o.s: +- $(CC) ${SHARED} ../mod_version.o $< -o $*.so ${PROFILE} ++ $(CC) $(CFLAGS) $(LDFLAGS) ${SHARED} ../mod_version.o $< -o $*.so ${PROFILE} + @$(TOUCH) $*.s + + subs: +--- a/src/tools/Makefile 2011-12-28 20:00:00.646427623 +0000 ++++ b/src/tools/Makefile 2011-12-28 20:00:41.030430806 +0000 +@@ -10,7 +10,7 @@ MAKEARGS = 'CFLAGS=${CFLAGS}' 'CC=${CC}' + 'RUNGROUP=${RUNGROUP}' + + .c.o: +- $(CC) $(CFLAGS) -I../include/ $< -o $* ++ $(CC) $(LDFLAGS) $(CFLAGS) -I../include/ $< -o $* + + all: ${OBJS} + diff --git a/net-irc/anope/files/anope-1.8.7-libdir-gentoo.patch b/net-irc/anope/files/anope-1.8.7-libdir-gentoo.patch new file mode 100644 index 000000000000..7a86d0f517b9 --- /dev/null +++ b/net-irc/anope/files/anope-1.8.7-libdir-gentoo.patch @@ -0,0 +1,91 @@ +--- configure.in ++++ configure.in +@@ -286,6 +286,15 @@ + ]) + + AC_SUBST(DATDEST) ++ ++AC_ARG_WITH(libdir, [ --with-libdir=libdir Specify the location of the services lib folder], [ ++ AC_DEFINE_UNQUOTED(LIB_DIR,"$withval","services lib dir") ++ AC_DEFINE_UNQUOTED(MODULE_PATH,"${withval}/modules/","Module dir") ++ DATDEST=$withval ++ MODULE_PATH=${withval}/modules/ ++]) ++ ++AC_SUBST(LIB_PATH) + AC_SUBST(MODULE_PATH) + + AC_CONFIG_FILES( \ +--- src/Makefile ++++ src/Makefile +@@ -115,10 +115,6 @@ + ln $(BINDEST)/services $(BINDEST)/listnicks + ln $(BINDEST)/services $(BINDEST)/listchans + (cd ../lang ; $(MAKE) install) +- $(CP) ../data/* $(DATDEST) +- $(INSTALL) bin/mydbgen $(DATDEST)/mydbgen +- test -d $(DATDEST)/backups || mkdir $(DATDEST)/backups +- test -d $(DATDEST)/logs || mkdir $(DATDEST)/logs + @if [ "$(MODULE_PATH)" ] ; then \ + test -d ${MODULE_PATH} || mkdir ${MODULE_PATH} ; \ + test -d ${MODULE_PATH}/runtime || mkdir ${MODULE_PATH}/runtime ; \ +--- include/sysconf.h.in ++++ include/sysconf.h.in +@@ -96,6 +96,9 @@ + /* "Module dir" */ + #undef MODULE_PATH + ++/* "Lib dir" */ ++#undef LIB_DIR ++ + /* "Has mysql/mysql.h" */ + #undef MYSQL_HEADER_PREFIX + +--- include/config.h ++++ include/config.h +@@ -22,10 +22,10 @@ + /******* General configuration *******/ + + /* Name of configuration file (in Services directory) */ +-#define SERVICES_CONF "services.conf" ++#define SERVICES_CONF "/etc/anope/services.conf" + + /* Name of log file (in Services directory) */ +-#define LOG_FILENAME "services.log" ++#define LOG_FILENAME "/var/log/anope/services.log" + + /* Maximum amount of data from/to the network to buffer (bytes). */ + #define NET_BUFSIZE 65536 +--- src/log.c ++++ src/log.c +@@ -33,7 +33,7 @@ + + /* fix bug 577 */ + strftime(timestamp, sizeof(timestamp), "%Y%m%d", tm); +- snprintf(name, count, "logs/%s.%s", log_filename, timestamp); ++ snprintf(name, count, "%s.%s", log_filename, timestamp); + curday = tm->tm_yday; + + return 1; +--- src/modules.c ++++ src/modules.c +@@ -2846,7 +2846,7 @@ + + + #ifndef _WIN32 +- snprintf(dirbuf, BUFSIZE, "%s/modules/runtime", services_dir); ++ snprintf(dirbuf, BUFSIZE, "%s/modules/runtime", LIB_DIR); + #else + snprintf(dirbuf, BUFSIZE, "\\%s", "modules/runtime"); + #endif +--- src/language.c ++++ src/language.c +@@ -71,7 +71,7 @@ + alog("debug: Loading language %d from file `languages/%s'", + index, filename); + } +- snprintf(buf, sizeof(buf), "languages/%s", filename); ++ snprintf(buf, sizeof(buf), "%s/languages/%s", LIB_DIR, filename); + #ifndef _WIN32 + if (!(f = fopen(buf, "r"))) { + #else diff --git a/net-irc/anope/files/anope-1.8.7-mariadb.patch b/net-irc/anope/files/anope-1.8.7-mariadb.patch new file mode 100644 index 000000000000..98a1b3634b6a --- /dev/null +++ b/net-irc/anope/files/anope-1.8.7-mariadb.patch @@ -0,0 +1,109 @@ +Author: Adam +Date: 2012-01-11 +Subject: Fix https://bugs.gentoo.org/381119 , where -I ordering causes + mariadb's services.h to be #include-ed improperly. + +diff --git a/src/Makefile b/src/Makefile +index 739c918..a9a2ee2 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -25,7 +25,7 @@ MAKEARGS = 'CFLAGS=${CFLAGS}' 'CC=${CC}' 'ANOPELIBS=${ANOPELIBS}' \ + 'RDB=${RDB}' 'SHARED=${SHARED}' 'MODULEFLAGS=${MODULEFLAGS}' + + .c.o: +- $(CC) $(CFLAGS) -I../include/ -c $< ++ $(CC) -I../include/ $(CFLAGS) -c $< + + all: services + +diff --git a/src/core/Makefile b/src/core/Makefile +index 4ec2754..32c049f 100644 +--- a/src/core/Makefile ++++ b/src/core/Makefile +@@ -21,7 +21,7 @@ install: + distclean: spotless + + .c.o: +- $(CC) ${CFLAGS} ${CDEFS} ${MODULEFLAGS} -I../${INCLUDEDIR} -c $< ++ $(CC) -I../${INCLUDEDIR} ${CFLAGS} ${CDEFS} ${MODULEFLAGS} -c $< + + .o.s: + $(CC) ${SHARED} ../mod_version.o $< -o $*.so ${PROFILE} +diff --git a/src/core/Makefile.sub b/src/core/Makefile.sub +index 9fbadf3..d93e6d5 100644 +--- a/src/core/Makefile.sub ++++ b/src/core/Makefile.sub +@@ -16,7 +16,7 @@ module: $(OBJECTS) so + distclean: spotless + + .c.o: +- $(CC) $(CC) ${CFLAGS} ${CDEFS} ${MODULEFLAGS} -I../ -I../../${INCLUDEDIR} -c $< ++ $(CC) -I../ -I../../${INCLUDEDIR} ${CFLAGS} ${CDEFS} ${MODULEFLAGS} -c $< + + so: + $(CC) ${SHARED} $(OBJECTS) -o ../$(TARGET).so ${PROFILE} +diff --git a/src/modules/Makefile b/src/modules/Makefile +index cafbe45..bde65b3 100644 +--- a/src/modules/Makefile ++++ b/src/modules/Makefile +@@ -24,7 +24,7 @@ install: + distclean: spotless + + .c.o: +- $(CC) ${CFLAGS} ${CDEFS} ${MODULEFLAGS} -I../${INCLUDEDIR} -c $< ++ $(CC) -I../${INCLUDEDIR} ${CFLAGS} ${CDEFS} ${MODULEFLAGS} -c $< + + .o.s: + $(CC) ${SHARED} ../mod_version.o $< -o $*.so ${PROFILE} +diff --git a/src/modules/Makefile.sub b/src/modules/Makefile.sub +index 7697249..b7c244f 100644 +--- a/src/modules/Makefile.sub ++++ b/src/modules/Makefile.sub +@@ -16,7 +16,7 @@ module: $(OBJECTS) so + distclean: spotless + + .c.o: +- $(CC) ${CFLAGS} ${CDEFS} ${MODULEFLAGS} -I../ -I../../${INCLUDEDIR} -c $< ++ $(CC) -I../ -I../../${INCLUDEDIR} ${CFLAGS} ${CDEFS} ${MODULEFLAGS} -c $< + + so: + $(CC) ${SHARED} ../../mod_version.o $(OBJECTS) -o ../$(TARGET).so ${PROFILE} +diff --git a/src/protocol/Makefile b/src/protocol/Makefile +index ab837e4..d962d8b 100644 +--- a/src/protocol/Makefile ++++ b/src/protocol/Makefile +@@ -21,7 +21,7 @@ install: + distclean: clean spotless + + .c.o: +- $(CC) ${CFLAGS} ${CDEFS} ${MODULEFLAGS} -I../${INCLUDEDIR} -c $< ++ $(CC) -I../${INCLUDEDIR} ${CFLAGS} ${CDEFS} ${MODULEFLAGS} -c $< + + .o.s: + $(CC) ${SHARED} ../mod_version.o $< -o $*.so ${PROFILE} +diff --git a/src/protocol/Makefile.sub b/src/protocol/Makefile.sub +index a2d6a41..d93e6d5 100644 +--- a/src/protocol/Makefile.sub ++++ b/src/protocol/Makefile.sub +@@ -16,7 +16,7 @@ module: $(OBJECTS) so + distclean: spotless + + .c.o: +- $(CC) ${CFLAGS} ${CDEFS} ${MODULEFLAGS} -I../ -I../../${INCLUDEDIR} -c $< ++ $(CC) -I../ -I../../${INCLUDEDIR} ${CFLAGS} ${CDEFS} ${MODULEFLAGS} -c $< + + so: + $(CC) ${SHARED} $(OBJECTS) -o ../$(TARGET).so ${PROFILE} +diff --git a/src/tools/Makefile b/src/tools/Makefile +index 4dffbf0..87bd0ae 100644 +--- a/src/tools/Makefile ++++ b/src/tools/Makefile +@@ -10,7 +10,7 @@ MAKEARGS = 'CFLAGS=${CFLAGS}' 'CC=${CC}' 'ANOPELIBS=${ANOPELIBS}' \ + 'RUNGROUP=${RUNGROUP}' + + .c.o: +- $(CC) $(LDFLAGS) $(CFLAGS) -I../include/ $< -o $* ++ $(CC) -I../include/ $(LDFLAGS) $(CFLAGS) $< -o $* + + all: ${OBJS} + diff --git a/net-irc/anope/files/anope-conf.d b/net-irc/anope/files/anope-conf.d new file mode 100644 index 000000000000..0aee1203d013 --- /dev/null +++ b/net-irc/anope/files/anope-conf.d @@ -0,0 +1,9 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# user to run ultimate-ircd as +ANOPE_USER="anope" + +# Additional commandline parameters +ANOPE_OPTS="" diff --git a/net-irc/anope/files/anope-init.d b/net-irc/anope/files/anope-init.d new file mode 100644 index 000000000000..6523007e93e5 --- /dev/null +++ b/net-irc/anope/files/anope-init.d @@ -0,0 +1,34 @@ +#!/sbin/runscript +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +PIDFILE=/run/anope/services.pid + +extra_started_commands="reload" + +start_pre() { + checkpath -o ${ANOPE_USER} -d "$(dirname $PIDFILE)" +} + +start() { + ebegin "Starting Anope IRC Services" + start-stop-daemon --start --exec /usr/bin/services \ + --user ${ANOPE_USER} --pidfile ${PIDFILE} \ + -- ${ANOPE_OPTS} + eend $? +} + +stop() { + ebegin "Stopping Anope IRC Services" + start-stop-daemon --stop --pidfile ${PIDFILE} + eend $? +} + +reload() { + ebegin "Reloading Anope IRC Services" + start-stop-daemon --signal USR2 --exec /usr/bin/services \ + --pidfile ${PIDFILE} + eend $? +} + diff --git a/net-irc/anope/files/pid-patch.diff b/net-irc/anope/files/pid-patch.diff new file mode 100644 index 000000000000..c92e1216be9c --- /dev/null +++ b/net-irc/anope/files/pid-patch.diff @@ -0,0 +1,11 @@ +--- data/example.conf.orig 2008-12-14 20:37:22.000000000 +0000 ++++ data/example.conf 2008-12-14 20:37:43.000000000 +0000 +@@ -285,7 +285,7 @@ HostServName "HostServ" "vHost Server" + # PIDFile <filename> [REQUIRED] + # Specifies the name of the file containing Services' process ID. + +-PIDFile services.pid ++PIDFile /var/run/anope/services.pid + + # MOTDFile <filename> [REQUIRED] + # Specifies the name of the Message of the Day file. diff --git a/net-irc/anope/metadata.xml b/net-irc/anope/metadata.xml new file mode 100644 index 000000000000..e180509b7d60 --- /dev/null +++ b/net-irc/anope/metadata.xml @@ -0,0 +1,13 @@ +<?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> + <longdescription>Anope IRC Services</longdescription> + <upstream> + <remote-id type="sourceforge">anope</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-irc/asuka/Manifest b/net-irc/asuka/Manifest new file mode 100644 index 000000000000..678ff3d26c7f --- /dev/null +++ b/net-irc/asuka/Manifest @@ -0,0 +1 @@ +DIST asuka-1.2.1.tar.bz2 705316 SHA256 4714f0786a39e7a4a39e795919dc3386797d27439d3bdbc61d7ae11d00543fb3 SHA512 6509be1356a7e7ad5105cade0284d0b2a4cecc9047cb39d350cdf8f6830bb279ad36cba949544444a5cb773570324e63a738ad7eea7ea645c877ca0ecfe14b49 WHIRLPOOL 4e46e7f2d02228bd4267bf2538ce92832ab82410218fa5b8f159887db82b8bdbdb7bb03d740edc932b07daef0b4442b9598b5e23f5171ce80d47c3cefa05cec5 diff --git a/net-irc/asuka/asuka-1.2.1.ebuild b/net-irc/asuka/asuka-1.2.1.ebuild new file mode 100644 index 000000000000..4c9505dc2f95 --- /dev/null +++ b/net-irc/asuka/asuka-1.2.1.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +inherit eutils flag-o-matic user + +DESCRIPTION="The QuakeNet IRC Server" +HOMEPAGE="http://dev-com.quakenet.org/" +SRC_URI="http://dev-com.quakenet.org/releases/${PN}/${PV}/${P}.tar.bz2" + +LICENSE="GPL-1" +SLOT="0" +KEYWORDS="x86 sparc" + +IUSE="debug" + +src_compile() { + # configure fails with this flag, bug 171780 + filter-flags -ggdb + + econf \ + --with-symlink=asuka-ircd \ + --with-dpath=/etc/asuka \ + --with-cpath=/etc/asuka/ircd.conf \ + --with-lpath=/var/log/asuka/asuka.log \ + $(use_enable debug) \ + || die "econf failed" + emake || die "emake failed" +} + +src_install() { + newbin ircd/ircd asuka-ircd || die "newbin failed" + newman doc/ircd.8 asuka-ircd.8 || die "newman failed" + + insinto /etc/asuka + doins doc/ircd.conf.sample || die "doins failed" + + newinitd ${FILESDIR}/asuka.init.d asuka || die "newinitd failed" + newconfd ${FILESDIR}/asuka.conf.d asuka || die "newconfd failed" + + keepdir /var/log/asuka + + dodoc \ + INSTALL* LICENSE README* RELEASE.NOTES TODO* \ + doc/readme.* doc/p10.html doc/features.txt doc/Authors \ + || die "dodoc failed" +} + +pkg_postinst() { + enewuser asuka + chown asuka ${ROOT}/var/log/asuka + + elog + elog "A sample config file can be found at /etc/asuka/ircd.conf.sample" + elog +} diff --git a/net-irc/asuka/files/asuka.conf.d b/net-irc/asuka/files/asuka.conf.d new file mode 100644 index 000000000000..c68a8227318a --- /dev/null +++ b/net-irc/asuka/files/asuka.conf.d @@ -0,0 +1,7 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# Config file for /etc/init.d/asuka + +ASUKA_UID="asuka" diff --git a/net-irc/asuka/files/asuka.init.d b/net-irc/asuka/files/asuka.init.d new file mode 100644 index 000000000000..510b8e97a1ad --- /dev/null +++ b/net-irc/asuka/files/asuka.init.d @@ -0,0 +1,20 @@ +#!/sbin/runscript +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need net +} + +start() { + ebegin "Starting asuka-ircd" + start-stop-daemon --start --quiet --chuid ${ASUKA_UID} --exec /usr/bin/asuka-ircd + eend $? "Failed to start asuka-ircd" +} + +stop() { + ebegin "Stopping asuka-ircd" + start-stop-daemon --stop --quiet --exec /usr/bin/asuka-ircd + eend $? "Failed to stop asuka-ircd" +} diff --git a/net-irc/asuka/metadata.xml b/net-irc/asuka/metadata.xml new file mode 100644 index 000000000000..6ef15e900f17 --- /dev/null +++ b/net-irc/asuka/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +</pkgmetadata> diff --git a/net-irc/atheme-services/Manifest b/net-irc/atheme-services/Manifest new file mode 100644 index 000000000000..a4924c9c3099 --- /dev/null +++ b/net-irc/atheme-services/Manifest @@ -0,0 +1,2 @@ +DIST atheme-services-6.0.11.tar.bz2 859123 SHA256 762bc717d4710d135f8654025c34c4fc431a6a8cf7345e994fbe800fa78a9f74 SHA512 81b85744aba5ab5708a21c006d09f870be34a9ff15a791c0ed234de984d44e2b1a6021af1f1e21ad94010d7a42246f6ac3fa9daf3d7c379a1c19b7661a947c97 WHIRLPOOL 3664ef405ace32973d823dd37003c7f5c107a429228c46a72420ab829bde6af0a2bdfb7d2d69b4a6d1fbc537d7a1a1a20ce69f57568ad47016675b85158154f4 +DIST atheme-services-7.0.6.tar.bz2 1086070 SHA256 314fd708dc63145e9db10c5a2ed5afebf16b398d617a633c5e80d003039afdeb SHA512 448dd532c1ece9f3d5f36891464a4fdf6b16e021fb24c9d3850c0bbe473cbd472bb7d5442a331bcf96fbdf8d09a261a6baeaeb96f41e1766d556b01bc8d0f8e3 WHIRLPOOL c8d6d6d4ca5a816f5e9b74ff0272cf797396722f0e0cfece29cc738e9396f9cf3ce070232aee9bcf99849be96cbdfa92c73a468d611caf1935cc7bb6443ede6e diff --git a/net-irc/atheme-services/atheme-services-6.0.11-r1.ebuild b/net-irc/atheme-services/atheme-services-6.0.11-r1.ebuild new file mode 100644 index 000000000000..435bee27967c --- /dev/null +++ b/net-irc/atheme-services/atheme-services-6.0.11-r1.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit autotools eutils flag-o-matic perl-module prefix user + +DESCRIPTION="A portable and secure set of open-source and modular IRC services" +HOMEPAGE="http://atheme.net/" +SRC_URI="http://atheme.net/downloads/${P}.tar.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 x86 ~x86-fbsd ~amd64-linux" +IUSE="cracklib largenet ldap nls +pcre perl profile ssl" + +RDEPEND="dev-libs/libmowgli:0 + cracklib? ( sys-libs/cracklib ) + ldap? ( net-nds/openldap ) + nls? ( sys-devel/gettext ) + pcre? ( dev-libs/libpcre ) + ssl? ( dev-libs/openssl )" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +pkg_setup() { + # the dependency calculation puts all of the .c files together and + # overwhelms cc1 with this flag :-( + filter-flags -combine + + if use profile; then + # bug #371119 + ewarn "USE=\"profile\" is incompatible with the hardened profile's -pie flag." + ewarn "Disabling PIE. Please ignore any warning messages about -nopie being invalid." + append-flags -nopie + fi + + enewgroup ${PN} + enewuser ${PN} -1 -1 /var/lib/atheme ${PN} +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-6.0.8-configure-disable.patch + eautoconf + + # fix docdir + sed -i -e 's/\(^DOCDIR.*=.\)@DOCDIR@/\1@docdir@/' extra.mk.in || die + + # basic logging config directive fix + sed -i -e '/^logfile/s;var/\(.*\.log\);'"${EPREFIX}"'/var/log/atheme/\1;g' dist/* || die + + # QA against bundled libs + rm -rf libmowgli || die + + # Get useful information into build.log + sed -i -e '/^\.SILENT:$/d' buildsys.mk.in || die +} + +src_configure() { + econf \ + --sysconfdir="${EPREFIX}"/etc/${PN} \ + --docdir="${EPREFIX}"/usr/share/doc/${PF} \ + --localstatedir="${EPREFIX}"/var \ + --enable-fhs-paths \ + --enable-contrib \ + $(use_enable largenet large-net) \ + $(use_with cracklib) \ + $(use_with ldap) \ + $(use_with nls) \ + $(use_enable profile) \ + $(use_with pcre) \ + $(use_enable ssl) +} + +src_install() { + emake DESTDIR="${D}" install + + insinto /etc/${PN} + for conf in dist/*.example; do + # The .cron file isn't meant to live in /etc/${PN}, so only + # install a .example version. + [[ ${conf} == *cron* ]] && continue + + newins ${conf} $(basename ${conf} .example) + done + + fowners -R 0:${PN} /etc/${PN} + keepdir /var/{lib,log}/atheme + fowners ${PN}:${PN} /var/{lib,log,run}/atheme + fperms -R go-w,o-rx /etc/${PN} + fperms 750 /etc/${PN} /var/{lib,log,run}/atheme + + newinitd "${FILESDIR}"/${PN}.initd ${PN} + + # contributed scripts and such: + insinto /usr/share/doc/${PF}/contrib + doins contrib/*.{c,pl,php,py,rb} + + if use perl; then + perl_set_version + insinto "${VENDOR_LIB#${EPREFIX}}" + doins -r contrib/Atheme{,.pm} + fi +} diff --git a/net-irc/atheme-services/atheme-services-7.0.6-r1.ebuild b/net-irc/atheme-services/atheme-services-7.0.6-r1.ebuild new file mode 100644 index 000000000000..8cef6b425420 --- /dev/null +++ b/net-irc/atheme-services/atheme-services-7.0.6-r1.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils flag-o-matic perl-module user + +DESCRIPTION="A portable and secure set of open-source and modular IRC services" +HOMEPAGE="http://atheme.net/" +SRC_URI="http://atheme.net/downloads/${P}.tar.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux" +IUSE="cracklib largenet ldap nls +pcre perl profile ssl" + +RDEPEND=">=dev-libs/libmowgli-2.0.0:2 + cracklib? ( sys-libs/cracklib ) + ldap? ( net-nds/openldap ) + nls? ( sys-devel/gettext ) + perl? ( dev-lang/perl ) + pcre? ( dev-libs/libpcre ) + ssl? ( dev-libs/openssl )" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +pkg_setup() { + # the dependency calculation puts all of the .c files together and + # overwhelms cc1 with this flag :-( + filter-flags -combine + + if use profile; then + # bug #371119 + ewarn "USE=\"profile\" is incompatible with the hardened profile's -pie flag." + ewarn "Disabling PIE. Please ignore any warning messages about -nopie being invalid." + append-flags -nopie + fi + + enewgroup ${PN} + enewuser ${PN} -1 -1 /var/lib/atheme ${PN} +} + +src_prepare() { + # fix docdir + sed -i -e 's/\(^DOCDIR.*=.\)@DOCDIR@/\1@docdir@/' extra.mk.in || die + + # basic logging config directive fix + sed -i -e '/^logfile/s;var/\(.*\.log\);'"${EPREFIX}"'/var/log/atheme/\1;g' dist/* || die + + # QA against bundled libs + rm -rf libmowgli-2 || die +} + +src_configure() { + # perl scriping module support is also broken in 7.0.0. Yay for QA failures. + econf \ + atheme_cv_c_gcc_w_error_implicit_function_declaration=no \ + --sysconfdir="${EPREFIX}"/etc/${PN} \ + --docdir="${EPREFIX}"/usr/share/doc/${PF} \ + --localstatedir="${EPREFIX}"/var \ + --enable-fhs-paths \ + --disable-warnings \ + --enable-contrib \ + $(use_enable largenet large-net) \ + $(use_with cracklib) \ + $(use_with ldap) \ + $(use_with nls) \ + $(use_enable profile) \ + $(use_with pcre) \ + $(use_with perl) \ + $(use_enable ssl) +} + +src_compile() { + emake V=1 +} + +src_install() { + emake DESTDIR="${D}" install + + insinto /etc/${PN} + for conf in dist/*.example; do + # The .cron file isn't meant to live in /etc/${PN}, so only + # install a .example version. + [[ ${conf} == *cron* ]] && continue + + newins ${conf} $(basename ${conf} .example) + done + + fowners -R 0:${PN} /etc/${PN} + keepdir /var/{lib,log}/atheme + fowners ${PN}:${PN} /var/{lib,log,run}/atheme + fperms -R go-w,o-rx /etc/${PN} + fperms 750 /etc/${PN} /var/{lib,log,run}/atheme + + newinitd "${FILESDIR}"/${PN}.initd ${PN} + mv "${ED}"/usr/bin/{,atheme-}dbverify || die + + # contributed scripts and such: + insinto /usr/share/doc/${PF}/contrib + doins contrib/*.{c,pl,php,py,rb} + + if use perl; then + perl_set_version + insinto "${VENDOR_LIB#${EPREFIX}}" + doins -r contrib/Atheme{,.pm} + fi +} diff --git a/net-irc/atheme-services/atheme-services-9999.ebuild b/net-irc/atheme-services/atheme-services-9999.ebuild new file mode 100644 index 000000000000..46643ace3492 --- /dev/null +++ b/net-irc/atheme-services/atheme-services-9999.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit git-2 user eutils flag-o-matic perl-module + +MY_P=${P/_/-} + +DESCRIPTION="A portable and secure set of open-source and modular IRC services" +HOMEPAGE="http://atheme.net/" +EGIT_REPO_URI="git://github.com/atheme/atheme.git" +EGIT_HAS_SUBMODULES="true" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="" +IUSE="cracklib largenet ldap nls +pcre perl profile ssl" + +RDEPEND="=dev-libs/libmowgli-9999:2 + cracklib? ( sys-libs/cracklib ) + ldap? ( net-nds/openldap ) + nls? ( sys-devel/gettext ) + perl? ( dev-lang/perl ) + pcre? ( dev-libs/libpcre ) + ssl? ( dev-libs/openssl )" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +pkg_setup() { + # the dependency calculation puts all of the .c files together and + # overwhelms cc1 with this flag :-( + filter-flags -combine + + if use profile; then + # bug #371119 + ewarn "USE=\"profile\" is incompatible with the hardened profile's -pie flag." + ewarn "Disabling PIE. Please ignore any warning messages about -nopie being invalid." + append-flags -nopie + fi + + enewgroup ${PN} + enewuser ${PN} -1 -1 /var/lib/atheme ${PN} +} + +# To stop perl-module overriding this function +src_unpack() { + git-2_src_unpack +} + +src_prepare() { + # fix docdir + sed -i -e 's/\(^DOCDIR.*=.\)@DOCDIR@/\1@docdir@/' extra.mk.in || die + + # basic logging config directive fix + sed -i -e '/^logfile/s;var/\(.*\.log\);'"${EPREFIX}"'/var/log/atheme/\1;g' dist/* || die + + # QA against bundled libs. + # But comment it out in the live ebuild + # because it only contains a git submodule + # and removing it MAY break everything. + #rm -rf libmowgli-2 || die +} + +src_configure() { + econf \ + atheme_cv_c_gcc_w_error_implicit_function_declaration=no \ + --sysconfdir="${EPREFIX}"/etc/${PN} \ + --docdir="${EPREFIX}"/usr/share/doc/${PF} \ + --localstatedir="${EPREFIX}"/var \ + --enable-fhs-paths \ + --disable-warnings \ + --enable-contrib \ + $(use_enable largenet large-net) \ + $(use_with cracklib) \ + $(use_with ldap) \ + $(use_with nls) \ + $(use_enable profile) \ + $(use_with perl) \ + $(use_with pcre) \ + $(use_enable ssl) +} + +src_compile() { + emake V=1 +} + +src_install() { + emake DESTDIR="${D}" install + + insinto /etc/${PN} + for conf in dist/*.example; do + # The .cron file isn't meant to live in /etc/${PN}, so only + # install a .example version. + [[ ${conf} == *cron* ]] && continue + + newins ${conf} $(basename ${conf} .example) + done + + fowners -R 0:${PN} /etc/${PN} + keepdir /var/{lib,log}/atheme + fowners ${PN}:${PN} /var/{lib,log,run}/atheme + fperms -R go-w,o-rx /etc/${PN} + fperms 750 /etc/${PN} /var/{lib,log,run}/atheme + + newinitd "${FILESDIR}"/${PN}.initd ${PN} + + mv "${ED}"/usr/bin/{,atheme-}dbverify || die + + # contributed scripts and such: + insinto /usr/share/doc/${PF}/contrib + doins contrib/*.{c,pl,php,py,rb} + + if use perl; then + perl_set_version + insinto "${VENDOR_LIB#${EPREFIX}}" + doins -r contrib/Atheme{,.pm} + fi +} diff --git a/net-irc/atheme-services/files/atheme-services-6.0.8-configure-disable.patch b/net-irc/atheme-services/files/atheme-services-6.0.8-configure-disable.patch new file mode 100644 index 000000000000..ac671956ee48 --- /dev/null +++ b/net-irc/atheme-services/files/atheme-services-6.0.8-configure-disable.patch @@ -0,0 +1,116 @@ +From be144253c54b41d9b2f3929f12025457f66ce288 Mon Sep 17 00:00:00 2001 +From: Nathan Phillip Brink <ohnobinki@ohnopublishing.net> +Date: Mon, 13 Jun 2011 22:25:47 -0400 +Subject: [PATCH] Fix remaining AC_ARG_ENABLEs so that --disable-<feature> does not produce the same effect as --enable-<feature>. + +Fixes --disable-warnings, --disable-propolice, and --disable-profile. (Problems with --disable-profile resulted in https://bugs.gentoo.org/371119). +--- + configure | 21 +++++++++++++++++---- + configure.ac | 18 ++++++++++++------ + 2 files changed, 29 insertions(+), 10 deletions(-) + +diff --git a/configure b/configure +index a3337e0..9bd0428 100755 +--- a/configure ++++ b/configure +@@ -8360,7 +8360,11 @@ $as_echo "no" >&6; } + + # Check whether --enable-warnings was given. + if test "${enable_warnings+set}" = set; then : +- enableval=$enable_warnings; ++ enableval=$enable_warnings; enable_warnings=no ++fi ++ ++if test "x$enable_warnings" = "xyes"; then : ++ + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GCC flag(s) -Wall" >&5 + $as_echo_n "checking GCC flag(s) -Wall... " >&6; } +@@ -9335,10 +9339,15 @@ $as_echo "no" >&6; } + + fi + +- + # Check whether --enable-propolice was given. + if test "${enable_propolice+set}" = set; then : + enableval=$enable_propolice; ++else ++ enable_propolice=no ++fi ++ ++if test "x$enable_propolice" = "xyes"; then : ++ + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GCC flag(s) -fno-stack-protector-all" >&5 + $as_echo_n "checking GCC flag(s) -fno-stack-protector-all... " >&6; } +@@ -9546,10 +9555,15 @@ $as_echo "no" >&6; } + + fi + +- + # Check whether --enable-profile was given. + if test "${enable_profile+set}" = set; then : + enableval=$enable_profile; ++else ++ enable_profile=no ++fi ++ ++if test "x$enable_profile" = "xyes"; then : ++ + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GCC flag(s) -pg" >&5 + $as_echo_n "checking GCC flag(s) -pg... " >&6; } +@@ -9606,7 +9620,6 @@ LDFLAGS=${ac_save_LDFLAGS} + + fi + +- + ac_save_CPPFLAGS="${CFLAGS} ${orig_CFLAGS} ${CWARNS} -DPREFIX=\\\"\${prefix}\\\" -DLOCALEDIR=\\\"\${LOCALEDIR}\\\" -DMODDIR=\\\"\${MODDIR}\\\" -DSHAREDIR=\\\"${SHAREDIR}\\\" -DSYSCONFDIR=\\\"${sysconfdir}\\\" -DLOGDIR=\\\"${LOGDIR}\\\" -DRUNDIR=\\\"${RUNDIR}\\\" -DDATADIR=\\\"${DATADIR}\\\"" + CPPFLAGS=${ac_save_CPPFLAGS} + +diff --git a/configure.ac b/configure.ac +index a8baa2e..36195ce 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -484,8 +484,10 @@ AC_SUBST(PICFLAGS) + ATHEME_C_GCC_TRY_FLAGS([-std=gnu99], atheme_cv_c_gcc_std_gnu99) + ATHEME_C_GCC_TRY_FLAGS([-Werror-implicit-function-declaration], atheme_cv_c_gcc_w_error_implicit_function_declaration) + +-AC_ARG_ENABLE(warnings, +-AC_HELP_STRING([--enable-warnings],[ Enable compiler warnings]), ++AC_ARG_ENABLE([warnings], ++ [AS_HELP_STRING([--enable-warnings],[ Enable compiler warnings])], ++ [enable_warnings=no]) ++AS_IF([test "x$enable_warnings" = "xyes"], + [ + dnl See what warnings we can get away with + ATHEME_C_GCC_TRY_FLAGS([-Wall], atheme_cv_c_gcc_w_all) +@@ -519,8 +521,10 @@ dnl ATHEME_C_GCC_TRY_FLAGS([-Wwrite-strings], atheme_cv_c_gcc_w_strings) + dnl ATHEME_C_GCC_TRY_FLAGS([-Werror], atheme_cv_c_gcc_w_error) + ]) + +-AC_ARG_ENABLE(propolice, +-AC_HELP_STRING([--disable-propolice],[ Disable propolice protections (for debugging.)]), ++AC_ARG_ENABLE([propolice], ++ [AS_HELP_STRING([--disable-propolice],[ Disable propolice protections (for debugging.)])], ++ [], [enable_propolice=no]) ++AS_IF([test "x$enable_propolice" = "xyes"], + [ + ATHEME_C_GCC_TRY_FLAGS([-fno-stack-protector-all], atheme_cv_nspa) + ATHEME_C_GCC_TRY_FLAGS([-fno-pie], atheme_cv_npie) +@@ -528,8 +532,10 @@ ATHEME_C_GCC_TRY_FLAGS([-nonow], atheme_cv_nonow) + ATHEME_C_GCC_TRY_FLAGS([-norelro], atheme_cv_no_relro) + ]) + +-AC_ARG_ENABLE(profile, +-AC_HELP_STRING([--enable-profile],[ Enable profiling extensions]), ++AC_ARG_ENABLE([profile], ++ [AS_HELP_STRING([--enable-profile],[ Enable profiling extensions])], ++ [], [enable_profile=no]) ++AS_IF([test "x$enable_profile" = "xyes"], + [ + ATHEME_C_GCC_TRY_FLAGS([-pg], atheme_cv_pg) + ac_save_LDFLAGS="${LDFLAGS} -pg" +-- +1.7.3.4 + diff --git a/net-irc/atheme-services/files/atheme-services.initd b/net-irc/atheme-services/files/atheme-services.initd new file mode 100644 index 000000000000..53996f386385 --- /dev/null +++ b/net-irc/atheme-services/files/atheme-services.initd @@ -0,0 +1,37 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +extra_started_commands="reload" + +depend() { + need net + use ircd + provide irc-services +} + +start() { + ATHEME_SERVICES_RUNDIR=/var/run/atheme + if ! [ -d "${ATHEME_SERVICES_RUNDIR}" ]; then + ebegin "Creating \`${ATHEME_SERVICES_RUNDIR}'" + install -o atheme-services -d "${ATHEME_SERVICES_RUNDIR}" + eend $? + fi + + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --pidfile=/var/run/atheme/atheme.pid --user atheme-services --exec /usr/bin/atheme-services + eend $? +} + +reload() { + ebegin "Reloading ${SVCNAME}" + start-stop-daemon --signal HUP --pidfile /var/run/atheme/atheme.pid + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --quiet --pidfile /var/run/atheme/atheme.pid + eend $? +} diff --git a/net-irc/atheme-services/metadata.xml b/net-irc/atheme-services/metadata.xml new file mode 100644 index 000000000000..204e95820a10 --- /dev/null +++ b/net-irc/atheme-services/metadata.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-irc</herd> + <maintainer> + <email>binki@gentoo.org</email> + <name>Nathan Phillip Brink</name> + </maintainer> + <maintainer> + <email>jdhore@gentoo.org</email> + <name>Jeff Horelick</name> + <description>Co-maintainer</description> + </maintainer> + <use> + <flag name='cracklib'>Enable nickserv/cracklib module for enforcing strong account passwords</flag> + <flag name='largenet'>Enable support/tweaks for large networks</flag> + <flag name='ldap'>Enable ldap-backed authentication module</flag> + <flag name='perl'>Install a perl module which wraps around the services' XML-RPC interface</flag> + </use> +</pkgmetadata> diff --git a/net-irc/bip/Manifest b/net-irc/bip/Manifest new file mode 100644 index 000000000000..bf166b4541ce --- /dev/null +++ b/net-irc/bip/Manifest @@ -0,0 +1 @@ +DIST bip-0.8.8.tar.gz 220232 SHA256 7ca3fb96f5ee6b76eb398d7ea45344ea24855344ced11632241a33353bba05d7 SHA512 acd62a61379290088320567b299b9d2e236c24aea7c83c4bfb7dedba9727868fb931d7e2eb663c9041794c26583bcc923072049cb42eef0d13702f284bae2b34 WHIRLPOOL b2e5f7a1328832fce7b3c7eb706ec87e7eb023043e714dbc554126730d2e9dc37af2d127e15ef024fff1e95b9dd22351cd48b3b115b58b9fd9ecbdd92f20cda1 diff --git a/net-irc/bip/bip-0.8.8-r1.ebuild b/net-irc/bip/bip-0.8.8-r1.ebuild new file mode 100644 index 000000000000..86fc9b03ca32 --- /dev/null +++ b/net-irc/bip/bip-0.8.8-r1.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="2" +inherit eutils autotools + +DESCRIPTION="Multiuser IRC proxy with SSL support" +HOMEPAGE="http://bip.milkypond.org/" +SRC_URI="ftp://ftp.duckcorp.org/bip/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="debug freenode noctcp ssl vim-syntax oidentd" + +DEPEND="sys-devel/flex + virtual/yacc + ssl? ( dev-libs/openssl )" + +RDEPEND="${DEPEND} + vim-syntax? ( + || ( app-editors/vim app-editors/gvim ) ) + oidentd? ( >=net-misc/oidentd-2.0 )" + +src_prepare() { + epatch "${FILESDIR}/${P}-configure.patch" || die + epatch "${FILESDIR}/${PN}-CVE-2012-0806.patch" || die + + eautoreconf + + if use noctcp; then + sed -i -e '/irc_privmsg_check_ctcp(server, line);/s:^://:' src/irc.c || die + fi + + if use freenode; then + epatch "${FILESDIR}/${PN}-freenode.patch" || die + fi +} + +src_configure() { + econf \ + $(use_with ssl openssl) \ + $(use_enable debug) \ + $(use_enable oidentd) +} + +src_compile() { + # Parallel make fails. + emake -j1 || die "emake failed" +} + +src_install() { + dobin src/bip src/bipmkpw || die "dobin failed" + + dodoc AUTHORS ChangeLog README NEWS TODO || die "dodoc failed" + newdoc samples/bip.conf bip.conf.sample || die "newdoc failed" + doman bip.1 bip.conf.5 bipmkpw.1 || die "doman failed" + + if use vim-syntax; then + insinto /usr/share/vim/vimfiles/syntax + doins samples/bip.vim || die "doins failed" + insinto /usr/share/vim/vimfiles/ftdetect + doins "${FILESDIR}"/bip.vim || die "doins failed" + fi +} + +pkg_postinst() { + elog 'The default configuration file is "~/.bip/bip.conf"' + elog "You can find a sample configuration file in" + elog "/usr/share/doc/${PF}/bip.conf.sample" +} diff --git a/net-irc/bip/files/bip-0.8.8-configure.patch b/net-irc/bip/files/bip-0.8.8-configure.patch new file mode 100644 index 000000000000..592bdc664561 --- /dev/null +++ b/net-irc/bip/files/bip-0.8.8-configure.patch @@ -0,0 +1,50 @@ +commit 559fa7ed44238e811ac0c11321ed021c35cba2be +Author: Pierre-Louis Bonicoli <pierre-louis.bonicoli@gmx.fr> +Date: Wed Sep 14 06:30:09 2011 +0200 + + don't override user var. Thanks to Alex Legler + + Based on gentoo-x86/net-irc/bip/files/bip-configure.patch + See http://www.gnu.org/software/autoconf/manual/automake.html#User-Variables + If user doesn't specify CFLAGS, default value is "-Wall -Wextra -g -O2". + +diff --git a/Makefile.am b/Makefile.am +index c2dae4d..f17c314 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -13,13 +13,8 @@ src_bip_SOURCES = src/conf.y src/lex.l \ + src_bipmkpw_SOURCES = src/bipmkpw.c src/md5.c src/util.c + AM_YFLAGS= -d + BUILT_SOURCES = src/conf.c src/conf.h src/lex.c +-if DEBUG +- AM_CFLAGS+=-Wall -g +- AM_LDFLAGS+=-g +-else +- AM_CFLAGS+=-Wall +-endif + ++AM_CFLAGS=-Wall -Wextra + + dist_man_MANS = bip.1 bip.conf.5 bipmkpw.1 + +diff --git a/configure.ac b/configure.ac +index 005e697..5740a39 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -44,16 +44,12 @@ AC_ARG_ENABLE([pie], AS_HELP_STRING([--disable-pie], [Do not build a position in + + AM_CONDITIONAL(DEBUG, test x$enable_debug = xyes) + AS_IF([test "x$enable_debug" = "xyes"], [ +- CFLAGS="-O0 -g -W -Wall" +- LDFLAGS="-g" + AC_CHECK_FUNC(backtrace_symbols_fd, [ + AC_DEFINE(HAVE_BACKTRACE, [], [Use glibc backtrace on fatal()]) + LDFLAGS="-rdynamic $LDFLAGS" + backtrace="(with backtrace)" + ]) + ], [ +- CFLAGS="-O2 -g -W -Wall" +- LDFLAGS="-g" + enable_debug=no + ]) + diff --git a/net-irc/bip/files/bip-CVE-2012-0806.patch b/net-irc/bip/files/bip-CVE-2012-0806.patch new file mode 100644 index 000000000000..6ea26aead2bb --- /dev/null +++ b/net-irc/bip/files/bip-CVE-2012-0806.patch @@ -0,0 +1,121 @@ +commit 222a33cb84a2e52ad55a88900b7895bf9dd0262c +Author: Pierre-Louis Bonicoli <pierre-louis.bonicoli@gmx.fr> +Date: Sat Jan 7 11:41:02 2012 +0100 + + Buffer Overflow: check against the implicit size of select() arrays + + Reported by Julien Tinnes (Fix #269) + exit is called when the listening socket can not be created + +diff --git a/src/bip.c b/src/bip.c +index d46ee2b..b4ac706 100644 +--- a/src/bip.c ++++ b/src/bip.c +@@ -1311,7 +1311,7 @@ int main(int argc, char **argv) + close(fd); + + bip.listener = listen_new(conf_ip, conf_port, conf_css); +- if (!bip.listener) ++ if (!bip.listener || bip.listener->connected == CONN_ERROR) + fatal("Could not create listening socket"); + + for (;;) { +diff --git a/src/connection.c b/src/connection.c +index 07ab431..5c4c24a 100644 +--- a/src/connection.c ++++ b/src/connection.c +@@ -124,6 +124,18 @@ static void connect_trynext(connection_t *cn) + continue; + } + ++ if (cn->handle >= FD_SETSIZE) { ++ mylog(LOG_WARN, "too many fd used, close socket %d", ++ cn->handle); ++ ++ if (close(cn->handle) == -1) ++ mylog(LOG_WARN, "Error on socket close: %s", ++ strerror(errno)); ++ ++ cn->handle = -1; ++ break; ++ } ++ + socket_set_nonblock(cn->handle); + + if (cn->connecting_data->src) { +@@ -789,13 +801,8 @@ list_t *wait_event(list_t *cn_list, int *msec, int *nc) + /* + * This shouldn't happen ! just in case... + */ +- if (cn->handle < 0) { +- mylog(LOG_WARN, "wait_event invalid socket %d", +- cn->handle); +- if (cn_is_connected(cn)) +- cn->connected = CONN_ERROR; +- continue; +- } ++ if (cn->handle < 0 || cn->handle >= FD_SETSIZE) ++ fatal("wait_event invalid socket %d", cn->handle); + + /* exceptions are OOB and disconnections */ + FD_SET(cn->handle, &fds_except); +@@ -966,6 +973,18 @@ static void create_listening_socket(char *hostname, char *port, + continue; + } + ++ if (cn->handle >= FD_SETSIZE) { ++ mylog(LOG_WARN, "too many fd used, close listening socket %d", ++ cn->handle); ++ ++ if (close(cn->handle) == -1) ++ mylog(LOG_WARN, "Error on socket close: %s", ++ strerror(errno)); ++ ++ cn->handle = -1; ++ break; ++ } ++ + if (setsockopt(cn->handle, SOL_SOCKET, SO_REUSEADDR, + (char *)&multi_client, + sizeof(multi_client)) < 0) { +@@ -1113,10 +1132,21 @@ connection_t *accept_new(connection_t *cn) + + mylog(LOG_DEBUG, "Trying to accept new client on %d", cn->handle); + err = accept(cn->handle, &sa, &sa_len); ++ + if (err < 0) { +- mylog(LOG_ERROR, "accept failed: %s", strerror(errno)); ++ fatal("accept failed: %s", strerror(errno)); ++ } ++ ++ if (err >= FD_SETSIZE) { ++ mylog(LOG_WARN, "too many client connected, close %d", err); ++ ++ if (close(err) == -1) ++ mylog(LOG_WARN, "Error on socket close: %s", ++ strerror(errno)); ++ + return NULL; + } ++ + socket_set_nonblock(err); + + conn = connection_init(cn->anti_flood, cn->ssl, cn->timeout, 0); +diff --git a/src/irc.c b/src/irc.c +index ebc1b34..147a315 100644 +--- a/src/irc.c ++++ b/src/irc.c +@@ -2439,9 +2439,10 @@ void bip_on_event(bip_t *bip, connection_t *conn) + + if (conn == bip->listener) { + struct link_client *n = irc_accept_new(conn); +- assert(n); +- list_add_last(&bip->conn_list, CONN(n)); +- list_add_last(&bip->connecting_client_list, n); ++ if (n) { ++ list_add_last(&bip->conn_list, CONN(n)); ++ list_add_last(&bip->connecting_client_list, n); ++ } + return; + } + diff --git a/net-irc/bip/files/bip-freenode.patch b/net-irc/bip/files/bip-freenode.patch new file mode 100644 index 000000000000..437da08f438d --- /dev/null +++ b/net-irc/bip/files/bip-freenode.patch @@ -0,0 +1,18 @@ +Freenode's ircd-seven uses a custom banlist type for mutes (+q). +This patch makes bip handle +q the same way as +q. +Without it, a user wouldn't get the banlist replies for mutes. + +diff --git a/src/irc.c b/src/irc.c +index 556bf97..a5cc039 100644 +--- a/src/irc.c ++++ b/src/irc.c +@@ -944,7 +947,8 @@ static int irc_cli_mode(struct link_client *ic, struct line *line) + + /* This is a wild guess and that sucks. */ + if (!irc_line_elem_equals(line, 0, "MODE") || +- strchr(irc_line_elem(line, 2), 'b') == NULL) ++ (strchr(irc_line_elem(line, 2), 'b') == NULL && ++ strchr(irc_line_elem(line, 2), 'q') == NULL)) + return OK_COPY; + + ++ic->who_count; diff --git a/net-irc/bip/files/bip.vim b/net-irc/bip/files/bip.vim new file mode 100644 index 000000000000..b99ad1b088e4 --- /dev/null +++ b/net-irc/bip/files/bip.vim @@ -0,0 +1,5 @@ +" Vim filetype detection file for bip config files +" +" $Id$ + +au BufNewFile,BufRead bip.conf set filetype=bip diff --git a/net-irc/bip/metadata.xml b/net-irc/bip/metadata.xml new file mode 100644 index 000000000000..29b526cee87b --- /dev/null +++ b/net-irc/bip/metadata.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>maintainer-needed@gentoo.org</email> + </maintainer> + <longdescription lang="en"> + Bip is an IRC proxy, which means it keeps connected to your preferred + IRC servers, can store the logs for you, and even send them back to your IRC + client(s) upon connection. You may want to use bip to keep your logfiles (in a + unique format and on a unique computer) whatever your client is, when you + connect from multiple workstations, or when you simply want to have a playback + of what was said while you were away. + </longdescription> + <use> + <flag name="freenode">Enables freenode-specific functionality. + Currently that is only support for mute lists (MODE #channel +q).</flag> + <flag name="noctcp">Disable the automatic CTCP VERSION reply which is often + exploited by malicious people to cause a DoS (reconnect due to flooding). + </flag> + <flag name="oidentd">Enable oidentd support</flag> + </use> +</pkgmetadata> diff --git a/net-irc/bnc/Manifest b/net-irc/bnc/Manifest new file mode 100644 index 000000000000..8a3a0620a346 --- /dev/null +++ b/net-irc/bnc/Manifest @@ -0,0 +1 @@ +DIST bnc2.9.4.tar.gz 76896 SHA256 af0e95c97feb1f2d231c570a658be8e42a91aafab6e6dfeb04b7e9fcc360b74b SHA512 131c25624c2a72494f900c6247e5569df48700223664487944ac42b0d892ea62f7d0e67a9ba4609cd936718365075c428e756074e349e1e041186c43cd16da23 WHIRLPOOL 5899dce7edb2bb3dfd4598579753acc8936889e5ef2c3d9cec61d25aa0f93f883c270aa929683ad8011f0d08cd098d0c5f90d4c37b8c00c09bc5e02f86b8af3b diff --git a/net-irc/bnc/bnc-2.9.4.ebuild b/net-irc/bnc/bnc-2.9.4.ebuild new file mode 100644 index 000000000000..4ef139755e49 --- /dev/null +++ b/net-irc/bnc/bnc-2.9.4.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +inherit eutils + +MY_P=${P/-/} +DESCRIPTION="BNC (BouNCe) is used as a gateway to an IRC Server" +HOMEPAGE="http://gotbnc.com/" +SRC_URI="http://gotbnc.com/files/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm ppc ~s390 sparc x86" +IUSE="ssl" + +DEPEND="ssl? ( dev-libs/openssl )" + +S=${WORKDIR}/${MY_P} + +src_unpack() { + unpack ${A} + cd "${S}" + sed -i -e 's:./mkpasswd:/usr/bin/bncmkpasswd:' bncsetup || die + epatch "${FILESDIR}"/${P}-build.patch + epatch "${FILESDIR}"/${PN}-2.9.3-64bit.patch +} + +src_compile() { + econf $(use_with ssl) || die "econf failed" + emake || die +} + +src_install() { + emake install DESTDIR="${D}" || die + mv "${D}"/usr/bin/{,bnc}mkpasswd || die + dodoc Changelog README example.conf motd +} + +pkg_postinst() { + einfo "You can find an example motd/conf file here:" + einfo " /usr/share/doc/${PF}/" +} diff --git a/net-irc/bnc/files/bnc-2.9.3-64bit.patch b/net-irc/bnc/files/bnc-2.9.3-64bit.patch new file mode 100644 index 000000000000..0eb94a4817ce --- /dev/null +++ b/net-irc/bnc/files/bnc-2.9.3-64bit.patch @@ -0,0 +1,20 @@ +--- bnc2.9.3-orig/server.c 2005-02-07 01:29:11.000000000 +0000 ++++ bnc2.9.3/server.c 2005-09-22 18:10:18.000000000 +0100 +@@ -398,7 +398,7 @@ + int send_queued(struct lsock *ls) + { + int res; +- int length; ++ size_t length; + char *msg; + + while(sbuf_getlength(&ls->sendq) > 0) +@@ -1114,7 +1114,7 @@ + int dccsend(int fd, struct sbuf *sendq) + { + int res; +- int length; ++ size_t length; + char *msg; + + diff --git a/net-irc/bnc/files/bnc-2.9.4-build.patch b/net-irc/bnc/files/bnc-2.9.4-build.patch new file mode 100644 index 000000000000..b6fb97623729 --- /dev/null +++ b/net-irc/bnc/files/bnc-2.9.4-build.patch @@ -0,0 +1,33 @@ +--- Makefile.in ++++ Makefile.in +@@ -1,8 +1,17 @@ + LIBS=@LIBS@ +-CFLAGS=-O3 -Wall -include config.h ++CFLAGS=@CFLAGS@ -Wall -include config.h + CC=@CC@ ++ ++DESTDIR = ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++bindir = @bindir@ + +-ALL: bnc mkpasswd ++all ALL: bnc mkpasswd ++ ++install: bnc mkpasswd ++ install -m 755 -d $(DESTDIR)$(bindir) ++ install -m 755 bnc mkpasswd bncchk bncsetup $(DESTDIR)$(bindir) + + mkpasswd:mkpasswd.c + ${CC} ${CFLAGS} -o mkpasswd mkpasswd.c ${LIBS} +--- configure.in ++++ configure.in +@@ -35,7 +35,7 @@ + dnl Check for SSL support. + AC_MSG_CHECKING(whether to enable SSL support) + AC_ARG_WITH(ssl, +-[ -with-ssl Enable SSL support], ++[ --with-ssl Enable SSL support], + [ case "$withval" in + yes) + AC_MSG_RESULT(yes) diff --git a/net-irc/bnc/metadata.xml b/net-irc/bnc/metadata.xml new file mode 100644 index 000000000000..6ef15e900f17 --- /dev/null +++ b/net-irc/bnc/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +</pkgmetadata> diff --git a/net-irc/bobotpp/Manifest b/net-irc/bobotpp/Manifest new file mode 100644 index 000000000000..84104fd16679 --- /dev/null +++ b/net-irc/bobotpp/Manifest @@ -0,0 +1 @@ +DIST bobotpp-2.2.3.tar.gz 301675 SHA256 b45e84529b4417d31686e355951e0d4ceb7f0bb470f5c6498adb530f50a6d908 SHA512 473728350727da9225035c4a40303e3656f27d40786558b6a12939b22be56db9c3822a48ac1463a4baef6f45f5c9cf0ae90fdad0e9adc465c185ce1491034586 WHIRLPOOL 5acd2b5e4bd38f38d67196f386bc567c4acd621fce2b1b333107efa45c11a9417f06609823c7d9f5a022812e3f4f9a9acbb86f1a24c65d84ac2a8480a17ca780 diff --git a/net-irc/bobotpp/bobotpp-2.2.3.ebuild b/net-irc/bobotpp/bobotpp-2.2.3.ebuild new file mode 100644 index 000000000000..cf2adf8475cd --- /dev/null +++ b/net-irc/bobotpp/bobotpp-2.2.3.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit autotools autotools-utils eutils + +DESCRIPTION="A flexible IRC bot scriptable in scheme" +HOMEPAGE="http://unknownlamer.org/code/bobot.html" +SRC_URI="http://savannah.nongnu.org/download/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc x86" +IUSE="guile" + +DEPEND="guile? ( dev-scheme/guile )" +RDEPEND="${DEPEND}" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-2.2.2-asneeded.patch \ + "${FILESDIR}"/${P}-stdout.patch + eautoreconf +} + +src_configure() { + local myeconfargs=( + --enable-crypt + $(use_enable guile scripting) + ) + + autotools-utils_src_configure +} + +src_install() { + autotools-utils_src_install + + dosym bobot++.info /usr/share/info/bobotpp.info + + dodoc AUTHORS ChangeLog NEWS README TODO + dohtml documentation/index.html + + docinto examples/config + dodoc examples/config/* + + docinto examples/scripts + dodoc examples/scripts/* +} + +pkg_postinst() { + elog "You can find a sample configuration file set in" + elog "${EPREFIX}/usr/share/doc/${PF}/example-config" +} diff --git a/net-irc/bobotpp/files/bobotpp-2.2.2-asneeded.patch b/net-irc/bobotpp/files/bobotpp-2.2.2-asneeded.patch new file mode 100644 index 000000000000..e960e008f187 --- /dev/null +++ b/net-irc/bobotpp/files/bobotpp-2.2.2-asneeded.patch @@ -0,0 +1,15 @@ +--- bobotpp-2.2.2.orig/configure.ac 2006-06-29 02:02:46.000000000 +0200 ++++ bobotpp-2.2.2/configure.ac 2009-10-15 19:31:42.058285332 +0200 +@@ -58,9 +58,9 @@ + AC_CPP_STL_IOSBASE + + dnl Checks for libraries. +-AC_CHECK_LIB(crypt, crypt, [LDFLAGS="-lcrypt $LDFLAGS]") +-AC_CHECK_LIB(socket, socket, [LDFLAGS="-lsocket $LDFLAGS]") +-AC_CHECK_LIB(nsl, connect, [LDFLAGS="-lnsl $LDFLAGS]") ++AC_CHECK_LIB(crypt, crypt) ++AC_CHECK_LIB(socket, socket) ++AC_CHECK_LIB(nsl, connect) + + dnl CC++ is special (no function to check_lib on + dnl AC_CHECK_PROG(CCGNU_FOUND, [ccgnu2-config], diff --git a/net-irc/bobotpp/files/bobotpp-2.2.3-stdout.patch b/net-irc/bobotpp/files/bobotpp-2.2.3-stdout.patch new file mode 100644 index 000000000000..8bbb78be966c --- /dev/null +++ b/net-irc/bobotpp/files/bobotpp-2.2.3-stdout.patch @@ -0,0 +1,13 @@ +From: Nathan Phillip Brink <binki@gentoo.org> +Subject: Reduce amount of noise printed to stdout. + +--- a/source/Utils.C ++++ b/source/Utils.C +@@ -97,7 +97,6 @@ + if (host == "") host = "*"; + } + +- std::cout << nick + "!" + user + "@" + host << std::endl; + + return nick + "!" + user + "@" + host; + } diff --git a/net-irc/bobotpp/metadata.xml b/net-irc/bobotpp/metadata.xml new file mode 100644 index 000000000000..6ef15e900f17 --- /dev/null +++ b/net-irc/bobotpp/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +</pkgmetadata> diff --git a/net-irc/cgiirc/Manifest b/net-irc/cgiirc/Manifest new file mode 100644 index 000000000000..2eecdabc9038 --- /dev/null +++ b/net-irc/cgiirc/Manifest @@ -0,0 +1 @@ +DIST cgiirc-0.5.10.tar.gz 133827 SHA256 654409c768026e9565e54a39e27064a4f86fc778042e1d46959f30d24fbfbce0 SHA512 57001051a31f8a1494e8b31b256b5f244ed7e1d23f38f27184374f1becf91e6ea3bd61621679e046ae0a11a2eb3e5909d9d284df2a896bf5aac38f5314c7ae55 WHIRLPOOL 4914adc50aad155ad50f0e466f3efb77d0e6bf03b81cb16562fb90b1814fd4d2d20fe7656e2438b692c4ee6699d7e86adebdecc6936d72ee360af9b4276573b3 diff --git a/net-irc/cgiirc/cgiirc-0.5.10.ebuild b/net-irc/cgiirc/cgiirc-0.5.10.ebuild new file mode 100644 index 000000000000..d8b4f632a373 --- /dev/null +++ b/net-irc/cgiirc/cgiirc-0.5.10.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ +EAPI=5 + +inherit webapp eutils + +DESCRIPTION="A perl/CGI program to use IRC from a web browser" +HOMEPAGE="http://cgiirc.org/" +SRC_URI="http://cgiirc.org/releases/${P}.tar.gz" + +LICENSE="GPL-2" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="" + +need_httpd_cgi + +pkg_setup() { + webapp_pkg_setup + elog "Note that file locations have changed." + elog "CGI:IRC will be installed into cgi-bin/${P}" +} + +src_unpack() { + unpack ${A} + cd "${S}" + ecvs_clean +} + +src_install() { + webapp_src_preinst + + local docs="README cgiirc.config.full ipaccess.example" + + dodoc docs/{CHANGES,TODO} ${docs} + dohtml docs/help.html + rm -rf docs/ ${docs} + + insinto "${MY_CGIBINDIR}"/${P} + doins -r . + fperms +x "${MY_CGIBINDIR}"/${P}/irc.cgi + + webapp_configfile "${MY_CGIBINDIR}"/${P}/cgiirc.config + webapp_src_install +} diff --git a/net-irc/cgiirc/metadata.xml b/net-irc/cgiirc/metadata.xml new file mode 100644 index 000000000000..6632069b5aff --- /dev/null +++ b/net-irc/cgiirc/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>web-apps</herd> +</pkgmetadata> diff --git a/net-irc/charybdis/Manifest b/net-irc/charybdis/Manifest new file mode 100644 index 000000000000..8ea64c7a12c3 --- /dev/null +++ b/net-irc/charybdis/Manifest @@ -0,0 +1,3 @@ +DIST charybdis-3.3.0-patches.tar.bz2 10070 SHA256 ec51bbd99dc8ee7b911bc232ae8e35c99f0d4b0b25562bc7991fbfe9dbe3ad28 SHA512 e78c66b7d1c91a9a2c47a6ebb95e3c019e7182cda7115417fd6fc4e9f45dfabdb1467f5b19fa347d56cdbda97f66f7acab52d8ac560d5b3d3e179f7a7158c6da WHIRLPOOL a2bc4b258265347eb3f243d8b933084235717507b52f0c244062e74c017d34f13fcb2abf89ebde62760b49bc95c9d6df22e13a9c7c3e5526bdbf5c131662ef79 +DIST charybdis-3.3.0.tbz2 1478877 SHA256 b5feae88c031dee799144fbfde9d64f3ace4c979c337a1047677a17600dddab1 SHA512 450f1869405a0ea1379c4b189df3a62524ce6656ef5fd1371f705814e9404b5386e2fc4a9ba548ee1027fb73464c06b2c68bad142570042bbc0381723a306eae WHIRLPOOL 909e87b52e9b717c4de91ab737663b86c30372bdb5e80f23ecf76f9c3320adbaeb3c0ad991ff1b74958114041fdd9aa73f8870efd166ae4af851384eed4e56ed +DIST charybdis-3.4.2.tbz2 1526229 SHA256 8a38e67072d90147c40202918c82237765e339cbc849456da54994ce6e31b754 SHA512 4bd4126cbb023e8ca1ec3003d92893dd44f9bdd8ce5d3fb471fed0b62eb4aa5ff410a6e769ee7daab4864492d49ff594e3e8c7fea05318eb2308efc2195dc8a3 WHIRLPOOL ac098f73169662cda2a9829f2204a6b1eac56b18d023b9049f82a427edd8ab6888133ce2959815a41104a68a7f22097c83cdc84413bbe66d6a3b8f4fe6979e41 diff --git a/net-irc/charybdis/charybdis-3.3.0.ebuild b/net-irc/charybdis/charybdis-3.3.0.ebuild new file mode 100644 index 000000000000..871a365bed70 --- /dev/null +++ b/net-irc/charybdis/charybdis-3.3.0.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit autotools eutils multilib user + +DESCRIPTION="The atheme project's IRCd based on ratbox" +HOMEPAGE="http://atheme.org/project/charybdis http://www.stack.nl/~jilles/irc/#charybdis" +SRC_URI="http://www.stack.nl/~jilles/irc/${P}.tbz2 + http://dev.gentoo.org/~binki/distfiles/${CATEGORY}/${PN}/${P}-patches.tar.bz2" +LICENSE="GPL-2" + +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="debug +ipv6 largenet ssl zlib" + +RDEPEND="ssl? ( dev-libs/openssl ) + zlib? ( sys-libs/zlib )" +DEPEND="${RDEPEND} + virtual/yacc + sys-devel/flex" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 "${EPREFIX}"/usr ${PN} +} + +src_prepare() { + EPATCH_SUFFIX=patch epatch + + eautoreconf + + # Fill the example configuration file with proper paths. + sed -i \ + -e "s:path =.*modules:path = \"$(get_libdir)/${PN}/modules:g" \ + -e "s:etc/:../etc/${PN}/:g" \ + -e "s:logs/:../var/log/charybdis/:g" \ + -e "s:test\.\(cert\|key\):ssl.\1:g" \ + doc/example.conf \ + doc/reference.conf \ + || die +} + +src_configure() { + econf \ + ac_cv_prog_cc_g=no \ + --disable-gnutls \ + $(use_enable debug assert soft) \ + $(use_enable debug iodebug) \ + $(use_enable ipv6) \ + $(use_enable !largenet small-net) \ + $(use_enable ssl openssl) \ + $(use_enable zlib) \ + --with-program-prefix=charybdis- \ + \ + --enable-fhs-paths \ + --sysconfdir="${EPREFIX}"/etc/${PN} \ + --libdir="${EPREFIX}"/usr/"$(get_libdir)"/${PN} \ + --with-logdir="${EPREFIX}"/var/log/${PN} \ + --with-moduledir="${EPREFIX}"/usr/"$(get_libdir)"/${PN}/modules \ + --with-rundir="${EPREFIX}"/var/run +} + +src_install() { + default + + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + + insinto etc/${PN} + newins doc/reference.conf ircd.conf + + keepdir var/{lib,log}/${PN} + + # Ensure that if `make install' created /var/run/${PN}, we still + # force the initscript to create that directory. + rm -rf "${D}"/var/run || die + + # charybdis ircd needs writing to its state (bandb) and log directories + fowners :charybdis /var/{lib,log}/${PN} + fperms 770 /var/{lib,log}/${PN} + + # ensure that charybdis can access but not modify its configuration + # while protecting it from others + fowners :charybdis /etc/${PN}{,/ircd.conf} + fperms 750 /etc/${PN} + fperms 640 /etc/${PN}/ircd.conf +} + +pkg_postinst() { + elog "All of the charybdis binaries in PATH have been prefixed with" + elog "'charybdis-' to prevent file collisions." +} diff --git a/net-irc/charybdis/charybdis-3.4.2.ebuild b/net-irc/charybdis/charybdis-3.4.2.ebuild new file mode 100644 index 000000000000..68a34c4acd4d --- /dev/null +++ b/net-irc/charybdis/charybdis-3.4.2.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit eutils multilib user + +DESCRIPTION="The atheme project's IRCd based on ratbox" +HOMEPAGE="http://atheme.org/project/charybdis http://www.stack.nl/~jilles/irc/#charybdis" +SRC_URI="http://www.stack.nl/~jilles/irc/${P}.tbz2" +LICENSE="GPL-2" + +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="debug +ipv6 largenet ssl zlib" + +RDEPEND="ssl? ( dev-libs/openssl ) + zlib? ( sys-libs/zlib )" +DEPEND="${RDEPEND} + virtual/yacc + sys-devel/flex" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 "${EPREFIX}"/usr ${PN} +} + +src_prepare() { + # Fill the example configuration file with proper paths. + sed -i \ + -e "s:path =.*modules:path = \"$(get_libdir)/${PN}/modules:g" \ + -e "s:etc/:../etc/${PN}/:g" \ + -e "s:logs/:../var/log/charybdis/:g" \ + -e "s:test\.\(cert\|key\):ssl.\1:g" \ + doc/example.conf \ + doc/reference.conf \ + || die +} + +src_configure() { + econf \ + ac_cv_prog_cc_g=no \ + --disable-gnutls \ + $(use_enable debug assert soft) \ + $(use_enable debug iodebug) \ + $(use_enable ipv6) \ + $(use_enable !largenet small-net) \ + $(use_enable ssl openssl) \ + $(use_enable zlib) \ + --with-program-prefix=charybdis- \ + \ + --enable-fhs-paths \ + --sysconfdir="${EPREFIX}"/etc/${PN} \ + --libdir="${EPREFIX}"/usr/"$(get_libdir)"/${PN} \ + --with-logdir="${EPREFIX}"/var/log/${PN} \ + --with-moduledir="${EPREFIX}"/usr/"$(get_libdir)"/${PN}/modules \ + --with-rundir="${EPREFIX}"/var/run +} + +src_install() { + default + + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + + insinto etc/${PN} + newins doc/reference.conf ircd.conf + + keepdir var/{lib,log}/${PN} + + # Ensure that if `make install' created /var/run/${PN}, we still + # force the initscript to create that directory. + rm -rf "${D}"/var/run || die + + # charybdis ircd needs writing to its state (bandb) and log directories + fowners :charybdis /var/{lib,log}/${PN} + fperms 770 /var/{lib,log}/${PN} + + # ensure that charybdis can access but not modify its configuration + # while protecting it from others + fowners :charybdis /etc/${PN}{,/ircd.conf} + fperms 750 /etc/${PN} + fperms 640 /etc/${PN}/ircd.conf +} + +pkg_postinst() { + elog "All of the charybdis binaries in PATH have been prefixed with" + elog "'charybdis-' to prevent file collisions." +} diff --git a/net-irc/charybdis/files/charybdis.confd b/net-irc/charybdis/files/charybdis.confd new file mode 100644 index 000000000000..b97c3f4bb88e --- /dev/null +++ b/net-irc/charybdis/files/charybdis.confd @@ -0,0 +1,7 @@ +#!/sbin/runscript +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# Specify any extra options to pass to charybdis +CHARYBDIS_OPTS="" diff --git a/net-irc/charybdis/files/charybdis.initd b/net-irc/charybdis/files/charybdis.initd new file mode 100644 index 000000000000..aae065530fff --- /dev/null +++ b/net-irc/charybdis/files/charybdis.initd @@ -0,0 +1,39 @@ +#!/sbin/runscript +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +extra_started_commands="reload" + +depend() { + use dns net + provide ircd +} + +start() { + if ! [ -d /var/run/charybdis ]; then + ebegin "Creating /var/run/charybdis for ${SVCNAME}" + mkdir /var/run/charybdis \ + && chown :charybdis /var/run/charybdis \ + && chmod 770 /var/run/charybdis + eend $? + fi + + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --exec /usr/bin/charybdis-ircd \ + --user charybdis --pidfile /var/run/charybdis/ircd.pid \ + ${CHARYBDIS_OPTS} + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --pidfile /var/run/charybdis/ircd.pid + eend $? +} + +reload() { + ebegin "Reloading ${SVCNAME}" + start-stop-daemon --signal HUP --pidfile /var/run/charybdis/ircd.pid + eend $? +} diff --git a/net-irc/charybdis/metadata.xml b/net-irc/charybdis/metadata.xml new file mode 100644 index 000000000000..4740cb09d293 --- /dev/null +++ b/net-irc/charybdis/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-irc</herd> + <maintainer> + <email>binki@gentoo.org</email> + <name>Nathan Phillip Brink</name> + </maintainer> + <maintainer> + <email>jdhore@gentoo.org</email> + </maintainer> + <use> + <flag name="largenet">Enable support/tweaks for large networks</flag> + </use> +</pkgmetadata> diff --git a/net-irc/dccserver/Manifest b/net-irc/dccserver/Manifest new file mode 100644 index 000000000000..76ff432fb38e --- /dev/null +++ b/net-irc/dccserver/Manifest @@ -0,0 +1 @@ +DIST dccserver-0.5.tar.gz 139083 SHA256 c757c84543585075c0cc46a338e97f11a3ad59e00322bf5b3a6aef27545cdd76 SHA512 0fb2584dc4bee930fa259862206ba875cf0c7a8257799c3fe85d470de6827eab0b304b0e07b8692268fd1a63a82249204c447df92bed0dd994c78ec295040494 WHIRLPOOL 347200d8fc58a30ddea11a946f92c8bdbb37172b5d9c2034d737d607d6440fa0e5f46315a116ffe4a3246f92d2743dbeac220c127497d2cdcf111cf3315070f4 diff --git a/net-irc/dccserver/dccserver-0.5.ebuild b/net-irc/dccserver/dccserver-0.5.ebuild new file mode 100644 index 000000000000..324947442aeb --- /dev/null +++ b/net-irc/dccserver/dccserver-0.5.ebuild @@ -0,0 +1,18 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +DESCRIPTION="linux implementation of the mirc dccserver command" +SRC_URI="http://www.nih.at/dccserver/${P}.tar.gz" +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ppc x86" +IUSE="" +HOMEPAGE="http://www.nih.at/dccserver/" + +DEPEND="" + +src_install() { + einstall || die "einstall failed" + dodoc AUTHORS NEWS THANKS TODO +} diff --git a/net-irc/dccserver/metadata.xml b/net-irc/dccserver/metadata.xml new file mode 100644 index 000000000000..6ef15e900f17 --- /dev/null +++ b/net-irc/dccserver/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +</pkgmetadata> diff --git a/net-irc/dircproxy/Manifest b/net-irc/dircproxy/Manifest new file mode 100644 index 000000000000..bdbb97a8fc1e --- /dev/null +++ b/net-irc/dircproxy/Manifest @@ -0,0 +1 @@ +DIST dircproxy-1.2.0-RC1.tar.gz 811366 SHA256 40ad50ffd13681114f995519dc3f65f48cb5eac41e780ad14ce8ffd49463757f SHA512 edc4234a5249d06e7342250401c79f3f2190b38ca54f9e7fb4b93a093a7e383057043dc42039fb90f9a012f8cb4fe7a6587d35c045bb58d500ecdbcd16354c17 WHIRLPOOL a96d1e7c6999cb308beb4da11a9bf12a64ea29eb0508cc033cd583a928816752baaddb4d89ff70c772819b7db32daafea226b67aee41d720e560a9e5794de574 diff --git a/net-irc/dircproxy/dircproxy-1.2.0_rc1.ebuild b/net-irc/dircproxy/dircproxy-1.2.0_rc1.ebuild new file mode 100644 index 000000000000..78dac1326f9e --- /dev/null +++ b/net-irc/dircproxy/dircproxy-1.2.0_rc1.ebuild @@ -0,0 +1,22 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +inherit eutils + +MY_P="${P/_rc/-RC}" +DESCRIPTION="an IRC proxy server" +HOMEPAGE="http://code.google.com/p/dircproxy" +SRC_URI="http://dircproxy.googlecode.com/files/${MY_P}.tar.gz" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="alpha amd64 ppc sparc x86" +IUSE="" + +S="${WORKDIR}/${MY_P}" + +src_install() { + emake DESTDIR="${D}" install || die "make install failed" + dodoc AUTHORS ChangeLog FAQ NEWS HACKING README* TODO INSTALL +} diff --git a/net-irc/dircproxy/metadata.xml b/net-irc/dircproxy/metadata.xml new file mode 100644 index 000000000000..69b57b0d2b45 --- /dev/null +++ b/net-irc/dircproxy/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-irc</herd> + <upstream> + <remote-id type="google-code">dircproxy</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-irc/eggdrop/Manifest b/net-irc/eggdrop/Manifest new file mode 100644 index 000000000000..a19db8139bdb --- /dev/null +++ b/net-irc/eggdrop/Manifest @@ -0,0 +1,2 @@ +DIST eggdrop-1.6.21-patches-1.0.tar.bz2 322608 SHA256 78b3107b711ce2df1e7752eb60d517774f104ba1ba0623bb116b824ab8d069d7 SHA512 d7d5d740c68997101f360096612700919c890c4254708102e962427de5929ce98f0f2eb5ad8dc8a56de60e8b610d502edeae7de2ac762fe0981134da379b6e64 WHIRLPOOL 202294f941d064b89348b270823d6b5f6e61483d56d32bde699857efe03c9aafec3ad4a9b6d503ffd97eefe6c6d4912e95546bd12f028e95c52d0e31e2086a1d +DIST eggdrop1.6.21.tar.bz2 999211 SHA256 75bd5573a609eac3940c0b6ca8251c3f38ea5d54b520e1cad93c650b4bc21754 SHA512 9fd9a86c1c4b59a47a5eed4e2306e829a01bac2ad29e990ca9c0ec630d5814fd649a9216dae9ce49f734e3ac1728beb4f479ca10af583bd513f43bbbea23a653 WHIRLPOOL fc8115d6c5f1ac2878bb3811f303fe797f7b813d74f2c5c0be5a703a7e29d652b791a0a5e98842792f2466443c8571c983cd89fd516f36136f62a394060b052d diff --git a/net-irc/eggdrop/eggdrop-1.6.21-r1.ebuild b/net-irc/eggdrop/eggdrop-1.6.21-r1.ebuild new file mode 100644 index 000000000000..8cd1f2702f94 --- /dev/null +++ b/net-irc/eggdrop/eggdrop-1.6.21-r1.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit eutils + +MY_P="eggdrop${PV}" +PATCHSET_V="1.0" + +DESCRIPTION="An IRC bot extensible with C or TCL" +HOMEPAGE="http://www.eggheads.org/" +SRC_URI=" + ftp://ftp.eggheads.org/pub/eggdrop/source/1.6/${MY_P}.tar.bz2 + http://dev.gentoo.org/~binki/distfiles/${CATEGORY}/${PN}/${P}-patches-${PATCHSET_V}.tar.bz2" + +KEYWORDS="alpha amd64 ia64 ~mips ppc sparc x86" +LICENSE="GPL-2" +SLOT="0" +IUSE="debug mysql postgres ssl static vanilla" + +REQUIRED_USE="vanilla? ( !mysql !postgres !ssl )" + +DEPEND=" + dev-lang/tcl:0 + sys-apps/gentoo-functions + !vanilla? ( + mysql? ( virtual/mysql ) + postgres? ( dev-db/postgresql[server] ) + ssl? ( dev-libs/openssl ) + )" +RDEPEND="${DEPEND}" + +S=${WORKDIR}/${MY_P} + +src_prepare() { + if use vanilla; then + rm -f "${WORKDIR}"/patch/[1-6]*.patch || die + fi + + EPATCH_SUFFIX="patch" epatch + + # fix bug #335230 + sed -i \ + -e '/\$(LD)/s/-o/$(CFLAGS) $(LDFLAGS) &/' \ + src/mod/*.mod/Makefile* src/Makefile.in || die +} + +src_configure() { + use mysql || ( echo mysql ; echo mystats ) >>disabled_modules + use postgres || echo pgstats >>disabled_modules + use static && ( echo rijndael ; echo twofish ) >>disabled_modules + + econf $(use_with ssl) + + emake config +} + +src_compile() { + local target="" + + if use static && use debug; then + target="sdebug" + elif use static; then + target="static" + elif use debug; then + target="debug" + fi + + emake ${target} +} + +src_install() { + local a b + emake DEST="${D}"/opt/eggdrop install + + for a in doc/*; do + [ -f ${a} ] && dodoc ${a} + done + + for a in src/mod/*.mod; do + for b in README UPDATES INSTALL TODO CONTENTS; do + [[ -f ${a}/${b} ]] && newdoc ${a}/${b} ${b}.${a##*/} + done + done + + dodoc text/motd.* + + use vanilla || dodoc \ + src/mod/botnetop.mod/botnetop.conf \ + src/mod/gseen.mod/gseen.conf \ + src/mod/mc_greet.mod/mc_greet.conf \ + src/mod/stats.mod/stats.conf \ + src/mod/away.mod/away.doc \ + src/mod/rcon.mod/matchbot.tcl \ + src/mod/mystats.mod/tools/mystats.{conf,sql} \ + src/mod/pgstats.mod/tools/{pgstats.conf,setup.sql} + + dohtml doc/html/*.html + + dobin "${FILESDIR}"/eggdrop-installer + doman doc/man1/eggdrop.1 +} + +pkg_postinst() { + elog "Please run /usr/bin/eggdrop-installer to install your eggdrop bot." +} diff --git a/net-irc/eggdrop/files/eggdrop-installer b/net-irc/eggdrop/files/eggdrop-installer new file mode 100644 index 000000000000..78d697b4c2a4 --- /dev/null +++ b/net-irc/eggdrop/files/eggdrop-installer @@ -0,0 +1,84 @@ +#!/bin/bash +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +source /lib/gentoo/functions.sh || { + echo "${0}: Could not source /lib/gentoo/functions.sh!" + exit 1 +} + +# Checks to see if user is trying to install eggdrop as root. +root_check() { + if [ "${HOME}" = "/root" ] || [ "$(whoami)" = "root" ] + then + ewarn "You should not be installing eggdrop as root." + ewarn + ewarn "Installing eggdrop as root leaves your computer vulnerable" + ewarn "to attack from other irc clients. Please use the eggdrop-installer" + ewarn "script as the user who you wish to run eggdrop with" + exit 1 + fi +} + +# Usage information +usage() { + cat <<USAGE_END +Usage: eggdrop-installer <bot-name> +Install eggdrop for a specific user, creating the directories and files +needed for eggdrop to run securely and safely. +USAGE_END + exit 1 +} + +# Install eggdrop +install_eggdrop() { + einfo "Installing Eggdrop" + einfo + + root_check + + if [ -d "${bot_dir}" ] + then + einfo "Already found a bot home directory for ${bot_name}" + exit 1 + fi + + einfo "Creating directories for your eggdrop..." + for dir in logs filesys/incoming text tmp scripts var + do + mkdir -p "${bot_dir}/${dir}" + done + + einfo "Creating symlinks to required files for your bot to run..." + for file in help language modules eggdrop + do + ln -s "/opt/eggdrop/${file}" "${bot_dir}/${file}" + done + + einfo "Copying motd, banner, scripts and config file..." + cp /opt/eggdrop/text/* "${bot_dir}/text" + cp /opt/eggdrop/scripts/* "${bot_dir}/scripts" + cp /opt/eggdrop/eggdrop.conf "${bot_dir}/eggdrop.conf" + + einfo "Finished..." + einfo + einfo "Please edit your ${bot_dir}/eggdrop.conf!" + einfo + einfo "The bot needs to be run from the ${bot_dir} directory." + einfo "Run 'cd ${bot_dir} && ./eggdrop -m eggdrop.conf'" + einfo "to create the user file and then remove the -m command line option" + einfo "to start your eggdrop bot." + einfo + einfo "If you need any help please refer to the man page, or" + einfo "eggdrop website at http://www.egghelp.org/" +} + +if [ -z "${1}" ] +then + usage +else + bot_name="${1}" + bot_dir="${HOME}/.eggdrop/${bot_name}" + install_eggdrop +fi diff --git a/net-irc/eggdrop/metadata.xml b/net-irc/eggdrop/metadata.xml new file mode 100644 index 000000000000..6ef15e900f17 --- /dev/null +++ b/net-irc/eggdrop/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +</pkgmetadata> diff --git a/net-irc/eiwic/Manifest b/net-irc/eiwic/Manifest new file mode 100644 index 000000000000..1dd650532a12 --- /dev/null +++ b/net-irc/eiwic/Manifest @@ -0,0 +1 @@ +DIST eiwic-1.1.4.tar.gz 117593 SHA256 6a49a859e46548f8ed005ed3c6338c64cc6725a08c32e5bbd075f8eee1eec800 SHA512 f4c6ac9853df2d26803bd3acd0987f6f4445ef0020a2e02b695eb362043f985eec8440ea9875c282e4f070e89b3ce7357947b99f86461a3bddef8cb2a85f8ce1 WHIRLPOOL f5147847f2884734ffcf90f532d0dd49ed96430dd7e76d223543fde30b8779db51a31314ea699ff132b7c8f773482850babe2be375b020fb914dfa9bf4ec1774 diff --git a/net-irc/eiwic/eiwic-1.1.4.ebuild b/net-irc/eiwic/eiwic-1.1.4.ebuild new file mode 100644 index 000000000000..089232007a18 --- /dev/null +++ b/net-irc/eiwic/eiwic-1.1.4.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 +WANT_AUTOMAKE=1.10 +inherit autotools eutils multilib + +DESCRIPTION="A modular IRC bot written in C" +HOMEPAGE="https://github.com/lordi/Eiwic" +SRC_URI="mirror://gentoo/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="debug doc ipv6" + +DOCS="AUTHORS ChangeLog README NEWS TODO sample.conf" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-1.1.3-ldflags.patch + + sed -i \ + -e "/^set MODULE_PATH/s:modules:/usr/$(get_libdir)/eiwic:" \ + -e "/^load MODULE/s:$:.so:" \ + sample.conf || die + + eautoreconf +} + +src_configure() { + export ac_cv_lib_raptor_raptor_init=no #409417 + + econf \ + $(use_enable debug vv-debug) \ + $(use_enable ipv6) +} + +src_install() { + default + use doc && dohtml doc/* +} + +pkg_postinst() { + elog "You need a configuration file to run eiwic. A sample configuration" + elog "was installed to /usr/share/doc/${PF}" +} diff --git a/net-irc/eiwic/files/eiwic-1.1.3-ldflags.patch b/net-irc/eiwic/files/eiwic-1.1.3-ldflags.patch new file mode 100644 index 000000000000..2870dc4f322b --- /dev/null +++ b/net-irc/eiwic/files/eiwic-1.1.3-ldflags.patch @@ -0,0 +1,13 @@ +--- modules/Makefile.am ++++ modules/Makefile.am +@@ -15,8 +15,8 @@ + echo "$@ skipped."; \ + else :;\ + if test $(patsubst %.so,%.c, $@) -nt $@ -o ! -e $@; then \ +- echo "@CC@ @CFLAGS@ $(DEFS) $(INCLUDES) `$(ADD_BUILD_FLAGS)` -shared -fPIC $(patsubst %.so,%.c, $@) -o $@"; \ +- @CC@ @CFLAGS@ $(DEFS) $(INCLUDES) `$(ADD_BUILD_FLAGS)` -shared -fPIC $(patsubst %.so,%.c, $@) -o $@; \ ++ echo "@CC@ @CFLAGS@ $(LDFLAGS) $(DEFS) $(INCLUDES) `$(ADD_BUILD_FLAGS)` -shared -fPIC $(patsubst %.so,%.c, $@) -o $@"; \ ++ @CC@ @CFLAGS@ $(LDFLAGS) $(DEFS) $(INCLUDES) `$(ADD_BUILD_FLAGS)` -shared -fPIC $(patsubst %.so,%.c, $@) -o $@; \ + else :; fi; \ + fi + diff --git a/net-irc/eiwic/metadata.xml b/net-irc/eiwic/metadata.xml new file mode 100644 index 000000000000..48d4032cb43b --- /dev/null +++ b/net-irc/eiwic/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>angelos@gentoo.org</email> + <name>Christoph Mende</name> + </maintainer> + <longdescription lang="en"> + Eiwic is an IRC-bot written in pure C. It can be easily extended by own modules, + that can be loaded at runtime. It has an module API which is designed to make + the creation of own modules as easy as possible. Including "output routing", + TCP/IP socket interface and timer functions. + </longdescription> + <upstream> + <remote-id type="github">lordi/Eiwic</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-irc/emech/Manifest b/net-irc/emech/Manifest new file mode 100644 index 000000000000..3d860129db77 --- /dev/null +++ b/net-irc/emech/Manifest @@ -0,0 +1 @@ +DIST emech-3.0.3.tar.gz 228709 SHA256 e29c62f50206083a9ae8d1f38591c0188a4cb62d09c3aa0f3e71ee3cdf6fb6b2 SHA512 ffe478c0c1800c8afb7afca62dbe08fce6af25a5878ca5fb44bb1271a302d11b96263c51a3848996db8f33f1cdab60d86c26d571d6342fe1505d4dcff83803a3 WHIRLPOOL 82417748e1972e244941a59e508e48510fd7f331239d9114c8b9b814e005881c1659d3ae59ddd7e386eb6ea0a570622eac84c53128babeba49213669616fa141 diff --git a/net-irc/emech/emech-3.0.3-r1.ebuild b/net-irc/emech/emech-3.0.3-r1.ebuild new file mode 100644 index 000000000000..ab8431593e9f --- /dev/null +++ b/net-irc/emech/emech-3.0.3-r1.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils readme.gentoo toolchain-funcs + +DESCRIPTION="UNIX compatible IRC bot programmed in the C language" +HOMEPAGE="http://www.energymech.net/" +SRC_URI="http://www.energymech.net/files/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc x86" + +IUSE="debug session tcl" + +DOC_CONTENTS="You can find a compressed sample config file at /usr/share/doc/${PF}" + +src_prepare() { + sed -i \ + -e 's: "help/":"/usr/share/energymech/help/":' \ + -e 's: "messages/":"/usr/share/energymech/messages/":' \ + src/config.h.in || die + # Respect CFLAGS and LDFLAGS + sed -i \ + -e '/^LFLAGS/s/\$(PIPEFLAG)/\0 \$(OPTIMIZE) \$(LDFLAGS)/' \ + -e '/^GDBFLAG/d' \ + -e '/^PIPEFLAG/d' \ + src/Makefile.in || die + + epatch_user +} + +myconf() { + echo ./configure $* + ./configure $* || die "./configure failed" +} + +src_configure() { + myconf \ + --with-alias \ + --with-botnet \ + --with-bounce \ + --with-ctcp \ + --with-dccfile \ + --with-dynamode \ + --with-dyncmd \ + --with-greet \ + --with-ircd_ext \ + --with-md5 \ + --with-newbie \ + --with-note \ + --with-notify \ + --with-rawdns \ + --with-redirect \ + --with-seen \ + --with-stats \ + --with-telnet \ + --with-toybox \ + --with-trivia \ + --without-uptime \ + --with-web \ + --with-wingate \ + --without-profiling \ + $(use_with tcl) \ + $(use_with session) \ + $(use_with debug) +} + +src_compile() { + emake -C src CC="$(tc-getCC)" OPTIMIZE="${CFLAGS}" +} + +src_install() { + dobin src/energymech + + insinto /usr/share/energymech + doins -r help + + insinto /usr/share/energymech/messages + doins messages/*.txt + + dodoc sample.* README* TODO VERSIONS CREDITS checkmech + readme.gentoo_create_doc +} diff --git a/net-irc/emech/metadata.xml b/net-irc/emech/metadata.xml new file mode 100644 index 000000000000..6ef15e900f17 --- /dev/null +++ b/net-irc/emech/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +</pkgmetadata> diff --git a/net-irc/epic4/Manifest b/net-irc/epic4/Manifest new file mode 100644 index 000000000000..e7a5f6f51374 --- /dev/null +++ b/net-irc/epic4/Manifest @@ -0,0 +1,3 @@ +DIST epic4-2.10.1.tar.bz2 629722 SHA256 7eb6294c0a1a5aee8bc47f9c6904b2240bf7163e4e07d295296f6b2e214e9935 SHA512 382a0ad6d2778aba037ee1cf065ec7d2ea3827957010f9eea36072fbb8bf14cdba5baffa9a3ce7888305a2451ae61a4b5b5823336fc80b73997fe0d609918656 WHIRLPOOL 0d7ccf95886124ccc0cefe5674990fd778eaa84c836404ab1b74cde090e89e91b59950a3c7ce3eecd33e83a8abaa00bfbf7d192d16c69dd4bf94fcfca37c0c79 +DIST epic4-help-20050315.tar.gz 332502 SHA256 714afd07348731e6ac82e1f6548acc12e84539b3106ab27fa5d00ed5696256f7 SHA512 f59339d4f2c339cb4c3cbc0cce7db8fadbfe469884c16ab9add42e98eb318851e48ce8a04b4920d33c42afff8b39ec41186744eda0460af544c43fe14658e7e6 WHIRLPOOL c2d3783d99692c562490707f68e6b2f2c50c11ef3053e7574c8f049e01504f171f8d86e189e8849e30bb0f3097dc5c7ebb61db9f869b22345ebbfdcdb2daaf38 +DIST epic4-local.bz2 6530 SHA256 4509ac8e491ac0b75dc5ddcef845b02b3610804dd98de9b5b98d58630be322cd SHA512 2f4bb0aee284ddedd95dd97b17bd1756fcc700ec07b2814d84f3185e215134600fdd0fadf7ecb1d490ebb449f5e9530fcb207ebfaec27cfce1f9570e73103cc1 WHIRLPOOL 437ab54779f6579a77870b792bf1f763f94c2faf29ca3adfa0d465385dd67b8bf3fc315130761ba8a305c3c01f01e46fe3c1f708110b3ee5a79221a17fb32ab1 diff --git a/net-irc/epic4/epic4-2.10.1.ebuild b/net-irc/epic4/epic4-2.10.1.ebuild new file mode 100644 index 000000000000..340e9acf7e48 --- /dev/null +++ b/net-irc/epic4/epic4-2.10.1.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit autotools eutils flag-o-matic toolchain-funcs + +HELP_V="20050315" + +DESCRIPTION="Epic4 IRC Client" +HOMEPAGE="http://epicsol.org/" +SRC_URI=" + ftp://ftp.epicsol.org/pub/epic/EPIC4-PRODUCTION/${P}.tar.bz2 + ftp://prbh.org/pub/epic/EPIC4-PRODUCTION/epic4-help-${HELP_V}.tar.gz + mirror://gentoo/epic4-local.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="alpha amd64 hppa ia64 ppc sparc x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="ipv6 perl ssl" + +DEPEND=" + >=sys-libs/ncurses-5.2 + perl? ( dev-lang/perl ) + ssl? ( >=dev-libs/openssl-0.9.5:0 )" +RDEPEND="${DEPEND}" + +src_prepare() { + epatch \ + "${FILESDIR}"/epic-defaultserver.patch \ + "${FILESDIR}"/${P}-make-recursion.patch \ + "${FILESDIR}"/${P}-perl.patch + + eautoconf + + rm -f "${WORKDIR}"/help/Makefile || die + ecvs_clean +} + +src_configure() { + replace-flags "-O?" "-O" + + # copied from alt overlay + [[ ${CHOST} == *-interix* ]] && export ac_cv_func_getpgrp_void=yes + + econf \ + --libexecdir="${EPREFIX}"/usr/libexec/${PN} \ + $(use_with ipv6) \ + $(use_with perl) \ + $(use_with ssl) +} + +src_compile() { + emake CC="$(tc-getCC)" +} + +src_install () { + einstall \ + sharedir="${ED}"/usr/share \ + libexecdir="${ED}"/usr/libexec/${PN} + + dodoc BUG_FORM README KNOWNBUGS VOTES + + cd "${S}"/doc || die + docinto doc + dodoc \ + *.txt colors EPIC* IRCII_VERSIONS local_vars missing new-load \ + nicknames outputhelp SILLINESS TS4 + + insinto /usr/share/epic + doins -r "${WORKDIR}"/help +} + +pkg_postinst() { + if [ ! -f "${EROOT}"/usr/share/epic/script/local ]; then + elog "/usr/share/epic/script/local does not exist, I will now" + elog "create it. If you do not like the look/feel of this file, or" + elog "if you'd prefer to use your own script, simply remove this" + elog "file. If you want to prevent this file from being installed" + elog "in the future, simply create an empty file with this name." + cp "${WORKDIR}"/epic4-local "${EROOT}"/usr/share/epic/script/local + elog + elog "This provided local startup script adds a number of nifty" + elog "features to Epic including tab completion, a comprehensive set" + elog "of aliases, and channel-by-channel logging. To prevent" + elog "unintentional conflicts with your own scripting, if either the" + elog "~/.ircrc or ~/.epicrc script files exist, then the local script" + elog "is *not* run. If you like the script but want to make careful" + elog "additions (such as selecting your usual servers or setting your" + elog "nickname), simply copy /usr/share/epic/script/local to ~/.ircrc" + elog "and then add your additions to the copy." + fi + + # Fix for bug 59075 + chmod 755 "${EROOT}"/usr/share/epic/help +} diff --git a/net-irc/epic4/files/epic-defaultserver.patch b/net-irc/epic4/files/epic-defaultserver.patch new file mode 100644 index 000000000000..1dbc2087cce9 --- /dev/null +++ b/net-irc/epic4/files/epic-defaultserver.patch @@ -0,0 +1,12 @@ +diff -Naur epic4-1.1.14.orig/include/config.h epic4-1.1.14/include/config.h +--- epic4-1.1.14.orig/include/config.h 2003-10-28 05:53:57.000000000 +0000 ++++ epic4-1.1.14/include/config.h 2004-01-03 13:49:53.083473288 +0000 +@@ -42,7 +42,7 @@ + * the client will NOT compile and work properly! Use the default here if + * you dont have other servers to use. + */ +-#define DEFAULT_SERVER "localhost irc.efnet.net irc.undernet.org irc.dal.net" ++#define DEFAULT_SERVER "localhost irc.freenode.net irc.efnet.net irc.undernet.org irc.dal.net" + + /* + * The left and right brace characters ('{', '}') are special characters in diff --git a/net-irc/epic4/files/epic4-2.10.1-make-recursion.patch b/net-irc/epic4/files/epic4-2.10.1-make-recursion.patch new file mode 100644 index 000000000000..68d7e4c460b6 --- /dev/null +++ b/net-irc/epic4/files/epic4-2.10.1-make-recursion.patch @@ -0,0 +1,10 @@ +--- a/Makefile.in ++++ b/Makefile.in +@@ -210,6 +210,6 @@ + $(RM) Makefile source/Makefile include/sig.inc config.status config.cache config.log include/defs.h source/info.c.sh + + depend: +- (cd source;make depend) ++ (cd source;$(MAKE) depend) + + # This is the end of the file. diff --git a/net-irc/epic4/files/epic4-2.10.1-perl.patch b/net-irc/epic4/files/epic4-2.10.1-perl.patch new file mode 100644 index 000000000000..ce41d153abc6 --- /dev/null +++ b/net-irc/epic4/files/epic4-2.10.1-perl.patch @@ -0,0 +1,54 @@ +From: Nathan Phillip Brink <binki@gentoo.org> +Subject: Fix broken perl detection somewhat. + +--- a/configure.in ++++ b/configure.in +@@ -636,25 +636,27 @@ + dnl + + AC_MSG_CHECKING(whether to support Perl) +-AC_ARG_WITH(perl, +-[ --with-perl[=PATH] Compile with perl support.], +-[ test -z "$withval" && withval=yes ], +-) +-test "xno" != "x$withval" && for base in $withval /usr/local /usr / +-do +- FOUND= +- for ext in so a dll ; do +- test -r $base/lib/libperl.$ext && FOUND=1 +- test -r $base/libperl.$ext && FOUND=1 +- done +- test -n "$FOUND" || continue +- AC_MSG_RESULT(yes) +- LIBS="$LIBS `perl -MExtUtils::Embed -e ldopts`" +- PERLDOTOH="perl.o" +- AC_DEFINE(PERL) +- break +-done +-test -z "$PERLDOTOH" && AC_MSG_RESULT(no) ++AC_ARG_WITH([perl], ++ [AS_HELP_STRING([--with-perl[=PATH]], [Compile with perl support.])], ++ [], ++ [with_perl=maybe]) ++AS_IF([test "xno" != "x$with_perl"], ++ [ ++ PERL_LIBS="`perl -MExtUtils::Embed -e ldopts`" ++ AS_IF([test -n "$PERL_LIBS"], ++ [ ++ AC_MSG_RESULT([yes]) ++ LIBS="$LIBS $PERL_LIBS" ++ AC_DEFINE([PERL], [], [Define if perl support should be compiled]) ++ PERLDOTOH="perl.o" ++ ], ++ [ ++ AC_MSG_RESULT([no]) ++ AS_IF([test "x$with_perl" != "xmaybe"], ++ [AC_MSG_ERROR([You specified --with-perl, but I was unable to find libperl])]) ++ ]) ++ ]) ++ + withval='' + + dnl ---------------------------------------------------------- + +Diff finished. Thu Jun 30 22:15:26 2011 diff --git a/net-irc/epic4/metadata.xml b/net-irc/epic4/metadata.xml new file mode 100644 index 000000000000..6ef15e900f17 --- /dev/null +++ b/net-irc/epic4/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +</pkgmetadata> diff --git a/net-irc/epic5/Manifest b/net-irc/epic5/Manifest new file mode 100644 index 000000000000..d0d2cee822de --- /dev/null +++ b/net-irc/epic5/Manifest @@ -0,0 +1 @@ +DIST epic5-1.1.10.tar.bz2 851439 SHA256 a4f19214e8eb9a7aceaed62d924d96d8c9359b186ff230c01daff398dd62cdb5 SHA512 d0215570962253a0d5c60dacec86db1094575b0765db039247cf16b5957ba721576618ff73588610ba528782f4460fd4bbe5a1869e60e2c10d832d41ea3c6048 WHIRLPOOL 906b919e99a4bfed78bab153aae3964850be17de958382859547fc34ded75a546714c57c4b1857597fec210359f93a1f6da3b5375a689ac435be381b101ec64a diff --git a/net-irc/epic5/epic5-1.1.10-r1.ebuild b/net-irc/epic5/epic5-1.1.10-r1.ebuild new file mode 100644 index 000000000000..62465586552b --- /dev/null +++ b/net-irc/epic5/epic5-1.1.10-r1.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +USE_RUBY="ruby20 ruby21 ruby22" +RUBY_OPTIONAL=yes +inherit autotools eutils multilib ruby-ng toolchain-funcs + +DESCRIPTION="Epic5 IRC Client" +SRC_URI="ftp://ftp.epicsol.org/pub/epic/EPIC5-PRODUCTION/${P}.tar.bz2" +HOMEPAGE="http://epicsol.org/" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="archive ipv6 perl tcl ruby socks5 valgrind" + +RDEPEND=" + >=dev-libs/openssl-0.9.8e-r3:0 + >=sys-libs/ncurses-5.6-r2 + virtual/libiconv + archive? ( app-arch/libarchive ) + perl? ( >=dev-lang/perl-5.8.8-r2 ) + tcl? ( dev-lang/tcl:0 ) + socks5? ( net-proxy/dante ) + ruby? ( $(ruby_implementations_depend) )" +DEPEND="${RDEPEND} + valgrind? ( dev-util/valgrind )" +REQUIRED_USE="ruby? ( ^^ ( $(ruby_get_use_targets) ) ) + $(for t in $(ruby_get_use_targets); do echo "${t}? ( ruby )"; done)" + +S=${WORKDIR}/${P} + +pkg_setup() { + # bug #489608, bug #497080 + use ruby && ruby-ng_pkg_setup +} + +# Don't use ruby-ng's separated sources support: +src_unpack() { + default +} + +src_prepare() { + epatch \ + "${FILESDIR}"/${PN}-1.1.2-libarchive-automagic.patch \ + "${FILESDIR}"/${P}-ruby-automagic-as-needed.patch \ + "${FILESDIR}"/${P}-tcl-automagic-as-needed.patch \ + "${FILESDIR}"/${PN}-1.1.2-perl-automagic-as-needed.patch \ + "${FILESDIR}"/${P}-without-localdir.patch \ + "${FILESDIR}"/${P}-socks5-libsocks.patch + eautoconf +} + +src_configure() { + # Because of our REQUIRED_USE constraints above, we know that + # ruby_get_use_implementations will only ever return one ruby + # implementation. + econf \ + --libexecdir="${EPREFIX}"/usr/lib/misc \ + $(use_with archive libarchive) \ + $(use_with ipv6) \ + $(use_with perl) \ + $(use_with ruby ruby "$(ruby_implementation_command $(ruby_get_use_implementations))") \ + $(use_with socks5) \ + $(use_with tcl tcl "${EPREFIX}"/usr/$(get_libdir)/tclConfig.sh) \ + $(use_with valgrind valgrind) +} + +src_compile() { + # parallel build failure + emake -j1 +} + +src_install () { + default + + dodoc BUG_FORM COPYRIGHT EPIC4-USERS-README README KNOWNBUGS VOTES + + cd "${S}"/doc || die + docinto doc + dodoc \ + *.txt colors EPIC* IRCII_VERSIONS missing \ + nicknames outputhelp README.SSL SILLINESS TS4 +} diff --git a/net-irc/epic5/epic5-1.1.10.ebuild b/net-irc/epic5/epic5-1.1.10.ebuild new file mode 100644 index 000000000000..9ed22d78eef7 --- /dev/null +++ b/net-irc/epic5/epic5-1.1.10.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +USE_RUBY="ruby19" +RUBY_OPTIONAL=yes +inherit autotools eutils multilib ruby-ng toolchain-funcs + +DESCRIPTION="Epic5 IRC Client" +SRC_URI="ftp://ftp.epicsol.org/pub/epic/EPIC5-PRODUCTION/${P}.tar.bz2" +HOMEPAGE="http://epicsol.org/" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" +IUSE="archive ipv6 perl tcl ruby socks5 valgrind" + +RDEPEND=" + >=dev-libs/openssl-0.9.8e-r3:0 + >=sys-libs/ncurses-5.6-r2 + virtual/libiconv + archive? ( app-arch/libarchive ) + perl? ( >=dev-lang/perl-5.8.8-r2 ) + tcl? ( dev-lang/tcl:0 ) + socks5? ( net-proxy/dante ) + ruby? ( $(ruby_implementations_depend) )" +DEPEND="${RDEPEND} + valgrind? ( dev-util/valgrind )" +REQUIRED_USE="ruby? ( $(ruby_get_use_targets) )" + +S=${WORKDIR}/${P} + +pkg_setup() { + # bug #489608, bug #497080 + use ruby && ruby-ng_pkg_setup +} + +# Don't use ruby-ng's separated sources support: +src_unpack() { + default +} + +src_prepare() { + epatch \ + "${FILESDIR}"/${PN}-1.1.2-libarchive-automagic.patch \ + "${FILESDIR}"/${P}-ruby-automagic-as-needed.patch \ + "${FILESDIR}"/${P}-tcl-automagic-as-needed.patch \ + "${FILESDIR}"/${PN}-1.1.2-perl-automagic-as-needed.patch \ + "${FILESDIR}"/${P}-without-localdir.patch \ + "${FILESDIR}"/${P}-socks5-libsocks.patch + eautoconf +} + +src_configure() { + econf \ + --libexecdir="${EPREFIX}"/usr/lib/misc \ + $(use_with archive libarchive) \ + $(use_with ipv6) \ + $(use_with perl) \ + $(use_with ruby ruby "$(ruby_implementation_command ${USE_RUBY})") \ + $(use_with socks5) \ + $(use_with tcl tcl "${EPREFIX}"/usr/$(get_libdir)/tclConfig.sh) \ + $(use_with valgrind valgrind) +} + +src_compile() { + # parallel build failure + emake -j1 +} + +src_install () { + default + + dodoc BUG_FORM COPYRIGHT EPIC4-USERS-README README KNOWNBUGS VOTES + + cd "${S}"/doc || die + docinto doc + dodoc \ + *.txt colors EPIC* IRCII_VERSIONS missing \ + nicknames outputhelp README.SSL SILLINESS TS4 +} diff --git a/net-irc/epic5/files/epic-defaultserver.patch b/net-irc/epic5/files/epic-defaultserver.patch new file mode 100644 index 000000000000..d44123244fd9 --- /dev/null +++ b/net-irc/epic5/files/epic-defaultserver.patch @@ -0,0 +1,12 @@ +diff -Naur epic4-1.1.14.orig/include/config.h epic4-1.1.14/include/config.h +--- epic4-1.1.14.orig/include/config.h 2003-10-28 05:53:57.000000000 +0000 ++++ epic4-1.1.14/include/config.h 2004-01-03 13:49:53.083473288 +0000 +@@ -42,7 +42,7 @@ + * the client will NOT compile and work properly! Use the default here if + * you dont have other servers to use. + */ +-#define DEFAULT_SERVER "localhost irc.efnet.net irc.undernet.org irc.dal.net" ++#define DEFAULT_SERVER "irc.freenode.net irc.efnet.net irc.undernet.org irc.dal.net" + + /* + * The left and right brace characters ('{', '}') are special characters in diff --git a/net-irc/epic5/files/epic5-1.1.10-ruby-automagic-as-needed.patch b/net-irc/epic5/files/epic5-1.1.10-ruby-automagic-as-needed.patch new file mode 100644 index 000000000000..ba277ca8f60b --- /dev/null +++ b/net-irc/epic5/files/epic5-1.1.10-ruby-automagic-as-needed.patch @@ -0,0 +1,134 @@ +From: Nathan Phillip Brink <binki@gentoo.org> +Subject: Fix up linking against libruby when using + LDFLAGS=-Wl,--as-needed. Also allow ruby to be a non-automagic + dependency. + +--- a/configure.in Tue Mar 25 07:39:34 2014 +0000 ++++ b/configure.in Tue Mar 25 07:55:14 2014 +0000 +@@ -1168,34 +1168,28 @@ + dnl + dnl Ruby support? + dnl +-AC_ARG_WITH(ruby, +-[ --with-ruby[=PATH_TO_RUBY_EXE] Compile with ruby support.], +-[ +- rubyexe=$withval +-], +- rubyexe=yes +-) +- +-if test "x$rubyexe" = "xyes"; then +- for i in ruby ruby20 ruby19 ruby18 ruby2.0 ruby1.9.1 ruby1.9 ruby1.8; do +- $i -h 2>&1 >/dev/null && rubyexe=$i && break +- done +- if test "x$rubyexe" = "xyes"; then +- rubyexe=no +- fi +-fi ++AC_ARG_WITH([ruby], ++ [AS_HELP_STRING([--with-ruby[=PATH_TO_RUBY_EXE]], [Compile with ruby support.])], ++ [], [with_ruby=maybe]) + +-if test "x$rubyexe" = "xno"; then ++with_ruby_errormsg="--with-ruby was specified but I could not locate ruby. Please try specifying --with-ruby=/path/to/ruby or --without-ruby." ++AC_MSG_CHECKING([whether to support Ruby]) ++if test "x$with_ruby" = "xno" ; then + AC_MSG_CHECKING(whether to support Ruby) + AC_MSG_RESULT(no) + else +- AC_CHECK_PROG(RUBYPROG, $rubyexe, "yes", "no") +- AC_MSG_CHECKING(whether to support Ruby) +- if test $RUBYPROG != "yes" ; then +- AC_MSG_RESULT(no) ++ AC_MSG_RESULT(yes) ++ AS_IF([test "x$with_ruby" = "xyes" -o "x$with_ruby" = "xmaybe"], ++ [rubyexe=ruby], ++ [rubyexe="$with_ruby"]) ++ dnl Support --with-ruby being passed a full path instead of just an executable name. ++ AS_IF([test -x "$rubyexe"], ++ [RUBYPROG=yes], ++ [AC_CHECK_PROG([RUBYPROG], [$rubyexe], [yes], [no])]) ++ if test "x$RUBYPROG" = xno ; then ++ AS_IF([test "x$with_ruby" != "xmaybe"], ++ [AC_MSG_ERROR([$with_ruby_errormsg])]) + else +- AC_MSG_RESULT(yes) +- + dnl ---- + dnl Look first for Ruby 1.9 + incdir=`$rubyexe -rrbconfig -e 'puts RbConfig::CONFIG[["rubyhdrdir"]]'` +@@ -1208,15 +1205,15 @@ + + rubylibs=`$rubyexe -rrbconfig -e 'puts RbConfig::CONFIG[["LIBRUBYARG"]]'` + extralibs=`$rubyexe -rrbconfig -e 'puts RbConfig::CONFIG[["LIBS"]]'` +- RUBYLDFLAGS="$rubylibs $extralibs" ++ RUBYLIBS="$rubylibs $extralibs" + RUBYDOTOH="ruby.o" + + AC_MSG_CHECKING(whether embedded ruby works the way I expect) + have_embedded_ruby="no" + old_CFLAGS="$CFLAGS" +- old_LDFLAGS="$LDFLAGS" ++ old_LIBS="$LIBS" + CFLAGS="$CFLAGS $RUBYCFLAGS" +- LDFLAGS="$LDFLAGS $RUBYLDFLAGS" ++ LIBS="$LIBS $RUBYLIBS" + AC_TRY_LINK([ + #include <ruby.h> + VALUE epic_echo (VALUE module, VALUE string) +@@ -1241,9 +1238,9 @@ + AC_MSG_RESULT(no) + AC_MSG_CHECKING(whether ruby requires -pthread to link) + RUBYCFLAGS="$RUBYCFLAGS -pthread" +- RUBYLDFLAGS="$RUBYLDFLAGS -pthread" +- CFLAGS="$CFLAGS $RUBYCFLAGS" +- LDFLAGS="$LDFLAGS $RUBYLDFLAGS" ++ RUBYLIBS="$RUBYLIBS -pthread" ++ CFLAGS="$old_CFLAGS $RUBYCFLAGS" ++ LIBS="$old_LIBS $RUBYLIBS" + + AC_TRY_LINK([ + #include <ruby.h> +@@ -1268,17 +1265,19 @@ + fi + + CFLAGS="$old_CFLAGS" +- LDFLAGS="$old_LDFLAGS" ++ LIBS="$old_LIBS" + if test $have_embedded_ruby = "yes" ; then + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_RUBY) + AC_DEFINE(RUBYCFLAGS) +- AC_DEFINE(RUBYLDFLAGS) ++ AC_DEFINE(RUBYLIBS) + else ++ AS_IF([test "x$with_ruby" != "xmaybe"], ++ [AC_MSG_ERROR([$with_ruby_errormsg])]) + RUBYDOTOH="" + HAVE_RUBY="" + RUBYCFLAGS="" +- RUBYLDFLAGS="" ++ RUBYLIBS="" + AC_MSG_RESULT(no, sorry) + fi + fi +@@ -1376,7 +1375,7 @@ + AC_SUBST(LDFLAGS) + AC_SUBST(RUBYDOTOH) + AC_SUBST(RUBYCFLAGS) +-AC_SUBST(RUBYLDFLAGS) ++AC_SUBST(RUBYLIBS) + AC_SUBST(TCLDOTOH) + AC_SUBST(TCLCFLAGS) + AC_SUBST(TCLLDFLAGS) +--- a/source/Makefile.in Tue Mar 25 07:39:34 2014 +0000 ++++ b/source/Makefile.in Tue Mar 25 07:55:14 2014 +0000 +@@ -38,7 +38,7 @@ + epic5: $(OBJECTS) + sh info.c.sh + $(CC) $(CFLAGS) $(INCLUDES) -c info.c +- $(CC) $(CFLAGS) $(LDFLAGS) -o epic5 $(OBJECTS) info.o @PERLLDFLAGS@ @TCLLDFLAGS@ @RUBYLDFLAGS@ $(LIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o epic5 $(OBJECTS) info.o @PERLLDFLAGS@ @TCLLDFLAGS@ @RUBYLIBS@ $(LIBS) + $(RM) info.c info.o + clean:: + $(RM) epic5 $(OBJECTS) diff --git a/net-irc/epic5/files/epic5-1.1.10-socks5-libsocks.patch b/net-irc/epic5/files/epic5-1.1.10-socks5-libsocks.patch new file mode 100644 index 000000000000..c2555c059e79 --- /dev/null +++ b/net-irc/epic5/files/epic5-1.1.10-socks5-libsocks.patch @@ -0,0 +1,37 @@ +From: Nathan Phillip Brink <binki@gentoo.org> +Subject: Use -lsocks instead of -lsocks5 for `./configure --with-socks5`. + +Index: configure.in +=================================================================== +RCS file: /home/cvs/repository/epic5/configure.in,v +retrieving revision 1.101 +diff -u -b -B -u -r1.101 configure.in +--- configure.in 9 Apr 2014 17:51:06 -0000 1.101 ++++ configure.in 4 Sep 2014 00:18:00 -0000 +@@ -861,7 +861,7 @@ + + AC_MSG_CHECKING(whether to support SOCKS) + AC_ARG_WITH(socks, +-[ --with-socks[=PATH] Compile with SOCKS firewall traversal support.], ++[ --with-socks[=PATH] Compile with SOCKS (libsocks without socks.h) firewall traversal support.], + [ case "$withval" in + no) + AC_MSG_RESULT(no) +@@ -887,7 +887,7 @@ + + AC_MSG_CHECKING(whether to support SOCKS5) + AC_ARG_WITH(socks5, +-[ --with-socks5[=PATH] Compile with SOCKS5 firewall traversal support.], ++[ --with-socks5[=PATH] Compile with SOCKS5 (libsocks with socks.h) firewall traversal support.], + [ case "$withval" in + no) + AC_MSG_RESULT(no) +@@ -899,7 +899,7 @@ + fi + + AC_MSG_RESULT(yes) +- LIBS="$LIBS -lsocks5" ++ LIBS="$LIBS -lsocks" + AC_DEFINE(SOCKS) + AC_DEFINE(USE_SOCKS5) + ;; diff --git a/net-irc/epic5/files/epic5-1.1.10-tcl-automagic-as-needed.patch b/net-irc/epic5/files/epic5-1.1.10-tcl-automagic-as-needed.patch new file mode 100644 index 000000000000..5b5b932b06bc --- /dev/null +++ b/net-irc/epic5/files/epic5-1.1.10-tcl-automagic-as-needed.patch @@ -0,0 +1,116 @@ +From: Nathan Phillip Brink <binki@gentoo.org> +Subject: Make dependence on TCL not be automagic (so that --with-tcl + errors out if TCL can't be found and not specifying --with-tcl + does the normal automagic behavior). Support + LDFLAGS=-Wl,--as-needed by using LIBS instead of LDFLAGS for + -ltcl as appropriate. + +--- a/configure.in ++++ b/configure.in +@@ -1122,43 +1122,41 @@ + dnl + dnl Tcl support? + dnl +-AC_ARG_WITH(tcl, +-[ --with-tcl[=PATH_TO_tclConfig.sh] Compile with tcl support.], +-[ +- tclconfig=$withval +-], +- tclconfig="yes" +-) +- +-if test "x$tclconfig" = "xyes" ; then +- for i in /usr/lib $localdir/lib $localdir/lib/tcl8.4 ; do +- if test -r $i/tclConfig.sh ; then +- tclconfig=$i/tclConfig.sh +- break; +- fi +- done +-fi ++AC_ARG_WITH([tcl], [AS_HELP_STRING([--with-tcl[=PATH_TO_tclConfig.sh]], [Compile with tcl support.])], ++ [], [with_tcl=maybe]) + + AC_MSG_CHECKING(whether to support TCL) +-if test "x$tclconfig" = "xno"; then ++if test "x$with_tcl" = "xno"; then + AC_MSG_RESULT(no) + else +- if test ! -r $tclconfig ; then ++ with_tcl_errormsg="You specified --with-tcl=$with_tcl but I could not find TCL. Please specify --with-tcl=/path/to/tclConfig.sh or remove --with-tcl from ./configure's commandline." ++ if test "x$with_tcl" = "xmaybe" -o "x$with_tcl" = "xyes"; then ++ for i in /usr/lib /usr/local/lib /usr/local/lib/tcl8.4 ; do ++ if test -r "$i"/tclConfig.sh ; then ++ tclconfig="$i"/tclConfig.sh ++ break; ++ fi ++ done ++ else ++ tclconfig="$with_tcl" ++ fi ++ if test ! -r "$tclconfig" ; then ++ dnl Avoid being automagic unless if the user wants us to be. ++ AS_IF([test "x$with_tcl" != "xmaybe"], ++ [AC_MSG_ERROR([$with_tcl_errormsg])]) + AC_MSG_RESULT(no) + else + AC_MSG_RESULT(yes) +- TCLCFLAGS=`(. $tclconfig && echo $TCL_INCLUDE_SPEC)` +- TCLLDFLAGS1=`(. $tclconfig && echo $TCL_LIB_SPEC)` +- TCLLDFLAGS2=`(. $tclconfig && echo $TCL_LIBS)` +- TCLLDFLAGS=$(eval echo "$TCLLDFLAGS1 $TCLLDFLAGS2") ++ TCLCFLAGS=`(. "$tclconfig" && echo $TCL_INCLUDE_SPEC)` ++ TCLLIBS=`(. "$tclconfig" && echo $TCL_LIB_SPEC $TCL_LIBS)` + TCLDOTOH="tcl.o" + + AC_MSG_CHECKING(whether embedded tcl works the way I expect) + have_embedded_tcl="no" + old_CFLAGS="$CFLAGS" +- old_LDFLAGS="$LDFLAGS" ++ old_LIBS="$LIBS" + CFLAGS="$CFLAGS $TCLCFLAGS" +- LDFLAGS="$LDFLAGS $TCLLDFLAGS" ++ LIBS="$LIBS $TCLLIBS" + AC_TRY_LINK([ + #include <tcl.h> + Tcl_Interp *my_tcl; +@@ -1175,14 +1173,16 @@ + ], have_embedded_tcl="yes") + + CFLAGS="$old_CFLAGS" +- LDFLAGS="$old_LDFLAGS" ++ LIBS="$old_LIBS" + if test $have_embedded_tcl = "yes" ; then + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_TCL) + AC_DEFINE(TCLCFLAGS) +- AC_DEFINE(TCLLDFLAGS) ++ AC_DEFINE(TCLLIBS) + else +- AC_MSG_RESULT(no, sorry) ++ AS_IF([test "$with_tcl" != "xmaybe"], ++ [AC_MSG_ERROR([$with_tcl_errormsg])]) ++ AC_MSG_RESULT(no, sorry) + fi + fi + fi +@@ -1383,7 +1383,7 @@ + AC_SUBST(RUBYLIBS) + AC_SUBST(TCLDOTOH) + AC_SUBST(TCLCFLAGS) +-AC_SUBST(TCLLDFLAGS) ++AC_SUBST(TCLLIBS) + AC_SUBST(PERLDOTOH) + AC_SUBST(PERLCFLAGS) + AC_SUBST(PERLLDFLAGS) + +--- a/source/Makefile.in ++++ b/source/Makefile.in +@@ -38,7 +38,7 @@ + epic5: $(OBJECTS) + sh info.c.sh + $(CC) $(CFLAGS) $(INCLUDES) -c info.c +- $(CC) $(CFLAGS) $(LDFLAGS) -o epic5 $(OBJECTS) info.o @PERLLDFLAGS@ @TCLLDFLAGS@ @RUBYLIBS@ $(LIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o epic5 $(OBJECTS) info.o @PERLLDFLAGS@ @TCLLIBS@ @RUBYLIBS@ $(LIBS) + $(RM) info.c info.o + clean:: + $(RM) epic5 $(OBJECTS) diff --git a/net-irc/epic5/files/epic5-1.1.10-without-localdir.patch b/net-irc/epic5/files/epic5-1.1.10-without-localdir.patch new file mode 100644 index 000000000000..4caccad764a8 --- /dev/null +++ b/net-irc/epic5/files/epic5-1.1.10-without-localdir.patch @@ -0,0 +1,66 @@ +From: Nathan Phillip Brink <binki@gentoo.org> +Subject: Drop some automatic probing of /usr/local and /opt and etc., Gentoo users know to use CPPFLAGS/CFLAGS/LDFLAGS. +Date: 2014-08-30 + +--- a/configure.in ++++ b/configure.in +@@ -33,58 +33,6 @@ + AC_AIX + + dnl ---------------------------------------------------------- +-AC_MSG_CHECKING([for an extra library directory]) +-AC_ARG_WITH([localdir], +-[ --with-localdir=/usr/local An extra directory to look for stuff.],[ +- if test "x$withval" = "x" ; then +- if test -d /usr/local/lib ; then +- withval="/usr/local" +- elif test -d /usr/pkg/lib ; then +- withval="/usr/pkg" +- elif test -d /opt/lib ; then +- withval="/opt" +- else +- with_extra_libdir="no" +- fi +- elif test -d "$withval" ; then +- with_extra_libdir="yes" +- else +- with_extra_libdir="no" +- fi +- +- if test "x$withval" != "x" ; then +- LIBS="-L$withval/lib $LIBS" +- CFLAGS="-I$withval/include/ $CFLAGS" +- localdir=$withdir +- with_extra_libdir="yes" +- else +- with_extra_libdir="no" +- fi +-],[ +- if test "x$withval" = "x" ; then +- if test -d /usr/local/lib ; then +- withval="/usr/local" +- elif test -d /usr/pkg/lib ; then +- withval="/usr/pkg" +- elif test -d /opt/lib ; then +- withval="/opt" +- else +- with_extra_libdir="no" +- fi +- fi +- +- if test "x$withval" != "x" ; then +- LIBS="-L$withval/lib $LIBS" +- CFLAGS="-I$withval/include/ $CFLAGS" +- localdir=$withdir +- with_extra_libdir="yes" +- else +- with_extra_libdir="no" +- fi +-]) +-AC_MSG_RESULT([$with_extra_libdir, $withval]) +- +-dnl ---------------------------------------------------------- + dnl ---------------------------------------------------------- + dnl + dnl System specific checks + diff --git a/net-irc/epic5/files/epic5-1.1.2-libarchive-automagic.patch b/net-irc/epic5/files/epic5-1.1.2-libarchive-automagic.patch new file mode 100644 index 000000000000..522610f9fb57 --- /dev/null +++ b/net-irc/epic5/files/epic5-1.1.2-libarchive-automagic.patch @@ -0,0 +1,53 @@ +From: Nathan Phillip Brink <binki@gentoo.org> +Subject: Prevent libarchive check from being automagic. + +--- a/configure.in ++++ b/configure.in +@@ -231,22 +231,28 @@ + dnl XXX I don't understand why this is even necessary. +-have_libarchive="" +-orig_LIBS="$LIBS" +-AC_CHECK_LIB(archive, archive_read_new, [LIBS="$LIBS -larchive"]) +-AC_MSG_CHECKING(whether libarchive works the way I expect) +-AC_TRY_LINK([#include <archive.h>], [ +- struct archive *x; +- const char *s = "bogus.zip"; +- x = archive_read_new(); +- archive_read_support_format_all(x); +- archive_read_open_file(x, s, 10240); +-], have_libarchive="yes") +-if test "x$have_libarchive" = "x"; then +- LIBS="$orig_LIBS" +- AC_MSG_RESULT(no) +-else +- AC_MSG_RESULT(yes) +- AC_DEFINE(HAVE_LIBARCHIVE) +-fi ++AC_ARG_WITH([libarchive], [AS_HELP_STRING([--without-libarchive], [Disable libarchive support.])], ++ [], [with_libarchive=maybe]) ++AS_IF([test "x$with_libarchive" != "xno"], ++ [ ++ have_libarchive="" ++ orig_LIBS="$LIBS" ++ AC_CHECK_LIB(archive, archive_read_new, [LIBS="$LIBS -larchive"]) ++ AC_MSG_CHECKING(whether libarchive works the way I expect) ++ AC_TRY_LINK([#include <archive.h>], [ ++ struct archive *x; ++ const char *s = "bogus.zip"; ++ x = archive_read_new(); ++ archive_read_support_format_all(x); ++ archive_read_open_file(x, s, 10240); ++ ], have_libarchive="yes") ++ if test "x$have_libarchive" = "x"; then ++ LIBS="$orig_LIBS" ++ AC_MSG_RESULT(no) ++ AS_IF([test "x$with_libarchive" = "xyes"], ++ [AC_MSG_ERROR([--with-libarchive was specified but libarchive could not be found. Please do not specify --with-libarchive or install libarchive.])]) ++ else ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(HAVE_LIBARCHIVE) ++ fi]) + + dnl ----- + AC_ARG_WITH(ssl, + diff --git a/net-irc/epic5/files/epic5-1.1.2-perl-automagic-as-needed.patch b/net-irc/epic5/files/epic5-1.1.2-perl-automagic-as-needed.patch new file mode 100644 index 000000000000..e211fa14b275 --- /dev/null +++ b/net-irc/epic5/files/epic5-1.1.2-perl-automagic-as-needed.patch @@ -0,0 +1,114 @@ +From: Nathan Phillip Brink <binki@gentoo.org> +Subject: Fix perl being automagic and to be safe with + LDFLAGS=-Wl,--as-needed. + +--- a/configure.in ++++ b/configure.in +@@ -1033,37 +1033,38 @@ + dnl + dnl Perl support? + dnl +-AC_ARG_WITH(perl, +-[ --with-perl[=PATH_TO_PERL_EXE] Compile with perl support.], +-[ +- perlexe=$withval +-], +- perlexe=yes +-) +- +-if test "x$perlexe" = "xyes"; then +- perlexe=perl +-fi +- +-if test "x$perlexe" = "xno"; then ++AC_ARG_WITH([perl], [AS_HELP_STRING([--with-perl=[PATH_TO_PERL_EXE]], [Compile with perl support.])], ++ [], [with_perl=maybe]) ++AS_IF([test "x$with_perl" = "xno"], ++ [ + AC_MSG_CHECKING(whether to support Perl) + AC_MSG_RESULT(no) +-else +- AC_CHECK_PROG(PERLPROG, $perlexe, "yes", "no") +- AC_MSG_CHECKING(whether to support Perl) +- if test $PERLPROG != "yes" ; then ++ ], ++ [ ++ with_perl_errormsg="You specified --with-perl=$with_perl but I could not find a working perl. Please run ./configure with --without-perl or specify a path to a working perl executable." ++ AS_IF([test "x$with_perl" = "xyes" -o "x$with_perl" = "xmaybe"], ++ [perlexe=perl], ++ [perlexe="$with_perl"]) ++ dnl Allow a full path to be specified in --with-perl ++ AS_IF([test -x "$perlexe"], ++ [PERLPROG=yes], ++ [AC_CHECK_PROG(PERLPROG, $perlexe, "yes", "no")]) ++ AC_MSG_CHECKING([whether to support Perl]) ++ if test $PERLPROG != "yes" ; then ++ AS_IF([test "x$with_perl" != "xmaybe"], ++ [AC_MSG_ERROR([$with_perl_errormsg])]) + AC_MSG_RESULT(no) + else + AC_MSG_RESULT(yes) + PERLCFLAGS=`$perlexe -MExtUtils::Embed -e ccopts` +- PERLLDFLAGS=`$perlexe -MExtUtils::Embed -e ldopts` ++ PERLLIBS=`$perlexe -MExtUtils::Embed -e ldopts` + + AC_MSG_CHECKING(whether embedded perl works the way I expect) + have_embedded_perl="no" + old_CFLAGS="$CFLAGS" +- old_LDFLAGS="$LDFLAGS" ++ old_LIBS="$LIBS" + CFLAGS="$CFLAGS $PERLCFLAGS" +- LDFLAGS="$LDFLAGS $PERLLDFLAGS" ++ LIBS="$LIBS $PERLLIBS" + AC_TRY_RUN([ + #include <EXTERN.h> + #include <perl.h> +@@ -1101,20 +1102,22 @@ + have_embedded_perl="no",:) + + CFLAGS="$old_CFLAGS" +- LDFLAGS="$old_LDFLAGS" ++ LIBS="$old_LIBS" + if test $have_embedded_perl = "yes" ; then + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_PERL) + AC_DEFINE(PERLCFLAGS) +- AC_DEFINE(PERLLDFLAGS) ++ AC_DEFINE(PERLLIBS) + PERLDOTOH="perl.o" + else ++ AS_IF([test "x$with_perl" != "xmaybe"], ++ [AC_MSG_ERROR([$with_perl_errormsg])]) + PERLCFLAGS="" +- PERLLDFLAGS="" ++ PERLLIBS="" + AC_MSG_RESULT(no, sorry) + PERLCFLAGS="" +- PERLLDFLAGS="" ++ PERLLIBS="" + fi + fi +-fi ++ ]) + +@@ -1392,7 +1395,7 @@ + AC_SUBST(TCLLIBS) + AC_SUBST(PERLDOTOH) + AC_SUBST(PERLCFLAGS) +-AC_SUBST(PERLLDFLAGS) ++AC_SUBST(PERLLIBS) + AC_SUBST(WSERV_BIN) + AC_SUBST(WSERV_INSTALL) + AC_SUBST(bindir) + +--- a/source/Makefile.in ++++ b/source/Makefile.in +@@ -38,7 +38,7 @@ + epic5: $(OBJECTS) + sh info.c.sh + $(CC) $(CFLAGS) $(INCLUDES) -c info.c +- $(CC) $(CFLAGS) $(LDFLAGS) -o epic5 $(OBJECTS) info.o @PERLLDFLAGS@ @TCLLIBS@ @RUBYLIBS@ $(LIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o epic5 $(OBJECTS) info.o @PERLLIBS@ @TCLLIBS@ @RUBYLIBS@ $(LIBS) + $(RM) info.c info.o + clean:: + $(RM) epic5 $(OBJECTS) diff --git a/net-irc/epic5/metadata.xml b/net-irc/epic5/metadata.xml new file mode 100644 index 000000000000..5e6a8dbf6cd0 --- /dev/null +++ b/net-irc/epic5/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> + <use> + <flag name="archive">Use <pkg>app-arch/libarchive</pkg> to use zip and tar archives from scripts.</flag> + <flag name="valgrind">Compile against <pkg>dev-util/valgrind</pkg> headers to improve memory-leak checking when running epic5 under valgrind.</flag> + </use> +</pkgmetadata> diff --git a/net-irc/hexchat/Manifest b/net-irc/hexchat/Manifest new file mode 100644 index 000000000000..61a199a5dd3c --- /dev/null +++ b/net-irc/hexchat/Manifest @@ -0,0 +1 @@ +DIST hexchat-2.10.2.tar.xz 1529732 SHA256 87ebf365c576656fa3f23f51d319b3a6d279e4a932f2f8961d891dd5a5e1b52c SHA512 799be6ca02d4f7bad98c005e0fb7dba151717b52841d7f2dd3ed86b80a20de934825a1e58aab4621ac751a605103e68e368a95e9709c48f52b9e5333e5e290ab WHIRLPOOL 5d8dcd59941a145544bbde2e761db092e801036d6879a0eb3a8b48ece43c02c78df88c889304ac1b4594e89cd68fccc02cd1239d6b60b4a0c13a5156f28154a7 diff --git a/net-irc/hexchat/files/hexchat-2.9.5-autoconf-missing-macros.patch b/net-irc/hexchat/files/hexchat-2.9.5-autoconf-missing-macros.patch new file mode 100644 index 000000000000..3c169f820f1e --- /dev/null +++ b/net-irc/hexchat/files/hexchat-2.9.5-autoconf-missing-macros.patch @@ -0,0 +1,207 @@ +From: Julian Ospald <hasufell@gentoo.org> +Date: Mon Jun 24 19:18:40 UTC 2013 +Subject: copy the gtk-2.0.m4 statically so we can run autoreconf + even if gtk+ is not installed + +https://bugs.gentoo.org/show_bug.cgi?id=474582 +https://github.com/hexchat/hexchat/issues/658 + +--- /dev/null ++++ hexchat-2.9.5/m4/gtk-2.0.m4 +@@ -0,0 +1,196 @@ ++# Configure paths for GTK+ ++# Owen Taylor 1997-2001 ++ ++dnl AM_PATH_GTK_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) ++dnl Test for GTK+, and define GTK_CFLAGS and GTK_LIBS, if gthread is specified in MODULES, ++dnl pass to pkg-config ++dnl ++AC_DEFUN([AM_PATH_GTK_2_0], ++[dnl ++dnl Get the cflags and libraries from pkg-config ++dnl ++AC_ARG_ENABLE(gtktest, [ --disable-gtktest do not try to compile and run a test GTK+ program], ++ , enable_gtktest=yes) ++ ++ pkg_config_args=gtk+-2.0 ++ for module in . $4 ++ do ++ case "$module" in ++ gthread) ++ pkg_config_args="$pkg_config_args gthread-2.0" ++ ;; ++ esac ++ done ++ ++ no_gtk="" ++ ++ AC_PATH_PROG(PKG_CONFIG, pkg-config, no) ++ ++ if test x$PKG_CONFIG != xno ; then ++ if pkg-config --atleast-pkgconfig-version 0.7 ; then ++ : ++ else ++ echo "*** pkg-config too old; version 0.7 or better required." ++ no_gtk=yes ++ PKG_CONFIG=no ++ fi ++ else ++ no_gtk=yes ++ fi ++ ++ min_gtk_version=ifelse([$1], ,2.0.0,$1) ++ AC_MSG_CHECKING(for GTK+ - version >= $min_gtk_version) ++ ++ if test x$PKG_CONFIG != xno ; then ++ ## don't try to run the test against uninstalled libtool libs ++ if $PKG_CONFIG --uninstalled $pkg_config_args; then ++ echo "Will use uninstalled version of GTK+ found in PKG_CONFIG_PATH" ++ enable_gtktest=no ++ fi ++ ++ if $PKG_CONFIG --atleast-version $min_gtk_version $pkg_config_args; then ++ : ++ else ++ no_gtk=yes ++ fi ++ fi ++ ++ if test x"$no_gtk" = x ; then ++ GTK_CFLAGS=`$PKG_CONFIG $pkg_config_args --cflags` ++ GTK_LIBS=`$PKG_CONFIG $pkg_config_args --libs` ++ gtk_config_major_version=`$PKG_CONFIG --modversion gtk+-2.0 | \ ++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` ++ gtk_config_minor_version=`$PKG_CONFIG --modversion gtk+-2.0 | \ ++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` ++ gtk_config_micro_version=`$PKG_CONFIG --modversion gtk+-2.0 | \ ++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` ++ if test "x$enable_gtktest" = "xyes" ; then ++ ac_save_CFLAGS="$CFLAGS" ++ ac_save_LIBS="$LIBS" ++ CFLAGS="$CFLAGS $GTK_CFLAGS" ++ LIBS="$GTK_LIBS $LIBS" ++dnl ++dnl Now check if the installed GTK+ is sufficiently new. (Also sanity ++dnl checks the results of pkg-config to some extent) ++dnl ++ rm -f conf.gtktest ++ AC_TRY_RUN([ ++#include <gtk/gtk.h> ++#include <stdio.h> ++#include <stdlib.h> ++ ++int ++main () ++{ ++ int major, minor, micro; ++ char *tmp_version; ++ ++ fclose (fopen ("conf.gtktest", "w")); ++ ++ /* HP/UX 9 (%@#!) writes to sscanf strings */ ++ tmp_version = g_strdup("$min_gtk_version"); ++ if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { ++ printf("%s, bad version string\n", "$min_gtk_version"); ++ exit(1); ++ } ++ ++ if ((gtk_major_version != $gtk_config_major_version) || ++ (gtk_minor_version != $gtk_config_minor_version) || ++ (gtk_micro_version != $gtk_config_micro_version)) ++ { ++ printf("\n*** 'pkg-config --modversion gtk+-2.0' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n", ++ $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version, ++ gtk_major_version, gtk_minor_version, gtk_micro_version); ++ printf ("*** was found! If pkg-config was correct, then it is best\n"); ++ printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n"); ++ printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); ++ printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); ++ printf("*** required on your system.\n"); ++ printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n"); ++ printf("*** to point to the correct configuration files\n"); ++ } ++ else if ((gtk_major_version != GTK_MAJOR_VERSION) || ++ (gtk_minor_version != GTK_MINOR_VERSION) || ++ (gtk_micro_version != GTK_MICRO_VERSION)) ++ { ++ printf("*** GTK+ header files (version %d.%d.%d) do not match\n", ++ GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION); ++ printf("*** library (version %d.%d.%d)\n", ++ gtk_major_version, gtk_minor_version, gtk_micro_version); ++ } ++ else ++ { ++ if ((gtk_major_version > major) || ++ ((gtk_major_version == major) && (gtk_minor_version > minor)) || ++ ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro))) ++ { ++ return 0; ++ } ++ else ++ { ++ printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n", ++ gtk_major_version, gtk_minor_version, gtk_micro_version); ++ printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n", ++ major, minor, micro); ++ printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n"); ++ printf("***\n"); ++ printf("*** If you have already installed a sufficiently new version, this error\n"); ++ printf("*** probably means that the wrong copy of the pkg-config shell script is\n"); ++ printf("*** being found. The easiest way to fix this is to remove the old version\n"); ++ printf("*** of GTK+, but you can also set the PKG_CONFIG environment to point to the\n"); ++ printf("*** correct copy of pkg-config. (In this case, you will have to\n"); ++ printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); ++ printf("*** so that the correct libraries are found at run-time))\n"); ++ } ++ } ++ return 1; ++} ++],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) ++ CFLAGS="$ac_save_CFLAGS" ++ LIBS="$ac_save_LIBS" ++ fi ++ fi ++ if test "x$no_gtk" = x ; then ++ AC_MSG_RESULT(yes (version $gtk_config_major_version.$gtk_config_minor_version.$gtk_config_micro_version)) ++ ifelse([$2], , :, [$2]) ++ else ++ AC_MSG_RESULT(no) ++ if test "$PKG_CONFIG" = "no" ; then ++ echo "*** A new enough version of pkg-config was not found." ++ echo "*** See http://pkgconfig.sourceforge.net" ++ else ++ if test -f conf.gtktest ; then ++ : ++ else ++ echo "*** Could not run GTK+ test program, checking why..." ++ ac_save_CFLAGS="$CFLAGS" ++ ac_save_LIBS="$LIBS" ++ CFLAGS="$CFLAGS $GTK_CFLAGS" ++ LIBS="$LIBS $GTK_LIBS" ++ AC_TRY_LINK([ ++#include <gtk/gtk.h> ++#include <stdio.h> ++], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ], ++ [ echo "*** The test program compiled, but did not run. This usually means" ++ echo "*** that the run-time linker is not finding GTK+ or finding the wrong" ++ echo "*** version of GTK+. If it is not finding GTK+, you'll need to set your" ++ echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" ++ echo "*** to the installed location Also, make sure you have run ldconfig if that" ++ echo "*** is required on your system" ++ echo "***" ++ echo "*** If you have an old version installed, it is best to remove it, although" ++ echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ], ++ [ echo "*** The test program failed to compile or link. See the file config.log for the" ++ echo "*** exact error that occured. This usually means GTK+ is incorrectly installed."]) ++ CFLAGS="$ac_save_CFLAGS" ++ LIBS="$ac_save_LIBS" ++ fi ++ fi ++ GTK_CFLAGS="" ++ GTK_LIBS="" ++ ifelse([$3], , :, [$3]) ++ fi ++ AC_SUBST(GTK_CFLAGS) ++ AC_SUBST(GTK_LIBS) ++ rm -f conf.gtktest ++]) diff --git a/net-irc/hexchat/hexchat-2.10.2.ebuild b/net-irc/hexchat/hexchat-2.10.2.ebuild new file mode 100644 index 000000000000..7dd3f7d05f65 --- /dev/null +++ b/net-irc/hexchat/hexchat-2.10.2.ebuild @@ -0,0 +1,171 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 python3_3 python3_4 ) +inherit eutils fdo-mime gnome2-utils mono-env multilib python-single-r1 + +DESCRIPTION="Graphical IRC client based on XChat" +HOMEPAGE="http://hexchat.github.io/" +SRC_URI="https://dl.hexchat.net/hexchat/${P}.tar.xz" + +LICENSE="GPL-2 plugin-fishlim? ( MIT )" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~amd64-linux" +IUSE="dbus +gtk ipv6 libcanberra libnotify libproxy nls ntlm perl +plugins plugin-checksum plugin-doat plugin-fishlim plugin-sysinfo python spell ssl theme-manager" +REQUIRED_USE="plugins? ( python? ( ${PYTHON_REQUIRED_USE} ) )" + +DEPEND="dev-libs/glib:2 + dbus? ( >=dev-libs/dbus-glib-0.98 ) + gtk? ( x11-libs/gtk+:2 ) + libcanberra? ( media-libs/libcanberra ) + libproxy? ( net-libs/libproxy ) + libnotify? ( x11-libs/libnotify ) + nls? ( virtual/libintl ) + ntlm? ( net-libs/libntlm ) + plugins? ( + perl? ( >=dev-lang/perl-5.8.0 ) + plugin-sysinfo? ( sys-apps/pciutils ) + python? ( ${PYTHON_DEPS} ) + ) + spell? ( app-text/iso-codes ) + ssl? ( dev-libs/openssl:0 ) + theme-manager? ( dev-lang/mono )" +RDEPEND="${DEPEND} + spell? ( app-text/enchant )" +DEPEND="${DEPEND} + app-arch/xz-utils + virtual/pkgconfig + nls? ( dev-util/intltool ) + theme-manager? ( dev-util/monodevelop )" + +pkg_setup() { + use plugins && use python && python-single-r1_pkg_setup + if use theme-manager ; then + mono-env_pkg_setup + export XDG_CACHE_HOME="${T}/.cache" + fi + + if use !plugins ; then + local myplugins + + use perl && myplugins+="perl\n" + use python && myplugins+="python\n" + use plugin-checksum && myplugins+="plugin-checksum\n" + use plugin-doat && myplugins+="plugin-doat\n" + use plugin-fishlim && myplugins+="plugin-fishlim\n" + use plugin-sysinfo && myplugins+="plugin-sysinfo\n" + + if [[ ${myplugins} ]] ; then + ewarn "The following plugins/interfaces have been disabled, because" + ewarn "\"plugins\" USE flag is disabled. Check metadata.xml" + ewarn "to get more information or run \"equery u hexchat\"." + ewarn "\n${myplugins}" + fi + fi +} + +src_prepare() { + epatch_user +} + +src_configure() { + econf \ + $(use_enable nls) \ + $(use_enable libproxy socks) \ + $(use_enable ipv6) \ + $(use_enable ssl openssl) \ + $(use_enable gtk gtkfe) \ + $(use_enable !gtk textfe) \ + $(usex plugins \ + "$(usex python "--enable-python=${EPYTHON}" "--disable-python")" \ + "--disable-python" \ + ) \ + $(usex plugins \ + "$(use_enable perl)" \ + "--disable-perl" \ + ) \ + $(use_enable plugins plugin) \ + $(usex plugins \ + "$(use_enable plugin-checksum checksum)" \ + "--disable-checksum" \ + ) \ + $(usex plugins \ + "$(use_enable plugin-doat doat)" \ + "--disable-doat" \ + ) \ + $(usex plugins \ + "$(use_enable plugin-fishlim fishlim)" \ + "--disable-fishlim" \ + ) \ + $(usex plugins \ + "$(use_enable plugin-sysinfo sysinfo)" \ + "--disable-sysinfo" \ + ) \ + $(use_enable dbus) \ + $(use_enable libnotify) \ + $(use_enable libcanberra) \ + $(use_enable ntlm) \ + $(use_enable libproxy) \ + $(use_enable spell isocodes) \ + --enable-minimal-flags \ + $(use_with theme-manager) +} + +src_install() { + emake DESTDIR="${D}" \ + UPDATE_ICON_CACHE=true \ + UPDATE_MIME_DATABASE=true \ + UPDATE_DESKTOP_DATABASE=true \ + install + dodoc readme.md + prune_libtool_files --all +} + +pkg_preinst() { + if use gtk ; then + gnome2_icon_savelist + fi +} + +pkg_postinst() { + if use gtk ; then + gnome2_icon_cache_update + einfo + else + einfo + elog "You have disabled the gtk USE flag. This means you don't have" + elog "the GTK-GUI for HexChat but only a text interface called \"hexchat-text\"." + elog + fi + + if use theme-manager ; then + fdo-mime_desktop_database_update + fdo-mime_mime_database_update + elog "Themes are available at:" + elog " http://hexchat.org/themes.html" + elog + fi + + einfo + elog "optional dependencies:" + elog " media-sound/sox (sound playback if you don't have libcanberra" + elog " enabled)" + elog " x11-plugins/hexchat-javascript (javascript support)" + elog " x11-themes/sound-theme-freedesktop (default BEEP sound," + elog " needs libcanberra enabled)" + einfo +} + +pkg_postrm() { + if use gtk ; then + gnome2_icon_cache_update + fi + + if use theme-manager ; then + fdo-mime_desktop_database_update + fdo-mime_mime_database_update + fi +} diff --git a/net-irc/hexchat/hexchat-9999.ebuild b/net-irc/hexchat/hexchat-9999.ebuild new file mode 100644 index 000000000000..064761a60865 --- /dev/null +++ b/net-irc/hexchat/hexchat-9999.ebuild @@ -0,0 +1,184 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 python3_3 python3_4 ) +inherit autotools eutils fdo-mime gnome2-utils mono-env multilib python-single-r1 git-2 + +DESCRIPTION="Graphical IRC client based on XChat" +HOMEPAGE="http://hexchat.github.io/" +SRC_URI="" +EGIT_REPO_URI="git://github.com/hexchat/hexchat.git" + +LICENSE="GPL-2 plugin-fishlim? ( MIT )" +SLOT="0" +KEYWORDS="" +IUSE="dbus +gtk ipv6 libcanberra libnotify libproxy nls ntlm perl +plugins plugin-checksum plugin-doat plugin-fishlim plugin-sysinfo python spell ssl theme-manager" +REQUIRED_USE="plugins? ( python? ( ${PYTHON_REQUIRED_USE} ) )" + +DEPEND="dev-libs/glib:2 + dbus? ( >=dev-libs/dbus-glib-0.98 ) + gtk? ( x11-libs/gtk+:2 ) + libcanberra? ( media-libs/libcanberra ) + libproxy? ( net-libs/libproxy ) + libnotify? ( x11-libs/libnotify ) + nls? ( virtual/libintl ) + ntlm? ( net-libs/libntlm ) + plugins? ( + perl? ( >=dev-lang/perl-5.8.0 ) + plugin-sysinfo? ( sys-apps/pciutils ) + python? ( ${PYTHON_DEPS} ) + ) + spell? ( app-text/iso-codes ) + ssl? ( dev-libs/openssl:0 ) + theme-manager? ( dev-lang/mono )" +RDEPEND="${DEPEND} + spell? ( app-text/enchant )" +DEPEND="${DEPEND} + app-arch/xz-utils + virtual/pkgconfig + nls? ( dev-util/intltool ) + theme-manager? ( dev-util/monodevelop )" + +pkg_setup() { + use plugins && use python && python-single-r1_pkg_setup + if use theme-manager ; then + mono-env_pkg_setup + export XDG_CACHE_HOME="${T}/.cache" + fi + + if use !plugins ; then + local myplugins + + use perl && myplugins+="perl\n" + use python && myplugins+="python\n" + use plugin-checksum && myplugins+="plugin-checksum\n" + use plugin-doat && myplugins+="plugin-doat\n" + use plugin-fishlim && myplugins+="plugin-fishlim\n" + use plugin-sysinfo && myplugins+="plugin-sysinfo\n" + + if [[ ${myplugins} ]] ; then + ewarn "The following plugins/interfaces have been disabled, because" + ewarn "\"plugins\" USE flag is disabled. Check metadata.xml" + ewarn "to get more information or run \"equery u hexchat\"." + ewarn "\n${myplugins}" + fi + fi +} + +src_prepare() { + sed -i \ + -e "/intl\/Makefile/d" \ + -e "/po\/Makefile.in/d" \ + configure.ac || die + sed -i -e "/SUBDIRS/s/intl//" Makefile.am || die + epatch -p1 \ + "${FILESDIR}"/${PN}-2.9.5-autoconf-missing-macros.patch + epatch_user + cp $(type -p gettextize) "${T}"/ || die + sed -i -e 's:read dummy < /dev/tty::' "${T}/gettextize" || die + einfo "Running gettextize -f --no-changelog..." + "${T}"/gettextize -f --no-changelog > /dev/null || die "gettexize failed" + AT_M4DIR="m4" eautoreconf +} + +src_configure() { + econf \ + $(use_enable nls) \ + $(use_enable libproxy socks) \ + $(use_enable ipv6) \ + $(use_enable ssl openssl) \ + $(use_enable gtk gtkfe) \ + $(use_enable !gtk textfe) \ + $(usex plugins \ + "$(usex python "--enable-python=${EPYTHON}" "--disable-python")" \ + "--disable-python" \ + ) \ + $(usex plugins \ + "$(use_enable perl)" \ + "--disable-perl" \ + ) \ + $(use_enable plugins plugin) \ + $(usex plugins \ + "$(use_enable plugin-checksum checksum)" \ + "--disable-checksum" \ + ) \ + $(usex plugins \ + "$(use_enable plugin-doat doat)" \ + "--disable-doat" \ + ) \ + $(usex plugins \ + "$(use_enable plugin-fishlim fishlim)" \ + "--disable-fishlim" \ + ) \ + $(usex plugins \ + "$(use_enable plugin-sysinfo sysinfo)" \ + "--disable-sysinfo" \ + ) \ + $(use_enable dbus) \ + $(use_enable libnotify) \ + $(use_enable libcanberra) \ + $(use_enable ntlm) \ + $(use_enable libproxy) \ + $(use_enable spell isocodes) \ + --enable-minimal-flags \ + $(use_with theme-manager) +} + +src_install() { + emake DESTDIR="${D}" \ + UPDATE_ICON_CACHE=true \ + UPDATE_MIME_DATABASE=true \ + UPDATE_DESKTOP_DATABASE=true \ + install + dodoc readme.md + prune_libtool_files --all +} + +pkg_preinst() { + if use gtk ; then + gnome2_icon_savelist + fi +} + +pkg_postinst() { + if use gtk ; then + gnome2_icon_cache_update + einfo + else + einfo + elog "You have disabled the gtk USE flag. This means you don't have" + elog "the GTK-GUI for HexChat but only a text interface called \"hexchat-text\"." + elog + fi + + if use theme-manager ; then + fdo-mime_desktop_database_update + fdo-mime_mime_database_update + elog "Themes are available at:" + elog " http://hexchat.org/themes.html" + elog + fi + + einfo + elog "optional dependencies:" + elog " media-sound/sox (sound playback if you don't have libcanberra" + elog " enabled)" + elog " x11-plugins/hexchat-javascript (javascript support)" + elog " x11-themes/sound-theme-freedesktop (default BEEP sound," + elog " needs libcanberra enabled)" + einfo +} + +pkg_postrm() { + if use gtk ; then + gnome2_icon_cache_update + fi + + if use theme-manager ; then + fdo-mime_desktop_database_update + fdo-mime_mime_database_update + fi +} diff --git a/net-irc/hexchat/metadata.xml b/net-irc/hexchat/metadata.xml new file mode 100644 index 000000000000..d10f098ea45b --- /dev/null +++ b/net-irc/hexchat/metadata.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>proxy-maintainers</herd> + <maintainer> + <email>hasufell@gentoo.org</email> + <name>Julian Ospald</name> + <description>Maintainer, assign bugs to him</description> + </maintainer> + <maintainer> + <email>god@politeia.in</email> + <name>Denis M.</name> + <description>Proxy maintainer. CC him on bugs</description> + </maintainer> + <use> + <flag name='ntlm'>Enable NTLM authentication</flag> + <flag name='libcanberra'>Enable sound event support using + <pkg>media-libs/libcanberra</pkg></flag> + <flag name='libproxy'>Enable proxy support.</flag> + <flag name='plugins'>Enable plugin support and installs some + built-in plugins</flag> + <flag name='plugin-checksum'>Build Checksum plugin + (needs plugins)</flag> + <flag name='plugin-doat'>Build Do At plugin (needs plugins)</flag> + <flag name='plugin-fishlim'>Build FiSHLiM plugin (needs plugins + )</flag> + <flag name='plugin-sysinfo'>Build SysInfo plugin (needs plugins) + </flag> + <flag name='theme-manager'>Build the theme manager (mono)</flag> + </use> + <upstream> + <maintainer status='active'> + <email>tingping@fedoraproject.org</email> + <name>TingPing</name> + </maintainer> + <bugs-to>https://github.com/hexchat/hexchat/issues</bugs-to> + <doc lang='en'>http://hexchat.readthedocs.org/en/latest</doc> + <remote-id type='github'>hexchat/hexchat</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-irc/ii/Manifest b/net-irc/ii/Manifest new file mode 100644 index 000000000000..4e405e097864 --- /dev/null +++ b/net-irc/ii/Manifest @@ -0,0 +1,2 @@ +DIST ii-1.6.tar.gz 9970 SHA256 794fa639b253b4b332fa80e76cde782d9dae021dfaf35a207334c553d962cc29 SHA512 54e9adc11d06601c6933c3f6310dacbc66bd5b4e9cf469cc4866fda79d838b1dcd826ea9fc234ba6c76e22d2512283ad2a875986f7965f483c6be9f91dddf19d WHIRLPOOL 9c2f8d15ecc9efb96b87387df626497d2a6fecfd1833c9dbb799f2caf04e0d905a0b40d90d515554d529ade6af0d15393d326736188c93ce14d24ab648b72a1c +DIST ii-1.7.tar.gz 10174 SHA256 3a72ac6606d5560b625c062c71f135820e2214fed098e6d624fc40632dc7cc9c SHA512 1fa744bc9b4291b5c6c56e023d982aad59001137db6c7682284a2d63e649a32d558adbb85ae3407e312ae5436852b4278c2c522d4ef03f47cf54ea3a1f13ca90 WHIRLPOOL 6aa7c43f7d9beca03724f98e2110ba4d2430943905d9c0a8cd28a9f8aba8d673af7eaaaa0c1b84028397fb566201581d8731e3387bcede589dfefb1f518953bc diff --git a/net-irc/ii/ii-1.6.ebuild b/net-irc/ii/ii-1.6.ebuild new file mode 100644 index 000000000000..216bb3abd42f --- /dev/null +++ b/net-irc/ii/ii-1.6.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit fixheadtails toolchain-funcs + +DESCRIPTION="A minimalist FIFO and filesystem-based IRC client" +HOMEPAGE="http://tools.suckless.org/ii/" +SRC_URI="http://dl.suckless.org/tools/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux" +IUSE="" + +DEPEND="" +RDEPEND="" + +src_prepare() { + sed -i \ + -e "s/CFLAGS = -g -O0/CFLAGS += /" \ + -e "s/LDFLAGS =/LDFLAGS +=/" \ + -e /^LIBS/d \ + config.mk || die "sed failed to fix {C,LD}FLAGS" + + ht_fix_file query.sh +} + +src_compile() { + emake CC=$(tc-getCC) +} + +src_install() { + dobin ii + newbin query.sh ii-query + dodoc CHANGES FAQ README + doman *.1 +} diff --git a/net-irc/ii/ii-1.7.ebuild b/net-irc/ii/ii-1.7.ebuild new file mode 100644 index 000000000000..a9b1b8ca1efc --- /dev/null +++ b/net-irc/ii/ii-1.7.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit fixheadtails toolchain-funcs + +DESCRIPTION="A minimalist FIFO and filesystem-based IRC client" +HOMEPAGE="http://tools.suckless.org/ii/" +SRC_URI="http://dl.suckless.org/tools/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux" +IUSE="" + +src_prepare() { + sed -i \ + -e "s/CFLAGS = -g -O0/CFLAGS += /" \ + -e "s/LDFLAGS =/LDFLAGS +=/" \ + -e /^LIBS/d \ + config.mk || die "sed failed to fix {C,LD}FLAGS" + + # enable verbose build + sed -i 's/@${CC}/${CC}/' Makefile || die + + ht_fix_file query.sh +} + +src_compile() { + emake CC="$(tc-getCC)" +} + +src_install() { + dobin ii + newbin query.sh ii-query + dodoc CHANGES FAQ README + doman *.1 +} diff --git a/net-irc/ii/metadata.xml b/net-irc/ii/metadata.xml new file mode 100644 index 000000000000..6ef15e900f17 --- /dev/null +++ b/net-irc/ii/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +</pkgmetadata> diff --git a/net-irc/iip/Manifest b/net-irc/iip/Manifest new file mode 100644 index 000000000000..0522a21f7bdb --- /dev/null +++ b/net-irc/iip/Manifest @@ -0,0 +1 @@ +DIST iip-1.2-dev1.tar.bz2 299053 SHA256 8f4bfce32e43a75e71c78d49eecaee9efe3f6b8782878276d590e736566a9fbf SHA512 384026ba6b0d797574fad9295ac7d042a20556fb428663f8043768e9daf2adc831cd89b81c48abc4473e68f3f0d84d7d854be1816f8a82628f397839e19a8992 WHIRLPOOL f4fb55c175ed9ff8a61bccbb31fc4f1996128e95c1156797f49e2d0e846cb08cb3517bb33dabed4b2870de92754f4af3fe39b0b173bfe98a7d6290d8043907a0 diff --git a/net-irc/iip/files/iip_open_mode.patch b/net-irc/iip/files/iip_open_mode.patch new file mode 100644 index 000000000000..6d3aec1af5ab --- /dev/null +++ b/net-irc/iip/files/iip_open_mode.patch @@ -0,0 +1,11 @@ +--- src/misc/unix.c 2002-10-29 07:56:29.000000000 +0000 ++++ src/misc/unix.c 2009-03-05 13:12:54.000000000 +0000 +@@ -100,7 +100,7 @@ + s = stringCopyMany(lockfilepath, lockfileprefix, NULL); + s = stringJoinMany(s, intToString((int) getpid()), NULL); + +- fd = open(s, O_CREAT | O_EXCL | S_IWUSR); ++ fd = open(s, O_CREAT | O_EXCL ,S_IWUSR | S_IRUSR); + if(fd == -1) { + LOGERROR(stringCopyMany("unixAddLockFile: open lock file failed (", s, ")", + _("Error opening lockfile."), NULL)) diff --git a/net-irc/iip/iip-1.2.ebuild b/net-irc/iip/iip-1.2.ebuild new file mode 100644 index 000000000000..9045af9099ef --- /dev/null +++ b/net-irc/iip/iip-1.2.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="2" + +inherit eutils + +MY_P="${P}-dev1" + +DESCRIPTION="Proxy server for encrypted anonymous IRC-like network" +HOMEPAGE="http://www.invisiblenet.net/iip/" +SRC_URI="mirror://sourceforge/invisibleip/${MY_P}.tar.bz2" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~ppc" +IUSE="" + +RDEPEND="dev-libs/openssl" +DEPEND="${RDEPEND} + dev-lang/perl + >=sys-apps/sed-4" + +S="${WORKDIR}/${MY_P}" + +src_prepare() { + epatch "${FILESDIR}/iip_open_mode.patch" +} + +src_compile() { + sed -i \ + -e "s:-Werror::" "${S}"/src/Makefile || \ + die "sed Makefile failed" + + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "make install failed" + dodoc AUTHORS README +} diff --git a/net-irc/iip/metadata.xml b/net-irc/iip/metadata.xml new file mode 100644 index 000000000000..7e25b929ec9c --- /dev/null +++ b/net-irc/iip/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-irc</herd> + <upstream> + <remote-id type="sourceforge">invisibleip</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-irc/inspircd/Manifest b/net-irc/inspircd/Manifest new file mode 100644 index 000000000000..6edbc5b99a8a --- /dev/null +++ b/net-irc/inspircd/Manifest @@ -0,0 +1,2 @@ +DIST inspircd-2.0.17.tar.gz 744743 SHA256 a5d42a6568df341b67a386f93dc92ccb8e1d1308c19ea2deb4c5424b11c6dde8 SHA512 4eddc927a682794cad1e85a747eefd269aa0c6c88a373e1c38902ff689f5c02da44b31e7ec1dc1f97c08c5cc7cc26be62b32a0831ca2d53f81c5662394325a5e WHIRLPOOL af7dae1282a442332badb6254dcf10bec63a55a7dcf717c7246389ff47f051b453d5ff47edc2e635c2cbd22bafc7d6109c3c63f67dbe714e1f054c60e0905522 +DIST inspircd-2.0.18.tar.gz 747846 SHA256 45168ed075e66b379cdb9bae01652a23a33304817363e519fcbb1a194783295d SHA512 64e5d71da5d96afd1261b2a771f27f0c38b505812753a636c51d604f6166ab8a49106ae2da8291ecd86f894d2cfea63e9fcb105efdd7ce137bdf083235db7021 WHIRLPOOL c86846a170705590ae8b44023feb3adaa636c7af1d9e33a0cf560b1ebe5cc14740636c82e8c65e0f12357d9863ef36a66f0efa6aa20d2780bcef5ddd53888a6b diff --git a/net-irc/inspircd/files/inspircd-2.0.17-fix-path-builds.patch b/net-irc/inspircd/files/inspircd-2.0.17-fix-path-builds.patch new file mode 100644 index 000000000000..a4e12bbda61f --- /dev/null +++ b/net-irc/inspircd/files/inspircd-2.0.17-fix-path-builds.patch @@ -0,0 +1,208 @@ +diff -Nuar a/docs/conf/inspircd.conf.example b/docs/conf/inspircd.conf.example +--- a/docs/conf/inspircd.conf.example 2014-07-24 14:24:00.000000000 +0200 ++++ b/docs/conf/inspircd.conf.example 2014-08-09 10:21:01.439999954 +0200 +@@ -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/make/template/main.mk b/make/template/main.mk +--- a/make/template/main.mk 2014-07-24 14:24:00.000000000 +0200 ++++ b/make/template/main.mk 2014-08-09 10:24:59.039999948 +0200 +@@ -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) icc +- 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) gcc +- 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 + +@@ -128,10 +128,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 +@@ -144,10 +145,10 @@ + @GNU_ONLY TARGET = modules/$(M:.so=).so + @ENDIF + +-@IFDEF T ++@IFDEF TGT + HEADER = + FOOTER = target +- TARGET = $(T) ++ TARGET = $(TGT) + @ENDIF + + @IFEQ $(DBGOK) 0 +@@ -222,8 +223,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 +@@ -231,9 +232,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! *" +@@ -246,7 +247,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 2014-07-24 14:24:00.000000000 +0200 ++++ b/make/unit-cc.pl 2014-08-09 10:25:15.089999947 +0200 +@@ -97,7 +97,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.17-init b/net-irc/inspircd/files/inspircd-2.0.17-init new file mode 100644 index 000000000000..9c81a6bcc95f --- /dev/null +++ b/net-irc/inspircd/files/inspircd-2.0.17-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.launcher/inspircd rehash + eend $? +} + +version() { + ebegin "Retrieve InspIRCd version" + /usr/lib/inspircd/inspircd.launcher/inspircd version + eend $? +} diff --git a/net-irc/inspircd/files/inspircd-2.0.18-fix-path-builds.patch b/net-irc/inspircd/files/inspircd-2.0.18-fix-path-builds.patch new file mode 100644 index 000000000000..065ff2ca7fc6 --- /dev/null +++ b/net-irc/inspircd/files/inspircd-2.0.18-fix-path-builds.patch @@ -0,0 +1,208 @@ +diff -Nuar a/docs/conf/inspircd.conf.example b/docs/conf/inspircd.conf.example +--- a/docs/conf/inspircd.conf.example 2014-10-26 18:05:40.000000000 +0100 ++++ b/docs/conf/inspircd.conf.example 2014-10-27 15:03:54.039999807 +0100 +@@ -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/make/template/main.mk b/make/template/main.mk +--- a/make/template/main.mk 2014-10-26 18:05:40.000000000 +0100 ++++ b/make/template/main.mk 2014-10-27 15:08:05.289999800 +0100 +@@ -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 + +@@ -128,10 +128,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 +@@ -144,10 +145,10 @@ + @GNU_ONLY TARGET = modules/$(M:.so=).so + @ENDIF + +-@IFDEF T ++@IFDEF TGT + HEADER = + FOOTER = target +- TARGET = $(T) ++ TARGET = $(TGT) + @ENDIF + + @IFEQ $(DBGOK) 0 +@@ -222,8 +223,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 +@@ -231,9 +232,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! *" +@@ -246,7 +247,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 2014-10-26 18:05:40.000000000 +0100 ++++ b/make/unit-cc.pl 2014-10-27 15:08:33.819999800 +0100 +@@ -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.18-init b/net-irc/inspircd/files/inspircd-2.0.18-init new file mode 100644 index 000000000000..9c81a6bcc95f --- /dev/null +++ b/net-irc/inspircd/files/inspircd-2.0.18-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.launcher/inspircd rehash + eend $? +} + +version() { + ebegin "Retrieve InspIRCd version" + /usr/lib/inspircd/inspircd.launcher/inspircd version + eend $? +} diff --git a/net-irc/inspircd/inspircd-2.0.17.ebuild b/net-irc/inspircd/inspircd-2.0.17.ebuild new file mode 100644 index 000000000000..64e8e8edfe0e --- /dev/null +++ b/net-irc/inspircd/inspircd-2.0.17.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils multilib toolchain-funcs user + +DESCRIPTION="Inspire IRCd - The Stable, High-Performance Modular IRCd" +HOMEPAGE="http://inspircd.github.com/" +SRC_URI="http://www.github.com/inspircd/inspircd/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 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[server] ) + pcre? ( dev-libs/libpcre ) + sqlite? ( >=dev-db/sqlite-3.0 ) + tre? ( dev-libs/tre )" +DEPEND="${RDEPEND}" + +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 + + epatch "${FILESDIR}/${P}-fix-path-builds.patch" +} + +src_configure() { + local extras="" + local essl="--enable-openssl" + local egnutls="--enable-gnutls" + local dipv6="--disable-ipv6" + + use geoip && extras="${extras}m_geoip.cpp," + use gnutls && extras="${extras}m_ssl_gnutls.cpp," + use ipv6 && dipv6="" + 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," + + use !ssl && essl="" + use !gnutls && egnutls="" + + if [ -n "${extras}" ]; then + ./configure --disable-interactive --enable-extras=${extras} + fi + + ./configure \ + --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" \ + ${essl} ${egnutls} ${dipv6} || die +} + +src_compile() { + emake V=1 LDFLAGS="${LDFLAGS}" CXXFLAGS="${CXXFLAGS}" +} + +src_install() { + emake INSTUID=${PN} \ + BINPATH="${D}/usr/bin" \ + BASE="${D}/usr/$(get_libdir)/${PN}/inspircd.launcher" \ + MODPATH="${D}/usr/$(get_libdir)/${PN}/modules/" \ + CONPATH="${D}/etc/${PN}" 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 +} diff --git a/net-irc/inspircd/inspircd-2.0.18.ebuild b/net-irc/inspircd/inspircd-2.0.18.ebuild new file mode 100644 index 000000000000..d765c5ae3cdc --- /dev/null +++ b/net-irc/inspircd/inspircd-2.0.18.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils multilib toolchain-funcs user + +DESCRIPTION="Inspire IRCd - The Stable, High-Performance Modular IRCd" +HOMEPAGE="http://inspircd.github.com/" +SRC_URI="http://www.github.com/inspircd/inspircd/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 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}" + +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 + + epatch "${FILESDIR}/${P}-fix-path-builds.patch" +} + +src_configure() { + local extras="" + local essl="--enable-openssl" + local egnutls="--enable-gnutls" + local dipv6="--disable-ipv6" + + use geoip && extras="${extras}m_geoip.cpp," + use gnutls && extras="${extras}m_ssl_gnutls.cpp," + use ipv6 && dipv6="" + 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," + + use !ssl && essl="" + use !gnutls && egnutls="" + + if [ -n "${extras}" ]; then + ./configure --disable-interactive --enable-extras=${extras} + fi + + ./configure \ + --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" \ + ${essl} ${egnutls} ${dipv6} || die +} + +src_compile() { + emake V=1 LDFLAGS="${LDFLAGS}" CXXFLAGS="${CXXFLAGS}" +} + +src_install() { + emake INSTUID=${PN} \ + BINPATH="${D}/usr/bin" \ + BASE="${D}/usr/$(get_libdir)/${PN}/inspircd.launcher" \ + MODPATH="${D}/usr/$(get_libdir)/${PN}/modules/" \ + CONPATH="${D}/etc/${PN}" 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 +} diff --git a/net-irc/inspircd/metadata.xml b/net-irc/inspircd/metadata.xml new file mode 100644 index 000000000000..b503238f39f7 --- /dev/null +++ b/net-irc/inspircd/metadata.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>maintainer-needed@gentoo.org</email> + </maintainer> + <longdescription lang="en"> + InspIRCd is a modular Internet Relay Chat (IRC) server written in C++ + for Linux, BSD, Windows and Mac OS X systems which was created from + scratch to be stable, modern and lightweight. + </longdescription> + <longdescription lang="es"> + InspIRCd es un servidor Internet Relay Chat (IRC) escrito en C++ + para sistemas Linux, BSD, Windows y Mac OS X que se creó desde cero + para ser estable, moderno y ligero. + </longdescription> + <use> + <flag name="geoip">Add geoip support for country and city lookup based on IPs</flag> + <flag name="gnutls">Enable TLS support</flag> + <flag name="ipv6">Enable support for IP version 6</flag> + <flag name="ldap">Enable LDAP support</flag> + <flag name="mysql">Enable MySQL database backend</flag> + <flag name="pcre">Adds support for Perl Compatible Regular Expressions</flag> + <flag name="posix">Adds support for POSIX-compatible functions</flag> + <flag name="postgres">Enable PostgreSQL database backend</flag> + <flag name="sqlite">Enable Sqlite database backend</flag> + <flag name="ssl">Enable SSL support</flag> + <flag name="tre">Enable support for TRE, a lightweight, robust, and efficient POSIX compliant regexp matching library</flag> + </use> +</pkgmetadata> diff --git a/net-irc/irc-client/Manifest b/net-irc/irc-client/Manifest new file mode 100644 index 000000000000..97f360cbf0f6 --- /dev/null +++ b/net-irc/irc-client/Manifest @@ -0,0 +1 @@ +DIST irc2.10.3p7.tgz 678412 SHA256 1c7b5ba8e03d096a1b7412b6a50f2e3e00fce77193e2a66cd0ab8a9de02253b9 SHA512 84a148b95de3be32ffc2d11095c3da2e06b6fb963498020e32304f58f89d2a4c00ff9fa15816a1b54af95b54c86da4cd40846afc0e63ddd99bec9fb044873c32 WHIRLPOOL fcfb7e41fe05f5283c6da01fb2b82f8c9b88abe681f72f1df689052d53f3a4ca43acef4d8a9bdd1edcdc20663112b9516e1a02975cbaeffcaa783c42e5ceece8 diff --git a/net-irc/irc-client/files/irc-client-2.10.3_p7-amd64-chost.patch b/net-irc/irc-client/files/irc-client-2.10.3_p7-amd64-chost.patch new file mode 100644 index 000000000000..7761a3e5e76d --- /dev/null +++ b/net-irc/irc-client/files/irc-client-2.10.3_p7-amd64-chost.patch @@ -0,0 +1,29 @@ +From: Nathan Phillip Brink <binki@gentoo.org> +Subject: Do not ignore the --host argument passed to the fake ./configure. + +--- a/configure ++++ b/configure +@@ -10,6 +10,7 @@ + -version | --version | --versio | --versi | --vers) + quick_fwd=yes + break ;; ++ --host=*) ++ rev=$(expr "${arg}" : '[^=]*=\(.*\)') ++ ;; +- *) +- break ;; + esac +@@ -18,8 +21,10 @@ + then + support/configure $* + else +- echo "retrieving the system name, type and OS release..." +- rev=`support/config.guess` ++ if ! test "${rev}"; then ++ echo "retrieving the system name, type and OS release..." ++ rev=`support/config.guess` ++ fi + if test "${rev}" # test for no output + then + echo " your system seems to be ${rev}." + diff --git a/net-irc/irc-client/irc-client-2.10.3_p7.ebuild b/net-irc/irc-client/irc-client-2.10.3_p7.ebuild new file mode 100644 index 000000000000..7a3043fdd8a8 --- /dev/null +++ b/net-irc/irc-client/irc-client-2.10.3_p7.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +inherit eutils + +MY_P=irc${PV/_/} +DESCRIPTION="A simplistic RFC compliant IRC client" +HOMEPAGE="http://www.irc.org" +SRC_URI="ftp://ftp.irc.org/irc/server/${MY_P}.tgz" +LICENSE="GPL-1" +SLOT="0" + +KEYWORDS="~amd64 ppc x86" +IUSE="ipv6" + +DEPEND="sys-libs/ncurses + sys-libs/zlib" +# This and irc-client both install /usr/bin/irc #247987 +RDEPEND="${DEPEND} + !net-irc/irc-client" + +S=${WORKDIR}/${MY_P} + +src_unpack() { + unpack ${A} + + cd "${S}" || die + epatch "${FILESDIR}"/${P}-amd64-chost.patch +} + +src_compile () { + econf \ + $(use_with ipv6 ip6) \ + --sysconfdir=/etc/ircd \ + --localstatedir=/var/run/ircd \ + || die "econf failed" + emake -C ${CHOST} client || die "client build failed" +} + +src_install() { + make -C ${CHOST} \ + prefix=${D}/usr \ + client_man_dir=${D}/usr/share/man/man1 \ + install-client || die "client installed failed" + dodoc doc/Etiquette doc/alt-irc-faq doc/rfc* || die +} diff --git a/net-irc/irc-client/metadata.xml b/net-irc/irc-client/metadata.xml new file mode 100644 index 000000000000..6ef15e900f17 --- /dev/null +++ b/net-irc/irc-client/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +</pkgmetadata> diff --git a/net-irc/irc-server/Manifest b/net-irc/irc-server/Manifest new file mode 100644 index 000000000000..8f571c64a807 --- /dev/null +++ b/net-irc/irc-server/Manifest @@ -0,0 +1 @@ +DIST irc2.11.1p1.tgz 770458 SHA256 29f83e82cd55f2e2f4362d95eae1da6b53dc1b7d05ff3f41be7b42e6dcbf2e1d SHA512 cc398ddd0129a044bb681504986f3d4d6f6e9b9b703495d62ec237c2e26a81250986336ae6076236eec7576eb0939ad931b45f09779e852cf69d101569c31c2c WHIRLPOOL eccdf4809446d2dbede0bb88928e2404a515684ef8e4b0870df00c892c70f49801edea93f458d301f99b351a705192799ed8716354961e5e19ab4b7e9bd6a0f5 diff --git a/net-irc/irc-server/files/2.10.3_p3-gentoo.patch b/net-irc/irc-server/files/2.10.3_p3-gentoo.patch new file mode 100644 index 000000000000..36f558a70470 --- /dev/null +++ b/net-irc/irc-server/files/2.10.3_p3-gentoo.patch @@ -0,0 +1,11 @@ +diff -ur irc2.10.3p3.orig/contrib/tkserv/tkserv.c irc2.10.3p3/contrib/tkserv/tkserv.c +--- irc2.10.3p3.orig/contrib/tkserv/tkserv.c 2001-03-09 07:55:38.000000000 -0600 ++++ irc2.10.3p3/contrib/tkserv/tkserv.c 2004-06-08 00:14:33.648900488 -0500 +@@ -549,6 +549,7 @@ + case -1: + sendto_user("You are not allowed to tkline \"%s\".", host); break; + default: ++ break; + } + + retv = retv < 0 ? 0 : retv; /* errors do not allow authorization */ diff --git a/net-irc/irc-server/files/ircd.confd b/net-irc/irc-server/files/ircd.confd new file mode 100644 index 000000000000..19766668e76c --- /dev/null +++ b/net-irc/irc-server/files/ircd.confd @@ -0,0 +1,10 @@ +# /etc/conf.d/ircd: configuration for /etc/init.d/ircd + +# User account to run ircd as. + +#IRCD_USER="ircd" + +# Put any additional options for ircd here. +# See ircd(8) for more information. + +#IRCD_OPTS="" diff --git a/net-irc/irc-server/files/ircd.rc b/net-irc/irc-server/files/ircd.rc new file mode 100644 index 000000000000..e04802308a8c --- /dev/null +++ b/net-irc/irc-server/files/ircd.rc @@ -0,0 +1,31 @@ +#!/sbin/runscript +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + use net +} + +IRCD_USER=${IRCD_USER:-ircd} + +checkconfig() { + if [ ! -e /etc/ircd/ircd.conf ] ; then + eerror "You need to create /etc/ircd/ircd.conf first." + eerror "An example can be found in /etc/ircd/ircd.conf.example" + return 1 + fi +} + +start() { + checkconfig || return $? + ebegin "Starting ircd" + start-stop-daemon --start --quiet --chuid "${IRCD_USER}" --exec /usr/sbin/ircd -- ${IRCD_OPTS} + eend $? +} + +stop() { + ebegin "Stopping ircd" + start-stop-daemon --stop --quiet --pidfile /var/run/ircd/ircd.pid + eend $? +} diff --git a/net-irc/irc-server/irc-server-2.11.1_p1-r2.ebuild b/net-irc/irc-server/irc-server-2.11.1_p1-r2.ebuild new file mode 100644 index 000000000000..9ca7cf4070a6 --- /dev/null +++ b/net-irc/irc-server/irc-server-2.11.1_p1-r2.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +inherit eutils versionator flag-o-matic user + +MY_P=irc${PV/_/} + +DESCRIPTION="RFC compliant IRC server" +HOMEPAGE="http://www.irc.org/" +SRC_URI="ftp://ftp.irc.org/irc/server/${MY_P}.tgz + ftp://ftp.irc.org/irc/server/Old/irc$(get_version_component_range 1-2)/${MY_P}.tgz" + +LICENSE="GPL-1" +SLOT="0" +KEYWORDS="~x86 ~ppc" +IUSE="zlib ipv6" + +RDEPEND="sys-libs/ncurses + zlib? ( sys-libs/zlib )" +DEPEND="${RDEPEND} + sys-apps/sed + sys-apps/grep" + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + enewgroup ircd + enewuser ircd -1 -1 -1 ircd +} + +src_unpack() { + unpack ${A} + cd "${S}" + + epatch "${FILESDIR}"/2.10.3_p3-gentoo.patch +} + +src_compile () { + sed -i \ + -e "s/^#undef\tOPER_KILL$/#define\tOPER_KILL/" \ + -e "s/^#undef\tOPER_RESTART$/#define\tOPER_RESTART/" \ + -e "s/^#undef TIMEDKLINES$/#define\tTIMEDKLINES\t60/" \ + -e "s/^#undef\tR_LINES$/#define\tR_LINES/" \ + -e "s/^#undef\tCRYPT_OPER_PASSWORD$/#define\tCRYPT_OPER_PASSWORD/" \ + -e "s/^#undef\tCRYPT_LINK_PASSWORD$/#define\tCRYPT_LINK_PASSWORD/" \ + -e "s/^#undef\tIRC_UID$/#define\tIRC_UID\t$IRCUID/" \ + -e "s/^#undef\tIRC_GID$/#define\tIRC_GID\t$IRCGID/" \ + -e "s/^#undef USE_SERVICES$/#define\tUSE_SERVICES/" \ + "${S}"/support/config.h.dist + + use zlib && sed -i -e "s/^#undef\tZIP_LINKS$/#define\tZIP_LINKS/" "${S}"/support/config.h.dist + + econf \ + --sysconfdir=/etc/ircd \ + --localstatedir=/var/run/ircd \ + --with-logdir=/var/log/ircd \ + --with-rundir=/var/run/ircd \ + --mandir='${prefix}/share/man' \ + $(use_with zlib) \ + $(use_enable ipv6 ip6) \ + || die "econf failed" + + cd $(support/config.guess) + emake ircd iauth chkconf ircd-mkpasswd ircdwatch tkserv || die "emake failed" +} + +src_install() { + cd $(support/config.guess) + + emake \ + prefix=${D}/usr \ + ircd_conf_dir=${D}/etc/ircd \ + ircd_var_dir=${D}/var/run/ircd \ + ircd_log_dir=${D}/var/log/ircd \ + install-server \ + install-tkserv \ + || die "make install failed" + + fowners ircd:ircd /var/run/ircd + fowners ircd:ircd /var/log/ircd + + cd ../doc + dodoc \ + *-New alt-irc-faq Authors BUGS ChangeLog Etiquette \ + iauth-internals.txt INSTALL.appendix INSTALL.* LICENSE \ + m4macros README RELEASE* rfc* SERVICE* + + docinto Juped + dodoc Juped/Advertisement Juped/ChangeLog.* Juped/INSTALL + + docinto Juped/US-Admin + dodoc Juped/US-Admin/Networking + + docinto Nets + dodoc Nets/IRCNet + + docinto Nets/Europe + dodoc Nets/Europe/* + + newinitd "${FILESDIR}"/ircd.rc ircd + newconfd "${FILESDIR}"/ircd.confd ircd +} diff --git a/net-irc/irc-server/metadata.xml b/net-irc/irc-server/metadata.xml new file mode 100644 index 000000000000..6ef15e900f17 --- /dev/null +++ b/net-irc/irc-server/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +</pkgmetadata> diff --git a/net-irc/ircii/Manifest b/net-irc/ircii/Manifest new file mode 100644 index 000000000000..205b0458fc7f --- /dev/null +++ b/net-irc/ircii/Manifest @@ -0,0 +1,2 @@ +DIST ircii-20110228.tar.bz2 558483 SHA256 4fc77ddaf473e35817f55945e6275b1501b7d95585b49a44e0fe998382d72fb2 SHA512 df27f098ad9c134335b7d97a25a07ef5fd9d14063b2e079a707a472d2582a1451d7697f3123508296c76afdb78257ad6dc358a2ec5af584ab53872c765b01782 WHIRLPOOL 2ea4dfa1f1b64152373e4c6f79216bfca803980715745e40c2c72e6f4f8facccee93657a9a1ca40d952e5b69d5522b7034041dc706ef9dc39ae4810de0c1831d +DIST ircii-20111115.tar.bz2 555731 SHA256 5c6b4390b8ed04cf3b08a3ba72f41eba9b125d0fc09c637f7c7f81eb6bdd91e6 SHA512 6f282debbd27865414a2ef9148b23373f83a051b2917432d9fdc2f153c111f8e592286d42a5ad34fd0cdc155e39938094e140910fbf38be494e3ed3da4cd0b6e WHIRLPOOL dfb1b7326c5ee22c480ff85a3821af9ebb6f832da512f3f2b821ed3ed1437494cc1a7ca93794435e42f58cb3fe0a226105fb085fcf81425334a3e8ff4d209748 diff --git a/net-irc/ircii/files/ircii-20110228-glibc.patch b/net-irc/ircii/files/ircii-20110228-glibc.patch new file mode 100644 index 000000000000..291bf3219eb2 --- /dev/null +++ b/net-irc/ircii/files/ircii-20110228-glibc.patch @@ -0,0 +1,29 @@ +From: Nathan Phillip Brink <ohnobinki@ohnopublishing.net> + +Support glibc systems where SIGRTMAX and SIGRTMIN macros can only be fully expanded at runtime. + +--- a/source/mksiginc.c ++++ b/source/mksiginc.c +@@ -191,12 +191,18 @@ + signames[SIGRETRACT] = "RETRACT"; + #endif + +-#if defined(SIGRTMAX) && SIGRTMAX < MY_MAXSIG +- signames[SIGRTMAX] = "RTMAX"; ++#if defined(SIGRTMAX) ++ /* ++ * In recent glibc, SIGRTMAX and SIGRTMIN macros are runtime ++ * function calls into libc and must be evaluated at runtime. ++ */ ++ if (SIGRTMAX < MY_MAXSIG) ++ signames[SIGRTMAX] = "RTMAX"; + #endif + +-#if defined(SIGRTMIN) && SIGRTMIN < MY_MAXSIG +- signames[SIGRTMIN] = "RTMIN"; ++#if defined(SIGRTMIN) ++ if (SIGRTMIN < MY_MAXSIG) ++ signames[SIGRTMIN] = "RTMIN"; + #endif + + #if defined(SIGSAK) && SIGSAK < MY_MAXSIG diff --git a/net-irc/ircii/ircii-20110228.ebuild b/net-irc/ircii/ircii-20110228.ebuild new file mode 100644 index 000000000000..240ab9ac891b --- /dev/null +++ b/net-irc/ircii/ircii-20110228.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit eutils toolchain-funcs + +DESCRIPTION="An IRC and ICB client that runs under most UNIX platforms" +SRC_URI="ftp://ircii.warped.com/pub/ircII/${P}.tar.bz2" +HOMEPAGE="http://www.eterna.com.au/ircii/" + +SLOT="0" +LICENSE="BSD" +KEYWORDS="amd64 ~ppc x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" +IUSE="ipv6" + +DEPEND="sys-libs/ncurses + virtual/libiconv" +# This and irc-client both install /usr/bin/irc #247987 +RDEPEND="${DEPEND} + !!net-irc/irc-client" + +src_prepare() { + epatch "${FILESDIR}"/${P}-glibc.patch +} + +src_configure() { + tc-export CC + use elibc_glibc || append-libs -liconv + econf $(use_enable ipv6) +} + +src_install() { + emake -j1 DESTDIR="${D}" install + + dodoc ChangeLog INSTALL NEWS README \ + doc/Copyright doc/crypto doc/VERSIONS doc/ctcp +} diff --git a/net-irc/ircii/ircii-20111115.ebuild b/net-irc/ircii/ircii-20111115.ebuild new file mode 100644 index 000000000000..2461cf7e0c2e --- /dev/null +++ b/net-irc/ircii/ircii-20111115.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit eutils toolchain-funcs + +DESCRIPTION="An IRC and ICB client that runs under most UNIX platforms" +SRC_URI="ftp://ircii.warped.com/pub/ircII/${P}.tar.bz2 + ftp://ircii.warped.com/pub/ircII/old/${P}.tar.bz2" +HOMEPAGE="http://eterna.com.au/ircii/" + +SLOT="0" +LICENSE="BSD" +KEYWORDS="amd64 ~ppc x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" +IUSE="ipv6" + +DEPEND="sys-libs/ncurses + virtual/libiconv" +# This and irc-client both install /usr/bin/irc #247987 +RDEPEND="${DEPEND} + !!net-irc/irc-client" + +src_configure() { + tc-export CC + econf $(use_enable ipv6) +} + +src_install() { + emake -j1 DESTDIR="${D}" install + + dodoc ChangeLog INSTALL NEWS README \ + doc/Copyright doc/crypto doc/VERSIONS doc/ctcp +} diff --git a/net-irc/ircii/metadata.xml b/net-irc/ircii/metadata.xml new file mode 100644 index 000000000000..6ef15e900f17 --- /dev/null +++ b/net-irc/ircii/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +</pkgmetadata> diff --git a/net-irc/ircmap/Manifest b/net-irc/ircmap/Manifest new file mode 100644 index 000000000000..67dfa31a8008 --- /dev/null +++ b/net-irc/ircmap/Manifest @@ -0,0 +1 @@ +DIST ircmap.tar.gz 27944 SHA256 01215ec0871a05f74ecf9141e98a6fa9e6e5efd7de2244b889059a8d02a1e1ec SHA512 52ce62d7846e5e50525800af86b4296d427da21d129f68b83cd30daa75fdd9fe78c6615771e729c4ad5f8afe75f20b1cab0b6d4b01be4a7c2889524676b60ac9 WHIRLPOOL 61dd6bea1a864383f1a3fd6573a5bf7351929dc3bc50142bf95caeb19f33ddf80bf58f117468fdadda980d8a86e5b006a43e59c8600a2a7d77cf9d808aa5e359 diff --git a/net-irc/ircmap/ircmap-0.99.ebuild b/net-irc/ircmap/ircmap-0.99.ebuild new file mode 100644 index 000000000000..835d41b0ac7e --- /dev/null +++ b/net-irc/ircmap/ircmap-0.99.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +DESCRIPTION="Scripts to treate diagrams of IRC networks using the LINKS command" +HOMEPAGE="http://pasky.or.cz/~pasky/irc/" +SRC_URI="http://pasky.ji.cz/~pasky/irc/${PN}.tar.gz" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="x86" +IUSE="" + +DEPEND="dev-lang/perl" +RDEPEND="${RDEPEND} + media-gfx/graphviz" +DEPEND="${DEPEND} + >=sys-apps/sed-4" + +S="${WORKDIR}"/${PN} + +src_compile() { + eval $(perl -V:installprivlib) + + sed -i \ + -e "s:/home/pasky/ircmap:${installprivlib}/ircmap:" \ + {ircmapC,ircmapR-aa,ircmapR-gvdot,ircmapR-ircnet,ircmapS}.pl +} + +src_install () { + dodoc README + dobin ircmapS.pl ircmapC.pl ircmapR-aa.pl ircmapR-gvdot.pl ircmapR-ircnet.pl + + eval $(perl -V:installprivlib) + + insinto /"${installprivlib}"/ircmap + doins IHash.pm +} + +pkg_postinst() { + elog 'Usage:' + elog 'IRCSERVER="irc.generic.com ircmapS.pl [-options parameters] \' + elog '| tee /tmp/sendmethisifitdoesntwork \' + elog '| ircmapC.pl \' + elog '| tee /tmp/coredump \' + elog '| ircmapR-aa.pl > ${IRCSERVER}.txt' + elog '' + elog 'cat /tmp/coredump \' + elog '| ircmapR-gvdot.pl \' + elog '| dot -Tgif -o ${IRCSERVER}.gif' +} diff --git a/net-irc/ircmap/metadata.xml b/net-irc/ircmap/metadata.xml new file mode 100644 index 000000000000..6ef15e900f17 --- /dev/null +++ b/net-irc/ircmap/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +</pkgmetadata> 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> diff --git a/net-irc/ircstats/Manifest b/net-irc/ircstats/Manifest new file mode 100644 index 000000000000..64402bce438e --- /dev/null +++ b/net-irc/ircstats/Manifest @@ -0,0 +1 @@ +DIST IRCStats-1.1.tgz 47781 SHA256 b75cf327fd543babecd1e25cef966786122ef1c713bd8016b115527cb2e6415a SHA512 009beb7b0aac9138aed6f55131498eefcb004e4478e241dc17ce98b89af607b2599e8ab6879eb1dcd11c6cffad27ded3058bb875eb6516a87c830ed1eda5fe83 WHIRLPOOL d9f219477007933d3f4f63a75d377710cb19829f1bce7bd7701749d83b32a09e5e2e533b65baa1693d7dd1c149119e12e49c9d0fb8d385952b6727bfc362d804 diff --git a/net-irc/ircstats/ircstats-1.1-r1.ebuild b/net-irc/ircstats/ircstats-1.1-r1.ebuild new file mode 100644 index 000000000000..dc520afc7261 --- /dev/null +++ b/net-irc/ircstats/ircstats-1.1-r1.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ +EAPI=5 + +inherit eutils toolchain-funcs + +MY_P="IRCStats-${PV}" + +DESCRIPTION="IRCStats tries to be a log analyzer for Linux similar to mIRCStats" +HOMEPAGE="http://humdi.net/ircstats/" +SRC_URI="http://humdi.net/ircstats/${MY_P}.tgz" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +IUSE="" + +S="${WORKDIR}"/${MY_P} + +src_compile() { + emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" || die "emake failed" +} + +src_install() { + dobin ircstats || die "dobin failed" + + insinto /usr/share/ircstats + doins -r html languages colors || die "doins failed" + + dodoc CHANGES README TODO ircstats.cfg || die "dodoc failed" +} + +pkg_postinst() { + elog "The IRCStats files have been installed in /usr/share/ircstats" + elog "You can find an example ircstats.cfg in /usr/share/doc/${PF}" +} diff --git a/net-irc/ircstats/metadata.xml b/net-irc/ircstats/metadata.xml new file mode 100644 index 000000000000..6ef15e900f17 --- /dev/null +++ b/net-irc/ircstats/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +</pkgmetadata> diff --git a/net-irc/irker/Manifest b/net-irc/irker/Manifest new file mode 100644 index 000000000000..d7a0e543d683 --- /dev/null +++ b/net-irc/irker/Manifest @@ -0,0 +1,6 @@ +DIST irker-1.19.tar.gz 33385 SHA256 680d710735251b758acf826910609ab6e9640a05e4c4c8a88ace2a3a994f2f8b SHA512 fabc907f4c4eb1ac52a79d286d168573954d0e4299f29579010aff5cb951b5f6ed8d27d7fe82b4905676a3ed597ac45c9c305ba007796f2c3124f010e6943a09 WHIRLPOOL acc37813bc66573a4b7f6c9ca691dc84d4713eb16272b97384ccb589f22ee46fe80a685674e7b38e8a1f616ce9f2c97c01ef6bca376a48f3c96caf2be679286e +DIST irker-1.20.tar.gz 33436 SHA256 c8d1552a819a1ebe7c6c7be06ff44c50557beddb75735ff6765a7c36df3536dd SHA512 d3ab3f19022259916bdac6ee26e9f999ecc8d2db4f76d2a55c7e09806bd2f5a961fbaf42d3e1b50165b9f96790d1ba15c185873d73afb187b8fb99e62d4050af WHIRLPOOL b66fc9579534a32d05f090c4d6c82bcb9da5b50fdeaf4f934103fc3967d1eed0e13e89a7ec38246113898042fd52189e368c633a7ef1f945d370241813e6ab6a +DIST irker-2.11.tar.gz 41504 SHA256 f7fa5b6020089c7fcb96429c2ce8621ccd9f1ebd14e112c5388b5701201802ab SHA512 b95824f8a68103f7094b13044263e422e98efef163425d88217a7c3f89ef83bf8c4116055b34f92d86ce1641f9c74215a4488c084eba95c56f8cf95fc8067e9b WHIRLPOOL 71d95d32e49b718d59b6a7e63ac267d1cc244281bd557f7914da9292aa0cef4049433a0135637d2bd95ce076128f4b22ac89f4c1148e41d156e6ded785e111cd +DIST irker-2.12.tar.gz 41693 SHA256 cf76cc289e54c4d0d745e73a2cd9b8d0e40651890f9374220229f59fb220d5a5 SHA512 73606deb3f2b96d72501e876dd05f146e62298fa1f7a051c0f831f0db9fc9554f991b1d645c17ccb9032c7da287c142eedf69b262cf3445ae6b0937a24a5bdb4 WHIRLPOOL b33b395888be786e43340665bdc8067e06d412af0eb516cbb64c384b6f8d7d8883a43bb3e7e3a3516d8afd800ffdb47a9b66eb25fe060922104baedeb5c754f4 +DIST irker-2.13.tar.gz 42733 SHA256 12e8d28f682c6e0bc66d33e8ec69b90db30edef4520ab2ffb26e3b4ff49609c4 SHA512 5aa86354b5f3dabd7e2b46c62df4298b3bc675757b71ee03e2068d9ad14dc35127fb4076ef819ddd0ae84d82937c540516ed77ab5f1177af6dc7381df56af3ac WHIRLPOOL 1cd1da51d5d5834ccdda295833fef20edc4bcae6706b58fdb0fbc1a986e02401c777e8a229b3b074826060554713803201d5fce87878ce6811df7e6f6e1ef52e +DIST irker-2.9.tar.gz 41050 SHA256 1c743a86275e8bf91f133b70943a1296d960e2dcc8c5e8dd894bc9a3c9a824b5 SHA512 bdb632414c87ebc3f0d480605a29823d9259defe63a6c6de8f5d1876c13f5a4ab90ef7956a83f62aedf08f17494be7a67bc414e2e30101608f565afd115c5c0f WHIRLPOOL d1c76f1bcc329b4720a823714b1bb6aae81af5913f627474f5b938ac54e09da22f3fbb58f89d79dba0f4833e3a47efeb8f13d2dfffd7a8a2f97c49cf8db200cd diff --git a/net-irc/irker/files/2.7-Register-author_name-as-author-instead-of-email-user.patch b/net-irc/irker/files/2.7-Register-author_name-as-author-instead-of-email-user.patch new file mode 100644 index 000000000000..a19da1f4a48d --- /dev/null +++ b/net-irc/irker/files/2.7-Register-author_name-as-author-instead-of-email-user.patch @@ -0,0 +1,32 @@ +From 108e898c600cf7a80a3d01a83a270c7579460b42 Mon Sep 17 00:00:00 2001 +From: Bertrand Jacquin <beber@meleeweb.net> +Date: Mon, 23 Sep 2013 23:10:23 +0200 +Subject: [PATCH 1/3] Register author_name as author instead of email userpart + +Signed-off-by: Bertrand Jacquin <beber@meleeweb.net> +--- + irkerhook.py | 11 ++--------- + 1 file changed, 2 insertions(+), 9 deletions(-) + +diff --git a/irkerhook.py b/irkerhook.py +index 5f15032..36a875e 100755 +--- a/irkerhook.py ++++ b/irkerhook.py +@@ -275,15 +275,8 @@ class GitExtractor(GenericExtractor): + # Design choice: for git we ship only the first message line, which is + # conventionally supposed to be a summary of the commit. Under + # other VCSes a different choice may be appropriate. +- commit.author_name, commit.mail, commit.logmsg = \ +- do("git log -1 '--pretty=format:%an%n%ae%n%s' " + shellquote(commit.commit)).split("\n") +- # This discards the part of the author's address after @. +- # Might be be nice to ship the full email address, if not +- # for spammers' address harvesters - getting this wrong +- # would make the freenode #commits channel into harvester heaven. +- commit.author = commit.mail.split("@")[0] +- commit.author_date, commit.commit_date = \ +- do("git log -1 '--pretty=format:%ai|%ci' " + shellquote(commit.commit)).split("|") ++ commit.logmsg = do("git log -1 '--pretty=format:%s' " + shellquote(commit.commit)) ++ commit.author = do("git log -1 '--pretty=format:%an' " + shellquote(commit.commit)) + return commit + + class SvnExtractor(GenericExtractor): diff --git a/net-irc/irker/files/2.7-irkerhook-Remove-file-listing.patch b/net-irc/irker/files/2.7-irkerhook-Remove-file-listing.patch new file mode 100644 index 000000000000..cbbb38c22ea6 --- /dev/null +++ b/net-irc/irker/files/2.7-irkerhook-Remove-file-listing.patch @@ -0,0 +1,105 @@ +From 82376d74107035950ef4181fdc889ae9409378b6 Mon Sep 17 00:00:00 2001 +From: Bertrand Jacquin <beber@meleeweb.net> +Date: Mon, 7 Oct 2013 13:33:30 +0200 +Subject: [PATCH 2/3] irkerhook: Remove file listing + +Signed-off-by: Bertrand Jacquin <beber@meleeweb.net> +--- + irkerhook.py | 34 +++------------------------------- + 1 file changed, 3 insertions(+), 31 deletions(-) + +diff --git a/irkerhook.py b/irkerhook.py +index 36a875e..f2f82cf 100755 +--- a/irkerhook.py ++++ b/irkerhook.py +@@ -57,7 +57,6 @@ class Commit: + self.rev = None + self.mail = None + self.author = None +- self.files = None + self.logmsg = None + self.url = None + self.author_date = None +@@ -224,7 +223,7 @@ class GitExtractor(GenericExtractor): + self.channels = do("git config --get irker.channels") + self.email = do("git config --get irker.email") + self.tcp = do("git config --bool --get irker.tcp") +- self.template = '%(bold)s%(project)s:%(reset)s %(green)s%(author)s%(reset)s %(repo)s:%(yellow)s%(branch)s%(reset)s * %(bold)s%(rev)s%(reset)s / %(bold)s%(files)s%(reset)s: %(logmsg)s %(brown)s%(url)s%(reset)s' ++ self.template = '%(bold)s%(project)s:%(reset)s %(green)s%(author)s%(reset)s %(repo)s:%(yellow)s%(branch)s%(reset)s * %(bold)s%(rev)s%(reset)s: %(logmsg)s %(brown)s%(url)s%(reset)s' + self.tinyifier = do("git config --get irker.tinyifier") or default_tinyifier + self.color = do("git config --get irker.color") + self.urlprefix = do("git config --get irker.urlprefix") or "gitweb" +@@ -269,9 +268,6 @@ class GitExtractor(GenericExtractor): + commit.rev = do("git describe %s 2>/dev/null" % shellquote(commit.commit)) + if not commit.rev: + commit.rev = commit.commit[:12] +- # Extract the meta-information for the commit +- commit.files = do("git diff-tree -r --name-only " + shellquote(commit.commit)) +- commit.files = " ".join(commit.files.strip().split("\n")[1:]) + # Design choice: for git we ship only the first message line, which is + # conventionally supposed to be a summary of the commit. Under + # other VCSes a different choice may be appropriate. +@@ -292,7 +288,7 @@ class SvnExtractor(GenericExtractor): + if tok.startswith("--repository="): + self.repository = tok[13:] + self.project = os.path.basename(self.repository) +- self.template = '%(bold)s%(project)s%(reset)s: %(green)s%(author)s%(reset)s %(repo)s * %(bold)s%(rev)s%(reset)s / %(bold)s%(files)s%(reset)s: %(logmsg)s %(brown)s%(url)s%(reset)s' ++ self.template = '%(bold)s%(project)s%(reset)s: %(green)s%(author)s%(reset)s %(repo)s * %(bold)s%(rev)s%(reset)s: %(logmsg)s %(brown)s%(url)s%(reset)s' + self.urlprefix = "viewcvs" + self.load_preferences(os.path.join(self.repository, "irker.conf")) + self.do_overrides() +@@ -306,7 +302,6 @@ class SvnExtractor(GenericExtractor): + commit.rev = "r%s" % self.id + commit.author = self.svnlook("author") + commit.commit_date = self.svnlook("date").partition('(')[0] +- commit.files = self.svnlook("dirs-changed").strip().replace("\n", " ") + commit.logmsg = self.svnlook("log").strip() + return commit + def svnlook(self, info): +@@ -350,7 +345,7 @@ class HgExtractor(GenericExtractor): + self.channels = ui.config('irker', 'channels') + self.email = ui.config('irker', 'email') + self.tcp = str(ui.configbool('irker', 'tcp')) # converted to bool again in do_overrides +- self.template = '%(bold)s%(project)s:%(reset)s %(green)s%(author)s%(reset)s %(repo)s:%(yellow)s%(branch)s%(reset)s * %(bold)s%(rev)s%(reset)s / %(bold)s%(files)s%(reset)s: %(logmsg)s %(brown)s%(url)s%(reset)s' ++ self.template = '%(bold)s%(project)s:%(reset)s %(green)s%(author)s%(reset)s %(repo)s:%(yellow)s%(branch)s%(reset)s * %(bold)s%(rev)s%(reset)s: %(logmsg)s %(brown)s%(url)s%(reset)s' + self.tinyifier = ui.config('irker', 'tinyifier') or default_tinyifier + self.color = ui.config('irker', 'color') + self.urlprefix = (ui.config('irker', 'urlprefix') or +@@ -380,9 +375,6 @@ class HgExtractor(GenericExtractor): + commit.author_date = \ + datetime.datetime.fromtimestamp(ctx.date()[0]).strftime('%Y-%m-%d %H:%M:%S') + commit.logmsg = ctx.description() +- # Extract changed files from status against first parent +- st = self.repository.status(ctx.p1().node(), ctx.node()) +- commit.files = ' '.join(st[0] + st[1] + st[2]) + return commit + + def hg_hook(ui, repo, **kwds): +@@ -423,27 +415,7 @@ def ship(extractor, commit, debug): + sys.stderr.write("irkerhook.py: could not decode JSON: %s\n" % data) + raise SystemExit, 1 + +- # Rewrite the file list if too long. The objective here is only +- # to be easier on the eyes. +- if extractor.cialike \ +- and extractor.cialike.lower() != "none" \ +- and len(metadata.files) > int(extractor.cialike): +- files = metadata.files.split() +- dirs = set([d.rpartition('/')[0] for d in files]) +- if len(dirs) == 1: +- metadata.files = "(%s files)" % (len(files),) +- else: +- metadata.files = "(%s files in %s dirs)" % (len(files), len(dirs)) +- # Message reduction. The assumption here is that IRC can't handle +- # lines more than 510 characters long. If we exceed that length, we +- # try knocking out the file list, on the theory that for notification +- # purposes the commit text is more important. If it's still too long +- # there's nothing much can be done other than ship it expecting the IRC +- # server to truncate. + privmsg = unicode(metadata) +- if len(privmsg) > 510: +- metadata.files = "" +- privmsg = unicode(metadata) + + # Anti-spamming guard. It's deliberate that we get maxchannels not from + # the user-filtered metadata but from the extractor data - means repo diff --git a/net-irc/irker/files/irker.conf.d b/net-irc/irker/files/irker.conf.d new file mode 100644 index 000000000000..b7974bce91a3 --- /dev/null +++ b/net-irc/irker/files/irker.conf.d @@ -0,0 +1,4 @@ +# /etc/conf.d/irkerd: config file for /etc/init.d/irkerd + +# see man pages for irkerd for valid cmdline options +#IRKERD_OPTS="" diff --git a/net-irc/irker/files/irker.init b/net-irc/irker/files/irker.init new file mode 100644 index 000000000000..367d548205e0 --- /dev/null +++ b/net-irc/irker/files/irker.init @@ -0,0 +1,25 @@ +#!/sbin/runscript +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +command="/usr/bin/irkerd" +command_args="${IRKERD_OPTS}" +pidfile="/var/run/${SVCNAME}.pid" + +depend() { + use net +} + +start () { + ebegin "Starting irkerd" + start-stop-daemon --start --quiet --exec $command + eend $? +} + +stop() { + ebegin "Stopping irkerd" + start-stop-daemon --stop --quiet --exec $command + eend $? +} + diff --git a/net-irc/irker/files/irkerd.confd b/net-irc/irker/files/irkerd.confd new file mode 100644 index 000000000000..f176e6246b36 --- /dev/null +++ b/net-irc/irker/files/irkerd.confd @@ -0,0 +1,21 @@ +# /etc/conf.d/irkerd: config file for /etc/init.d/irkerd + +# Nick-Serv login +# IRKERD_NICK="" + +# Nick-Server password +# IRKERD_PASSWORD="" + +# Log file, intended for debug purpose only, no logrotate will +# handle this logfile +# IRKERD_LOGFILE="" + +# Debug Level (critical, error, warning, info, debug) +# IRKERD_LOGLEVEL="" + +# To run an anonymous irkerd safely. It should not able able +# to write to anywhere on your system +# IRKERD_USER="" + +# see man pages for irkerd for valid cmdline options +# IRKERD_OPTS="" diff --git a/net-irc/irker/files/irkerd.initd b/net-irc/irker/files/irkerd.initd new file mode 100644 index 000000000000..246fcf4823b9 --- /dev/null +++ b/net-irc/irker/files/irkerd.initd @@ -0,0 +1,47 @@ +#!/sbin/runscript +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +: ${pidfile:=/run/${RC_SVCNAME}.pid} + +: ${IRKERD_NICK:=} +: ${IRKERD_PASSWORD:=} +: ${IRKERD_LOGFILE:=/var/log/${RC_SVCNAME}.log} +: ${IRKERD_LOGLEVEL:=0} +: ${IRKERD_USER:=nobody} + +depend() { + use net +} + +start () { + if [[ ${IRKERD_LOGLEVEL} ]] ; then + IRKERD_OPTS="${IRKERD_OPTS} -d ${IRKERD_LOGLEVEL}" + + ewarn "IRKERD_LOGLEVEL is intended to be used for debugging purpose only" + ewarn "No logrotate can handle ${IRKERD_LOGFILE}" + + checkpath -f \ + -o "${IRKERD_USER}" \ + "${IRKERD_LOGFILE}" \ + || return 1 + fi + + if [[ -z "${IRKERD_USER}" ]] ; then + die "IRKERD_USER is mandatory" + fi + + [[ -n "${IRKERD_LOGFILE}" ]] && IRKERD_OPTS="${IRKERD_OPTS} -l ${IRKERD_LOGFILE}" + [[ -n "${IRKERD_NICK}" ]] && IRKERD_OPTS="${IRKERD_OPTS} -n ${IRKERD_NICK}" + [[ -n "${IRKERD_PASSWORD}" ]] && IRKERD_OPTS="${IRKERD_OPTS} -p ${IRKERD_PASSWORD}" + + ebegin "Starting ${RC_SVCNAME}" + start-stop-daemon --start \ + --quiet --background \ + --user "${IRKERD_USER}" \ + --make-pidfile --pidfile "${pidfile}" \ + --exec /usr/bin/irkerd \ + -- ${IRKERD_OPTS} < /dev/null + eend $? +} diff --git a/net-irc/irker/irker-1.19.ebuild b/net-irc/irker/irker-1.19.ebuild new file mode 100644 index 000000000000..f55130f670ea --- /dev/null +++ b/net-irc/irker/irker-1.19.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit python + +DESCRIPTION="Submission tools for IRC notifications" +HOMEPAGE="http://www.catb.org/esr/irker/" +SRC_URI="http://www.catb.org/esr/${PN}/${P}.tar.gz" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" +DEPEND="app-text/docbook-xml-dtd:4.1.2 + app-text/xmlto" +RDEPEND="=dev-lang/python-2* + dev-python/irc" + +src_install() { + python_convert_shebangs 2 irkerd irkerhook.py + emake DESTDIR="${D}" install + # the irkerhook.py is not installed with the default makefile + dobin irkerhook.py + newinitd "${FILESDIR}/irker.init" irkerd + newconfd "${FILESDIR}/irker.conf.d" irkerd +} diff --git a/net-irc/irker/irker-1.20.ebuild b/net-irc/irker/irker-1.20.ebuild new file mode 100644 index 000000000000..f55130f670ea --- /dev/null +++ b/net-irc/irker/irker-1.20.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit python + +DESCRIPTION="Submission tools for IRC notifications" +HOMEPAGE="http://www.catb.org/esr/irker/" +SRC_URI="http://www.catb.org/esr/${PN}/${P}.tar.gz" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" +DEPEND="app-text/docbook-xml-dtd:4.1.2 + app-text/xmlto" +RDEPEND="=dev-lang/python-2* + dev-python/irc" + +src_install() { + python_convert_shebangs 2 irkerd irkerhook.py + emake DESTDIR="${D}" install + # the irkerhook.py is not installed with the default makefile + dobin irkerhook.py + newinitd "${FILESDIR}/irker.init" irkerd + newconfd "${FILESDIR}/irker.conf.d" irkerd +} diff --git a/net-irc/irker/irker-2.11.ebuild b/net-irc/irker/irker-2.11.ebuild new file mode 100644 index 000000000000..3e2f115d550b --- /dev/null +++ b/net-irc/irker/irker-2.11.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python{2_7,3_3} ) +PYTHON_REQ_USE="ssl" + +inherit python-single-r1 eutils + +DESCRIPTION="Submission tools for IRC notifications" +HOMEPAGE="http://www.catb.org/esr/irker/" +SRC_URI="http://www.catb.org/esr/${PN}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="app-text/docbook-xml-dtd:4.1.2 + app-text/xmlto" + +src_prepare() { + # https://gitorious.org/irker/irker/merge_requests/25 + epatch "${FILESDIR}/2.7-Register-author_name-as-author-instead-of-email-user.patch" + + epatch "${FILESDIR}/2.7-irkerhook-Remove-file-listing.patch" + + # Prefix support + sed -i -e "/^ExecStart=/ s:=/:=${EROOT}:" irkerd.service +} + +src_install() { + emake DESTDIR="${ED}" install + + python_doscript "${ED}/usr/bin/irkerd" + # Not installed with the default Makefile + python_doscript irk irkerhook.py + + newinitd "${FILESDIR}/irkerd.initd" irkerd + newconfd "${FILESDIR}/irkerd.confd" irkerd + + dodoc NEWS README hacking.txt security.txt + dohtml irkerd.html irkerhook.html + + docinto examples + dodoc filter-example.py filter-test.py +} diff --git a/net-irc/irker/irker-2.12.ebuild b/net-irc/irker/irker-2.12.ebuild new file mode 100644 index 000000000000..6dd3a2b12f2f --- /dev/null +++ b/net-irc/irker/irker-2.12.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) +PYTHON_REQ_USE="ssl" + +inherit python-single-r1 eutils + +DESCRIPTION="Submission tools for IRC notifications" +HOMEPAGE="http://www.catb.org/esr/irker/" +SRC_URI="http://www.catb.org/esr/${PN}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="app-text/docbook-xml-dtd:4.1.2 + app-text/xmlto" + +src_prepare() { + # https://gitorious.org/irker/irker/merge_requests/25 + epatch "${FILESDIR}/2.7-Register-author_name-as-author-instead-of-email-user.patch" + + epatch "${FILESDIR}/2.7-irkerhook-Remove-file-listing.patch" + + # Prefix support + sed -i -e "/^ExecStart=/ s:=/:=${EROOT}:" irkerd.service +} + +src_install() { + emake DESTDIR="${ED}" install + + python_doscript "${ED}/usr/bin/irkerd" + # Not installed with the default Makefile + python_doscript irk irkerhook.py + + newinitd "${FILESDIR}/irkerd.initd" irkerd + newconfd "${FILESDIR}/irkerd.confd" irkerd + + dodoc NEWS README hacking.txt security.txt + dohtml irkerd.html irkerhook.html + + docinto examples + dodoc filter-example.py filter-test.py +} diff --git a/net-irc/irker/irker-2.13.ebuild b/net-irc/irker/irker-2.13.ebuild new file mode 100644 index 000000000000..6dd3a2b12f2f --- /dev/null +++ b/net-irc/irker/irker-2.13.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) +PYTHON_REQ_USE="ssl" + +inherit python-single-r1 eutils + +DESCRIPTION="Submission tools for IRC notifications" +HOMEPAGE="http://www.catb.org/esr/irker/" +SRC_URI="http://www.catb.org/esr/${PN}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="app-text/docbook-xml-dtd:4.1.2 + app-text/xmlto" + +src_prepare() { + # https://gitorious.org/irker/irker/merge_requests/25 + epatch "${FILESDIR}/2.7-Register-author_name-as-author-instead-of-email-user.patch" + + epatch "${FILESDIR}/2.7-irkerhook-Remove-file-listing.patch" + + # Prefix support + sed -i -e "/^ExecStart=/ s:=/:=${EROOT}:" irkerd.service +} + +src_install() { + emake DESTDIR="${ED}" install + + python_doscript "${ED}/usr/bin/irkerd" + # Not installed with the default Makefile + python_doscript irk irkerhook.py + + newinitd "${FILESDIR}/irkerd.initd" irkerd + newconfd "${FILESDIR}/irkerd.confd" irkerd + + dodoc NEWS README hacking.txt security.txt + dohtml irkerd.html irkerhook.html + + docinto examples + dodoc filter-example.py filter-test.py +} diff --git a/net-irc/irker/irker-2.9.ebuild b/net-irc/irker/irker-2.9.ebuild new file mode 100644 index 000000000000..3e2f115d550b --- /dev/null +++ b/net-irc/irker/irker-2.9.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python{2_7,3_3} ) +PYTHON_REQ_USE="ssl" + +inherit python-single-r1 eutils + +DESCRIPTION="Submission tools for IRC notifications" +HOMEPAGE="http://www.catb.org/esr/irker/" +SRC_URI="http://www.catb.org/esr/${PN}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="app-text/docbook-xml-dtd:4.1.2 + app-text/xmlto" + +src_prepare() { + # https://gitorious.org/irker/irker/merge_requests/25 + epatch "${FILESDIR}/2.7-Register-author_name-as-author-instead-of-email-user.patch" + + epatch "${FILESDIR}/2.7-irkerhook-Remove-file-listing.patch" + + # Prefix support + sed -i -e "/^ExecStart=/ s:=/:=${EROOT}:" irkerd.service +} + +src_install() { + emake DESTDIR="${ED}" install + + python_doscript "${ED}/usr/bin/irkerd" + # Not installed with the default Makefile + python_doscript irk irkerhook.py + + newinitd "${FILESDIR}/irkerd.initd" irkerd + newconfd "${FILESDIR}/irkerd.confd" irkerd + + dodoc NEWS README hacking.txt security.txt + dohtml irkerd.html irkerhook.html + + docinto examples + dodoc filter-example.py filter-test.py +} diff --git a/net-irc/irker/metadata.xml b/net-irc/irker/metadata.xml new file mode 100644 index 000000000000..24cbb90cf0c4 --- /dev/null +++ b/net-irc/irker/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>patrick@gentoo.org</email> + <name>Patrick Lauer</name> + </maintainer> +</pkgmetadata> diff --git a/net-irc/iroffer-dinoex/Manifest b/net-irc/iroffer-dinoex/Manifest new file mode 100644 index 000000000000..a3359d299fea --- /dev/null +++ b/net-irc/iroffer-dinoex/Manifest @@ -0,0 +1 @@ +DIST iroffer-dinoex-3.29.tar.gz 537027 SHA256 d96c307062552878d7594e280eef3a8669b4af955f1efe1d6e3e7ad660f9a6fb SHA512 bac4feaa0db11de3faed0beb7302cb090d3a6629a6c299bd1b4ee136bce7290f1a9fa998aab909f1fafe54f5577bed90f487d4b2592521a87d5d9ae7512eecb0 WHIRLPOOL 2917244bfc2c0d05f5660b767dfa39da6099e5388dedea5c2578a483fc52747959c296f65a71cd3a8a24740afca1c3fab8e7825052fec4ac5eadce558917fcd7 diff --git a/net-irc/iroffer-dinoex/files/iroffer-dinoex-3.29-config.patch b/net-irc/iroffer-dinoex/files/iroffer-dinoex-3.29-config.patch new file mode 100644 index 000000000000..5dc9d6183ef6 --- /dev/null +++ b/net-irc/iroffer-dinoex/files/iroffer-dinoex-3.29-config.patch @@ -0,0 +1,130 @@ +diff -ru iroffer-dinoex-3.29/beispiel.config iroffer-dinoex-3.29.NEW/beispiel.config +--- iroffer-dinoex-3.29/beispiel.config 2013-02-01 08:28:18.000000000 +0100 ++++ iroffer-dinoex-3.29.NEW/beispiel.config 2013-03-09 18:43:33.084000000 +0100 +@@ -15,19 +15,19 @@ + ############################################################################## + ### - pid file - ### + ### Schreibt die Prozess-ID beim Start in diese Datei ### +-pidfile mybot.pid ++pidfile /var/run/iroffer-dinoex/iroffer-dinoex.pid + + ############################################################################## + ### - log file - ### + ### logfile gibt die Logdatei fr den Bot an. ### +-logfile mybot.log ++logfile /var/log/iroffer-dinoex/mybot.log + + ############################################################################## + ### - log rotate - ### + ### logrotate gibt den Zeitraum vor, nach dem die Logdatei gewechselt ### + ### wird, mgliche Werte "none" (nie), "monthly" (monatlich), ### + ### "weekly" (wchentlich), "daily" (tglich) und 1-24 (stndlich). ### +-logrotate weekly ++logrotate none + + ############################################################################## + ### - expire logfiles - ### +@@ -48,7 +48,7 @@ + ### Diese Datei dient als allgemeines Datenlager fr die bereitgestellten ### + ### Dateien und die dazugehrigen statistische Daten. Hier werden auch die ### + ### Beschreibungen der Pakete gespeichert. ### +-statefile mybot.state ++statefile /var/lib/iroffer-dinoex/mybot.state + + ############################################################################## + ### - old state file - ### +@@ -74,7 +74,7 @@ + ### als Packliste auf einer Webseite zu dienen, oder fr andere Zwecke. ### + ### Wenn xdcclistfileraw gesetzt ist, werden die IRC-Farbcode auch mit ### + ### ausgegeben. ### +-xdcclistfile mybot.txt ++xdcclistfile /var/lib/iroffer-dinoex/mybot.txt + #xdcclistfileraw + + ############################################################################## +diff -ru iroffer-dinoex-3.29/exemple.config iroffer-dinoex-3.29.NEW/exemple.config +--- iroffer-dinoex-3.29/exemple.config 2013-02-01 08:26:21.000000000 +0100 ++++ iroffer-dinoex-3.29.NEW/exemple.config 2013-03-09 18:45:35.340000000 +0100 +@@ -15,18 +15,18 @@ + ############################################################################## + ### - pid file - ### + ### crit l'identifiant du processus dans ce fichier au lancement. ### +-pidfile monbot.pid ++pidfile /var/run/iroffer-dinoex/iroffer-dinoex.pid + + ############################################################################## + ### - log file - ### + ### crit le journal du robot dans ce fichier. ### +-logfile monbot.log ++logfile /var/log/iroffer-dinoex/mybot.log + + ############################################################################## + ### - log rotate - ### + ### Archivage du journal jamais (none), quotidien (daily), ### + ### hebdomadaire (weekly) ou mensuelle (monthly). ### +-logrotate weekly ++logrotate none + + ############################################################################## + ### - expire logfiles - ### +@@ -44,7 +44,7 @@ + ############################################################################## + ### - state file - ### + ### Fichier temporaire de stockage des informations d'tat d'Iroffer. ### +-statefile monbot.state ++statefile /var/lib/iroffer-dinoex/mybot.state + + ############################################################################## + ### - old state file - ### +@@ -71,7 +71,7 @@ + ### xdcclistfile et Iroffer crira la liste XDCC ds que ncessaire. ### + ### Si xdcclistfileraw est dfini, le fichier sera crit avec les ### + ### caractres spciaux IRC (couleur, format, etc.) ### +-xdcclistfile monbot.txt ++xdcclistfile /var/lib/iroffer-dinoex/mybot.txt + #xdcclistfileraw + + ############################################################################## +diff -ru iroffer-dinoex-3.29/sample.config iroffer-dinoex-3.29.NEW/sample.config +--- iroffer-dinoex-3.29/sample.config 2013-02-01 08:26:58.000000000 +0100 ++++ iroffer-dinoex-3.29.NEW/sample.config 2013-03-09 18:46:30.612000000 +0100 +@@ -15,18 +15,18 @@ + ############################################################################## + ### - pid file - ### + ### Writes the process id to this file on startup ### +-pidfile mybot.pid ++pidfile /var/run/iroffer-dinoex/iroffer-dinoex.pid + + ############################################################################## + ### - log file - ### + ### Writes logging information to this file. ### +-logfile mybot.log ++logfile /var/log/iroffer-dinoex/mybot.log + + ############################################################################## + ### - log rotate - ### + ### After the time given here a logfile will be rotated. ### + ### logrotate can be set to none, 1 - 24 hours, daily, weekly or monthly ### +-logrotate weekly ++logrotate none + + ############################################################################## + ### - expire logfiles - ### +@@ -44,7 +44,7 @@ + ############################################################################## + ### - state file - ### + ### temporary storage for iroffer state information across restarts ### +-statefile mybot.state ++statefile /var/lib/iroffer-dinoex/mybot.state + + ############################################################################## + ### - old state file - ### +@@ -71,7 +71,7 @@ + ### needed. ### + ### If xdcclistfileraw is set the file will be written with the IRC ### + ### control characters included (color, formatting, etc..). ### +-xdcclistfile mybot.txt ++xdcclistfile /var/lib/iroffer-dinoex/mybot.txt + #xdcclistfileraw + + ############################################################################## diff --git a/net-irc/iroffer-dinoex/files/iroffer-dinoex-Werror.patch b/net-irc/iroffer-dinoex/files/iroffer-dinoex-Werror.patch new file mode 100644 index 000000000000..cb8bf9248b03 --- /dev/null +++ b/net-irc/iroffer-dinoex/files/iroffer-dinoex-Werror.patch @@ -0,0 +1,21 @@ +--- Configure1 2013-02-07 22:10:22.000000000 +0400 ++++ Configure 2013-02-07 22:11:37.000000000 +0400 +@@ -884,18 +884,6 @@ + ${msg} " ${irt_no}" + fi + +-${msg} -n "${irt_seeingif} $cctype ${irt_accepts} '-Werror'... " +-echo " +-#include <stdlib.h> +-${main0}" > config.temp.c +-if $cctype -o config.temp -Werror $CFLAGS config.temp.c $LDFLAGS $libs $LIBS; then +- ${msg} "${irt_yes}" +- WERROR="-Werror" +-else +- ${msg} " ${irt_no}" +-fi +- +- + ${msg} -n "${irt_seeing16bit}... " + echo " + #include <stdlib.h> diff --git a/net-irc/iroffer-dinoex/files/iroffer-dinoex-config.patch b/net-irc/iroffer-dinoex/files/iroffer-dinoex-config.patch new file mode 100644 index 000000000000..588c24fd687c --- /dev/null +++ b/net-irc/iroffer-dinoex/files/iroffer-dinoex-config.patch @@ -0,0 +1,130 @@ +diff -ru configs.orig/beispiel.config configs/beispiel.config +--- configs.orig/beispiel.config 2012-06-18 21:13:04.000000000 +0400 ++++ configs/beispiel.config 2013-02-19 22:33:33.000000000 +0400 +@@ -15,19 +15,19 @@ + ############################################################################## + ### - pid file - ### + ### Schreibt die Prozess-ID beim Start in diese Datei ### +-pidfile mybot.pid ++pidfile /var/run/iroffer-dinoex/iroffer-dinoex.pid + + ############################################################################## + ### - log file - ### + ### logfile gibt die Logdatei fr den Bot an. ### +-logfile mybot.log ++logfile /var/log/iroffer-dinoex/mybot.log + + ############################################################################## + ### - log rotate - ### + ### logrotate gibt den Zeitraum vor, nach dem die Logdatei gewechselt ### + ### wird, mgliche Werte "none" (nie), "monthly" (monatlich), ### + ### "weekly" (wchentlich), "daily" (tglich) und 1-24 (stndlich). ### +-logrotate weekly ++logrotate none + + ############################################################################## + ### - expire logfiles - ### +@@ -48,7 +48,7 @@ + ### Diese Datei dient als allgemeines Datenlager fr die bereitgestellten ### + ### Dateien und die dazugehrigen statistische Daten. Hier werden auch die ### + ### Beschreibungen der Pakete gespeichert. ### +-statefile mybot.state ++statefile /var/lib/iroffer-dinoex/mybot.state + + ############################################################################## + ### - old state file - ### +@@ -74,7 +74,7 @@ + ### als Packliste auf einer Webseite zu dienen, oder fr andere Zwecke. ### + ### Wenn xdcclistfileraw gesetzt ist, werden die IRC-Farbcode auch mit ### + ### ausgegeben. ### +-xdcclistfile mybot.txt ++xdcclistfile /var/lib/iroffer-dinoex/mybot.txt + #xdcclistfileraw + + ############################################################################## +diff -ru configs.orig/exemple.config configs/exemple.config +--- configs.orig/exemple.config 2012-06-18 21:13:04.000000000 +0400 ++++ configs/exemple.config 2013-02-19 22:35:24.000000000 +0400 +@@ -15,18 +15,18 @@ + ############################################################################## + ### - pid file - ### + ### Ecrit l'id du processus dans ce fichier au lancement ### +-pidfile monbot.pid ++pidfile /var/run/iroffer-dinoex/iroffer-dinoex.pid + + ############################################################################## + ### - log file - ### + ### crit les informations du bot dans ce fichier. ### +-logfile monbot.log ++logfile /var/log/iroffer-dinoex/mybot.log + + ############################################################################## + ### - log rotate - ### + ### Archivage du fichier de log jamais (none), 1-24 h quotidien (daily), ### + ### hebdomadaire (weekly) ou mensuelle (monthly). ### +-logrotate weekly ++logrotate none + + ############################################################################## + ### - expire logfiles - ### +@@ -44,7 +44,7 @@ + ############################################################################## + ### - state file - ### + ### fichier temporaire de stockage des informations d'tat d'iroffer. ### +-statefile monbot.state ++statefile /var/lib/iroffer-dinoex/mybot.state + + ############################################################################## + ### - old state file - ### +@@ -70,7 +70,7 @@ + ### 'xdcclistfile' et iroffer crira la liste xdcc ds que ncessaire. ### + ### Si xdcclistfileraw est dfinit, le fichier sera crit avec les ### + ### caractres spciaux IRC (couleur, format, etc...). ### +-xdcclistfile monbot.txt ++xdcclistfile /var/lib/iroffer-dinoex/mybot.txt + #xdcclistfileraw + + ############################################################################## +diff -ru configs.orig/sample.config configs/sample.config +--- configs.orig/sample.config 2012-06-18 21:13:04.000000000 +0400 ++++ configs/sample.config 2013-02-19 22:31:53.000000000 +0400 +@@ -15,18 +15,18 @@ + ############################################################################## + ### - pid file - ### + ### Writes the process id to this file on startup ### +-pidfile mybot.pid ++pidfile /var/run/iroffer-dinoex/iroffer-dinoex.pid + + ############################################################################## + ### - log file - ### + ### Writes logging information to this file. ### +-logfile mybot.log ++logfile /var/log/iroffer-dinoex/mybot.log + + ############################################################################## + ### - log rotate - ### + ### After the time given here a logfile will be rotated. ### + ### logrotate can be set to none, 1 - 24 hours, daily, weekly or monthly ### +-logrotate weekly ++logrotate none + + ############################################################################## + ### - expire logfiles - ### +@@ -44,7 +44,7 @@ + ############################################################################## + ### - state file - ### + ### temporary storage for iroffer state information across restarts ### +-statefile mybot.state ++statefile /var/lib/iroffer-dinoex/mybot.state + + ############################################################################## + ### - old state file - ### +@@ -71,7 +71,7 @@ + ### needed. ### + ### If xdcclistfileraw is set the file will be written with the IRC ### + ### control characters included (color, formatting, etc..). ### +-xdcclistfile mybot.txt ++xdcclistfile /var/lib/iroffer-dinoex/mybot.txt + #xdcclistfileraw + + ############################################################################## diff --git a/net-irc/iroffer-dinoex/files/iroffer-dinoex.conf b/net-irc/iroffer-dinoex/files/iroffer-dinoex.conf new file mode 100644 index 000000000000..a26ccf6a4218 --- /dev/null +++ b/net-irc/iroffer-dinoex/files/iroffer-dinoex.conf @@ -0,0 +1,18 @@ +# Binary for executing as a daemon +BIN="/usr/bin/iroffer" + +# User/Group to drop privileges +USER="iroffer" +GROUP="iroffer" + +# PID file location +PIDFILE="/var/run/iroffer-dinoex/iroffer-dinoex.pid" + +# Directory for log files +LOG="/var/log/iroffer-dinoex" + +# Directory for runtime files +STATE="/var/lib/iroffer-dinoex" + +# Bot configuration +MYBOT="/etc/iroffer-dinoex/mybot.config" diff --git a/net-irc/iroffer-dinoex/files/iroffer-dinoex.init b/net-irc/iroffer-dinoex/files/iroffer-dinoex.init new file mode 100644 index 000000000000..bf7fcf9dafbb --- /dev/null +++ b/net-irc/iroffer-dinoex/files/iroffer-dinoex.init @@ -0,0 +1,48 @@ +#!/sbin/runscript +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +extra_commands="reload reconnect" + +description_reload="Reload the config file" +description_reconnect="Force reconnection to an IRC server" + +depend() { + need net +} + +start_pre() { + if [ ! -f "${MYBOT}" ]; then + eerror "${MYBOT} not found" + return 1 + fi + + checkpath -d -o "${USER}":"${GROUP}" /var/run/iroffer-dinoex + checkpath -d -o "${USER}":"${GROUP}" /var/log/iroffer-dinoex + checkpath -d -o "${USER}":"${GROUP}" /var/lib/iroffer-dinoex +} + +start() { + ebegin "Starting iroffer-dinoex" + start-stop-daemon --start --quiet --pidfile "${PIDFILE}" --user "${USER}:${GROUP}" --exec "${BIN}" -- -b "${MYBOT}" -w "${STATE}" -s + eend $? +} + +stop() { + ebegin "Stopping iroffer-dinoex" + start-stop-daemon --stop --pidfile "${PIDFILE}" --exec "${BIN}" + eend $? +} + +reload(){ + ebegin "Reload iroffer-dinoex" + start-stop-daemon --signal SIGUSR2 --pidfile "${PIDFILE}" + eend $? +} + +reconnect(){ + ebegin "Try to reconnect iroffer-dinoex to servers" + start-stop-daemon --signal SIGUSR1 --pidfile "${PIDFILE}" + eend $? +} diff --git a/net-irc/iroffer-dinoex/files/iroffer-dinoex.logrotate b/net-irc/iroffer-dinoex/files/iroffer-dinoex.logrotate new file mode 100644 index 000000000000..76f3e5b966d7 --- /dev/null +++ b/net-irc/iroffer-dinoex/files/iroffer-dinoex.logrotate @@ -0,0 +1,8 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +/var/log/iroffer-dinoex/*.log { + missingok + su iroffer iroffer +} diff --git a/net-irc/iroffer-dinoex/iroffer-dinoex-3.29.ebuild b/net-irc/iroffer-dinoex/iroffer-dinoex-3.29.ebuild new file mode 100644 index 000000000000..217cee1976e0 --- /dev/null +++ b/net-irc/iroffer-dinoex/iroffer-dinoex-3.29.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PLOCALES="de en fr it" +PLOCALE_BACKUP="en" + +inherit eutils l10n toolchain-funcs user + +DESCRIPTION="IRC fileserver using DCC" +HOMEPAGE="http://iroffer.dinoex.net/" +SRC_URI="http://iroffer.dinoex.net/${P}.tar.gz + http://iroffer.dinoex.net/HISTORY/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="+admin +blowfish +chroot curl debug geoip gnutls +http kqueue +memsave ruby ssl +telnet upnp" + +REQUIRED_USE=" + admin? ( http ) + gnutls? ( ssl ) +" + +RDEPEND="chroot? ( dev-libs/nss ) + curl? ( + net-misc/curl[ssl?] + gnutls? ( net-misc/curl[curl_ssl_gnutls] ) + !gnutls? ( ssl? ( net-misc/curl[curl_ssl_openssl] ) ) + ) + geoip? ( dev-libs/geoip ) + gnutls? ( net-libs/gnutls ) + ruby? ( dev-lang/ruby ) + ssl? ( !gnutls? ( dev-libs/openssl ) )" + +DEPEND="${RDEPEND}" + +pkg_setup() { + enewgroup iroffer + enewuser iroffer -1 -1 -1 iroffer +} + +src_prepare() { + epatch "${FILESDIR}/${P}-config.patch"\ + "${FILESDIR}/${PN}-Werror.patch" + epatch_user + l10n_find_plocales_changes "" 'help-admin-' '.txt' +} + +do_configure() { + echo ./Configure $* + ./Configure $* || die "configure phase failed" +} + +src_configure() { + do_configure \ + PREFIX="${EPREFIX}/usr"\ + $(usex debug '-profiling' '' '' '')\ + $(usex debug '-debug' '' '' '')\ + $(usex geoip '-geoip' '' '' '')\ + $(usex chroot '' '-no-chroot' '' '')\ + $(usex curl '-curl' '' '' '' )\ + $(usex gnutls '-tls' '' '' '' '')\ + $(usex upnp '-upnp' '' '' '')\ + $(usex ruby '-ruby' '' '' '')\ + $(usex kqueue '-kqueue' '' '' '')\ + $(usex blowfish '' '-no-blowfish' '' '')\ + $(usex ssl '' '-no-openssl' '' '')\ + $(usex http '' '-no-http' '' '')\ + $(usex admin '' '-no-admin' '' '')\ + $(usex telnet '' '-no-telnet' '' '')\ + $(usex memsave '' '-no-memsave' '' '') +} + +src_compile() { + # TODO: default compile targets always include chrooted target, which is not good + emake CC="$(tc-getCC)" $(l10n_get_locales) +} + +myloc() { + emake DESTDIR="${D}" install-${1} + + dodoc help-admin-${1}.txt + use http && dohtml doc/INSTALL-linux-${1}.html + + insinto /etc/${PN} + case ${1} in + "de") + doins beispiel.config;; + "fr") + doins exemple.config;; + *) + doins sample.config;; + esac +} + +src_install() { + l10n_for_each_locale_do myloc + + dodoc README* THANKS TODO + doman iroffer.1 xdcc.7 + + newinitd "${FILESDIR}/${PN}.init" ${PN} + newconfd "${FILESDIR}/${PN}.conf" ${PN} + + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotate" ${PN} + + if use ruby; then + insinto /usr/share/${PN} + doins ruby-sample.rb + fi + + if use http; then + insinto /usr/share/${PN}/htdocs + doins htdocs/* + fi +} diff --git a/net-irc/iroffer-dinoex/metadata.xml b/net-irc/iroffer-dinoex/metadata.xml new file mode 100644 index 000000000000..e1cd0f2ead01 --- /dev/null +++ b/net-irc/iroffer-dinoex/metadata.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>zlogene@gentoo.org</email> + <name>Mikle Kolyada</name> + </maintainer> + <maintainer> + <email>pinkbyte@gentoo.org</email> + <name>Sergey Popov</name> + </maintainer> + <use> + <flag name="admin">Compile with HTTP Admin</flag> + <flag name="blowfish">Compile with blowfish encryption support</flag> + <flag name="chroot">Compile with chroot support</flag> + <flag name="http">Compile with HTTP server support</flag> + <flag name="kqueue">Compile with kqueue() support</flag> + <flag name="memsave">Compile with memory protection</flag> + <flag name="telnet">Compile with Telnet server support</flag> + </use> +</pkgmetadata> diff --git a/net-irc/irssi-otr/Manifest b/net-irc/irssi-otr/Manifest new file mode 100644 index 000000000000..734d76fc8002 --- /dev/null +++ b/net-irc/irssi-otr/Manifest @@ -0,0 +1,3 @@ +DIST irssi-otr-0.2.tar.gz 28618 SHA256 fbdf4375056cf5122e7aebd624364d1201f7c7473e1876f2c28dd009b7628c11 SHA512 03ddec87c5fea0e3ad60fafdcebd49340978f41dc8bf9fb5918d90aca61d1fa69634b2304b46b25822f00e3bd258e0953d8d9436384e5bfee036f36d512b08aa WHIRLPOOL d7ff7057feec54b7de48aa4d13710d3894eada1c0b5f80d324f8007b69e3e50f3e7f0976837bb129a7cf1837ff55d6960300677cf6c0d5e0673d57fff32115ec +DIST irssi-otr-0.3.tar.gz 33514 SHA256 816cb13794c0efa33ee1618a4e926b3f1c3587c675ad3cc44b4f8de3b1b2c60e SHA512 3a3ad788b94887c6bedf6b172cd2267ac4d88fa4a78f7d2c5a8728ea9cb261339bbae1e975cbf44e5d1ec557865342cafc8beb716887ffd92742a9cd407e9f8f WHIRLPOOL ed0100ac58fa23a87b60fe5205bcd8469573df0432d9a4d9b40ddc2ba919db4a169b2cbc3410b8690f0b57e49f42e2c7f0dd46e66c8139f4c94528f6b30bf0f5 +DIST irssi-otr-1.0.0.tar.gz 39481 SHA256 bad09a2853ea6fb1a7af42c8f15868fd3ce45f973be90c78944ddf04f8ab517e SHA512 988e50b9df430511ae21a9128ffd27ad27efc102aaa10ec59992c6e642f38dd776396a0768021e3a0588d2a8c30e6316a7b0720d31a05ac21bb47055b0d8c488 WHIRLPOOL 998dc495fb600e635ba342162efc153483fe838d5466995ab248d3c1da358f0cf538d020280157ffffcbe27fbe91b504ed48d1ce28bb396515f560f1fe9197f4 diff --git a/net-irc/irssi-otr/files/irssi-otr-1.0.0-cflags.patch b/net-irc/irssi-otr/files/irssi-otr-1.0.0-cflags.patch new file mode 100644 index 000000000000..50b57c58e8a4 --- /dev/null +++ b/net-irc/irssi-otr/files/irssi-otr-1.0.0-cflags.patch @@ -0,0 +1,11 @@ +--- configure.ac 2014-02-13 04:50:45.000000000 +0400 ++++ configure.ac.new 2014-12-07 12:13:17.346849284 +0300 +@@ -64,7 +64,7 @@ + + LT_INIT + +-CFLAGS="-Wall $CFLAGS -g -fno-strict-aliasing -fstack-protector-all -D_FORTIFY_SOURCE=2 -O1 -Wl,-z,relro,-z,now -fPIE -pie $PACKAGE_CFLAGS" ++CFLAGS="-Wall $CFLAGS -g -fno-strict-aliasing -fstack-protector-all -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now -fPIE -pie $PACKAGE_CFLAGS" + + DEFAULT_INCLUDES="-I\$(top_srcdir) -I\$(top_builddir) -I\$(top_builddir)/src -I\$(top_builddir)/include" + AC_SUBST(DEFAULT_INCLUDES) diff --git a/net-irc/irssi-otr/irssi-otr-0.2.ebuild b/net-irc/irssi-otr/irssi-otr-0.2.ebuild new file mode 100644 index 000000000000..ec098cc9514b --- /dev/null +++ b/net-irc/irssi-otr/irssi-otr-0.2.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ +EAPI=2 + +inherit cmake-utils eutils + +DESCRIPTION="Off-The-Record messaging (OTR) for irssi" +HOMEPAGE="http://irssi-otr.tuxfamily.org" + +# This should probably be exported by cmake-utils as a variable +CMAKE_BINARY_DIR="${WORKDIR}"/${PN}_build +mycmakeargs="-DDOCDIR=/usr/share/doc/${PF}" + +SRC_URI="ftp://download.tuxfamily.org/irssiotr/${PF}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~sparc x86" +IUSE="debug" + +RDEPEND="<net-libs/libotr-4 + dev-libs/glib + dev-libs/libgcrypt:0 + dev-libs/libgpg-error + || ( + net-irc/irssi + net-irc/irssi-svn + )" + +DEPEND="${RDEPEND} + >=dev-util/cmake-2.4.7 + virtual/pkgconfig + dev-lang/python" + +src_install() { + cmake-utils_src_install + rm "${D}"/usr/share/doc/${PF}/LICENSE + prepalldocs +} diff --git a/net-irc/irssi-otr/irssi-otr-0.3-r1.ebuild b/net-irc/irssi-otr/irssi-otr-0.3-r1.ebuild new file mode 100644 index 000000000000..ad5d9dc1344b --- /dev/null +++ b/net-irc/irssi-otr/irssi-otr-0.3-r1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) +inherit cmake-utils python-any-r1 + +DESCRIPTION="Off-The-Record messaging (OTR) for irssi" +HOMEPAGE="http://irssi-otr.tuxfamily.org" +SRC_URI="ftp://download.tuxfamily.org/irssiotr/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~sparc ~x86" +IUSE="debug" + +RDEPEND="<net-libs/libotr-4 + dev-libs/glib:2 + dev-libs/libgcrypt:0 + dev-libs/libgpg-error + net-irc/irssi" + +DEPEND="${PYTHON_DEPS} + ${RDEPEND} + virtual/pkgconfig" + +DOCS=( README ) + +src_prepare() { + # do not install docs through buildsystem + sed -i -e '/README LICENSE/d' CMakeLists.txt || die 'sed on CMakeLists.txt failed' + + cmake-utils_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DDOCDIR="/usr/share/doc/${PF}" + ) + cmake-utils_src_configure +} diff --git a/net-irc/irssi-otr/irssi-otr-1.0.0.ebuild b/net-irc/irssi-otr/irssi-otr-1.0.0.ebuild new file mode 100644 index 000000000000..e7d87633aa1a --- /dev/null +++ b/net-irc/irssi-otr/irssi-otr-1.0.0.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit autotools-utils + +DESCRIPTION="Off-The-Record messaging (OTR) for irssi" +HOMEPAGE="https://github.com/cryptodotis/irssi-otr" +SRC_URI="https://github.com/cryptodotis/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~sparc x86" +IUSE="" + +# please note >=libotr-4.1.0 is required due to critical bugfix +# d748757e581b74e7298df155ad49174cb914102b, see README.md +RDEPEND=" + >=dev-libs/glib-2.22.0:2 + >=dev-libs/libgcrypt-1.2.0:0 + >=net-libs/libotr-4.1.0 + >=net-irc/irssi-0.8.15[perl]" + +DEPEND="${RDEPEND} + virtual/pkgconfig" + +AUTOTOOLS_AUTORECONF="yes" +DOCS=( README.md ) +PATCHES=( "${FILESDIR}/${P}-cflags.patch" ) diff --git a/net-irc/irssi-otr/metadata.xml b/net-irc/irssi-otr/metadata.xml new file mode 100644 index 000000000000..ff60bc4b5e36 --- /dev/null +++ b/net-irc/irssi-otr/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-irc</herd> + <upstream> + <remote-id type="github">cryptodotis/irssi-otr</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-irc/irssi-xmpp/Manifest b/net-irc/irssi-xmpp/Manifest new file mode 100644 index 000000000000..8005a5234640 --- /dev/null +++ b/net-irc/irssi-xmpp/Manifest @@ -0,0 +1 @@ +DIST irssi-xmpp-0.52.tar.gz 68105 SHA256 c63975e0562e7ec6a1b68cb607829b3933ec822aa4a844c3d6dccf16f110dbdc SHA512 27f7b877d02e0812b59e9f23ee12e58b842e3923ab5f0aa8cdf874dc9b30d9d22dbae9ef848ee5ffe2dcb667a0344f960125a3ffc072ce065e1fdf714eb98b27 WHIRLPOOL d6b760de57542a6d3e2fa8e167d2c21700f59bd9c64252cc6448dcebf935507adc9ef5dc8f10874c620cfd1c447871a5ac5a906921a3e9b532be9f91e54f64b7 diff --git a/net-irc/irssi-xmpp/irssi-xmpp-0.52.ebuild b/net-irc/irssi-xmpp/irssi-xmpp-0.52.ebuild new file mode 100644 index 000000000000..31574ac0c7a8 --- /dev/null +++ b/net-irc/irssi-xmpp/irssi-xmpp-0.52.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit toolchain-funcs multilib + +DESCRIPTION="An irssi plugin providing Jabber/XMPP support" +HOMEPAGE="http://cybione.org/~irssi-xmpp/" +SRC_URI="http://cybione.org/~${PN}/files/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +DEPEND=">=net-irc/irssi-0.8.13 + >=net-libs/loudmouth-1.4.0[debug]" +RDEPEND="${DEPEND}" + +src_prepare() { + sed -e "s/{MAKE} doc-install/{MAKE}/" \ + -i Makefile || die #322355 + sed -e "/^CFLAGS\|LDFLAGS/ s/=/+=/" \ + -i config.mk || die +} + +src_compile() { + emake PREFIX=/usr CC="$(tc-getCC)" +} + +src_install() { + emake DESTDIR="${D}" PREFIX=/usr IRSSI_LIB=/usr/$(get_libdir)/irssi install + dodoc README NEWS TODO docs/* +} diff --git a/net-irc/irssi-xmpp/metadata.xml b/net-irc/irssi-xmpp/metadata.xml new file mode 100644 index 000000000000..3d31a697ce11 --- /dev/null +++ b/net-irc/irssi-xmpp/metadata.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>maintainer-needed@gentoo.org</email> + </maintainer> +</pkgmetadata> diff --git a/net-irc/irssi/Manifest b/net-irc/irssi/Manifest new file mode 100644 index 000000000000..a06fd72110c2 --- /dev/null +++ b/net-irc/irssi/Manifest @@ -0,0 +1,2 @@ +DIST irssi-0.8.16.tar.bz2 986129 SHA256 3f7afed2a2754f1f5bf5cf2c87476f3c4d4aa5d71f9f4f68d05f927220d19f97 SHA512 47ad923cc91d5eee3f402126f4da396544cef943f6313af3fd102953939224e97c1bba31af3ac93e67fc84f089b0cfc73e8e7dd7b46b81abe1326567fef33de0 WHIRLPOOL 7ece8c3473c5fa084f07e3af1e90af128a968333af736bac1ecbebe0bf2ee0f78f6d7f1fbb1378d1d33fd933bb4bbb56f04b5b6c48f1751a1dfe8566746547d0 +DIST irssi-0.8.17.tar.bz2 1102196 SHA256 3c9600cad2edf58f1d012febc1a0ba844274df6e331c01a9e935467705166807 SHA512 e3d9b130c46e6977400f5a75374cf3e32d5a6e6907b2fd4c920463b5413575708b094c9fa38151997a120ce581de26092424296510ca93b3eee7b0844be45953 WHIRLPOOL 497e1c4f8a84932f84cdf05bdcc8493f27edfd2070f07c760fa91fc1a967958e3bb48b0cc2d9b22640670d770ffb6dc8035e8bd636a0f966cd675d1636907ee3 diff --git a/net-irc/irssi/files/irssi-0.8.15-tinfo.patch b/net-irc/irssi/files/irssi-0.8.15-tinfo.patch new file mode 100644 index 000000000000..b16a07008561 --- /dev/null +++ b/net-irc/irssi/files/irssi-0.8.15-tinfo.patch @@ -0,0 +1,21 @@ +--- irssi-0.8.15-orig/curses.m4 2010-04-04 02:19:58.000000000 +1000 ++++ irssi-0.8.15/curses.m4 2014-03-06 16:36:12.404404130 +1100 +@@ -218,9 +218,17 @@ + CURSES_LIBS="$CHECKLIBS" + ],, $CHECKLIBS) + ], $CURSES_LIBS) ++ AC_CHECK_LIB(ncurses, tputs, [ ++ true; ++ ], [ ++ CHECKLIBS=`echo "$3"|sed 's/-lncurses/-lncurses -ltinfo/g'` ++ AC_CHECK_LIB(tinfo, tputs, [ ++ CURSES_LIBS="$CHECKLIBS" ++ ],, $CHECKLIBS) ++ ], $CURSES_LIBS) + CURSES_INCLUDEDIR="$4" + search_ncurses=false +- screen_manager="$5" ++ screen_manager=$5 + AC_DEFINE(HAS_CURSES) + has_curses=true + has_ncurses=true diff --git a/net-irc/irssi/irssi-0.8.16.ebuild b/net-irc/irssi/irssi-0.8.16.ebuild new file mode 100644 index 000000000000..273efca27e0c --- /dev/null +++ b/net-irc/irssi/irssi-0.8.16.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +AUTOTOOLS_AUTORECONF=1 + +inherit autotools-utils eutils flag-o-matic perl-module toolchain-funcs + +# Keep for _rc compability +MY_P="${P/_/-}" + +DESCRIPTION="A modular textUI IRC client with IPv6 support" +HOMEPAGE="http://irssi.org/" +SRC_URI="http://irssi.org/files/${MY_P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="ipv6 +perl selinux ssl socks5 +proxy" + +CDEPEND="sys-libs/ncurses + >=dev-libs/glib-2.6.0 + ssl? ( dev-libs/openssl:= ) + perl? ( dev-lang/perl ) + socks5? ( >=net-proxy/dante-1.1.18 )" +DEPEND="${CDEPEND} + virtual/pkgconfig" +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-irc ) + perl? ( !net-im/silc-client )" + +S=${WORKDIR}/${MY_P} + +src_prepare() { + epatch "${FILESDIR}/${PN}-0.8.15-tinfo.patch" + sed -e "s@pkg-config@$(tc-getPKG_CONFIG)@g" \ + -i "${S}/curses.m4" \ + || die "Could not configure pkg-config in curses.m4" + autotools-utils_src_prepare +} + +src_configure() { + econf \ + --with-ncurses="${EPREFIX}"/usr \ + --with-perl-lib=vendor \ + --enable-static \ + $(use_with proxy) \ + $(use_with perl) \ + $(use_with socks5 socks) \ + $(use_enable ssl) \ + $(use_enable ipv6) +} + +src_install() { + emake \ + DESTDIR="${D}" \ + docdir="${EPREFIX}"/usr/share/doc/${PF} \ + install + + use perl && perl_delete_localpod + + prune_libtool_files --modules + + dodoc AUTHORS ChangeLog README TODO NEWS +} diff --git a/net-irc/irssi/irssi-0.8.17.ebuild b/net-irc/irssi/irssi-0.8.17.ebuild new file mode 100644 index 000000000000..91dc12b99dc7 --- /dev/null +++ b/net-irc/irssi/irssi-0.8.17.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +AUTOTOOLS_AUTORECONF=1 + +inherit autotools-utils eutils flag-o-matic perl-module toolchain-funcs + +# Keep for _rc compability +MY_P="${P/_/-}" + +DESCRIPTION="A modular textUI IRC client with IPv6 support" +HOMEPAGE="http://irssi.org/" +SRC_URI="http://irssi.org/files/${MY_P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="ipv6 +perl selinux ssl socks5 +proxy" + +CDEPEND="sys-libs/ncurses + >=dev-libs/glib-2.6.0 + ssl? ( dev-libs/openssl:= ) + perl? ( dev-lang/perl ) + socks5? ( >=net-proxy/dante-1.1.18 )" +DEPEND="${CDEPEND} + virtual/pkgconfig" +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-irc ) + perl? ( !net-im/silc-client )" + +S=${WORKDIR}/${MY_P} + +src_prepare() { + cd m4 + epatch "${FILESDIR}/${PN}-0.8.15-tinfo.patch" + cd .. + autotools-utils_src_prepare +} + +src_configure() { + econf \ + --with-ncurses="${EPREFIX}"/usr \ + --with-perl-lib=vendor \ + --enable-static \ + $(use_with proxy) \ + $(use_with perl) \ + $(use_with socks5 socks) \ + $(use_enable ssl) \ + $(use_enable ipv6) +} + +src_install() { + emake \ + DESTDIR="${D}" \ + docdir="${EPREFIX}"/usr/share/doc/${PF} \ + install + + use perl && perl_delete_localpod + + prune_libtool_files --modules + + dodoc AUTHORS ChangeLog README.md TODO NEWS +} diff --git a/net-irc/irssi/irssi-9999.ebuild b/net-irc/irssi/irssi-9999.ebuild new file mode 100644 index 000000000000..45f10a91384a --- /dev/null +++ b/net-irc/irssi/irssi-9999.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit autotools perl-module git-r3 + +EGIT_REPO_URI="git://github.com/irssi/irssi.git" + +DESCRIPTION="A modular textUI IRC client with IPv6 support" +HOMEPAGE="http://irssi.org/" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="" +IUSE="ipv6 +perl selinux ssl socks5 +proxy" + +CDEPEND="sys-libs/ncurses + >=dev-libs/glib-2.6.0 + ssl? ( dev-libs/openssl:= ) + perl? ( dev-lang/perl ) + socks5? ( >=net-proxy/dante-1.1.18 )" +DEPEND="${CDEPEND} + virtual/pkgconfig + >=sys-devel/autoconf-2.58 + dev-lang/perl + || ( + www-client/lynx + www-client/elinks + )" +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-irc ) + perl? ( !net-im/silc-client )" + +src_prepare() { + sed -i -e /^autoreconf/d autogen.sh || die + NOCONFIGURE=1 ./autogen.sh || die + + eautoreconf +} + +src_configure() { + econf \ + --with-ncurses="${EPREFIX}"/usr \ + --with-perl-lib=vendor \ + --enable-static \ + $(use_with proxy) \ + $(use_with perl) \ + $(use_with socks5 socks) \ + $(use_enable ssl) \ + $(use_enable ipv6) +} + +src_install() { + emake \ + DESTDIR="${D}" \ + docdir="${EPREFIX}"/usr/share/doc/${PF} \ + install + + use perl && perl_delete_localpod + + prune_libtool_files --modules + + dodoc AUTHORS ChangeLog README.md TODO NEWS +} diff --git a/net-irc/irssi/metadata.xml b/net-irc/irssi/metadata.xml new file mode 100644 index 000000000000..bfdfc1e22284 --- /dev/null +++ b/net-irc/irssi/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +<maintainer> + <email>swegener@gentoo.org</email> + <description>Primary Maintainer</description> +</maintainer> +<use> + <flag name="proxy">Adds support for a loadable IRC proxy module</flag> +</use> +</pkgmetadata> diff --git a/net-irc/irssistats/Manifest b/net-irc/irssistats/Manifest new file mode 100644 index 000000000000..16da12119433 --- /dev/null +++ b/net-irc/irssistats/Manifest @@ -0,0 +1 @@ +DIST irssistats-0.75.tar.gz 54434 SHA256 7aabbdb55158299997f82a39f1b403339a4ad74b4679030f317a27042d87eb90 SHA512 d7ac167d64c850f3803e6192f1fbf98e13cf296902b92bc3c5847f5f97a678938e7bff41b3195d2845c5ddb92f0557fea1b3a82b61d18b6a307b94ceae1c62f6 WHIRLPOOL 3921e62485408bf3e32fa5b6b9dd4ee66132cc21606821c703f0984984043b6222ff258ac38b5027afb95957f3072a8d520ea25553a43bfa65a4ab26c341eace diff --git a/net-irc/irssistats/irssistats-0.75.ebuild b/net-irc/irssistats/irssistats-0.75.ebuild new file mode 100644 index 000000000000..4c55224e0e6f --- /dev/null +++ b/net-irc/irssistats/irssistats-0.75.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +inherit toolchain-funcs + +DESCRIPTION="Generates HTML IRC stats based on irssi logs" +HOMEPAGE="http://royale.zerezo.com/irssistats/" +SRC_URI="http://royale.zerezo.com/irssistats/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" + +KEYWORDS="amd64 ppc sparc x86 ~x86-fbsd" +IUSE="" + +DEPEND="" + +src_compile() { + $(tc-getCC) -o irssistats ${CFLAGS} ${LDFLAGS} irssistats.c || die "compile failed" +} + +src_install() { + emake \ + PRE="${D}"/usr \ + DOC="${D}"/usr/share/doc/${PF} \ + install \ + || die "make install failed" +} diff --git a/net-irc/irssistats/metadata.xml b/net-irc/irssistats/metadata.xml new file mode 100644 index 000000000000..6ef15e900f17 --- /dev/null +++ b/net-irc/irssistats/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +</pkgmetadata> diff --git a/net-irc/jircii/Manifest b/net-irc/jircii/Manifest new file mode 100644 index 000000000000..ff5ebdd5610f --- /dev/null +++ b/net-irc/jircii/Manifest @@ -0,0 +1 @@ +DIST jerkb41.tgz 1140707 SHA256 fa6d193eb967da97268de031e9a236e709789a98f706e204fb3eeb3fa18769dc SHA512 e10fe685c2d507e2590fd69dc9309c9dfebf2c82a04941a799ed03114d9ecbc86a73ebf418caa36235e0ad7804e5e1224d1be684d7915fec61e0078cf727bd3a WHIRLPOOL 3ef2daa831d13b88c5274c000e1983ba07190c82d5ee5c051934d6a96e8c8a37a5fcc91e85bcc80d5b7e9cfaf40f5c0003b21a8ba8b8ab3c466e727182ffb3cb diff --git a/net-irc/jircii/jircii-41.ebuild b/net-irc/jircii/jircii-41.ebuild new file mode 100644 index 000000000000..993a225e260b --- /dev/null +++ b/net-irc/jircii/jircii-41.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +inherit java-pkg-2 + +DESCRIPTION="jIRCii - IRC client written in Java" +HOMEPAGE="http://jirc.hick.org/" +SRC_URI="http://jirc.hick.org/download/jerkb${PV}.tgz" +LICENSE="Artistic" +SLOT="0" +KEYWORDS="~amd64 ~ppc x86" +IUSE="" + +RDEPEND=">=virtual/jre-1.4" +DEPEND="" + +S="${WORKDIR}"/jIRCii + +src_compile() { + true +} + +src_install() { + java-pkg_dojar jerk.jar || die "java-pkg_dojar failed" + java-pkg_dolauncher jircii --jar "${JAVA_PKG_JARDEST}"/jerk.jar || die "java-pkg_dolauncher" + + dodoc readme.txt whatsnew.txt docs/*.pdf extra/*.irc || die "dodoc failed" +} diff --git a/net-irc/jircii/metadata.xml b/net-irc/jircii/metadata.xml new file mode 100644 index 000000000000..6ef15e900f17 --- /dev/null +++ b/net-irc/jircii/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +</pkgmetadata> diff --git a/net-irc/konversation/Manifest b/net-irc/konversation/Manifest new file mode 100644 index 000000000000..eba214e60b94 --- /dev/null +++ b/net-irc/konversation/Manifest @@ -0,0 +1,2 @@ +DIST konversation-1.5.1.tar.xz 3188288 SHA256 97838dc3cb07210c96154958237e216ad05cffa334f5e549d8619b4c70961986 SHA512 c34def02b776692134e40f6a6fc8a7d362a58d1365a247f21828e08a0df95aface809e23f187f7c445112ce3e8cc41826ef8558de5b224258269c67ea6826615 WHIRLPOOL 44e78a0353673401ab36f2d292e18d19305d0aede43b5b929407fc0cb9d5389816b2840e7acecd644c172eada9eee52f8bbca5d9dfa252189d57fcc646fe644a +DIST konversation-1.6.tar.xz 3447184 SHA256 789fd75644bf54606778971310433dbe2bc01ac0917b34bc4e8cac88e204d5b6 SHA512 d159bba55d776a867934424e87d02637a135e8d091c237688b64bf0c62c738075d52f2931dbd84984e886668f2152bda6a958be8da37b5debbb795db6686197a WHIRLPOOL 96728b3701eeb94f328381e61cb7901e89f88b2e238072d398a8fe2105bd49b9b3e6e855c5fe5516d7611245821c32728d1fdbddd42233ebb9a8a04c0ad9e126 diff --git a/net-irc/konversation/konversation-1.5.1.ebuild b/net-irc/konversation/konversation-1.5.1.ebuild new file mode 100644 index 000000000000..5444517539a4 --- /dev/null +++ b/net-irc/konversation/konversation-1.5.1.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +KDE_LINGUAS="bg bs ca ca@valencia cs da de el en_GB es et fi fr gl he hu it ja +kk km ko lt nb nds nl pa pl pt pt_BR ru si sk sl sr sr@ijekavian +sr@ijekavianlatin sr@latin sv tr uk zh_CN zh_TW" +KDE_HANDBOOK="optional" +inherit kde4-base + +DESCRIPTION="A user friendly IRC Client for KDE4" +HOMEPAGE="http://kde.org/applications/internet/konversation/ http://konversation.kde.org" +SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz" + +LICENSE="GPL-2 handbook? ( FDL-1.2 )" +SLOT="4" +KEYWORDS="amd64 x86" +IUSE="+crypt debug" + +DEPEND=" + $(add_kdebase_dep kdepimlibs) + media-libs/phonon[qt4] + crypt? ( app-crypt/qca:2[qt4(+)] ) +" +RDEPEND="${DEPEND} + crypt? ( app-crypt/qca:2[openssl] ) +" + +src_configure() { + local mycmakeargs=( + $(cmake-utils_use_with crypt QCA2) + ) + + kde4-base_src_configure +} diff --git a/net-irc/konversation/konversation-1.6.ebuild b/net-irc/konversation/konversation-1.6.ebuild new file mode 100644 index 000000000000..479c880b7c42 --- /dev/null +++ b/net-irc/konversation/konversation-1.6.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +KDE_HANDBOOK="true" +inherit kde5 + +DESCRIPTION="A user friendly IRC Client" +HOMEPAGE="http://kde.org/applications/internet/konversation/ http://konversation.kde.org" +SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz" + +LICENSE="GPL-2" +KEYWORDS="~amd64 ~x86" +IUSE="+crypt" + +DEPEND=" + $(add_frameworks_dep karchive) + $(add_frameworks_dep kbookmarks) + $(add_frameworks_dep kcodecs) + $(add_frameworks_dep kcompletion) + $(add_frameworks_dep kconfig) + $(add_frameworks_dep kconfigwidgets) + $(add_frameworks_dep kcoreaddons) + $(add_frameworks_dep kdbusaddons) + $(add_frameworks_dep kemoticons) + $(add_frameworks_dep kglobalaccel) + $(add_frameworks_dep ki18n) + $(add_frameworks_dep kiconthemes) + $(add_frameworks_dep kidletime) + $(add_frameworks_dep kio) + $(add_frameworks_dep kitemviews) + $(add_frameworks_dep knotifications) + $(add_frameworks_dep knotifyconfig) + $(add_frameworks_dep kparts) + $(add_frameworks_dep kservice) + $(add_frameworks_dep ktextwidgets) + $(add_frameworks_dep kwallet) + $(add_frameworks_dep kwidgetsaddons) + $(add_frameworks_dep kwindowsystem) + $(add_frameworks_dep kxmlgui) + $(add_frameworks_dep solid) + $(add_frameworks_dep sonnet) + dev-qt/qtdbus:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + dev-qt/qtxml:5 + media-libs/phonon[qt5] + crypt? ( app-crypt/qca:2[qt5] ) + sys-devel/gettext +" +RDEPEND="${DEPEND} + !net-irc/konversation:4 + crypt? ( app-crypt/qca:2[openssl] ) +" + +src_configure() { + local mycmakeargs=( + $(cmake-utils_use_find_package crypt Qca-qt5) + ) + + kde5_src_configure +} diff --git a/net-irc/konversation/metadata.xml b/net-irc/konversation/metadata.xml new file mode 100644 index 000000000000..96dedda219e8 --- /dev/null +++ b/net-irc/konversation/metadata.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +<herd>kde</herd> +</pkgmetadata> diff --git a/net-irc/kvirc/Manifest b/net-irc/kvirc/Manifest new file mode 100644 index 000000000000..6c7779b34ecf --- /dev/null +++ b/net-irc/kvirc/Manifest @@ -0,0 +1 @@ +DIST kvirc-4.4_pre6250.tar.xz 4606432 SHA256 58919286d63d8579778c9374b8aab7bde3ba2238bee32dcb5376b0aa45951a92 SHA512 2ba35cfd68a42fe075845241bf445f9dd3ca01b701b17f3162c34f8ef6f03a84f098b4647c821294cb54e2bbca9436debd6f53da98f7b83475196c115b936a94 WHIRLPOOL 3d18094433e258f4fa824eb2a0ac55edf54a879981398b44301a2e7444f61071c4b53131f5f8ad6795e92cf71d6ddda7e1aea7c5c2a3e9e46d2188f1267696f7 diff --git a/net-irc/kvirc/kvirc-4.4_pre6250.ebuild b/net-irc/kvirc/kvirc-4.4_pre6250.ebuild new file mode 100644 index 000000000000..05cfcd135a9a --- /dev/null +++ b/net-irc/kvirc/kvirc-4.4_pre6250.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +PYTHON_DEPEND="python? 2" + +inherit cmake-utils flag-o-matic multilib python + +DESCRIPTION="Advanced IRC Client" +HOMEPAGE="http://www.kvirc.net/" +SRC_URI="http://people.apache.org/~Arfrever/gentoo/${P}.tar.xz" + +LICENSE="kvirc" +SLOT="4" +KEYWORDS="~alpha amd64 ~ppc ~ppc64 x86" +IUSE="audiofile dcc_video +dcc_voice debug doc gsm +ipc ipv6 kde +nls oss +perl +phonon profile +python +qt-dbus +ssl theora +transparency webkit" + +RDEPEND=">=dev-qt/qtcore-4.6:4 + >=dev-qt/qtgui-4.6:4 + >=dev-qt/qtsql-4.6:4 + sys-libs/zlib + x11-libs/libX11 + dcc_video? ( + media-libs/libv4l + theora? ( media-libs/libogg media-libs/libtheora ) + ) + kde? ( >=kde-base/kdelibs-4 ) + oss? ( audiofile? ( media-libs/audiofile ) ) + perl? ( dev-lang/perl ) + phonon? ( || ( media-libs/phonon[qt4] >=dev-qt/qtphonon-4.6:4 ) ) + qt-dbus? ( >=dev-qt/qtdbus-4.6:4 ) + ssl? ( dev-libs/openssl ) + webkit? ( >=dev-qt/qtwebkit-4.6:4 )" +DEPEND="${RDEPEND} + virtual/pkgconfig + x11-proto/scrnsaverproto + nls? ( sys-devel/gettext ) + doc? ( app-doc/doxygen )" +RDEPEND="${RDEPEND} + gsm? ( media-sound/gsm )" +REQUIRED_USE="audiofile? ( oss ) theora? ( dcc_video )" + +DOCS="ChangeLog doc/FAQ" + +pkg_setup() { + if use python; then + python_set_active_version 2 + python_pkg_setup + fi +} + +src_prepare() { + VERSIO_PRAESENS="${PV#*_pre}" + einfo "Setting of revision number to ${VERSIO_PRAESENS}" + sed -e "/#define KVI_DEFAULT_FRAME_CAPTION/s/KVI_VERSION/& \" r${VERSIO_PRAESENS}\"/" -i src/kvirc/ui/KviMainWindow.cpp || die "Setting of revision number failed" +} + +src_configure() { + append-flags -fno-strict-aliasing + + if use dcc_video && has_version ">=sys-kernel/linux-headers-3.9"; then + append-cppflags -DV4L2_CID_HCENTER="\\\"(V4L2_CID_BASE+22)\\\"" -DV4L2_CID_VCENTER="\\\"(V4L2_CID_BASE+23)\\\"" + fi + + local libdir="$(get_libdir)" + local mycmakeargs=( + -DLIB_SUFFIX=${libdir#lib} + -DMANUAL_REVISION=${VERSIO_PRAESENS} + -DWANT_COEXISTENCE=1 + -DWANT_CRYPT=1 + -DWANT_ENV_FLAGS=1 + -DWANT_VERBOSE=1 + $(cmake-utils_use_want audiofile AUDIOFILE) + $(cmake-utils_use_want dcc_video DCC_VIDEO) + $(cmake-utils_use_want dcc_voice DCC_VOICE) + $(cmake-utils_use_want debug DEBUG) + $(cmake-utils_use_want doc DOXYGEN) + $(cmake-utils_use_want gsm GSM) + $(cmake-utils_use_want ipc IPC) + $(cmake-utils_use_want ipv6 IPV6) + $(cmake-utils_use_want kde KDE4) + $(cmake-utils_use_want nls GETTEXT) + $(cmake-utils_use_want oss OSS) + $(cmake-utils_use_want perl PERL) + $(cmake-utils_use_want phonon PHONON) + $(cmake-utils_use_want profile MEMORY_PROFILE) + $(cmake-utils_use_want python PYTHON) + $(cmake-utils_use_want qt-dbus QTDBUS) + $(cmake-utils_use_want ssl OPENSSL) + $(cmake-utils_use_want theora OGG_THEORA) + $(cmake-utils_use_want transparency TRANSPARENCY) + $(cmake-utils_use_want webkit QTWEBKIT) + ) + + cmake-utils_src_configure +} diff --git a/net-irc/kvirc/kvirc-9999.ebuild b/net-irc/kvirc/kvirc-9999.ebuild new file mode 100644 index 000000000000..16b73047f906 --- /dev/null +++ b/net-irc/kvirc/kvirc-9999.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +PYTHON_DEPEND="python? 2" + +inherit cmake-utils flag-o-matic multilib python subversion + +DESCRIPTION="Advanced IRC Client" +HOMEPAGE="http://www.kvirc.net/" +SRC_URI="" +ESVN_REPO_URI="https://svn.kvirc.de/svn/trunk/kvirc" +ESVN_PROJECT="kvirc" + +LICENSE="kvirc" +SLOT="4" +KEYWORDS="" +IUSE="audiofile dcc_video +dcc_voice debug doc gsm +ipc ipv6 kde +nls oss +perl +phonon profile +python +qt-dbus +ssl theora +transparency webkit" + +RDEPEND=">=dev-qt/qtcore-4.6:4 + >=dev-qt/qtgui-4.6:4 + >=dev-qt/qtsql-4.6:4 + sys-libs/zlib + x11-libs/libX11 + dcc_video? ( + media-libs/libv4l + theora? ( media-libs/libogg media-libs/libtheora ) + ) + kde? ( >=kde-base/kdelibs-4 ) + oss? ( audiofile? ( media-libs/audiofile ) ) + perl? ( dev-lang/perl ) + phonon? ( || ( media-libs/phonon[qt4] >=dev-qt/qtphonon-4.6:4 ) ) + qt-dbus? ( >=dev-qt/qtdbus-4.6:4 ) + ssl? ( dev-libs/openssl ) + webkit? ( >=dev-qt/qtwebkit-4.6:4 )" +DEPEND="${RDEPEND} + virtual/pkgconfig + x11-proto/scrnsaverproto + nls? ( sys-devel/gettext ) + doc? ( app-doc/doxygen )" +RDEPEND="${RDEPEND} + gsm? ( media-sound/gsm )" +REQUIRED_USE="audiofile? ( oss ) theora? ( dcc_video )" + +DOCS="ChangeLog doc/FAQ" + +pkg_setup() { + if use python; then + python_set_active_version 2 + python_pkg_setup + fi +} + +src_prepare() { + subversion_wc_info + VERSIO_PRAESENS="${ESVN_WC_REVISION}" + einfo "Setting of revision number to ${VERSIO_PRAESENS}" + sed -e "/#define KVI_DEFAULT_FRAME_CAPTION/s/KVI_VERSION/& \" r${VERSIO_PRAESENS}\"/" -i src/kvirc/ui/KviMainWindow.cpp || die "Setting of revision number failed" +} + +src_configure() { + append-flags -fno-strict-aliasing + + local libdir="$(get_libdir)" + local mycmakeargs=( + -DLIB_SUFFIX=${libdir#lib} + -DMANUAL_REVISION=${VERSIO_PRAESENS} + -DWANT_COEXISTENCE=1 + -DWANT_CRYPT=1 + -DWANT_ENV_FLAGS=1 + -DWANT_VERBOSE=1 + $(cmake-utils_use_want audiofile AUDIOFILE) + $(cmake-utils_use_want dcc_video DCC_VIDEO) + $(cmake-utils_use_want dcc_voice DCC_VOICE) + $(cmake-utils_use_want debug DEBUG) + $(cmake-utils_use_want doc DOXYGEN) + $(cmake-utils_use_want gsm GSM) + $(cmake-utils_use_want ipc IPC) + $(cmake-utils_use_want ipv6 IPV6) + $(cmake-utils_use_want kde KDE4) + $(cmake-utils_use_want nls GETTEXT) + $(cmake-utils_use_want oss OSS) + $(cmake-utils_use_want perl PERL) + $(cmake-utils_use_want phonon PHONON) + $(cmake-utils_use_want profile MEMORY_PROFILE) + $(cmake-utils_use_want python PYTHON) + $(cmake-utils_use_want qt-dbus QTDBUS) + $(cmake-utils_use_want ssl OPENSSL) + $(cmake-utils_use_want theora OGG_THEORA) + $(cmake-utils_use_want transparency TRANSPARENCY) + $(cmake-utils_use_want webkit QTWEBKIT) + ) + + cmake-utils_src_configure +} diff --git a/net-irc/kvirc/metadata.xml b/net-irc/kvirc/metadata.xml new file mode 100644 index 000000000000..af4e29da2e6e --- /dev/null +++ b/net-irc/kvirc/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>proxy-maintainers</herd> + <maintainer> + <email>arfrever.fta@gmail.com</email> + </maintainer> + <use> + <flag name="dcc_video">Support video connections over DCC protocol</flag> + <flag name="dcc_voice">Support voice connections over DCC protocol</flag> + <flag name="ipc">Support inter-process communication between KVIrc processes</flag> + <flag name="phonon">Support Phonon for audio output</flag> + <flag name="qt-dbus">Support Qt-DBus</flag> + <flag name="transparency">Support pseudo-transparency</flag> + </use> +</pkgmetadata> diff --git a/net-irc/limnoria/Manifest b/net-irc/limnoria/Manifest new file mode 100644 index 000000000000..95c8f375d1af --- /dev/null +++ b/net-irc/limnoria/Manifest @@ -0,0 +1,2 @@ +DIST limnoria-20150429.tar.gz 931326 SHA256 a9ad09f3820bad5ed57cdcfa39aa78cd4c698b1ce5860cecc7a722e5b44d287d SHA512 3e6d52463270624506b733364b212c784a730104f4c6760ddd002983e42a17b1815ec6bee785ab619fe1f17f62b90fa35b3d55dac412368d85c392adacca1620 WHIRLPOOL 0cfb169d371a5595b52a404424c5a2134f3a2a03da77ec507cff60e1dbc3f92f7c88c309807c34d58a0c168ad65245e8349e364f4be9e75aa92963640c2ab52f +DIST limnoria-20150523.tar.gz 937583 SHA256 16d7e9ccfddfb67eca616997be938b268347be7b17ccc43d38aea6b48bb3cd0e SHA512 d94ea8fe64a648605e8e45317f3283fac837e8bfe1465407fa7522ea5e2259c64a0ea3aa4585313b5c21def735fa7b0e62d7774fabfc2647683efc2f4c38d599 WHIRLPOOL 40baeebf15051a5bc36a39645f984ba9aa4710e8da08cf53bb69e330b3ba6a62c40317919ba5a7ea0e3841187e89087054f1072862d512dff9443e812d4728b8 diff --git a/net-irc/limnoria/limnoria-20150429.ebuild b/net-irc/limnoria/limnoria-20150429.ebuild new file mode 100644 index 000000000000..4ea87892891f --- /dev/null +++ b/net-irc/limnoria/limnoria-20150429.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) + +inherit distutils-r1 + +MY_PV="${PV:0:4}-${PV:4:2}-${PV:6:2}" +MY_PN="Limnoria" +MY_P="${MY_PN}-${MY_PV}" + +if [[ ${PV} == "99999999" ]]; then + EGIT_REPO_URI="git://github.com/ProgVal/Limnoria.git" + EGIT_BRANCH="testing" + inherit git-r3 + SRC_URI="" +else + SRC_URI="https://github.com/ProgVal/${MY_PN}/archive/master-${MY_PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" + S="${WORKDIR}/${MY_PN}-master-${MY_PV}" +fi + +DESCRIPTION="Python based extensible IRC infobot and channel bot" +HOMEPAGE="http://supybot.aperio.fr/" +LICENSE="BSD" +SLOT="0" +IUSE="crypt ssl test" + +RDEPEND=" + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/ecdsa[${PYTHON_USEDEP}] + dev-python/feedparser[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + dev-python/socksipy[${PYTHON_USEDEP}] + dev-python/sqlalchemy[${PYTHON_USEDEP}] + crypt? ( dev-python/python-gnupg[${PYTHON_USEDEP}] ) + ssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] ) + !net-irc/supybot + !net-irc/supybot-plugins + " +DEPEND="${RDEPEND} + test? ( $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7) )" + +src_unpack() { + if [[ ${PV} == "99999999" ]]; then + git-r3_src_unpack + else + unpack ${P}.tar.gz + fi +} + +python_prepare(){ + distutils-r1_python_prepare + if python_is_python3; then + einfo "Removing the RSS plugin because of clashes between libxml2's Python3" + einfo "bindings and feedparser." + rm -rf "plugins/RSS" || die + fi +} + +python_install_all() { + distutils-r1_python_install_all + doman man/* +} + +python_test() { + pushd "${T}" > /dev/null + PLUGINS_DIR="${BUILD_DIR}/lib/supybot/plugins" + # recommended by upstream, unknown random failure + EXCLUDE_PLUGINS=( --exclude="${PLUGINS_DIR}/Scheduler" ) + # recommended by upstream, unknown random failure + EXCLUDE_PLUGINS+=( --exclude="${PLUGINS_DIR}/Filter" ) + # intermittent failure due to issues loading libsandbox.so from LD_PRELOAD + # runs successfully when running the tests on the installed system + EXCLUDE_PLUGINS+=( --exclude="${PLUGINS_DIR}/Unix" ) + "${PYTHON}" "${BUILD_DIR}"/scripts/supybot-test "${BUILD_DIR}/../test" \ + --plugins-dir="${PLUGINS_DIR}" --no-network \ + --disable-multiprocessing "${EXCLUDE_PLUGINS[@]}" \ + || die "Tests failed under ${EPYTHON}" + popd > /dev/null +} + +pkg_postinst() { + elog "Complete user documentation is available at https://limnoria-doc.readthedocs.org/" + elog "" + elog "Use supybot-wizard to create a configuration file." + elog "Run supybot </path/to/config> to use the bot." +} diff --git a/net-irc/limnoria/limnoria-20150523.ebuild b/net-irc/limnoria/limnoria-20150523.ebuild new file mode 100644 index 000000000000..4ea87892891f --- /dev/null +++ b/net-irc/limnoria/limnoria-20150523.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) + +inherit distutils-r1 + +MY_PV="${PV:0:4}-${PV:4:2}-${PV:6:2}" +MY_PN="Limnoria" +MY_P="${MY_PN}-${MY_PV}" + +if [[ ${PV} == "99999999" ]]; then + EGIT_REPO_URI="git://github.com/ProgVal/Limnoria.git" + EGIT_BRANCH="testing" + inherit git-r3 + SRC_URI="" +else + SRC_URI="https://github.com/ProgVal/${MY_PN}/archive/master-${MY_PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" + S="${WORKDIR}/${MY_PN}-master-${MY_PV}" +fi + +DESCRIPTION="Python based extensible IRC infobot and channel bot" +HOMEPAGE="http://supybot.aperio.fr/" +LICENSE="BSD" +SLOT="0" +IUSE="crypt ssl test" + +RDEPEND=" + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/ecdsa[${PYTHON_USEDEP}] + dev-python/feedparser[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + dev-python/socksipy[${PYTHON_USEDEP}] + dev-python/sqlalchemy[${PYTHON_USEDEP}] + crypt? ( dev-python/python-gnupg[${PYTHON_USEDEP}] ) + ssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] ) + !net-irc/supybot + !net-irc/supybot-plugins + " +DEPEND="${RDEPEND} + test? ( $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7) )" + +src_unpack() { + if [[ ${PV} == "99999999" ]]; then + git-r3_src_unpack + else + unpack ${P}.tar.gz + fi +} + +python_prepare(){ + distutils-r1_python_prepare + if python_is_python3; then + einfo "Removing the RSS plugin because of clashes between libxml2's Python3" + einfo "bindings and feedparser." + rm -rf "plugins/RSS" || die + fi +} + +python_install_all() { + distutils-r1_python_install_all + doman man/* +} + +python_test() { + pushd "${T}" > /dev/null + PLUGINS_DIR="${BUILD_DIR}/lib/supybot/plugins" + # recommended by upstream, unknown random failure + EXCLUDE_PLUGINS=( --exclude="${PLUGINS_DIR}/Scheduler" ) + # recommended by upstream, unknown random failure + EXCLUDE_PLUGINS+=( --exclude="${PLUGINS_DIR}/Filter" ) + # intermittent failure due to issues loading libsandbox.so from LD_PRELOAD + # runs successfully when running the tests on the installed system + EXCLUDE_PLUGINS+=( --exclude="${PLUGINS_DIR}/Unix" ) + "${PYTHON}" "${BUILD_DIR}"/scripts/supybot-test "${BUILD_DIR}/../test" \ + --plugins-dir="${PLUGINS_DIR}" --no-network \ + --disable-multiprocessing "${EXCLUDE_PLUGINS[@]}" \ + || die "Tests failed under ${EPYTHON}" + popd > /dev/null +} + +pkg_postinst() { + elog "Complete user documentation is available at https://limnoria-doc.readthedocs.org/" + elog "" + elog "Use supybot-wizard to create a configuration file." + elog "Run supybot </path/to/config> to use the bot." +} diff --git a/net-irc/limnoria/limnoria-99999999.ebuild b/net-irc/limnoria/limnoria-99999999.ebuild new file mode 100644 index 000000000000..4ea87892891f --- /dev/null +++ b/net-irc/limnoria/limnoria-99999999.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) + +inherit distutils-r1 + +MY_PV="${PV:0:4}-${PV:4:2}-${PV:6:2}" +MY_PN="Limnoria" +MY_P="${MY_PN}-${MY_PV}" + +if [[ ${PV} == "99999999" ]]; then + EGIT_REPO_URI="git://github.com/ProgVal/Limnoria.git" + EGIT_BRANCH="testing" + inherit git-r3 + SRC_URI="" +else + SRC_URI="https://github.com/ProgVal/${MY_PN}/archive/master-${MY_PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" + S="${WORKDIR}/${MY_PN}-master-${MY_PV}" +fi + +DESCRIPTION="Python based extensible IRC infobot and channel bot" +HOMEPAGE="http://supybot.aperio.fr/" +LICENSE="BSD" +SLOT="0" +IUSE="crypt ssl test" + +RDEPEND=" + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/ecdsa[${PYTHON_USEDEP}] + dev-python/feedparser[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + dev-python/socksipy[${PYTHON_USEDEP}] + dev-python/sqlalchemy[${PYTHON_USEDEP}] + crypt? ( dev-python/python-gnupg[${PYTHON_USEDEP}] ) + ssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] ) + !net-irc/supybot + !net-irc/supybot-plugins + " +DEPEND="${RDEPEND} + test? ( $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7) )" + +src_unpack() { + if [[ ${PV} == "99999999" ]]; then + git-r3_src_unpack + else + unpack ${P}.tar.gz + fi +} + +python_prepare(){ + distutils-r1_python_prepare + if python_is_python3; then + einfo "Removing the RSS plugin because of clashes between libxml2's Python3" + einfo "bindings and feedparser." + rm -rf "plugins/RSS" || die + fi +} + +python_install_all() { + distutils-r1_python_install_all + doman man/* +} + +python_test() { + pushd "${T}" > /dev/null + PLUGINS_DIR="${BUILD_DIR}/lib/supybot/plugins" + # recommended by upstream, unknown random failure + EXCLUDE_PLUGINS=( --exclude="${PLUGINS_DIR}/Scheduler" ) + # recommended by upstream, unknown random failure + EXCLUDE_PLUGINS+=( --exclude="${PLUGINS_DIR}/Filter" ) + # intermittent failure due to issues loading libsandbox.so from LD_PRELOAD + # runs successfully when running the tests on the installed system + EXCLUDE_PLUGINS+=( --exclude="${PLUGINS_DIR}/Unix" ) + "${PYTHON}" "${BUILD_DIR}"/scripts/supybot-test "${BUILD_DIR}/../test" \ + --plugins-dir="${PLUGINS_DIR}" --no-network \ + --disable-multiprocessing "${EXCLUDE_PLUGINS[@]}" \ + || die "Tests failed under ${EPYTHON}" + popd > /dev/null +} + +pkg_postinst() { + elog "Complete user documentation is available at https://limnoria-doc.readthedocs.org/" + elog "" + elog "Use supybot-wizard to create a configuration file." + elog "Run supybot </path/to/config> to use the bot." +} diff --git a/net-irc/limnoria/metadata.xml b/net-irc/limnoria/metadata.xml new file mode 100644 index 000000000000..96bbc73c8379 --- /dev/null +++ b/net-irc/limnoria/metadata.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>NP-Hardass@gentoo.org</email> + <name>NP-Hardass</name> + </maintainer> + <use> + <flag name="crypt">Enables user authentication with GPG</flag> + </use> + <upstream> + <remote-id type="github">ProgVal/Limnoria</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-irc/loqui/Manifest b/net-irc/loqui/Manifest new file mode 100644 index 000000000000..626c23ebd96d --- /dev/null +++ b/net-irc/loqui/Manifest @@ -0,0 +1 @@ +DIST loqui-0.5.4.tar.gz 912853 SHA256 4417cc32fc2818ea0d7aaf44776d0448a44451728133a6a83d696507e9ccdbbe SHA512 01036acb81f9257b3efa146953a07b6e9b9bdee28b6afd2ce9a73c470131a18dae58c5c6fe5dd80528717219ffeccc4549db07da42f8746b37c0d31a6e15a694 WHIRLPOOL 7130d3f29f5e3bcd5d9a8acc90a0347062b9a01f796c41566168d42b0773ead06ca5e43c6cae77aa5e898b8938884a5ea60981854d84fa41ce5e800d8186bd61 diff --git a/net-irc/loqui/loqui-0.5.4.ebuild b/net-irc/loqui/loqui-0.5.4.ebuild new file mode 100644 index 000000000000..d8695132635d --- /dev/null +++ b/net-irc/loqui/loqui-0.5.4.ebuild @@ -0,0 +1,21 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +DESCRIPTION="a graphical IRC client for GNOME2 on UNIX like operating system" +HOMEPAGE="https://launchpad.net/loqui/" +SRC_URI="https://launchpad.net/loqui/${PV%.*}/${PV}/+download/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc x86" +IUSE="" + +RDEPEND=">=dev-libs/glib-2.22:2 + >=x11-libs/gtk+-2.4:2 + >=net-libs/gnet-2.0.3" +DEPEND="${RDEPEND} + virtual/pkgconfig + sys-devel/gettext" diff --git a/net-irc/loqui/metadata.xml b/net-irc/loqui/metadata.xml new file mode 100644 index 000000000000..e3b6a0abed4d --- /dev/null +++ b/net-irc/loqui/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-irc</herd> + <upstream> + <remote-id type="launchpad">loqui</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-irc/metadata.xml b/net-irc/metadata.xml new file mode 100644 index 000000000000..29c5171b1496 --- /dev/null +++ b/net-irc/metadata.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<catmetadata> + <longdescription lang="en"> + The net-irc category contains IRC (Internet Relay Chat) clients and + servers. + </longdescription> + <longdescription lang="de"> + Die Kategorie net-irc enthält Clients und Server für den Internet + Relay Chat (IRC). + </longdescription> + <longdescription lang="es"> + La categoría net-irc contiene clientes y servidores IRC. + </longdescription> + <longdescription lang="ja"> + net-ircカテゴリーにはインターネット・リレー・チャットの + クライアントとサーバーが含まれています。 + </longdescription> + <longdescription lang="nl"> + De net-irc categorie bevat clients & servers voor IRC (Internet Relay Chat). + </longdescription> + <longdescription lang="sk"> + Kategória net-irc obsahuje klientské a serverové programy pre IRC (Internet Relay Chat). + </longdescription> + <longdescription lang="vi"> + Nhóm net-irc chứa các client và server IRC (Internet Relay Chat). + </longdescription> + <longdescription lang="it"> + La categoria net-irc contiene client e server per IRC (Internet Relay Chat). + </longdescription> + <longdescription lang="pt"> + A categoria net-irc contém clientes e servidores de IRC + (Internet Relay Chat). + </longdescription> + <longdescription lang="pl"> + Kategoria net-irc zawiera klienty i serwery sieci IRC (Internet Relay Chat). + </longdescription> +</catmetadata> + diff --git a/net-irc/miau/Manifest b/net-irc/miau/Manifest new file mode 100644 index 000000000000..31be24f37f91 --- /dev/null +++ b/net-irc/miau/Manifest @@ -0,0 +1 @@ +DIST miau-0.6.6.tar.bz2 188284 SHA256 5409fd19748fe0eb98b9975270233878d02718538e9c3b438fe0b74d61465804 SHA512 0f61eae1a8c1ab60aee63b9cab482097381aa23218811e228f6bede0a73e194b4c34ac9add7d85c7160d74da25c840c1d356fb6afae31c10d90d7fc01de5e170 WHIRLPOOL 52d09103743db9f33c3f49d2daf8bb6aa3f45a69343c5bb193fdb3651e3c0ee191a9284d7b83b74d719625790fac2e051a669c1aedd4fcfcd66d1d2c570ebfe7 diff --git a/net-irc/miau/metadata.xml b/net-irc/miau/metadata.xml new file mode 100644 index 000000000000..15b5f1e060e5 --- /dev/null +++ b/net-irc/miau/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-irc</herd> + <upstream> + <remote-id type="sourceforge">miau</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-irc/miau/miau-0.6.6.ebuild b/net-irc/miau/miau-0.6.6.ebuild new file mode 100644 index 000000000000..51b13c2e092c --- /dev/null +++ b/net-irc/miau/miau-0.6.6.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +inherit eutils + +DESCRIPTION="Persistent IRC bouncer with multi-client support - a fork of muh" +HOMEPAGE="http://miau.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc x86" +IUSE="debug ipv6" + +DEPEND="" +RDEPEND="${DEPEND}" + +pkg_setup() { + if use ipv6; then + echo + ewarn "Enabling the ipv6 useflag will disable ipv4 entirely. Press" + ewarn "Ctrl+C now if you don't want this." + echo + ebeep 5 + fi +} + +src_compile() { + # --disable-debug seems to actually enabled it, using if use rather than + # use_enable to get around it. + if use debug; then + myconf="--enable-debug" + fi + econf \ + --enable-dccbounce \ + --enable-automode \ + --enable-releasenick \ + --enable-ctcp-replies \ + --enable-mkpasswd \ + --enable-uptime \ + --enable-chanlog \ + --enable-privlog \ + --enable-onconnect \ + --enable-empty-awaymsg \ + $(use_enable ipv6) \ + ${myconf} \ + $(use_enable debug enduserdebug) \ + $(use_enable debug pingstat) \ + $(use_enable debug dumpstatus) \ + || die "econf failed." + emake || die "emake failed." +} + +src_install() { + emake install DESTDIR="${D}" || die "emake install failed." + dodoc AUTHORS ChangeLog TODO README || die "dodoc failed." + + mv "${D}/usr/share/doc/miau/examples/miaurc" \ + "${D}/usr/share/doc/${PF}/miaurc.sample" + rm -rf "${D}/usr/share/doc/miau" +} + +pkg_postinst() { + echo + elog "You'll need to configure miau before running it." + elog "Put your config in ~/.miau/miaurc" + elog "You can use the sample config is in /usr/share/doc/${PF}/miaurc.sample" + elog "For more information, see the documentation." + echo +} diff --git a/net-irc/muh/Manifest b/net-irc/muh/Manifest new file mode 100644 index 000000000000..2d82e9f70be7 --- /dev/null +++ b/net-irc/muh/Manifest @@ -0,0 +1 @@ +DIST muh-2.2a.tar.gz 130672 SHA256 d5743f18edd3dbf044a7844f32ff5dbfcda696141a7d26d182bd4394b6823680 SHA512 2e3ba080f420cf063627d4d9b1f4001c76575efb1d3e99ff9c5eee4a483d5beda6e326f0c0d60c3d848b78cac092aac51a98cabc351760ccfa38fe1549c4b4ee WHIRLPOOL dec6f1079ccebca6ee3d3265ceb75f3bfda25d1dda53e811544ff79281568d3bc758f3aca713d8520624c3340693fbacd0bc69e034c2b27eb49d406141f7870e diff --git a/net-irc/muh/metadata.xml b/net-irc/muh/metadata.xml new file mode 100644 index 000000000000..f0844b37b1d9 --- /dev/null +++ b/net-irc/muh/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-irc</herd> + <longdescription> + Persistent IRC bouncer. +</longdescription> + <upstream> + <remote-id type="sourceforge">muh</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-irc/muh/muh-2.2a.ebuild b/net-irc/muh/muh-2.2a.ebuild new file mode 100644 index 000000000000..e0c2ffaedd72 --- /dev/null +++ b/net-irc/muh/muh-2.2a.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +DESCRIPTION="Persistent IRC bouncer" +HOMEPAGE="http://mind.riot.org/muh/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha ~amd64 ~hppa ~mips ppc ~sparc x86" +IUSE="ipv6" + +DEPEND="" + +src_compile() { + econf --datadir=/usr/share/muh $(use_enable ipv6) || die "econf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + dodoc AUTHORS ChangeLog TODO +} + +pkg_postinst() { + elog + elog "You'll need to configure muh before running it." + elog "Put your config in ~/.muh/muhrc" + elog "A sample config is /usr/share/muh/muhrc" + elog "For more information, see the documentation." + elog +} diff --git a/net-irc/nebula/Manifest b/net-irc/nebula/Manifest new file mode 100644 index 000000000000..322f44ae1f5d --- /dev/null +++ b/net-irc/nebula/Manifest @@ -0,0 +1 @@ +DIST nebula-0.5.tar.gz 115950 SHA256 077f0ee97a578523df1d06a50586bc2dd8e5edde878db7c05f80521afa57a558 SHA512 ae97aae4e878b6a20343ac3b8be235367cbce990e2858a59220f477cd8f57b4aad28527454c6dca1f509675b4a48b5f8ace06c3f867b1e0458126f418911ef83 WHIRLPOOL b2e70a8cbfd0f8677ad7894d5bb9aa0df84e51295abddf7ecf04a69418b911a2a1491532b108937ccd58c87e843fa40be740b01c1893b546f9aa5dc44ff9900e diff --git a/net-irc/nebula/metadata.xml b/net-irc/nebula/metadata.xml new file mode 100644 index 000000000000..9af2cb65c5fa --- /dev/null +++ b/net-irc/nebula/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-irc</herd> + <longdescription> +Nebula aims to be a graphical IRC client, aimed at the unix and compatible platforms and using the motif/openmotif or the lesstif ToolKit. +The goals are +- portability to various unix systems (planned are already Linux, *BSD, Solaris, Irix and AIX) +- small footprint and low system resource usage +- speed +- clear, non intrusive GUI +- security +</longdescription> + <upstream> + <remote-id type="sourceforge">nebula-irc</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-irc/nebula/nebula-0.5.ebuild b/net-irc/nebula/nebula-0.5.ebuild new file mode 100644 index 000000000000..6b5b01a6a81c --- /dev/null +++ b/net-irc/nebula/nebula-0.5.ebuild @@ -0,0 +1,19 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +DESCRIPTION="An IRC client for X11 and Motif" +HOMEPAGE="http://nebula-irc.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}-irc/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 x86" +IUSE="" + +DEPEND=">=x11-libs/motif-2.3:0" +RDEPEND="${DEPEND}" + +DOCS=( AUTHORS ChangeLog NEWS README ) diff --git a/net-irc/ngircd/Manifest b/net-irc/ngircd/Manifest new file mode 100644 index 000000000000..21d5b8ab52ba --- /dev/null +++ b/net-irc/ngircd/Manifest @@ -0,0 +1 @@ +DIST ngircd-20.3.tar.gz 479982 SHA256 55d7c74c6df790b11a68c07f39836d581965087efb618d3e9a6bec855364c2f9 SHA512 8bc36a66e893873fade6dcadb07bf561fb25156714ba30168cf2e399e50f4dd80592fd7fcdb6c8d1083fa7c5e839b0da3a27ed4ce2041a2c5ab2b9581def948c WHIRLPOOL 379ef30a2e23dfc3a523d85e9f2c1531b8079d0880b5f46b9cdb803af873fc943d25186ebc0b9294da26140b46a37a4ebd2b86f3c7cf17acd3a802e4a395dd1e diff --git a/net-irc/ngircd/files/ngircd.init.d b/net-irc/ngircd/files/ngircd.init.d new file mode 100644 index 000000000000..1736073bfe9c --- /dev/null +++ b/net-irc/ngircd/files/ngircd.init.d @@ -0,0 +1,21 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need net + provide ircd +} + +start() { + ebegin "Starting ngIRCd" + start-stop-daemon --start --quiet --exec /usr/sbin/ngircd + eend $? +} + +stop() { + ebegin "Stopping ngIRCd" + start-stop-daemon --stop --quiet --exec /usr/sbin/ngircd + eend $? +} diff --git a/net-irc/ngircd/metadata.xml b/net-irc/ngircd/metadata.xml new file mode 100644 index 000000000000..0761e008930c --- /dev/null +++ b/net-irc/ngircd/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +<use> + <flag name='ident'>Enables support for <pkg>net-libs/libident</pkg></flag> +</use> +</pkgmetadata> diff --git a/net-irc/ngircd/ngircd-20.3.ebuild b/net-irc/ngircd/ngircd-20.3.ebuild new file mode 100644 index 000000000000..1a7281c86a61 --- /dev/null +++ b/net-irc/ngircd/ngircd-20.3.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +inherit autotools-utils eutils user + +DESCRIPTION="A IRC server written from scratch" +HOMEPAGE="http://ngircd.barton.de/" +SRC_URI="ftp://ngircd.barton.de/pub/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 x86 ~x64-macos" +IUSE="debug gnutls ident ipv6 pam ssl tcpd zlib" + +RDEPEND=" + ident? ( net-libs/libident ) + ssl? ( + gnutls? ( net-libs/gnutls ) + !gnutls? ( dev-libs/openssl ) + ) + pam? ( virtual/pam ) + tcpd? ( sys-apps/tcp-wrappers ) + zlib? ( sys-libs/zlib ) +" +DEPEND="${RDEPEND} + >=sys-apps/sed-4 +" + +RESTRICT="test" + +src_configure() { + if ! use prefix; then + sed -i \ + -e "s:;ServerUID = 65534:ServerUID = ngircd:" \ + -e "s:;ServerGID = 65534:ServerGID = nogroup:" \ + doc/sample-ngircd.conf.tmpl || die + fi + + local myeconfargs=( + --docdir="${EPREFIX}"/usr/share/doc/${PF} + --sysconfdir="${EPREFIX}"/etc/ngircd + $(use_enable ipv6) + $(use_with zlib) + $(use_with tcpd tcp-wrappers) + $(use_with ident) + $(use_with pam) + $(use_enable debug) + $(use_enable debug sniffer) + ) + + if use ssl; then + myeconfargs+=( + $(use_with !gnutls openssl) + $(use_with gnutls) + ) + else + myeconfargs+=( + --without-gnutls + --without-ssl + ) + fi + + autotools-utils_src_configure +} + +src_install() { + autotools-utils_src_install + + newinitd "${FILESDIR}"/ngircd.init.d ngircd +} + +pkg_postinst() { + if ! use prefix; then + enewuser ngircd + chown ngircd "${ROOT}"/etc/ngircd/ngircd.conf + fi +} diff --git a/net-irc/ninja/Manifest b/net-irc/ninja/Manifest new file mode 100644 index 000000000000..00bd3f526c60 --- /dev/null +++ b/net-irc/ninja/Manifest @@ -0,0 +1 @@ +DIST ninja-1.5.9pre14.tar.gz 920668 SHA256 151422413acf67a6d695346fa21d8b9ce8901ee31d0e6ac07d997d5793ff3c38 SHA512 5a379ed355c06d28f26ed7b97e657b463deec0832ebf822424ed92379e85066e8aca971943ad751e695c003a6ef1ab7fa46ff29e5febe30c439cdfdf6b4d6cfb WHIRLPOOL a735179313f785b8ffeb3b89f67e8af28f069feecb95dd45785234642372d7c16f89c5455d9a82196fe22e7e344c5f64f0d0058e404c117d0d746674e94eb006 diff --git a/net-irc/ninja/metadata.xml b/net-irc/ninja/metadata.xml new file mode 100644 index 000000000000..6ef15e900f17 --- /dev/null +++ b/net-irc/ninja/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +</pkgmetadata> diff --git a/net-irc/ninja/ninja-1.5.9_pre14-r1.ebuild b/net-irc/ninja/ninja-1.5.9_pre14-r1.ebuild new file mode 100644 index 000000000000..be9de0a91db5 --- /dev/null +++ b/net-irc/ninja/ninja-1.5.9_pre14-r1.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +S=${WORKDIR}/${P/_*/} + +DESCRIPTION="Ninja IRC Client" +HOMEPAGE="http://ninja.qoop.org/" +SRC_URI="ftp://qoop.org/ninja/stable/${P/_/}.tar.gz" +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="ncurses ipv6 ssl" + +RESTRICT="test" + +DEPEND="ncurses? ( sys-libs/ncurses ) + ssl? ( dev-libs/openssl )" +RDEPEND="${DEPEND}" + +MAKEOPTS="${MAKEOPTS} -j1" + +src_configure() { + econf $(use_enable ipv6) +} + +src_install() { + default + mv "${ED}"/usr/bin/ninja{,_irc} || die #436804 +} diff --git a/net-irc/ninja/ninja-1.5.9_pre14.ebuild b/net-irc/ninja/ninja-1.5.9_pre14.ebuild new file mode 100644 index 000000000000..343fd9983d05 --- /dev/null +++ b/net-irc/ninja/ninja-1.5.9_pre14.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +S=${WORKDIR}/${P/_*/} + +DESCRIPTION="Ninja IRC Client" +HOMEPAGE="http://ninja.qoop.org/" +SRC_URI="ftp://qoop.org/ninja/stable/${P/_/}.tar.gz" +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="amd64 ppc ~ppc64 ~sparc x86" +IUSE="ncurses ipv6 ssl" + +RESTRICT="test" + +DEPEND="ncurses? ( sys-libs/ncurses ) + ssl? ( dev-libs/openssl ) + !dev-util/ninja" #436804 +RDEPEND="${DEPEND}" + +MAKEOPTS="${MAKEOPTS} -j1" + +src_compile() { + econf $(use_enable ipv6) || die "econf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" +} diff --git a/net-irc/onis/Manifest b/net-irc/onis/Manifest new file mode 100644 index 000000000000..e06941a4fbc7 --- /dev/null +++ b/net-irc/onis/Manifest @@ -0,0 +1 @@ +DIST onis-0.8.2.tar.bz2 100135 SHA256 fc7e164ae16757457a0971f3f08936920736cedbb5b7a03e72ec5d10e5ff214a SHA512 f0b7f49fc65c77953956d4ba8c699d9f30967586514f79047282be2a0ea19e69224989937e4abc9a868c556776e579f68d58e541ad81b071b6575579ea29f928 WHIRLPOOL 9403affe0ac05e2f0352dd48c83be0f4229489abe0590bdf0f358728119a75bdbac1511a67d3272bb76e995760696409a8e5b29d5bdb3ecf128a83d0ca988e5d diff --git a/net-irc/onis/files/0.6.0-nochdir.patch b/net-irc/onis/files/0.6.0-nochdir.patch new file mode 100644 index 000000000000..06bd40a001ab --- /dev/null +++ b/net-irc/onis/files/0.6.0-nochdir.patch @@ -0,0 +1,11 @@ +--- onis.orig 2004-03-15 00:48:07.874308008 +0100 ++++ onis 2004-03-15 00:48:17.110903832 +0100 +@@ -15,8 +15,6 @@ + + BEGIN + { +- if ($0 =~ m#^(.*)[/\\]#) { chdir ($1); } +- + unshift (@INC, 'lib'); + + # 0x0010 Language (make not-translated lines red/yellow) diff --git a/net-irc/onis/metadata.xml b/net-irc/onis/metadata.xml new file mode 100644 index 000000000000..6ef15e900f17 --- /dev/null +++ b/net-irc/onis/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +</pkgmetadata> diff --git a/net-irc/onis/onis-0.8.2.ebuild b/net-irc/onis/onis-0.8.2.ebuild new file mode 100644 index 000000000000..d564a9f4e462 --- /dev/null +++ b/net-irc/onis/onis-0.8.2.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +inherit eutils + +DESCRIPTION="onis not irc stats" +HOMEPAGE="http://verplant.org/onis/" +SRC_URI="http://verplant.org/${PN}/${P}.tar.bz2" +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc x86" +IUSE="" + +RDEPEND="dev-lang/perl" +DEPEND="${RDEPEND} + >=sys-apps/sed-4" + +src_unpack() { + unpack ${A} + cd "${S}" + + epatch "${FILESDIR}"/0.6.0-nochdir.patch + + sed -i -e s:lang/:/usr/share/onis/lang/: onis.conf || die "sed failed" +} + +src_install () { + eval $(perl -V:installprivlib) + + dobin onis || die "dobin failed" + + insinto "${installprivlib}" + doins -r lib/Onis || die "doins failed" + + insinto /usr/share/onis + doins -r lang reports/* || die "doins failed" + + dodoc CHANGELOG README THANKS onis.conf users.conf +} + +pkg_postinst() { + elog + elog "The onis themes have been installed in /usr/share/onis/*-theme" + elog "You can find a compressed sample configuration at /usr/share/doc/${PF}/config" + elog +} diff --git a/net-irc/pisg/Manifest b/net-irc/pisg/Manifest new file mode 100644 index 000000000000..b89369971623 --- /dev/null +++ b/net-irc/pisg/Manifest @@ -0,0 +1 @@ +DIST pisg-0.73.tar.gz 236539 SHA256 979efdd489114c10360dff9c7c8fdc287c126508e65790dfd0d0aa6fdf7d7c3b SHA512 290656fc556090fa8a263eaf123bad8e12b0ac50a2c1eb4619c50faf70fd3ee8afc7a8d97dbc4ff6338dd0fa9f73f7b19c60ca996b6612def95f1c494b3ef91e WHIRLPOOL a958d4b52fb0a09ca444878d1be27da55c1c584d5702cbdad7693d502d2aa01d1103eb1dbc1ee6276674d8bc785bb42e3088abce21efb3fd89f5b7a333cc9038 diff --git a/net-irc/pisg/metadata.xml b/net-irc/pisg/metadata.xml new file mode 100644 index 000000000000..a41ad8725cbf --- /dev/null +++ b/net-irc/pisg/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-irc</herd> + <upstream> + <remote-id type="sourceforge">pisg</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-irc/pisg/pisg-0.73-r1.ebuild b/net-irc/pisg/pisg-0.73-r1.ebuild new file mode 100644 index 000000000000..6a3228449803 --- /dev/null +++ b/net-irc/pisg/pisg-0.73-r1.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit perl-module + +DESCRIPTION="Perl IRC Statistics Generator" +HOMEPAGE="http://pisg.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc x86 ~x86-fbsd" + +IUSE="" + +RDEPEND="dev-perl/Text-Iconv" +DEPEND=">=sys-apps/sed-4" + +src_prepare() { + sed -i \ + -e 's!lang\.txt!/usr/share/pisg/lang.txt!' \ + -e 's!layout/!/usr/share/pisg/layout/!' \ + modules/Pisg.pm || die "sed failed" +} + +src_compile() { + einfo "Nothing to compile" +} + +src_install() { + perl_set_version + + dobin pisg || die "dobin failed" + + insinto "${VENDOR_LIB}" + doins -r modules/. + + insinto /usr/share/pisg + doins -r gfx layout lang.txt + + dodoc docs/{FORMATS,pisg-doc.txt} \ + docs/dev/API pisg.cfg README + doman docs/pisg.1 + dohtml docs/pisg-doc.html +} + +pkg_postinst() { + einfo "The pisg images have been installed in /usr/share/pisg/gfx" +} diff --git a/net-irc/polari/Manifest b/net-irc/polari/Manifest new file mode 100644 index 000000000000..71c9940dc115 --- /dev/null +++ b/net-irc/polari/Manifest @@ -0,0 +1 @@ +DIST polari-3.16.1.tar.xz 437300 SHA256 1d37a66db4c8763ca04de0adca92290ac34ca65f69b5fbfd6c044f746261f070 SHA512 884b0f8c0ff91bc8e55d43fa52a66e0508c30b65f6b4b1e0fc9cfb665d40b267d02c71081d37251628ba0fb21704c197d7c24573dbe311716d1caf7fbcf1fc64 WHIRLPOOL 70f662faeafd90ffb53691638e776284ad92900ff8b167ef57a3e6b4e60c52bdd7414bdda191cfa6848286972d18605108afc876f0644a56e64df62430b8aa10 diff --git a/net-irc/polari/metadata.xml b/net-irc/polari/metadata.xml new file mode 100644 index 000000000000..dad9001338dc --- /dev/null +++ b/net-irc/polari/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>gnome</herd> +</pkgmetadata> diff --git a/net-irc/polari/polari-3.16.1.ebuild b/net-irc/polari/polari-3.16.1.ebuild new file mode 100644 index 000000000000..1cf25198dd8e --- /dev/null +++ b/net-irc/polari/polari-3.16.1.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +GCONF_DEBUG="no" + +inherit gnome2 + +DESCRIPTION="An IRC client for Gnome" +HOMEPAGE="https://wiki.gnome.org/Apps/Polari" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +RDEPEND=" + dev-libs/gjs + >=dev-libs/glib-2.43.4:2 + >=dev-libs/gobject-introspection-0.9.6 + net-libs/telepathy-glib[introspection] + >=x11-libs/gtk+-3.15.6:3[introspection] +" +DEPEND="${RDEPEND} + dev-libs/appstream-glib + >=dev-util/intltool-0.50 + virtual/pkgconfig +" diff --git a/net-irc/psybnc/Manifest b/net-irc/psybnc/Manifest new file mode 100644 index 000000000000..03b7851f1682 --- /dev/null +++ b/net-irc/psybnc/Manifest @@ -0,0 +1 @@ +DIST psyBNC-2.3.2-9.tar.gz 318676 SHA256 9129ade198f26f7a47301d2ab5933a2844bdd187fca437f8264ae88f168e1644 SHA512 b664f57610e54fadd938b359a0e8052b8fe3dd36bd1ee339f36ee22ae4d36a76e803425c5133f925ac18c01767ffbc8a2f471c014b5b76b05894cfea9fe5416b WHIRLPOOL ebbab2b659aedcd81561a4a2c4a12142f1553d2bc097197ad332fd373559bba6d4f23bb16e7a7a4eaf74f33abfc3f3ec405263664e8d1ab3d26eda56b80af3b8 diff --git a/net-irc/psybnc/files/compile.diff b/net-irc/psybnc/files/compile.diff new file mode 100644 index 000000000000..fdee75c60732 --- /dev/null +++ b/net-irc/psybnc/files/compile.diff @@ -0,0 +1,79 @@ +diff -Naurp src/p_blowfish.c src/p_blowfish.c +--- src/p_blowfish.c 2007-02-26 12:16:53.000000000 +0000 ++++ src/p_blowfish.c 2007-02-26 12:17:11.000000000 +0000 +@@ -31,7 +31,7 @@ static char rcsid[] = "@(#)# $Id$ + #include <string.h> + #include <config.h> + +-char *strmncpy(char *dest, char *source, size_t len); ++char *strmncpy(char *dest, const char *source, size_t len); + char *lngtxt(int msgnum); + + #define pcontext { strmncpy(ctxt,__FILE__,sizeof(ctxt));strmncpy(cfunc,__FUNCTION__,sizeof(cfunc)); cline=__LINE__; } +diff -Naurp src/p_global.h src/p_global.h +--- src/p_global.h 2007-02-26 12:16:53.000000000 +0000 ++++ src/p_global.h 2007-02-26 12:17:11.000000000 +0000 +@@ -972,8 +972,8 @@ int checklogging(int usern); + #endif + + #ifndef P_MEMORY +-unsigned long *__pmalloc(unsigned long size,char *module,char *function,int line); +-void _pfree(void * pointer,char *module, char *function, int line); ++unsigned long *__pmalloc(unsigned long size,const char *module,const char *function,int line); ++void _pfree(void * pointer,char *module, const char *function, int line); + struct usert *user(int usern); + struct newpeert *newpeer(int usern); + struct datalinkt *datalink(int usern); +@@ -1092,7 +1092,7 @@ int replace(char *rps, char whatc, char + char *nobreak(char *tobreak); + char *randstring(int length); + char *strmcat(char *first,char *second); +-char *strmncpy(char *dest, char *source, unsigned int len); ++char *strmncpy(char *dest, const char *source, unsigned int len); + int strmncasecmp(char *one, char *two); + int strmcmp(char *one, char *two); + int strmwildcmp(char *line, char *wildcard); +diff -Naurp src/p_memory.c src/p_memory.c +--- src/p_memory.c 2007-02-26 12:16:53.000000000 +0000 ++++ src/p_memory.c 2007-02-26 12:17:11.000000000 +0000 +@@ -32,7 +32,7 @@ FILE *logm=NULL; + + /* malloc-wrapper. No memory will log an error entry and kill the bouncer */ + +-unsigned long *__pmalloc(unsigned long size,char *module,char *function, int line) ++unsigned long *__pmalloc(unsigned long size,const char *module,const char *function, int line) + { + unsigned long *rc; + if (!(rc=(unsigned long *)malloc(size))) +@@ -53,7 +53,7 @@ unsigned long *__pmalloc(unsigned long s + return rc; + } + +-void _pfree(unsigned long *pointer, char *module, char *function, int line) ++void _pfree(unsigned long *pointer, char *module, const char *function, int line) + { + #ifdef LOGALLOC + if(logm==NULL) +diff -Naurp src/p_string.c src/p_string.c +--- src/p_string.c 2007-02-26 12:16:53.000000000 +0000 ++++ src/p_string.c 2007-02-26 12:17:11.000000000 +0000 +@@ -51,7 +51,7 @@ char *lngtxt(unsigned int msgnum) + + /* string copy with len and zero delimit */ + +-char *strmncpy(char *dest, char *source, unsigned int len) ++char *strmncpy(char *dest, const char *source, unsigned int len) + { + char bf[strlen(source)+2]; + char *pt; +diff -Naurp src/match.c src/match.c +--- src/match.c 2007-02-26 12:26:10.000000000 +0000 ++++ src/match.c 2007-02-26 12:26:17.000000000 +0000 +@@ -36,6 +36,7 @@ + /* Remove the next line to use this in IrcII */ + #define EGGDROP + ++#include <p_global.h> + + /* =================================================================== + * Best to leave stuff after this point alone, but go on and change diff --git a/net-irc/psybnc/files/ldflags-fix.patch b/net-irc/psybnc/files/ldflags-fix.patch new file mode 100644 index 000000000000..f5bc776b1e6b --- /dev/null +++ b/net-irc/psybnc/files/ldflags-fix.patch @@ -0,0 +1,12 @@ +diff -aurp a/tools/autoconf.c b/tools/autoconf.c +--- a/tools/autoconf.c 2010-10-10 20:25:29.295001235 +0000 ++++ b/tools/autoconf.c 2010-10-10 20:26:02.738999569 +0000 +@@ -449,7 +449,7 @@ int main() + fprintf(makefile,"TARGET = psybnc\n"); + fprintf(makefile,"\n"); + fprintf(makefile,"all: $(OBJS)\n"); +- fprintf(makefile," $(CC) -o $(TARGET) $(CFLAGS) $(OBJS) $(LIBS)\n"); ++ fprintf(makefile," $(CC) -o $(TARGET) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS)\n"); + fprintf(makefile," @strip $(TARGET)\n"); + if(ssl==0) + { diff --git a/net-irc/psybnc/files/oidentd.conf.psybnc b/net-irc/psybnc/files/oidentd.conf.psybnc new file mode 100644 index 000000000000..c8e4ed67505c --- /dev/null +++ b/net-irc/psybnc/files/oidentd.conf.psybnc @@ -0,0 +1,7 @@ +user psybnc {
+ default {
+ allow spoof
+ allow spoof_all
+ allow spoof_privport
+ }
+}
diff --git a/net-irc/psybnc/files/psybnc-2.3.2.9-multinetwork.patch b/net-irc/psybnc/files/psybnc-2.3.2.9-multinetwork.patch new file mode 100644 index 000000000000..4d796961d6ff --- /dev/null +++ b/net-irc/psybnc/files/psybnc-2.3.2.9-multinetwork.patch @@ -0,0 +1,13 @@ +--- config.h.orig 2009-06-10 21:30:24.000000000 +0000 ++++ config.h 2009-06-10 21:30:39.000000000 +0000 +@@ -50,6 +50,10 @@ + + #define BLOCKDNS + ++/* Allow multiple irc connections per user */ ++ ++#define NETWORK ++ + /* Fixes the freeze bug */ + + #define FREEZEFIX diff --git a/net-irc/psybnc/files/psybnc-2.3.2.9-oidentd.patch b/net-irc/psybnc/files/psybnc-2.3.2.9-oidentd.patch new file mode 100644 index 000000000000..fbb4b163e3a3 --- /dev/null +++ b/net-irc/psybnc/files/psybnc-2.3.2.9-oidentd.patch @@ -0,0 +1,13 @@ +--- config.h.orig 2008-12-14 20:02:57.000000000 +0000 ++++ config.h 2008-12-14 20:03:35.000000000 +0000 +@@ -14,6 +14,10 @@ + + #define TRANSLATE + ++/* Support oIdentd */ ++ ++#define OIDENTD ++ + /* Allow internal network */ + + #define INTNET diff --git a/net-irc/psybnc/files/psybnc-2.3.2.9-scripting.patch b/net-irc/psybnc/files/psybnc-2.3.2.9-scripting.patch new file mode 100644 index 000000000000..08dce4fa715b --- /dev/null +++ b/net-irc/psybnc/files/psybnc-2.3.2.9-scripting.patch @@ -0,0 +1,13 @@ +--- config.h.orig 2009-01-03 17:30:41.000000000 +0000 ++++ config.h 2009-01-03 17:31:27.000000000 +0000 +@@ -26,6 +26,10 @@ + + #define TRAFFICLOG + ++/* Allow scripting */ ++ ++#define SCRIPTING ++ + /* Allow linkage of bouncers */ + + #define LINKAGE diff --git a/net-irc/psybnc/files/psybnc-oidentd.initd b/net-irc/psybnc/files/psybnc-oidentd.initd new file mode 100644 index 000000000000..696a07b4d26d --- /dev/null +++ b/net-irc/psybnc/files/psybnc-oidentd.initd @@ -0,0 +1,42 @@ +#!/sbin/runscript +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need net oidentd +} + +check_config() { + if [[ ! -f ${PSYBNC_CONFIG} ]] + then + eerror "Please set \$PSYBNC_CONFIG in /etc/conf.d/psybnc!" + return 1 + fi + + if [[ ! -d "${PSYBNC_HOME}" ]] + then + eerror "Please set \$PSYBNC_HOME in /etc/conf.d/psybnc!" + return 1 + fi + + if [[ -z "${PSYBNC_USER}" ]] + then + eerror "Please set \$PSYBNC_USER in /etc/conf.d/psybnc!" + return 1 + fi +} + +start() { + check_config || return 1 + ebegin "Starting psyBNC" + start-stop-daemon --start --quiet --chuid "${PSYBNC_USER}" --chdir "${PSYBNC_HOME}" -e HOME="${PSYBNC_HOME}" --exec /usr/bin/psybnc -- "${PSYBNC_CONFIG}" &>/dev/null + eend $? +} + +stop() { + check_config || return 1 + ebegin "Stopping psyBNC" + start-stop-daemon --stop --quiet --pidfile "${PSYBNC_HOME}"/psybnc.pid --signal 9 + eend $? +} diff --git a/net-irc/psybnc/files/psybnc.conf b/net-irc/psybnc/files/psybnc.conf new file mode 100644 index 000000000000..8a1ca8907e86 --- /dev/null +++ b/net-irc/psybnc/files/psybnc.conf @@ -0,0 +1,17 @@ +# Name +PSYBNC.SYSTEM.ME=Gentoo + +# Default listener +PSYBNC.SYSTEM.PORT1=23998 +PSYBNC.SYSTEM.HOST1=* +PSYBNC.HOSTALLOWS.ENTRY0=*;* + +# Default SSL listener +PSYBNC.SYSTEM.PORT2=23889 +PSYBNC.SYSTEM.HOST2=S=* +PSYBNC.HOSTALLOWS.ENTRY1=*;* + +# Default user +USER1.USER.NICK=gentoo +USER1.USER.PASS=gentoo +USER1.USER.RIGHTS=1 diff --git a/net-irc/psybnc/files/psybnc.confd b/net-irc/psybnc/files/psybnc.confd new file mode 100644 index 000000000000..cdd8f31f9457 --- /dev/null +++ b/net-irc/psybnc/files/psybnc.confd @@ -0,0 +1,5 @@ +# /etc/conf.d/psybnc + +PSYBNC_CONFIG="/etc/psybnc/psybnc.conf" +PSYBNC_HOME="/var/lib/psybnc" +PSYBNC_USER="psybnc" diff --git a/net-irc/psybnc/files/psybnc.initd b/net-irc/psybnc/files/psybnc.initd new file mode 100644 index 000000000000..d82f09c95d9f --- /dev/null +++ b/net-irc/psybnc/files/psybnc.initd @@ -0,0 +1,42 @@ +#!/sbin/runscript +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need net +} + +check_config() { + if [[ ! -f ${PSYBNC_CONFIG} ]] + then + eerror "Please set \$PSYBNC_CONFIG in /etc/conf.d/psybnc!" + return 1 + fi + + if [[ ! -d "${PSYBNC_HOME}" ]] + then + eerror "Please set \$PSYBNC_HOME in /etc/conf.d/psybnc!" + return 1 + fi + + if [[ -z "${PSYBNC_USER}" ]] + then + eerror "Please set \$PSYBNC_USER in /etc/conf.d/psybnc!" + return 1 + fi +} + +start() { + check_config || return 1 + ebegin "Starting psyBNC" + start-stop-daemon --start --quiet --chuid "${PSYBNC_USER}" --chdir "${PSYBNC_HOME}" --exec /usr/bin/psybnc -- "${PSYBNC_CONFIG}" &>/dev/null + eend $? +} + +stop() { + check_config || return 1 + ebegin "Stopping psyBNC" + start-stop-daemon --stop --quiet --pidfile "${PSYBNC_HOME}"/psybnc.pid --signal 9 + eend $? +} diff --git a/net-irc/psybnc/metadata.xml b/net-irc/psybnc/metadata.xml new file mode 100644 index 000000000000..84d7ff44d86e --- /dev/null +++ b/net-irc/psybnc/metadata.xml @@ -0,0 +1,15 @@ +<?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> + <use> + <flag name='oidentd'>Adds support for oidentd</flag> + <flag name='scripting'>Adds scripting support</flag> + <flag name='multinetwork'>Adds support for multiple networks</flag> + </use> + <longdescription>psyBNC is a multi-user and multi-server gateway to IRC networks</longdescription> +</pkgmetadata> diff --git a/net-irc/psybnc/psybnc-2.3.2.9-r2.ebuild b/net-irc/psybnc/psybnc-2.3.2.9-r2.ebuild new file mode 100644 index 000000000000..f23b4c053a86 --- /dev/null +++ b/net-irc/psybnc/psybnc-2.3.2.9-r2.ebuild @@ -0,0 +1,159 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="2" + +inherit eutils versionator toolchain-funcs flag-o-matic user +MY_PV="$(replace_version_separator 3 -)" +PSYBNC_HOME="/var/lib/psybnc" + +DESCRIPTION="psyBNC is a multi-user and multi-server gateway to IRC networks" +HOMEPAGE="http://www.psybnc.at/index.html" +SRC_URI="http://www.psybnc.at/download/beta/psyBNC-${MY_PV}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~sparc ~x86 ~ppc" +IUSE="ipv6 ssl oidentd scripting multinetwork" + +DEPEND="ssl? ( >=dev-libs/openssl-0.9.7d ) + oidentd? ( >=net-misc/oidentd-2.0 )" +RDEPEND="${DEPEND}" +S="${WORKDIR}"/"${PN}" + +pkg_setup() { + enewgroup psybnc + enewuser psybnc -1 -1 ${PSYBNC_HOME} psybnc +} + +src_unpack() { + unpack ${A} + cd "${S}" + + # Useless files + rm -f */INFO + + # Pretend we already have a certificate, we generate it in pkg_config + mkdir key + touch key/psybnc.cert.pem + + if [[ -f ${ROOT}/usr/share/psybnc/salt.h ]] + then + einfo "Using existing salt.h for password encryption" + cp "${ROOT}"/usr/share/psybnc/salt.h salt.h + fi +} + +src_prepare() { + epatch "${FILESDIR}/compile.diff" + epatch "${FILESDIR}/ldflags-fix.patch" + + # add oidentd + use oidentd && epatch "${FILESDIR}/${P}-oidentd.patch" + + # add scripting support + use scripting && epatch "${FILESDIR}/${P}-scripting.patch" + + # add multinetwork support + use multinetwork && epatch "${FILESDIR}/${P}-multinetwork.patch" + + # Prevent stripping the binary + sed -i -e "/@strip/ d" tools/autoconf.c +} + +src_compile() { + use ipv6 || rm -f tools/chkipv6.c + use ssl || rm -f tools/chkssl.c + + emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" || die "emake failed" +} + +src_install() { + dobin psybnc + + insinto /usr/share/psybnc + doins -r help lang salt.h + fperms 0600 /usr/share/psybnc/salt.h + + insinto /etc/psybnc + doins "${FILESDIR}"/psybnc.conf + + keepdir "${PSYBNC_HOME}"/{log,motd,scripts} + dosym /usr/share/psybnc/lang "${PSYBNC_HOME}"/lang + dosym /usr/share/psybnc/help "${PSYBNC_HOME}"/help + + fowners psybnc:psybnc "${PSYBNC_HOME}"/{,log,motd,scripts} /etc/psybnc/psybnc.conf + fperms 0750 "${PSYBNC_HOME}"/{,log,motd,scripts} + fperms 0640 /etc/psybnc/psybnc.conf + + if use ssl + then + keepdir /etc/psybnc/ssl + dosym /etc/psybnc/ssl "${PSYBNC_HOME}"/key + else + # Drop SSL listener from psybnc.conf + sed -i -e "/^# Default SSL listener$/,+4 d" "${D}"/etc/psybnc/psybnc.conf + fi + + if use oidentd + then + insinto /etc + doins "${FILESDIR}"/oidentd.conf.psybnc + fperms 640 /etc/oidentd.conf.psybnc + # install init-script with oidentd-support + newinitd "${FILESDIR}"/psybnc-oidentd.initd psybnc + else + # install init-script without oidentd-support + newinitd "${FILESDIR}"/psybnc.initd psybnc + fi + + newconfd "${FILESDIR}"/psybnc.confd psybnc + + dodoc CHANGES FAQ README SCRIPTING TODO + docinto example-script + dodoc scripts/example/DEFAULT.SCRIPT +} + +pkg_config() { + if use ssl + then + if [[ -f ${ROOT}/etc/psybnc/ssl/psybnc.cert.pem || -f ${ROOT}/etc/psybnc/ssl/psybnc.key.pem ]] + then + ewarn "Existing /etc/psybnc/psybnc.cert.pem or /etc/psybnc/psybnc.key.pem found!" + ewarn "Remove /etc/psybnc/psybnc.*.pem and run emerge --config =${CATEGORY}/${PF} again." + return + fi + + einfo "Generating certificate request..." + openssl req -new -out "${ROOT}"/etc/psybnc/ssl/psybnc.req.pem -keyout "${ROOT}"/etc/psybnc/ssl/psybnc.key.pem -nodes + einfo "Generating self-signed certificate..." + openssl req -x509 -days 365 -in "${ROOT}"/etc/psybnc/ssl/psybnc.req.pem -key "${ROOT}"/etc/psybnc/ssl/psybnc.key.pem -out "${ROOT}"/etc/psybnc/ssl/psybnc.cert.pem + einfo "Setting permissions on files..." + chown root:psybnc "${ROOT}"/etc/psybnc/ssl/psybnc.{cert,key,req}.pem + chmod 0640 "${ROOT}"/etc/psybnc/ssl/psybnc.{cert,key,req}.pem + fi +} + +pkg_postinst() { + if use ssl + then + elog + elog "Please run \"emerge --config =${CATEGORY}/${PF}\" to create needed SSL certificates." + fi + if use oidentd + then + elog + elog "You have enabled oidentd-support. You will need to set" + elog "up your /etc/oident.conf file before running psybnc. An example" + elog "for psyBNC can be found under /etc/oidentd.conf.psybnc" + fi + elog + elog "You can connect to psyBNC on port 23998 with user gentoo and password gentoo." + elog "Please edit the psyBNC configuration at /etc/psybnc/psybnc.conf to change this." + elog + elog "To be able to reuse an existing psybnc.conf, you need to make sure that the" + elog "old salt.h is available at /usr/share/psybnc/salt.h when compiling a new" + elog "version of psyBNC. It is needed for password encryption and decryption." + elog +} diff --git a/net-irc/ptlink-ircd/Manifest b/net-irc/ptlink-ircd/Manifest new file mode 100644 index 000000000000..6133f2dc0934 --- /dev/null +++ b/net-irc/ptlink-ircd/Manifest @@ -0,0 +1 @@ +DIST PTlink6.19.6.tar.gz 799388 SHA256 80a9100b0f0c41c914dda6c576207721fa05bb4a0ccf77c6337d6740d1ce0131 SHA512 5036efc429d8c5dbb5076cc690221b9409990bfe71a710bf6f8ce60e8779ff8f55e695c1fc1ca56435928d416bc1907c91105cf533538dafeea4344cd038d4d5 WHIRLPOOL 7328e2c550592422beb29ae0895a80b98541ae91932963df9338983bf86053886ba309f7a775d2cfb0dce12ff91ee08d1148dec32f0788304150ec90d556d4f9 diff --git a/net-irc/ptlink-ircd/files/ptlink-ircd.confd b/net-irc/ptlink-ircd/files/ptlink-ircd.confd new file mode 100644 index 000000000000..29e2300f5ebe --- /dev/null +++ b/net-irc/ptlink-ircd/files/ptlink-ircd.confd @@ -0,0 +1,6 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# User to run ptlink-ircd as +PTLINKIRCD_USER="ptlink-ircd" diff --git a/net-irc/ptlink-ircd/files/ptlink-ircd.initd b/net-irc/ptlink-ircd/files/ptlink-ircd.initd new file mode 100644 index 000000000000..6822cd69eee7 --- /dev/null +++ b/net-irc/ptlink-ircd/files/ptlink-ircd.initd @@ -0,0 +1,24 @@ +#!/sbin/runscript +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need net + use dns + provide ircd +} + +start() { + ebegin "Starting ptlink-ircd" + start-stop-daemon --start --quiet --exec /usr/bin/ptlink-ircd \ + --chuid ${PTLINKIRCD_USER} -- -l /var/lib/ptlink-ircd \ + -e /etc/ptlink-ircd >/dev/null + eend $? +} + +stop() { + ebegin "Shutting down ptlink-ircd" + start-stop-daemon --stop --pidfile /var/lib/ptlink-ircd/ircd.pid + eend $? +} diff --git a/net-irc/ptlink-ircd/metadata.xml b/net-irc/ptlink-ircd/metadata.xml new file mode 100644 index 000000000000..c519652bdf0d --- /dev/null +++ b/net-irc/ptlink-ircd/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-irc</herd> +</pkgmetadata> diff --git a/net-irc/ptlink-ircd/ptlink-ircd-6.19.6-r2.ebuild b/net-irc/ptlink-ircd/ptlink-ircd-6.19.6-r2.ebuild new file mode 100644 index 000000000000..f21eeabfe512 --- /dev/null +++ b/net-irc/ptlink-ircd/ptlink-ircd-6.19.6-r2.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils ssl-cert user + +MY_P="PTlink${PV}" + +DESCRIPTION="Secure IRC daemon with many advanced features" +HOMEPAGE="http://www.ptlink.net/" +SRC_URI="ftp://ftp.sunsite.dk/projects/ptlink/ircd/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~ppc ~sparc ~x86" +IUSE="ssl" + +DEPEND=" + sys-libs/zlib + ssl? ( dev-libs/openssl:0= )" + +S=${WORKDIR}/${MY_P} + +src_prepare() { + ecvs_clean +} + +src_configure() { + econf \ + --disable-ipv6 \ + $(use_with ssl ssl openssl) +} + +src_compile() { + emake CFLAGS="${CFLAGS}" +} + +src_install() { + newbin src/ircd ptlink-ircd + newbin tools/fixklines ptlink-ircd-fixklines + newbin tools/mkpasswd ptlink-ircd-mkpasswd + + insinto /etc/ptlink-ircd + fperms 700 /etc/ptlink-ircd + doins samples/{kline.conf,{opers,ptlink}.motd,help.{admin,oper,user}} + newins samples/example.conf.short ircd.conf + newins samples/example.conf.trillian ircd.conf.trillian + newins samples/main.dconf.sample main.dconf + newins samples/network.dconf.sample network.dconf + + insinto /usr/share/ptlink-ircd/codepage + doins src/codepage/*.enc + dosym /usr/share/ptlink-ircd/codepage /etc/ptlink-ircd/codepage + + rm -rf doc/old + dodoc doc/* doc_hybrid6/* ircdcron/* CHANGES README + + keepdir /var/log/ptlink-ircd /var/lib/ptlink-ircd + dosym /var/log/ptlink-ircd /var/lib/ptlink-ircd/log + + newinitd "${FILESDIR}/ptlink-ircd.initd" ptlink-ircd + newconfd "${FILESDIR}/ptlink-ircd.confd" ptlink-ircd +} + +pkg_postinst() { + # Move docert from src_install() to install_cert for bug #201678 + use ssl && ( + if [[ ! -f "${ROOT}"/etc/ptlink-ircd/server.key.pem ]]; then + install_cert /etc/ptlink-ircd/server || die "install_cert failed" + mv "${ROOT}"/etc/ptlink-ircd/server.{crt,cert.pem} + mv "${ROOT}"/etc/ptlink-ircd/server.{csr,req.pem} + mv "${ROOT}"/etc/ptlink-ircd/server.key{,.pem} + fi + ) + + enewuser ptlink-ircd + + chown ptlink-ircd \ + "${ROOT}"/{etc,var/{log,lib}}/ptlink-ircd \ + "${ROOT}"/etc/ptlink-ircd/server.key.pem + + echo + elog "PTlink IRCd will run without configuration, although this is strongly" + elog "advised against." + echo + elog "You can find example cron script ircd.cron here:" + elog " /usr/share/doc/${PF}" + echo + elog "You can also use /etc/init.d/ptlink-ircd to start at boot" + echo +} diff --git a/net-irc/ptlink-opm/Manifest b/net-irc/ptlink-opm/Manifest new file mode 100644 index 000000000000..7386fdaae252 --- /dev/null +++ b/net-irc/ptlink-opm/Manifest @@ -0,0 +1 @@ +DIST PTlink.OPM1.3.1.tar.gz 156068 SHA256 0392e9e2a121fd3ae529c49306cfc7450236c6881ff38134f86883c16a26802a SHA512 1a8955486db8c1a318dda1b7bfdaf1be9f55d68a5acafde37a5f15e80e21b8d45c51138efb9d5ca1d1fad9f46d0ccdc4b91cf9128ba2ca7086f1c0925a36a141 WHIRLPOOL 6d814f14a612717f0d3e74e8f050b3b27e20a0adf62ba93a5b9cfd314212ece0e9f3a9567814f967f7eed66816020ec1318529a5f6904914803c49fccf4a331e diff --git a/net-irc/ptlink-opm/files/ptlink-opm.conf.d b/net-irc/ptlink-opm/files/ptlink-opm.conf.d new file mode 100644 index 000000000000..620320d7ac96 --- /dev/null +++ b/net-irc/ptlink-opm/files/ptlink-opm.conf.d @@ -0,0 +1,6 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# User to run ptlink-opm as +PTLINKOPM_USER="ptlink-opm" diff --git a/net-irc/ptlink-opm/files/ptlink-opm.init.d b/net-irc/ptlink-opm/files/ptlink-opm.init.d new file mode 100644 index 000000000000..0994939065f0 --- /dev/null +++ b/net-irc/ptlink-opm/files/ptlink-opm.init.d @@ -0,0 +1,22 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need net + use dns ircd +} + +start() { + ebegin "Starting ptlink-opm" + start-stop-daemon --start --quiet --exec /usr/bin/ptlink-opm \ + --chuid ${PTLINKOPM_USER} >/dev/null + eend $? +} + +stop() { + ebegin "Shutting down ptlink-opm" + start-stop-daemon --stop --exec /usr/bin/ptlink-opm + eend $? +} diff --git a/net-irc/ptlink-opm/metadata.xml b/net-irc/ptlink-opm/metadata.xml new file mode 100644 index 000000000000..6ef15e900f17 --- /dev/null +++ b/net-irc/ptlink-opm/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +</pkgmetadata> diff --git a/net-irc/ptlink-opm/ptlink-opm-1.3.1.ebuild b/net-irc/ptlink-opm/ptlink-opm-1.3.1.ebuild new file mode 100644 index 000000000000..f5f64ee5069b --- /dev/null +++ b/net-irc/ptlink-opm/ptlink-opm-1.3.1.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +inherit eutils user + +MY_P="PTlink.OPM${PV}" + +DESCRIPTION="PTlink Open Proxy Monitor" +HOMEPAGE="http://www.ptlink.net/" +SRC_URI="ftp://ftp.sunsite.dk/projects/ptlink/ptopm/${MY_P}.tar.gz" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86 ~ppc" +IUSE="" + +RDEPEND="" +DEPEND=">=sys-apps/sed-4" + +S=${WORKDIR}/${MY_P} + +src_compile() { + econf \ + --sysconfdir=/etc/ptlink-opm \ + --localstatedir=/var/lib/ptlink-opm \ + || die "econf failed" + emake || die "emake failed" +} + +src_install() { + newbin src/ptopm ptlink-opm || die "newbin failed" + + insinto /etc/ptlink-opm + newins samples/ptopm.dconf.sample ptopm.dconf || die "newins failed" + doins samples/scan_rules.dconf || die "doins failed" + + keepdir /var/{lib,log}/ptlink-opm || die "keepdir failed" + dosym /var/log/ptlink-opm /var/lib/ptlink-opm/log || die "dosym failed" + + dodoc CHANGES README || die "dodoc failed" + + newinitd ${FILESDIR}/ptlink-opm.init.d ptlink-opm || die "newinitd failed" + newconfd ${FILESDIR}/ptlink-opm.conf.d ptlink-opm || die "newconfd failed" +} + +pkg_postinst() { + enewuser ptlink-opm + chown ptlink-opm ${ROOT}/var/{log,lib}/ptlink-opm +} diff --git a/net-irc/quassel/Manifest b/net-irc/quassel/Manifest new file mode 100644 index 000000000000..e2c0a6743de1 --- /dev/null +++ b/net-irc/quassel/Manifest @@ -0,0 +1 @@ +DIST quassel-0.12.2.tar.bz2 3681838 SHA256 6bd6f79ecb88fb857bea7e89c767a3bd0f413ff01bae9298dd2e563478947897 SHA512 0c907982af0ba11af6ba5d075850149dc4d4df0c759a736dfaccdc01778958bd9b0137515c2d78a72a1b5aef6600cea47505de6ee905d83a51cf4e67d132911d WHIRLPOOL 947c47ab6a5db73fdda7d5e5fc3f618030e9c2cfd78f4f423b32332e6514b5c3b8d24423a6be8ee8bf81e2e4a973aa29578e776dba5e8f7ad947acbcb7aef497 diff --git a/net-irc/quassel/files/quassel-0.12.2-qt55.patch b/net-irc/quassel/files/quassel-0.12.2-qt55.patch new file mode 100644 index 000000000000..3bf8989e5d86 --- /dev/null +++ b/net-irc/quassel/files/quassel-0.12.2-qt55.patch @@ -0,0 +1,53 @@ +From 0df317e85ab3d1d80135995d3b5d7f5341fef6e4 Mon Sep 17 00:00:00 2001 +From: Armin K <krejzi@email.com> +Date: Sat, 2 May 2015 23:04:53 +0200 +Subject: [PATCH] Fix build with Qt-5.5 + +http://code.qt.io/cgit/qt/qtbase.git/commit/?id=ebef2ad1360c80ad62de5f4a1c4e7e4051725c1c +--- + src/client/treemodel.cpp | 5 ++--- + src/common/peer.h | 1 + + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/client/treemodel.cpp b/src/client/treemodel.cpp +index f599803..fd47bc0 100644 +--- a/src/client/treemodel.cpp ++++ b/src/client/treemodel.cpp +@@ -556,10 +556,9 @@ void TreeModel::endAppendChilds() + ChildStatus cs = _childStatus; + #ifndef QT_NO_DEBUG + QModelIndex parent = indexByItem(parentItem); +-#endif + Q_ASSERT(cs.parent == parent); + Q_ASSERT(rowCount(parent) == cs.childCount + cs.end - cs.start + 1); +- ++#endif + _aboutToRemoveOrInsert = false; + for (int i = cs.start; i <= cs.end; i++) { + connectItem(parentItem->child(i)); +@@ -605,9 +604,9 @@ void TreeModel::endRemoveChilds() + #ifndef QT_NO_DEBUG + ChildStatus cs = _childStatus; + QModelIndex parent = indexByItem(parentItem); +-#endif + Q_ASSERT(cs.parent == parent); + Q_ASSERT(rowCount(parent) == cs.childCount - cs.end + cs.start - 1); ++#endif + _aboutToRemoveOrInsert = false; + + endRemoveRows(); +diff --git a/src/common/peer.h b/src/common/peer.h +index 02eb3c0..79204b4 100644 +--- a/src/common/peer.h ++++ b/src/common/peer.h +@@ -22,6 +22,7 @@ + #define PEER_H + + #include <QAbstractSocket> ++#include <QDataStream> + #include <QPointer> + + #include "authhandler.h" +-- +2.4.0 + diff --git a/net-irc/quassel/files/quassel.logrotate b/net-irc/quassel/files/quassel.logrotate new file mode 100644 index 000000000000..8e7208350020 --- /dev/null +++ b/net-irc/quassel/files/quassel.logrotate @@ -0,0 +1,9 @@ +/var/log/quassel.log { + compress + rotate 4 + weekly + delaycompress + copytruncate + missingok + notifempty +} diff --git a/net-irc/quassel/files/quasselcore.conf b/net-irc/quassel/files/quasselcore.conf new file mode 100644 index 000000000000..4a000714a620 --- /dev/null +++ b/net-irc/quassel/files/quasselcore.conf @@ -0,0 +1,22 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# Loglevel Debug|Info|Warning|Error. Default is: Info +# The logfile is located at /var/log/quassel.log. +#LOGLEVEL="Info" + +# The address(es) quasselcore will listen on. Default is 0.0.0.0 +#LISTEN="0.0.0.0" + +# The port quasselcore will listen at. Default is: 4242 +#PORT="4242" + +# User we want our daemon to run under. +#QUASSEL_USER="quassel" + +# Directory we store all quasselcore content. +#CONFIGDIR="/var/lib/quassel" + +# File quasselcore will log all its events into. +#LOGFILE="/var/log/quassel.log" diff --git a/net-irc/quassel/files/quasselcore.init b/net-irc/quassel/files/quasselcore.init new file mode 100644 index 000000000000..1cbbc838e311 --- /dev/null +++ b/net-irc/quassel/files/quasselcore.init @@ -0,0 +1,63 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need localmount net + after bootmisc postgres +} + +CORE="$(which quasselcore)" +PID="/var/run/quassel.pid" +LOGFILE=${LOGFILE:-"/var/log/quassel.log"} +CONFIGDIR=${CONFIGDIR:-"/var/lib/quassel"} +QUASSEL_USER=${QUASSEL_USER:-"quassel"} + +checkconfig() { + # set defaults + LOGLEVEL=${LOGLEVEL:-"Info"} + + # check config folder + if [ ! -d "${CONFIGDIR}" ]; then + mkdir "${CONFIGDIR}" || return 1 + fi + # permissions always changed just to avoid runtime issues + chown -R "${QUASSEL_USER}":"${QUASSEL_USER}" "${CONFIGDIR}" || return 1 + + # check log file + if [ ! -e "${LOGFILE}" ]; then + touch "${LOGFILE}" || return 1 + fi + # permissions always changed just to avoid runtime issues + chown "${QUASSEL_USER}":"${QUASSEL_USER}" "${LOGFILE}" || return 1 +} + +start() { + checkconfig || return 1 + + ebegin "Starting Quassel Core" + + if [ -n "${RC_UNAME}" ]; then + # running on baselayout-2/openrc + start-stop-daemon --start --user "${QUASSEL_USER}" --background --make-pidfile \ + --pidfile "${PID}" \ + --exec "${CORE}" -- --logfile="${LOGFILE}" --loglevel="${LOGLEVEL}" \ + ${LISTEN:+--listen="${LISTEN}"} ${PORT:+--port="${PORT}"} \ + --configdir="${CONFIGDIR}" + else + # running on baselayout-1 + start-stop-daemon --start --chuid "${QUASSEL_USER}" --background --make-pidfile \ + --pidfile "${PID}" --env HOME="${CONFIGDIR}" \ + --exec "${CORE}" -- --logfile="${LOGFILE}" --loglevel="${LOGLEVEL}" \ + ${LISTEN:+--listen="${LISTEN}"} ${PORT:+--port="${PORT}"} \ + --configdir="${CONFIGDIR}" + fi + eend $? +} + +stop() { + ebegin "Stopping Quassel Core" + start-stop-daemon --stop --pidfile "${PID}" --exec "${CORE}" + eend $? +} diff --git a/net-irc/quassel/files/quasselcore.service b/net-irc/quassel/files/quasselcore.service new file mode 100644 index 000000000000..f5b49ab0373b --- /dev/null +++ b/net-irc/quassel/files/quasselcore.service @@ -0,0 +1,11 @@ +[Unit] +Description=Quassel Core +After=network.target + +[Service] +User=quassel +Group=quassel +ExecStart=/usr/bin/quasselcore --configdir=/var/lib/quassel + +[Install] +WantedBy=multi-user.target diff --git a/net-irc/quassel/metadata.xml b/net-irc/quassel/metadata.xml new file mode 100644 index 000000000000..270308526686 --- /dev/null +++ b/net-irc/quassel/metadata.xml @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-irc</herd> + <herd>proxy-maintainers</herd> + <maintainer> + <email>patrick@gentoo.org</email> + </maintainer> + <maintainer> + <email>johu@gentoo.org</email> + <name>Johannes Huber</name> + </maintainer> + <maintainer> + <email>sputnick@quassel-irc.org</email> + <description>Upstream author, please CC on bugs</description> + </maintainer> + <use> + <flag name="monolithic"> + Build Standalone client with integrated core, no external + quasselcore needed. Only useful if you don't want to use quassels + client/server model. The server and X flags are not needed in this + case but it is possible to enable them too. + </flag> + <flag name="phonon"> + Build client with phonon backend support. This enables sound + playback in client. + </flag> + <flag name="server"> + Build the server binary. If this USE flag is disabled, the + 'core' server binary for quassel is not built, and cannot be + used. You need this enabled on the server, but you might want to + disable it on the client. + </flag> + <flag name="webkit"> + Use qt-webkit rendering engine for showing URL thumbnails and + for other things that need web browser integration. + </flag> + <flag name="X"> + Build the Qt 4 GUI client for quassel. If this USE flag is + disabled, the GUI is not built, and cannot be used. You might + want to disable this on the server, but you need it enabled on + the client. + </flag> + <flag name="crypt"> + Support core->network per-channel and per-query blowfish + encryption via <pkg>app-crypt/qca:2</pkg>. + </flag> + </use> +</pkgmetadata> diff --git a/net-irc/quassel/quassel-0.12.2-r1.ebuild b/net-irc/quassel/quassel-0.12.2-r1.ebuild new file mode 100644 index 000000000000..4412c65b76a1 --- /dev/null +++ b/net-irc/quassel/quassel-0.12.2-r1.ebuild @@ -0,0 +1,219 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit cmake-utils eutils pax-utils systemd user versionator + +EGIT_REPO_URI="git://git.quassel-irc.org/quassel" +[[ "${PV}" == "9999" ]] && inherit git-r3 + +DESCRIPTION="Qt/KDE IRC client supporting a remote daemon for 24/7 connectivity" +HOMEPAGE="http://quassel-irc.org/" +[[ "${PV}" == "9999" ]] || SRC_URI="http://quassel-irc.org/pub/${P}.tar.bz2" + +LICENSE="GPL-3" +KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-linux ~sparc-solaris" +SLOT="0" +IUSE="ayatana crypt dbus debug kde monolithic phonon postgres qt5 +server +ssl syslog webkit X" + +SERVER_RDEPEND=" + qt5? ( + dev-qt/qtscript:5 + crypt? ( app-crypt/qca:2[openssl,qt5] ) + postgres? ( dev-qt/qtsql:5[postgres] ) + !postgres? ( dev-qt/qtsql:5[sqlite] dev-db/sqlite:3[threadsafe(+),-secure-delete] ) + ) + !qt5? ( + dev-qt/qtscript:4 + crypt? ( app-crypt/qca:2[openssl,qt4(+)] ) + postgres? ( dev-qt/qtsql:4[postgres] ) + !postgres? ( dev-qt/qtsql:4[sqlite] dev-db/sqlite:3[threadsafe(+),-secure-delete] ) + ) + syslog? ( virtual/logger ) +" + +GUI_RDEPEND=" + qt5? ( + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + dbus? ( + dev-libs/libdbusmenu-qt[qt5] + dev-qt/qtdbus:5 + ) + kde? ( + kde-frameworks/kconfigwidgets:5 + kde-frameworks/kcoreaddons:5 + kde-frameworks/knotifications:5 + kde-frameworks/knotifyconfig:5 + kde-frameworks/ktextwidgets:5 + kde-frameworks/kwidgetsaddons:5 + kde-frameworks/kxmlgui:5 + kde-frameworks/sonnet:5 + ) + phonon? ( media-libs/phonon[qt5] ) + webkit? ( dev-qt/qtwebkit:5 ) + ) + !qt5? ( + dev-qt/qtgui:4 + ayatana? ( dev-libs/libindicate-qt ) + dbus? ( + dev-libs/libdbusmenu-qt[qt4(+)] + dev-qt/qtdbus:4 + kde? ( + kde-base/kdelibs:4 + kde-apps/oxygen-icons + ayatana? ( kde-misc/plasma-widget-message-indicator ) + ) + ) + phonon? ( || ( media-libs/phonon[qt4] dev-qt/qtphonon:4 ) ) + webkit? ( dev-qt/qtwebkit:4 ) + ) +" + +RDEPEND=" + sys-libs/zlib + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtnetwork:5[ssl?] + ) + !qt5? ( dev-qt/qtcore:4[ssl?] ) + monolithic? ( + ${SERVER_RDEPEND} + ${GUI_RDEPEND} + ) + !monolithic? ( + server? ( ${SERVER_RDEPEND} ) + X? ( ${GUI_RDEPEND} ) + ) +" +DEPEND="${RDEPEND} + qt5? ( + dev-qt/linguist-tools:5 + kde-frameworks/extra-cmake-modules + ) +" + +DOCS=( AUTHORS ChangeLog README ) + +PATCHES=( "${FILESDIR}/${P}-qt55.patch" ) + +REQUIRED_USE=" + || ( X server monolithic ) + ayatana? ( || ( X monolithic ) ) + crypt? ( || ( server monolithic ) ) + dbus? ( || ( X monolithic ) ) + kde? ( || ( X monolithic ) phonon ) + phonon? ( || ( X monolithic ) ) + postgres? ( || ( server monolithic ) ) + qt5? ( !ayatana ) + syslog? ( || ( server monolithic ) ) + webkit? ( || ( X monolithic ) ) +" + +pkg_setup() { + if use server; then + QUASSEL_DIR=/var/lib/${PN} + QUASSEL_USER=${PN} + # create quassel:quassel user + enewgroup "${QUASSEL_USER}" + enewuser "${QUASSEL_USER}" -1 -1 "${QUASSEL_DIR}" "${QUASSEL_USER}" + fi +} + +src_configure() { + local mycmakeargs=( + $(cmake-utils_use_find_package ayatana IndicateQt) + $(cmake-utils_use_find_package crypt QCA2) + $(cmake-utils_use_find_package crypt QCA2-QT5) + $(cmake-utils_use_find_package dbus dbusmenu-qt) + $(cmake-utils_use_find_package dbus dbusmenu-qt5) + $(cmake-utils_use_with kde) + $(cmake-utils_use_with !kde OXYGEN) + $(cmake-utils_use_want monolithic MONO) + $(cmake-utils_use_find_package phonon) + $(cmake-utils_use_find_package phonon Phonon4Qt5) + $(cmake-utils_use_use qt5) + $(cmake-utils_use_want server CORE) + $(cmake-utils_use_with webkit) + $(cmake-utils_use_want X QTCLIENT) + "-DEMBED_DATA=OFF" + ) + + # Something broke upstream detection since Qt 5.5 + if use ssl ; then + mycmakeargs+=("-DHAVE_SSL=TRUE") + fi + + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + + if use server ; then + # needs PAX marking wrt bug#346255 + pax-mark m "${ED}/usr/bin/quasselcore" + + # prepare folders in /var/ + keepdir "${QUASSEL_DIR}" + fowners "${QUASSEL_USER}":"${QUASSEL_USER}" "${QUASSEL_DIR}" + + # init scripts & systemd unit + newinitd "${FILESDIR}"/quasselcore.init quasselcore + newconfd "${FILESDIR}"/quasselcore.conf quasselcore + systemd_dounit "${FILESDIR}"/quasselcore.service + + # logrotate + insinto /etc/logrotate.d + newins "${FILESDIR}/quassel.logrotate" quassel + fi +} + +pkg_postinst() { + if use monolithic && use ssl ; then + elog "Information on how to enable SSL support for client/core connections" + elog "is available at http://bugs.quassel-irc.org/wiki/quassel-irc." + fi + + if use server; then + einfo "If you want to generate SSL certificate remember to run:" + einfo " emerge --config =${CATEGORY}/${PF}" + fi + + if use server || use monolithic ; then + einfo "Quassel can use net-misc/oidentd package if installed on your system." + einfo "Consider installing it if you want to run quassel within identd daemon." + fi + + # temporary info mesage + if use server && [[ $(get_version_component_range 2 ${REPLACING_VERSIONS}) -lt 7 ]]; then + echo + ewarn "Please note that all configuration moved from" + ewarn "/home/\${QUASSEL_USER}/.config/quassel-irc.org/" + ewarn "to: ${QUASSEL_DIR}." + echo + ewarn "For migration, stop the core, move quasselcore files (pretty much" + ewarn "everything apart from quasselclient.conf and settings.qss) into" + ewarn "new location and then start server again." + fi +} + +pkg_config() { + if use server && use ssl; then + # generate the pem file only when it does not already exist + if [ ! -f "${QUASSEL_DIR}/quasselCert.pem" ]; then + einfo "Generating QUASSEL SSL certificate to: \"${QUASSEL_DIR}/quasselCert.pem\"" + openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ + -keyout "${QUASSEL_DIR}/quasselCert.pem" \ + -out "${QUASSEL_DIR}/quasselCert.pem" + # permissions for the key + chown ${QUASSEL_USER}:${QUASSEL_USER} "${QUASSEL_DIR}/quasselCert.pem" + chmod 400 "${QUASSEL_DIR}/quasselCert.pem" + else + einfo "Certificate \"${QUASSEL_DIR}/quasselCert.pem\" already exists." + einfo "Remove it if you want to create new one." + fi + fi +} diff --git a/net-irc/quassel/quassel-0.12.2.ebuild b/net-irc/quassel/quassel-0.12.2.ebuild new file mode 100644 index 000000000000..50e3edf5395a --- /dev/null +++ b/net-irc/quassel/quassel-0.12.2.ebuild @@ -0,0 +1,211 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit cmake-utils eutils pax-utils systemd user versionator + +EGIT_REPO_URI="git://git.quassel-irc.org/quassel" +[[ "${PV}" == "9999" ]] && inherit git-r3 + +DESCRIPTION="Qt/KDE IRC client supporting a remote daemon for 24/7 connectivity" +HOMEPAGE="http://quassel-irc.org/" +[[ "${PV}" == "9999" ]] || SRC_URI="http://quassel-irc.org/pub/${P}.tar.bz2" + +LICENSE="GPL-3" +KEYWORDS="amd64 ~arm ppc x86 ~amd64-linux ~sparc-solaris" +SLOT="0" +IUSE="ayatana crypt dbus debug kde monolithic phonon postgres qt5 +server +ssl syslog webkit X" + +SERVER_RDEPEND=" + qt5? ( + dev-qt/qtscript:5 + crypt? ( app-crypt/qca:2[openssl,qt5] ) + postgres? ( dev-qt/qtsql:5[postgres] ) + !postgres? ( dev-qt/qtsql:5[sqlite] dev-db/sqlite:3[threadsafe(+),-secure-delete] ) + ) + !qt5? ( + dev-qt/qtscript:4 + crypt? ( app-crypt/qca:2[openssl,qt4(+)] ) + postgres? ( dev-qt/qtsql:4[postgres] ) + !postgres? ( dev-qt/qtsql:4[sqlite] dev-db/sqlite:3[threadsafe(+),-secure-delete] ) + ) + syslog? ( virtual/logger ) +" + +GUI_RDEPEND=" + qt5? ( + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + dbus? ( + dev-libs/libdbusmenu-qt[qt5] + dev-qt/qtdbus:5 + ) + kde? ( + kde-frameworks/kconfigwidgets:5 + kde-frameworks/kcoreaddons:5 + kde-frameworks/knotifications:5 + kde-frameworks/knotifyconfig:5 + kde-frameworks/ktextwidgets:5 + kde-frameworks/kwidgetsaddons:5 + kde-frameworks/kxmlgui:5 + kde-frameworks/sonnet:5 + ) + phonon? ( media-libs/phonon[qt5] ) + webkit? ( dev-qt/qtwebkit:5 ) + ) + !qt5? ( + dev-qt/qtgui:4 + ayatana? ( dev-libs/libindicate-qt ) + dbus? ( + dev-libs/libdbusmenu-qt[qt4(+)] + dev-qt/qtdbus:4 + kde? ( + kde-base/kdelibs:4 + kde-apps/oxygen-icons + ) + ) + phonon? ( || ( media-libs/phonon[qt4] dev-qt/qtphonon:4 ) ) + webkit? ( dev-qt/qtwebkit:4 ) + ) +" + +RDEPEND=" + sys-libs/zlib + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtnetwork:5[ssl?] + ) + !qt5? ( dev-qt/qtcore:4[ssl?] ) + monolithic? ( + ${SERVER_RDEPEND} + ${GUI_RDEPEND} + ) + !monolithic? ( + server? ( ${SERVER_RDEPEND} ) + X? ( ${GUI_RDEPEND} ) + ) +" +DEPEND="${RDEPEND} + qt5? ( + dev-qt/linguist-tools:5 + kde-frameworks/extra-cmake-modules + ) +" + +DOCS=( AUTHORS ChangeLog README ) + +REQUIRED_USE=" + || ( X server monolithic ) + ayatana? ( || ( X monolithic ) ) + crypt? ( || ( server monolithic ) ) + dbus? ( || ( X monolithic ) ) + kde? ( || ( X monolithic ) phonon ) + phonon? ( || ( X monolithic ) ) + postgres? ( || ( server monolithic ) ) + qt5? ( !ayatana ) + syslog? ( || ( server monolithic ) ) + webkit? ( || ( X monolithic ) ) +" + +pkg_setup() { + if use server; then + QUASSEL_DIR=/var/lib/${PN} + QUASSEL_USER=${PN} + # create quassel:quassel user + enewgroup "${QUASSEL_USER}" + enewuser "${QUASSEL_USER}" -1 -1 "${QUASSEL_DIR}" "${QUASSEL_USER}" + fi +} + +src_configure() { + local mycmakeargs=( + $(cmake-utils_use_find_package ayatana IndicateQt) + $(cmake-utils_use_find_package crypt QCA2) + $(cmake-utils_use_find_package crypt QCA2-QT5) + $(cmake-utils_use_find_package dbus dbusmenu-qt) + $(cmake-utils_use_find_package dbus dbusmenu-qt5) + $(cmake-utils_use_with kde) + $(cmake-utils_use_with !kde OXYGEN) + $(cmake-utils_use_want monolithic MONO) + $(cmake-utils_use_find_package phonon) + $(cmake-utils_use_find_package phonon Phonon4Qt5) + $(cmake-utils_use_use qt5) + $(cmake-utils_use_want server CORE) + $(cmake-utils_use_with webkit) + $(cmake-utils_use_want X QTCLIENT) + "-DEMBED_DATA=OFF" + ) + + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + + if use server ; then + # needs PAX marking wrt bug#346255 + pax-mark m "${ED}/usr/bin/quasselcore" + + # prepare folders in /var/ + keepdir "${QUASSEL_DIR}" + fowners "${QUASSEL_USER}":"${QUASSEL_USER}" "${QUASSEL_DIR}" + + # init scripts & systemd unit + newinitd "${FILESDIR}"/quasselcore.init quasselcore + newconfd "${FILESDIR}"/quasselcore.conf quasselcore + systemd_dounit "${FILESDIR}"/quasselcore.service + + # logrotate + insinto /etc/logrotate.d + newins "${FILESDIR}/quassel.logrotate" quassel + fi +} + +pkg_postinst() { + if use monolithic && use ssl ; then + elog "Information on how to enable SSL support for client/core connections" + elog "is available at http://bugs.quassel-irc.org/wiki/quassel-irc." + fi + + if use server; then + einfo "If you want to generate SSL certificate remember to run:" + einfo " emerge --config =${CATEGORY}/${PF}" + fi + + if use server || use monolithic ; then + einfo "Quassel can use net-misc/oidentd package if installed on your system." + einfo "Consider installing it if you want to run quassel within identd daemon." + fi + + # temporary info mesage + if use server && [[ $(get_version_component_range 2 ${REPLACING_VERSIONS}) -lt 7 ]]; then + echo + ewarn "Please note that all configuration moved from" + ewarn "/home/\${QUASSEL_USER}/.config/quassel-irc.org/" + ewarn "to: ${QUASSEL_DIR}." + echo + ewarn "For migration, stop the core, move quasselcore files (pretty much" + ewarn "everything apart from quasselclient.conf and settings.qss) into" + ewarn "new location and then start server again." + fi +} + +pkg_config() { + if use server && use ssl; then + # generate the pem file only when it does not already exist + if [ ! -f "${QUASSEL_DIR}/quasselCert.pem" ]; then + einfo "Generating QUASSEL SSL certificate to: \"${QUASSEL_DIR}/quasselCert.pem\"" + openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ + -keyout "${QUASSEL_DIR}/quasselCert.pem" \ + -out "${QUASSEL_DIR}/quasselCert.pem" + # permissions for the key + chown ${QUASSEL_USER}:${QUASSEL_USER} "${QUASSEL_DIR}/quasselCert.pem" + chmod 400 "${QUASSEL_DIR}/quasselCert.pem" + else + einfo "Certificate \"${QUASSEL_DIR}/quasselCert.pem\" already exists." + einfo "Remove it if you want to create new one." + fi + fi +} diff --git a/net-irc/quassel/quassel-9999.ebuild b/net-irc/quassel/quassel-9999.ebuild new file mode 100644 index 000000000000..9ce915ced5af --- /dev/null +++ b/net-irc/quassel/quassel-9999.ebuild @@ -0,0 +1,217 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit cmake-utils eutils pax-utils systemd user versionator + +EGIT_REPO_URI="git://git.quassel-irc.org/quassel" +[[ "${PV}" == "9999" ]] && inherit git-r3 + +DESCRIPTION="Qt/KDE IRC client supporting a remote daemon for 24/7 connectivity" +HOMEPAGE="http://quassel-irc.org/" +[[ "${PV}" == "9999" ]] || SRC_URI="http://quassel-irc.org/pub/${P}.tar.bz2" + +LICENSE="GPL-3" +KEYWORDS="" +SLOT="0" +IUSE="ayatana crypt dbus debug kde monolithic phonon postgres qt5 +server +ssl syslog webkit X" + +SERVER_RDEPEND=" + qt5? ( + dev-qt/qtscript:5 + crypt? ( app-crypt/qca:2[openssl,qt5] ) + postgres? ( dev-qt/qtsql:5[postgres] ) + !postgres? ( dev-qt/qtsql:5[sqlite] dev-db/sqlite:3[threadsafe(+),-secure-delete] ) + ) + !qt5? ( + dev-qt/qtscript:4 + crypt? ( app-crypt/qca:2[openssl,qt4(+)] ) + postgres? ( dev-qt/qtsql:4[postgres] ) + !postgres? ( dev-qt/qtsql:4[sqlite] dev-db/sqlite:3[threadsafe(+),-secure-delete] ) + ) + syslog? ( virtual/logger ) +" + +GUI_RDEPEND=" + qt5? ( + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + dbus? ( + dev-libs/libdbusmenu-qt[qt5] + dev-qt/qtdbus:5 + ) + kde? ( + kde-frameworks/kconfigwidgets:5 + kde-frameworks/kcoreaddons:5 + kde-frameworks/knotifications:5 + kde-frameworks/knotifyconfig:5 + kde-frameworks/ktextwidgets:5 + kde-frameworks/kwidgetsaddons:5 + kde-frameworks/kxmlgui:5 + kde-frameworks/sonnet:5 + ) + phonon? ( media-libs/phonon[qt5] ) + webkit? ( dev-qt/qtwebkit:5 ) + ) + !qt5? ( + dev-qt/qtgui:4 + ayatana? ( dev-libs/libindicate-qt ) + dbus? ( + dev-libs/libdbusmenu-qt[qt4(+)] + dev-qt/qtdbus:4 + kde? ( + kde-base/kdelibs:4 + kde-apps/oxygen-icons + ayatana? ( kde-misc/plasma-widget-message-indicator ) + ) + ) + phonon? ( || ( media-libs/phonon[qt4] dev-qt/qtphonon:4 ) ) + webkit? ( dev-qt/qtwebkit:4 ) + ) +" + +RDEPEND=" + sys-libs/zlib + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtnetwork:5[ssl?] + ) + !qt5? ( dev-qt/qtcore:4[ssl?] ) + monolithic? ( + ${SERVER_RDEPEND} + ${GUI_RDEPEND} + ) + !monolithic? ( + server? ( ${SERVER_RDEPEND} ) + X? ( ${GUI_RDEPEND} ) + ) +" +DEPEND="${RDEPEND} + qt5? ( + dev-qt/linguist-tools:5 + kde-frameworks/extra-cmake-modules + ) +" + +DOCS=( AUTHORS ChangeLog README ) + +REQUIRED_USE=" + || ( X server monolithic ) + ayatana? ( || ( X monolithic ) ) + crypt? ( || ( server monolithic ) ) + dbus? ( || ( X monolithic ) ) + kde? ( || ( X monolithic ) phonon ) + phonon? ( || ( X monolithic ) ) + postgres? ( || ( server monolithic ) ) + qt5? ( !ayatana ) + syslog? ( || ( server monolithic ) ) + webkit? ( || ( X monolithic ) ) +" + +pkg_setup() { + if use server; then + QUASSEL_DIR=/var/lib/${PN} + QUASSEL_USER=${PN} + # create quassel:quassel user + enewgroup "${QUASSEL_USER}" + enewuser "${QUASSEL_USER}" -1 -1 "${QUASSEL_DIR}" "${QUASSEL_USER}" + fi +} + +src_configure() { + local mycmakeargs=( + $(cmake-utils_use_find_package ayatana IndicateQt) + $(cmake-utils_use_find_package crypt QCA2) + $(cmake-utils_use_find_package crypt QCA2-QT5) + $(cmake-utils_use_find_package dbus dbusmenu-qt) + $(cmake-utils_use_find_package dbus dbusmenu-qt5) + $(cmake-utils_use_with kde) + $(cmake-utils_use_with !kde OXYGEN) + $(cmake-utils_use_want monolithic MONO) + $(cmake-utils_use_find_package phonon) + $(cmake-utils_use_find_package phonon Phonon4Qt5) + $(cmake-utils_use_use qt5) + $(cmake-utils_use_want server CORE) + $(cmake-utils_use_with webkit) + $(cmake-utils_use_want X QTCLIENT) + "-DEMBED_DATA=OFF" + ) + + # Something broke upstream detection since Qt 5.5 + if use ssl ; then + mycmakeargs+=("-DHAVE_SSL=TRUE") + fi + + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + + if use server ; then + # needs PAX marking wrt bug#346255 + pax-mark m "${ED}/usr/bin/quasselcore" + + # prepare folders in /var/ + keepdir "${QUASSEL_DIR}" + fowners "${QUASSEL_USER}":"${QUASSEL_USER}" "${QUASSEL_DIR}" + + # init scripts & systemd unit + newinitd "${FILESDIR}"/quasselcore.init quasselcore + newconfd "${FILESDIR}"/quasselcore.conf quasselcore + systemd_dounit "${FILESDIR}"/quasselcore.service + + # logrotate + insinto /etc/logrotate.d + newins "${FILESDIR}/quassel.logrotate" quassel + fi +} + +pkg_postinst() { + if use monolithic && use ssl ; then + elog "Information on how to enable SSL support for client/core connections" + elog "is available at http://bugs.quassel-irc.org/wiki/quassel-irc." + fi + + if use server; then + einfo "If you want to generate SSL certificate remember to run:" + einfo " emerge --config =${CATEGORY}/${PF}" + fi + + if use server || use monolithic ; then + einfo "Quassel can use net-misc/oidentd package if installed on your system." + einfo "Consider installing it if you want to run quassel within identd daemon." + fi + + # temporary info mesage + if use server && [[ $(get_version_component_range 2 ${REPLACING_VERSIONS}) -lt 7 ]]; then + echo + ewarn "Please note that all configuration moved from" + ewarn "/home/\${QUASSEL_USER}/.config/quassel-irc.org/" + ewarn "to: ${QUASSEL_DIR}." + echo + ewarn "For migration, stop the core, move quasselcore files (pretty much" + ewarn "everything apart from quasselclient.conf and settings.qss) into" + ewarn "new location and then start server again." + fi +} + +pkg_config() { + if use server && use ssl; then + # generate the pem file only when it does not already exist + if [ ! -f "${QUASSEL_DIR}/quasselCert.pem" ]; then + einfo "Generating QUASSEL SSL certificate to: \"${QUASSEL_DIR}/quasselCert.pem\"" + openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ + -keyout "${QUASSEL_DIR}/quasselCert.pem" \ + -out "${QUASSEL_DIR}/quasselCert.pem" + # permissions for the key + chown ${QUASSEL_USER}:${QUASSEL_USER} "${QUASSEL_DIR}/quasselCert.pem" + chmod 400 "${QUASSEL_DIR}/quasselCert.pem" + else + einfo "Certificate \"${QUASSEL_DIR}/quasselCert.pem\" already exists." + einfo "Remove it if you want to create new one." + fi + fi +} diff --git a/net-irc/rbot/Manifest b/net-irc/rbot/Manifest new file mode 100644 index 000000000000..c65965d144b1 --- /dev/null +++ b/net-irc/rbot/Manifest @@ -0,0 +1 @@ +DIST rbot-0.9.15_p20131020.tar.gz 773953 SHA256 74b4db6a2b24784a1779518cd070bbf8cb6d4a5059167579d8226a0fc69cef15 SHA512 3319031361f7ab23e43a997a94663790775047c50eb8eb51f3f579cf879ca822b48118060fdd9f2816d5d97c57de8f6fb7ce883457336f961ff25cf6c49a8d2a WHIRLPOOL 8e77fdeb290dae0c4932628e010768217df223e94a5ec902ed48e9db3a2c2985ef2df932e84048ab8721b8d4bb954852397974afa02f1bdfc1e1b8533b58d812 diff --git a/net-irc/rbot/files/rbot-rakefile.patch b/net-irc/rbot/files/rbot-rakefile.patch new file mode 100644 index 000000000000..35747263870f --- /dev/null +++ b/net-irc/rbot/files/rbot-rakefile.patch @@ -0,0 +1,30 @@ +--- Rakefile.old 2013-08-20 01:00:05.000000000 +0200 ++++ Rakefile 2013-10-21 19:42:06.800019343 +0200 +@@ -1,5 +1,6 @@ + require 'rake' +-require 'rake/gempackagetask' ++require 'rubygems' ++require 'rubygems/package_task' + + task :default => [:buildext] + +@@ -15,7 +16,7 @@ + # we must (and can) skip defining the gem packaging tasks. + if File.exist? SPECFILE + spec = eval(File.read(SPECFILE), nil, SPECFILE) +- Rake::GemPackageTask.new(spec) do |pkg| ++ Gem::PackageTask.new(spec) do |pkg| + pkg.need_zip = true + pkg.need_tar = true + end +@@ -125,8 +126,8 @@ + }) do |t| + po_file, mo_file = t.source, t.name + puts "#{po_file} => #{mo_file}" +- require 'gettext/utils' +- GetText.rmsgfmt po_file, mo_file ++ require 'gettext/tools' ++ GetText::Tools::MsgFmt.run po_file, mo_file + end + + task :check_po_tools do diff --git a/net-irc/rbot/files/rbot.conf b/net-irc/rbot/files/rbot.conf new file mode 100644 index 000000000000..0c22544f385a --- /dev/null +++ b/net-irc/rbot/files/rbot.conf @@ -0,0 +1,22 @@ +# Configuration file for rbot service(s) +# +# To allow running more than one rbot service on your box, you can +# symlink /etc/init.d/rbot to any name starting with rbot. +# By doing this, after this configuration file, the service will +# source the relative /etc/conf.d/rbot.$name file, where you can set +# your particular configuration for that rbot instance. +# +# NOTE: please make sure you always use a different RBOTDIR for +# multiple instances; you can still use the same user though. +# Also note that, as in the home of the user there will be the +# password for both rbot and NickServ access, the directory should not +# have world readable permissions. + +# Base directory for the bot, with the configuration data +RBOTDIR="/var/lib/rbot" + +# User to run the rbot instance with. +# Note 1: you can specify also a group in the form of user:group. +# Note 2: the HOME of the user will be hardwired to /dev/null for +# safety. +RBOTUSER="rbot:nobody" diff --git a/net-irc/rbot/files/rbot.conf2 b/net-irc/rbot/files/rbot.conf2 new file mode 100644 index 000000000000..203429d1aa24 --- /dev/null +++ b/net-irc/rbot/files/rbot.conf2 @@ -0,0 +1,26 @@ +# Configuration file for rbot service(s) +# +# To allow running more than one rbot service on your box, you can +# symlink /etc/init.d/rbot to any name starting with rbot. +# By doing this, after this configuration file, the service will +# source the relative /etc/conf.d/rbot.$name file, where you can set +# your particular configuration for that rbot instance. +# +# NOTE: please make sure you always use a different RBOTDIR for +# multiple instances; you can still use the same user though. +# Also note that, as in the home of the user there will be the +# password for both rbot and NickServ access, the directory should not +# have world readable permissions. + +# Base directory for the bot, with the configuration data +RBOTDIR="/var/lib/rbot" + +# User to run the rbot instance with. +# Note 1: you can specify also a group in the form of user:group. +# Note 2: the HOME of the user will be hardwired to /dev/null for +# safety. +RBOTUSER="rbot:nobody" + +# The Ruby interpreter to run rbot with. Use full paths. +# This defaults to whatever is put as default by eselect ruby. +RBOTRUBY="/usr/bin/$(readlink /usr/bin/ruby)" diff --git a/net-irc/rbot/files/rbot.init b/net-irc/rbot/files/rbot.init new file mode 100644 index 000000000000..e703cbf67532 --- /dev/null +++ b/net-irc/rbot/files/rbot.init @@ -0,0 +1,55 @@ +#!/sbin/runscript +# Copyright 2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need net + use dns +} + +start() { + if ! [ -d "${RBOTDIR}" ]; then + eerror "The path you specified (${RBOTDIR}) is not a directory." + eerror "Please set RBOTDIR variable in /etc/conf.d/${myservice}" + eerror "to a proper value for an rbot base directory." + return 1 + fi + + if ! [ -f "${RBOTDIR}/conf.yaml" ]; then + eerror "You didn't configure rbot yet. Please configure rbot by running" + eerror " rbot ${RBOTDIR}" + eerror "at least once." + return 1 + fi + + # for a series of reason, we can't rely on the process being started + # with 'ruby' name. As using ruby18 would break for ruby 1.9, get the + # linked name to use as rubyname. + ruby="$(readlink /usr/bin/ruby)" + + export USER="${RBOTUSER%%:*}" + export HOME="/dev/null" + ebegin "Starting rbot" + start-stop-daemon \ + --start \ + --exec "/usr/bin/${ruby}" --name "${ruby}" \ + --pidfile "${RBOTDIR}/rbot.pid" \ + --chuid "${RBOTUSER}" \ + -- /usr/bin/rbot --background "${RBOTDIR}" + eend $? +} + +stop() { + # for a series of reason, we can't rely on the process being started + # with 'ruby' name. As using ruby18 would break for ruby 1.9, get the + # linked name to use as rubyname. + ruby="$(readlink /usr/bin/ruby)" + + ebegin "Stopping rbot" + start-stop-daemon --stop \ + --exec "/usr/bin/${ruby}" \ + --pidfile "${RBOTDIR}/rbot.pid" \ + --user "${RBOTUSER%%:*}" + eend $? +} diff --git a/net-irc/rbot/files/rbot.init2 b/net-irc/rbot/files/rbot.init2 new file mode 100644 index 000000000000..e77ae42a36cb --- /dev/null +++ b/net-irc/rbot/files/rbot.init2 @@ -0,0 +1,54 @@ +#!/sbin/runscript +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need net + use dns +} + +start() { + if ! [ -d "${RBOTDIR}" ]; then + eerror "The path you specified (${RBOTDIR}) is not a directory." + eerror "Please set RBOTDIR variable in /etc/conf.d/${SVCNAME}" + eerror "to a proper value for an rbot base directory." + return 1 + fi + + if ! [ -f "${RBOTDIR}/conf.yaml" ]; then + eerror "You didn't configure rbot yet. Please configure rbot by running" + eerror " rbot ${RBOTDIR}" + eerror "at least once." + return 1 + fi + + if ! [ -x "${RBOTRUBY}" ]; then + eerror "The configured Ruby interpreter for rbot is not an executable." + eerror "Use \`eselect ruby' to set a default interpreter or adapt the" + eerror "RBOTRUBY variable in /etc/conf.d/${SVCNAME}." + return 1 + fi + + export USER="${RBOTUSER%%:*}" + export HOME="/dev/null" + ebegin "Starting rbot" + start-stop-daemon \ + --start \ + --exec "${RBOTRUBY}" --name "$(basename ${RBOTRUBY})" \ + --pidfile "${RBOTDIR}/rbot.pid" \ + --chuid "${RBOTUSER}" \ + -- /usr/bin/rbot --background "${RBOTDIR}" + eend $? +} + +stop() { + ebegin "Stopping rbot" + start-stop-daemon --stop \ + --exec "${RBOTRUBY}" \ + --pidfile "${RBOTDIR}/rbot.pid" \ + --user "${RBOTUSER%%:*}" + eend $? +} + +# vim:set sts=8 sw=8 ts=8 noexpandtab: diff --git a/net-irc/rbot/metadata.xml b/net-irc/rbot/metadata.xml new file mode 100644 index 000000000000..5ea626901d56 --- /dev/null +++ b/net-irc/rbot/metadata.xml @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +<maintainer> + <email>a3li@gentoo.org</email> + <name>Alex Legler</name> + <description>Primary maintainer</description> +</maintainer> +<use> + <flag name="timezone"> + Add dependency over <pkg>dev-ruby/tzinfo</pkg> to enable the "time" + plugin for rbot. If the USE flag is disabled the plugin is also + disabled by default. + </flag> + <flag name="aspell"> + Use aspell instead of ispell in the "spell" plugin for rbot. The + vanilla plugin uses ispell, but enabling this flag makes it use + the ispell interface from aspell instead. + </flag> + <flag name="translator"> + Add dependency over <pkg>dev-ruby/mechanize</pkg>, which is needed + to enable the "translator" plugin for rbot. If the USE flag is + disabled the plugin is also disabled by default. + </flag> + <flag name="shorturl"> + Add dependency over <pkg>dev-ruby/shorturl</pkg>, which is needed + to enable the "shortenurl" plugin for rbot. If the USE flag is + disabled the plugin is also disabled by default. + </flag> + <flag name="nls"> + Build and install translation for the messages coming from the bot + and its plugins (through <pkg>dev-ruby/ruby-gettext</pkg>). + </flag> + <flag name="dict"> + Add dependency over <pkg>dev-ruby/ruby-dict</pkg>, which is needed + to enable the "dict" plugin for rbot. If the USE flag is disabled + the plugin is also disabled by default. + </flag> + <flag name="figlet"> + Add dependency over <pkg>app-misc/figlet</pkg>, which is used by + the "figlet" plugin for rbot. If the USE flag is disabled the + plugin will be unable to use figlet; if toilet is also disabled, + the plugin will be disabled. + </flag> + <flag name="toilet"> + Add dependency over <pkg>app-misc/toilet</pkg>, which is used by + the "figlet" plugin for rbot. If the USE flag is disabled the + plugin will be unable to use toilet; if figlet is also disabled, + the plugin will be disabled. + </flag> + <flag name="fortune"> + Add dependency over <pkg>games-misc/fortune-mod</pkg>, which is + needed to enable the "fortune" plugin for rbot. If the USE flag is + disabled the plugin is also disabled by default. + </flag> + <flag name="cal"> + Add dependency over a package providing the /usr/bin/cal command, + which is needed to enable the "cal" plugin for rbot. If the USE + flag is disabled the plugin is also disabled by default. + </flag> + <flag name="host"> + Add dependency over <pkg>net-dns/bind-tools</pkg> (providing + /usr/bin/host), which is needed to enable the "host" plugin for + rbot. If the USE flag is disabled the plugin is also disabled by + default. + </flag> +</use> +</pkgmetadata> diff --git a/net-irc/rbot/rbot-0.9.15_p20131020-r1.ebuild b/net-irc/rbot/rbot-0.9.15_p20131020-r1.ebuild new file mode 100644 index 000000000000..5c5c2792dcd2 --- /dev/null +++ b/net-irc/rbot/rbot-0.9.15_p20131020-r1.ebuild @@ -0,0 +1,176 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +USE_RUBY="ruby19 ruby20 ruby21" + +inherit ruby-ng eutils user + +DESCRIPTION="A ruby IRC bot" +HOMEPAGE="http://ruby-rbot.org/" +SRC_URI="http://dev.a3li.li/gentoo/distfiles/${P}.tar.gz" + +LICENSE="|| ( feh GPL-2 )" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="spell aspell timezone translator shorturl nls dict figlet + fortune cal host toilet" +ILINGUAS="zh_CN zh_TW ru nl de fi fr it ja" +RUBY_S="${PN}-master" + +for lang in $ILINGUAS; do + IUSE="${IUSE} linguas_${lang}" +done + +RDEPEND+=" + spell? ( + aspell? ( app-text/aspell ) + !aspell? ( app-text/hunspell ) + ) + figlet? ( app-misc/figlet ) + toilet? ( app-misc/toilet ) + fortune? ( games-misc/fortune-mod ) + cal? ( || ( sys-apps/util-linux sys-freebsd/freebsd-ubin ) ) + host? ( net-dns/bind-tools )" + +ruby_add_bdepend " + nls? ( + >=dev-ruby/ruby-gettext-2 + dev-ruby/rake + )" + +ruby_add_rdepend " + dev-ruby/tokyocabinet + timezone? ( dev-ruby/tzinfo ) + translator? ( dev-ruby/mechanize ) + shorturl? ( dev-ruby/shorturl ) + nls? ( dev-ruby/ruby-gettext >=dev-ruby/locale-2.0.5-r2 ) + dict? ( >=dev-ruby/ruby-dict-0.9.4-r2 )" + +RUBY_PATCHES=( "rbot-rakefile.patch" ) + +pkg_setup() { + enewuser rbot -1 -1 /var/lib/rbot nobody +} + +all_ruby_compile() { + disable_rbot_plugin() { + mv "${S}"/data/rbot/plugins/$1.rb{,.disabled} + } + use_rbot_plugin() { + use $1 && return + disable_rbot_plugin "$2" + } + rbot_conf() { + echo "$1: $2" >> "${T}"/rbot.conf + } + use_rbot_conf_path() { + use "$1" \ + && rbot_conf "$2" "$3" \ + || rbot_conf "$2" /bin/false + } + + local spell_program="/usr/bin/hunspell -i" + if use !spell; then + disable_rbot_plugin spell + spell_program="/bin/false" + elif use aspell; then + spell_program="/usr/bin/ispell-aspell" + fi + + rbot_conf spell.program "${spell_program}" + + if use !figlet && use !toilet; then + disable_rbot_plugin figlet + fi + + use_rbot_conf_path figlet figlet.path /usr/bin/figlet + use_rbot_conf_path toilet toilet.path /usr/bin/toilet + + use_rbot_plugin timezone time + use_rbot_plugin translator translator + use_rbot_plugin shorturl shortenurls + use_rbot_plugin dict dictclient + + use_rbot_plugin fortune fortune + use_rbot_conf_path fortune fortune.path /usr/bin/fortune + + use_rbot_plugin cal cal + use_rbot_conf_path cal cal.path /usr/bin/cal + + use_rbot_plugin host host + use_rbot_conf_path host host.path /usr/bin/host + + local rbot_datadir="${D}"/usr/share/rbot + + # This is unfortunately pretty manual at the moment, but it's just + # to avoid having to run special scripts to package new versions + # of rbot. The default if new languages are added that are not + # considered for an opt-out here is to install them, so you just + # need to add them later. + if use nls; then + strip-linguas ${ILINGUAS} + if [[ -n ${LINGUAS} ]]; then + # As the the language name used by the rbot data files does + # not correspond to the ISO codes we usually use for LINGUAS, + # the following list of local varables will work as a + # dictionary to get the name used by rbot from the ISO code. + local lang_rbot_zh_CN="traditional_chinese" + local lang_rbot_ru="russian" + local lang_rbot_nl="dutch" + local lang_rbot_de="german" + local lang_rbot_fi="finnish" + local lang_rbot_fr="french" + local lang_rbot_it="italian" + local lang_rbot_ja="japanese" + + for lang in ${ILINGUAS}; do + use linguas_${lang} && continue + + lang_varname="lang_rbot_${lang}" + lang_rbot=${!lang_varname} + + rm -r \ + "${S}"/data/rbot/languages/${lang_rbot}.lang \ + "${S}"/data/rbot/templates/lart/larts-${lang_rbot} \ + "${S}"/data/rbot/templates/lart/praises-${lang_rbot} \ + "${S}"/data/rbot/templates/salut/salut-${lang_rbot} \ + "${S}"/po/${lang} &>/dev/null + done + fi + + ${RUBY} /usr/bin/rake makemo || die "locale generation failed" + fi +} + +each_ruby_compile() { + ${RUBY} setup.rb config --prefix="/usr" \ + || die "setup.rb install failed" +} + +each_ruby_install() { + ${RUBY} setup.rb install --prefix="${D}" \ + || die "setup.rb install failed" +} + +all_ruby_install() { + diropts -o rbot -g nobody -m 0700 + keepdir /var/lib/rbot + + insinto /etc + doins "${T}"/rbot.conf + + newinitd "${FILESDIR}/rbot.init2" rbot + newconfd "${FILESDIR}/rbot.conf2" rbot +} + +pkg_postinst() { + elog "rbot can be started as a normal service." + elog "Check /etc/conf.d/rbot file for more information about this feature." + ewarn "DEPRECATION NOTICE:" + ewarn "The bdb database backend is deprecated and only available on Ruby 1.8." + ewarn "To migrate to the new tokyocabinet-based backend, change the core.db" + ewarn "parameter in your bot's conf.yaml to 'tc' and restart rbot." + ewarn "This procedure requires a Ruby version supporting both BDB and TC." +} diff --git a/net-irc/redirbot/Manifest b/net-irc/redirbot/Manifest new file mode 100644 index 000000000000..79dc3774e8cf --- /dev/null +++ b/net-irc/redirbot/Manifest @@ -0,0 +1 @@ +DIST redirbot-0.0.5.tar.gz 4549 SHA256 2e09db06b7c29d3fa03989a3e4177b96fdabf9c25f2a73e2928885f2e96df35d SHA512 7cbd7e8dc792527f26f20ec9953ddafd5fef8dbca457a00198c8bb3e34b660be7e0fadf25d755375e5a40acf64bf4191bf6725a077616a8bdbe120200ec198c7 WHIRLPOOL 3879f9f5411849310241aa846fa8a904862815c52986949da8afe3f979302f4e7e2c16c5bc8d20d2032927291b4bce15a59939715d7cbcb2b8ba6e36bb38ac34 diff --git a/net-irc/redirbot/metadata.xml b/net-irc/redirbot/metadata.xml new file mode 100644 index 000000000000..96e82ef3a392 --- /dev/null +++ b/net-irc/redirbot/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>python</herd> + <longdescription lang="en"> + </longdescription> + <upstream> + <remote-id type="pypi">redirbot</remote-id> + <remote-id type="github">yaccz/redirbot</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-irc/redirbot/redirbot-0.0.5.ebuild b/net-irc/redirbot/redirbot-0.0.5.ebuild new file mode 100644 index 000000000000..56fae74f77d8 --- /dev/null +++ b/net-irc/redirbot/redirbot-0.0.5.ebuild @@ -0,0 +1,25 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +DOCS=( ChangeLog README.rst ) + +inherit distutils-r1 + +DESCRIPTION="IRCBot, telling people they should contact you on different nickname" +HOMEPAGE="https://github.com/yaccz/redirbot" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + >=dev-python/twisted-core-11.1.0 + dev-python/twisted-words +" +RDEPEND="${DEPEND}" diff --git a/net-irc/rhapsody/Manifest b/net-irc/rhapsody/Manifest new file mode 100644 index 000000000000..c9fca0ebcc91 --- /dev/null +++ b/net-irc/rhapsody/Manifest @@ -0,0 +1 @@ +DIST rhapsody_0.28b.tgz 110062 SHA256 606d767f9bd4c810343b1ce94492f4aaf993552edee090ec881627b29294b4dd SHA512 1ff9f29d281421b7fe3dcdccbd8b2559572cc6e7167ff9e0f1a46dcff07486115de245055b3d72107f40f40a484d9aef94c7ed21b55a7bdf80094198d69dec6d WHIRLPOOL b8b26234f045b687e68b3fd923cd1281dffcbb5fe2b5b50176d2c08f647e34612fb530cf47fef47c08b79da0ce2ae7a57e4cb4f962dff0ddf5281e849d8d6858 diff --git a/net-irc/rhapsody/files/rhapsody-0.28b-uclibc.patch b/net-irc/rhapsody/files/rhapsody-0.28b-uclibc.patch new file mode 100644 index 000000000000..28196177414f --- /dev/null +++ b/net-irc/rhapsody/files/rhapsody-0.28b-uclibc.patch @@ -0,0 +1,10 @@ +--- rhapsody-0.28b/src/main.c.orig 2008-04-29 09:53:53 +0000 ++++ rhapsody-0.28b/src/main.c 2008-04-29 09:55:13 +0000 +@@ -20,6 +20,7 @@ + /* */ + /*****************************************************************************/ + ++#define _GNU_SOURCE + #include <stdio.h> + #include <stdlib.h> + #include <errno.h> diff --git a/net-irc/rhapsody/metadata.xml b/net-irc/rhapsody/metadata.xml new file mode 100644 index 000000000000..832ac05e1ab0 --- /dev/null +++ b/net-irc/rhapsody/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-irc</herd> + <upstream> + <remote-id type="sourceforge">rhapsody</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-irc/rhapsody/rhapsody-0.28b.ebuild b/net-irc/rhapsody/rhapsody-0.28b.ebuild new file mode 100644 index 000000000000..761097d4c72b --- /dev/null +++ b/net-irc/rhapsody/rhapsody-0.28b.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +inherit toolchain-funcs eutils + +DESCRIPTION="IRC client intended to be displayed on a text console" +HOMEPAGE="http://rhapsody.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +DEPEND=">=sys-libs/ncurses-5.0" + +src_unpack() { + unpack ${A} + cd "${S}" + + epatch "${FILESDIR}"/${P}-uclibc.patch +} + +src_compile() { + ./configure -i /usr/share/rhapsody || die "configure failed" + emake CC="$(tc-getCC)" LOCALFLAGS="${CFLAGS}" || die "emake failed" +} + +src_install() { + dobin rhapsody || die "dobin failed" + + insinto /usr/share/rhapsody/help + doins help/*.hlp || die "doins failed" + + dodoc docs/CHANGELOG || die "dodoc failed" +} diff --git a/net-irc/savirc/Manifest b/net-irc/savirc/Manifest new file mode 100644 index 000000000000..153ca702ef68 --- /dev/null +++ b/net-irc/savirc/Manifest @@ -0,0 +1 @@ +DIST savirc-1.99.tar.bz2 260625 SHA256 a026b74b932a0520271d08e55dc2d51b75848bd4372d717d6ef2730e237b6d1c SHA512 c74d8232a3b0de35ce74b5c540a2835b2c18f18347ddd61c31a24e01472cdda79816a7893f68db203e5b0305e516ba18cfd80372f35f5ee3e97097d1d1a68790 WHIRLPOOL ec215d844f3e8f4deb96d60b5a605c500468e69816b8a8153c1510c2457ed280b8297f4571cd4083bd9583a4de428d87f10349efbad8c4b060e7e17e05d2d13a diff --git a/net-irc/savirc/metadata.xml b/net-irc/savirc/metadata.xml new file mode 100644 index 000000000000..c519652bdf0d --- /dev/null +++ b/net-irc/savirc/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-irc</herd> +</pkgmetadata> diff --git a/net-irc/savirc/savirc-1.99-r1.ebuild b/net-irc/savirc/savirc-1.99-r1.ebuild new file mode 100644 index 000000000000..a5581456f123 --- /dev/null +++ b/net-irc/savirc/savirc-1.99-r1.ebuild @@ -0,0 +1,19 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +DESCRIPTION="User friendly IRC client with unicode support and tcl/tk scripting" +SRC_URI="http://www.savirc.com/Downloads/savirc-Lin/${P}.tar.bz2" +HOMEPAGE="http://www.savirc.com/" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="amd64 ppc x86" +IUSE="" + +RDEPEND=" + >=dev-lang/tcl-8.3.0:0= + >=dev-lang/tk-8.3.0:0=" +DEPEND="" diff --git a/net-irc/scrollz/Manifest b/net-irc/scrollz/Manifest new file mode 100644 index 000000000000..baed5ab98660 --- /dev/null +++ b/net-irc/scrollz/Manifest @@ -0,0 +1,3 @@ +DIST ScrollZ-2.2.1.tar.gz 940738 SHA256 5481686fdf80da522d1f384e095856cc87c6d23f1fc1ce4120efbabadb13c519 SHA512 38eac6a2ecf8789b2d5e042a6ff59463aecf65646c3b07ca1980f60dc47f153dd5f6e42f5a0c1edbef7d1b6743a368f9f4b25be57406353b8e34919e82c7bc21 WHIRLPOOL a7350e93314a9fc6c53e5c9acaa0a5fe6f87f9e4203b1f8c1c2004cc9dfd329e5cf202383320e678bb03d49afcc146819cb06d015c6808a915676ba15a7627a5 +DIST ScrollZ-2.2.tar.gz 939999 SHA256 ed467c0f920bb84d85cdd8cea3e18a014025274b1a1ad688fd3725851f2bf653 SHA512 0b77c5173f09d78f6f7594d8e43d842604d85fb21dcd83bce4507c578a8ce42e6f4f0e02e0b1ecc81564a6e5c01799e1628c664a11cf859eeb5f5535b77a6fab WHIRLPOOL d621e33d2a1f4cd1013568397313c938767a9e7275da21297ebc29b89dd74670fef59a5beb4c3fc40982fccaa4df4badeb64dfb5dccb65787f33caf7a3a6a3a9 +DIST scrollz_2.1.orig.tar.gz 950734 SHA256 90de0fb08cd2a5971423c167b6c0556d1446e81fd97756c2dc43f058a0a6f919 SHA512 b26771368531fd53651c412bef87bb50d15b89a91fabbc0f393f1c6c560b76fd0fa62ef6b143d1bd023aaae3d077570ee0ad32df68f9d03cf29d64e7f5fe8570 WHIRLPOOL d598c912457b82d870348eca08ddb74de0b6d2e71c3d8edbe3ef429e2752f37248ff4ace78752739e534dcafb02b05716365ae6d29545e07fcc33bec341acac6 diff --git a/net-irc/scrollz/files/scrollz-2.2-cppflags.patch b/net-irc/scrollz/files/scrollz-2.2-cppflags.patch new file mode 100644 index 000000000000..a6727544eca5 --- /dev/null +++ b/net-irc/scrollz/files/scrollz-2.2-cppflags.patch @@ -0,0 +1,26 @@ +From: Nathan Phillip Brink <binki@gentoo.org> +Subject: [PATCH] Respect CPPFLAGS. + +--- a/Makefile.in ++++ b/Makefile.in +@@ -68,7 +68,7 @@ + IRCDOC = ${IRCSHARE}/doc + + CC = @CC@ +-DEFS = @DEFS@ ++DEFS = @DEFS@ @CPPFLAGS@ + LIBS = @LIBS@ + + # Set this to -g if you want to be able to debug the client, otherwise + +--- a/source/Makefile.in ++++ b/source/Makefile.in +@@ -11,7 +11,7 @@ + LDFLAGS = @LDFLAGS@ + LEX = @LEX@ + LEXLIB = @LEXLIB@ +-DEFS = @DEFS@ ++DEFS = @DEFS@ @CPPFLAGS@ + LN = @LN@ + RM = @RM@ + diff --git a/net-irc/scrollz/files/scrollz-2.2-make-install.patch b/net-irc/scrollz/files/scrollz-2.2-make-install.patch new file mode 100644 index 000000000000..f5591f2a8212 --- /dev/null +++ b/net-irc/scrollz/files/scrollz-2.2-make-install.patch @@ -0,0 +1,24 @@ +From: Nathan Phillip Brink <binki@gentoo.org> +Date: 2011-01-03 +Subject: [PATCH] Fix parallel make install. + +--- a/Makefile.in ++++ b/Makefile.in +@@ -179,7 +179,7 @@ + @(cd $(DESTDIR)/$(bindir) ; $(LN) scrollz-$(VERSION) scrollz) + @cp doc/ScrollZ.doc $(DESTDIR)/$(IRCDOC) + +-installman: scrollz.1 ++installman: installdirs scrollz.1 + $(INSTALL) scrollz.1 $(DESTDIR)/$(mandir) + + installserv: installio +@@ -197,7 +197,7 @@ + $(DESTDIR)/$(INSTALL_SCRIPT) \ + $(DESTDIR)/$(HELP_DIR) $(DESTDIR)/$(IRCDOC) $(DESTDIR)/$(mandir) + +-installhelp: ++installhelp: installdirs + $(INSTALL_HELP_CMD) + find $(DESTDIR)/$(HELP_DIR) -type d -print | xargs chmod a+rx + find $(DESTDIR)/$(HELP_DIR) -type f -print | xargs chmod a+r diff --git a/net-irc/scrollz/metadata.xml b/net-irc/scrollz/metadata.xml new file mode 100644 index 000000000000..6ef15e900f17 --- /dev/null +++ b/net-irc/scrollz/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +</pkgmetadata> diff --git a/net-irc/scrollz/scrollz-2.1.ebuild b/net-irc/scrollz/scrollz-2.1.ebuild new file mode 100644 index 000000000000..ae5876d3b7a4 --- /dev/null +++ b/net-irc/scrollz/scrollz-2.1.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +DESCRIPTION="Advanced IRC client based on ircII" +HOMEPAGE="http://packages.qa.debian.org/s/scrollz.html" +SRC_URI="mirror://debian/pool/main/s/${PN}/${PN}_${PV}.orig.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" +IUSE="gmp gnutls ipv6 socks5 ssl" + +REQUIRED_USE="gnutls? ( ssl )" + +RDEPEND="sys-libs/ncurses + gmp? ( dev-libs/gmp ) + ssl? ( + gnutls? ( net-libs/gnutls ) + !gnutls? ( dev-libs/openssl ) + )" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +S=${WORKDIR}/${P}.orig + +src_configure() { + local _myssl + + if use ssl; then + if use gnutls; then + _myssl="--with-ssl" + else + _myssl="--with-openssl" + fi + fi + + econf \ + --with-default-server=irc.gentoo.org \ + $(use_enable socks5) \ + $(use_enable ipv6) \ + --enable-regexp \ + $(use_enable gmp fish) \ + ${_myssl} +} + +src_install() { + einstall \ + sharedir="${ED}/usr/share" \ + mandir="${ED}/usr/share/man/man1" + + dodoc ChangeLog* NEWS README* todo +} diff --git a/net-irc/scrollz/scrollz-2.2.1.ebuild b/net-irc/scrollz/scrollz-2.2.1.ebuild new file mode 100644 index 000000000000..dd2989e25cea --- /dev/null +++ b/net-irc/scrollz/scrollz-2.2.1.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit eutils toolchain-funcs + +MY_P=ScrollZ-${PV} + +DESCRIPTION="Advanced IRC client based on ircII" +HOMEPAGE="http://scrollz.com/" +SRC_URI="http://www.scrollz.com/download/${MY_P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="gmp gnutls ipv6 socks5 ssl" + +REQUIRED_USE="gnutls? ( ssl )" + +RDEPEND="sys-libs/ncurses + gmp? ( dev-libs/gmp ) + ssl? ( + gnutls? ( net-libs/gnutls ) + !gnutls? ( dev-libs/openssl ) + )" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +S=${WORKDIR}/${MY_P} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-2.2-cppflags.patch + epatch "${FILESDIR}"/${PN}-2.2-make-install.patch +} + +src_configure() { + local _myssl + + if use ssl; then + if use gnutls; then + _myssl="--with-ssl" + else + _myssl="--with-openssl" + fi + fi + + tc-export CC #397441, ancient autoconf + econf \ + --with-default-server=irc.gentoo.org \ + $(use_enable socks5) \ + $(use_enable ipv6) \ + --enable-regexp \ + $(use_enable gmp fish) \ + ${_myssl} +} + +src_install() { + emake \ + DESTDIR="${D}" \ + mandir="${EPREFIX}/usr/share/man/man1" \ + install + + dodoc ChangeLog* NEWS README* todo +} diff --git a/net-irc/scrollz/scrollz-2.2.ebuild b/net-irc/scrollz/scrollz-2.2.ebuild new file mode 100644 index 000000000000..f01863f3302e --- /dev/null +++ b/net-irc/scrollz/scrollz-2.2.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit eutils toolchain-funcs + +MY_P=ScrollZ-${PV} + +DESCRIPTION="Advanced IRC client based on ircII" +HOMEPAGE="http://scrollz.com/" +SRC_URI="http://www.scrollz.com/download/${MY_P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="gmp gnutls ipv6 socks5 ssl" + +REQUIRED_USE="gnutls? ( ssl )" + +RDEPEND="sys-libs/ncurses + gmp? ( dev-libs/gmp ) + ssl? ( + gnutls? ( net-libs/gnutls ) + !gnutls? ( dev-libs/openssl ) + )" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +S=${WORKDIR}/${MY_P} + +src_prepare() { + epatch "${FILESDIR}"/${P}-cppflags.patch + epatch "${FILESDIR}"/${P}-make-install.patch +} + +src_configure() { + local _myssl + + if use ssl; then + if use gnutls; then + _myssl="--with-ssl" + else + _myssl="--with-openssl" + fi + fi + + tc-export CC #397441, ancient autoconf + econf \ + --with-default-server=irc.gentoo.org \ + $(use_enable socks5) \ + $(use_enable ipv6) \ + --enable-regexp \ + $(use_enable gmp fish) \ + ${_myssl} +} + +src_install() { + emake \ + DESTDIR="${D}" \ + mandir="${EPREFIX}/usr/share/man/man1" \ + install + + dodoc ChangeLog* NEWS README* todo +} diff --git a/net-irc/shadowircd/Manifest b/net-irc/shadowircd/Manifest new file mode 100644 index 000000000000..f316c2844a95 --- /dev/null +++ b/net-irc/shadowircd/Manifest @@ -0,0 +1 @@ +DIST shadowircd-6.3.3.tar.gz 1980432 SHA256 a3b6189a473e837d4248b8f18b1e8454ab111c8eafeb46eda477095771636f24 SHA512 f3638bee6d49c56738cf05dd7c67d93344ed5787eb8777589390dbc38a1481e9a28895bdd4534124dcc8dbe247f3e28e299fe0bc0bb89e4d974b4aff734701d4 WHIRLPOOL 59e76beab8814f5fcfe8cc60cf2363e4ec0a8306a6503f28b234d805ae71b2c15bdefe9695ebf1d280932328f14669a295954b86c239c09b498f8b1b2bc95369 diff --git a/net-irc/shadowircd/files/shadowircd.confd b/net-irc/shadowircd/files/shadowircd.confd new file mode 100644 index 000000000000..391bc347801b --- /dev/null +++ b/net-irc/shadowircd/files/shadowircd.confd @@ -0,0 +1,7 @@ +#!/sbin/runscript +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# Specify any extra options to pass to shadowircd +SHADOWIRCD_OPTS="" diff --git a/net-irc/shadowircd/files/shadowircd.initd b/net-irc/shadowircd/files/shadowircd.initd new file mode 100644 index 000000000000..9b6fc15802e8 --- /dev/null +++ b/net-irc/shadowircd/files/shadowircd.initd @@ -0,0 +1,39 @@ +#!/sbin/runscript +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +extra_started_commands="reload" + +depend() { + use dns net + provide ircd +} + +start() { + if ! [ -d /var/run/shadowircd ]; then + ebegin "Creating /var/run/shadowircd for ${SVCNAME}" + mkdir /var/run/shadowircd \ + && chown :shadowircd /var/run/shadowircd \ + && chmod 770 /var/run/shadowircd + eend $? + fi + + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --exec /usr/bin/shadowircd-ircd \ + --user shadowircd --pidfile /var/run/shadowircd/ircd.pid \ + ${SHADOWIRCD_OPTS} + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --pidfile /var/run/shadowircd/ircd.pid + eend $? +} + +reload() { + ebegin "Reloading ${SVCNAME}" + start-stop-daemon --signal HUP --pidfile /var/run/shadowircd/ircd.pid + eend $? +} diff --git a/net-irc/shadowircd/metadata.xml b/net-irc/shadowircd/metadata.xml new file mode 100644 index 000000000000..764b9b8e6bb5 --- /dev/null +++ b/net-irc/shadowircd/metadata.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-irc</herd> + <maintainer> + <email>jdhore@gentoo.org</email> + <name>Jeff Horelick</name> + </maintainer> + <maintainer> + <email>binki@gentoo.org</email> + <name>Nathan Phillip Brink</name> + </maintainer> + <use> + <flag name="largenet">Enable support/tweaks for large networks</flag> + </use> + <upstream> + <remote-id type="github">shadowircd/shadowircd</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-irc/shadowircd/shadowircd-6.3.3.ebuild b/net-irc/shadowircd/shadowircd-6.3.3.ebuild new file mode 100644 index 000000000000..bcc4d803dfdd --- /dev/null +++ b/net-irc/shadowircd/shadowircd-6.3.3.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit eutils multilib user + +DESCRIPTION="An IRCd based on charybdis that adds several useful features" +HOMEPAGE="http://shadowircd.net" +SRC_URI="https://github.com/${PN}/${PN}/archive/${P}.tar.gz" +LICENSE="GPL-2" + +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="debug +ipv6 largenet ssl zlib" + +RDEPEND="ssl? ( dev-libs/openssl ) + zlib? ( sys-libs/zlib )" +DEPEND="${RDEPEND} + virtual/yacc + sys-devel/flex" + +S="${WORKDIR}/${PN}-${P}" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 "${EPREFIX}"/usr ${PN} +} + +src_prepare() { + # Fill the example configuration file with proper paths. + sed -i \ + -e "s:path =.*modules:path = \"$(get_libdir)/${PN}/modules:g" \ + -e "s:etc/:../etc/${PN}/:g" \ + -e "s:logs/:../var/log/shadowircd/:g" \ + -e "s:test\.\(cert\|key\):ssl.\1:g" \ + doc/example.conf \ + doc/reference.conf \ + || die +} + +src_configure() { + econf \ + ac_cv_prog_cc_g=no \ + --disable-gnutls \ + $(use_enable debug assert soft) \ + $(use_enable debug iodebug) \ + $(use_enable ipv6) \ + $(use_enable !largenet small-net) \ + $(use_enable ssl openssl) \ + $(use_enable zlib) \ + --with-program-prefix=shadowircd- \ + \ + --enable-fhs-paths \ + --sysconfdir="${EPREFIX}"/etc/${PN} \ + --libdir="${EPREFIX}"/usr/"$(get_libdir)"/${PN} \ + --with-logdir="${EPREFIX}"/var/log/${PN} \ + --with-moduledir="${EPREFIX}"/usr/"$(get_libdir)"/${PN}/modules \ + --with-rundir="${EPREFIX}"/var/run +} + +src_install() { + default + + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + + insinto etc/${PN} + newins doc/reference.conf ircd.conf + + keepdir var/{lib,log}/${PN} + + # Ensure that if `make install' created /var/run/${PN}, we still + # force the initscript to create that directory. + rm -rf "${D}"/var/run || die + + # shadowircd needs writing to its state (bandb) and log directories + fowners :shadowircd /var/{lib,log}/${PN} + fperms 770 /var/{lib,log}/${PN} + + # ensure that shadowircd can access but not modify its configuration + # while protecting it from others + fowners :shadowircd /etc/${PN}{,/ircd.conf} + fperms 750 /etc/${PN} + fperms 640 /etc/${PN}/ircd.conf +} + +pkg_postinst() { + elog "All of the shadowircd binaries in PATH have been prefixed with" + elog "'shadowircd-' to prevent file collisions." +} diff --git a/net-irc/sic/Manifest b/net-irc/sic/Manifest new file mode 100644 index 000000000000..a8907531bdd5 --- /dev/null +++ b/net-irc/sic/Manifest @@ -0,0 +1,2 @@ +DIST sic-1.1.tar.gz 5061 SHA256 f24d63c7ae5f3715f3c3885f5bd07d45ffa1b0af830a25523baec94653484dc2 SHA512 6cb4f609ec57f9ccc21ec2502eee27abed3b51000ffbd55a7c9ca25fb8d67526b193c5c0d5f155e207b4ce20487fb7bd8f392a9d802cb143abe3aac58c73f84e WHIRLPOOL f2b1a23fb443f2adb1f357ec0bb58c9054366dff2e2f7da965311d98078b37cb0db9c1e9c013ec482df9b01812645f4de91bf62c82b0ed23d0c4c7b36eb0e88d +DIST sic-1.2.tar.gz 4563 SHA256 ac07f905995e13ba2c43912d7a035fbbe78a628d7ba1c256f4ca1372fb565185 SHA512 5659ed9d8a5986dda90dbe1155c27a5fd0ab4b1fcad2c1a20997c530bf03864e6c08bdeffc025c728629ab11872af6a1250761160b91f148dc37d77a49046dc9 WHIRLPOOL 1fa1dd4caeff1122b954b1a54f131e2268cb805907746e5fad54467c6510d3e103c0e44b3f1716a4d7c27dae763580bbc95141c84011bd52d5b7a26be64a1268 diff --git a/net-irc/sic/metadata.xml b/net-irc/sic/metadata.xml new file mode 100644 index 000000000000..6ef15e900f17 --- /dev/null +++ b/net-irc/sic/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +</pkgmetadata> diff --git a/net-irc/sic/sic-1.1.ebuild b/net-irc/sic/sic-1.1.ebuild new file mode 100644 index 000000000000..7cfe093ba549 --- /dev/null +++ b/net-irc/sic/sic-1.1.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 +inherit toolchain-funcs + +DESCRIPTION="An extremly simple IRC client" +HOMEPAGE="http://tools.suckless.org/sic" +SRC_URI="http://dl.suckless.org/tools/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 x86 ~x86-fbsd" +IUSE="" + +src_prepare() { + sed -i \ + -e "s/CFLAGS =/CFLAGS +=/g" \ + -e "s/-Os//" \ + -e "s/LDFLAGS =/LDFLAGS +=/" \ + -e "s/-s //g" \ + -e "s/= cc/= $(tc-getCC)/g" \ + config.mk || die "sed failed" +} + +src_compile() { + emake CC="$(tc-getCC)" +} + +src_install() { + emake DESTDIR="${D}" PREFIX="/usr" install +} diff --git a/net-irc/sic/sic-1.2.ebuild b/net-irc/sic/sic-1.2.ebuild new file mode 100644 index 000000000000..d7e44877c334 --- /dev/null +++ b/net-irc/sic/sic-1.2.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 +inherit toolchain-funcs + +DESCRIPTION="An extremly simple IRC client" +HOMEPAGE="http://tools.suckless.org/sic" +SRC_URI="http://dl.suckless.org/tools/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 x86 ~x86-fbsd" +IUSE="" + +src_prepare() { + sed -i \ + -e "s/CFLAGS =/CFLAGS +=/g" \ + -e "s/-Os//" \ + -e "s/LDFLAGS = -s/LDFLAGS +=/" \ + -e "/^LIBS =/d" \ + -e "s/= cc/= $(tc-getCC)/g" \ + config.mk || die "sed failed" + + # enable verbose build + sed -i 's/@${CC}/${CC}/' Makefile || die +} + +src_compile() { + emake CC="$(tc-getCC)" +} + +src_install() { + emake DESTDIR="${D}" PREFIX="/usr" install +} diff --git a/net-irc/smuxi/Manifest b/net-irc/smuxi/Manifest new file mode 100644 index 000000000000..8f477c711c17 --- /dev/null +++ b/net-irc/smuxi/Manifest @@ -0,0 +1,3 @@ +DIST smuxi-0.11.1.tar.gz 2991902 SHA256 74afdb89936e150f89cae81a2f1f0e8267d73a81f787219e160f23dfe481d2ca SHA512 68f4b1227e117460f5d8f843d1d50975163c5ab33b34bf1fabc6baa4ef9af6a969f1c2affdc426a4aa910deb6a20bbd9dad37f5352762c2587e286dd0c2a1b8a WHIRLPOOL 80c551ead99f217ec32802339d8d93593534410ad69d59feb7e098768530993e47a89a92551b96ea340f67db11b5221c34beeff9db19831147b3a057cb47bcc0 +DIST smuxi-0.8.10.1.tar.gz 2610378 SHA256 8f4e181225ecc898933a95424dbdc8f2d82fb18b16fd2950969d0130dff86c15 SHA512 1957899ac7844c6c66255076f636dabe8134472d90602dba5e7ee986c8fbabb3b04b1c494b6cfc19b385cf3f1c6c9f7b354c118af20f9b09600f17419bac2eca WHIRLPOOL aab5409803bc325b352c79db5353c8eeb279c453ac21f48f12a34c28e56084a33076446227ede5d4da3439e3d5a7ec9634a7672b2725e3757d27be3be68e4c29 +DIST smuxi-0.8.11.tar.gz 2871221 SHA256 252bffba2d0d012178ee349a3c7f75c563d467af3287397c61a613c19ee778ba SHA512 cfb46cb996734a2c9f9386b91acd3f22130fca542d632af2c2e240b4f6681967f754f44d846dd265c6d25427cf35707c6c3398aa95cdfd9eca211c7ea6533c4b WHIRLPOOL 191c47a34ee6ba6c34d100b79ecd28bf340886578aa849bc0f5ab36d9e4c001356727d4891b1d5d895e718b7fbea9ca59853de6f3195868974300d157adbdb8b diff --git a/net-irc/smuxi/metadata.xml b/net-irc/smuxi/metadata.xml new file mode 100644 index 000000000000..e01adbb307db --- /dev/null +++ b/net-irc/smuxi/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>dotnet</herd> +</pkgmetadata> diff --git a/net-irc/smuxi/smuxi-0.11.1.ebuild b/net-irc/smuxi/smuxi-0.11.1.ebuild new file mode 100644 index 000000000000..28e4b3ffb206 --- /dev/null +++ b/net-irc/smuxi/smuxi-0.11.1.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils mono-env + +DESCRIPTION="A flexible, irssi-like and user-friendly IRC client for the Gnome Desktop" +HOMEPAGE="http://www.smuxi.org/main/" +SRC_URI="http://www.smuxi.org/jaws/data/files/${P}.tar.gz" + +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="dbus debug gtk libnotify spell" +LICENSE="|| ( GPL-2 GPL-3 )" + +RDEPEND=" + >=dev-lang/mono-2.0 + >=dev-dotnet/smartirc4net-0.4.5.1 + >=dev-dotnet/nini-1.1.0-r2 + >=dev-dotnet/log4net-1.2.10-r2 + dbus? ( dev-dotnet/dbus-sharp + dev-dotnet/dbus-sharp-glib + dev-dotnet/ndesk-dbus + dev-dotnet/ndesk-dbus-glib ) + gtk? ( >=dev-dotnet/gtk-sharp-2.12 + >=dev-dotnet/glade-sharp-2.12 + >=dev-dotnet/glib-sharp-2.12 ) + libnotify? ( dev-dotnet/notify-sharp ) + spell? ( >=app-text/gtkspell-2.0.9:2 ) +" +DEPEND="${RDEPEND} + >=dev-util/intltool-0.25 + >=sys-devel/gettext-0.17 + virtual/pkgconfig +" + +DOCS=( FEATURES TODO README.md ) + +src_configure() { + # Our dev-dotnet/db4o is completely unmaintained + # We don't have ubuntu stuff + econf \ + --enable-engine-irc \ + --without-indicate \ + --with-vendor-package-version="Gentoo ${PV}" \ + --with-db4o=included \ + --with-messaging-menu=no \ + --with-indicate=no \ + $(use_enable debug) \ + $(use_enable gtk frontend-gnome) \ + $(use_with libnotify notify) \ + $(use_with spell gtkspell) +} diff --git a/net-irc/smuxi/smuxi-0.8.10.1.ebuild b/net-irc/smuxi/smuxi-0.8.10.1.ebuild new file mode 100644 index 000000000000..f3777a5a6780 --- /dev/null +++ b/net-irc/smuxi/smuxi-0.8.10.1.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 +inherit base mono eutils + +DESCRIPTION="A flexible, irssi-like and user-friendly IRC client for the Gnome Desktop" +HOMEPAGE="http://www.smuxi.org/main/" +SRC_URI="http://www.smuxi.org/jaws/data/files/${P}.tar.gz" + +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="dbus debug gnome libnotify spell" +LICENSE="|| ( GPL-2 GPL-3 )" + +RDEPEND=">=dev-lang/mono-2.0 + >=dev-dotnet/smartirc4net-0.4.5.1 + >=dev-dotnet/nini-1.1.0-r2 + >=dev-dotnet/log4net-1.2.10-r2 + dbus? ( dev-dotnet/dbus-sharp + dev-dotnet/dbus-sharp-glib + dev-dotnet/ndesk-dbus + dev-dotnet/ndesk-dbus-glib ) + gnome? ( >=dev-dotnet/gtk-sharp-2.12 + >=dev-dotnet/glade-sharp-2.12 + >=dev-dotnet/glib-sharp-2.12 ) + libnotify? ( dev-dotnet/notify-sharp ) + spell? ( >=app-text/gtkspell-2.0.9:2 )" +DEPEND="${RDEPEND} + >=dev-util/intltool-0.25 + >=sys-devel/gettext-0.17 + virtual/pkgconfig" + +DOCS="FEATURES TODO README" + +src_configure() { +# Our dev-dotnet/db4o is completely unmaintained + econf --enable-engine-irc \ + --without-indicate \ + --with-vendor-package-version="Gentoo ${PV}" \ + --with-db4o=included \ + $(use_enable debug) \ + $(use_enable gnome frontend-gnome) \ + $(use_with libnotify notify) \ + $(use_with spell gtkspell) +} diff --git a/net-irc/smuxi/smuxi-0.8.11.ebuild b/net-irc/smuxi/smuxi-0.8.11.ebuild new file mode 100644 index 000000000000..03b8193ca583 --- /dev/null +++ b/net-irc/smuxi/smuxi-0.8.11.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils mono-env + +DESCRIPTION="A flexible, irssi-like and user-friendly IRC client for the Gnome Desktop" +HOMEPAGE="http://www.smuxi.org/main/" +SRC_URI="http://www.smuxi.org/jaws/data/files/${P}.tar.gz" + +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="dbus debug gtk libnotify spell" +LICENSE="|| ( GPL-2 GPL-3 )" + +RDEPEND=" + >=dev-lang/mono-2.0 + >=dev-dotnet/smartirc4net-0.4.5.1 + >=dev-dotnet/nini-1.1.0-r2 + >=dev-dotnet/log4net-1.2.10-r2 + dbus? ( dev-dotnet/dbus-sharp + dev-dotnet/dbus-sharp-glib + dev-dotnet/ndesk-dbus + dev-dotnet/ndesk-dbus-glib ) + gtk? ( >=dev-dotnet/gtk-sharp-2.12 + >=dev-dotnet/glade-sharp-2.12 + >=dev-dotnet/glib-sharp-2.12 ) + libnotify? ( dev-dotnet/notify-sharp ) + spell? ( >=app-text/gtkspell-2.0.9:2 ) +" +DEPEND="${RDEPEND} + >=dev-util/intltool-0.25 + >=sys-devel/gettext-0.17 + virtual/pkgconfig +" + +DOCS=( FEATURES TODO README ) + +src_configure() { + # Our dev-dotnet/db4o is completely unmaintained + # We don't have ubuntu stuff + econf \ + --enable-engine-irc \ + --without-indicate \ + --with-vendor-package-version="Gentoo ${PV}" \ + --with-db4o=included \ + --with-messaging-menu=no \ + --with-indicate=no \ + $(use_enable debug) \ + $(use_enable gtk frontend-gnome) \ + $(use_with libnotify notify) \ + $(use_with spell gtkspell) +} diff --git a/net-irc/srvx/Manifest b/net-irc/srvx/Manifest new file mode 100644 index 000000000000..d7e19eb6cc99 --- /dev/null +++ b/net-irc/srvx/Manifest @@ -0,0 +1 @@ +DIST srvx-1.3.1.tar.bz2 560658 SHA256 e11347a58505f0274a54ca8f956ad21d9e5557ecfcd86f71a58be2fbc2a81d63 SHA512 6f0c4c3af48dea5bc51f673b66a8a72b9f54c2d0c40f5b00e77da0b1b48174ca671a473cd86a3aea4d3c5cb766995d5b892cc5748c47766d53414778403beb65 WHIRLPOOL f4e2f622f3bb20aee41af5b5826c5c5585be60c0ea7c1813f18e1126fa5e5f226190d8eb4411143d78795d0676dadbb7481a5267f2a1652821881be6e7f42527 diff --git a/net-irc/srvx/files/srvx.conf.d b/net-irc/srvx/files/srvx.conf.d new file mode 100644 index 000000000000..1f5cfdc265f8 --- /dev/null +++ b/net-irc/srvx/files/srvx.conf.d @@ -0,0 +1,7 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# user and group to run srvx as +SRVX_USER="srvx" +SRVX_GROUP="srvx" diff --git a/net-irc/srvx/files/srvx.init.d b/net-irc/srvx/files/srvx.init.d new file mode 100644 index 000000000000..e9ae6717b25e --- /dev/null +++ b/net-irc/srvx/files/srvx.init.d @@ -0,0 +1,21 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + use dns net +} + +start() { + ebegin "Starting srvx" + start-stop-daemon --start --chdir /var/lib/srvx --quiet \ + --exec /usr/bin/srvx --chuid ${SRVX_USER}:${SRVX_GROUP} &>/dev/null + eend $? +} + +stop() { + ebegin "Shutting down srvx" + start-stop-daemon --stop --quiet --pidfile /var/lib/srvx/srvx.pid + eend $? +} diff --git a/net-irc/srvx/metadata.xml b/net-irc/srvx/metadata.xml new file mode 100644 index 000000000000..be2f91568548 --- /dev/null +++ b/net-irc/srvx/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-irc</herd> + <use> + <flag name="bahamut">Choose bahamut protocol over p10 protocol</flag> + </use> + <upstream> + <remote-id type="sourceforge">srvx</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-irc/srvx/srvx-1.3.1.ebuild b/net-irc/srvx/srvx-1.3.1.ebuild new file mode 100644 index 000000000000..32096fa7dfba --- /dev/null +++ b/net-irc/srvx/srvx-1.3.1.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +inherit eutils user + +DESCRIPTION="A complete set of services for IRCu 2.10.10+ and bahamut based networks" +HOMEPAGE="http://www.srvx.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="bahamut debug" + +src_compile() { + local PROTOCOL="p10" MALLOC="system" DEBUG="" + use bahamut && PROTOCOL="bahamut" + use debug && MALLOC="srvx" DEBUG="--enable-debug" + + econf \ + --with-protocol=${PROTOCOL} \ + --with-malloc=${MALLOC} \ + --enable-modules=helpserv,memoserv,sockcheck \ + ${DEBUG} \ + || die "econf failed" + emake all-recursive || die "emake failed" +} + +src_install() { + dobin src/srvx || die "dobin failed" + dodir /var/lib/srvx || die "dodir failed" + + insinto /etc/srvx + newins srvx.conf.example srvx.conf || die "newins failed" + newins sockcheck.conf.example sockcheck.conf || die "newins failed" + dosym ../../../etc/srvx/srvx.conf /var/lib/srvx/srvx.conf || die "dosym failed" + dosym ../../../etc/srvx/sockcheck.conf /var/lib/srvx/sockcheck.conf || die "dosym failed" + + insinto /usr/share/srvx + for helpfile in \ + chanserv.help global.help mod-helpserv.help mod-memoserv.help \ + mod-sockcheck.help modcmd.help nickserv.help opserv.help \ + saxdb.help sendmail.help + do + doins "src/${helpfile}" || die "doins failed" + dosym "../../../usr/share/srvx/${helpfile}" "/var/lib/srvx/${helpfile}" || die "dosym failed" + done + + dodoc \ + AUTHORS INSTALL NEWS README TODO UPGRADE \ + {sockcheck,srvx}.conf.example \ + || die "dodoc failed" + + newinitd "${FILESDIR}"/srvx.init.d srvx || die "newinitd failed" + newconfd "${FILESDIR}"/srvx.conf.d srvx || die "newconfd failed" +} + +pkg_setup() { + enewgroup srvx + enewuser srvx -1 -1 /var/lib/srvx srvx +} + +pkg_postinst() { + chown -R srvx:srvx "${ROOT}"/etc/srvx "${ROOT}"/var/lib/srvx + chmod 0700 "${ROOT}"/etc/srvx "${ROOT}"/var/lib/srvx +} diff --git a/net-irc/telepathy-idle/Manifest b/net-irc/telepathy-idle/Manifest new file mode 100644 index 000000000000..7b8bb38ed0f6 --- /dev/null +++ b/net-irc/telepathy-idle/Manifest @@ -0,0 +1 @@ +DIST telepathy-idle-0.2.0.tar.gz 566492 SHA256 3013ad4b38d14ee630b8cc8ada5e95ccaa849b9a6fe15d2eaf6d0717d76f2fab SHA512 f5e36afc3ab4b52eb865f2c1e6565b99011a7540fc1a7783d3bbd7bbf50bc671a2147df6bde646c82059a466cc1df9bdb10e2500db5b7bb06d57a989a75c261b WHIRLPOOL 3ffe7a8fd6b06533ea5fba40733fb42072639d13c084e536f5eacf2af3385bea39e3e0193cfd6a287a4437255acb43c6807121c0eda57a75d2eabd61bb3643fb diff --git a/net-irc/telepathy-idle/metadata.xml b/net-irc/telepathy-idle/metadata.xml new file mode 100644 index 000000000000..8185e919f205 --- /dev/null +++ b/net-irc/telepathy-idle/metadata.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>gnome</herd> + <herd>net-im</herd> + <longdescription>Telepathy connection manager featuring IRC protocol.</longdescription> +</pkgmetadata> diff --git a/net-irc/telepathy-idle/telepathy-idle-0.2.0.ebuild b/net-irc/telepathy-idle/telepathy-idle-0.2.0.ebuild new file mode 100644 index 000000000000..af9c2a64daf2 --- /dev/null +++ b/net-irc/telepathy-idle/telepathy-idle-0.2.0.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) + +inherit python-single-r1 + +DESCRIPTION="Full-featured IRC connection manager for Telepathy" +HOMEPAGE="http://cgit.freedesktop.org/telepathy/telepathy-idle" +SRC_URI="http://telepathy.freedesktop.org/releases/${PN}/${P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-linux" +IUSE="test" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=" + >=dev-libs/dbus-glib-0.51 + >=dev-libs/glib-2.32:2 + >=net-libs/telepathy-glib-0.21[${PYTHON_USEDEP}] + sys-apps/dbus + ${PYTHON_DEPS} +" +DEPEND="${RDEPEND} + virtual/pkgconfig + test? ( dev-python/twisted-words ) +" + +src_prepare() { + # Failed in 0.1.16 and code has not moved since october + # Upstream is working on 1.0 + sed -e 's:connect/server-quit-ignore.py::' \ + -e 's:connect/server-quit-noclose.py::' \ + -i tests/twisted/Makefile.{am,in} || die +} diff --git a/net-irc/ultimate/Manifest b/net-irc/ultimate/Manifest new file mode 100644 index 000000000000..6d7e360dc122 --- /dev/null +++ b/net-irc/ultimate/Manifest @@ -0,0 +1 @@ +DIST Ultimate3.0.2.tar.bz2 615944 SHA256 b4564f76d074b3bafde6a7d2cdc8da177759949ed933979d801d107dc6fd8934 SHA512 ed79f7f63faaa08fc901cfe58df430a051a6e0cc15b7484851f659fe2b5f23bb4b0235d8cc131284d9b6373d2da1b5d1376908d59dd0fc73496ac2d4561170ed WHIRLPOOL 822bb5bb8e0117d3fe1776852ddcec24a5d1582af9e318010c5ecfdb183139d5f0468755b80aade5c1bbcefc94be6e87aaa191054030a6887aee8097d2f40b6a diff --git a/net-irc/ultimate/files/3.0.0_rc2-config.patch b/net-irc/ultimate/files/3.0.0_rc2-config.patch new file mode 100644 index 000000000000..79d1af351bb1 --- /dev/null +++ b/net-irc/ultimate/files/3.0.0_rc2-config.patch @@ -0,0 +1,30 @@ +diff -Nur Ultimate3.0.0.rc2.orig/include/config.h Ultimate3.0.0.rc2/include/config.h +--- Ultimate3.0.0.rc2.orig/include/config.h 2005-01-30 15:01:45.677952244 +0100 ++++ Ultimate3.0.0.rc2/include/config.h 2005-01-30 15:02:43.353895511 +0100 +@@ -127,13 +127,13 @@ + #endif + + /* dirs */ +-#define DPATH IRCD_PREFIX ++#define DPATH IRCD_PREFIX + #define BINPATH IRCD_PREFIX "/bin/" +-#define ETCPATH IRCD_PREFIX "/etc" +-#define LOGPATH IRCD_PREFIX "/logs" ++#define ETCPATH "/etc/ultimateircd" ++#define LOGPATH "/var/log/ultimateircd" + + /* files */ +-#define SPATH BINPATH "/ircd" /* ircd executable */ ++#define SPATH BINPATH "/ultimateircd" /* ircd executable */ + + #define CPATH ETCPATH "/ircd.conf" /* ircd.conf file */ + #define DCONF ETCPATH "/ircd.ini" /* Dynamic Configuration File */ +@@ -144,7 +144,7 @@ + #define SMPATH ETCPATH "/ircd.smotd" /* Short Message Of The Day */ + #define OMPATH ETCPATH "/ircd.opermotd" /* Operator Message Of The Day */ + #define RPATH ETCPATH "/ircd.rules" /* Rules File */ +-#define PPATH ETCPATH "/ircd.pid" /* IRCd PID */ ++#define PPATH "/var/run/ultimateircd/ircd.pid" /* IRCd PID */ + #define IRCDSSL_CPATH ETCPATH "/ircd.crt" /* Client SSL */ + #define IRCDSSL_KPATH ETCPATH "/ircd.key" /* Client SSL */ + diff --git a/net-irc/ultimate/files/setup.h b/net-irc/ultimate/files/setup.h new file mode 100644 index 000000000000..635d9cf3801f --- /dev/null +++ b/net-irc/ultimate/files/setup.h @@ -0,0 +1,26 @@ +#ifndef __setup_include__ +#define __setup_include__ +#define PARAMH +#define UNISTDH +#define STRINGH +#define STRINGSH +#define STDLIBH +#undef STDDEFH +#define SYSSYSLOGH +#undef NOINDEX +#undef NEED_STRERROR +#define NEED_STRTOKEN +#define NEED_STRTOK +#undef NEED_INET_ADDR +#undef NEED_INET_NTOA +#undef NEED_INET_NETOF +#define GETTIMEOFDAY +#undef LRAND48 +#undef LINUX_ALPHA +#define GLIBC2_2 +#undef MALLOCH +#define NBLOCK_POSIX +#define POSIX_SIGNALS +#undef TIMES_2 +#define GETRUSAGE_2 +#endif diff --git a/net-irc/ultimate/files/ultimate-3.0.2-config.patch.in b/net-irc/ultimate/files/ultimate-3.0.2-config.patch.in new file mode 100644 index 000000000000..5cb512fe896c --- /dev/null +++ b/net-irc/ultimate/files/ultimate-3.0.2-config.patch.in @@ -0,0 +1,30 @@ +diff -Nur Ultimate3.0.0.rc2.orig/include/config.h Ultimate3.0.0.rc2/include/config.h +--- Ultimate3.0.0.rc2.orig/include/config.h 2005-01-30 15:01:45.677952244 +0100 ++++ Ultimate3.0.0.rc2/include/config.h 2005-01-30 15:02:43.353895511 +0100 +@@ -127,13 +127,13 @@ + #endif + + /* dirs */ +-#define DPATH IRCD_PREFIX ++#define DPATH IRCD_PREFIX + #define BINPATH IRCD_PREFIX "/bin/" +-#define ETCPATH IRCD_PREFIX "/etc" +-#define LOGPATH IRCD_PREFIX "/logs" ++#define ETCPATH "@GENTOO_PORTAGE_EPREFIX@/etc/ultimateircd" ++#define LOGPATH "@GENTOO_PORTAGE_EPREFIX@/var/log/ultimateircd" + + /* files */ +-#define SPATH BINPATH "/ircd" /* ircd executable */ ++#define SPATH BINPATH "/ultimateircd" /* ircd executable */ + + #define CPATH ETCPATH "/ircd.conf" /* ircd.conf file */ + #define DCONF ETCPATH "/ircd.ini" /* Dynamic Configuration File */ +@@ -144,7 +144,7 @@ + #define SMPATH ETCPATH "/ircd.smotd" /* Short Message Of The Day */ + #define OMPATH ETCPATH "/ircd.opermotd" /* Operator Message Of The Day */ + #define RPATH ETCPATH "/ircd.rules" /* Rules File */ +-#define PPATH ETCPATH "/ircd.pid" /* IRCd PID */ ++#define PPATH "@GENTOO_PORTAGE_EPREFIX@/var/run/ultimateircd/ircd.pid" /* IRCd PID */ + #define IRCDSSL_CPATH ETCPATH "/ircd.crt" /* Client SSL */ + #define IRCDSSL_KPATH ETCPATH "/ircd.key" /* Client SSL */ + diff --git a/net-irc/ultimate/files/ultimate-3.0.2-entropy-path.patch b/net-irc/ultimate/files/ultimate-3.0.2-entropy-path.patch new file mode 100644 index 000000000000..d99f29030723 --- /dev/null +++ b/net-irc/ultimate/files/ultimate-3.0.2-entropy-path.patch @@ -0,0 +1,58 @@ +From: Nathan Phillip Brink <ohnobinki@ohnopublishing.net> +Subject: Store and retrieve entropy from a file in a directory + writable/readable by ultimateircd. +Date: 2011/04/28 + +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -32,7 +32,7 @@ + LEX = @LEX@ + LEXLIB = @LEXLIB@ + CCDV = @CCDV@ +-CFLAGS = @IRC_CFLAGS@ -DIRCD_PREFIX=\"@prefix@\" ++CFLAGS = @IRC_CFLAGS@ -DIRCD_PREFIX=\"@prefix@\" -DLOCALSTATEDIR='"$(localstatedir)"' + LDFLAGS = @LDFLAGS@ + MKDEP = @MKDEP@ -DIRCD_PREFIX=\"@prefix@\" + MV = @MV@ +--- a/src/dh.c ++++ b/src/dh.c +@@ -214,10 +214,10 @@ + printf ("Done.\n"); + fclose (fp); + +- fp = fopen (".ircd.entropy", "w"); ++ fp = fopen (LOCALSTATEDIR "/.ircd.entropy", "w"); + if (!fp) + { +- printf ("Could not open .ircd.entropy for writing: %s\n", ++ printf ("Could not open " LOCALSTATEDIR "/.ircd.entropy for writing: %s\n", + strerror (errno)); + return 0; + } +@@ -225,7 +225,7 @@ + fwrite (randbuf, RAND_BYTES * 4, 1, fp); + fclose (fp); + +- RAND_load_file (".ircd.entropy", -1); ++ RAND_load_file (LOCALSTATEDIR "/.ircd.entropy", -1); + + return 1; + } +@@ -236,7 +236,7 @@ + int ret; + time_t now; + +- ret = RAND_load_file (".ircd.entropy", -1); ++ ret = RAND_load_file (LOCALSTATEDIR "/.ircd.entropy", -1); + if (ret <= 0) + { + if (!make_entropy ()) +@@ -250,7 +250,7 @@ + /* this is probably not too good, but it saves just writing + the whole state back to disk with no changes. */ + RAND_seed (&now, 4); +- RAND_write_file (".ircd.entropy"); ++ RAND_write_file (LOCALSTATEDIR "/.ircd.entropy"); + + return 0; + } diff --git a/net-irc/ultimate/files/ultimate-3.0.2-make-failfast.patch b/net-irc/ultimate/files/ultimate-3.0.2-make-failfast.patch new file mode 100644 index 000000000000..fa13f814de6e --- /dev/null +++ b/net-irc/ultimate/files/ultimate-3.0.2-make-failfast.patch @@ -0,0 +1,76 @@ +From: Nathan Phillip Brink <ohnobinki@ohnopublishing.net> +Subject: Cause build failures to be fail-fast instead of going undetected. +Date: 2011/04/27 + +--- a/Makefile.in ++++ b/Makefile.in +@@ -43,7 +43,7 @@ + @for i in $(SUBDIRS); do \ + echo "Building $$i";\ + cd $$i;\ +- ${MAKE} build; cd ..;\ ++ ${MAKE} build || exit 1; cd ..;\ + done + @echo ' ' + @echo '=================================================================' +@@ -62,7 +62,7 @@ + @for i in $(SUBDIRS); do \ + echo "Building $$i [profile]";\ + cd $$i;\ +- ${MAKEPROFILE} build; cd ..;\ ++ ${MAKEPROFILE} build || exit 1; cd ..;\ + done + + clean: +@@ -70,7 +70,7 @@ + @for i in $(SUBDIRS); do \ + echo "Cleaning $$i";\ + cd $$i;\ +- ${MAKE} clean; cd ..;\ ++ ${MAKE} clean || exit 1; cd ..;\ + done + -@if [ -f include/setup.h ] ; then \ + echo "To really restart installation, make distclean" ; \ +@@ -83,28 +83,28 @@ + @for i in $(SUBDIRS); do \ + echo "Cleaning $$i";\ + cd $$i;\ +- ${MAKE} distclean; cd ..;\ ++ ${MAKE} distclean || exit 1; cd ..;\ + done + + depend: + @for i in $(SUBDIRS); do \ + echo "depend ==> $$i";\ + cd $$i;\ +- ${MAKE} depend; cd ..;\ ++ ${MAKE} depend || exit 1; cd ..;\ + done + + install: all + @for i in $(SUBDIRS); do \ + echo "install ==> $$i";\ + cd $$i;\ +- ${MAKE} install; \ ++ ${MAKE} install || exit 1; \ + cd ..; \ + done + + @for i in $(SUBDIRS2); do \ + echo "install ==> $$i";\ + cd $$i;\ +- ${MAKE} install; \ ++ ${MAKE} install || exit 1; \ + cd ../../; \ + done + +--- a/tools/Makefile.in ++++ b/tools/Makefile.in +@@ -68,6 +68,7 @@ + + build: all + ++depend: + + mkpasswd: $(mkpasswd_OBJECTS) + $(CCDV)$(CC) ${CFLAGS} ${LDFLAGS} -o mkpasswd $(mkpasswd_OBJECTS) $(IRCDLIBS) diff --git a/net-irc/ultimate/files/ultimate-3.0.2-open-mode.patch b/net-irc/ultimate/files/ultimate-3.0.2-open-mode.patch new file mode 100644 index 000000000000..30ec6c96e5d7 --- /dev/null +++ b/net-irc/ultimate/files/ultimate-3.0.2-open-mode.patch @@ -0,0 +1,63 @@ +From: Nathan Phillip Brink <ohnobinki@ohnopublishing.net> +Subject: Provide the required third argument to open() when O_CREAT is + in the second argument. +Date: 2011/04/28 + +--- a/src/s_serv.c ++++ b/src/s_serv.c +@@ -4603,7 +4603,7 @@ + + #else /* LOCKFILE - MDP */ + +- if ((out = open (filename, O_RDWR | O_APPEND | O_CREAT)) == -1) ++ if ((out = open (filename, O_RDWR | O_APPEND | O_CREAT, 0600)) == -1) + { + sendto_one (source_p, ":%s NOTICE %s :Problem opening %s ", + me.name, parv[0], filename); +@@ -7397,7 +7397,7 @@ + syslog (LOG_INFO, "ADDCNLINE from %s for [%s] - Opening %s\n", + get_client_name (source_p, FALSE), parv[3], configfile); + #endif +- if ((out = open (configfile, O_RDWR | O_APPEND | O_CREAT)) == -1) ++ if ((out = open (configfile, O_RDWR | O_APPEND | O_CREAT, 0600)) == -1) + { + sendto_one (source_p, ":%s NOTICE %s :Problem opening %s ", + me.name, parv[0], configfile); +@@ -7770,7 +7770,7 @@ + syslog (LOG_INFO, "ADDOPER from %s for [%s] - Opening %s\n", + get_client_name (source_p, FALSE), parv[3], configfile); + #endif +- if ((out = open (configfile, O_RDWR | O_APPEND | O_CREAT)) == -1) ++ if ((out = open (configfile, O_RDWR | O_APPEND | O_CREAT, 0600)) == -1) + { + sendto_one (source_p, ":%s NOTICE %s :Problem opening %s ", + me.name, parv[0], configfile); +@@ -8090,7 +8090,7 @@ + syslog (LOG_INFO, "ADDQLINE from %s for [%s] - Opening %s\n", + get_client_name (source_p, FALSE), parv[1], configfile); + #endif +- if ((out = open (configfile, O_RDWR | O_APPEND | O_CREAT)) == -1) ++ if ((out = open (configfile, O_RDWR | O_APPEND | O_CREAT, 0600)) == -1) + { + sendto_one (source_p, ":%s NOTICE %s :Problem opening %s ", + me.name, parv[0], configfile); +@@ -8379,7 +8379,7 @@ + syslog (LOG_INFO, "ADDHLINE from %s for [%s] - Opening %s\n", + get_client_name (source_p, FALSE), parv[1], configfile); + #endif +- if ((out = open (configfile, O_RDWR | O_APPEND | O_CREAT)) == -1) ++ if ((out = open (configfile, O_RDWR | O_APPEND | O_CREAT, 0600)) == -1) + { + sendto_one (source_p, ":%s NOTICE %s :Problem opening %s ", + me.name, parv[0], configfile); +@@ -8663,7 +8663,7 @@ + syslog (LOG_INFO, "ADDULINE from %s for [%s] - Opening %s\n", + get_client_name (source_p, FALSE), parv[1], configfile); + #endif +- if ((out = open (configfile, O_RDWR | O_APPEND | O_CREAT)) == -1) ++ if ((out = open (configfile, O_RDWR | O_APPEND | O_CREAT, 0600)) == -1) + { + sendto_one (source_p, ":%s NOTICE %s :Problem opening %s ", + me.name, parv[0], configfile); + +Diff finished. Thu Apr 28 00:15:19 2011 diff --git a/net-irc/ultimate/files/ultimate-3.0.2-system-zlib-r1.patch b/net-irc/ultimate/files/ultimate-3.0.2-system-zlib-r1.patch new file mode 100644 index 000000000000..acbb71c73d42 --- /dev/null +++ b/net-irc/ultimate/files/ultimate-3.0.2-system-zlib-r1.patch @@ -0,0 +1,53 @@ +From: Nathan Phillip Brink <ohnobinki@ohnopublishing.net> +Subject: Don't compile against internal zlib. Missing ./configure.ac + changes because ./configure.ac wasn't shipped with the dist + tarball. +Date: 2011/04/27 +Subject: Use @ZLIB_LIBS@ and @ZLIB_CFLAGS@ instead of $(ZLIB_LIBS) and + friends because we don't get AC_SUBST() declared as Makefile + variables for free. https://bugs.gentoo.org/371889 +Date: 2011/06/16 + +--- a/autoconf/configure.in ++++ b/autoconf/configure.in +@@ -702,6 +702,8 @@ + wi_ARG_DISABLE_CCDV + wi_PROG_CCDV + ++PKG_CHECK_MODULES([ZLIB], [zlib]) ++ + AC_SUBST(SSL_INCLUDES) + AC_SUBST(SSL_LIBS) + AC_SUBST(ENCRYPT_SRC) +@@ -716,7 +718,7 @@ + AC_SUBST(SEDOBJ) + AC_SUBST(CCDV) + +-AC_OUTPUT(Makefile data/Makefile data/networks/Makefile src/Makefile tools/Makefile tools/ircdcron/Makefile tools/ssl-cert/Makefile zlib/Makefile) ++AC_OUTPUT(Makefile data/Makefile data/networks/Makefile src/Makefile tools/Makefile tools/ircdcron/Makefile tools/ssl-cert/Makefile) + + echo + echo ================================================================= +--- a/Makefile.in ++++ b/Makefile.in +@@ -28,3 +28,3 @@ + SHELL=/bin/sh +-SUBDIRS=zlib src tools data @SUBDIR_MESSAGES@ ++SUBDIRS = src tools data @SUBDIR_MESSAGES@ + SUBDIRS2=data/networks tools/ircdcron tools/ssl-cert + +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -53,9 +53,9 @@ + SSL_LIBS = @SSL_LIBS@ + SSL_INCLUDES = @SSL_INCLUDES@ + +-IRCDLIBS = ../zlib/libz.a @LIBS@ $(SSL_LIBS) ++IRCDLIBS = @ZLIB_LIBS@ @LIBS@ $(SSL_LIBS) + +-INCLUDES = -I../include -I../zlib $(SSL_INCLUDES) ++INCLUDES = -I../include @ZLIB_CFLAGS@ $(SSL_INCLUDES) + CPPFLAGS = ${INCLUDES} @CPPFLAGS@ + + default: all + diff --git a/net-irc/ultimate/files/ultimateircd.conf b/net-irc/ultimate/files/ultimateircd.conf new file mode 100644 index 000000000000..524082a8a542 --- /dev/null +++ b/net-irc/ultimate/files/ultimateircd.conf @@ -0,0 +1,6 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# user to run ultimate-ircd as +ULTIMATEIRCD_USER="nobody" diff --git a/net-irc/ultimate/files/ultimateircd.conf.2 b/net-irc/ultimate/files/ultimateircd.conf.2 new file mode 100644 index 000000000000..1ecec7dbd699 --- /dev/null +++ b/net-irc/ultimate/files/ultimateircd.conf.2 @@ -0,0 +1,6 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# user to run ultimateircd as +ULTIMATEIRCD_USER="ultimateircd" diff --git a/net-irc/ultimate/files/ultimateircd.rc b/net-irc/ultimate/files/ultimateircd.rc new file mode 100644 index 000000000000..c86d5f9dc8af --- /dev/null +++ b/net-irc/ultimate/files/ultimateircd.rc @@ -0,0 +1,21 @@ +#!/sbin/runscript +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + use dns net +} + +start() { + ebegin "Starting ultimate-ircd" + start-stop-daemon --start --quiet --exec /usr/bin/ultimate-ircd \ + --chuid ${ULTIMATEIRCD_USER} &>/dev/null + eend $? +} + +stop() { + ebegin "Shutting down ultimate-ircd" + killall ultimate-ircd + eend $? +} diff --git a/net-irc/ultimate/files/ultimateircd.rc-3.0.0 b/net-irc/ultimate/files/ultimateircd.rc-3.0.0 new file mode 100644 index 000000000000..945c9ccad0bb --- /dev/null +++ b/net-irc/ultimate/files/ultimateircd.rc-3.0.0 @@ -0,0 +1,21 @@ +#!/sbin/runscript +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + use dns net +} + +start() { + ebegin "Starting ultimateircd" + start-stop-daemon --start --quiet --exec /usr/bin/ultimateircd \ + --chuid ${ULTIMATEIRCD_USER} &>/dev/null + eend $? +} + +stop() { + ebegin "Shutting down ultimateircd" + start-stop-daemon --stop --pidfile /var/run/ultimateircd/ircd.pid + eend $? +} diff --git a/net-irc/ultimate/files/ultimateircd.rc.2 b/net-irc/ultimate/files/ultimateircd.rc.2 new file mode 100644 index 000000000000..780e3bc3afcc --- /dev/null +++ b/net-irc/ultimate/files/ultimateircd.rc.2 @@ -0,0 +1,21 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + use dns net +} + +start() { + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --quiet --exec /usr/bin/ultimateircd \ + --chuid ${ULTIMATEIRCD_USER} + eend $? +} + +stop() { + ebegin "Shutting down ${SVCNAME}" + start-stop-daemon --stop --pidfile /var/run/ultimateircd/ircd.pid + eend $? +} diff --git a/net-irc/ultimate/metadata.xml b/net-irc/ultimate/metadata.xml new file mode 100644 index 000000000000..580b3be35c17 --- /dev/null +++ b/net-irc/ultimate/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-irc</herd> + <maintainer> + <email>binki@gentoo.org</email> + <name>Nathan Phillip Brink</name> + </maintainer> + <upstream> + <remote-id type="sourceforge">ultimate</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-irc/ultimate/ultimate-3.0.2-r2.ebuild b/net-irc/ultimate/ultimate-3.0.2-r2.ebuild new file mode 100644 index 000000000000..a4af21bff23a --- /dev/null +++ b/net-irc/ultimate/ultimate-3.0.2-r2.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +AT_M4DIR=autoconf +inherit autotools eutils fixheadtails prefix ssl-cert user + +MY_P=Ultimate${PV/_/.} + +DESCRIPTION="An IRCd server based on DALnet's DreamForge IRCd" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2" +HOMEPAGE="http://www.shadow-realm.org/" + +KEYWORDS="~amd64 ~ppc ~sparc x86 ~amd64-linux" +SLOT="0" +LICENSE="GPL-2" +IUSE="ssl" + +RDEPEND="sys-libs/zlib + ssl? ( dev-libs/openssl )" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +S=${WORKDIR}/${MY_P} + +src_prepare() { + rm -rf zlib || die + + cp "${FILESDIR}"/${P}-config.patch.in "${T}"/${P}-config.patch || die + eprefixify "${T}"/${P}-config.patch + epatch "${T}"/${P}-config.patch + + epatch "${FILESDIR}"/${P}-system-zlib-r1.patch + epatch "${FILESDIR}"/${P}-make-failfast.patch + epatch "${FILESDIR}"/${P}-open-mode.patch + epatch "${FILESDIR}"/${P}-entropy-path.patch + + mv autoconf/configure.in ./ || die + ht_fix_file configure.in + eautoreconf +} + +src_configure() { + econf \ + --sysconfdir="${EPREFIX}"/etc/ultimateircd \ + --localstatedir="${EPREFIX}"/var/lib/ultimateircd \ + --disable-ccdv \ + $(use_enable ssl openssl) +} + +src_compile() { + # Must rerun the depend stage because we removed the zlib/ dir to + # which the stale dependencies still refer. + emake depend + emake +} + +src_install() { + dodir /etc/ultimateircd + keepdir /var/{lib,log,run}/ultimateircd + + einstall \ + sysconfdir="${ED}"/etc/ultimateircd \ + localstatedir="${ED}"/var/lib/ultimateircd \ + networksubdir='$(sysconfdir)/networks' + + rm -rf "${ED}"/usr/{{ircd,kill,rehash},bin/{ircdchk,ssl-{cert,search}.sh}} "${ED}"/var/lib/ultimateircd/logs || die + dosym /var/log/ultimateircd /var/lib/ultimateircd/logs + + mv "${ED}"/usr/bin/ircd "${ED}"/usr/bin/ultimateircd || die + mv "${ED}"/usr/bin/mkpasswd "${ED}"/usr/bin/ultimateircd-mkpasswd || die + + newinitd "${FILESDIR}"/ultimateircd.rc.2 ultimateircd + newconfd "${FILESDIR}"/ultimateircd.conf.2 ultimateircd +} + +pkg_preinst() { + if ! use prefix; then + enewuser ultimateircd + fowners ultimateircd /var/{lib,log,run}/ultimateircd + fowners -R ultimateircd /etc/ultimateircd + fi + + fperms -R go-rwx /etc/ultimateircd + fperms 0700 /var/{lib,log,run}/ultimateircd +} + +pkg_postinst() { + if use ssl && [[ ! -e ${EROOT}etc/ultimateircd/ircd.crt ]]; then + install_cert /etc/ultimateircd/ircd + use prefix || chown ultimateircd "${EROOT}"etc/ultimateircd/ircd.{key,crt,pem} + fi +} diff --git a/net-irc/unrealircd/Manifest b/net-irc/unrealircd/Manifest new file mode 100644 index 000000000000..36f258fbc672 --- /dev/null +++ b/net-irc/unrealircd/Manifest @@ -0,0 +1 @@ +DIST Unreal3.2.10.4.tar.gz 3540227 SHA256 5041b67745d0bd2072cf9b74c07853085b8b5b07330263f0986bdc56eda98aa8 SHA512 eeecefe79cadf3efa1b9379d4b675c0b86a2dd91e703f9e4b3998331f56b923d3719c67482f464f9b1699f801e0a83d677ada642ea7037c52a9d5db63abe6a5c WHIRLPOOL e52949bb6b20076d382825a841c8f643f1f64ac265d7f58898a6417c4853b569b8f561d5dccf198b4f006725e4be0636a2edb580023e8db62dadab8397d11975 diff --git a/net-irc/unrealircd/files/unrealircd.confd-r1 b/net-irc/unrealircd/files/unrealircd.confd-r1 new file mode 100644 index 000000000000..59b8f426cd24 --- /dev/null +++ b/net-irc/unrealircd/files/unrealircd.confd-r1 @@ -0,0 +1,32 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# user to run unrealircd as +UNREALIRCD_USER="unrealircd" + +# Which configuration file to load instead of unrealircd.conf. If you +# want to run multiple instances of unrealircd, you must edit +# files::pidfile to match UNREALIRCD_PIDFILE. You should also ensure +# that files::tunefile is different for each unrealircd instance. See +# http://unrealircd.org/docs.php#filesblock. +# +# To support multiple instances of unrealircd, you may create symlinks +# in /etc/init.d pointing to /etc/init.d/unrealircd. It is recommended +# that the scheme unrealircd.${instance_name} be used. For each +# instance, you may make a copy of this file with the appropriate name +# to override default options specific to that instance. +UNREALIRCD_CONF="/etc/unrealircd/${SVCNAME}.conf" + +# The path where unrealircd is configured to create its pidfile. +UNREALIRCD_PIDFILE="/var/run/unrealircd/${SVCNAME#unreal}.pid" + +# extra options to pass to unrealircd ... +# You should not specify the -f option here; use +# UNREALIRCD_CONF instead. +# +# [-h servername] +# [-p portnumber] +# [-x loglevel] +# [-t] (to enable debug output) +UNREALIRCD_OPTS="" diff --git a/net-irc/unrealircd/files/unrealircd.initd b/net-irc/unrealircd/files/unrealircd.initd new file mode 100644 index 000000000000..6d837ec0f2ac --- /dev/null +++ b/net-irc/unrealircd/files/unrealircd.initd @@ -0,0 +1,44 @@ +#!/sbin/runscript +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +extra_started_commands="reload" + +# Defaults +: ${UNREALIRCD_USER:=unrealircd} +: ${UNREALIRCD_CONF:=/etc/unrealircd/${SVCNAME}.conf} +: ${UNREALIRCD_PIDFILE:=/var/run/unrealircd/${SVCNAME#unreal}.pid} + +depend() { + use dns net + provide ircd +} + +start() { + UNREALIRCD_PIDFILEDIR=${UNREALIRCD_PIDFILE%/*} + if ! [ -d "${UNREALIRCD_PIDFILEDIR}" ]; then + ebegin "Creating ${UNREALIRCD_PIDFILEDIR} for ${SVCNAME}" + mkdir "${UNREALIRCD_PIDFILEDIR}" \ + && chown :unrealircd "${UNREALIRCD_PIDFILEDIR}" \ + && chmod 770 "${UNREALIRCD_PIDFILEDIR}" + eend $? + fi + + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --quiet --exec /usr/bin/unrealircd \ + --user ${UNREALIRCD_USER} --pidfile "${UNREALIRCD_PIDFILE}" -- -f "${UNREALIRCD_CONF}" ${UNREALIRCD_OPTS} + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --quiet --pidfile "${UNREALIRCD_PIDFILE}" + eend $? +} + +reload() { + ebegin "Reloading ${SVCNAME}" + start-stop-daemon --signal HUP --quiet --pidfile "${UNREALIRCD_PIDFILE}" + eend $? +} diff --git a/net-irc/unrealircd/metadata.xml b/net-irc/unrealircd/metadata.xml new file mode 100644 index 000000000000..7a298531b3cb --- /dev/null +++ b/net-irc/unrealircd/metadata.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-irc</herd> + <maintainer> + <email>binki@gentoo.org</email> + <name>Nathan Phillip Brink</name> + </maintainer> + <maintainer> + <email>jdhore@gentoo.org</email> + <name>Jeff Horelick</name> + </maintainer> + <use> + <flag name='class-nofakelag'>Enable an unsupported class::options flag called “nofakelag” allowing you to grant fakelag exemption to normal user (instead of just opers).</flag> + <flag name='extban-stacking'>Enable extended channel bans (such as +b ~c: and +b ~n:) to contain other extended bans instead of just hostmasks.</flag> + <flag name='prefixaq'>Enable chanadmin and chanowner prefixes</flag> + <flag name='showlistmodes'>Support displaying channel modes during compilation</flag> + <flag name='operoverride-verify'>Enable requiring opers to invite themselves to +s/+p channels</flag> + <flag name='operoverride'>Enable OperOverride extension</flag> + <flag name='usermod'>Enable /set* and /chg* commands</flag> + <flag name='showlistmodes'>Support displaying channel modes in /list</flag> + <flag name='shunnotices'>Enable notifying a user when un-shunned</flag> + <flag name='topicisnuhost'>Enable displaying nick!user@host as topic setter</flag> + </use> +</pkgmetadata> diff --git a/net-irc/unrealircd/unrealircd-3.2.10.4.ebuild b/net-irc/unrealircd/unrealircd-3.2.10.4.ebuild new file mode 100644 index 000000000000..621ae76ebfe3 --- /dev/null +++ b/net-irc/unrealircd/unrealircd-3.2.10.4.ebuild @@ -0,0 +1,213 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +inherit eutils ssl-cert versionator multilib user + +MY_P=Unreal${PV/_/-} + +DESCRIPTION="An advanced Internet Relay Chat daemon" +HOMEPAGE="http://www.unrealircd.com/" +SRC_URI="http://www.unrealircd.com/downloads/${MY_P}.tar.gz" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="amd64 ppc x86 ~x86-fbsd ~amd64-linux" +IUSE="class-nofakelag curl ipv6 +extban-stacking +operoverride operoverride-verify +prefixaq + showlistmodes shunnotices ssl topicisnuhost +usermod zlib" + +RDEPEND="ssl? ( dev-libs/openssl ) + zlib? ( sys-libs/zlib ) + curl? ( net-misc/curl[adns] ) + dev-libs/tre + >=net-dns/c-ares-1.7" +DEPEND="${RDEPEND} + >=sys-apps/sed-4 + virtual/pkgconfig" + +S=${WORKDIR}/Unreal${PV} + +pkg_setup() { + enewuser unrealircd +} + +src_prepare() { + # QA check against bundled pkgs + rm extras/*.gz || die + + sed -i \ + -e "s:ircd\.pid:${EPREFIX}/var/run/unrealircd/ircd.pid:" \ + -e "s:ircd\.log:${EPREFIX}/var/log/unrealircd/ircd.log:" \ + -e "s:debug\.log:${EPREFIX}/var/log/unrealircd/debug.log:" \ + -e "s:ircd\.tune:${EPREFIX}/var/lib/unrealircd/ircd.tune:" \ + include/config.h \ + || die "sed failed" + + if use class-nofakelag; then + sed -i -e 's:#undef\( FAKELAG_CONFIGURABLE\):#define\1:' include/config.h || die + fi +} + +src_configure() { + econf \ + --with-listen=5 \ + --with-dpath="${EPREFIX}"/etc/unrealircd \ + --with-spath="${EPREFIX}"/usr/bin/unrealircd \ + --with-nick-history=2000 \ + --with-sendq=3000000 \ + --with-bufferpool=18 \ + --with-permissions=0600 \ + --with-fd-setsize=1024 \ + --with-system-cares \ + --with-system-tre \ + --enable-dynamic-linking \ + $(use_enable curl libcurl "${EPREFIX}"/usr) \ + $(use_enable ipv6 inet6) \ + $(use_enable prefixaq) \ + $(use_enable ssl ssl "${EPREFIX}"/usr) \ + $(use_enable zlib ziplinks "${EPREFIX}"/usr) \ + $(use_with showlistmodes) \ + $(use_with topicisnuhost) \ + $(use_with shunnotices) \ + $(use_with !operoverride no-operoverride) \ + $(use_with operoverride-verify) \ + $(use_with !usermod disableusermod) \ + $(use_with !extban-stacking disable-extendedban-stacking) +} + +src_install() { + keepdir /var/{lib,log}/unrealircd + + newbin src/ircd unrealircd + + exeinto /usr/$(get_libdir)/unrealircd/modules + doexe src/modules/*.so + + dodir /etc/unrealircd + dosym /var/lib/unrealircd /etc/unrealircd/tmp + + insinto /etc/unrealircd + doins {badwords.*,help,spamfilter,dccallow}.conf + newins doc/example.conf unrealircd.conf + + insinto /etc/unrealircd/aliases + doins aliases/*.conf + + local so_suffix=so + [[ ${CHOST} == -*mingw* ]] && so_suffix=dll + sed -i \ + -e s:src/modules:"${EPREFIX}"/usr/$(get_libdir)/unrealircd/modules: \ + -e '/loadmodule.*\.'${so_suffix}'/s;^//;;' \ + -e s:ircd\\.log:"${EPREFIX}"/var/log/unrealircd/ircd.log: \ + "${ED}"/etc/unrealircd/unrealircd.conf \ + || die + + dodoc \ + Changes Donation Unreal.nfo \ + ircdcron/{ircd.cron,ircdchk} \ + || die "dodoc failed" + dohtml doc/*.html + + newinitd "${FILESDIR}"/unrealircd.initd unrealircd + newconfd "${FILESDIR}"/unrealircd.confd-r1 unrealircd + + # config should be read-only + fperms -R 0640 /etc/unrealircd{,/aliases} + fperms 0750 /etc/unrealircd{,/aliases} + # state is editable but not owned by unrealircd directly + fperms 0770 /var/{lib,log}/unrealircd + fowners -R root:unrealircd /{etc,var/{lib,log}}/unrealircd +} + +pkg_preinst() { + # Must pre-create directories; otherwise their permissions are lost + # on installation. + + # Usage: _unrealircd_dir_permissions <user> <group> <mode> <dir>[, <dir>…] + # + # Ensure that directories are created with the correct permissions + # before portage tries to merge them to the filesystem because, + # otherwise, those directories are installed world-readable. + # + # If this is a first-time install, create those directories with + # correct permissions before installing. Otherwise, update + # permissions—but only if we are replacing an unrealircd ebuild at + # least as old as net-irc/unrealircd-3.2.10. Portage handles normal + # file permissions correctly, so no need for recursive + # chmoding/chowning. + _unrealircd_dir_permissions() { + local user=${1} group=${2} mode=${3} dir v + shift 3 + while dir=${1} && shift; do + if [[ ! -d "${EROOT}${dir}" ]]; then + ebegin "Creating ${EROOT}${dir} with correct permissions" + install -d -m "${mode}" -o "${user}" -g "${group}" "${EROOT}${dir}" || die + eend ${?} + elif ! [[ ${REPLACING_VERSIONS} ]] || for v in ${REPLACING_VERSIONS}; do + # If 3.2.10 ≤ ${REPLACING_VERSIONS}, then we update + # existing permissions. + version_is_at_least "${v}" 3.2.10 && break + done; then + ebegin "Correcting permissions of ${EROOT}${dir} left by ${CATEGORY}/${PN}-${v}" + chmod "${mode}" "${EROOT}${dir}" \ + && chown ${user}:${group} "${EROOT}${dir}" \ + || die "Unable to correct permissions of ${EROOT}${dir}" + eend ${?} + fi + done + } + + # unrealircd only needs to be able to read files in /etc/unrealircd. + _unrealircd_dir_permissions root unrealircd 0750 etc/unrealircd{,/aliases} + + # unrealircd needs to be able to create files in /var/lib/unrealircd + # and /var/log/unrealircd. + _unrealircd_dir_permissions root unrealircd 0770 var/{lib,log}/unrealircd +} + +pkg_postinst() { + # Move docert call from scr_install() to install_cert in pkg_postinst for + # bug #201682 + if use ssl ; then + if [[ ! -f "${EROOT}"/etc/unrealircd/server.cert.key ]]; then + install_cert /etc/unrealircd/server.cert + chown unrealircd "${EROOT}"/etc/unrealircd/server.cert.* + chmod 0640 "${EROOT}"/etc/unrealircd/server.cert.* + ln -snf server.cert.key "${EROOT}"/etc/unrealircd/server.key.pem + fi + fi + + local unrealircd_conf="${EROOT}"/etc/unrealircd/unrealircd.conf + # Fix up the default cloak keys. + if grep -qe '"and another one";$' "${unrealircd_conf}" && grep -qe '"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";$' "${unrealircd_conf}"; then + ebegin "Generating cloak-keys" + local keys=( + $(unrealircd -k 2>&1 | tail -n 3) + ) + [[ -n ${keys[0]} || -n ${keys[1]} || -n ${keys[2]} ]] + eend $? + + ebegin "Substituting cloak-keys into ${unrealircd_conf}" + sed -i \ + -e '/cloak-keys/ { +n +s/"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";/"'"${keys[0]}"'";/ +n +s/"and another one";/"'"${keys[1]}"'";/ +n +s/"and another one";/"'"${keys[2]}"'";/ +}' \ + "${unrealircd_conf}" + eend $? + fi + + elog "UnrealIRCd will not run until you've set up /etc/unrealircd/unrealircd.conf" + elog + elog "You can find example cron scripts here:" + elog " /usr/share/doc/${PF}/ircd.cron.gz" + elog " /usr/share/doc/${PF}/ircdchk.gz" + elog + elog "You can also use /etc/init.d/unrealircd to start at boot" +} diff --git a/net-irc/weechat/Manifest b/net-irc/weechat/Manifest new file mode 100644 index 000000000000..ee14e8132ecd --- /dev/null +++ b/net-irc/weechat/Manifest @@ -0,0 +1,2 @@ +DIST weechat-1.1.1.tar.bz2 2305377 SHA256 810bf0584fd5888246797fc7f1bbc4facb064a4d1c5d91627a9c8c01cbce97b5 SHA512 710cb8badeb2734cbe6430e1c5f7fc91d8ec5c9ef85d2c6cc2206ffdf915fab083027a04d25ba23a17515e767d3b482f85b3b3e8fc445cbf1d05db941ca13dfd WHIRLPOOL d445db9a42e6ac8a58bf17a6a905bc769ea3da005d29f4c8dd703c859ae475dea0302ba471662ae52ff7c4961f35b09942757ccf657d1d419edc50416dde6002 +DIST weechat-1.2.tar.bz2 2367277 SHA256 7c4501401f3794d551331b3cede354895962858acc50437567ffd40fa7af684d SHA512 dd806c1e63e5abab8fcc2f84a615eae8769fc9271f89abb19fae9ef4489e86e132a8d6a4843714a3c772c064c9060e4b63f7433fe6beddd3e675ba08a744a1f9 WHIRLPOOL 8d9d5db2f3628e41f7b186ae80189113645f64dff407b5b64f602deefcf821b2457225d57d2cb1dee6b4c014704013c48fbc26423f6a39b762a0c55439bfb908 diff --git a/net-irc/weechat/files/weechat-1.2-tinfo.patch b/net-irc/weechat/files/weechat-1.2-tinfo.patch new file mode 100644 index 000000000000..e6ae9e0f205b --- /dev/null +++ b/net-irc/weechat/files/weechat-1.2-tinfo.patch @@ -0,0 +1,32 @@ + src/gui/curses/CMakeLists.txt | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/src/gui/curses/CMakeLists.txt b/src/gui/curses/CMakeLists.txt +index 284956f..492fc77 100644 +--- a/src/gui/curses/CMakeLists.txt ++++ b/src/gui/curses/CMakeLists.txt +@@ -35,7 +35,14 @@ main.c) + + set(EXECUTABLE weechat) + +-find_package(Ncurses) ++ ++find_package(PkgConfig) ++pkg_search_module(NCURSES ncursesw ncurses) ++ ++if(NOT NCURSES_FOUND) ++ find_package(Ncurses) ++endif(NCURSES_FOUND) ++ + if(NCURSES_FOUND) + check_include_files(ncursesw/ncurses.h NCURSESW_HEADERS) + if(NCURSESW_HEADERS) +@@ -46,7 +53,7 @@ if(NCURSES_FOUND) + add_definitions(-DHAVE_NCURSES_H) + endif() + endif() +- list(APPEND EXTRA_LIBS ${NCURSES_LIBRARY}) ++ list(APPEND EXTRA_LIBS ${NCURSES_LIBRARY} ${NCURSES_LIBRARIES} ) + endif() + + if(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") diff --git a/net-irc/weechat/metadata.xml b/net-irc/weechat/metadata.xml new file mode 100644 index 000000000000..8fc4a83c3ea0 --- /dev/null +++ b/net-irc/weechat/metadata.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-irc</herd> + <maintainer> + <email>radhermit@gentoo.org</email> + </maintainer> + <maintainer> + <email>scarabeus@gentoo.org</email> + </maintainer> + <use> + <flag name="alias">Enable plugin for alias control.</flag> + <flag name="charset">Enable encoding conversions.</flag> + <flag name="exec">Enable exec plugin.</flag> + <flag name="fifo">Enable FIFO support (sh pipes).</flag> + <flag name="logger">Enable support for logging.</flag> + <flag name="relay">Enable relay plugin (experimental)</flag> + <flag name="scripts">Build infrastructure for scripting.</flag> + <flag name="trigger">Enable trigger plugin.</flag> + <flag name="xfer">Enable xfer plugin support.</flag> + <flag name="irc">Enable IRC protocol support.</flag> + </use> +</pkgmetadata> diff --git a/net-irc/weechat/weechat-1.1.1.ebuild b/net-irc/weechat/weechat-1.1.1.ebuild new file mode 100644 index 000000000000..05a25ee968dc --- /dev/null +++ b/net-irc/weechat/weechat-1.1.1.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) +inherit python-single-r1 multilib cmake-utils + +if [[ ${PV} == "9999" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/weechat/weechat.git" +else + SRC_URI="http://${PN}.org/files/src/${P}.tar.bz2" + KEYWORDS="amd64 x86" +fi + +DESCRIPTION="Portable and multi-interface IRC client" +HOMEPAGE="http://weechat.org/" + +LICENSE="GPL-3" +SLOT="0" + +NETWORKS="+irc" +PLUGINS="+alias +charset +exec +fifo +logger +relay +scripts +spell +trigger +xfer" +#INTERFACES="+ncurses gtk" +SCRIPT_LANGS="guile lua +perl +python ruby tcl" +LANGS=" cs de es fr hu it ja pl pt_BR ru tr" +IUSE="doc nls +ssl test ${LANGS// / linguas_} ${SCRIPT_LANGS} ${PLUGINS} ${INTERFACES} ${NETWORKS}" +#REQUIRED_USE=" || ( ncurses gtk )" + +RDEPEND=" + dev-libs/libgcrypt:0= + net-misc/curl[ssl] + sys-libs/ncurses + sys-libs/zlib + charset? ( virtual/libiconv ) + guile? ( dev-scheme/guile:12 ) + lua? ( dev-lang/lua:0[deprecated] ) + nls? ( virtual/libintl ) + perl? ( dev-lang/perl ) + python? ( ${PYTHON_DEPS} ) + ruby? ( >=dev-lang/ruby-1.9 ) + ssl? ( net-libs/gnutls ) + spell? ( app-text/aspell ) + tcl? ( >=dev-lang/tcl-8.4.15:0= ) +" +# ncurses? ( sys-libs/ncurses ) +# gtk? ( x11-libs/gtk+:2 ) +DEPEND="${RDEPEND} + doc? ( + app-text/asciidoc + dev-util/source-highlight + ) + nls? ( >=sys-devel/gettext-0.15 ) + test? ( dev-util/cpputest ) +" + +DOCS="AUTHORS.asciidoc ChangeLog.asciidoc ReleaseNotes.asciidoc README.asciidoc" + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + local i + + # fix libdir placement + sed -i \ + -e "s:lib/:$(get_libdir)/:g" \ + -e "s:lib\":$(get_libdir)\":g" \ + CMakeLists.txt || die "sed failed" + + # install only required translations + for i in ${LANGS} ; do + if ! use linguas_${i} ; then + sed -i \ + -e "/${i}.po/d" \ + po/CMakeLists.txt || die + fi + done + + # install only required documentation ; en always + for i in `grep ADD_SUBDIRECTORY doc/CMakeLists.txt \ + | sed -e 's/.*ADD_SUBDIRECTORY( \(..\) ).*/\1/' -e '/en/d'`; do + if ! use linguas_${i} ; then + sed -i \ + -e '/ADD_SUBDIRECTORY( '${i}' )/d' \ + doc/CMakeLists.txt || die + fi + done +} + +src_configure() { + # $(cmake-utils_use_enable gtk) + # $(cmake-utils_use_enable ncurses) + local mycmakeargs=( + "-DENABLE_NCURSES=ON" + "-DENABLE_LARGEFILE=ON" + "-DENABLE_DEMO=OFF" + "-DENABLE_GTK=OFF" + "-DPYTHON_EXECUTABLE=${PYTHON}" + $(cmake-utils_use_enable alias) + $(cmake-utils_use_enable doc) + $(cmake-utils_use_enable charset) + $(cmake-utils_use_enable exec) + $(cmake-utils_use_enable fifo) + $(cmake-utils_use_enable guile) + $(cmake-utils_use_enable irc) + $(cmake-utils_use_enable logger) + $(cmake-utils_use_enable lua) + $(cmake-utils_use_enable nls) + $(cmake-utils_use_enable perl) + $(cmake-utils_use_enable python) + $(cmake-utils_use_enable relay) + $(cmake-utils_use_enable ruby) + $(cmake-utils_use_enable scripts) + $(cmake-utils_use_enable scripts script) + $(cmake-utils_use_enable spell ASPELL) + $(cmake-utils_use_enable ssl GNUTLS) + $(cmake-utils_use_enable tcl) + $(cmake-utils_use_enable test TESTS) + $(cmake-utils_use_enable trigger) + $(cmake-utils_use_enable xfer) + ) + [[ ${EPYTHON} == python3* ]] && mycmakeargs+=( $(cmake-utils_use_enable python PYTHON3) ) + + cmake-utils_src_configure +} diff --git a/net-irc/weechat/weechat-1.2.ebuild b/net-irc/weechat/weechat-1.2.ebuild new file mode 100644 index 000000000000..9406f3ff17ca --- /dev/null +++ b/net-irc/weechat/weechat-1.2.ebuild @@ -0,0 +1,137 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) +inherit eutils python-single-r1 multilib cmake-utils + +if [[ ${PV} == "9999" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/weechat/weechat.git" +else + SRC_URI="http://${PN}.org/files/src/${P}.tar.bz2" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="Portable and multi-interface IRC client" +HOMEPAGE="http://weechat.org/" + +LICENSE="GPL-3" +SLOT="0" + +NETWORKS="+irc" +PLUGINS="+alias +charset +exec +fifo +logger +relay +scripts +spell +trigger +xfer" +#INTERFACES="+ncurses gtk" +# dev-lang/v8 was dropped from Gentoo so we can't enable javascript support +SCRIPT_LANGS="guile lua +perl +python ruby tcl" +LANGS=" cs de es fr hu it ja pl pt_BR ru tr" +IUSE="doc nls +ssl test ${LANGS// / linguas_} ${SCRIPT_LANGS} ${PLUGINS} ${INTERFACES} ${NETWORKS}" +#REQUIRED_USE=" || ( ncurses gtk )" + +RDEPEND=" + dev-libs/libgcrypt:0= + net-misc/curl[ssl] + sys-libs/ncurses + sys-libs/zlib + charset? ( virtual/libiconv ) + guile? ( dev-scheme/guile:12 ) + lua? ( dev-lang/lua:0[deprecated] ) + nls? ( virtual/libintl ) + perl? ( dev-lang/perl ) + python? ( ${PYTHON_DEPS} ) + ruby? ( >=dev-lang/ruby-1.9 ) + ssl? ( net-libs/gnutls ) + spell? ( app-text/aspell ) + tcl? ( >=dev-lang/tcl-8.4.15:0= ) +" +# ncurses? ( sys-libs/ncurses ) +# gtk? ( x11-libs/gtk+:2 ) +DEPEND="${RDEPEND} + doc? ( + app-text/asciidoc + dev-util/source-highlight + ) + nls? ( >=sys-devel/gettext-0.15 ) + test? ( dev-util/cpputest ) +" + +DOCS="AUTHORS.asciidoc ChangeLog.asciidoc ReleaseNotes.asciidoc README.asciidoc" + +# tests need to be fixed to not use system plugins if weechat is already installed +RESTRICT="test" + +PATCHES=( "${FILESDIR}"/${P}-tinfo.patch ) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + local i + + epatch "${PATCHES[@]}" + + # fix libdir placement + sed -i \ + -e "s:lib/:$(get_libdir)/:g" \ + -e "s:lib\":$(get_libdir)\":g" \ + CMakeLists.txt || die "sed failed" + + # install only required translations + for i in ${LANGS} ; do + if ! use linguas_${i} ; then + sed -i \ + -e "/${i}.po/d" \ + po/CMakeLists.txt || die + fi + done + + # install only required documentation ; en always + for i in `grep ADD_SUBDIRECTORY doc/CMakeLists.txt \ + | sed -e 's/.*ADD_SUBDIRECTORY( \(..\) ).*/\1/' -e '/en/d'`; do + if ! use linguas_${i} ; then + sed -i \ + -e '/ADD_SUBDIRECTORY( '${i}' )/d' \ + doc/CMakeLists.txt || die + fi + done +} + +src_configure() { + # $(cmake-utils_use_enable gtk) + # $(cmake-utils_use_enable ncurses) + local mycmakeargs=( + "-DENABLE_NCURSES=ON" + "-DENABLE_LARGEFILE=ON" + "-DENABLE_DEMO=OFF" + "-DENABLE_GTK=OFF" + "-DENABLE_JAVASCRIPT=OFF" + "-DPYTHON_EXECUTABLE=${PYTHON}" + $(cmake-utils_use_enable alias) + $(cmake-utils_use_enable doc) + $(cmake-utils_use_enable charset) + $(cmake-utils_use_enable exec) + $(cmake-utils_use_enable fifo) + $(cmake-utils_use_enable guile) + $(cmake-utils_use_enable irc) + $(cmake-utils_use_enable logger) + $(cmake-utils_use_enable lua) + $(cmake-utils_use_enable nls) + $(cmake-utils_use_enable perl) + $(cmake-utils_use_enable python) + $(cmake-utils_use_enable relay) + $(cmake-utils_use_enable ruby) + $(cmake-utils_use_enable scripts) + $(cmake-utils_use_enable scripts script) + $(cmake-utils_use_enable spell ASPELL) + $(cmake-utils_use_enable ssl GNUTLS) + $(cmake-utils_use_enable tcl) + $(cmake-utils_use_enable test TESTS) + $(cmake-utils_use_enable trigger) + $(cmake-utils_use_enable xfer) + ) + [[ ${EPYTHON} == python3* ]] && mycmakeargs+=( $(cmake-utils_use_enable python PYTHON3) ) + + cmake-utils_src_configure +} diff --git a/net-irc/weechat/weechat-9999.ebuild b/net-irc/weechat/weechat-9999.ebuild new file mode 100644 index 000000000000..ed5f6e1fe61a --- /dev/null +++ b/net-irc/weechat/weechat-9999.ebuild @@ -0,0 +1,136 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) +inherit eutils python-single-r1 multilib cmake-utils + +if [[ ${PV} == "9999" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/weechat/weechat.git" +else + SRC_URI="http://${PN}.org/files/src/${P}.tar.bz2" + KEYWORDS="~amd64 ~ppc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" +fi + +DESCRIPTION="Portable and multi-interface IRC client" +HOMEPAGE="http://weechat.org/" + +LICENSE="GPL-3" +SLOT="0" + +NETWORKS="+irc" +PLUGINS="+alias +charset +exec +fifo +logger +relay +scripts +spell +trigger +xfer" +#INTERFACES="+ncurses gtk" +# dev-lang/v8 was dropped from Gentoo so we can't enable javascript support +SCRIPT_LANGS="guile lua +perl +python ruby tcl" +LANGS=" cs de es fr hu it ja pl pt_BR ru tr" +IUSE="doc nls +ssl test ${LANGS// / linguas_} ${SCRIPT_LANGS} ${PLUGINS} ${INTERFACES} ${NETWORKS}" +#REQUIRED_USE=" || ( ncurses gtk )" + +RDEPEND=" + dev-libs/libgcrypt:0= + net-misc/curl[ssl] + sys-libs/ncurses + sys-libs/zlib + charset? ( virtual/libiconv ) + guile? ( dev-scheme/guile:12 ) + lua? ( dev-lang/lua:0[deprecated] ) + nls? ( virtual/libintl ) + perl? ( dev-lang/perl ) + python? ( ${PYTHON_DEPS} ) + ruby? ( >=dev-lang/ruby-1.9 ) + ssl? ( net-libs/gnutls ) + spell? ( app-text/aspell ) + tcl? ( >=dev-lang/tcl-8.4.15:0= ) +" +# ncurses? ( sys-libs/ncurses ) +# gtk? ( x11-libs/gtk+:2 ) +DEPEND="${RDEPEND} + doc? ( + app-text/asciidoc + dev-util/source-highlight + ) + nls? ( >=sys-devel/gettext-0.15 ) + test? ( dev-util/cpputest ) +" + +DOCS="AUTHORS.asciidoc ChangeLog.asciidoc ReleaseNotes.asciidoc README.asciidoc" + +# tests need to be fixed to not use system plugins if weechat is already installed +RESTRICT="test" + +PATCHES=( "${FILESDIR}"/${PN}-1.2-tinfo.patch ) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + local i + + epatch "${PATCHES[@]}" + + # fix libdir placement + sed -i \ + -e "s:lib/:$(get_libdir)/:g" \ + -e "s:lib\":$(get_libdir)\":g" \ + CMakeLists.txt || die "sed failed" + + # install only required translations + for i in ${LANGS} ; do + if ! use linguas_${i} ; then + sed -i \ + -e "/${i}.po/d" \ + po/CMakeLists.txt || die + fi + done + + # install only required documentation ; en always + for i in `grep ADD_SUBDIRECTORY doc/CMakeLists.txt \ + | sed -e 's/.*ADD_SUBDIRECTORY( \(..\) ).*/\1/' -e '/en/d'`; do + if ! use linguas_${i} ; then + sed -i \ + -e '/ADD_SUBDIRECTORY( '${i}' )/d' \ + doc/CMakeLists.txt || die + fi + done +} + +src_configure() { + # $(cmake-utils_use_enable gtk) + # $(cmake-utils_use_enable ncurses) + local mycmakeargs=( + "-DENABLE_NCURSES=ON" + "-DENABLE_LARGEFILE=ON" + "-DENABLE_DEMO=OFF" + "-DENABLE_GTK=OFF" + "-DPYTHON_EXECUTABLE=${PYTHON}" + $(cmake-utils_use_enable alias) + $(cmake-utils_use_enable doc) + $(cmake-utils_use_enable charset) + $(cmake-utils_use_enable exec) + $(cmake-utils_use_enable fifo) + $(cmake-utils_use_enable guile) + $(cmake-utils_use_enable irc) + $(cmake-utils_use_enable logger) + $(cmake-utils_use_enable lua) + $(cmake-utils_use_enable nls) + $(cmake-utils_use_enable perl) + $(cmake-utils_use_enable python) + $(cmake-utils_use_enable relay) + $(cmake-utils_use_enable ruby) + $(cmake-utils_use_enable scripts) + $(cmake-utils_use_enable scripts script) + $(cmake-utils_use_enable spell ASPELL) + $(cmake-utils_use_enable ssl GNUTLS) + $(cmake-utils_use_enable tcl) + $(cmake-utils_use_enable test TESTS) + $(cmake-utils_use_enable trigger) + $(cmake-utils_use_enable xfer) + ) + [[ ${EPYTHON} == python3* ]] && mycmakeargs+=( $(cmake-utils_use_enable python PYTHON3) ) + + cmake-utils_src_configure +} diff --git a/net-irc/xaric/Manifest b/net-irc/xaric/Manifest new file mode 100644 index 000000000000..a0822343a62d --- /dev/null +++ b/net-irc/xaric/Manifest @@ -0,0 +1 @@ +DIST xaric-0.13.6.tar.gz 479754 SHA256 dbed41ed43efcea05baac0af0fe87cca36eebd96e5b7d4838b38cca3da4518bb SHA512 1c52e30cfab49d82306cd0b4402175f68cfc411b7ef04156b2361fadeea01648476742015306a0c242c13f4ab29916e8ac48a59f481ecdb5475584ef6cdf028f WHIRLPOOL b76afdbaa6e0352af8bc6a9fc76fced02f9a8c6210b1e6092a3b31a160ca3bd3095bcc959837c1a0c7142d73a5c03d32a743626f638f7f4110b53028968efba9 diff --git a/net-irc/xaric/files/xaric-0.13.6-tinfo.patch b/net-irc/xaric/files/xaric-0.13.6-tinfo.patch new file mode 100644 index 000000000000..0fcfe3aa1846 --- /dev/null +++ b/net-irc/xaric/files/xaric-0.13.6-tinfo.patch @@ -0,0 +1,16 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -279,9 +279,10 @@ + olibs="$LIBS" + AC_CHECK_LIB(termcap, tgetent, LIBS="-ltermcap $olibs", + AC_CHECK_LIB(termlib, tgetent, LIBS="-ltermlib $olibs", +- AC_CHECK_LIB(curses, tgetent, LIBS="-lcurses $olibs", +- AC_CHECK_LIB(xtermcap, tgetent, LIBS="-lxtermcap $olibs", +- AC_MSG_ERROR([i can not find tgetent. you need to help me]))))) ++ AC_CHECK_LIB(tinfo, tgetent, LIBS="-ltinfo $olibs", ++ AC_CHECK_LIB(curses, tgetent, LIBS="-lcurses $olibs", ++ AC_CHECK_LIB(xtermcap, tgetent, LIBS="-lxtermcap $olibs", ++ AC_MSG_ERROR([i can not find tgetent. you need to help me])))))) + fi + + dnl ---------------------------------------------------------- diff --git a/net-irc/xaric/metadata.xml b/net-irc/xaric/metadata.xml new file mode 100644 index 000000000000..c519652bdf0d --- /dev/null +++ b/net-irc/xaric/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-irc</herd> +</pkgmetadata> diff --git a/net-irc/xaric/xaric-0.13.6.ebuild b/net-irc/xaric/xaric-0.13.6.ebuild new file mode 100644 index 000000000000..b96111e2ec22 --- /dev/null +++ b/net-irc/xaric/xaric-0.13.6.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit autotools eutils + +DESCRIPTION="An IRC client similar to ircII, BitchX, or ircII EPIC" +HOMEPAGE="http://xaric.org/" +SRC_URI="http://xaric.org/software/${PN}/releases/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND="sys-libs/ncurses + dev-libs/openssl" +RDEPEND="${DEPEND}" + +DOCS=( AUTHORS ChangeLog README ) + +src_prepare() { + epatch "${FILESDIR}"/${P}-tinfo.patch + eautoreconf +} + +src_install() { + default + doicon xaric.xpm +} diff --git a/net-irc/xchat-otr/Manifest b/net-irc/xchat-otr/Manifest new file mode 100644 index 000000000000..4c863116e322 --- /dev/null +++ b/net-irc/xchat-otr/Manifest @@ -0,0 +1 @@ +DIST xchat-otr-0.3.tar.gz 33265 SHA256 7052bc6c9e2487de44f22ad7003f6abc629489380ba3fc358a1c97fe27df06f4 SHA512 0356e5608be4fb7fa4d1a6a3a2f5e71466cc24e42912bb6026dbc82422cb6d633ad160200b2b1427f874d44dff2ddd4e756999879c43f477ab1ca454a151f203 WHIRLPOOL 2360531c8ceecf089a3ad33142ebef4b16ee8f560aecc4b9e06a4abf4f566e8f19fd61e8c6fc0b3b8edd4b3b03a79d3dbc0a56c784a2c5ae1747e03b520b99ae diff --git a/net-irc/xchat-otr/metadata.xml b/net-irc/xchat-otr/metadata.xml new file mode 100644 index 000000000000..67e7d510efe5 --- /dev/null +++ b/net-irc/xchat-otr/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>polynomial-c@gentoo.org</email> + <name>Lars Wendler</name> +</maintainer> +</pkgmetadata> diff --git a/net-irc/xchat-otr/xchat-otr-0.3.ebuild b/net-irc/xchat-otr/xchat-otr-0.3.ebuild new file mode 100644 index 000000000000..db9ee1ffa00e --- /dev/null +++ b/net-irc/xchat-otr/xchat-otr-0.3.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="2" +inherit cmake-utils + +DESCRIPTION="Off-The-Record messaging (OTR) for xchat" +HOMEPAGE="http://irssi-otr.tuxfamily.org" + +# This should probably be exported by cmake-utils as a variable +CMAKE_BINARY_DIR="${WORKDIR}"/${PN}_build +mycmakeargs="-DDOCDIR=/usr/share/doc/${PF}" + +SRC_URI="ftp://download.tuxfamily.org/irssiotr/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="debug" + +RDEPEND="<net-libs/libotr-4 + net-irc/xchat + dev-libs/glib:2 + dev-libs/libgcrypt:0 + dev-libs/libgpg-error" + +DEPEND="${RDEPEND} + virtual/pkgconfig + dev-lang/python" + +src_install() { + cmake-utils_src_install + rm "${D}"/usr/share/doc/${PF}/LICENSE +} diff --git a/net-irc/znc/Manifest b/net-irc/znc/Manifest new file mode 100644 index 000000000000..7ceadbc650a4 --- /dev/null +++ b/net-irc/znc/Manifest @@ -0,0 +1,2 @@ +DIST znc-1.2.tar.gz 1235150 SHA256 d9a2cd2a484ff23e6fc9cbde8dd8a43efbcd8d288afca7b1268914ca0d18701d SHA512 dff24e56127e5599d64b4c62de967d5d48d8ebf23ca8597d33bf0b3622640512db7a462bfa7c2031cd8307f402bab8efa345f6d1fc813e78eb0dcae581de3cf7 WHIRLPOOL b0810eb66e63be762f74f04eb2289e3634b18d6ecbd36d55f6a6772697e0397637d59b9ea01eaf62ef1cbe5f6e65b06432a254f4ada35194aa06b65c4a2f7994 +DIST znc-1.4.tar.gz 1239648 SHA256 86e98fd0ed182d39828c926809f8075d836ee3b70a6dd43dfbb434822f2a7b52 SHA512 0c33b05e8232084999812cbaa467dc7d37b80cafc1001b82e89c702b4303d8db9a27b948fe653e7090404eb1c66f5492f02f3524bc39efabade4be8bdb476671 WHIRLPOOL 420e665fa193b3f0284a070e021c4c467e3d40a0812eedeef9b2f65a6626a050b7af8bf15a754ac571d12261705832cfa18a0f7a7817cce96d220028a86230cf diff --git a/net-irc/znc/files/znc-1.0-systemwideconfig.patch b/net-irc/znc/files/znc-1.0-systemwideconfig.patch new file mode 100644 index 000000000000..336163dd6a0c --- /dev/null +++ b/net-irc/znc/files/znc-1.0-systemwideconfig.patch @@ -0,0 +1,147 @@ +diff --git a/include/znc/znc.h b/include/znc/znc.h +index 03be646..f493c83 100644 +--- a/include/znc/znc.h ++++ b/include/znc/znc.h +@@ -169,6 +169,8 @@ public: + + static void DumpConfig(const CConfig* Config); + ++ void SetSystemWideConfig(bool systemWideConfig); ++ + private: + CFile* InitPidFile(); + bool DoRehash(CString& sError); +@@ -209,6 +211,7 @@ protected: + unsigned int m_uiConnectPaused; + TCacheMap<CString> m_sConnectThrottle; + bool m_bProtectWebSessions; ++ bool m_bSystemWideConfig; + }; + + #endif // !_ZNC_H +diff --git a/src/main.cpp b/src/main.cpp +index a1f3904..4950911 100644 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -10,6 +10,9 @@ + #include <znc/FileUtils.h> + #include <sys/wait.h> + #include <signal.h> ++#include <sys/types.h> ++#include <pwd.h> ++#include <grp.h> + + using std::cout; + using std::endl; +@@ -46,6 +49,7 @@ static const struct option g_LongOpts[] = { + { "makepass", no_argument, 0, 's' }, + { "makepem", no_argument, 0, 'p' }, + { "datadir", required_argument, 0, 'd' }, ++ { "system-wide-config-as", required_argument, 0, 'S' }, + { 0, 0, 0, 0 } + }; + +@@ -127,6 +131,8 @@ int main(int argc, char** argv) { + bool bMakeConf = false; + bool bMakePass = false; + bool bAllowRoot = false; ++ bool bSystemWideConfig = false; ++ CString sSystemWideConfigUser = "znc"; + bool bForeground = false; + #ifdef ALWAYS_RUN_IN_FOREGROUND + bForeground = true; +@@ -135,7 +141,7 @@ int main(int argc, char** argv) { + bool bMakePem = false; + #endif + +- while ((iArg = getopt_long(argc, argv, "hvnrcspd:Df", g_LongOpts, &iOptIndex)) != -1) { ++ while ((iArg = getopt_long(argc, argv, "hvnrcspd:DfS:", g_LongOpts, &iOptIndex)) != -1) { + switch (iArg) { + case 'h': + GenerateHelp(argv[0]); +@@ -153,6 +159,10 @@ int main(int argc, char** argv) { + case 'c': + bMakeConf = true; + break; ++ case 'S': ++ bSystemWideConfig = true; ++ sSystemWideConfigUser = optarg; ++ break; + case 's': + bMakePass = true; + break; +@@ -187,8 +197,36 @@ int main(int argc, char** argv) { + return 1; + } + ++ if (bSystemWideConfig && getuid() == 0) { ++ struct passwd *pwd; ++ ++ pwd = getpwnam(sSystemWideConfigUser.c_str()); ++ if (pwd == NULL) { ++ CUtils::PrintError("Daemon user not found."); ++ return 1; ++ } ++ ++ if ((long) pwd->pw_uid == 0) { ++ CUtils::PrintError("Please define a daemon user other than root."); ++ return 1; ++ } ++ if (setgroups(0, NULL) != 0) { ++ CUtils::PrintError("setgroups: Unable to clear supplementary group IDs"); ++ return 1; ++ } ++ if (setgid((long) pwd->pw_gid) != 0) { ++ CUtils::PrintError("setgid: Unable to drop group privileges"); ++ return 1; ++ } ++ if (setuid((long) pwd->pw_uid) != 0) { ++ CUtils::PrintError("setuid: Unable to drop user privileges"); ++ return 1; ++ } ++ } ++ + CZNC* pZNC = &CZNC::Get(); + pZNC->InitDirs(((argc) ? argv[0] : ""), sDataDir); ++ pZNC->SetSystemWideConfig(bSystemWideConfig); + + #ifdef HAVE_LIBSSL + if (bMakePem) { +@@ -229,7 +267,7 @@ int main(int argc, char** argv) { + CUtils::PrintStatus(true, ""); + } + +- if (isRoot()) { ++ if (isRoot() && !bSystemWideConfig) { + CUtils::PrintError("You are running ZNC as root! Don't do that! There are not many valid"); + CUtils::PrintError("reasons for this and it can, in theory, cause great damage!"); + if (!bAllowRoot) { +diff --git a/src/znc.cpp b/src/znc.cpp +index 9469790..297b021 100644 +--- a/src/znc.cpp ++++ b/src/znc.cpp +@@ -47,6 +47,7 @@ CZNC::CZNC() { + m_sConnectThrottle.SetTTL(30000); + m_pLockFile = NULL; + m_bProtectWebSessions = true; ++ m_bSystemWideConfig = false; + } + + CZNC::~CZNC() { +@@ -952,7 +953,7 @@ bool CZNC::WriteNewConfig(const CString& sConfigFile) { + CUtils::PrintMessage(""); + + File.UnLock(); +- return bFileOpen && CUtils::GetBoolInput("Launch ZNC now?", true); ++ return bFileOpen && !m_bSystemWideConfig && CUtils::GetBoolInput("Launch ZNC now?", true); + } + + size_t CZNC::FilterUncommonModules(set<CModInfo>& ssModules) { +@@ -1971,3 +1972,7 @@ void CZNC::LeakConnectQueueTimer(CConnectQueueTimer *pTimer) { + bool CZNC::WaitForChildLock() { + return m_pLockFile && m_pLockFile->ExLock(); + } ++ ++void CZNC::SetSystemWideConfig(bool systemWideConfig) { ++ m_bSystemWideConfig = systemWideConfig; ++} diff --git a/net-irc/znc/files/znc-1.2-webadmin-correctly-handle-channel-names.patch b/net-irc/znc/files/znc-1.2-webadmin-correctly-handle-channel-names.patch new file mode 100644 index 000000000000..93705f77ecb3 --- /dev/null +++ b/net-irc/znc/files/znc-1.2-webadmin-correctly-handle-channel-names.patch @@ -0,0 +1,73 @@ +https://bugs.gentoo.org/show_bug.cgi?id=507794 + +From 5e6e3be32acfeadeaf1fb3bb17bada08aec6432f Mon Sep 17 00:00:00 2001 +From: Uli Schlachter <psychon@znc.in> +Date: Sun, 13 Apr 2014 20:36:55 +0200 +Subject: [PATCH] webadmin/add channel: Correctly handle channel names + +The CChan constructor makes sure that the channel name begins with a valid +channel prefix. Thus, this could change the name of the resulting channel. + +When you edited an irc network which already had a channel "#foo", were +connected to IRC (so ZNC knows which prefixes are valid) and added a channel +"foo", this would lead to a problem: + +Webadmin checks and sees that there is no channel "foo" yet. Webadmin creates a +new CChan instance for "foo". The CChan constructor notices that "f" is not a +valid channel prefix and instead calls itself "#foo". Then, +CIRCNetwork::AddChan() would see that this channel already exists, delete the +given channel and return false. + +However, webadmin didn't check this result and would continue changing settings +on an already destroyed CChan instance. + +Fix this by checking if the channel exists after CChan had its chance to mess +with the channel name. Also handle failures from CIRCNetwork::AddChan(). + +Fixes #528. + +Signed-off-by: Uli Schlachter <psychon@znc.in> +--- + modules/webadmin.cpp | 16 +++++++++++----- + 1 file changed, 11 insertions(+), 5 deletions(-) + +diff --git a/modules/webadmin.cpp b/modules/webadmin.cpp +index 40a28d3..90ddfd2 100644 +--- a/modules/webadmin.cpp ++++ b/modules/webadmin.cpp +@@ -668,13 +668,19 @@ class CWebAdminMod : public CModule { + return true; + } + +- if (pNetwork->FindChan(sChanName.Token(0))) { +- WebSock.PrintErrorPage("Channel [" + sChanName.Token(0) + "] already exists"); ++ // This could change the channel name and e.g. add a "#" prefix ++ pChan = new CChan(sChanName, pNetwork, true); ++ ++ if (pNetwork->FindChan(pChan->GetName())) { ++ WebSock.PrintErrorPage("Channel [" + pChan->GetName() + "] already exists"); ++ delete pChan; + return true; + } + +- pChan = new CChan(sChanName, pNetwork, true); +- pNetwork->AddChan(pChan); ++ if (!pNetwork->AddChan(pChan)) { ++ WebSock.PrintErrorPage("Could not add channel [" + pChan->GetName() + "]"); ++ return true; ++ } + } + + pChan->SetBufferCount(WebSock.GetParam("buffercount").ToUInt(), spSession->IsAdmin()); +@@ -700,7 +706,7 @@ class CWebAdminMod : public CModule { + + CTemplate TmplMod; + TmplMod["User"] = pUser->GetUserName(); +- TmplMod["ChanName"] = sChanName; ++ TmplMod["ChanName"] = pChan->GetName(); + TmplMod["WebadminAction"] = "change"; + FOR_EACH_MODULE(it, pNetwork) { + (*it)->OnEmbeddedWebRequest(WebSock, "webadmin/channel", TmplMod); +-- +1.9.1 + diff --git a/net-irc/znc/files/znc.confd b/net-irc/znc/files/znc.confd new file mode 100644 index 000000000000..9681f8d792fb --- /dev/null +++ b/net-irc/znc/files/znc.confd @@ -0,0 +1,7 @@ +# /etc/conf.d/znc + +# Location of the znc configuration folder +ZNC_CONF="/var/lib/znc" + +# User to run znc as +ZNC_USER="znc" diff --git a/net-irc/znc/files/znc.initd b/net-irc/znc/files/znc.initd new file mode 100644 index 000000000000..f0825a1e9024 --- /dev/null +++ b/net-irc/znc/files/znc.initd @@ -0,0 +1,39 @@ +#!/sbin/runscript +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +extra_commands="config" +extra_started_commands="reload save" + +depend() { + need net +} + +start() { + ebegin "Starting ZNC" + start-stop-daemon --start --user ${ZNC_USER} --name znc \ + --exec /usr/bin/znc -- -d ${ZNC_CONF} + eend $? +} + +stop() { + ebegin "Stopping ZNC" + start-stop-daemon --signal SIGINT --name znc \ + --exec /usr/bin/znc -- -d ${ZNC_CONF} + eend $? +} + +reload() { + ebegin "Reloading ZNC Configuration File from Disk" + start-stop-daemon --signal SIGHUP --name znc \ + --exec /usr/bin/znc -- -d ${ZNC_CONF} + eend $? +} + +save() { + ebegin "Saving ZNC Configuration File to Disk" + start-stop-daemon --signal SIGUSR1 --name znc \ + --exec /usr/bin/znc -- -d ${ZNC_CONF} + eend $? +} diff --git a/net-irc/znc/metadata.xml b/net-irc/znc/metadata.xml new file mode 100644 index 000000000000..b37157dfe4de --- /dev/null +++ b/net-irc/znc/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-irc</herd> +<maintainer> + <email>wired@gentoo.org</email> + <name>Alex Alexander</name> +</maintainer> +<use> + <flag name="daemon">Allow znc to run as a system-wide service. Installs an init script and creates a znc user:group.</flag> +</use> +</pkgmetadata> diff --git a/net-irc/znc/znc-1.2-r1.ebuild b/net-irc/znc/znc-1.2-r1.ebuild new file mode 100644 index 000000000000..b8acfc2b11ed --- /dev/null +++ b/net-irc/znc/znc-1.2-r1.ebuild @@ -0,0 +1,167 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python3_3 ) +inherit base python-single-r1 user + +MY_PV=${PV/_/-} +DESCRIPTION="An advanced IRC Bouncer" + +if [[ ${PV} == *9999* ]]; then + inherit git-2 + EGIT_REPO_URI=${EGIT_REPO_URI:-"git://github.com/znc/znc.git"} + SRC_URI="" + KEYWORDS="" +else + SRC_URI="http://znc.in/releases/${PN}-${MY_PV}.tar.gz" + KEYWORDS="amd64 ~arm x86" +fi + +HOMEPAGE="http://znc.in" +LICENSE="GPL-2" +SLOT="0" +IUSE="daemon debug ipv6 perl python ssl sasl tcl" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + perl? ( >=dev-lang/perl-5.10 ) + python? ( ${PYTHON_DEPS} ) + sasl? ( >=dev-libs/cyrus-sasl-2 ) + ssl? ( >=dev-libs/openssl-0.9.7d:0 ) + tcl? ( dev-lang/tcl:0= ) +" +DEPEND=" + virtual/pkgconfig + perl? ( dev-lang/swig ) + python? ( + >=dev-lang/swig-2.0.8 + ) + ${RDEPEND} +" + +S=${WORKDIR}/${PN}-${MY_PV} + +PATCHES=( + "${FILESDIR}/${PN}-1.0-systemwideconfig.patch" + "${FILESDIR}/${P}-webadmin-correctly-handle-channel-names.patch" +) + +CONFDIR="/var/lib/znc" + +pkg_setup() { + if use python; then + python-single-r1_pkg_setup + fi + if use daemon; then + enewgroup ${PN} + enewuser ${PN} -1 -1 /dev/null ${PN} + fi +} + +src_prepare() { + if [[ ${PV} == *9999* ]]; then + ./autogen.sh + fi + + base_src_prepare +} + +src_configure() { + econf \ + $(use_enable debug) \ + $(use_enable ipv6) \ + $(use_enable perl) \ + $(use python && echo "--enable-python=python3") \ + $(use_enable sasl cyrus) \ + $(use_enable ssl openssl) \ + $(use_enable tcl tcl) +} + +src_install() { + emake install DESTDIR="${D}" + dodoc NOTICE README.md + if use daemon; then + newinitd "${FILESDIR}"/znc.initd znc + newconfd "${FILESDIR}"/znc.confd znc + fi +} + +pkg_postinst() { + if use !daemon; then + elog + elog "Run 'znc --makeconf' as the user you want to run ZNC as" + elog "to make a configuration file" + elog "If you are using SSL you should also run 'znc --makepem'" + elog + else + elog + elog "An init-script was installed in /etc/init.d" + elog "A config file was installed in /etc/conf.d" + if [[ ! -d "${EROOT}${CONFDIR}" ]]; then + elog + elog "Run 'emerge --config znc' to configure ZNC" + elog "as a system-wide daemon." + elog + elog "If you are using SSL you should also run:" + elog " znc --system-wide-config-as znc --makepem -d ${CONFDIR}" + elog "as root" + elog + elog "If migrating from a user-based install" + elog "you can use your existing config files:" + elog " mkdir ${CONFDIR}" + elog " mv /home/\$USER/.znc/* ${CONFDIR}" + elog " rm -rf /home/\$USER/.znc" + elog " chown -R znc:znc ${CONFDIR}" + elog + elog "If you already have znc set up and want take advantage of the" + elog "init script but skip of all the above, you can also edit" + elog " /etc/conf.d/znc" + elog "and adjust the variables to your current znc user and config" + elog "location." + if [[ -d "${EROOT}"/etc/znc ]]; then + elog + ewarn "/etc/znc exists on your system." + ewarn "Due to the nature of the contents of that folder," + ewarn "we have changed the default configuration to use" + ewarn " /var/lib/znc" + ewarn "please move /etc/znc to /var/lib/znc" + ewarn "or adjust /etc/conf.d/znc" + fi + else + elog "Existing config detected in ${CONFDIR}" + elog "You're good to go :)" + fi + elog + fi +} + +pkg_config() { + if use daemon && ! [[ -d "${EROOT}${CONFDIR}" ]]; then + einfo "Press ENTER to interactively create a new configuration file for znc." + einfo "To abort, press Control-C" + read + mkdir -p "${EROOT}${CONFDIR}" || die + chown -R ${PN}:${PN} "${EROOT}${CONFDIR}" || + die "Setting permissions failed" + "${EROOT}"/usr/bin/znc --system-wide-config-as znc -c -r -d "${EROOT}${CONFDIR}" || + die "Config failed" + echo + einfo "To start znc, run '/etc/init.d/znc start'" + einfo "or add znc to a runlevel:" + einfo " rc-update add znc default" + else + if use daemon; then + ewarn "${CONFDIR} already exists, aborting to avoid damaging" + ewarn "any existing configuration. If you are sure you want" + ewarn "to generate a new configuration, remove the folder" + ewarn "and try again." + else + ewarn "To configure znc as a system-wide daemon you have to" + ewarn "enable the 'daemon' use flag." + fi + fi +} diff --git a/net-irc/znc/znc-1.4-r1.ebuild b/net-irc/znc/znc-1.4-r1.ebuild new file mode 100644 index 000000000000..ef3446ed05e8 --- /dev/null +++ b/net-irc/znc/znc-1.4-r1.ebuild @@ -0,0 +1,168 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python{3_3,3_4} ) +inherit base python-single-r1 systemd user + +MY_PV=${PV/_/-} +DESCRIPTION="An advanced IRC Bouncer" + +if [[ ${PV} == *9999* ]]; then + inherit git-2 + EGIT_REPO_URI=${EGIT_REPO_URI:-"git://github.com/znc/znc.git"} + SRC_URI="" + KEYWORDS="" +else + SRC_URI="http://znc.in/releases/${PN}-${MY_PV}.tar.gz" + KEYWORDS="amd64 ~arm ~x86" +fi + +HOMEPAGE="http://znc.in" +LICENSE="GPL-2" +SLOT="0" +IUSE="daemon debug ipv6 perl python ssl sasl tcl" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + perl? ( >=dev-lang/perl-5.10 ) + python? ( ${PYTHON_DEPS} ) + sasl? ( >=dev-libs/cyrus-sasl-2 ) + ssl? ( >=dev-libs/openssl-0.9.7d:0 ) + tcl? ( dev-lang/tcl:0= ) +" +DEPEND=" + virtual/pkgconfig + perl? ( + >=dev-lang/swig-2.0.12 + ) + python? ( + >=dev-lang/swig-2.0.12 + ) + ${RDEPEND} +" + +S=${WORKDIR}/${PN}-${MY_PV} + +PATCHES=( + "${FILESDIR}/${PN}-1.0-systemwideconfig.patch" +) + +CONFDIR="/var/lib/znc" + +pkg_setup() { + if use python; then + python-single-r1_pkg_setup + fi + if use daemon; then + enewgroup ${PN} + enewuser ${PN} -1 -1 /dev/null ${PN} + fi +} + +src_prepare() { + if [[ ${PV} == *9999* ]]; then + ./autogen.sh + fi + + base_src_prepare +} + +src_configure() { + econf \ + --with-systemdsystemunitdir=$(systemd_get_unitdir) \ + $(use_enable debug) \ + $(use_enable ipv6) \ + $(use_enable perl) \ + $(use python && echo "--enable-python=python3") \ + $(use_enable sasl cyrus) \ + $(use_enable ssl openssl) \ + $(use_enable tcl tcl) +} + +src_install() { + emake install DESTDIR="${D}" + dodoc NOTICE README.md + if use daemon; then + newinitd "${FILESDIR}"/znc.initd znc + newconfd "${FILESDIR}"/znc.confd znc + fi +} + +pkg_postinst() { + if use !daemon; then + elog + elog "Run 'znc --makeconf' as the user you want to run ZNC as" + elog "to make a configuration file" + elog + else + elog + elog "An init-script was installed in /etc/init.d" + elog "A config file was installed in /etc/conf.d" + if [[ ! -d "${EROOT}${CONFDIR}" ]]; then + elog + elog "Run 'emerge --config znc' to configure ZNC" + elog "as a system-wide daemon." + elog + elog "To generate a new SSL certificate, run:" + elog " znc --system-wide-config-as znc --makepem -d ${CONFDIR}" + elog "as root" + elog + elog "If migrating from a user-based install" + elog "you can use your existing config files:" + elog " mkdir ${CONFDIR}" + elog " mv /home/\$USER/.znc/* ${CONFDIR}" + elog " rm -rf /home/\$USER/.znc" + elog " chown -R znc:znc ${CONFDIR}" + elog + elog "If you already have znc set up and want take advantage of the" + elog "init script but skip of all the above, you can also edit" + elog " /etc/conf.d/znc" + elog "and adjust the variables to your current znc user and config" + elog "location." + if [[ -d "${EROOT}"/etc/znc ]]; then + elog + ewarn "/etc/znc exists on your system." + ewarn "Due to the nature of the contents of that folder," + ewarn "we have changed the default configuration to use" + ewarn " /var/lib/znc" + ewarn "please move /etc/znc to /var/lib/znc" + ewarn "or adjust /etc/conf.d/znc" + fi + else + elog "Existing config detected in ${CONFDIR}" + elog "You're good to go :)" + fi + elog + fi +} + +pkg_config() { + if use daemon && ! [[ -d "${EROOT}${CONFDIR}" ]]; then + einfo "Press ENTER to interactively create a new configuration file for znc." + einfo "To abort, press Control-C" + read + mkdir -p "${EROOT}${CONFDIR}" || die + chown -R ${PN}:${PN} "${EROOT}${CONFDIR}" || + die "Setting permissions failed" + "${EROOT}"/usr/bin/znc --system-wide-config-as znc -c -r -d "${EROOT}${CONFDIR}" || + die "Config failed" + echo + einfo "To start znc, run '/etc/init.d/znc start'" + einfo "or add znc to a runlevel:" + einfo " rc-update add znc default" + else + if use daemon; then + ewarn "${CONFDIR} already exists, aborting to avoid damaging" + ewarn "any existing configuration. If you are sure you want" + ewarn "to generate a new configuration, remove the folder" + ewarn "and try again." + else + ewarn "To configure znc as a system-wide daemon you have to" + ewarn "enable the 'daemon' use flag." + fi + fi +} diff --git a/net-irc/znc/znc-1.4.ebuild b/net-irc/znc/znc-1.4.ebuild new file mode 100644 index 000000000000..bcc2710ed30e --- /dev/null +++ b/net-irc/znc/znc-1.4.ebuild @@ -0,0 +1,167 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python3_3 ) +inherit base python-single-r1 user + +MY_PV=${PV/_/-} +DESCRIPTION="An advanced IRC Bouncer" + +if [[ ${PV} == *9999* ]]; then + inherit git-2 + EGIT_REPO_URI=${EGIT_REPO_URI:-"git://github.com/znc/znc.git"} + SRC_URI="" + KEYWORDS="" +else + SRC_URI="http://znc.in/releases/${PN}-${MY_PV}.tar.gz" + KEYWORDS="~amd64 ~arm ~x86" +fi + +HOMEPAGE="http://znc.in" +LICENSE="GPL-2" +SLOT="0" +IUSE="daemon debug ipv6 perl python ssl sasl tcl" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + perl? ( >=dev-lang/perl-5.10 ) + python? ( ${PYTHON_DEPS} ) + sasl? ( >=dev-libs/cyrus-sasl-2 ) + ssl? ( >=dev-libs/openssl-0.9.7d:0 ) + tcl? ( dev-lang/tcl:0= ) +" +DEPEND=" + virtual/pkgconfig + perl? ( + >=dev-lang/swig-2.0.12 + ) + python? ( + >=dev-lang/swig-2.0.12 + ) + ${RDEPEND} +" + +S=${WORKDIR}/${PN}-${MY_PV} + +PATCHES=( + "${FILESDIR}/${PN}-1.0-systemwideconfig.patch" +) + +CONFDIR="/var/lib/znc" + +pkg_setup() { + if use python; then + python-single-r1_pkg_setup + fi + if use daemon; then + enewgroup ${PN} + enewuser ${PN} -1 -1 /dev/null ${PN} + fi +} + +src_prepare() { + if [[ ${PV} == *9999* ]]; then + ./autogen.sh + fi + + base_src_prepare +} + +src_configure() { + econf \ + $(use_enable debug) \ + $(use_enable ipv6) \ + $(use_enable perl) \ + $(use python && echo "--enable-python=python3") \ + $(use_enable sasl cyrus) \ + $(use_enable ssl openssl) \ + $(use_enable tcl tcl) +} + +src_install() { + emake install DESTDIR="${D}" + dodoc NOTICE README.md + if use daemon; then + newinitd "${FILESDIR}"/znc.initd znc + newconfd "${FILESDIR}"/znc.confd znc + fi +} + +pkg_postinst() { + if use !daemon; then + elog + elog "Run 'znc --makeconf' as the user you want to run ZNC as" + elog "to make a configuration file" + elog + else + elog + elog "An init-script was installed in /etc/init.d" + elog "A config file was installed in /etc/conf.d" + if [[ ! -d "${EROOT}${CONFDIR}" ]]; then + elog + elog "Run 'emerge --config znc' to configure ZNC" + elog "as a system-wide daemon." + elog + elog "To generate a new SSL certificate, run:" + elog " znc --system-wide-config-as znc --makepem -d ${CONFDIR}" + elog "as root" + elog + elog "If migrating from a user-based install" + elog "you can use your existing config files:" + elog " mkdir ${CONFDIR}" + elog " mv /home/\$USER/.znc/* ${CONFDIR}" + elog " rm -rf /home/\$USER/.znc" + elog " chown -R znc:znc ${CONFDIR}" + elog + elog "If you already have znc set up and want take advantage of the" + elog "init script but skip of all the above, you can also edit" + elog " /etc/conf.d/znc" + elog "and adjust the variables to your current znc user and config" + elog "location." + if [[ -d "${EROOT}"/etc/znc ]]; then + elog + ewarn "/etc/znc exists on your system." + ewarn "Due to the nature of the contents of that folder," + ewarn "we have changed the default configuration to use" + ewarn " /var/lib/znc" + ewarn "please move /etc/znc to /var/lib/znc" + ewarn "or adjust /etc/conf.d/znc" + fi + else + elog "Existing config detected in ${CONFDIR}" + elog "You're good to go :)" + fi + elog + fi +} + +pkg_config() { + if use daemon && ! [[ -d "${EROOT}${CONFDIR}" ]]; then + einfo "Press ENTER to interactively create a new configuration file for znc." + einfo "To abort, press Control-C" + read + mkdir -p "${EROOT}${CONFDIR}" || die + chown -R ${PN}:${PN} "${EROOT}${CONFDIR}" || + die "Setting permissions failed" + "${EROOT}"/usr/bin/znc --system-wide-config-as znc -c -r -d "${EROOT}${CONFDIR}" || + die "Config failed" + echo + einfo "To start znc, run '/etc/init.d/znc start'" + einfo "or add znc to a runlevel:" + einfo " rc-update add znc default" + else + if use daemon; then + ewarn "${CONFDIR} already exists, aborting to avoid damaging" + ewarn "any existing configuration. If you are sure you want" + ewarn "to generate a new configuration, remove the folder" + ewarn "and try again." + else + ewarn "To configure znc as a system-wide daemon you have to" + ewarn "enable the 'daemon' use flag." + fi + fi +} diff --git a/net-irc/znc/znc-9999.ebuild b/net-irc/znc/znc-9999.ebuild new file mode 100644 index 000000000000..57071fa620e6 --- /dev/null +++ b/net-irc/znc/znc-9999.ebuild @@ -0,0 +1,167 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python{3_3,3_4} ) +inherit base python-single-r1 user + +MY_PV=${PV/_/-} +DESCRIPTION="An advanced IRC Bouncer" + +if [[ ${PV} == *9999* ]]; then + inherit git-2 + EGIT_REPO_URI=${EGIT_REPO_URI:-"git://github.com/znc/znc.git"} + SRC_URI="" + KEYWORDS="" +else + SRC_URI="http://znc.in/releases/${PN}-${MY_PV}.tar.gz" + KEYWORDS="~amd64 ~arm ~x86" +fi + +HOMEPAGE="http://znc.in" +LICENSE="GPL-2" +SLOT="0" +IUSE="daemon debug ipv6 perl python ssl sasl tcl" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + perl? ( >=dev-lang/perl-5.10 ) + python? ( ${PYTHON_DEPS} ) + sasl? ( >=dev-libs/cyrus-sasl-2 ) + ssl? ( >=dev-libs/openssl-0.9.7d:0 ) + tcl? ( dev-lang/tcl:0= ) +" +DEPEND=" + virtual/pkgconfig + perl? ( + >=dev-lang/swig-2.0.12 + ) + python? ( + >=dev-lang/swig-2.0.12 + ) + ${RDEPEND} +" + +S=${WORKDIR}/${PN}-${MY_PV} + +PATCHES=( + "${FILESDIR}/${PN}-1.0-systemwideconfig.patch" +) + +CONFDIR="/var/lib/znc" + +pkg_setup() { + if use python; then + python-single-r1_pkg_setup + fi + if use daemon; then + enewgroup ${PN} + enewuser ${PN} -1 -1 /dev/null ${PN} + fi +} + +src_prepare() { + if [[ ${PV} == *9999* ]]; then + ./autogen.sh + fi + + base_src_prepare +} + +src_configure() { + econf \ + $(use_enable debug) \ + $(use_enable ipv6) \ + $(use_enable perl) \ + $(use python && echo "--enable-python=python3") \ + $(use_enable sasl cyrus) \ + $(use_enable ssl openssl) \ + $(use_enable tcl tcl) +} + +src_install() { + emake install DESTDIR="${D}" + dodoc NOTICE README.md + if use daemon; then + newinitd "${FILESDIR}"/znc.initd znc + newconfd "${FILESDIR}"/znc.confd znc + fi +} + +pkg_postinst() { + if use !daemon; then + elog + elog "Run 'znc --makeconf' as the user you want to run ZNC as" + elog "to make a configuration file" + elog + else + elog + elog "An init-script was installed in /etc/init.d" + elog "A config file was installed in /etc/conf.d" + if [[ ! -d "${EROOT}${CONFDIR}" ]]; then + elog + elog "Run 'emerge --config znc' to configure ZNC" + elog "as a system-wide daemon." + elog + elog "To generate a new SSL certificate, run:" + elog " znc --system-wide-config-as znc --makepem -d ${CONFDIR}" + elog "as root" + elog + elog "If migrating from a user-based install" + elog "you can use your existing config files:" + elog " mkdir ${CONFDIR}" + elog " mv /home/\$USER/.znc/* ${CONFDIR}" + elog " rm -rf /home/\$USER/.znc" + elog " chown -R znc:znc ${CONFDIR}" + elog + elog "If you already have znc set up and want take advantage of the" + elog "init script but skip of all the above, you can also edit" + elog " /etc/conf.d/znc" + elog "and adjust the variables to your current znc user and config" + elog "location." + if [[ -d "${EROOT}"/etc/znc ]]; then + elog + ewarn "/etc/znc exists on your system." + ewarn "Due to the nature of the contents of that folder," + ewarn "we have changed the default configuration to use" + ewarn " /var/lib/znc" + ewarn "please move /etc/znc to /var/lib/znc" + ewarn "or adjust /etc/conf.d/znc" + fi + else + elog "Existing config detected in ${CONFDIR}" + elog "You're good to go :)" + fi + elog + fi +} + +pkg_config() { + if use daemon && ! [[ -d "${EROOT}${CONFDIR}" ]]; then + einfo "Press ENTER to interactively create a new configuration file for znc." + einfo "To abort, press Control-C" + read + mkdir -p "${EROOT}${CONFDIR}" || die + chown -R ${PN}:${PN} "${EROOT}${CONFDIR}" || + die "Setting permissions failed" + "${EROOT}"/usr/bin/znc --system-wide-config-as znc -c -r -d "${EROOT}${CONFDIR}" || + die "Config failed" + echo + einfo "To start znc, run '/etc/init.d/znc start'" + einfo "or add znc to a runlevel:" + einfo " rc-update add znc default" + else + if use daemon; then + ewarn "${CONFDIR} already exists, aborting to avoid damaging" + ewarn "any existing configuration. If you are sure you want" + ewarn "to generate a new configuration, remove the folder" + ewarn "and try again." + else + ewarn "To configure znc as a system-wide daemon you have to" + ewarn "enable the 'daemon' use flag." + fi + fi +} |