summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaxime Poulin2015-11-30 22:57:04 -0500
committerMaxime Poulin2015-11-30 22:57:04 -0500
commitc781cf77ebd23b5992f17167cc6872f38558d907 (patch)
tree9d2d9627c1f1451a270c73e71b43c0b35020f22d
downloadaur-c781cf77ebd23b5992f17167cc6872f38558d907.tar.gz
Port to AUR4 & update to latest version
-rw-r--r--.SRCINFO38
-rw-r--r--PKGBUILD75
-rw-r--r--inspircd.install21
-rw-r--r--inspircd.service17
4 files changed, 151 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..4f4b0285c224
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,38 @@
+pkgbase = inspircd
+ pkgdesc = A stable, modern and lightweight IRC daemon
+ pkgver = 2.0.20
+ pkgrel = 1
+ url = http://www.inspircd.org/
+ install = inspircd.install
+ arch = any
+ license = GPL2
+ makedepends = pkg-config
+ makedepends = libmariadbclient
+ makedepends = postgresql
+ makedepends = sqlite3
+ makedepends = libldap
+ makedepends = geoip
+ makedepends = tre
+ makedepends = gnutls
+ makedepends = openssl
+ makedepends = libgcrypt
+ depends = perl
+ optdepends = gnutls: m_ssl_gnutls
+ optdepends = libgcrypt: m_ssl_gnutls
+ optdepends = openssl: m_ssl_openssl
+ optdepends = libmariadbclient: m_mysql
+ optdepends = pcre: m_regex_pcre
+ optdepends = postgresql: m_pgsql
+ optdepends = sqlite3: m_sqlite3
+ optdepends = libldap: m_ldapoper and m_ldapauth
+ optdepends = geoip: m_geoip
+ optdepends = tre: m_regex_tre
+ provides = inspircd
+ conflicts = inspircd
+ source = https://github.com/inspircd/inspircd/archive/v2.0.20.tar.gz
+ source = inspircd.service
+ sha512sums = 85463f7df379e5c7e190b4cc7ea67a80d5c4e5799c68abf2329e8204239dbed7258d11c97e5138039a8002f18ca0bd75ffc5c362b02cc27170adaf8cda6acc7e
+ sha512sums = 5a16a7c237693ffc6a108358f339b6aa2451fb16430561848ae869f890199b38fab6a13640bcc35cf1d07e32d7e5fff405d88668ee05ddaffc2ef61cb42ee832
+
+pkgname = inspircd
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..056f209be556
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,75 @@
+# Maintainer: Maxime Poulin <maxpoulin64@gmail.com>
+# Contributor: Damian Nowak <damian.nowak@atlashost.eu>
+# Contributor: Kyle Fuller <inbox@kylefuller.co.uk>
+# Contributor: jibi <jibi@paranoici.org>
+
+pkgname='inspircd'
+pkgver='2.0.20'
+pkgrel='1'
+pkgdesc='A stable, modern and lightweight IRC daemon'
+arch=('any')
+url='http://www.inspircd.org/'
+license=('GPL2')
+conflicts=('inspircd')
+provides=('inspircd')
+depends=('perl')
+makedepends=('pkg-config' 'libmariadbclient' 'postgresql' 'sqlite3' 'libldap' 'geoip'
+ 'tre' 'gnutls' 'openssl' 'libgcrypt')
+optdepends=('gnutls: m_ssl_gnutls'
+ 'libgcrypt: m_ssl_gnutls'
+ 'openssl: m_ssl_openssl'
+ 'libmariadbclient: m_mysql'
+ 'pcre: m_regex_pcre'
+ 'postgresql: m_pgsql'
+ 'sqlite3: m_sqlite3'
+ 'libldap: m_ldapoper and m_ldapauth'
+ 'geoip: m_geoip'
+ 'tre: m_regex_tre')
+install='inspircd.install'
+source=("https://github.com/inspircd/inspircd/archive/v$pkgver.tar.gz"
+ 'inspircd.service')
+sha512sums=('85463f7df379e5c7e190b4cc7ea67a80d5c4e5799c68abf2329e8204239dbed7258d11c97e5138039a8002f18ca0bd75ffc5c362b02cc27170adaf8cda6acc7e'
+ '5a16a7c237693ffc6a108358f339b6aa2451fb16430561848ae869f890199b38fab6a13640bcc35cf1d07e32d7e5fff405d88668ee05ddaffc2ef61cb42ee832')
+
+build() {
+ cd "${srcdir}/inspircd-${pkgver}"
+
+ ./configure \
+ --enable-extras=m_geoip.cpp \
+ --enable-extras=m_ldapauth.cpp \
+ --enable-extras=m_ldapoper.cpp \
+ --enable-extras=m_mysql.cpp \
+ --enable-extras=m_pgsql.cpp \
+ --enable-extras=m_regex_pcre.cpp \
+ --enable-extras=m_regex_posix.cpp \
+ --enable-extras=m_regex_tre.cpp \
+ --enable-extras=m_sqlite3.cpp
+
+ ./configure \
+ --uid=0 \
+ --prefix=/usr/lib/inspircd \
+ --binary-dir=/usr/bin \
+ --module-dir=/usr/lib/inspircd/modules \
+ --config-dir=/etc/inspircd \
+ --data-dir=/var/lib/inspircd \
+ --log-dir=/var/log/inspircd \
+ --enable-gnutls \
+ --enable-openssl \
+ --enable-epoll
+
+ make
+}
+
+package() {
+ install -Dm644 "${srcdir}"/inspircd.service "${pkgdir}"/usr/lib/systemd/system/inspircd.service
+ install -o141 -g141 -dm750 "${pkgdir}/var/log/inspircd" "${pkgdir}/var/lib/inspircd"
+
+ cd "${srcdir}/inspircd-${pkgver}"
+ make DESTDIR="$pkgdir" install
+
+ mkdir -p "${pkgdir}"/usr/share/inspircd
+ mv "${pkgdir}"/etc/inspircd/examples "${pkgdir}"/usr/share/inspircd/examples
+
+ rm -rf "${pkgdir}"/usr/lib/inspircd/logs
+ rm -rf "${pkgdir}"/usr/lib/inspircd/data
+}
diff --git a/inspircd.install b/inspircd.install
new file mode 100644
index 000000000000..997f72dcd0e2
--- /dev/null
+++ b/inspircd.install
@@ -0,0 +1,21 @@
+create_user() {
+ getent group inspircd &>/dev/null || groupadd -r -g 141 inspircd >/dev/null
+ getent passwd inspircd &>/dev/null || useradd -r -u 141 -g inspircd -d /var/lib/inspircd -s /bin/false inspircd >/dev/null
+}
+
+post_install() {
+ create_user
+ echo '==> You will need to create a config file for inspircd'
+ echo '==> cp /usr/share/inspircd/examples/inspircd.conf.example /etc/inspircd/inspircd.conf'
+ echo '==> You will need to change the pidfile. To do this you can insert the following into your config.'
+ echo '==> <pid file="/var/lib/inspircd/inspircd.pid">'
+ echo '==> Remember to use absolute paths in your config directory and not relative paths like you would do with a user-based inspircd install.'
+}
+
+post_upgrade() {
+ create_user
+}
+
+post_remove() {
+ getent passwd inspircd &>/dev/null && userdel inspircd
+}
diff --git a/inspircd.service b/inspircd.service
new file mode 100644
index 000000000000..746112986820
--- /dev/null
+++ b/inspircd.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=InspIRCd IRC daemon
+Requires=network.target
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/var/lib/inspircd/inspircd.pid
+ExecStart=/usr/lib/inspircd/inspircd start
+ExecReload=/usr/lib/inspircd/inspircd rehash
+ExecStop=/usr/lib/inspircd/inspircd stop
+Restart=always
+User=inspircd
+Group=inspircd
+
+[Install]
+WantedBy=multi-user.target