| 1 | # Maintainer: Natanael Copa <[email protected]> |
| 2 | _luaversions="5.1 5.2 5.3 5.4" |
| 3 | pkgname=lua-lgi |
| 4 | _rockname="${pkgname#lua-*}" |
| 5 | pkgver=0.9.2_git20241227 |
| 6 | _gitcommit=a412921fad445bcfc05a21148722a92ecb93ad06 |
| 7 | pkgrel=2 |
| 8 | pkgdesc="Dynamic Lua binding to GObject libraries using GObject-Introspection" |
| 9 | url="https://github.com/lgi-devs/lgi" |
| 10 | arch="all" |
| 11 | license="MIT" |
| 12 | makedepends="glib-dev gobject-introspection-dev libffi-dev" |
| 13 | checkdepends="dbus gtk+3.0 xvfb-run" |
| 14 | subpackages="$pkgname-doc" |
| 15 | for _i in $_luaversions; do |
| 16 | makedepends="$makedepends lua$_i-dev" |
| 17 | subpackages="$subpackages lua$_i-$_rockname:_split" |
| 18 | done |
| 19 | source="$pkgname-$pkgver.tar.gz::https://github.com/lgi-devs/lgi/archive/$_gitcommit.tar.gz |
| 20 | pango-1-56.patch |
| 21 | tests.patch |
| 22 | disable_gireg_test_patch |
| 23 | glib-2.87.patch |
| 24 | glib-2.86-compat.patch |
| 25 | " |
| 26 | builddir="$srcdir/lgi-$_gitcommit" |
| 27 | |
| 28 | prepare() { |
| 29 | default_prepare |
| 30 | |
| 31 | case "$CARCH" in |
| 32 | # integer overflow |
| 33 | arm*|x86) patch tests/test.lua "$srcdir"/disable_gireg_test_patch ;; |
| 34 | esac |
| 35 | |
| 36 | for _i in $_luaversions; do |
| 37 | cp -r . "$srcdir"/build-$_i |
| 38 | done |
| 39 | } |
| 40 | |
| 41 | build() { |
| 42 | for _i in $_luaversions; do |
| 43 | msg "build for $_i" |
| 44 | make -C "$srcdir"/build-$_i PREFIX=/usr LUA_VERSION=$_i \ |
| 45 | LUA_CFLAGS="$(pkg-config --cflags lua$_i)" |
| 46 | done |
| 47 | } |
| 48 | |
| 49 | check() { |
| 50 | for _i in $_luaversions; do |
| 51 | msg "check for $_i" |
| 52 | xvfb-run -a make -C "$srcdir"/build-$_i LUA=lua$_i \ |
| 53 | LDFLAGS="$LDFLAGS $(pkg-config --libs lua$_i)" \ |
| 54 | LUA_CFLAGS="$(pkg-config --cflags lua$_i)" check |
| 55 | done |
| 56 | } |
| 57 | |
| 58 | package() { |
| 59 | for _i in $_luaversions; do |
| 60 | cd "$srcdir"/build-$_i |
| 61 | make install PREFIX=/usr DESTDIR="$pkgdir" LUA_VERSION=$_i |
| 62 | local rockdir="$pkgdir"/usr/lib/luarocks/rocks-$_i/lua-lgi/$pkgver-1/ |
| 63 | mkdir -p "$rockdir" |
| 64 | echo 'rock_manifest = {}' > "$rockdir"/rock_manifest |
| 65 | done |
| 66 | cd "$builddir" |
| 67 | mkdir -p "$pkgdir"/usr/share/doc/lua-lgi |
| 68 | cp -r docs/* samples "$pkgdir"/usr/share/doc/lua-lgi/ |
| 69 | } |
| 70 | |
| 71 | _split() { |
| 72 | _luaversion="${subpkgname%-"$_rockname"}" |
| 73 | _luaversion="${_luaversion#lua*}" |
| 74 | pkgdesc="Lua $_luaversion binding to GObject libraries using introspection" |
| 75 | install_if="lua$_luaversion $pkgname=$pkgver-r$pkgrel" |
| 76 | depends="$depends lua$_luaversion" |
| 77 | |
| 78 | amove usr/lib/lua/$_luaversion |
| 79 | amove usr/lib/luarocks/rocks-$_luaversion |
| 80 | amove usr/share/lua/$_luaversion |
| 81 | } |
| 82 | |
| 83 | sha512sums=" |
| 84 | eb8fc13c8183d9b5677135c6ec81596489e9f0a031a21d37ab6220271d304190a4a4a94caa1ce1d91b71a004101deecef59964b446a5d05c789a4d511b83d250 lua-lgi-0.9.2_git20241227.tar.gz |
| 85 | 22620d23e55d8a7553e913bdfdbf87e0eb9cde670ccc55429315727664dcda1d90aeb786c2ce4ad02bce0c05f5ef174f48e976050ed116e14964014b475fb17d pango-1-56.patch |
| 86 | b2a6d6c168bcbf91d88829b1c8bde5f14c03a0f81ee14fdd7caaebcb0622b680425eac73134722ac3c4a59b733365f549bf68b0084df697a0b63ac68b5085ba9 tests.patch |
| 87 | 7aef95cfb364bb4d57a1f234b7a5348018e04872947ab0fb0ab7d7c7f36f69fd86f16e1f13e2c2c0cb82c470105412c0d96bedf7535b99fb418c4a4128da88fe disable_gireg_test_patch |
| 88 | c512f11dfdd61666d4fe5ef2183e64f79bda9f2c28ceee462ee92a88ca329b16216cb8e7d6dde2ba0f8ea1d6a6ee80ca773ed0119489a6210d4999012599f7f0 glib-2.87.patch |
| 89 | 6e8cd3c828a4a659e18a801c961f897f3a3d4c2b09fb6a1a12e5032beecfca7d5833dae40b417ac728f57a224ec13708f0a9f6d602cdf84eebd1cc1f90073290 glib-2.86-compat.patch |
| 90 | " |