components/runtime/smalltalk/squeak/Makefile
@@ -9,7 +9,7 @@ # # # Copyright 2020, 2021, 2022 David Stes # Copyright 2020, 2021, 2022, 2023 David Stes # @@ -20,10 +20,16 @@ # squeak uses cmake and a custom configure script (not GNU autoconf) # in order to build this package, "cmake" must be installed # # squeak is built both in 32-bit and 64-bit mode # the squeak driver script checks the Smalltalk image (using ckformat), # squeak was built both in 32-bit and 64-bit mode # but since 2023 version 4.20.6 now only in 64 bit per OpenIndiana request # OpenIndiana is dropping 32bit libraries so we can't build 32bit any longer # # the squeak driver script was/is checking the Smalltalk image (using ckformat), # and depending on whether the image is 32bit or 64bit, # it launches the squeak virtual machine 32bit or 64bit for the image # # we now (since 4.20.6) try to use the 64bit executable to launch 32bit images # and for 64bit images simply fail (with an error message) # # for 32-bit : ckformat reports 6505 # 6505: a 32-bit V3 image with closure support and float words stored @@ -33,6 +39,10 @@ # 68000: a 64-bit V3 image with no closure support and # no native platform float word order requirement # # note that since 4.20.6 the 64bit images (68000) are no longer working # but this is not much of a problem due to the fact that all images are 6502 # or 6504 (32bit) # # squeak places its 64-bit shared object files in # usr/lib/squeak/<version>-<svnversion>_64bit/ with a _64bit suffix # which is unfortunately not conforming to the usr/lib/amd64 usage @@ -40,8 +50,13 @@ # so we deliver a patch and rename files # in order to put the 64-bit objects in their usual usr/lib/amd64 location BUILD_BITS=32_and_64 BUILD_BITS=64 USE_COMMON_TEST_MASTER=no # there is support for OpenSSL 1.1 and 3.x in the squeak SSL module # but the SUnit squeak images tests seem to be written for old ssl versions # this can be set before including shared-macros.mk USE_OPENSSL10=yes # the goal is to use libjpeg8-turbo but that links, but does not display # working jpeg images; needs to be fixed upstream by the Squeak team @@ -55,15 +70,15 @@ # it cannot be changed here randomly, it must match the VMMaker version COMPONENT_NAME= squeak COMPONENT_VERSION= 4.20.3 COMPONENT_VERSION= 4.20.6 COMPONENT_SUMMARY= The Squeak Virtual Machine COMPONENT_PROJECT_URL= http://www.squeak.org COMPONENT_ARCHIVE_URL= http://squeakvm.org COMPONENT_FMRI= runtime/smalltalk/squeak COMPONENT_CLASSIFICATION= Development/Smalltalk SVN_REPO= http://squeakvm.org/svn/squeak/trunk/ SVN_REV= 3824 SVN_HASH= sha256:e85f1518e2ba6fc67d8bc16a7d580cc3a3f0acc8b62010b3aead5f3a9aafc7a2 SVN_REV= 3828 SVN_HASH= sha256:2008c85a0bbf62fdb1812a0b21e77ed95910c6c0759ec0c14f59536ec6f63016 # See http://wiki.squeak.org/squeak/933 # See http://wiki.squeak.org/squeak/159 @@ -71,10 +86,11 @@ COMPONENT_LICENSE= Squeak4 COMPONENT_LICENSE_FILE= squeak4.license # the tests are ran only on 32bit for Squeak classical VM # the tests are ran only on 32bit image for Squeak classical VM # because inisqueak downloads a 32 bit image (provided by squeak.org) # for OpenSmalltalk (see cog-spur and stack-spur) 32bit + 64bit COMPONENT_TEST_CMD= $(COMPONENT_TEST_RESULTS_DIR)/testrunner.sh $(BITS) $(COMPONENT_DIR) $(BUILD_DIR_32) # since version 2023 4.20.6 we use a 64bit executable to run the 32image COMPONENT_TEST_CMD= $(COMPONENT_TEST_RESULTS_DIR)/testrunner.sh $(BITS) $(COMPONENT_DIR) $(BUILD_DIR_64) include $(WS_MAKE_RULES)/common.mk @@ -99,7 +115,8 @@ # add -D_FILE_OFFSET_BITS=64 to CPPFLAGS but unlike OpenSmalltalk, # must also add this to CFLAGS because Squeak configure is not using CPPFLAGS # (see CFLAGS += CPPFLAGS below) CPPFLAGS += $(CPP_LARGEFILES) # since 2023 4.20.6 compile 64bit without largefiles flags to open 32bit images # CPPFLAGS += $(CPP_LARGEFILES) # build against libjpeg (see Illumos feature request #7391 for libjpeg8-turbo) # use --link-shared-lib to avoid the Squeak copy of libjpeg @@ -132,8 +149,11 @@ # in the 64bit case the vm is called squeakvm64 (not squeakvm) # the plugin directory under usr/lib/squeak has a _64bit suffix CONFIGURE_OPTIONS.64+= --image64 CONFIGURE_OPTIONS.64+= --vm-only # CONFIGURE_OPTIONS.64+= --image64 # CONFIGURE_OPTIONS.64+= --vm-only # since 2023 4.20.6 we try to avoid CMakeLists.txt SET (SQ_VI_BYTES_PER_WORD 8) CONFIGURE_OPTIONS.64+= -Dversionsuffix=_64bit CONFIGURE_OPTIONS.64+= -Dscriptsuffix=64 # Makefile install/strip doesn't work # the squeakvm is called either squeakvm or squeakvm64 in different directories components/runtime/smalltalk/squeak/manifests/sample-manifest.p5m
@@ -10,7 +10,7 @@ # # # Copyright 2022 <contributor> # Copyright 2023 <contributor> # set name=pkg.fmri value=pkg:/$(COMPONENT_FMRI)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) @@ -25,65 +25,35 @@ file path=usr/bin/squeak file path=usr/bin/squeak.sh file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/ckformat file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.AioPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.B3DAcceleratorPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.CameraPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.ClipboardExtendedPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.DBusPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.FT2Plugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.FileCopyPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.GStreamerPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.HostWindowPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.ImmX11Plugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.KedamaPlugin2 file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.Mpeg3Plugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.RomePlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.ScratchPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.Squeak3D file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.SqueakFFIPrims file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.SqueakSSL file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.UUIDPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.UnicodePlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.UnixOSProcessPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.VectorEnginePlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.XDisplayControlPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.vm-display-X11 file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.vm-display-custom file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.vm-display-null file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.vm-sound-Sun file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.vm-sound-custom file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.vm-sound-null file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/so.vm-sound-pulse file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822/squeakvm file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.AioPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.B3DAcceleratorPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.CameraPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.ClipboardExtendedPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.DBusPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.FT2Plugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.FileCopyPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.GStreamerPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.HostWindowPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.ImmX11Plugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.KedamaPlugin2 file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.Mpeg3Plugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.RomePlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.ScratchPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.Squeak3D file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.SqueakFFIPrims file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.SqueakSSL file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.UUIDPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.UnicodePlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.UnixOSProcessPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.VectorEnginePlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.XDisplayControlPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.vm-display-X11 file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.vm-display-custom file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.vm-display-null file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.vm-sound-Sun file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.vm-sound-custom file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.vm-sound-null file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/so.vm-sound-pulse file path=usr/lib/squeak/$(COMPONENT_VERSION)-3822_64bit/squeakvm64 file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/ckformat file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.AioPlugin file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.B3DAcceleratorPlugin file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.CameraPlugin file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.ClipboardExtendedPlugin file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.DBusPlugin file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.FT2Plugin file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.FileCopyPlugin file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.GStreamerPlugin file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.HostWindowPlugin file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.ImmX11Plugin file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.KedamaPlugin2 file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.Mpeg3Plugin file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.RomePlugin file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.ScratchPlugin file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.Squeak3D file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.SqueakFFIPrims file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.SqueakSSL file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.UUIDPlugin file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.UnicodePlugin file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.UnixOSProcessPlugin file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.VectorEnginePlugin file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.XDisplayControlPlugin file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.vm-display-X11 file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.vm-display-custom file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.vm-display-null file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.vm-sound-Sun file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.vm-sound-custom file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.vm-sound-null file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/so.vm-sound-pulse file path=usr/lib/squeak/$(HUMAN_VERSION)-3828_64bit/squeakvm64 file path=usr/share/man/man1/squeak.1 components/runtime/smalltalk/squeak/manifests/squeak-display-X11.p5m
@@ -10,7 +10,7 @@ # # # Copyright 2020, 2021, 2022 David Stes # Copyright 2020, 2021, 2022, 2023 David Stes # set name=pkg.fmri value=pkg:/runtime/smalltalk/squeak-display-X11@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) components/runtime/smalltalk/squeak/manifests/squeak-nodisplay.p5m
@@ -10,7 +10,7 @@ # # # Copyright 2020, 2021, 2022 David Stes # Copyright 2020, 2021, 2022, 2023 David Stes # @@ -26,12 +26,13 @@ license $(COMPONENT_LICENSE_FILE) license='$(COMPONENT_LICENSE)' # 32-bit objects in 64-bit multiarch build are rejected by lint # since 2023 version 4.20.6 we only deliver 64bit binaries <transform file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/* -> set pkg.linted.userland.action001.2 true> # since 2023 version 4.20.6 32bit do not provide 32bit binaries file inisqueak4 path=usr/bin/inisqueak4 file usr/bin/squeak path=usr/bin/squeak4 file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/ckformat mode=0555 file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/squeakvm mode=0555 file squeak.ips path=usr/bin/squeak4 file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/ckformat path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/ckformat mode=0555 file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/squeakvm64 path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/squeakvm64 mode=0555 file usr/share/man/man1/squeak.1 path=usr/share/man/man1/squeak4.1 components/runtime/smalltalk/squeak/manifests/squeak-ssl.p5m
@@ -10,7 +10,7 @@ # # # Copyright 2020, 2021, 2022 David Stes # Copyright 2020, 2021, 2022, 2023 David Stes # set name=pkg.fmri value=pkg:/runtime/smalltalk/squeak-ssl@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) components/runtime/smalltalk/squeak/manifests/squeak-vep.p5m
@@ -10,7 +10,7 @@ # # # Copyright 2020, 2021, 2022 David Stes # Copyright 2020, 2021, 2022, 2023 David Stes # set name=pkg.fmri value=pkg:/runtime/smalltalk/squeak-vep@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) components/runtime/smalltalk/squeak/manifests/squeak.p5m
@@ -10,7 +10,7 @@ # # # Copyright 2020, 2021, 2022 David Stes # Copyright 2020, 2021, 2022, 2023 David Stes # set name=pkg.fmri value=pkg:/$(COMPONENT_FMRI)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) components/runtime/smalltalk/squeak/pkg5
@@ -1,6 +1,5 @@ { "dependencies": [ "SUNWcs", "image/library/libjpeg8-turbo", "library/audio/gstreamer", "library/audio/pulseaudio", @@ -21,11 +20,11 @@ "x11/library/mesa" ], "fmris": [ "runtime/smalltalk/squeak", "runtime/smalltalk/squeak-display-X11", "runtime/smalltalk/squeak-nodisplay", "runtime/smalltalk/squeak-ssl", "runtime/smalltalk/squeak-vep" "runtime/smalltalk/squeak-vep", "runtime/smalltalk/squeak" ], "name": "squeak" } components/runtime/smalltalk/squeak/squeak-display-X11.p5m
@@ -10,7 +10,7 @@ # # # Copyright 2020, 2021, 2022 David Stes # Copyright 2020, 2021, 2022, 2023 David Stes # set name=pkg.fmri value=pkg:/runtime/smalltalk/squeak-display-X11@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) @@ -35,17 +35,10 @@ depend type=require fmri=pkg:/runtime/smalltalk/squeak-nodisplay@$(IPS_COMPONENT_VERSION)-$(BRANCHID) file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.B3DAcceleratorPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.ClipboardExtendedPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.HostWindowPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.ImmX11Plugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.Squeak3D file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.XDisplayControlPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.vm-display-X11 file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.B3DAcceleratorPlugin path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.B3DAcceleratorPlugin file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.ClipboardExtendedPlugin path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.ClipboardExtendedPlugin file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.HostWindowPlugin path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.HostWindowPlugin file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.ImmX11Plugin path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.ImmX11Plugin file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.Squeak3D path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.Squeak3D file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.XDisplayControlPlugin path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.XDisplayControlPlugin file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.vm-display-X11 path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.vm-display-X11 file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.B3DAcceleratorPlugin path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.B3DAcceleratorPlugin file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.ClipboardExtendedPlugin path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.ClipboardExtendedPlugin file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.HostWindowPlugin path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.HostWindowPlugin file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.ImmX11Plugin path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.ImmX11Plugin file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.Squeak3D path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.Squeak3D file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.XDisplayControlPlugin path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.XDisplayControlPlugin file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.vm-display-X11 path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.vm-display-X11 components/runtime/smalltalk/squeak/squeak-nodisplay.p5m
@@ -10,7 +10,7 @@ # # # Copyright 2020, 2021, 2022 David Stes # Copyright 2020, 2021, 2022, 2023 David Stes # @@ -26,12 +26,13 @@ license $(COMPONENT_LICENSE_FILE) license='$(COMPONENT_LICENSE)' # 32-bit objects in 64-bit multiarch build are rejected by lint # since 2023 version 4.20.6 we only deliver 64bit binaries <transform file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/* -> set pkg.linted.userland.action001.2 true> # since 2023 version 4.20.6 32bit do not provide 32bit binaries file inisqueak4 path=usr/bin/inisqueak4 file usr/bin/squeak path=usr/bin/squeak4 file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/ckformat mode=0555 file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/squeakvm mode=0555 file squeak.ips path=usr/bin/squeak4 file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/ckformat path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/ckformat mode=0555 file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/squeakvm64 path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/squeakvm64 mode=0555 file usr/share/man/man1/squeak.1 path=usr/share/man/man1/squeak4.1 @@ -45,13 +46,8 @@ hardlink path=usr/share/man/man1/squeak.1 target=squeak4.1 mediator=squeak \ mediator-version=4 file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.AioPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.FileCopyPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.UnixOSProcessPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.vm-display-null file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.vm-sound-null file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.AioPlugin path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.AioPlugin file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.FileCopyPlugin path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.FileCopyPlugin file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.UnixOSProcessPlugin path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.UnixOSProcessPlugin file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.vm-display-null path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.vm-display-null file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.vm-sound-null path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.vm-sound-null file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.AioPlugin path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.AioPlugin file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.FileCopyPlugin path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.FileCopyPlugin file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.UnixOSProcessPlugin path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.UnixOSProcessPlugin file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.vm-display-null path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.vm-display-null file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.vm-sound-null path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.vm-sound-null components/runtime/smalltalk/squeak/squeak-ssl.p5m
@@ -10,7 +10,7 @@ # # # Copyright 2020, 2021, 2022 David Stes # Copyright 2020, 2021, 2022, 2023 David Stes # set name=pkg.fmri value=pkg:/runtime/smalltalk/squeak-ssl@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) @@ -27,5 +27,4 @@ depend type=require fmri=pkg:/runtime/smalltalk/squeak-nodisplay@$(IPS_COMPONENT_VERSION)-$(BRANCHID) file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.SqueakSSL file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.SqueakSSL path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.SqueakSSL file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.SqueakSSL path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.SqueakSSL components/runtime/smalltalk/squeak/squeak-vep.p5m
@@ -10,7 +10,7 @@ # # # Copyright 2020, 2021, 2022 David Stes # Copyright 2020, 2021, 2022, 2023 David Stes # set name=pkg.fmri value=pkg:/runtime/smalltalk/squeak-vep@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) @@ -27,5 +27,4 @@ depend type=require fmri=pkg:/runtime/smalltalk/squeak-nodisplay@$(IPS_COMPONENT_VERSION)-$(BRANCHID) file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.VectorEnginePlugin file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.VectorEnginePlugin path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.VectorEnginePlugin file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.VectorEnginePlugin path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.VectorEnginePlugin components/runtime/smalltalk/squeak/squeak.ips
New file @@ -0,0 +1,183 @@ #!/bin/sh # # Launch squeakvm from the command line or a menu script, with a good # plugin path, text encodings and pulseaudio kludge # # Last edited: 2013-11-13 19:51:35 by piumarta on emilia PATH=/usr/bin:/bin realpath () { path="$1" while test -L "${path}"; do dir=`dirname "${path}"` dir=`cd "${dir}" && pwd -P` path=`basename "${path}"` path=`ls -l "${dir}/${path}" | sed 's,.* -> ,,'` if test `expr "${path}" : "/"` -eq 0; then path="${dir}/${path}" fi done if test -d "${path}"; then (cd "${path}" && pwd -P) else dir=`dirname "${path}"` base=`basename "${path}"` (cd "${dir}" && echo "`pwd -P`/${base}") fi } bindir=`realpath "${0}"` bindir=`dirname "${bindir}"` prefix=`dirname "${bindir}"` libdir="${prefix}/lib/squeak" plgdir="${libdir}/4.20.6-3828" useoss="false" ck="ckformat" squeakvm="squeakvm" squeakvm64="squeakvm64" plgd64="${prefix}/lib/amd64/squeak/4.20.6-3828" cogvm="cogvm" cogvm64="cogvm64" vm="" plugins="" wrapper="" image="" format="" info="" jit="" # look for VM options affecting this script's behaviour options () { while test "$#" -gt "0"; do case $1 in -vm-sound*) useoss="false";; -vm) shift; case "$1" in sound*) useoss="false"; esac;; -image-info) info="true";; --) break;; *) if test ! "$image" -a \( -f "$1.image" -o -f "$1" \); then image="$1"; fi;; esac shift done } case "$1" in -jit) jit=$1; shift; squeakvm=""; squeakvm64="";; -nojit) jit=$1; shift; cogvm=""; cogvm64="";; esac options "$@" # try to find the image file format if test -x "${plgd64}/${ck}"; then ck="${plgd64}/${ck}" elif test -x "${plgdir}/${ck}"; then ck="${plgdir}/${ck}" elif test -x "${libdir}/${ck}"; then ck="${libdir}/${ck}" elif test -x "${bindir}/${ck}"; then ck="${bindir}/${ck}" elif test -x "`which ${ck}`"; then ck="`which ${ck}`" fi if test -z "${image}"; then image="${SQUEAK_IMAGE}"; fi if test -z "${image}"; then image="squeak"; fi if test -f "${image}.image"; then image="${image}.image"; fi if test "${info}"; then if test ! -x "${ck}"; then echo "cannot find executable file: ${ck}" >&2 exit 1 fi if test ! -f "${image}"; then echo "cannot find image file: ${image}" >&2 exit 1 fi exec "${ck}" "${image}" fi # OpenIndiana 2023 version 4.20.6 # because it is not possible any longer to build 32bit # use a 64bit executable to run 32bit images and print error for # 64bit images (that are very rare anyway for Squeak 4.6) if test -x "${ck}" -a -f "${image}"; then format=`"${ck}" "${image}"` case "${format}" in 6502|6504|6505) vms="${squeakvm64}";plgdir="${plgd64}";; 68000|68002|68003) echo "unsupported image"; exit 1;; *) vms="${squeakvm64}";; esac else vms="${squeakvm}" # no image found, run default VM with args fi # find the vm and set the plugin path if test -z "${vms}"; then echo "cannot find VM to run image '${image}' with option '${jit}'" >&2 exit 1 fi for avm in ${vms}; do #echo CHECKING ${avm} if test -x "${plgdir}/${avm}"; then # bin/squeak -> lib/squeak/x.y-z/squeakvm vm="${plgdir}/${avm}" plugins="${plgdir}" break; elif test -x "${bindir}/${avm}"; then # bld/squeak -> bld/squeakvm vm="${bindir}/${avm}" plugins="${bindir}/%n" break; elif test -x "`which ${avm}`"; then vm="`which ${avm}`" plugins="" break; fi done if test -z "${vm}"; then echo "cannot find executable file: ${vms}" >&2 exit 1 fi # command-line overrides environment, so communicate anything we decide here via the environment if test -z "${SQUEAK_PATHENC}"; then SQUEAK_PATHENC="UTF-8"; export SQUEAK_PATHENC; fi if test -z "${SQUEAK_ENCODING}"; then SQUEAK_ENCODING="UTF-8"; export SQUEAK_ENCODING; fi if test -z "${SQUEAK_PLUGINS}"; then if test -n "${plugins}"; then SQUEAK_PLUGINS="${plugins}" export SQUEAK_PLUGINS fi fi # deal with pulseaudio if it is running if test -z "${SQUEAK_VM}"; then if ${useoss}; then if pulseaudio --check 2>/dev/null; then if padsp true 2>/dev/null; then wrapper="padsp" SQUEAK_VM="sound-OSS" export SQUEAK_VM fi fi fi fi # fix broken locales if test -z "$LC_ALL"; then LC_ALL="$LANG" export LC_ALL fi # debug output if test "0$SQUEAK_DEBUG" -gt "0"; then set | fgrep SQUEAK_ set -x fi # run the vm exec ${wrapper} "${vm}" "$@" components/runtime/smalltalk/squeak/squeak.p5m
@@ -10,7 +10,7 @@ # # # Copyright 2020, 2021, 2022 David Stes # Copyright 2020, 2021, 2022, 2023 David Stes # set name=pkg.fmri value=pkg:/$(COMPONENT_FMRI)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) @@ -34,31 +34,17 @@ depend type=require fmri=pkg:/runtime/smalltalk/squeak-ssl@$(IPS_COMPONENT_VERSION)-$(BRANCHID) depend type=require fmri=pkg:/runtime/smalltalk/squeak-display-X11@$(IPS_COMPONENT_VERSION)-$(BRANCHID) file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.CameraPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.DBusPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.FT2Plugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.GStreamerPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.KedamaPlugin2 file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.Mpeg3Plugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.RomePlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.ScratchPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.SqueakFFIPrims file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.UUIDPlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.UnicodePlugin file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.vm-display-custom file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.vm-sound-custom file path=usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.vm-sound-pulse file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.CameraPlugin path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.CameraPlugin file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.DBusPlugin path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.DBusPlugin file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.FT2Plugin path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.FT2Plugin file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.GStreamerPlugin path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.GStreamerPlugin file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.KedamaPlugin2 path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.KedamaPlugin2 file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.Mpeg3Plugin path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.Mpeg3Plugin file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.RomePlugin path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.RomePlugin file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.ScratchPlugin path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.ScratchPlugin file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.SqueakFFIPrims path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.SqueakFFIPrims file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.UUIDPlugin path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.UUIDPlugin file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.UnicodePlugin path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.UnicodePlugin file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.vm-display-custom path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.vm-display-custom file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.vm-sound-custom path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.vm-sound-custom file usr/lib/squeak/$(COMPONENT_VERSION)-$(SVN_REV)_64bit/so.vm-sound-pulse path=usr/lib/amd64/squeak/$(COMPONENT_VERSION)-$(SVN_REV)/so.vm-sound-pulse file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.CameraPlugin path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.CameraPlugin file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.DBusPlugin path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.DBusPlugin file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.FT2Plugin path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.FT2Plugin file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.GStreamerPlugin path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.GStreamerPlugin file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.KedamaPlugin2 path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.KedamaPlugin2 file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.Mpeg3Plugin path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.Mpeg3Plugin file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.RomePlugin path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.RomePlugin file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.ScratchPlugin path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.ScratchPlugin file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.SqueakFFIPrims path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.SqueakFFIPrims file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.UUIDPlugin path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.UUIDPlugin file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.UnicodePlugin path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.UnicodePlugin file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.vm-display-custom path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.vm-display-custom file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.vm-sound-custom path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.vm-sound-custom file usr/lib/squeak/$(HUMAN_VERSION)-$(SVN_REV)_64bit/so.vm-sound-pulse path=usr/lib/amd64/squeak/$(HUMAN_VERSION)-$(SVN_REV)/so.vm-sound-pulse components/runtime/smalltalk/squeak/test/results-32.master
@@ -1,22 +1 @@ SUnit Results Squeak4.6 solaris2.11 Squeak4.6 of 21 July 2021 [latest update: #15118] Failed Tests 'BrowserTest>>#testSelectClassNamedPreservesPlace' 'ClosureCompilerTest>>#testSourceRangeAccessForBlueBookInjectInto' 'DecompilerTests>>#testDecompilerInClassesPNtoPZ' 'ExceptionTests>>#testHandlerFromAction' 'FontTest>>#testParagraph' 'FontTest>>#testParagraphFallback' 'PackageDependencyTest>>#testMonticello' 'PackageDependencyTest>>#testNetwork' 'PackageDependencyTest>>#testPreferenceBrowser' 'SocketTest>>#testSocketReuse' 'SocketTest>>#testUDP' 'TestVMStatistics>>#testVmStatisticsReportString' 'TestValueWithinFix>>#testValueWithinTimingRepeat' Errors Total Number of Passed Tests: 3750 Total Number of Failures: 13 Total Number of Errors: 0 Squeak only tested in 32bit. See OpenSmalltalk for 64bit. components/runtime/smalltalk/squeak/test/results-64.master
@@ -1 +1,22 @@ Squeak only tested in 32bit. See OpenSmalltalk for 64bit. SUnit Results Squeak4.6 solaris2.11 Squeak4.6 of 21 July 2021 [latest update: #15118] Failed Tests 'BrowserTest>>#testSelectClassNamedPreservesPlace' 'ClosureCompilerTest>>#testSourceRangeAccessForBlueBookInjectInto' 'DecompilerTests>>#testDecompilerInClassesPNtoPZ' 'ExceptionTests>>#testHandlerFromAction' 'FontTest>>#testParagraph' 'FontTest>>#testParagraphFallback' 'PackageDependencyTest>>#testMonticello' 'PackageDependencyTest>>#testNetwork' 'PackageDependencyTest>>#testPreferenceBrowser' 'SocketTest>>#testSocketReuse' 'SocketTest>>#testUDP' 'TestVMStatistics>>#testVmStatisticsReportString' 'TestValueWithinFix>>#testValueWithinTimingRepeat' Errors Total Number of Passed Tests: 3750 Total Number of Failures: 13 Total Number of Errors: 0 components/runtime/smalltalk/squeak/test/testrunner.sh
@@ -16,8 +16,8 @@ # we only test the 32bit VM because inisqueak downloads a 32bit image case $BITS in 32) ;; 64) echo "Squeak only tested in 32bit. See OpenSmalltalk for 64bit.";exit 0;; 32) echo "Squeak only tested in 64bit. See OpenSmalltalk for 64bit.";exit 0;; 64) ;; *) echo "Unknown BITS $BITS";exit 1;; esac @@ -38,7 +38,7 @@ $COMPONENT_DIR/inisqueak4 -n >> $LOGFILE 2>&1 # start squeak binary from the build dir $BUILD_DIR/squeakvm squeak.image $COMPONENT_DIR/test/testrunner.st >> $LOGFILE 2>&1 $BUILD_DIR/squeakvm64 squeak.image $COMPONENT_DIR/test/testrunner.st >> $LOGFILE 2>&1 # testrunner.st saves output in a file , dump that file as output cat results-32.vm