From b629a45789d53e3397709e4dd9c2d2df7f44e143 Mon Sep 17 00:00:00 2001 From: Komo <71205197+cattokomo@users.noreply.github.com> Date: Mon, 8 Apr 2024 18:17:44 +0000 Subject: [PATCH] bump(main/plutolang): 0.9.0 (#19695) Co-authored-by: komothecat <71205197+komothecat@users.noreply.github.com> --- packages/plutolang/build.sh | 11 +++--- packages/plutolang/intrin-detection.patch | 17 +++++++++ packages/plutolang/intrin-patch.patch | 30 ++++++++++++++++ packages/plutolang/src-Makefile.patch | 43 +++++++++-------------- 4 files changed, 70 insertions(+), 31 deletions(-) create mode 100644 packages/plutolang/intrin-detection.patch create mode 100644 packages/plutolang/intrin-patch.patch diff --git a/packages/plutolang/build.sh b/packages/plutolang/build.sh index 4178e0f737..0a9baf1638 100644 --- a/packages/plutolang/build.sh +++ b/packages/plutolang/build.sh @@ -1,12 +1,12 @@ TERMUX_PKG_HOMEPAGE=https://plutolang.github.io/ TERMUX_PKG_DESCRIPTION="A superset of Lua 5.4, with unique features, optimizations, and improvements" TERMUX_PKG_LICENSE="MIT" -TERMUX_PKG_MAINTAINER="@termux" -TERMUX_PKG_VERSION="0.8.2" +TERMUX_PKG_MAINTAINER="Komo @cattokomo" +TERMUX_PKG_VERSION="0.9.0" TERMUX_PKG_SRCURL=https://github.com/PlutoLang/Pluto/archive/refs/tags/${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_SHA256=6d4c1f1348182fd96af43dd7f477c5b51fb793da80f064f9c29ac3ab5dc42854 +TERMUX_PKG_SHA256=1401cc2e25c9e8e23c9d30bd4ed83be48d48967a01f0cea3961ecaef4f97be8e TERMUX_PKG_AUTO_UPDATE=true -TERMUX_PKG_DEPENDS="libc++" +TERMUX_PKG_DEPENDS="libc++,readline" TERMUX_PKG_BUILD_DEPENDS="readline" TERMUX_PKG_BUILD_IN_SRC=true TERMUX_PKG_NO_STATICSPLIT=true @@ -19,7 +19,8 @@ INSTALL_INC=$TERMUX_PREFIX/include/pluto termux_step_pre_configure() { CXXFLAGS+=" -std=c++17" export MYCFLAGS="-fPIC $CXXFLAGS $CPPFLAGS" - export MYLDFLAGS="$LDFLAGS" + export MYLDFLAGS="-fstack-protector-strong $LDFLAGS" + export TERMUX_ARCH TERMUX_PKG_EXTRA_MAKE_ARGS+=" CXX=$(command -v $CXX)" } diff --git a/packages/plutolang/intrin-detection.patch b/packages/plutolang/intrin-detection.patch new file mode 100644 index 0000000000..36318c4a1d --- /dev/null +++ b/packages/plutolang/intrin-detection.patch @@ -0,0 +1,17 @@ +diff --git a/src/vendor/Soup/Intrin/Makefile b/src/vendor/Soup/Intrin/Makefile +index 5accbf7..7fe2bc5 100644 +--- a/src/vendor/Soup/Intrin/Makefile ++++ b/src/vendor/Soup/Intrin/Makefile +@@ -1,10 +1,10 @@ + CXX=g++ -std=c++17 -O3 -flto -fvisibility=hidden -fPIC + CFLAGS=-c -Wall + +-ifeq ($(shell uname -m),x86_64) ++ifneq (,$(filter $(TERMUX_ARCH),x86_64 i686)) + CFLAGS+= -maes -mpclmul -mrdrnd -mrdseed -msha -msse4.1 + endif +-ifeq ($(shell uname -m),aarch64) ++ifeq ($(TERMUX_ARCH),aarch64) + CFLAGS+= -march=armv8-a+crypto+crc + endif + diff --git a/packages/plutolang/intrin-patch.patch b/packages/plutolang/intrin-patch.patch new file mode 100644 index 0000000000..0ef92b6231 --- /dev/null +++ b/packages/plutolang/intrin-patch.patch @@ -0,0 +1,30 @@ +diff --git a/src/vendor/Soup/soup/CpuInfo.cpp b/src/vendor/Soup/soup/CpuInfo.cpp +index 4a8d447..55a91de 100644 +--- a/src/vendor/Soup/soup/CpuInfo.cpp ++++ b/src/vendor/Soup/soup/CpuInfo.cpp +@@ -5,6 +5,7 @@ + + #if defined(_MSC_VER) && !defined(__clang__) + #include ++ #include + #else + #include + #endif +@@ -71,7 +72,7 @@ namespace soup + #undef EBX + #undef EDX + #undef ECX +-#elif SOUP_ARM ++#elif SOUP_ARM && SOUP_BITS == 64 + #if SOUP_WINDOWS + armv8_aes = IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE); + armv8_sha1 = IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE); +@@ -127,7 +128,7 @@ namespace soup + } + + return str; +-#elif SOUP_ARM ++#elif SOUP_ARM && SOUP_BITS == 64 + std::string str = "ARMv8 AES: "; + str.append(armv8_aes ? "true" : "false"); + str.append("\nARMv8 SHA1: ").append(armv8_sha1 ? "true" : "false"); diff --git a/packages/plutolang/src-Makefile.patch b/packages/plutolang/src-Makefile.patch index bccb5647fc..456f855782 100644 --- a/packages/plutolang/src-Makefile.patch +++ b/packages/plutolang/src-Makefile.patch @@ -1,13 +1,13 @@ diff --git a/src/Makefile b/src/Makefile -index 806a9ba..51d755c 100644 +index 79a4a86..e53a85a 100644 --- a/src/Makefile +++ b/src/Makefile @@ -6,7 +6,7 @@ # Your platform. See PLATS for possible values. - PLAT= guess + PLAT= --CXX= g++ -std=c++17 -O3 -flto -fvisibility=hidden -+CXX?= g++ -std=c++17 -O3 -flto -fvisibility=hidden +-CXX= g++ -std=c++17 -O3 -flto -fvisibility=hidden -fPIC ++CXX?= g++ -std=c++17 -O3 -flto -fvisibility=hidden -fPIC CXXFLAGS= -Wno-multichar $(SYSCFLAGS) $(MYCFLAGS) LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS) LIBS= -lm $(SYSLIBS) $(MYLIBS) @@ -22,38 +22,29 @@ index 806a9ba..51d755c 100644 MYLIBS=-Lvendor/Soup/soup -lsoup -Lvendor/Soup/Intrin -lsoupintrin MYOBJS= -@@ -38,6 +38,7 @@ CMCFLAGS= +@@ -37,7 +37,7 @@ CMCFLAGS= + PLATS= guess aix bsd freebsd generic linux linux-readline macosx mingw posix solaris - LUA_A= libpluto.a -+LUA_SO= libpluto.so +-LUA_A= libplutostatic.a ++LUA_A= libpluto.a + LUA_SO= libpluto.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 - LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o lcryptolib.o ltablib.o lutf8lib.o lassertlib.o lvector3lib.o lbase32.o lbase64.o ljson.o lurllib.o linit.o - BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS) -@@ -49,7 +50,7 @@ LUAC_T= plutoc - 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. -@@ -67,6 +68,13 @@ $(LUA_A): $(BASE_O) - $(AR) $@ $(BASE_O) + LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o lcryptolib.o ltablib.o lutf8lib.o lassertlib.o lvector3lib.o lbase32.o lbase64.o ljson.o lurllib.o linit.o lstarlib.o lcatlib.o lhttplib.o lschedulerlib.o lsocketlib.o lbigint.o lxml.o +@@ -68,8 +68,10 @@ $(LUA_A): $(BASE_O) + $(AR) $@ $(BASE_O) vendor/Soup/Intrin/*.o vendor/Soup/soup/*.o $(RANLIB) $@ +-$(LUA_SO): $(BASE_O) $(LUA_A) +- $(CXX) -shared -Wl,-soname,$(LUA_SO) -o $@ $? ${LIBS} +$(LUA_SO): $(BASE_O) -+ cd vendor/Soup/Intrin && $(MAKE) && cd ../.. -+ cd vendor/Soup/soup && $(MAKE) && cd ../.. -+ $(CXX) -shared -ldl -o $@.$(R) $? -lm $(MYLDFLAGS) ++ $(CXX) -shared -fPIC -ldl -o $@.$(R) $? $(MYLDFLAGS) + ln -sf $(LUA_SO).$(R) $(LUA_SO).$(V) + ln -sf $(LUA_SO).$(R) $(LUA_SO) -+ + $(LUA_T): $(LUA_O) $(LUA_A) $(CXX) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) - -@@ -118,7 +126,7 @@ FreeBSD NetBSD OpenBSD freebsd: +@@ -122,7 +124,7 @@ FreeBSD NetBSD OpenBSD freebsd: generic: $(ALL)