# Maintainer: Natanael Copa pkgname=lua5.3 _pkgname=lua pkgver=5.3.5 _luaver=${pkgname#lua} pkgrel=6 pkgdesc="Powerful light-weight programming language" url="https://www.lua.org/" arch="all" license="MIT" ldpath="/usr/lib/$pkgname" depends_dev="$pkgname" makedepends="libtool autoconf automake linenoise-dev" provides="lua" subpackages="$pkgname-dev $pkgname-doc $pkgname-libs" source="https://www.lua.org/ftp/$_pkgname-$pkgver.tar.gz lua-5.3-make.patch lua-5.3-module_paths.patch linenoise.patch CVE-2019-6706-use-after-free-lua_upvaluejoin.patch " builddir="$srcdir/$_pkgname-$pkgver" # secfixes: # 5.3.5-r2: # - CVE-2019-6706 prepare() { default_prepare # disable readline sed -i '/#define LUA_USE_READLINE/d' src/luaconf.h # we use libtool cat > configure.ac <<-EOF top_buildir=. AC_INIT(src/luaconf.h) AC_PROG_LIBTOOL AC_OUTPUT() EOF libtoolize --force --install && aclocal && autoconf } build() { ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr cd src make V=${pkgver%.*} \ CFLAGS="$CFLAGS -DLUA_USE_LINUX -DLUA_COMPAT_5_2 -DLUA_USE_LINENOISE" \ SYSLDFLAGS="$LDFLAGS" \ RPATH="/usr/lib" \ LIB_LIBS="-lpthread -lm -ldl -llinenoise" \ alpine_all } check() { make test } package() { local i make V=${pkgver%.*} \ INSTALL_TOP="$pkgdir"/usr \ INSTALL_INC="$pkgdir"/usr/include/$pkgname \ INSTALL_LIB="$pkgdir"/usr/lib/$pkgname \ alpine_install for i in "$pkgdir"/usr/bin/* ; do mv "$i" "$i"$_luaver done for i in "$pkgdir"/usr/lib/$pkgname/*.so.*; do ln -s $pkgname/${i##*/} "$pkgdir"/usr/lib/${i##*/} done install -D -m 644 doc/lua.1 "$pkgdir"/usr/share/man/man1/lua$_luaver.1 install -D -m 644 doc/luac.1 "$pkgdir"/usr/share/man/man1/luac$_luaver.1 install -d "$pkgdir"/usr/lib/pkgconfig cat > "$pkgdir"/usr/lib/pkgconfig/lua$_luaver.pc <<-EOF # lua.pc -- pkg-config data for Lua # vars from install Makefile # grep '^V=' ../Makefile V=$_luaver # grep '^R=' ../Makefile R=$pkgver # grep '^INSTALL_.*=' ../Makefile | sed 's/INSTALL_TOP/prefix/' prefix=/usr INSTALL_BIN=\${prefix}/bin INSTALL_INC=\${prefix}/include INSTALL_LIB=\${prefix}/lib INSTALL_MAN=\${prefix}/man/man1 INSTALL_LMOD=\${prefix}/share/lua/\${V} INSTALL_CMOD=\${prefix}/lib/lua/\${V} # canonical vars exec_prefix=\${prefix} libdir=\${exec_prefix}/lib/$pkgname includedir=\${prefix}/include/$pkgname Name: Lua Description: An Extensible Extension Language Version: ${pkgver} Requires: Libs: -L\${libdir} -llua -lm Cflags: -I\${includedir} # (end of lua$_luaver.pc) EOF } dev() { default_dev mkdir -p "$subpkgdir"/usr/$pkgname "$subpkgdir"/usr/lib/$pkgname ln -s ../include/$pkgname "$subpkgdir"/usr/$pkgname/include ln -s ../lib/$pkgname "$subpkgdir"/usr/$pkgname/lib mv "$pkgdir"/usr/lib/$pkgname/liblua.so "$subpkgdir"/usr/lib/$pkgname/ } libs() { pkgdesc="Lua dynamic library runtime" replaces="lua" mkdir -p "$subpkgdir"/usr mv "$pkgdir"/usr/lib "$subpkgdir"/usr/ } sha512sums="4f9516acc4659dfd0a9e911bfa00c0788f0ad9348e5724fe8fb17aac59e9c0060a64378f82be86f8534e49c6c013e7488ad17321bafcc787831d3d67406bd0f4 lua-5.3.5.tar.gz 1bc6c623024c1738155b30ff9c0edcce0f336edc25aa20c3a1400c859421ea2015d75175cce8d515e055ac3e96028426b74812e04022af18a0ed4c4601556027 lua-5.3-make.patch bc68772390dc8d8940176af0b9fbacc0af61891b5d27de5f1466a4e7f9b3291a1c08ba5add829bc96b789a53fa5ec2dadaa096ca6eabe54ec27724fa2810940f lua-5.3-module_paths.patch a2edcf5a41513492edff5fa6e97652e676ceb6c66bb2c6a7e6f345570248d7646167f0172ceb07a74fd9d4a43051ed8244fbd94706dd9f5593f174075592a527 linenoise.patch fde7f5f5a184cd393665c7c8c7ba3c728e1413df5f63dbe60855af13ddd313d9300720298534f4312638ddf59fa678a38f708bce622dd7a2298b4ed87c068ae7 CVE-2019-6706-use-after-free-lua_upvaluejoin.patch"