ann: Shen 38.3

147 views
Skip to first unread message

dr.mt...@gmail.com

unread,
May 13, 2024, 6:13:54 AMMay 13
to Shen
This is a bugfix of the issues raised in the thread. 

Upgrading port to S series: Final bits

Found in the download page of the Shen site.

Mark

Jacob MacDonald

unread,
May 13, 2024, 11:56:51 AMMay 13
to qil...@googlegroups.com
Thanks much. Pulling the new files into the shen-sources repository,
it's clear that it's not as simple as doing so and running make
klambda for the version with initialise. Bruno, is there a guide to
modifying kernels to work with that build process?

Bruno Deferrari

unread,
May 13, 2024, 12:10:01 PMMay 13
to qil...@googlegroups.com
You can get 38.3 from here which also includes another change that you may need later https://github.com/Shen-Language/shen-sources/releases/tag/shen-38.3
 
--
You received this message because you are subscribed to the Google Groups "Shen" group.
To unsubscribe from this group and stop receiving emails from it, send an email to qilang+un...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/qilang/CACy6W0C0h34fuFZorx4nTqrjmwC0Mz2z%3DQRBvUFkBw1o%2B2zPnQ%40mail.gmail.com.


--
BD

Bruno Deferrari

unread,
May 13, 2024, 12:22:54 PMMay 13
to qil...@googlegroups.com
Give it a few minutes before downloading those files, I had a typo somewhere and the generated files got corrupted, I need to generate it again.
--
BD

Bruno Deferrari

unread,
May 13, 2024, 12:24:52 PMMay 13
to qil...@googlegroups.com
Fixed.
--
BD

Jacob MacDonald

unread,
May 13, 2024, 1:31:43 PMMay 13
to qil...@googlegroups.com
That works-ish. I still have to mask list at the beginning of init.kl
and I still have to pin down the strange bug described in the other
thread.

I suppose I'll stick with the GitHub kernel release as that's what
ShenSharp expects for now. But I am curious about the non-whitespace
changes in shen-sources. Is that automated or do you manually patch in
kernel releases?

Thanks,

Jacob.

dr.mt...@gmail.com

unread,
May 13, 2024, 1:32:47 PMMay 13
to Shen
I patch releases if there is a problem.

Mark

Bruno Deferrari

unread,
May 13, 2024, 4:57:21 PMMay 13
to qil...@googlegroups.com
Updates to the kernel sources on GitHub that are about integrating new changes released by Mark are introduced manually. Diffs between versions in the website will not work with the sources on GitHub.

Manually patching works fine because 1) Shen's kernel source code is quite short, 2) Updates don't usually require huge changes.
 

Thanks,

Jacob.


--
You received this message because you are subscribed to the Google Groups "Shen" group.
To unsubscribe from this group and stop receiving emails from it, send an email to qilang+un...@googlegroups.com.

David

unread,
May 24, 2024, 7:46:48 AMMay 24
to Shen
Hi,

I have successfully build Shen OS 38.3 from https://github.com/tizoc/shen-scheme ( with Chez Scheme 10.0.0 ) on 2 single board computers :
  1) RadxaZero 3E (arm64) https://radxa.com/products/zeros/zero3e/        running Debian 12.5   uname -m : aarch64
  2) BeagleV Fire (RiscV) https://www.beagleboard.org/boards/beaglev-fire running Ubuntu 23.04  uname -m : riscv64
as Chez Scheme supports these architectures.

Unfortunately I could not clone and build from GIT as the GIT repository is missing 'shen-scheme.scm' from it's root.
So I built it from the source package 'https://github.com/tizoc/shen-scheme/releases/download/v0.36/shen-scheme-v0.36-src.tar.gz'

They required the patch ( Bruno ? ) :

diff -urN shen-scheme-v0.36-src.orig/Makefile shen-scheme-v0.36-src/Makefile
--- shen-scheme-v0.36-src.orig/Makefile 2024-05-22 00:26:41.000000000 +1000
+++ shen-scheme-v0.36-src/Makefile      2024-05-24 01:25:50.132647581 +1000
@@ -1,18 +1,25 @@
+os = linux
+m = ta6le
 ifeq ($(OS), Windows_NT)
        os = windows
