aboutsummaryrefslogtreecommitdiffstats
path: root/main/lua-sql
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2014-06-05 08:02:07 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2014-06-05 08:26:16 +0000
commitfa2422284685c88f06b20fd5a089ae27a0f543ab (patch)
tree4c89ed293ce0f54e31ccc3630f32bf824d44fb84 /main/lua-sql
parent8d61a971f145e0f6e70e71494ebec4b4cea56ab7 (diff)
downloadaports-fa2422284685c88f06b20fd5a089ae27a0f543ab.tar.bz2
aports-fa2422284685c88f06b20fd5a089ae27a0f543ab.tar.xz
main/lua-sql: merge lua-sql drivers
we build all the different sql drivers for all the different lua versions from a single APKBUILD
Diffstat (limited to 'main/lua-sql')
-rw-r--r--main/lua-sql/APKBUILD115
-rw-r--r--main/lua-sql/widechars.patch10
2 files changed, 125 insertions, 0 deletions
diff --git a/main/lua-sql/APKBUILD b/main/lua-sql/APKBUILD
new file mode 100644
index 0000000000..45eda19d03
--- /dev/null
+++ b/main/lua-sql/APKBUILD
@@ -0,0 +1,115 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+_luaversions="5.1 5.2"
+_drivers="mysql postgres sqlite3 odbc"
+
+pkgname=lua-sql
+pkgver=2.3.0
+pkgrel=0
+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
+ widechars.patch"
+
+_sdir="$srcdir"/luasql-$pkgver
+prepare() {
+ cd "$_sdir"
+ # 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 <mysql/mysql.h>:' \
+ 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
+a706dfeb8cdfcca209b90755e8104545 widechars.patch"
+sha256sums="e173ff7b17a2757951b4b2f67d3b1bfe04caad7185b68cffa7758ce822e25e9f luasql-2.3.0.tar.gz
+89aed953834f9b6ed9998baac8454d7761f317d61513b532c17d0262c401a446 widechars.patch"
+sha512sums="62309cf6241ffab1ed32e718536a5c986168a7bb6fcf2cf55e884db5043d5ec473bbbb7c93b399dfc0a19f282e850f742452583ad0d973661a7f672b0f8da2d5 luasql-2.3.0.tar.gz
+b31fa46b99d06d6069c03679b7cef08412eee6d5e4606b02e02b98cb97e03c0b884d65390c1e80cf5a36fa41b3afba9cbbc441284ec3a1e725e3de7bc824908e widechars.patch"
diff --git a/main/lua-sql/widechars.patch b/main/lua-sql/widechars.patch
new file mode 100644
index 0000000000..784793348d
--- /dev/null
+++ b/main/lua-sql/widechars.patch
@@ -0,0 +1,10 @@
+--- a/src/ls_odbc.c
++++ b/src/ls_odbc.c
+@@ -150,6 +150,7 @@
+ case SQL_TYPE_DATE: case SQL_TYPE_TIME: case SQL_TYPE_TIMESTAMP:
+ case SQL_DATE: case SQL_INTERVAL: case SQL_TIMESTAMP:
+ case SQL_LONGVARCHAR:
++ case SQL_WCHAR: case SQL_WVARCHAR: case SQL_WLONGVARCHAR:
+ return "string";
+ case SQL_BIGINT: case SQL_TINYINT: case SQL_NUMERIC:
+ case SQL_DECIMAL: case SQL_INTEGER: case SQL_SMALLINT: