Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master grimoire by Ismael Luceno (81a5d7f1bfe71af595f9eb4e2475d01f23df13b1)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Ismael Luceno <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to master grimoire by Ismael Luceno (81a5d7f1bfe71af595f9eb4e2475d01f23df13b1)
  • Date: Thu, 14 May 2020 18:22:05 +0000

GIT changes to master grimoire by Ismael Luceno <ismael AT sourcemage.org>:

ChangeLog | 3 +
devel/ccl/BUILD | 12 ++++
devel/ccl/DEPENDS | 1
devel/ccl/DETAILS | 18 ++++++
devel/ccl/HISTORY | 3 +
devel/ccl/INSTALL | 13 ++++
devel/ccl/PRE_BUILD | 4 +
devel/ccl/PROVIDES | 1
devel/ccl/patches/musl-fixes.patch | 61 ++++++++++++++++++++++
devel/ccl/patches/nopie.patch | 24 ++++++++
devel/sbcl/BUILD | 18 +++---
devel/sbcl/DEPENDS | 1
devel/sbcl/DETAILS | 26 ---------
devel/sbcl/HISTORY | 7 ++
devel/sbcl/PRE_BUILD | 5 -
devel/sbcl/patches/musl-fixes.patch | 99
++++++++++++++++++++++++++++++++++++
16 files changed, 261 insertions(+), 35 deletions(-)

New commits:
commit 81a5d7f1bfe71af595f9eb4e2475d01f23df13b1
Author: Ismael Luceno <ismael AT sourcemage.org>
Commit: Ismael Luceno <ismael AT sourcemage.org>

sbcl: Bootstrap with other LISP + musl fixes

commit c668b75af5fac658dc57d75bf0a450bede522670
Author: Ismael Luceno <ismael AT sourcemage.org>
Commit: Ismael Luceno <ismael AT sourcemage.org>

ccl: new spell, Clozure Common Lisp interpreter and compiler

diff --git a/ChangeLog b/ChangeLog
index 8bcdf25..f5661aa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2020-05-14 Ismael Luceno <ismael AT sourcemage.org>
+ * devel/ccl: new spell, Clozure Common Lisp interpreter and compiler
+
2020-05-14 Treeve Jelbert <treeve AT sourcemage.org>
* printer/cpdb-libs: added, printer library
* kde5-extra/plasma-wayland-protocols: added
diff --git a/devel/ccl/BUILD b/devel/ccl/BUILD
new file mode 100755
index 0000000..16f2d7e
--- /dev/null
+++ b/devel/ccl/BUILD
@@ -0,0 +1,12 @@
+case "$HOST" in
+x86_64-*) kern=linuxx8664 lisp=lx86cl64 ;;
+i[3456]86-*) kern=linuxx8632 lisp=lx86cl32 ;;
+*)
+ echo "$HOST not supported"
+ exit 1
+ ;;
+esac &&
+make -C lisp-kernel/"$kern" \
+ CC="$CC" \
+ &&
+./"$lisp" -n -Q -b -e '(ccl:rebuild-ccl :full t)' -e '(ccl:quit)'
diff --git a/devel/ccl/DEPENDS b/devel/ccl/DEPENDS
new file mode 100755
index 0000000..aef7a0c
--- /dev/null
+++ b/devel/ccl/DEPENDS
@@ -0,0 +1 @@
+depends m4
diff --git a/devel/ccl/DETAILS b/devel/ccl/DETAILS
new file mode 100755
index 0000000..215d659
--- /dev/null
+++ b/devel/ccl/DETAILS
@@ -0,0 +1,18 @@
+ SPELL=ccl
+ VERSION=1.12
+ SOURCE=$SPELL-$VERSION.tar.gz
+ SOURCE2=$SPELL-$VERSION-linuxx86.tar.gz
+SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
+ SOURCE_URL=("https://github.com/Clozure/ccl/archive/v$VERSION.tar.gz";)
+
SOURCE2_URL=("https://github.com/Clozure/ccl/releases/download/v$VERSION/linuxx86.tar.gz";)
+ WEB_SITE=https://ccl.clozure.com/
+
SOURCE_HASH=sha512:d01071b54ea8acf0fec1344efdb79f747f34f1104f884f5745888a7aaced879dc3381dddae065eb59d6898f707d7d83b97f607b497fb73a537839a01fec06045
+
SOURCE2_HASH=sha512:44c8e13081992467d533841f6dfa1bf61def804d12d0db38fe3631bdde33a1ac846b8680084bc224e9b24dbe9b2e533d26c2d9635062214abd7145666e235e65
+ DOCS="examples/*"
+ LICENSE[0]=Apache-2.0
+ ENTERED=20060122
+ KEYWORDS="lisp compiler devel"
+ SHORT="Clozure Common Lisp interpreter and compiler"
+cat << EOF
+FIXME
+EOF
diff --git a/devel/ccl/HISTORY b/devel/ccl/HISTORY
new file mode 100644
index 0000000..409afe7
--- /dev/null
+++ b/devel/ccl/HISTORY
@@ -0,0 +1,3 @@
+2020-05-14 Ismael Luceno <ismael AT sourcemage.org>
+ * BUILD, DETAILS, DEPENDS, INSTALL, PRE_BUILD, PROVIDES,
+ patches/musl-fixes.patch, patches/nopie.patch: spell created
diff --git a/devel/ccl/INSTALL b/devel/ccl/INSTALL
new file mode 100755
index 0000000..112b318
--- /dev/null
+++ b/devel/ccl/INSTALL
@@ -0,0 +1,13 @@
+bindir="$INSTALL_ROOT"/usr/bin &&
+libdir="$INSTALL_ROOT"/usr/lib/ccl &&
+
+case "$HOST" in
+x86_64-*) lisp=lx86cl64 ;;
+i[3456]86) lisp=lx86cl32 ;;
+esac &&
+
+install -m755 -d "$libdir" &&
+install -m555 "$lisp" "$libdir" &&
+install -m444 "$lisp.image" "$libdir" &&
+cp -r lib library scripts tools xdump "$libdir" &&
+ln -sf /usr/lib/ccl/lx86cl64 "$bindir"/ccl
diff --git a/devel/ccl/PRE_BUILD b/devel/ccl/PRE_BUILD
new file mode 100755
index 0000000..67e57a3
--- /dev/null
+++ b/devel/ccl/PRE_BUILD
@@ -0,0 +1,4 @@
+default_pre_build &&
+cd "$SOURCE_DIRECTORY" &&
+apply_patch_dir patches &&
+unpack_file 2
diff --git a/devel/ccl/PROVIDES b/devel/ccl/PROVIDES
new file mode 100755
index 0000000..7468e0d
--- /dev/null
+++ b/devel/ccl/PROVIDES
@@ -0,0 +1 @@
+LISP
diff --git a/devel/ccl/patches/musl-fixes.patch
b/devel/ccl/patches/musl-fixes.patch
new file mode 100644
index 0000000..f17d2ff
--- /dev/null
+++ b/devel/ccl/patches/musl-fixes.patch
@@ -0,0 +1,61 @@
+Source: Void Linux
+
+--- a/lisp-kernel/lisp-debug.c
++++ b/lisp-kernel/lisp-debug.c
+@@ -36,6 +36,11 @@
+ #include <dlfcn.h>
+ #endif
+
++#ifndef __GLIBC__
++struct _libc_xmmreg {
++ unsigned int element[4];
++};
++#endif
+
+ FILE *dbgout = NULL, *dbgin=NULL;
+
+--- a/lisp-kernel/pmcl-kernel.c
++++ b/lisp-kernel/pmcl-kernel.c
+@@ -36,7 +36,7 @@
+ #endif
+
+ #ifdef LINUX
+-#ifndef ANDROID
++#ifdef __GLIBC__
+ #include <mcheck.h>
+ #endif
+ #include <dirent.h>
+@@ -1702,6 +1702,10 @@
+ ensure_gs_available(char *progname)
+ {
+ LispObj fs_addr = 0L, gs_addr = 0L, cur_thread = (LispObj)pthread_self();
++ #ifdef __GLIBC__
+ char *gnu_get_libc_version(void);
++ #else
++ #define gnu_get_libc_version() ""
++ #endif
+ /*
+ * According arch_prctl(2), there's no function prototype for
+--- a/lisp-kernel/thread_manager.c
++++ b/lisp-kernel/thread_manager.c
+@@ -185,7 +185,7 @@
+ void
+ set_thread_affinity(TCR *target, unsigned cpuno)
+ {
+-#ifdef LINUX
++#ifdef __GLIBC__
+ #ifndef ANDROID /* too useful to be in Android ... */
+ pthread_t thread = (pthread_t)(target->osid);
+ cpu_set_t mask;
+--- a/lisp-kernel/x86-exceptions.c
++++ b/lisp-kernel/x86-exceptions.c
+@@ -29,7 +29,9 @@
+ #ifdef LINUX
+ #include <strings.h>
+ #include <sys/mman.h>
++#ifdef __GLIBC__
+ #include <fpu_control.h>
++#endif
+ #include <linux/prctl.h>
+ #endif
+ #ifdef DARWIN
diff --git a/devel/ccl/patches/nopie.patch b/devel/ccl/patches/nopie.patch
new file mode 100644
index 0000000..ab8ccd8
--- /dev/null
+++ b/devel/ccl/patches/nopie.patch
@@ -0,0 +1,24 @@
+Source: Void Linux
+
+--- a/lisp-kernel/linuxx8664/Makefile
++++ b/lisp-kernel/linuxx8664/Makefile
+@@ -69,7 +69,7 @@
+ all: ../../lx86cl64
+
+
+-OSLIBS = -ldl -lm -lpthread -lrt
++OSLIBS = -ldl -lm -lpthread -lrt -no-pie
+ LINK_MAP = ./elf_x86_64.x
+ USE_LINK_MAP = # -T ./elf_x86_64.x
+
+--- a/lisp-kernel/linuxx8632/Makefile
++++ b/lisp-kernel/linuxx8632/Makefile
+@@ -69,7 +69,7 @@
+ all: ../../lx86cl
+
+
+-OSLIBS = -ldl -lm -lpthread -lrt
++OSLIBS = -ldl -lm -lpthread -lrt -no-pie
+ LINK_SCRIPT = # ./elf_x86_32.x
+ USE_LINK_SCRIPT = # -T $(LINK_SCRIPT)
+
diff --git a/devel/sbcl/BUILD b/devel/sbcl/BUILD
index c4f99ee..48017c5 100755
--- a/devel/sbcl/BUILD
+++ b/devel/sbcl/BUILD
@@ -1,11 +1,13 @@
-xc_prefix="$INSTALL_ROOT"/usr/bin &&
-
-if ! spell_ok sbcl; then
- bindir="$BUILD_DIRECTORY/$SPELL-$BIN_VERSION-$SBCL_ARCH-linux" &&
- xc_prefix="$bindir/src/runtime" &&
- export SBCL_HOME="$bindir/output"
-fi &&
+xc=sbcl
+for i in ccl clisp gcl; do
+ if is_depends_enabled "$SPELL" "$i"; then
+ echo "Boostrapping with $i"
+ xc="$i"
+ break
+ fi
+done &&

sh make.sh \
+ --with-sb-core-compression \
--prefix="$INSTALL_ROOT"/usr \
- --xc-host="$xc_prefix"/sbcl
+ --xc-host="$xc"
diff --git a/devel/sbcl/DEPENDS b/devel/sbcl/DEPENDS
new file mode 100755
index 0000000..f7d625c
--- /dev/null
+++ b/devel/sbcl/DEPENDS
@@ -0,0 +1 @@
+depends LISP
diff --git a/devel/sbcl/DETAILS b/devel/sbcl/DETAILS
index 6d4c383..e15c24b 100755
--- a/devel/sbcl/DETAILS
+++ b/devel/sbcl/DETAILS
@@ -1,29 +1,7 @@
SPELL=sbcl
VERSION=2.0.4
- SOURCE=$SPELL-$VERSION-source.tar.bz2
-
-if ! spell_ok $SPELL ; then
- case "${SMGL_COMPAT_ARCHS[1]}" in
- ia32)
- BIN_VERSION=1.2.7
- SBCL_ARCH=x86
-
SOURCE2_HASH=sha512:ca09beeafeb40f21eb1a377f04a69d57feb5549fa63aadf2e39aa65f3875418bdab755e22b567b3f2c514fb94534b739a57606288912ffc5cddf370a400e9e5c
- ;;
- x86_64)
- BIN_VERSION=$VERSION
- SBCL_ARCH=x86-64
-
SOURCE2_HASH=sha512:68533e83a452ec56ee5520daef54c24cfbd4307d8aab231c726eec69562262f40213dd453879c6f82bf9f31d850561a5f3f99c1207a3197ccab8017c2208979d
- ;;
- ppc)
- BIN_VERSION=1.2.7
- SBCL_ARCH=powerpc
-
SOURCE2_HASH=sha512:7b9fef12d3d6397adec6a0c26d1431a18b8d91b5bf009034eb2501de9fd60dc04dd2e3cd2d9feb9204d4631360aea88ba07a9ad75dad0767b5dcc5e62e84e790
- ;;
- esac
- SOURCE2=$SPELL-$BIN_VERSION-$SBCL_ARCH-linux-binary.tar.bz2
- SOURCE2_URL[0]=http://downloads.sourceforge.net/sourceforge/sbcl/$SOURCE2
-fi
-SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
+ SOURCE="$SPELL-$VERSION-source.tar.bz2"
+SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELL-$VERSION"
SOURCE_URL[0]=http://downloads.sourceforge.net/sourceforge/sbcl/$SOURCE
WEB_SITE=http://sbcl.sourceforge.net

