pkgsrc-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
lang/quickjs update and shared lib enable
Hi,
hope you're doing well.
I have prepared a patch for lang/quickjs to:
- update to the recent snapshot (a security fix has
been upstreamed)
- enable build/install a shared library
Could you please review and let me know your
thoughts, comments, concerns.
Thank you.
--
Sergey A. Osokin
Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/lang/quickjs/Makefile,v
retrieving revision 1.17
diff -u -p -r1.17 Makefile
--- Makefile 16 Nov 2025 11:21:57 -0000 1.17
+++ Makefile 5 Mar 2026 16:21:10 -0000
@@ -1,14 +1,14 @@
# $NetBSD: Makefile,v 1.17 2025/11/16 11:21:57 adam Exp $
NAME= quickjs
-QJS_DATE= 2025-09-13
+QJS_DATE= 2025-12-22
VERSION= ${QJS_DATE:S/-//g}
DISTNAME= ${NAME}-${QJS_DATE}
PKGNAME= ${NAME}-${VERSION}
-PKGREVISION= 1
CATEGORIES= lang
-MASTER_SITES= https://bellard.org/quickjs/
-EXTRACT_SUFX= .tar.xz
+MASTER_SITES= ${MASTER_SITE_GITHUB:=bellard/}
+GITHUB_PROJECT= ${NAME}
+GITHUB_TAG= f1139494d18a2053630c5ed3384a42bb70db3c53
MAINTAINER= pkgsrc-users%NetBSD.org@localhost
HOMEPAGE= https://bellard.org/quickjs/
@@ -44,7 +44,7 @@ pre-configure:
${ECHO} '{ "x" : 1, "tab": [ 1, 2, 3 ] }' > ${WRKSRC}/examples/message.json
post-install:
- cd ${WRKSRC}/doc && ${INSTALL_DATA} *.html *.pdf ${DESTDIR}${PREFIX}/share/doc/quickjs/
+ cd ${WRKSRC}/doc && ${INSTALL_DATA} *.texi ${DESTDIR}${PREFIX}/share/doc/quickjs/
cd ${WRKSRC}/examples && ${INSTALL_DATA} *.js *.c *.json ${DESTDIR}${PREFIX}/share/doc/quickjs/examples/
cd ${WRKSRC}/tests && ${INSTALL_DATA} *.js *.c ${DESTDIR}${PREFIX}/share/doc/quickjs/tests/
Index: PLIST
===================================================================
RCS file: /cvsroot/pkgsrc/lang/quickjs/PLIST,v
retrieving revision 1.9
diff -u -p -r1.9 PLIST
--- PLIST 16 Nov 2025 11:21:57 -0000 1.9
+++ PLIST 5 Mar 2026 16:21:10 -0000
@@ -4,6 +4,7 @@ bin/qjsc
include/quickjs/quickjs-libc.h
include/quickjs/quickjs.h
lib/libquickjs.a
+lib/libquickjs.so
share/doc/quickjs/examples/fib.c
share/doc/quickjs/examples/fib_module.js
share/doc/quickjs/examples/hello.js
@@ -13,8 +14,7 @@ share/doc/quickjs/examples/pi_bigint.js
share/doc/quickjs/examples/point.c
share/doc/quickjs/examples/test_fib.js
share/doc/quickjs/examples/test_point.js
-share/doc/quickjs/quickjs.html
-share/doc/quickjs/quickjs.pdf
+share/doc/quickjs/quickjs.texi
share/doc/quickjs/tests/assert.js
share/doc/quickjs/tests/bjson.c
share/doc/quickjs/tests/fixture_cyclic_import.js
Index: buildlink3.mk
===================================================================
RCS file: /cvsroot/pkgsrc/lang/quickjs/buildlink3.mk,v
retrieving revision 1.3
diff -u -p -r1.3 buildlink3.mk
--- buildlink3.mk 7 Feb 2025 12:36:23 -0000 1.3
+++ buildlink3.mk 5 Mar 2026 16:21:10 -0000
@@ -5,7 +5,9 @@ BUILDLINK_TREE+= quickjs
.if !defined(QUICKJS_BUILDLINK3_MK)
QUICKJS_BUILDLINK3_MK:=
-BUILDLINK_API_DEPENDS.quickjs+= quickjs>=20240113
+BUILDLINK_INCDIRS.quickjs?= include/quickjs
+
+BUILDLINK_API_DEPENDS.quickjs+= quickjs>=20250913
BUILDLINK_PKGSRCDIR.quickjs?= ../../lang/quickjs
.endif # QUICKJS_BUILDLINK3_MK
Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/lang/quickjs/distinfo,v
retrieving revision 1.14
diff -u -p -r1.14 distinfo
--- distinfo 12 Nov 2025 11:58:19 -0000 1.14
+++ distinfo 5 Mar 2026 16:21:10 -0000
@@ -1,10 +1,10 @@
$NetBSD: distinfo,v 1.14 2025/11/12 11:58:19 leot Exp $
-BLAKE2s (quickjs-2025-09-13.tar.xz) = 1dd767416ef10f6f3be0ada60edd5c478e08a6df5813b345e7830038b1e416b0
-SHA512 (quickjs-2025-09-13.tar.xz) = 077acba8b318b19cd2660fae0ca03099185b688dba46c89a6456b455639813eefc282975cd1eebdb3c49f62217b9506c6abad86d777b08cb49fe234beef918a2
-Size (quickjs-2025-09-13.tar.xz) = 595964 bytes
-SHA1 (patch-Makefile) = c3f827f36e41ca78a9b5144092276db8a9ac4a5e
+BLAKE2s (quickjs-2025-12-22-f1139494d18a2053630c5ed3384a42bb70db3c53.tar.gz) = a5bae8ec27d69c04c58f8f6fa24cf4fc7dd1d2a230c5949f285bc10d1ab5b814
+SHA512 (quickjs-2025-12-22-f1139494d18a2053630c5ed3384a42bb70db3c53.tar.gz) = ea63f60326795b4b5866b62c97a2ce72aa178c9650b256aead10ab0582bb4893d44acc7f98973ef6fc39ea3842fdc013b65abd8ccaf503d61d4f5c77158f223c
+Size (quickjs-2025-12-22-f1139494d18a2053630c5ed3384a42bb70db3c53.tar.gz) = 618177 bytes
+SHA1 (patch-Makefile) = 38d3b7660678bf9d8ef5d5b9d96687d30b0c47ba
SHA1 (patch-qjs.c) = bfabed96cfdd40214fede3069485394af2faef4f
SHA1 (patch-qjsc.c) = bffd0222579f3996bc21116694343a7dd65d8f33
SHA1 (patch-quickjs-libc.c) = 39c2b553ef04b308e7c477590edd345b62acc528
-SHA1 (patch-quickjs.c) = 0bd06241a4262168124171adf7cf963809e74915
+SHA1 (patch-quickjs.c) = 80f8ea109ed927d6b3213f5381026ad576a15909
Index: patches/patch-Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/lang/quickjs/patches/patch-Makefile,v
retrieving revision 1.7
diff -u -p -r1.7 patch-Makefile
--- patches/patch-Makefile 12 Nov 2025 11:49:38 -0000 1.7
+++ patches/patch-Makefile 5 Mar 2026 16:21:10 -0000
@@ -2,7 +2,7 @@ $NetBSD: patch-Makefile,v 1.7 2025/11/12
Portability patch for NetBSD.
---- Makefile.orig 2025-09-13 08:48:28.000000000 +0000
+--- Makefile.orig 2025-12-22 14:12:46.000000000 +0000
+++ Makefile
@@ -22,10 +22,14 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
@@ -21,7 +21,7 @@ Portability patch for NetBSD.
CONFIG_FREEBSD=y
endif
# Windows cross compilation from Linux
-@@ -77,6 +81,13 @@ CONFIG_CLANG=y
+@@ -81,6 +85,13 @@ CONFIG_CLANG=y
CONFIG_DEFAULT_AR=y
CONFIG_LTO=
endif
@@ -35,7 +35,18 @@ Portability patch for NetBSD.
ifdef CONFIG_WIN32
ifdef CONFIG_M32
-@@ -243,11 +254,17 @@ QJS_LIB_OBJS=$(OBJDIR)/quickjs.o $(OBJDI
+@@ -217,8 +228,10 @@ QJSC_CC=$(CC)
+ QJSC=./qjsc$(EXE)
+ endif
+ PROGS+=libquickjs.a
++PROGS+=libquickjs.so
+ ifdef CONFIG_LTO
+ PROGS+=libquickjs.lto.a
++PROGS+=libquickjs.lto.so
+ endif
+
+ # examples
+@@ -247,11 +260,17 @@ QJS_LIB_OBJS=$(OBJDIR)/quickjs.o $(OBJDI
QJS_OBJS=$(OBJDIR)/qjs.o $(OBJDIR)/repl.o $(QJS_LIB_OBJS)
@@ -54,7 +65,7 @@ Portability patch for NetBSD.
LIBS+=$(EXTRA_LIBS)
$(OBJDIR):
-@@ -285,6 +302,9 @@ QJSC_DEFINES:=-DCONFIG_CC=\"$(QJSC_CC)\"
+@@ -289,6 +308,9 @@ QJSC_DEFINES:=-DCONFIG_CC=\"$(QJSC_CC)\"
ifdef CONFIG_LTO
QJSC_DEFINES+=-DCONFIG_LTO
endif
@@ -64,16 +75,34 @@ Portability patch for NetBSD.
QJSC_HOST_DEFINES:=-DCONFIG_CC=\"$(HOST_CC)\" -DCONFIG_PREFIX=\"$(PREFIX)\"
$(OBJDIR)/qjsc.o: CFLAGS+=$(QJSC_DEFINES)
-@@ -368,10 +388,9 @@ install: all
+@@ -302,10 +324,14 @@ endif
+
+ libquickjs$(LTOEXT).a: $(QJS_LIB_OBJS)
+ $(AR) rcs $@ $^
++libquickjs$(LTOEXT).so: $(QJS_LIB_OBJS)
++ $(CC) -shared -Wl,-soname=$@.0 $(LDFLAGS) -o $@ $^
+
+ ifdef CONFIG_LTO
+ libquickjs.a: $(patsubst %.o, %.nolto.o, $(QJS_LIB_OBJS))
+ $(AR) rcs $@ $^
++libquickjs.so: $(patsubst %.o, %.nolto.o, $(QJS_LIB_OBJS))
++ $(CC) -shared -Wl,-soname=$@.0 $(LDFLAGS) -o $@ $^
+ endif # CONFIG_LTO
+
+ libquickjs.fuzz.a: $(patsubst %.o, %.fuzz.o, $(QJS_LIB_OBJS))
+@@ -372,10 +398,12 @@ install: all
mkdir -p "$(DESTDIR)$(PREFIX)/bin"
$(STRIP) qjs$(EXE) qjsc$(EXE)
install -m755 qjs$(EXE) qjsc$(EXE) "$(DESTDIR)$(PREFIX)/bin"
- mkdir -p "$(DESTDIR)$(PREFIX)/lib/quickjs"
- install -m644 libquickjs.a "$(DESTDIR)$(PREFIX)/lib/quickjs"
++ mkdir -p "$(DESTDIR)$(PREFIX)/lib"
+ install -m644 libquickjs.a "$(DESTDIR)$(PREFIX)/lib"
++ install -m644 libquickjs.so "$(DESTDIR)$(PREFIX)/lib"
ifdef CONFIG_LTO
- install -m644 libquickjs.lto.a "$(DESTDIR)$(PREFIX)/lib/quickjs"
+ install -m644 libquickjs.lto.a "$(DESTDIR)$(PREFIX)/lib"
++ install -m644 libquickjs.lto.so "$(DESTDIR)$(PREFIX)/lib"
endif
mkdir -p "$(DESTDIR)$(PREFIX)/include/quickjs"
install -m644 quickjs.h quickjs-libc.h "$(DESTDIR)$(PREFIX)/include/quickjs"
Index: patches/patch-quickjs.c
===================================================================
RCS file: /cvsroot/pkgsrc/lang/quickjs/patches/patch-quickjs.c,v
retrieving revision 1.6
diff -u -p -r1.6 patch-quickjs.c
--- patches/patch-quickjs.c 12 Nov 2025 11:58:20 -0000 1.6
+++ patches/patch-quickjs.c 5 Mar 2026 16:21:10 -0000
@@ -1,10 +1,8 @@
$NetBSD: patch-quickjs.c,v 1.6 2025/11/12 11:58:20 leot Exp $
- Portability patch for NetBSD.
-- Backport commit c6fe5a98fd3ef3b7064e6e0145dfebfe12449fea to fix
- CVE-2025-12745.
---- quickjs.c.orig 2025-09-13 08:48:28.000000000 +0000
+--- quickjs.c.orig 2026-03-05 15:33:25.381847153 +0000
+++ quickjs.c
@@ -69,7 +69,15 @@
/* define to include Atomics.* operations which depend on the OS
@@ -22,7 +20,7 @@ $NetBSD: patch-quickjs.c,v 1.6 2025/11/1
#endif
#if !defined(EMSCRIPTEN)
-@@ -1669,7 +1677,7 @@ static size_t js_def_malloc_usable_size(
+@@ -1721,7 +1729,7 @@ static size_t js_def_malloc_usable_size(
return malloc_size(ptr);
#elif defined(_WIN32)
return _msize((void *)ptr);
@@ -31,12 +29,3 @@ $NetBSD: patch-quickjs.c,v 1.6 2025/11/1
return 0;
#elif defined(__linux__) || defined(__GLIBC__)
return malloc_usable_size((void *)ptr);
-@@ -52988,7 +52996,7 @@ static JSValue js_array_buffer_slice(JSC
- goto fail;
- }
- /* must test again because of side effects */
-- if (abuf->detached) {
-+ if (abuf->detached || abuf->byte_length < start + new_len) {
- JS_ThrowTypeErrorDetachedArrayBuffer(ctx);
- goto fail;
- }
Home |
Main Index |
Thread Index |
Old Index