| 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 | |
| 6 | pkgname=lua-sql |
| 7 | _pkgname=luasql |
| 8 | pkgver=2.6.0 |
| 9 | pkgrel=6 |
| 10 | pkgdesc="Lua SQL drivers" |
| 11 | url="http://lunarmodules.github.io/luasql/" |
| 12 | arch="all" |
| 13 | license="MIT" |
| 14 | makedepends="mariadb-connector-c-dev libpq-dev sqlite-dev unixodbc-dev" |
| 15 | for _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 |
| 20 | done |
| 21 | for _d in $_drivers; do |
| 22 | subpackages="$subpackages lua-sql-$_d:_meta_subpackage" |
| 23 | done |
| 24 | |
| 25 | source="$_pkgname-$pkgver.tar.gz::https://github.com/lunarmodules/$_pkgname/archive/$pkgver.tar.gz |
| 26 | gcc14.patch" |
| 27 | builddir="$srcdir/$_pkgname-$pkgver" |
| 28 | options="!check" |
| 29 | |
| 30 | prepare() { |
| 31 | default_prepare |
| 32 | |
| 33 | local lver; for lver in $_luaversions; do |
| 34 | cp -r "$builddir" "$builddir-$lver" |
| 35 | done |
| 36 | } |
| 37 | |
| 38 | build() { |
| 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 | |
| 61 | package() { |
| 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 | |
| 89 | sha512sums=" |
| 90 | 051438d4f5a9059c2ecf52143a06279469c220117b8b99363ea4fda434f08780794f0c4d54185ea891845238b3f5a307ba06ee7a1e7f4583a3b393c63eed66e9 luasql-2.6.0.tar.gz |
| 91 | 59b3fc557db504fb2479fc68134bc0fd478ff3ad46f047c0f3429d66fa9b87e045af1331bade96accd895a61f88f5158b5db4b6783147009a9c6445ed4d85e0f gcc14.patch |
| 92 | " |