SOURCE_HASH=sha512:855e25d3a25c558cfd4a97c6d6a0130910556ad4b1d4a7df924a34b50f1d9d3cc3d4373510353548c6ddf3000b55c70285ccbd888fab59f73d137c16539df816
diff --git a/devel/sbcl/HISTORY b/devel/sbcl/HISTORY
index 0482932..cfc9ae4 100644
--- a/devel/sbcl/HISTORY
+++ b/devel/sbcl/HISTORY
@@ -1,3 +1,10 @@
+2020-05-14 Ismael Luceno <ismael AT sourcemage.org>
+ * BUILD, DEPENDS, DETAILS, PRE_BUILD: remove binary;
+ bootstrap with other LISP
+ * PRE_BUILD, patches/musl-fixes.patch: Fix build against musl
+ * BUILD: enable core compression
+
+
2020-05-02 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
* DETAILS: version 2.0.4

diff --git a/devel/sbcl/PRE_BUILD b/devel/sbcl/PRE_BUILD
index 2769b02..32c0555 100755
--- a/devel/sbcl/PRE_BUILD
+++ b/devel/sbcl/PRE_BUILD
@@ -1,4 +1,3 @@
default_pre_build &&
-if ! spell_ok sbcl ; then
- unpack_file 2
-fi
+cd "$SOURCE_DIRECTORY" &&
+apply_patch_dir patches
diff --git a/devel/sbcl/patches/musl-fixes.patch
b/devel/sbcl/patches/musl-fixes.patch
new file mode 100644
index 0000000..0c1c388
--- /dev/null
+++ b/devel/sbcl/patches/musl-fixes.patch
@@ -0,0 +1,99 @@
+Source: void-linux
+
+--- a/src/runtime/arch.h
++++ b/src/runtime/arch.h
+@@ -12,6 +12,9 @@
+ #ifndef __ARCH_H__
+ #define __ARCH_H__
+
++#ifndef __GLIBC__
++#include <signal.h>
++#endif
+ #include "os.h"
+ #include "signal.h"
+ #include "thread.h"
+--- a/src/runtime/linux-os.h
++++ b/src/runtime/linux-os.h
+@@ -24,7 +24,11 @@
+ #include <linux/version.h>
+
+ // Needs to be defined before including target-arch.h
++#ifdef __GLIBC__
+ typedef caddr_t os_vm_address_t;
++#else
++typedef void *os_vm_address_t;
++#endif
+ typedef size_t os_vm_size_t;
+ typedef off_t os_vm_offset_t;
+ typedef int os_vm_prot_t;
+--- a/src/runtime/os.h
++++ b/src/runtime/os.h
+@@ -17,6 +17,9 @@
+
+ #define _OS_H_INCLUDED_
+
++#ifndef __GLIBC__
++#include <signal.h>
++#endif
+ #include "sbcl.h"
+ #include "runtime.h"
+
+--- a/src/runtime/runtime.h
++++ b/src/runtime/runtime.h
+@@ -165,7 +165,9 @@
+ void dyndebug_init(void);
+
+ #if QSHOW_SIGNAL_SAFE == 1 && !defined(LISP_FEATURE_WIN32)
+-
++#ifndef __GLIBC__
++typedef struct __sigset_t sigset_t;
++#endif
+ extern sigset_t blockable_sigset;
+
+ #define QSHOW_BLOCK \
+--- a/src/runtime/wrap.c
++++ b/src/runtime/wrap.c
+@@ -35,7 +35,10 @@
+ #include <errno.h>
+ #include <limits.h>
+ #include <fcntl.h>
+ #include <math.h>
++#ifndef __GLIBC__
++#include <time.h>
++#endif
+
+ #ifndef LISP_FEATURE_WIN32
+ #include <pwd.h>
+--- a/contrib/sb-bsd-sockets/constants.lisp
++++ b/contrib/sb-bsd-sockets/constants.lisp
+@@ -93,8 +93,8 @@
+ (:integer EAFNOSUPPORT "EAFNOSUPPORT")
+ (:integer EINPROGRESS "EINPROGRESS")
+
+- (:integer NETDB-INTERNAL #+hpux "h_NETDB_INTERNAL" #-hpux "NETDB_INTERNAL"
"See errno.")
+- (:integer NETDB-SUCCESS #+hpux "h_NETDB_SUCCESS" #-hpux "NETDB_SUCCESS"
"No problem.")
++ (:integer NETDB-INTERNAL #+hpux "h_NETDB_INTERNAL" #-hpux "EAI_BADFLAGS"
"See errno.")
++ (:integer NETDB-SUCCESS #+hpux "h_NETDB_SUCCESS" #-hpux "F_OK" "No
problem.")
+ (:integer HOST-NOT-FOUND "HOST_NOT_FOUND" "Authoritative Answer Host not
found.")
+ (:integer TRY-AGAIN "TRY_AGAIN" "Non-Authoritative Host not found, or
SERVERFAIL.")
+ (:integer NO-RECOVERY "NO_RECOVERY" "Non recoverable errors, FORMERR,
REFUSED, NOTIMP.")
+--- a/src/runtime/linux-os.c
++++ b/src/runtime/linux-os.c
+@@ -181,6 +181,9 @@
+ int
+ isnptl (void)
+ {
++#ifndef __GLIBC__
++ return 1;
++#endif
+ size_t n = confstr (_CS_GNU_LIBPTHREAD_VERSION, NULL, 0);
+ if (n > 0) {
+ char *buf = alloca (n);
+--- a/src/runtime/memcpy.h
++++ b/src/runtime/memcpy.h
+@@ -1,4 +1,4 @@
+-#ifdef __linux__
++#ifdef __GLIBC__
+ #ifdef __amd64__
+ #ifdef __ASSEMBLER__
+ .symver memcpy,memcpy AT GLIBC_2.2.5



  • [SM-Commit] GIT changes to master grimoire by Ismael Luceno (81a5d7f1bfe71af595f9eb4e2475d01f23df13b1), Ismael Luceno, 05/14/2020

Archive powered by MHonArc 2.6.24.

Top of Page