diff options
Diffstat (limited to 'community/unrealircd')
-rw-r--r-- | community/unrealircd/PKGBUILD | 72 | ||||
-rw-r--r-- | community/unrealircd/arch-fixes.patch | 89 | ||||
-rw-r--r-- | community/unrealircd/unrealircd.service | 12 |
3 files changed, 173 insertions, 0 deletions
diff --git a/community/unrealircd/PKGBUILD b/community/unrealircd/PKGBUILD new file mode 100644 index 000000000..813d6c0bd --- /dev/null +++ b/community/unrealircd/PKGBUILD @@ -0,0 +1,72 @@ +# $Id: PKGBUILD 94846 2013-07-31 07:46:49Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Zerial <fernando@zerial.org> + +pkgname=unrealircd +pkgver=3.2.10.1 +pkgrel=1 +pkgdesc="Open Source IRC Server" +arch=('i686' 'x86_64') +url="http://unrealircd.com" +license=('GPL2') +depends=('openssl' 'curl' 'c-ares') +conflicts=('ircd') +provides=('ircd') +backup=('etc/unrealircd/unrealircd.conf' + 'etc/conf.d/unrealircd') +source=(http://www.unrealircd.com/downloads/Unreal$pkgver.tar.gz + unrealircd.service + arch-fixes.patch) +md5sums=('97b4bd68a804e517355efa756f401a90' + '93276a1cd426e4a811c072c35fc31e94' + '77807313c4578f2c30286b9f9e3fb21c') + +build() { + cd $srcdir/Unreal$pkgver + + patch -p1 <$srcdir/arch-fixes.patch + + ac_cv_ip6=yes ./configure --with-showlistmodes \ + --enable-hub --enable-prefixaq --with-listen=5 \ + --with-dpath=/etc/unrealircd \ + --with-spath=/usr/bin \ + --with-nick-history=2000 --with-sendq=3000000 \ + --with-bufferpool=18 --with-hostname=archlinux \ + --with-permissions=0600 --with-fd-setsize=1024 \ + --enable-dynamic-linking \ + --enable-ziplinks \ + --enable-ssl \ + --enable-inet6 \ + --enable-libcurl=/usr \ + --with-system-cares + + make +} + +package() { + cd $srcdir/Unreal$pkgver + + mkdir -p $pkgdir/etc/unrealircd + mkdir -p $pkgdir/usr/bin + + make IRCDDIR=$pkgdir/etc/unrealircd BINDIR=$pkgdir/usr/bin install + + mv $srcdir/Unreal$pkgver/src/ircd $pkgdir/usr/bin/unrealircd + mv $srcdir/Unreal$pkgver/doc/example.conf $pkgdir/etc/unrealircd/unrealircd.conf + mkdir -p $pkgdir/usr/lib/unrealircd + mv $pkgdir/etc/unrealircd/modules $pkgdir/usr/lib/unrealircd/ + ln -s /usr/lib/unrealircd/modules $pkgdir/etc/unrealircd/modules + + # log + mkdir -p $pkgdir/var/log/unrealircd/ + touch $pkgdir/var/log/unrealircd/ircd.log + ln -s /var/log/unrealircd/ircd.log $pkgdir/etc/unrealircd/ircd.log + + mkdir -p $pkgdir/etc/conf.d/ + echo 'UNREALIRCD_USER=root' >$pkgdir/etc/conf.d/unrealircd + + find $pkgdir/usr -type f -exec chmod ugo+r {} \; + find $pkgdir/usr -type d -exec chmod ugo+rx {} \; + + install -Dm0644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system/$pkgname.service +} diff --git a/community/unrealircd/arch-fixes.patch b/community/unrealircd/arch-fixes.patch new file mode 100644 index 000000000..a1741968d --- /dev/null +++ b/community/unrealircd/arch-fixes.patch @@ -0,0 +1,89 @@ +diff -wbBur Unreal3.2.org/doc/example.conf Unreal3.2/doc/example.conf +--- Unreal3.2.org/doc/example.conf 2009-04-13 15:03:55.000000000 +0400 ++++ Unreal3.2/doc/example.conf 2011-08-29 13:39:25.000000000 +0400 +@@ -33,8 +33,8 @@ + */ + + /* FOR *NIX, uncomment the following 2lines: */ +-//loadmodule "src/modules/commands.so"; +-//loadmodule "src/modules/cloak.so"; ++loadmodule "modules/commands.so"; ++loadmodule "modules/cloak.so"; + + /* FOR Windows, uncomment the following 2 lines: */ + //loadmodule "modules/commands.dll"; +diff -wbBur Unreal3.2.org/src/ircd.c Unreal3.2/src/ircd.c +--- Unreal3.2.org/src/ircd.c 2009-03-01 21:37:58.000000000 +0300 ++++ Unreal3.2/src/ircd.c 2011-08-29 13:39:25.000000000 +0400 +@@ -844,7 +844,7 @@ + const char *compiledfor, *runtime; + int error = 0; + +-#ifdef USE_SSL ++#if 0 + compiledfor = OPENSSL_VERSION_TEXT; + runtime = SSLeay_version(SSLEAY_VERSION); + if (strcasecmp(compiledfor, runtime)) +@@ -854,7 +854,7 @@ + error=1; + } + #endif +-#ifdef ZIP_LINKS ++#if 0 + runtime = zlibVersion(); + compiledfor = ZLIB_VERSION; + if (*compiledfor != *runtime) +@@ -864,7 +864,7 @@ + error = 1; + } + #endif +-#ifdef USE_LIBCURL ++#if 0 + /* Perhaps someone should tell them to do this a bit more easy ;) + * problem is runtime output is like: 'libcurl/7.11.1 zlib/1.2.1 c-ares/1.2.0' + * while header output is like: '7.11.1'. +diff -wbBur Unreal3.2.org/unreal.in Unreal3.2/unreal.in +--- Unreal3.2.org/unreal.in 2009-03-01 21:37:55.000000000 +0300 ++++ Unreal3.2/unreal.in 2011-08-29 13:39:37.000000000 +0400 +@@ -7,7 +7,7 @@ + if [ -r $PID_FILE ] ; then + mv -f $PID_FILE $PID_BACKUP + fi +- @BINDIR@ ++ @BINDIR@/ircd + sleep 1 + if [ ! -r $PID_FILE ] ; then + echo "Possible error encountered (IRCd seemingly not started)" +@@ -31,11 +31,11 @@ + echo "Restarting UnrealIRCd" + kill -2 `cat $PID_FILE` + elif [ "$1" = "mkpasswd" ] ; then +- @BINDIR@ -P $2 $3 ++ @BINDIR@/ircd -P $2 $3 + elif [ "$1" = "version" ] ; then +- @BINDIR@ -v ++ @BINDIR@/ircd -v + elif [ "$1" = "gencloak" ] ; then +- @BINDIR@ -k ++ @BINDIR@/ircd -k + elif [ "$1" = "backtrace" ] ; then + cd @IRCDDIR@ + +@@ -90,7 +90,7 @@ + fi + + # Some ugly prepare work -- ignore errors +- (echo quit|gdb @BINDIR@ $corefile 2>&1)|\ ++ (echo quit|gdb @BINDIR@/ircd $corefile 2>&1)|\ + grep -i 'no such file'|\ + awk -F ':' '{ print $1 }'|sort|uniq|\ + awk -F '.' "{ system(\"ln -s ../$modpath/\" \$2 \".so \" \$0) }" +@@ -110,7 +110,7 @@ + quit + __EOF__ + +- gdb -batch -x gdb.commands @BINDIR@ $corefile ++ gdb -batch -x gdb.commands @BINDIR@/ircd $corefile + rm -f gdb.commands + echo "GCC: `gcc -v 2>&1|tail -n 1`" + echo "UNAME: `uname -a`" diff --git a/community/unrealircd/unrealircd.service b/community/unrealircd/unrealircd.service new file mode 100644 index 000000000..a81419f2a --- /dev/null +++ b/community/unrealircd/unrealircd.service @@ -0,0 +1,12 @@ +[Unit] +Description=IRC daemon +After=network.target remote-fs.target nss-lookup.target + +[Service] +Type=forking +User=ircd +PIDFile=/var/run/unrealircd.pid +ExecStart=/usr/bin/unrealircd + +[Install] +WantedBy=multi-user.target |