чување 118a243c724b6f019f862a79727fe5af9f19d64a
родитељ 750a5595fd288d420cd8a9edd66fb7a6bf93b759
Аутор: Страхиња Радић <contact@strahinja.org>
Датум: Thu, 28 Jul 2022 14:03:10 +0200
Add lua + lpeg for vis; fix CA certificate permissions (was affecting curl, git...)
Signed-off-by: Страхиња Радић <contact@strahinja.org>
Diffstat:
измењених датотека: 5, додавања: 208(+), брисања: 0(-)
diff --git a/03-packages.sh b/03-packages.sh
@@ -2359,6 +2359,8 @@ elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then
unpack_pkg ${pkg} /
mkdir -p /etc/ssl/certs
update-ca-certificates
+ chmod 0644 /share/ca-certificates/*.crt
+ chmod 0644 /share/ca-certificates/mozilla/*.crt
else
extract_pkg ${G_SRC} work ${pkg}.tar.xz ${pkg}
(
@@ -2413,6 +2415,8 @@ mkpk_install()
/${TLD}/bin/ln -sv /etc/ssl/certs/ca-certificates.crt \\
/build/etc/ssl/certs.pem
+
+ chmod 0644 /build/share/ca-certificates/*.crt
}
!
mkpk ${pkg}
@@ -2420,6 +2424,8 @@ mkpk_install()
unpack_pkg ${pkg} /
mkdir -p /etc/ssl/certs
update-ca-certificates
+ chmod 0644 /share/ca-certificates/*.crt
+ chmod 0644 /share/ca-certificates/mozilla/*.crt
) || exit 1
fi
end_substep
@@ -3911,6 +3917,110 @@ mkpk_install()
fi
end_substep
+begin_substep lua-5.3.6
+if [ -e /sucks/lib/liblua5.3.a ]; then
+ msg info "%s exists, skipping %s" /sucks/lib/liblua5.3.a ${pkg}
+elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then
+ unpack_pkg ${pkg} /
+else
+ extract_pkg ${G_SRC} ${pkg} ${pkg}.tar.gz
+ (
+ cd_or_fail ${G_SRC}/${pkg}
+
+ apply_patch packages -Np0 -i \
+ ${G_PAT}/lua53-void/liblua.so.patch
+
+ cp_or_fail ${G_FIL}/lua53-galeb/lua.pc ${G_SRC}/${pkg}
+
+ cat <<! >MKPK
+mkpk_name()
+{
+ printf "%s" "${pkg}"
+}
+
+mkpk_install()
+{
+ CFLAGS='-Os'
+ LDFLAGS='-s'
+ DESTDIR=/build
+ export CFLAGS LDFLAGS DESTDIR
+
+ /${TLD}/bin/sed -Ei src/Makefile \\
+ -e '/^LUA_(SO|A|T)=/ s,lua,lua5.3,' \\
+ -e '/LUAC_T=/ s,luac,luac5.3,'
+
+ make MYCFLAGS="\${CFLAGS} -fPIC" \\
+ INSTALL_DATA="/${TLD}/bin/cp -d" \\
+ LUA_SO=liblua5.3.so ${JN} linux || exit 1
+
+ make INSTALL=/${TLD}/bin/install INSTALL_DATA="/${TLD}/bin/cp -d" \\
+ INSTALL_TOP="/build/sucks" \\
+ TO_BIN="lua5.3 luac5.3" \\
+ TO_LIB="liblua5.3.a liblua5.3.so" \\
+ INSTALL_INC="/build/sucks/include/lua5.3" \\
+ INSTALL_LMOD="/build/sucks/share/lua5.3" \\
+ INSTALL_CMOD="/build/sucks/lib/lua5.3" \\
+ INSTALL_MAN="/build/sucks/share/man/man1" install || exit 1
+
+ /${TLD}/bin/ln -s liblua5.4.so.5.3.6 /build/sucks/lib/liblua5.3.so.5.3
+ /${TLD}/bin/install -Dm644 lua.pc /build/sucks/lib/pkgconfig/lua.pc
+ /${TLD}/bin/install -Dm644 lua.pc /build/sucks/lib/pkgconfig/lua5.3.pc
+}
+!
+ mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
+ unpack_pkg ${pkg} /
+ ) || exit 1
+fi
+end_substep
+
+begin_substep lpeg-1.0.2
+if [ -e /sucks/lib/lua5.3/lpeg.a ]; then
+ msg info "%s exists, skipping %s" /sucks/lib/lua5.3/lpeg.a ${pkg}
+elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then
+ unpack_pkg ${pkg} /
+else
+ extract_pkg ${G_SRC} ${pkg} ${pkg}.tar.gz
+ (
+ cd_or_fail ${G_SRC}/${pkg}
+
+ cp_or_fail ${G_FIL}/lpeg-galeb/lpeg.pc ${G_SRC}/${pkg}
+
+ cat <<! >MKPK
+mkpk_name()
+{
+ printf "%s" "${pkg}"
+}
+
+mkpk_install()
+{
+ CFLAGS='-Os'
+ LDFLAGS='-s'
+ DESTDIR=/build
+ export CFLAGS LDFLAGS DESTDIR
+
+ /${TLD}/bin/sed -i makefile \\
+ -e '/^LUADIR =/ s,\.\./lua/,/sucks/include/lua5.3,' \\
+ -e "/^COPT =/ s,=.*,= \${CFLAGS} -DNDEBUG,"
+ printf 'lpeg.a: \$(FILES)\n' >> makefile
+ printf "\tar cru lpeg.a *.o\n" >> makefile
+
+ make ${JN} || exit 1
+ make ${JN} lpeg.a || exit 1
+
+ /${TLD}/bin/install -Dm755 lpeg.so /build/sucks/lib/lua5.3/lpeg.so
+ /${TLD}/bin/install -Dm755 lpeg.a /build/sucks/lib/lua5.3/lpeg.a
+ /${TLD}/bin/install -Dm644 lpeg.pc /build/sucks/lib/pkgconfig/lpeg.pc
+ /${TLD}/bin/install -Dm644 re.lua /build/sucks/share/lua5.3/re.lua
+}
+!
+ mkpk ${pkg}
+ remove_dir ${G_SRC}/${pkg}
+ unpack_pkg ${pkg} /
+ ) || exit 1
+fi
+end_substep
+
begin_substep vis-0.7
if [ -x /bin/vis ]; then
msg info "%s exists, skipping %s" /bin/vis ${pkg}
diff --git a/fil/lpeg-galeb/lpeg.pc b/fil/lpeg-galeb/lpeg.pc
@@ -0,0 +1,20 @@
+V=1.0
+R=1.0.2
+LUAV=5.3
+
+prefix=/sucks
+INSTALL_BIN=${prefix}/bin
+INSTALL_INC=${prefix}/include
+INSTALL_LIB=${prefix}/lib
+INSTALL_MAN=${prefix}/man/man1
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib/lua${LUAV}
+includedir=${prefix}/include/lua${V}
+
+Name: LPeg
+Description: Parsing Expression Grammars For Lua
+Version: ${R}
+Requires:
+Libs: -L${libdir} -l:lpeg.a
+Libs.private: -lm -ldl
+Cflags:
diff --git a/fil/lua53-galeb/lua.pc b/fil/lua53-galeb/lua.pc
@@ -0,0 +1,21 @@
+V=5.3
+R=5.3.6
+
+prefix=/sucks
+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}
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include/lua${V}
+
+Name: Lua
+Description: An Extensible Extension Language
+Version: ${R}
+Requires:
+Libs: -L${libdir} -llua${V}
+Libs.private: -lm -ldl
+Cflags: -I${includedir}
diff --git a/lib/pkgs.tsv b/lib/pkgs.tsv
@@ -133,6 +133,8 @@ https://www.kernel.org/pub/linux/utils/kbd/kbd-2.4.0.tar.xz 3cac5be0096fcf7b32d
https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-29.tar.xz e81e63acd80697d001c8d85c1acb38a0
https://www.kernel.org/pub/linux/utils/net/iproute2/iproute2-5.17.0.tar.xz 8ade96ee93f37fba7e1beec89f1a54bf
https://www.leonerd.org.uk/code/libtermkey/libtermkey-0.22.tar.gz 08bf514d59660391c3a21b3977a16c8c
+https://www.lua.org/ftp/lua-5.3.6.tar.gz 83f23dbd5230140a3770d5f54076948d
https://www.nico.schottelius.org/software/gpm/archives/gpm-1.20.7.tar.bz2 bf84143905a6a903dbd4d4b911a2a2b8
https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tar.xz 11d12076311563252a995201248d17e5
https://www.zlib.net/pigz/pigz-2.7.tar.gz 2d084221ba829d29f344305845a313f3
+http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.0.2.tar.gz d342571886f1abcb7afe6a83d024d583
diff --git a/pat/lua53-void/liblua.so.patch b/pat/lua53-void/liblua.so.patch
@@ -0,0 +1,55 @@
+--- Makefile
++++ Makefile
+@@ -52,7 +52,7 @@ R= $V.0
+ all: $(PLAT)
+
+ $(PLATS) clean:
+- cd src && $(MAKE) $@
++ cd src && $(MAKE) $@ V=$(V) R=$(R)
+
+ test: dummy
+ src/lua -v
+--- src/Makefile
++++ src/Makefile
+@@ -29,6 +29,7 @@ MYOBJS=
+ PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris
+
+ LUA_A= liblua.a
++LUA_SO= liblua.so
+ CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \
+ lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \
+ ltm.o lundump.o lvm.o lzio.o
+@@ -43,7 +44,7 @@ LUAC_T= luac
+ LUAC_O= luac.o
+
+ ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
+-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
++ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO)
+ ALL_A= $(LUA_A)
+
+ # Targets start here.
+@@ -59,6 +60,12 @@ $(LUA_A): $(BASE_O)
+ $(AR) $@ $(BASE_O)
+ $(RANLIB) $@
+
++$(LUA_SO): $(CORE_O) $(LIB_O)
++ $(CC) -shared -ldl -Wl,-soname,$(LUA_SO).$(V) -o $@.$(R) $? -lm $(MYLDFLAGS)
++ ln -sf $(LUA_SO).$(R) $(LUA_SO).$(V)
++ ln -sf $(LUA_SO).$(R) $(LUA_SO)
++
++
+ $(LUA_T): $(LUA_O) $(LUA_A)
+ $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
+
+--- src/luaconf.h
++++ src/luaconf.h
+@@ -175,7 +175,7 @@
+
+ #else /* }{ */
+
+-#define LUA_ROOT "/usr/local/"
++#define LUA_ROOT "/usr/"
+ #define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/"
+ #define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/"
+ #define LUA_PATH_DEFAULT \
+