| 1 | # Contributor: Jakub Jirutka <[email protected]> |
| 2 | # Maintainer: Jakub Jirutka <[email protected]> |
| 3 | pkgname=lua-xml |
| 4 | _rockname=xml |
| 5 | pkgver=1.1.3 |
| 6 | pkgrel=2 |
| 7 | pkgdesc="Very fast XML parser for Lua based on RapidXML" |
| 8 | url="https://github.com/lubyk/xml" |
| 9 | arch="all" |
| 10 | license="MIT" |
| 11 | depends="lua-lub" |
| 12 | checkdepends="lua-lut luajit" |
| 13 | source="https://github.com/lubyk/$_rockname/archive/REL-$pkgver/lua-xml-$pkgver.tar.gz |
| 14 | dub-update-to-C++17-style-exception-notation.patch" |
| 15 | builddir="$srcdir/$_rockname-REL-$pkgver" |
| 16 | |
| 17 | case "$CARCH" in |
| 18 | ppc64le|riscv64|loongarch64) |
| 19 | # blocked by luajit |
| 20 | options="$options !check" |
| 21 | ;; |
| 22 | esac |
| 23 | |
| 24 | _luaversions="5.1 5.2" |
| 25 | for _v in $_luaversions; do |
| 26 | makedepends="$makedepends lua$_v-dev luarocks$_v" |
| 27 | subpackages="$subpackages lua$_v-${pkgname#lua-}:_subpackage" |
| 28 | done |
| 29 | |
| 30 | build() { |
| 31 | local lver; for lver in $_luaversions; do |
| 32 | msg "Building for Lua $lver..." |
| 33 | |
| 34 | luarocks-$lver \ |
| 35 | CC="$CC" \ |
| 36 | CFLAGS="$CFLAGS -fPIC" \ |
| 37 | LUA_INCDIR="$(pkg-config --variable=includedir lua$lver)" \ |
| 38 | LUA_LIBDIR="$(pkg-config --variable=libdir lua$lver)" \ |
| 39 | make --tree=./build-$lver \ |
| 40 | $_rockname-$pkgver-*.rockspec |
| 41 | done |
| 42 | } |
| 43 | |
| 44 | check() { |
| 45 | local lver; for lver in $_luaversions jit; do |
| 46 | msg "Testing on lua$lver" |
| 47 | |
| 48 | ln -sf ../build-${lver/jit/5.1}/lib/lua/${lver/jit/5.1}/xml/core.so xml/ |
| 49 | lua$lver test/all.lua |
| 50 | done |
| 51 | } |
| 52 | |
| 53 | package() { |
| 54 | mkdir -p "$pkgdir" |
| 55 | } |
| 56 | |
| 57 | _subpackage() { |
| 58 | local lver="${subpkgname:3:3}" |
| 59 | pkgdesc="$pkgdesc (for Lua $lver)" |
| 60 | depends="$depends lua$lver" |
| 61 | install_if="$pkgname=$pkgver-r$pkgrel lua$lver" |
| 62 | local rocksdir="$subpkgdir/usr/lib/luarocks/rocks-$lver" |
| 63 | |
| 64 | mkdir -p "$subpkgdir"/usr |
| 65 | cp -r "$builddir"/build-$lver/* "$subpkgdir"/usr/ |
| 66 | |
| 67 | rm -r "$rocksdir"/manifest "$rocksdir"/$_rockname/*/doc |
| 68 | } |
| 69 | |
| 70 | sha512sums=" |
| 71 | fdbfab6aaf46e71a02a2ac6dd0b3f708ee7e712f9704a2b834c2240696519dbcbb28fcee555bd6f12f992ee8713597aaee4b7057efcc1c004303bbe0f2223776 lua-xml-1.1.3.tar.gz |
| 72 | a7e83866c7af7d1e6c08c32891b5749f816d8024036de1976c0d5dd9cea09e619c07176f066066a837f984f3a2cdd245ffb9d55d57879eb98d5cd130f71a9370 dub-update-to-C++17-style-exception-notation.patch |
| 73 | " |