-       m ?= ta6nt
-else ifeq ($(shell uname -s), Darwin)
-       os = macOS
-       uname_m := $(shell uname -m)
-       ifeq ($(uname_m), arm64)
-               m ?= tarm64osx
-       else
-               m ?= ta6osx
-       endif
-else
-       os = linux
-       m ?= ta6le
-endif
+       m = ta6nt
+else   ifeq ($(shell uname -s), Darwin)
+               os = macOS
+               uname_m := $(shell uname -m)
+               ifeq ($(uname_m), arm64)
+                       m = tarm64osx
+               else
+                       m = ta6osx
+               endif
+else   ifeq ($(shell uname -s), Linux)
+               os = linux
+               uname_m := $(shell uname -m)
+               ifeq ($(uname_m), aarch64)
+                       m = tarm64le
+               else    ifeq ($(uname_m), riscv64)
+                               m = trv64le
+                       endif
+               endif
 
 ifeq ($(os), windows)
        S = \\\\
@@ -81,7 +88,11 @@
 endif
 archive_name = shen-scheme-$(git_tag)-src
 
-CFLAGS += -m64
+ifneq ($(uname_m), aarch64)
+       ifneq ($(uname_m), riscv64)
+               CFLAGS += -m64
+       endif
+endif
 
 .DEFAULT: all
 .PHONY: all


Also, I build Shen 38.3 from 'https://www.shenlanguage.org/Download/S38.3.zip' on the RadxaZero 3E with SBCL 2.2.9 with the following patch.
Mark : even though the archive is called '38.3.zip' it contains the subdirectory '38.2' ( note the '2' instead of a '3' ) which I had to rename to '38.3'.

diff -urN S38.3.orig/Primitives/big.lsp S38.3/Primitives/big.lsp
--- S38.3.orig/Primitives/big.lsp       2023-08-15 15:42:56.000000000 +1000
+++ S38.3/Primitives/big.lsp    2024-05-23 12:00:28.542066793 +1000
@@ -149,7 +149,7 @@
       *stoutput* *STANDARD-OUTPUT*)
 
 #+SBCL      
-(SETQ *release* "2.0.0")      
+(SETQ *release* "2.2.9")      
 
 #+CLISP
 (SETQ *release* "2.49")"Copyright (c) 2010-2021, Mark Tarver
diff -urN S38.3.orig/Primitives/globals.lsp S38.3/Primitives/globals.lsp
--- S38.3.orig/Primitives/globals.lsp   2022-07-28 18:14:46.000000000 +1000
+++ S38.3/Primitives/globals.lsp        2024-05-23 12:00:28.542066793 +1000
@@ -11,7 +11,7 @@
       *stoutput* *STANDARD-OUTPUT*)
 
 #+SBCL      
-(SETQ *release* "2.0.0")      
+(SETQ *release* "2.2.9")      
 
 #+CLISP
 (SETQ *release* "2.49")
\ No newline at end of file


Regards
David

dr.mt...@gmail.com

unread,
May 24, 2024, 7:56:10 AMMay 24
to Shen
Mark : even though the archive is called '38.3.zip' it contains the subdirectory '38.2' ( note the '2' instead of a '3' ) which I had to rename to '38.3'.

Fixed.

thx M.

David

unread,
May 24, 2024, 1:01:15 PMMay 24
to Shen
Hi Mark,

Unfortunately the S38.3.zip now has the double directory S38.3/S38.3/

Regards
David

Bruno Deferrari

unread,
May 24, 2024, 1:05:38 PMMay 24
to qil...@googlegroups.com
On Fri, May 24, 2024 at 8:46 AM David <sh...@fractal.zone> wrote:
Hi,

