projects/aports·blob master · refs

92 lines · 2.3 KiB

1# Contributor: Łukasz Jendrysik <[email protected]>
2# Maintainer: Natanael Copa <[email protected]>
3_luaversions="5.1 5.2 5.3 5.4 5.5"
4_drivers="mysql postgres sqlite3 odbc"
5
6pkgname=lua-sql
7_pkgname=luasql
8pkgver=2.6.0
9pkgrel=6
10pkgdesc="Lua SQL drivers"
11url="http://lunarmodules.github.io/luasql/"
12arch="all"
13license="MIT"
14makedepends="mariadb-connector-c-dev libpq-dev sqlite-dev unixodbc-dev"
15for _v in $_luaversions; do
16 makedepends="$makedepends lua$_v-dev"
17 for _d in $_drivers; do
18 subpackages="$subpackages lua$_v-sql-$_d:_subpackage"
19 done
20done
21for _d in $_drivers; do
22 subpackages="$subpackages lua-sql-$_d:_meta_subpackage"
23done
24
25source="$_pkgname-$pkgver.tar.gz::https://github.com/lunarmodules/$_pkgname/archive/$pkgver.tar.gz
26 gcc14.patch"
27builddir="$srcdir/$_pkgname-$pkgver"
28options="!check"
29
30prepare() {
31 default_prepare
32
33 local lver; for lver in $_luaversions; do
34 cp -r "$builddir" "$builddir-$lver"
35 done
36}
37
38build() {
39 local cflags lver
40
41 for lver in $_luaversions; do
42 cflags="$CFLAGS $(pkg-config lua$lver --cflags) -fPIC"
43
44 msg "Building for Lua $lver..."
45 cd "$builddir-$lver"
46
47 make CFLAGS="$cflags" DRIVER_LIBS="-lmysqlclient" \
48 mysql
49
50 make CFLAGS="$cflags" DRIVER_LIBS="$(pkg-config --libs libpq)" \
51 postgres
52
53 make CFLAGS="$cflags" DRIVER_LIBS="$(pkg-config --libs sqlite3)" \
54 sqlite3
55
56 make CFLAGS="$cflags -DUNIXODBC" DRIVER_LIBS="-lodbc" \
57 odbc
58 done
59}
60
61package() {
62 mkdir -p "$pkgdir"
63}
64
65_meta_subpackage() {
66 local driver="${subpkgname##*-}"
67 pkgdesc="$pkgdesc for $driver"
68
69 mkdir -p "$subpkgdir"
70}
71
72_subpackage() {
73 local lver="${subpkgname:3:3}"
74 local driver="${subpkgname##*-}"
75 pkgdesc="Lua $lver SQL driver for $driver"
76 depends="lua$lver"
77 install_if="lua-sql-$driver=$pkgver-r$pkgrel lua$lver"
78 local rockdir="$subpkgdir/usr/lib/luarocks/rocks-$lver/$_pkgname/$pkgver-1"
79
80 cd "$builddir-$lver"
81 local install_cmod="$(pkg-config --variable INSTALL_CMOD lua$lver)"
82 install -D src/$driver.so \
83 "$subpkgdir"/$install_cmod/luasql/$driver.so
84
85 mkdir -p "$rockdir"
86 echo 'rock_manifest = {}' > "$rockdir"/rock_manifest
87}
88
89sha512sums="
90051438d4f5a9059c2ecf52143a06279469c220117b8b99363ea4fda434f08780794f0c4d54185ea891845238b3f5a307ba06ee7a1e7f4583a3b393c63eed66e9 luasql-2.6.0.tar.gz
9159b3fc557db504fb2479fc68134bc0fd478ff3ad46f047c0f3429d66fa9b87e045af1331bade96accd895a61f88f5158b5db4b6783147009a9c6445ed4d85e0f gcc14.patch
92"