aboutsummaryrefslogtreecommitdiff
path: root/development
diff options
context:
space:
mode:
Diffstat (limited to 'development')
-rw-r--r--development/quickjs/README6
-rw-r--r--development/quickjs/patches/01-Makefile.patch140
-rw-r--r--development/quickjs/patches/02-qjsc.c.patch6
-rw-r--r--development/quickjs/quickjs.SlackBuild11
-rw-r--r--development/quickjs/quickjs.info6
5 files changed, 89 insertions, 80 deletions
diff --git a/development/quickjs/README b/development/quickjs/README
index ebc589068a71..3ffa3044b10a 100644
--- a/development/quickjs/README
+++ b/development/quickjs/README
@@ -1,5 +1,5 @@
QuickJS is a small and embeddable Javascript engine by Fabrice Bellard
-and Charlie Gordon. It supports the ES2020 specification including
+and Charlie Gordon. It supports the ES2023 specification including
modules, asynchronous generators, proxies and BigInt.
It optionally supports mathematical extensions such as big decimal
floating point numbers (BigDecimal), big binary floating point numbers
@@ -9,10 +9,10 @@ Main Features:
* Small and easily embeddable: just a few C files, no external
dependency.
* Fast interpreter with very low startup time
-* Almost complete ES2020 support including modules, asynchronous
+* Almost complete ES2023 support including modules, asynchronous
generators and full Annex B support (legacy web compatibility).
* Passes nearly 100% of the ECMAScript Test Suite tests when selecting
- the ES2020 features.
+ the ES2023 features.
* Can compile Javascript sources to executables with no external
dependency.
* Garbage collection using reference counting (to reduce memory usage
diff --git a/development/quickjs/patches/01-Makefile.patch b/development/quickjs/patches/01-Makefile.patch
index 2e3650369b2a..10eb343fb3b1 100644
--- a/development/quickjs/patches/01-Makefile.patch
+++ b/development/quickjs/patches/01-Makefile.patch
@@ -5,104 +5,112 @@
* avoid building examples
* disabled debug information
---- quickjs-2021-03-27/Makefile 2021-03-27 07:00:32.000000000 -0300
-+++ quickjs-2021-03-27-modified/Makefile 2022-08-02 21:52:01.476250120 -0300
-@@ -36,12 +36,14 @@
-
- ifdef CONFIG_DARWIN
- # use clang instead of gcc
--CONFIG_CLANG=y
-+#CONFIG_CLANG=y
- CONFIG_DEFAULT_AR=y
- endif
-
+--- quickjs-2024-01-13/Makefile 2024-01-13 07:20:39.000000000 -0300
++++ quickjs-2024-01-13m/Makefile 2024-02-04 02:01:09.732016372 -0300
+@@ -39,6 +39,8 @@
# installation directory
- prefix=/usr/local
-+libdir=$(prefix)/lib
-+CFLAGS_EXTRA=
+ PREFIX?=/usr/local
++CFLAGS+=$(CFLAGS_EXTRA)
++
# use the gprof profiler
#CONFIG_PROFILE=y
-@@ -66,7 +68,7 @@
+ # use address sanitizer
+@@ -69,7 +71,7 @@
ifdef CONFIG_CLANG
HOST_CC=clang
CC=$(CROSS_PREFIX)clang
-- CFLAGS=-g -Wall -MMD -MF $(OBJDIR)/$(@F).d
-+ CFLAGS= -Wall -MMD -MF $(OBJDIR)/$(@F).d
+- CFLAGS+=-g -Wall -MMD -MF $(OBJDIR)/$(@F).d
++ CFLAGS+= -Wall -MMD -MF $(OBJDIR)/$(@F).d
CFLAGS += -Wextra
CFLAGS += -Wno-sign-compare
CFLAGS += -Wno-missing-field-initializers
-@@ -87,7 +89,7 @@
+@@ -92,13 +94,13 @@
+ HOST_CC=gcc
+ CC=cosmocc
+ # cosmocc does not correct support -MF
+- CFLAGS=-g -Wall #-MMD -MF $(OBJDIR)/$(@F).d
++ CFLAGS= -Wall #-MMD -MF $(OBJDIR)/$(@F).d
+ CFLAGS += -Wno-array-bounds -Wno-format-truncation
+ AR=cosmoar
else
HOST_CC=gcc
CC=$(CROSS_PREFIX)gcc
-- CFLAGS=-g -Wall -MMD -MF $(OBJDIR)/$(@F).d
-+ CFLAGS= -Wall -MMD -MF $(OBJDIR)/$(@F).d
+- CFLAGS+=-g -Wall -MMD -MF $(OBJDIR)/$(@F).d
++ CFLAGS+= -Wall -MMD -MF $(OBJDIR)/$(@F).d
CFLAGS += -Wno-array-bounds -Wno-format-truncation
ifdef CONFIG_LTO
AR=$(CROSS_PREFIX)gcc-ar
-@@ -107,12 +109,15 @@
- DEFINES+=-D__USE_MINGW_ANSI_STDIO # for standard snprintf behavior
+@@ -127,7 +129,7 @@
+ ifdef CONFIG_COSMO
+ LDFLAGS+=-s # better to strip by default
+ else
+-LDFLAGS+=-g
++LDFLAGS+=
endif
-
-+DEFINES += -DCONFIG_LIBDIR=\"$(libdir)\"
-+
-+CFLAGS+=$(CFLAGS_EXTRA)
- CFLAGS+=$(DEFINES)
- CFLAGS_DEBUG=$(CFLAGS) -O0
- CFLAGS_SMALL=$(CFLAGS) -Os
- CFLAGS_OPT=$(CFLAGS) -O2
- CFLAGS_NOLTO:=$(CFLAGS_OPT)
--LDFLAGS=-g
-+#LDFLAGS=-g
ifdef CONFIG_LTO
CFLAGS_SMALL+=-flto
- CFLAGS_OPT+=-flto
-@@ -157,14 +162,14 @@
- ifdef CONFIG_ASAN
- PROGS+=
- else
--PROGS+=examples/hello examples/hello_module examples/test_fib
-+#PROGS+=examples/hello examples/hello_module examples/test_fib
- ifndef CONFIG_DARWIN
--PROGS+=examples/fib.so examples/point.so
-+#PROGS+=examples/fib.so examples/point.so
+@@ -176,16 +178,16 @@
+
+ # examples
+ ifeq ($(CROSS_PREFIX),)
+-PROGS+=examples/hello
++#PROGS+=examples/hello
+ ifndef CONFIG_ASAN
+-PROGS+=examples/hello_module
++#PROGS+=examples/hello_module
endif
+ ifdef CONFIG_SHARED_LIBS
+-PROGS+=examples/test_fib examples/fib.so examples/point.so
++#PROGS+=examples/test_fib examples/fib.so examples/point.so
endif
endif
-all: $(OBJDIR) $(OBJDIR)/quickjs.check.o $(OBJDIR)/qjs.check.o $(PROGS)
+all: $(OBJDIR) $(OBJDIR)/quickjs.check.o $(OBJDIR)/qjs.check.o $(PROGS) libquickjs.so
- QJS_LIB_OBJS=$(OBJDIR)/quickjs.o $(OBJDIR)/libregexp.o $(OBJDIR)/libunicode.o $(OBJDIR)/cutils.o $(OBJDIR)/quickjs-libc.o
+ QJS_LIB_OBJS=$(OBJDIR)/quickjs.o $(OBJDIR)/libregexp.o $(OBJDIR)/libunicode.o $(OBJDIR)/cutils.o $(OBJDIR)/quickjs-libc.o $(OBJDIR)/libbf.o
-@@ -187,6 +192,9 @@
- qjs$(EXE): $(QJS_OBJS)
- $(CC) $(LDFLAGS) $(LDEXPORT) -o $@ $^ $(LIBS)
+@@ -213,6 +215,9 @@
+ qjsc$(EXE): $(OBJDIR)/qjsc.o $(QJS_LIB_OBJS)
+ $(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
+libquickjs.so: $(QJS_LIB_OBJS)
-+ $(CC) -shared $(LDFLAGS) -fPIC $(LDEXPORT) -o $@ $^ $(LIBS)
++ $(CC) -shared -fPIC $(LDFLAGS) -o $@ $^ $(LIBS)
+
- qjs-debug$(EXE): $(patsubst %.o, %.debug.o, $(QJS_OBJS))
- $(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
+ ifneq ($(CROSS_PREFIX),)
-@@ -299,13 +307,15 @@
+ $(QJSC): $(OBJDIR)/qjsc.host.o \
+@@ -221,11 +226,11 @@
+
+ endif #CROSS_PREFIX
+
+-QJSC_DEFINES:=-DCONFIG_CC=\"$(QJSC_CC)\" -DCONFIG_PREFIX=\"$(PREFIX)\"
++QJSC_DEFINES:=-DCONFIG_CC=\"$(QJSC_CC)\" -DCONFIG_PREFIX=\"$(PREFIX)\" -DCONFIG_LIBDIR=\"$(LIBDIR)\"
+ ifdef CONFIG_LTO
+ QJSC_DEFINES+=-DCONFIG_LTO
+ endif
+-QJSC_HOST_DEFINES:=-DCONFIG_CC=\"$(HOST_CC)\" -DCONFIG_PREFIX=\"$(PREFIX)\"
++QJSC_HOST_DEFINES:=-DCONFIG_CC=\"$(HOST_CC)\" -DCONFIG_PREFIX=\"$(PREFIX)\" -DCONFIG_LIBDIR=\"$(LIBDIR)\"
+
+ $(OBJDIR)/qjsc.o: CFLAGS+=$(QJSC_DEFINES)
+ $(OBJDIR)/qjsc.host.o: CFLAGS+=$(QJSC_HOST_DEFINES)
+@@ -319,14 +324,12 @@
install: all
- mkdir -p "$(DESTDIR)$(prefix)/bin"
+ mkdir -p "$(DESTDIR)$(PREFIX)/bin"
- $(STRIP) qjs qjsc
+ $(STRIP) qjs qjsc libquickjs.so
- install -m755 qjs qjsc "$(DESTDIR)$(prefix)/bin"
- ln -sf qjs "$(DESTDIR)$(prefix)/bin/qjscalc"
-- mkdir -p "$(DESTDIR)$(prefix)/lib/quickjs"
-- install -m644 libquickjs.a "$(DESTDIR)$(prefix)/lib/quickjs"
-+ mkdir -p "$(DESTDIR)/$(libdir)/quickjs"
-+ install -m644 libquickjs.a "$(DESTDIR)/$(libdir)/quickjs"
-+ install -m644 libquickjs.so "$(DESTDIR)/$(libdir)/quickjs"
-+ ln -s quickjs/libquickjs.so "$(DESTDIR)/$(libdir)/libquickjs.so"
- ifdef CONFIG_LTO
-- install -m644 libquickjs.lto.a "$(DESTDIR)$(prefix)/lib/quickjs"
-+ install -m644 libquickjs.lto.a "$(DESTDIR)/$(libdir)/quickjs"
- endif
- mkdir -p "$(DESTDIR)$(prefix)/include/quickjs"
- install -m644 quickjs.h quickjs-libc.h "$(DESTDIR)$(prefix)/include/quickjs"
+ install -m755 qjs qjsc "$(DESTDIR)$(PREFIX)/bin"
+ ln -sf qjs "$(DESTDIR)$(PREFIX)/bin/qjscalc"
+- mkdir -p "$(DESTDIR)$(PREFIX)/lib/quickjs"
+- install -m644 libquickjs.a "$(DESTDIR)$(PREFIX)/lib/quickjs"
+-ifdef CONFIG_LTO
+- install -m644 libquickjs.lto.a "$(DESTDIR)$(PREFIX)/lib/quickjs"
+-endif
++ mkdir -p "$(DESTDIR)$(LIBDIR)/quickjs"
++ install -m644 libquickjs.a "$(DESTDIR)$(LIBDIR)/quickjs"
++ install -m755 libquickjs.so "$(DESTDIR)$(LIBDIR)"
+ mkdir -p "$(DESTDIR)$(PREFIX)/include/quickjs"
+ install -m644 quickjs.h quickjs-libc.h "$(DESTDIR)$(PREFIX)/include/quickjs"
+
diff --git a/development/quickjs/patches/02-qjsc.c.patch b/development/quickjs/patches/02-qjsc.c.patch
index fb1bb58d4e54..13d725fba299 100644
--- a/development/quickjs/patches/02-qjsc.c.patch
+++ b/development/quickjs/patches/02-qjsc.c.patch
@@ -1,7 +1,7 @@
This is a simple patch to compile on 64 bit systems.
---- quickjs-2021-03-27/qjsc.c 2021-03-27 07:00:32.000000000 -0300
-+++ quickjs-2021-03-27-modified/qjsc.c 2022-07-31 19:54:12.464023282 -0300
-@@ -420,7 +420,7 @@
+--- quickjs-2024-01-13/qjsc.c 2024-01-13 07:20:39.000000000 -0300
++++ quickjs-2024-01-13m/qjsc.c 2024-02-04 01:43:19.516094810 -0300
+@@ -419,7 +419,7 @@
pstrcpy(lib_dir, sizeof(lib_dir), exe_dir);
} else {
snprintf(inc_dir, sizeof(inc_dir), "%s/include/quickjs", CONFIG_PREFIX);
diff --git a/development/quickjs/quickjs.SlackBuild b/development/quickjs/quickjs.SlackBuild
index 66a73604abb8..c798c85dd9cc 100644
--- a/development/quickjs/quickjs.SlackBuild
+++ b/development/quickjs/quickjs.SlackBuild
@@ -25,10 +25,11 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=quickjs
-VERSION=${VERSION:-20210327}
+VERSION=${VERSION:-2024.01.13}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
+SRCVERSION=${VERSION//./-}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -67,8 +68,8 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-2021-03-27.tar.xz
-mv $PRGNAM-2021-03-27 $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$SRCVERSION.tar.xz
+mv $PRGNAM-$SRCVERSION $PRGNAM-$VERSION
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
@@ -83,8 +84,8 @@ patch -p1 < $CWD/patches/02-qjsc.c.patch || exit 1;
make install \
DESTDIR=$PKG \
CFLAGS_EXTRA="$SLKCFLAGS" \
- prefix=/usr \
- libdir=/usr/lib${LIBDIRSUFFIX}
+ PREFIX=/usr \
+ LIBDIR=/usr/lib${LIBDIRSUFFIX}
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/examples
cp -a \
diff --git a/development/quickjs/quickjs.info b/development/quickjs/quickjs.info
index 2adcb2495cc0..2f902dfab391 100644
--- a/development/quickjs/quickjs.info
+++ b/development/quickjs/quickjs.info
@@ -1,8 +1,8 @@
PRGNAM="quickjs"
-VERSION="20210327"
+VERSION="2024.01.13"
HOMEPAGE="https://bellard.org/quickjs"
-DOWNLOAD="https://bellard.org/quickjs/quickjs-2021-03-27.tar.xz"
-MD5SUM="135182a626aa0c87a49aa2bf58fd39bf"
+DOWNLOAD="https://bellard.org/quickjs/quickjs-2024-01-13.tar.xz"
+MD5SUM="ea9fa8c503c4125dff9fd42c38b891d0"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""