pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
squeak5-vm: Update to 202606270913
Module Name: pkgsrc-wip
Committed By: Atsushi Toyokura <asteria.at%gmail.com@localhost>
Pushed By: steleto
Date: Thu Aug 13 15:05:33 2026 +0900
Changeset: e35e4e5965eda757a00cd566b73b9cd7517c30dc
Modified Files:
squeak5-vm/Makefile
squeak5-vm/PLIST
squeak5-vm/distinfo
squeak5-vm/patches/patch-building_linux64x64_squeak.cog.spur_build_mvm
squeak5-vm/patches/patch-src_spur64.cog_cogitX64SysV.c
Added Files:
squeak5-vm/patches/patch-building_linux64x64_squeak.cog.spur_plugins.int
squeak5-vm/patches/patch-platforms_Cross_plugins_PseudoTTYPlugin_PseudoTTYPlugin.h
Removed Files:
squeak5-vm/patches/patch-platforms_unix_vm_sqUnixITimerHeartbeat.c
squeak5-vm/patches/patch-platforms_unix_vm_sqUnixITimerTickerHeartbeat.c
Log Message:
squeak5-vm: Update to 202606270913
202606270913 (2026-07-27):
Release Version 2026.06
This is a minor release with no major changes. Also see the update
notes of OSVM Version 2026.04.
Update notes are based on the commit messages since Cog-eem.509 and
VMMaker.oscog-eem.3755. Also see update map update.oscog-mt.20, which
corresponds to this tag (which is based on Cog-ct.510 and
VMMaker.oscog-eem.3766).
- Add CameraPlugin for Linux platform (besides Windows and macOS)
- Fix issue with UTF-8 console output on Windows platforms (see #771)
- Fix issue with error reaper in FFI plugin
- Fix serious issue with creation of unscanned ephemerons
VMMaker Dev Notes
- Fix simulation of Integer >> asUnsignedInteger
- Fix ancient type inference bug in Slang
- Fix some issues in the multi-threaded VM (not yet released)
Known issues
- On Linux, the idle CPU usage could be improved; see #764
- On Linux, the extended clipboard needs more care; see #756
- TLS support in SqueakSSL could be improved; see #768
Compatibility notes
- Pre-built Linux binaries require GLIBC_2.35, which means Ubuntu
22.04 or later
- For older systems, please try linux64x64_ubuntu-20.04 or build the
VM on your own
- We will happily help out; just ask on the vm-dev mailing list
- On macOS and Windows, a restart of the VM is required after
installing SqueakFFI for the first time
- Otherwise, modules and function addresses cannot be loaded
- On macOS, the Smalltalk interpreter runs on a non-GUI thread, which
might affect some GUI-related FFI callouts in third-party projects. We
plan to provide an option so that FFI can be used again in these
cases. For GUI-related VM primitives, we made sure to choose the
correct thread.
- On Windows, you might have to install C runtime support libraries,
i.e. Microsoft Visual C++ Redistributable Version 14, if you get the
startup message that VCRUNTIME140.DLL or MSVCP140.DLL cannot be
found. Note that the earliest supported Windows is still Windows XP.
Info on VM flavors
- cog.spur (32/64-bit, has JIT, ARM or Intel, Squeak 5.0 and later)
- stack.spur (32/64-bit, no JIT, ARM or Intel, Squeak 5.0 and later)
- LEGACY
- cog.v3 (32-bit, has JIT, ARM or Intel, Squeak 4.6 and before)
- stack.v3 (32-bit, no JIT, ARM or Intel, Squeak 4.6 and before)
- COMPATIBILITY
- cog.spur for Ubuntu 22.04 (requires GLIBC_2.35 or later; Ubuntu
Pro LTS support lasts until 2032)
- cog.spur for Ubuntu 20.04 (requires GLIBC_2.31 or later; Ubuntu
Pro LTS support lasts until 2030)
If you want to compile the sources that are attached here, put the
sqSCCSVersion.h from here into platforms/Cross/vm.
202604252110 (2026-04-27):
Release Version 2026.04
This is a patch release. Also see the update notes of OSVM Version
2026.03.
Update notes are based on the commit messages since Cog-eem.508 and
VMMaker.oscog-eem.3739. Also see update map update.oscog-mt.19, which
corresponds to this tag (which is based on Cog-ct.509 and
VMMaker.oscog-eem.3755).
- Fixes critical issue with #become: in 32-bit builds so that it does
not swap identity hashes to avoid having to #rehash involved
structures (see #766)
- Fixes issue in FFI exception catching (i.e., second-time exceptions
would crash the VM)
Known issues
- On Linux, the idle CPU usage could be improved; see #764
- On Linux, the extended clipboard needs more care; see #756
- TLS support in SqueakSSL could be improved; see #768
Compatibility notes
- Pre-built Linux binaries require GLIBC_2.35, which means Ubuntu
22.04 or later
- For older systems, please try linux64x64_ubuntu-20.04 or build the
VM on your own
- We will happily help out; just ask on the vm-dev mailing list
- On macOS, a restart of the VM is required after installing SqueakFFI
for the first time
- Otherwise, modules and function addresses cannot be loaded
- On macOS, the Smalltalk interpreter now runs on a non-GUI thread,
which might affect some GUI-related FFI callouts in third-party
projects. We plan to provide an option so that FFI can be used again
in these cases. For GUI-related VM primitives, we made sure to choose
the correct thread.
- On Windows, the CameraPlugin is now part of the release because we
now build with the Windows 10 SDK, not mingw-w64. Both ways are still
supported for custom builds.
- On Windows, you might have to install C runtime support libraries,
i.e. Microsoft Visual C++ Redistributable Version 14, if you get the
startup message that VCRUNTIME140.DLL or MSVCP140.DLL cannot be
found. Note that the earliest supported Windows is still Windows XP.
- (VMMaker) RawBitsArray >> byteAt: is now expected in the base Squeak
image (i.e. Squeak 6.1alpha and later) because it was removed from
VMMaker-Simulation package
Info on VM flavors
- cog.spur (32/64-bit, has JIT, ARM or Intel, Squeak 5.0 and later)
- stack.spur (32/64-bit, no JIT, ARM or Intel, Squeak 5.0 and later)
- LEGACY
- cog.v3 (32-bit, has JIT, ARM or Intel, Squeak 4.6 and before)
- stack.v3 (32-bit, no JIT, ARM or Intel, Squeak 4.6 and before)
- COMPATIBILITY
- cog.spur for Ubuntu 22.04 (requires GLIBC_2.35 or later; Ubuntu
Pro LTS support lasts until 2032)
- cog.spur for Ubuntu 20.04 (requires GLIBC_2.31 or later; Ubuntu
Pro LTS support lasts until 2030)
If you want to compile the sources that are attached here, put the
sqSCCSVersion.h from here into platforms/Cross/vm.
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=e35e4e5965eda757a00cd566b73b9cd7517c30dc
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
squeak5-vm/Makefile | 8 ++++----
squeak5-vm/PLIST | 4 ++++
squeak5-vm/distinfo | 14 +++++++-------
...tch-building_linux64x64_squeak.cog.spur_build_mvm | 17 ++++++++---------
...h-building_linux64x64_squeak.cog.spur_plugins.int | 14 ++++++++++++++
...s_Cross_plugins_PseudoTTYPlugin_PseudoTTYPlugin.h | 20 ++++++++++++++++++++
.../patch-platforms_unix_vm_sqUnixITimerHeartbeat.c | 13 -------------
...h-platforms_unix_vm_sqUnixITimerTickerHeartbeat.c | 13 -------------
.../patches/patch-src_spur64.cog_cogitX64SysV.c | 20 ++++++++++----------
9 files changed, 67 insertions(+), 56 deletions(-)
diffs:
diff --git a/squeak5-vm/Makefile b/squeak5-vm/Makefile
index 5eb2593045..b277233673 100644
--- a/squeak5-vm/Makefile
+++ b/squeak5-vm/Makefile
@@ -2,11 +2,11 @@
DISTNAME= opensmalltak-vm
PKGNAME= squeak5-vm-${GITHUB_TAG}
-PKGVERSION= 5.0-${GITHUB_TAG}
+PKGVERSION= 7.0-${GITHUB_TAG}
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GITHUB:=OpenSmalltalk/}
GITHUB_PROJECT= opensmalltalk-vm
-GITHUB_TAG= 202312181441
+GITHUB_TAG= 202606270913
MAINTAINER= pkgsrc-users%NetBSD.org@localhost
HOMEPAGE= http://opensmalltalk.org/
@@ -34,9 +34,9 @@ SUBST_MESSAGE.sccs= Set version infomation to the VM.
SUBST_FILES.sccs= platforms/Cross/vm/sqSCCSVersion.h
SUBST_FILES.sccs+= platforms/Cross/plugins/sqPluginsSCCSVersion.h
SUBST_SED.sccs= -e "s,\$$Rev,\$$Rev: ${GITHUB_TAG} ,g"
-SUBST_SED.sccs+= -e "s,\$$Date,\$$Date: Mon 18 Dec 2023 15:41:18 +0100 ,g"
+SUBST_SED.sccs+= -e "s,\$$Date,\$$Date: Sat 27 Jun 2026 11:13:44 +0200 ,g"
SUBST_SED.sccs+= -e "s,\$$URL,\$$URL: `${ID} -un`@`${HOSTNAME_CMD}`:${WRKSRC} ,g"
-SUBST_SED.sccs+= -e "s,\$$CommitHash,\$$CommitHash: cc2dd9090 ,g"
+SUBST_SED.sccs+= -e "s,\$$CommitHash,\$$CommitHash: be1b7ad34 ,g"
INSTALLATION_DIRS+= bin
diff --git a/squeak5-vm/PLIST b/squeak5-vm/PLIST
index e07a13bf25..14292821df 100644
--- a/squeak5-vm/PLIST
+++ b/squeak5-vm/PLIST
@@ -4,9 +4,12 @@ bin/squeak
lib/squeak/${PKGVERSION}-64bit/B3DAcceleratorPlugin.so
lib/squeak/${PKGVERSION}-64bit/DESPlugin.so
lib/squeak/${PKGVERSION}-64bit/FileAttributesPlugin.so
+lib/squeak/${PKGVERSION}-64bit/HelloExternalWorldPlugin.so
+lib/squeak/${PKGVERSION}-64bit/HelloWorldPlugin.so
lib/squeak/${PKGVERSION}-64bit/ImmX11Plugin.so
lib/squeak/${PKGVERSION}-64bit/LocalePlugin.so
lib/squeak/${PKGVERSION}-64bit/MD5Plugin.so
+lib/squeak/${PKGVERSION}-64bit/PseudoTTYPlugin.so
lib/squeak/${PKGVERSION}-64bit/SHA2Plugin.so
lib/squeak/${PKGVERSION}-64bit/Squeak3D.so
lib/squeak/${PKGVERSION}-64bit/SqueakFFIPrims.so
@@ -20,4 +23,5 @@ lib/squeak/${PKGVERSION}-64bit/squeak
lib/squeak/${PKGVERSION}-64bit/vm-display-X11.so
lib/squeak/${PKGVERSION}-64bit/vm-display-null.so
lib/squeak/${PKGVERSION}-64bit/vm-sound-OSS.so
+lib/squeak/${PKGVERSION}-64bit/vm-sound-Sun.so
lib/squeak/${PKGVERSION}-64bit/vm-sound-null.so
diff --git a/squeak5-vm/distinfo b/squeak5-vm/distinfo
index 085558cd04..f1cdb063ef 100644
--- a/squeak5-vm/distinfo
+++ b/squeak5-vm/distinfo
@@ -1,9 +1,11 @@
$NetBSD$
-BLAKE2s (opensmalltak-vm-202312181441.tar.gz) = 35efe327e9d0e8673573744a0d1ef3d6f415ccf8816bb5dbfc1278d537f60f1a
-SHA512 (opensmalltak-vm-202312181441.tar.gz) = d253d01e33fceaaf5713e96e747e877458272e78469b776c2e57c28e1429a2797954535857694d06ec96d4e054743d67bc57bc73d19d107c7fb5753df422e0c8
-Size (opensmalltak-vm-202312181441.tar.gz) = 55030856 bytes
-SHA1 (patch-building_linux64x64_squeak.cog.spur_build_mvm) = ca310dc2cf25bacadadaccdaddb00fe3e01db7a5
+BLAKE2s (opensmalltak-vm-202606270913.tar.gz) = 43525eba6d8eabafcb3e3b65a45b65a031157c01b62f01803ee800163035b9d3
+SHA512 (opensmalltak-vm-202606270913.tar.gz) = ae51237d7a3d9844c5ab9ff087189d07b45a222b170057a00c025b23059374519f908d435f2d3f1b230b0bf8fffbd4da60889f6db96567991fc08ceb1036b84a
+Size (opensmalltak-vm-202606270913.tar.gz) = 46493970 bytes
+SHA1 (patch-building_linux64x64_squeak.cog.spur_build_mvm) = 33cb8d3c13d37b7b757a457b764aba9cbdb63dc2
+SHA1 (patch-building_linux64x64_squeak.cog.spur_plugins.int) = 5cad209cd518b7d04396b334399d406b400543bb
+SHA1 (patch-platforms_Cross_plugins_PseudoTTYPlugin_PseudoTTYPlugin.h) = dbf963dc6bf5f6e05f9afeb8ca907c24b94b1e5b
SHA1 (patch-platforms_Cross_plugins_SqueakFFIPrims_sqFFIPlugin.c) = 7c2b933ca02d032f76e076f6b9f98510a06af12e
SHA1 (patch-platforms_unix_config_bin.squeak.sh.in) = eca83ca07948b5abce150bd4be4b5a7a8e1630eb
SHA1 (patch-platforms_unix_config_configure.ac) = 465b211778a8d70bc2d030f0e8987f0e48edc1c2
@@ -15,7 +17,5 @@ SHA1 (patch-platforms_unix_plugins_SqueakSSL_openssl__overlay.h) = f66f067c8876a
SHA1 (patch-platforms_unix_plugins_UUIDPlugin_sqUnixUUID.c) = ceeffabb8d8ad18e98e4850ca4a7680983a5a88b
SHA1 (patch-platforms_unix_vm-display-X11_acinclude.m4) = 6fe2caffdcafa00185102d79dbb1dd50c3c814ee
SHA1 (patch-platforms_unix_vm_include__ucontext.h) = ef722fe06ac5e565e9303a7467cbee1b23f9d0bd
-SHA1 (patch-platforms_unix_vm_sqUnixITimerHeartbeat.c) = 96b6f1094b07c9456f9b6cc56b2bc7237e6c24f0
-SHA1 (patch-platforms_unix_vm_sqUnixITimerTickerHeartbeat.c) = 2714da2e76226d5194a07ad1ea5ead3edc39d7fd
SHA1 (patch-platforms_unix_vm_sqUnixMain.c) = 4990908bca9221ed18a4c4f93ee653a4828e4098
-SHA1 (patch-src_spur64.cog_cogitX64SysV.c) = f0a60621d6bfc3aa101da95d1fa354829f3e5d56
+SHA1 (patch-src_spur64.cog_cogitX64SysV.c) = 78a53935edc84d13c40eeb1dc9edcd9df69b5807
diff --git a/squeak5-vm/patches/patch-building_linux64x64_squeak.cog.spur_build_mvm b/squeak5-vm/patches/patch-building_linux64x64_squeak.cog.spur_build_mvm
index c6adfcdd2b..0b30e58c01 100644
--- a/squeak5-vm/patches/patch-building_linux64x64_squeak.cog.spur_build_mvm
+++ b/squeak5-vm/patches/patch-building_linux64x64_squeak.cog.spur_build_mvm
@@ -1,16 +1,15 @@
$NetBSD$
---- building/linux64x64/squeak.cog.spur/build/mvm.orig 2023-12-18 14:41:18.000000000 +0000
+--- building/linux64x64/squeak.cog.spur/build/mvm.orig 2026-06-27 09:13:44.000000000 +0000
+++ building/linux64x64/squeak.cog.spur/build/mvm
-@@ -16,6 +16,11 @@ case $(uname -s) in
- ;;
+@@ -36,6 +36,10 @@ esac
+ n|no|N|NO) echo "ok but this isn't safe!!";;
+ *) test -f Makefile && make reallyclean
esac
-
+CFLAGS="${CFLAGS} -Wno-error=implicit-function-declaration"
+CFLAGS="${CFLAGS} -Wno-error=incompatible-pointer-types"
+CFLAGS="${CFLAGS} -Wno-error=int-conversion"
-+#CFLAGS="${CFLAGS} -Wno-error=return-mismatch"
-+
- # Prefer clang over gcc, but use gcc if clang isn't available...
- CC=gcc
- if [ -x /usr/bin/clang ]; then CC=clang; fi
++CFLAGS="${CFLAGS} -Wno-error=return-mismatch"
+ ../../../../scripts/copylinuxpluginspecfiles
+ test -f config.h || ../../../../platforms/unix/config/configure --without-npsqueak \
+ --with-vmversion=5.0 \
diff --git a/squeak5-vm/patches/patch-building_linux64x64_squeak.cog.spur_plugins.int b/squeak5-vm/patches/patch-building_linux64x64_squeak.cog.spur_plugins.int
new file mode 100644
index 0000000000..c24fbb1ce1
--- /dev/null
+++ b/squeak5-vm/patches/patch-building_linux64x64_squeak.cog.spur_plugins.int
@@ -0,0 +1,14 @@
+$NetBSD$
+
+removed CameraPlugin
+
+--- building/linux64x64/squeak.cog.spur/plugins.int.orig 2026-08-12 09:56:31.545138295 +0000
++++ building/linux64x64/squeak.cog.spur/plugins.int
+@@ -6,7 +6,6 @@ BMPReadWriterPlugin \
+ B2DPlugin \
+ BitBltPlugin \
+ BMPReadWriterPlugin \
+-CameraPlugin \
+ CroquetPlugin \
+ HostWindowPlugin \
+ ZipPlugin \
diff --git a/squeak5-vm/patches/patch-platforms_Cross_plugins_PseudoTTYPlugin_PseudoTTYPlugin.h b/squeak5-vm/patches/patch-platforms_Cross_plugins_PseudoTTYPlugin_PseudoTTYPlugin.h
new file mode 100644
index 0000000000..1a04fea435
--- /dev/null
+++ b/squeak5-vm/patches/patch-platforms_Cross_plugins_PseudoTTYPlugin_PseudoTTYPlugin.h
@@ -0,0 +1,20 @@
+$NetBSD$
+
+Fix prototype
+
+--- platforms/Cross/plugins/PseudoTTYPlugin/PseudoTTYPlugin.h.orig 2026-08-12 10:17:10.525768186 +0000
++++ platforms/Cross/plugins/PseudoTTYPlugin/PseudoTTYPlugin.h
+@@ -1,8 +1,8 @@
+ #include "../AsynchFilePlugin/AsynchFilePlugin.h"
+
+-int ptyInit();
+-int ptyShutdown();
+-int ptyForkAndExec();
+-int ptyClose();
+-int ptyWindowSize();
++int ptyInit(void);
++int ptyShutdown(void);
++int ptyForkAndExec(AsyncFile *, int, char *, int, sqInt *, int);
++int ptyClose(AsyncFile *);
++int ptyWindowSize(AsyncFile *, int, int);
+
diff --git a/squeak5-vm/patches/patch-platforms_unix_vm_sqUnixITimerHeartbeat.c b/squeak5-vm/patches/patch-platforms_unix_vm_sqUnixITimerHeartbeat.c
deleted file mode 100644
index baf68fb5c1..0000000000
--- a/squeak5-vm/patches/patch-platforms_unix_vm_sqUnixITimerHeartbeat.c
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- platforms/unix/vm/sqUnixITimerHeartbeat.c.orig 2018-10-19 04:12:21.000000000 +0000
-+++ platforms/unix/vm/sqUnixITimerHeartbeat.c
-@@ -305,7 +305,7 @@ static int handling_heartbeat = 0;
- #endif
-
- static void
--heartbeat_handler(int sig, struct siginfo *sig_info, void *context)
-+heartbeat_handler(int sig, struct siginfo_t *sig_info, void *context)
- {
- #if !defined(SA_NODEFER)
- /* if the CAS fails, the heartbeat is already being handled. */
diff --git a/squeak5-vm/patches/patch-platforms_unix_vm_sqUnixITimerTickerHeartbeat.c b/squeak5-vm/patches/patch-platforms_unix_vm_sqUnixITimerTickerHeartbeat.c
deleted file mode 100644
index cd7d24b32b..0000000000
--- a/squeak5-vm/patches/patch-platforms_unix_vm_sqUnixITimerTickerHeartbeat.c
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- platforms/unix/vm/sqUnixITimerTickerHeartbeat.c.orig 2018-11-05 16:37:13.052717036 +0000
-+++ platforms/unix/vm/sqUnixITimerTickerHeartbeat.c
-@@ -329,7 +329,7 @@ prodHighPriorityThread()
- }
-
- static void
--high_performance_tick_handler(int sig, struct siginfo *sig_info, void *context)
-+high_performance_tick_handler(int sig, struct siginfo_t *sig_info, void *context)
- {
- static int tickCheckInProgress;
-
diff --git a/squeak5-vm/patches/patch-src_spur64.cog_cogitX64SysV.c b/squeak5-vm/patches/patch-src_spur64.cog_cogitX64SysV.c
index 5669fe0be8..b6d97abf89 100644
--- a/squeak5-vm/patches/patch-src_spur64.cog_cogitX64SysV.c
+++ b/squeak5-vm/patches/patch-src_spur64.cog_cogitX64SysV.c
@@ -1,15 +1,15 @@
$NetBSD$
---- src/spur64.cog/cogitX64SysV.c.orig 2022-06-02 14:10:44.000000000 +0000
+--- src/spur64.cog/cogitX64SysV.c.orig 2026-06-27 09:13:44.000000000 +0000
+++ src/spur64.cog/cogitX64SysV.c
-@@ -22979,9 +22979,7 @@ dispatchConcretize(AbstractInstruction *
- ((self_in_dispatchConcretize->operands))[2] = 0;
- return savedSize1;
- }
-- if ((reg20 == RAX)
-- || ((reg20 == RBP)
-- || (reg20 == RSP))) {
-+ if (reg20 == RAX) {
- offset38 = 0;
+@@ -24484,9 +24484,7 @@ l2:
+ an interrupt is delivered immediately after that point. See mail threads beginning with
+ http://lists.squeakfoundation.org/pipermail/vm-dev/2019-September/031428.html
+ http://lists.squeakfoundation.org/pipermail/vm-dev/2019-October/031499.html */
+- if ((reg == RAX)
+- || ((reg == RBP)
+- || (reg == RSP))) {
++ if (reg == RAX) {
+ offset1 = 0;
}
else {
Home |
Main Index |
Thread Index |
Old Index