Date: Friday, February 5, 2021 @ 14:32:47 Author: daurnimator Revision: 846094
Use luarocks build system Also add optdepends for luaossl Modified: lua-cqueues/trunk/PKGBUILD ----------+ PKGBUILD | 47 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 13 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2021-02-05 14:32:26 UTC (rev 846093) +++ PKGBUILD 2021-02-05 14:32:47 UTC (rev 846094) @@ -2,48 +2,69 @@ pkgname=('lua-cqueues' 'lua51-cqueues' 'lua52-cqueues' 'lua53-cqueues') pkgver=20200726 -pkgrel=2 +pkgrel=3 arch=('x86_64') +pkgdesc='Continuation Queues: Embeddable asynchronous networking, threading, and notification framework' url='http://25thandclement.com/~william/projects/cqueues.html' license=('MIT') -makedepends=('lua' 'lua51' 'lua52' 'lua53') +makedepends=('luarocks' 'lua' 'lua51' 'lua52' 'lua53') depends=('openssl') -source=("$pkgname-$pkgver.tar.gz::https://github.com/wahern/cqueues/archive/rel-$pkgver.tar.gz") -md5sums=('fb21e8404cea86191e9658669eb44118') +source=("$pkgname-$pkgver.tar.gz::https://github.com/wahern/cqueues/archive/rel-$pkgver.tar.gz" + "https://luarocks.org/manifests/daurnimator/cqueues-$pkgver.5"{1,2,3,4}"-0.rockspec") +sha256sums=('9e112edd246da5cfca264314b70325a0b63665cb87a00e45ee3ae4f194000d52' + 'bbebe2285799895060c5acb565f5a4443d653f4a0d7a76ac8b49b272f8c6edf8' + '1742fa4b2c083625af3d3b69706c1d6c99cfd8afbbca2cc03445350e78c25370' + 'f5bae8418551341d8c17ec302af27269098752e8fbda5f7bd1e610f2cb39fe2e' + 'd78cba24427812a711d10a05b410b2afb6a9d4002d51dd2a4f4c55ba1a50d48c') build() { cd "cqueues-rel-$pkgver" - make prefix=/usr + for v in 5.1 5.2 5.3 5.4; do + mkdir -p "$v/" + # Use `-ffile-prefix-map` to avoid embedding srcdir into binary + # Packed rocks with make backend don't work? + # Workaround: don't use --pack-binary-rock; instead make into a temporary tree and then pack + luarocks make --lua-version="$v" --tree="../luarocks-temp-$v" --deps-mode=none \ + CFLAGS="$CPPFLAGS $CFLAGS -fPIC -ffile-prefix-map=$(pwd)=" \ + LIBFLAG="$LDFLAGS -shared" \ + ../cqueues-"$pkgver".5${v#5.}-0.rockspec + luarocks pack --lua-version="$v" --tree="../luarocks-temp-$v" cqueues + mv cqueues-"$pkgver".*.rock "$v/" + done } package_lua-cqueues() { - pkgdesc='Continuation Queues: Embeddable asynchronous networking, threading, and notification framework for Lua 5.4' + pkgdesc="$pkgdesc for Lua 5.4" + optdepends=('lua-luaossl: TLS support') cd "cqueues-rel-$pkgver" - make DESTDIR="$pkgdir" prefix=/usr install5.4 + luarocks install --lua-version=5.4 --tree="$pkgdir/usr/" --deps-mode=none 5.4/*.rock --no-manifest install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" } package_lua51-cqueues() { - pkgdesc='Continuation Queues: Embeddable asynchronous networking, threading, and notification framework for Lua 5.1' + pkgdesc="$pkgdesc for Lua 5.1" + optdepends=('lua51-luaossl: TLS support') cd "cqueues-rel-$pkgver" - make DESTDIR="$pkgdir" prefix=/usr install5.1 + luarocks install --lua-version=5.1 --tree="$pkgdir/usr/" --deps-mode=none 5.1/*.rock --no-manifest install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" } package_lua52-cqueues() { - pkgdesc='Continuation Queues: Embeddable asynchronous networking, threading, and notification framework for Lua 5.2' + pkgdesc="$pkgdesc for Lua 5.2" + optdepends=('lua52-luaossl: TLS support') cd "cqueues-rel-$pkgver" - make DESTDIR="$pkgdir" prefix=/usr install5.2 + luarocks install --lua-version=5.2 --tree="$pkgdir/usr/" --deps-mode=none 5.2/*.rock --no-manifest install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" } package_lua53-cqueues() { - pkgdesc='Continuation Queues: Embeddable asynchronous networking, threading, and notification framework for Lua 5.3' + pkgdesc="$pkgdesc for Lua 5.3" + optdepends=('lua53-luaossl: TLS support') cd "cqueues-rel-$pkgver" - make DESTDIR="$pkgdir" prefix=/usr install5.3 + luarocks install --lua-version=5.3 --tree="$pkgdir/usr/" --deps-mode=none 5.3/*.rock --no-manifest install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" }