I have successfully build Shen OS 38.3 from https://github.com/tizoc/shen-scheme ( with Chez Scheme 10.0.0 ) on 2 single board computers :
  1) RadxaZero 3E (arm64) https://radxa.com/products/zeros/zero3e/        running Debian 12.5   uname -m : aarch64
  2) BeagleV Fire (RiscV) https://www.beagleboard.org/boards/beaglev-fire running Ubuntu 23.04  uname -m : riscv64
as Chez Scheme supports these architectures.

Unfortunately I could not clone and build from GIT as the GIT repository is missing 'shen-scheme.scm' from it's root.
So I built it from the source package 'https://github.com/tizoc/shen-scheme/releases/download/v0.36/shen-scheme-v0.36-src.tar.gz'


Hello. If you are building directly from the Shen repository (instead of using the -src file from the downloads, which is recommended), you need to perform this extra step to generate shen-scheme.scm along with other files:


 

Bruno Deferrari

unread,
May 24, 2024, 1:06:20 PMMay 24
to qil...@googlegroups.com
On Fri, May 24, 2024 at 2:05 PM Bruno Deferrari <uti...@gmail.com> wrote:
On Fri, May 24, 2024 at 8:46 AM David <sh...@fractal.zone> wrote:
Hi,

I have successfully build Shen OS 38.3 from https://github.com/tizoc/shen-scheme ( with Chez Scheme 10.0.0 ) on 2 single board computers :
  1) RadxaZero 3E (arm64) https://radxa.com/products/zeros/zero3e/        running Debian 12.5   uname -m : aarch64
  2) BeagleV Fire (RiscV) https://www.beagleboard.org/boards/beaglev-fire running Ubuntu 23.04  uname -m : riscv64
as Chez Scheme supports these architectures.

Unfortunately I could not clone and build from GIT as the GIT repository is missing 'shen-scheme.scm' from it's root.
So I built it from the source package 'https://github.com/tizoc/shen-scheme/releases/download/v0.36/shen-scheme-v0.36-src.tar.gz'


Hello. If you are building directly from the Shen repository (instead of using the -src file from the downloads, which is recommended), you need to perform this extra step to generate shen-scheme.scm along with other files:

Mark Tarver

unread,
May 24, 2024, 3:07:27 PMMay 24
to qil...@googlegroups.com
That's what happens in Windows when you compress a folder.
The code is there though.   I've worked this differentlynow  to
avoid nesting.

M.

David

unread,
May 25, 2024, 6:07:37 AMMay 25
to qil...@googlegroups.com
Hi Mark,

But unfortunately the S38.3.zip is now a https://en.wikipedia.org/wiki/Tar_(computing)#Tarbomb without the single root directory 'S38.3/'.
Yes Windows is a problem.

Regards
David
> > <https://groups.google.com/d/msgid/qilang/04dc5a28-33be-4173-afd1-db86a01d3f56n%40googlegroups.com?utm_medium=email&utm_source=footer>
> > .
> >
>


dr.mt...@gmail.com

unread,
May 25, 2024, 6:13:23 AMMay 25
to Shen
This doesn't happen in Windows.  I guess
you're using Linux.  But its no great problem
using the original format.  Just move the
folder where you want it and delete the original.

M.

David

unread,
May 25, 2024, 9:34:22 AMMay 25
to qil...@googlegroups.com
Hi Mark,

I have also built shen-sbcl and shen-scheme as Redhat Package Manager (rpm) packages for a Redhat Enterprise Linux clone : Rocky 8.9 and 9.4 on x64 and Rocky 9.4 on Raspberry PI 3 arm64/aarch64

I have made the binary and source packages, and the build logs, available on my site : https://www.fractal.zone/downloads/

I am hoping to get them published on Extra Packages for Enterprise Linux https://docs.fedoraproject.org/en-US/epel/ and therefore reach a much bigger audience.
This, however, will require a consistent zip archive structures for each new software version released.
The Redhat package build scripts have URL clauses specifying where to get the original source code archive from eg. :
Version: S38.3
Source0: https://www.shenlanguage.org/Download/%{version}.zip

