pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/lang/quickjs
Module Name: pkgsrc
Committed By: pho
Date: Sat Mar 28 04:54:38 UTC 2026
Modified Files:
pkgsrc/lang/quickjs: Makefile PLIST distinfo
pkgsrc/lang/quickjs/patches: patch-Makefile
Log Message:
lang/quickjs: Fix shared library by installing both .so and .so.0
Previously the Makefile would create libquickjs.so with DT_SONAME set to
"libquickjs.so.0" but it wouldn't actually install the .so.0 file. This
caused any packages (including www/elinks) that depend on the shared
library to fail, because "ld -o obj -lquickjs" inserts DT_NEEDED to the
non-existent .so.0 to the "obj". Setting DT_SONAME to .so.0 is fine, but
then we actually need to install that file.
While here, now that we build a shared library let's link qjs and qjsc
dynamically.
To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 pkgsrc/lang/quickjs/Makefile
cvs rdiff -u -r1.10 -r1.11 pkgsrc/lang/quickjs/PLIST
cvs rdiff -u -r1.15 -r1.16 pkgsrc/lang/quickjs/distinfo
cvs rdiff -u -r1.8 -r1.9 pkgsrc/lang/quickjs/patches/patch-Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/lang/quickjs/Makefile
diff -u pkgsrc/lang/quickjs/Makefile:1.19 pkgsrc/lang/quickjs/Makefile:1.20
--- pkgsrc/lang/quickjs/Makefile:1.19 Fri Mar 27 20:24:07 2026
+++ pkgsrc/lang/quickjs/Makefile Sat Mar 28 04:54:38 2026
@@ -1,10 +1,11 @@
-# $NetBSD: Makefile,v 1.19 2026/03/27 20:24:07 nia Exp $
+# $NetBSD: Makefile,v 1.20 2026/03/28 04:54:38 pho Exp $
NAME= quickjs
QJS_DATE= 2025-12-22
VERSION= ${QJS_DATE:S/-//g}
DISTNAME= ${NAME}-${QJS_DATE}
PKGNAME= ${NAME}-${VERSION}
+PKGREVISION= 1
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GITHUB:=bellard/}
GITHUB_PROJECT= ${NAME}
Index: pkgsrc/lang/quickjs/PLIST
diff -u pkgsrc/lang/quickjs/PLIST:1.10 pkgsrc/lang/quickjs/PLIST:1.11
--- pkgsrc/lang/quickjs/PLIST:1.10 Tue Mar 10 17:24:10 2026
+++ pkgsrc/lang/quickjs/PLIST Sat Mar 28 04:54:38 2026
@@ -1,10 +1,11 @@
-@comment $NetBSD: PLIST,v 1.10 2026/03/10 17:24:10 osa Exp $
+@comment $NetBSD: PLIST,v 1.11 2026/03/28 04:54:38 pho Exp $
bin/qjs
bin/qjsc
include/quickjs/quickjs-libc.h
include/quickjs/quickjs.h
lib/libquickjs.a
lib/libquickjs.so
+lib/libquickjs.so.0
share/doc/quickjs/examples/fib.c
share/doc/quickjs/examples/fib_module.js
share/doc/quickjs/examples/hello.js
Index: pkgsrc/lang/quickjs/distinfo
diff -u pkgsrc/lang/quickjs/distinfo:1.15 pkgsrc/lang/quickjs/distinfo:1.16
--- pkgsrc/lang/quickjs/distinfo:1.15 Tue Mar 10 17:24:10 2026
+++ pkgsrc/lang/quickjs/distinfo Sat Mar 28 04:54:38 2026
@@ -1,9 +1,9 @@
-$NetBSD: distinfo,v 1.15 2026/03/10 17:24:10 osa Exp $
+$NetBSD: distinfo,v 1.16 2026/03/28 04:54:38 pho Exp $
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-Makefile) = 683b2bb964c98da328eea20d9b174ac0f5b6c7f6
SHA1 (patch-qjs.c) = bfabed96cfdd40214fede3069485394af2faef4f
SHA1 (patch-qjsc.c) = bffd0222579f3996bc21116694343a7dd65d8f33
SHA1 (patch-quickjs-libc.c) = 39c2b553ef04b308e7c477590edd345b62acc528
Index: pkgsrc/lang/quickjs/patches/patch-Makefile
diff -u pkgsrc/lang/quickjs/patches/patch-Makefile:1.8 pkgsrc/lang/quickjs/patches/patch-Makefile:1.9
--- pkgsrc/lang/quickjs/patches/patch-Makefile:1.8 Tue Mar 10 17:24:10 2026
+++ pkgsrc/lang/quickjs/patches/patch-Makefile Sat Mar 28 04:54:38 2026
@@ -1,4 +1,4 @@
-$NetBSD: patch-Makefile,v 1.8 2026/03/10 17:24:10 osa Exp $
+$NetBSD: patch-Makefile,v 1.9 2026/03/28 04:54:38 pho Exp $
Portability patch for NetBSD.
@@ -35,18 +35,26 @@ Portability patch for NetBSD.
ifdef CONFIG_WIN32
ifdef CONFIG_M32
-@@ -217,8 +228,10 @@ QJSC_CC=$(CC)
+@@ -211,14 +222,18 @@ PROGS=qjs$(EXE) qjsc$(EXE) run-test262$(
+ ifneq ($(CROSS_PREFIX),)
+ QJSC_CC=gcc
+ QJSC=./host-qjsc
++QJSC_CMD=$(QJSC)
+ PROGS+=$(QJSC)
+ else
+ QJSC_CC=$(CC)
QJSC=./qjsc$(EXE)
++QJSC_CMD=LD_LIBRARY_PATH=. $(QJSC)
endif
PROGS+=libquickjs.a
-+PROGS+=libquickjs.so
++PROGS+=libquickjs.so libquickjs.so.0
ifdef CONFIG_LTO
PROGS+=libquickjs.lto.a
-+PROGS+=libquickjs.lto.so
++PROGS+=libquickjs.lto.so libquickjs.lto.so.0
endif
# examples
-@@ -247,11 +260,17 @@ QJS_LIB_OBJS=$(OBJDIR)/quickjs.o $(OBJDI
+@@ -247,23 +262,29 @@ QJS_LIB_OBJS=$(OBJDIR)/quickjs.o $(OBJDI
QJS_OBJS=$(OBJDIR)/qjs.o $(OBJDIR)/repl.o $(QJS_LIB_OBJS)
@@ -65,7 +73,21 @@ Portability patch for NetBSD.
LIBS+=$(EXTRA_LIBS)
$(OBJDIR):
-@@ -289,6 +308,9 @@ QJSC_DEFINES:=-DCONFIG_CC=\"$(QJSC_CC)\"
+ mkdir -p $(OBJDIR) $(OBJDIR)/examples $(OBJDIR)/tests
+
+-qjs$(EXE): $(QJS_OBJS)
++qjs$(EXE): $(filter-out $(QJS_LIB_OBJS),$(QJS_OBJS)) libquickjs.so
+ $(CC) $(LDFLAGS) $(LDEXPORT) -o $@ $^ $(LIBS)
+
+ qjs-debug$(EXE): $(patsubst %.o, %.debug.o, $(QJS_OBJS))
+ $(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
+
+-qjsc$(EXE): $(OBJDIR)/qjsc.o $(QJS_LIB_OBJS)
++qjsc$(EXE): $(OBJDIR)/qjsc.o $(QJS_LIB_OBJS) libquickjs.so
+ $(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
+
+ fuzz_eval: $(OBJDIR)/fuzz_eval.o $(OBJDIR)/fuzz_common.o libquickjs.fuzz.a
+@@ -289,6 +310,9 @@ QJSC_DEFINES:=-DCONFIG_CC=\"$(QJSC_CC)\"
ifdef CONFIG_LTO
QJSC_DEFINES+=-DCONFIG_LTO
endif
@@ -75,22 +97,34 @@ Portability patch for NetBSD.
QJSC_HOST_DEFINES:=-DCONFIG_CC=\"$(HOST_CC)\" -DCONFIG_PREFIX=\"$(PREFIX)\"
$(OBJDIR)/qjsc.o: CFLAGS+=$(QJSC_DEFINES)
-@@ -302,10 +324,14 @@ endif
+@@ -302,17 +326,25 @@ endif
libquickjs$(LTOEXT).a: $(QJS_LIB_OBJS)
$(AR) rcs $@ $^
-+libquickjs$(LTOEXT).so: $(QJS_LIB_OBJS)
-+ $(CC) -shared -Wl,-soname=$@.0 $(LDFLAGS) -o $@ $^
++libquickjs$(LTOEXT).so.0: $(QJS_LIB_OBJS)
++ $(CC) -shared -Wl,-soname=$@ $(LDFLAGS) -o $@ $^
++libquickjs$(LTOEXT).so: libquickjs$(LTOEXT).so.0
++ ln -sf $< $@
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 $@ $^
++libquickjs.so.0: $(patsubst %.o, %.nolto.o, $(QJS_LIB_OBJS))
++ $(CC) -shared -Wl,-soname=$@ $(LDFLAGS) -o $@ $^
++libquickjs.so: libquickjs.so.0
++ ln -sf $< $@
endif # CONFIG_LTO
libquickjs.fuzz.a: $(patsubst %.o, %.fuzz.o, $(QJS_LIB_OBJS))
-@@ -372,10 +398,12 @@ install: all
+ $(AR) rcs $@ $^
+
+ repl.c: $(QJSC) repl.js
+- $(QJSC) -s -c -o $@ -m repl.js
++ $(QJSC_CMD) -s -c -o $@ -m repl.js
+
+ ifneq ($(wildcard unicode/UnicodeData.txt),)
+ $(OBJDIR)/libunicode.o $(OBJDIR)/libunicode.nolto.o: libunicode-table.h
+@@ -372,10 +404,14 @@ install: all
mkdir -p "$(DESTDIR)$(PREFIX)/bin"
$(STRIP) qjs$(EXE) qjsc$(EXE)
install -m755 qjs$(EXE) qjsc$(EXE) "$(DESTDIR)$(PREFIX)/bin"
@@ -98,11 +132,37 @@ Portability patch for NetBSD.
- 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"
++ install -m755 libquickjs.so.0 "$(DESTDIR)$(PREFIX)/lib"
++ (cd "$(DESTDIR)$(PREFIX)/lib" && ln -sf libquickjs.so.0 libquickjs.so)
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"
++ install -m755 libquickjs.lto.so.0 "$(DESTDIR)$(PREFIX)/lib"
++ (cd "$(DESTDIR)$(PREFIX)/lib" && ln -sf libquickjs.lto.so.0 libquickjs.lto.so)
endif
mkdir -p "$(DESTDIR)$(PREFIX)/include/quickjs"
install -m644 quickjs.h quickjs-libc.h "$(DESTDIR)$(PREFIX)/include/quickjs"
+@@ -390,7 +426,7 @@ HELLO_OPTS=-fno-string-normalize -fno-ma
+ -fno-date -fno-module-loader
+
+ hello.c: $(QJSC) $(HELLO_SRCS)
+- $(QJSC) -e $(HELLO_OPTS) -o $@ $(HELLO_SRCS)
++ $(QJSC_CMD) -e $(HELLO_OPTS) -o $@ $(HELLO_SRCS)
+
+ examples/hello: $(OBJDIR)/hello.o $(QJS_LIB_OBJS)
+ $(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
+@@ -401,12 +437,12 @@ HELLO_MODULE_OPTS=-fno-string-normalize
+ -fno-typedarray -fno-regexp -fno-json -fno-eval -fno-proxy \
+ -fno-date -m
+ examples/hello_module: $(QJSC) libquickjs$(LTOEXT).a $(HELLO_MODULE_SRCS)
+- $(QJSC) $(HELLO_MODULE_OPTS) -o $@ $(HELLO_MODULE_SRCS)
++ $(QJSC_CMD) $(HELLO_MODULE_OPTS) -o $@ $(HELLO_MODULE_SRCS)
+
+ # use of an external C module (static compilation)
+
+ test_fib.c: $(QJSC) examples/test_fib.js
+- $(QJSC) -e -M examples/fib.so,fib -m -o $@ examples/test_fib.js
++ $(QJSC_CMD) -e -M examples/fib.so,fib -m -o $@ examples/test_fib.js
+
+ examples/test_fib: $(OBJDIR)/test_fib.o $(OBJDIR)/examples/fib.o libquickjs$(LTOEXT).a
+ $(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
Home |
Main Index |
Thread Index |
Old Index