summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorLopo2015-06-17 20:07:15 +0200
committerLopo2015-06-17 20:07:15 +0200
commit39298255097ce674d3d593e9c75117f3d310efd2 (patch)
treef9f3d70b55558bc9aa9fce3c5f0a6845936385e9
downloadaur-39298255097ce674d3d593e9c75117f3d310efd2.tar.gz
Initial import
-rw-r--r--.AURINFO17
-rw-r--r--.SRCINFO20
-rw-r--r--PKGBUILD89
-rw-r--r--dlopen.c29
4 files changed, 155 insertions, 0 deletions
diff --git a/.AURINFO b/.AURINFO
new file mode 100644
index 000000000000..8f90302261ab
--- /dev/null
+++ b/.AURINFO
@@ -0,0 +1,17 @@
+pkgbase = eggdrop-gseen.mod
+ pkgdesc = Mod for Eggdrop. The advantage of gseen in contrast to most other seen scripts is it's speed.
+ pkgver = 1.1.1.dev3
+ pkgrel = 3
+ url = http://www.kreativrauschen.com/gseen.mod/
+ arch = i686
+ arch = x86_64
+ license = GPLv2
+ makedepends = hardening-wrapper
+ source = http://ftp.eggheads.org/pub/eggdrop/source/1.6/eggdrop1.6.21.tar.bz2
+ source = http://www.kreativrauschen.com/gseen.mod/gseen.mod.1.1.1.dev3.tar.gz
+ source = dlopen.c
+ options = !makeflags
+ backup = etc/eggdrop-gseen.mod.conf
+
+pkgname = eggdrop-gseen.mod
+
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..33de68a37bea
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,20 @@
+pkgbase = eggdrop-gseen.mod
+ pkgdesc = Mod for Eggdrop. The advantage of gseen in contrast to most other seen scripts is it's speed.
+ pkgver = 1.1.1.dev3
+ pkgrel = 3
+ url = http://www.kreativrauschen.com/gseen.mod/
+ arch = i686
+ arch = x86_64
+ license = GPLv2
+ makedepends = hardening-wrapper
+ options = !makeflags
+ backup = etc/eggdrop-gseen.mod.conf
+ source = http://ftp.eggheads.org/pub/eggdrop/source/1.6/eggdrop1.6.21.tar.bz2
+ source = http://www.kreativrauschen.com/gseen.mod/gseen.mod.1.1.1.dev3.tar.gz
+ source = dlopen.c
+ sha256sums = 75bd5573a609eac3940c0b6ca8251c3f38ea5d54b520e1cad93c650b4bc21754
+ sha256sums = 0be772525d95a1bf68f8023094a268ea14c557960dc8f58470949ce688c8e89b
+ sha256sums = c6e8a113c570c8bdde23741d2d8c25e28fea42e158a09f375e3710d9ba336d44
+
+pkgname = eggdrop-gseen.mod
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..0ab60aa92d02
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,89 @@
+# Maintainer: Pavol Hluchy (lopo) <lopo at losys dot eu>
+
+pkgname=eggdrop-gseen.mod
+pkgver=1.1.1.dev3
+pkgrel=3
+_eggver=1.6.21
+pkgdesc="Mod for Eggdrop. The advantage of gseen in contrast to most other seen scripts is it's speed."
+arch=('i686' 'x86_64')
+url="http://www.kreativrauschen.com/gseen.mod/"
+license=('GPLv2')
+#depends=("eggdrop>=${_eggver}")
+makedepends=('hardening-wrapper')
+source=("http://ftp.eggheads.org/pub/eggdrop/source/1.6/eggdrop${_eggver}.tar.bz2"
+ "http://www.kreativrauschen.com/gseen.mod/gseen.mod.${pkgver}.tar.gz"
+ 'dlopen.c')
+backup=("etc/${pkgname}.conf")
+options=('!makeflags')
+sha256sums=('75bd5573a609eac3940c0b6ca8251c3f38ea5d54b520e1cad93c650b4bc21754'
+ '0be772525d95a1bf68f8023094a268ea14c557960dc8f58470949ce688c8e89b'
+ 'c6e8a113c570c8bdde23741d2d8c25e28fea42e158a09f375e3710d9ba336d44')
+
+# Want multiple *unique* installations? Change the pkgname, it will just work.
+_usrdir='/usr'
+_sharedir="${_usrdir}/share"
+_modulesdir="${_usrdir}/lib/eggdrop"
+_scriptsdir="${_sharedir}/eggdrop/scripts"
+_langsdir="${_sharedir}/eggdrop/language"
+readonly -a _usrdir _sharedir _modulesdir _scriptsdir _langsdir
+
+build() {
+ cd "${srcdir}/eggdrop${_eggver}"
+ cp -r "${srcdir}/gseen.mod" src/mod
+
+ # Force hardened build unless CC is already set.
+ if [[ ! $CC ]]; then
+ export CC='/usr/lib/hardening-wrapper/bin/gcc'
+ fi
+
+ # Don't complain about language files on startup.
+ sed -i "s|\"./language\"|\"${_langsdir}\"|g" src/eggdrop.h
+
+ ./configure --with-tcllib='/usr/lib/libtcl8.6.so' --with-tclinc='/usr/include/tcl.h'
+ make config
+
+ # Include LDFLAGS.
+ sed -i "s|-L/usr/lib|${LDFLAGS}|g" Makefile
+ make
+}
+
+check() {
+ cd "${srcdir}/eggdrop${_eggver}"
+
+ # If this fails, theres a rather good chance something is broken.
+ gcc -O2 "${srcdir}/dlopen.c" -o dlopen -ldl
+
+ if ! env LD_PRELOAD='' ./dlopen gseen.so ; then
+ error 'Sanity check failed: gseen.so cannot be loaded. Proceeding anyway..'
+ fi
+
+ rm dlopen
+}
+
+package() {
+ readonly eggtmp="${pkgdir}/tmp"
+
+ # This is ugly..
+
+ cd "${srcdir}/eggdrop${_eggver}"
+ make DEST="$eggtmp" install
+
+ mkdir -p -m 0755 "${pkgdir}/etc" \
+ "${pkgdir}/${_usrdir}/lib" \
+ "${pkgdir}/${_sharedir}/eggdrop/"{language,scripts} \
+ "${pkgdir}/${_modulesdir}"
+
+ mv "$eggtmp/modules-${_eggver}/gseen.so" "${pkgdir}/${_modulesdir}"
+
+ cp src/mod/gseen.mod/gseen.*.lang "${pkgdir}${_langsdir}"
+ cp src/mod/gseen.mod/addons/*.tcl "${pkgdir}${_scriptsdir}"
+
+ sed -e '2d' \
+ -e "s@scripts/@${_scriptsdir}/@g" \
+ -e "s@modules/@${_modulesdir}/@g" \
+ -e "s@language/@${_langsdir}/@g" \
+ src/mod/gseen.mod/gseen.conf > "${pkgdir}/etc/${pkgname}.conf"
+
+ rm -r "$eggtmp"
+ find "${pkgdir}/${_sharedir}" -type f -exec chmod 0444 {} +
+}
diff --git a/dlopen.c b/dlopen.c
new file mode 100644
index 000000000000..0cc81f9a005d
--- /dev/null
+++ b/dlopen.c
@@ -0,0 +1,29 @@
+#include <dlfcn.h>
+#include <stdio.h>
+#include <limits.h>
+#include <sys/stat.h>
+
+/* Simple program to see if dlopen() would succeed. */
+int main(int argc, char **argv)
+{
+ int i;
+ struct stat st;
+ char buf[PATH_MAX];
+
+ for (i=1; i<argc; i++) {
+ if (dlopen(argv[i], RTLD_NOW)) {
+ fprintf(stdout, "dlopen() of '%s' succeeded.\n", argv[i]);
+ }
+ else {
+ snprintf(buf, sizeof (buf), "./%s", argv[i]);
+ if ((!stat(buf, &st)) && dlopen(buf, RTLD_NOW)) {
+ fprintf(stdout, "dlopen() of './%s' succeeded.\n", argv[i]);
+ }
+ else {
+ fprintf(stdout, "dlopen() of '%s' failed: %s\n", argv[i], dlerror());
+ return 1;
+ }
+ }
+ }
+ return 0;
+}