# Contributor: Ɓukasz Jendrysik # Maintainer: Natanael Copa _luaversions="5.1 5.2 5.3" _drivers="mysql postgres sqlite3 odbc" pkgname=lua-sql pkgver=2.3.1 pkgrel=1 pkgdesc="Lua SQL drivers" url="http://keplerproject.github.io/luasql/doc/us/" arch="all" license="MIT" depends="" makedepends="mariadb-dev postgresql-dev sqlite-dev unixodbc-dev" install= subpackages= for _i in $_luaversions; do makedepends="$makedepends lua$_i-dev" for _j in $_drivers; do subpackages="$subpackages lua$_i-sql-$_j:split_${_j}_${_i/./}" done done for _j in $_drivers; do subpackages="$subpackages lua-sql-$_j:split_${_j}" done source="luasql-$pkgver.tar.gz::https://github.com/keplerproject/luasql/archive/v$pkgver.tar.gz" _sdir="$srcdir"/luasql-$pkgver prepare() { cd "$_sdir" for i in $source; do case $i in *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; esac done # apply patches here # The config has DRIVER_INCS but it seems like its not respected # so we just fix the .c file sed -i -e 's:^\#include "mysql.h":\#include :' \ src/ls_mysql.c || return 1 cd "$srcdir" for _i in $_luaversions; do cp -r "$_sdir" "$srcdir"/build-$_i done } build() { for _i in $_luaversions; do msg "build for Lua $_i" cd "$srcdir"/build-$_i make CFLAGS="$CFLAGS $( pkg-config lua$_i --cflags ) -fPIC" \ DRIVER_LIBS="-lmysqlclient" \ mysql || return 1 make CFLAGS="$CFLAGS $( pkg-config lua$_i --cflags ) -fPIC" \ DRIVER_LIBS="$(pkg-config --libs libpq)" \ postgres || return 1 make CFLAGS="$CFLAGS $( pkg-config lua$_i --cflags ) -fPIC" \ DRIVER_LIBS="$(pkg-config --libs sqlite3)" \ sqlite3 || return 1 make CFLAGS="$CFLAGS $( pkg-config lua$_i --cflags ) -fPIC -DUNIXODBC" \ DRIVER_LIBS="-lodbc"\ odbc || return 1 done } package() { for _i in $_luaversions; do local _install_cmod=$(pkg-config --variable INSTALL_CMOD lua$_i) cd "$srcdir"/build-$_i for _j in $_drivers; do install -D src/$_j.so \ "$pkgdir"/$_install_cmod/luasql/$_j.so \ || return 1 done done } _split() { local d= _ver=$1 _driver=$2 pkgdesc="Lua $_ver SQL driver for $2" install_if="lua$_ver lua-sql-$_driver=$pkgver-r$pkgrel" depends= replaces= mkdir -p "$subpkgdir"/usr/lib/lua/$_ver/luasql mv "$pkgdir"/usr/lib/lua/$_ver/luasql/$_driver.so \ "$subpkgdir"/usr/lib/lua/$_ver/luasql/ || return 1 } for _i in $_luaversions; do for _j in $_drivers; do eval "split_${_j}_${_i/./}() { _split $_i $_j; }" done done for _j in $_drivers; do eval "split_$_j() { pkgdesc=\"Lua SQL drivers for $_j\"; mkdir -p \"$subpkgdir\"; }" done md5sums="ddf721412aa55904f9e61f54d124e563 luasql-2.3.1.tar.gz" sha256sums="281f4d2c7d563551145169e2da41b5942a7aa15f4aedbcd73d53a8f8589c49e8 luasql-2.3.1.tar.gz" sha512sums="e4fbdaa8a0bc206773f616bdb8701d0b9af7f0c13daa4f41656a1937ee30bf8315a0afc079658f7b8cc29f41c9c9339c4d8cb66395a6137479f97a68cb43f95e luasql-2.3.1.tar.gz"