# Maintainer: Natanael Copa _luaversions="5.1 5.2" _drivers="mysql postgres sqlite3 odbc" pkgname=lua-sql pkgver=2.3.0 pkgrel=1 pkgdesc="Lua SQL drivers" url="http://www.keplerproject.org/luasql/" arch="all" license="MIT" depends="" makedepends="mysql-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 sqlite_v2_api.patch" _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" \ T=mysql || return 1 make CFLAGS="$CFLAGS $( pkg-config lua$_i --cflags ) -fPIC" \ DRIVER_LIBS="$(pkg-config --libs libpq)" \ T=postgres || return 1 make CFLAGS="$CFLAGS $( pkg-config lua$_i --cflags ) -fPIC" \ DRIVER_LIBS="$(pkg-config --libs sqlite3)" \ T=sqlite3 || return 1 make CFLAGS="$CFLAGS $( pkg-config lua$_i --cflags ) -fPIC -DUNIXODBC" \ DRIVER_LIBS="-lodbc"\ T=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" depends= replaces= if [ "$_ver" = "5.1" ]; then replaces="lua-sql-$_driver" fi 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 _deps= for _i in $_luaversions; do _deps="$_deps lua${_i}-sql-${_j}" done eval "split_$_j() { pkgdesc=\"Lua SQL drivers for $_j\"; depends=\"$_deps\"; mkdir -p \"$subpkgdir\"; }" done md5sums="af9f0f3a2313a1fcf88c40700092048d luasql-2.3.0.tar.gz 656699a57b5529aa9594f0fe6bad1dd4 sqlite_v2_api.patch" sha256sums="e173ff7b17a2757951b4b2f67d3b1bfe04caad7185b68cffa7758ce822e25e9f luasql-2.3.0.tar.gz 74fb0ad9161346a29dc133508b5b444084a46d792a9a4e987766fc3989dd0435 sqlite_v2_api.patch" sha512sums="62309cf6241ffab1ed32e718536a5c986168a7bb6fcf2cf55e884db5043d5ec473bbbb7c93b399dfc0a19f282e850f742452583ad0d973661a7f672b0f8da2d5 luasql-2.3.0.tar.gz 7ea3eb63d4e121875033dd8b7a027eb8fd7784831f9999c880a22d64cf8d50a9ef2cde804b86b416d39262e1f7185054bac1e7fb4fb560320c0a53cce52f80cc sqlite_v2_api.patch"