The standard Redhat package build scripts expect a single, top level directory in the compressed archive.
If the zip archive structure is consistent then it is trivial for me, and any one else, to just change the version eg. S38.1, S38.2, S38.3 etc... and the build will just work each time.
If the zip archive structure changes, then it is no longer trivial to package any more.

The 'unzip' command in Linux is simple and consistent - it unzips the exact structure that is in the zip file.
Windows, however, has options for adding an extra directory or not, and removing an extra directory of not, when zipping and unzipping.
If you are compressing the individual files then you need to add an extra directory, but better is to compress the whole top level directory itself and do not add an extra directory or remove the top
level directory.

Please provide the original format with a single, consistent, top level directory of S38.3 in the S38.3.zip by compressing the top level directory 'S38.3' itself without adding an extra directory or
removing the directory, in other words, preserving the single, top level directory.

BTW - I use the open source 7zip https://www.7-zip.org/ on windows as it gives 30% better compression.

Regards
David

Mark Tarver

unread,
May 25, 2024, 1:28:51 PMMay 25
to qil...@googlegroups.com
Please provide the original format with a single, consistent, top level directory of S38.3 in the S38.3.zip by compressing the top level directory 'S38.3' itself without adding an extra directory or
removing the directory, in other words, preserving the single, top level directory. 
 
I do that. Winzip, 7-zip and the inbuilt zipper in Windows all produce nested folders.

M.

Mark Tarver

unread,
May 25, 2024, 3:19:14 PMMay 25
to qil...@googlegroups.com
I suggest somebody here provides a Linux readable
version for download and I'll put it up on the official
site.

Mark

Mark Tarver

unread,
May 25, 2024, 4:02:38 PMMay 25
to qil...@googlegroups.com
OK; done another way.  How is this version?

M.

nha...@gmail.com

unread,
May 28, 2024, 3:24:36 PMMay 28
to Shen
That version seems to be the same.

I say just add the 38.3 directory and live with the nesting for Windows users, even though I blame the Linux zip utility for having bad default behavior.

dr.mt...@gmail.com

unread,
May 28, 2024, 3:45:02 PMMay 28
to Shen
It's odd because under the new arrangement when I unzip the
file under Windows there is no nesting.  The trick is not to zip
the folder but to zip multifiles.  However this is my best shot.

Mark

Bruno Deferrari

unread,
May 28, 2024, 3:48:51 PMMay 28
to qil...@googlegroups.com
Whichever way you used to produce S38.2.zip (and earlier versions) worked fine on Linux.

Just tried both S38.3.zip and S38.2.zip now, and uncompressing S38.2.zip on linux with "unzip" creates an S38.2/ subfolder, while unzipping S38.3.zip doesn't.



--
BD

David

unread,
May 29, 2024, 2:11:43 AMMay 29
to qil...@googlegroups.com
Hi,

I have successfully built shen-scheme 0.37 on :
1) Rocky 8.9 (x86_64)
2) Rocky 9.4 (x86_64)
3) Rocky 9.4 (PI 3 arm64/aarch64)
4) Fedora 40 (x86_64)
5) RadxaZero 3E (arm64) https://radxa.com/products/zeros/zero3e/ running Debian 12.5 uname -m : aarch64
6) BeagleV Fire (RiscV) https://www.beagleboard.org/boards/beaglev-fire running Ubuntu 23.04 uname -m : riscv64

I had previously built shen-sbcl on
1) Rocky 8.9 (x86_64)
2) Rocky 9.4 (x86_64)
3) Rocky 9.4 (PI 3 arm64/aarch64)
4) Fedora 40 (x86_64)
5) RadxaZero 3E (arm64) https://radxa.com/products/zeros/zero3e/ running Debian 12.5 uname -m : aarch64

I have made the binary and source packages, and the build logs, for Rocky and Fedora, and binary packages for RadxaZero and BeagleV available on my site : https://www.fractal.zone/downloads/

Regards
David


Reply all
Reply to author
Forward
0 new messages