aboutsummaryrefslogblamecommitdiffstats
path: root/main/lua5.3/APKBUILD
blob: b1baf7b75af3604b1bf8d83c3a6305f7987aea7d (plain) (tree)
1
2
3
4
5
6
7
8
9
10

                                                   
            
            
                      
        
                                                    
                          

             
                          
                      
                                                     
              
                                                     
                                                        

                                  
                       
                                                          
         
                                    
 



                   
           
                       
                      

                          
                                                          

                        

                                 
 



                                      



                                                           
                      
 


                                 
                             
 

                             
                                                                               

                                       
                                                           
                          

 




                      
           


                      



                                                            
                              

                                         
                                    


                                                      
                                                                  

            

                                                                                

                                              

                                                               
 
                                            
 



                                        
 







                                                                               
 



                                                      
 





                                                             
 

                                         



       
                   
 
                                                                        


                                                                              




                                             
 



                                              
                                                                                                                                                              
                                                                                                                                                    
                                                                                                                                                            
                                                                                                                                                 
                                                                                                                                                                                     
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=lua5.3
_pkgname=lua
pkgver=5.3.5
_luaver=${pkgname#lua}
pkgrel=2
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
	cd "$builddir"

	# 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() {
	cd "$builddir"

	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr

	cd src
	make V=${pkgver%.*} \
		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() {
	cd "$builddir"
	make test
}

package() {
	local i
	cd "$builddir"

	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: \${R}
		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"