mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-12-26 11:52:25 +01:00
we build all the different sql drivers for all the different lua versions from a single APKBUILD
116 lines
3.1 KiB
Plaintext
116 lines
3.1 KiB
Plaintext
# 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"
|