diff options
author | Lopo | 2015-06-17 20:07:15 +0200 |
---|---|---|
committer | Lopo | 2015-06-17 20:07:15 +0200 |
commit | 39298255097ce674d3d593e9c75117f3d310efd2 (patch) | |
tree | f9f3d70b55558bc9aa9fce3c5f0a6845936385e9 | |
download | aur-eggdrop-gseen.mod.tar.gz |
Initial import
-rw-r--r-- | .AURINFO | 17 | ||||
-rw-r--r-- | .SRCINFO | 20 | ||||
-rw-r--r-- | PKGBUILD | 89 | ||||
-rw-r--r-- | dlopen.c | 29 |
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; +} |