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