[arch-commits] Commit in cmucl/repos (5 files)

Antonio Rojas arojas at gemini.archlinux.org
Fri Mar 11 20:20:44 UTC 2022


    Date: Friday, March 11, 2022 @ 20:20:44
  Author: arojas
Revision: 1148675

archrelease: copy trunk to community-x86_64

Added:
  cmucl/repos/community-x86_64/
  cmucl/repos/community-x86_64/0001-Fix-68-Use-O1-when-compiling-with-gcc-now.patch
    (from rev 1148674, cmucl/trunk/0001-Fix-68-Use-O1-when-compiling-with-gcc-now.patch)
  cmucl/repos/community-x86_64/82bf2c727ba1d3c461fa360aaae176608eb9349b.patch
    (from rev 1148674, cmucl/trunk/82bf2c727ba1d3c461fa360aaae176608eb9349b.patch)
  cmucl/repos/community-x86_64/PKGBUILD
    (from rev 1148674, cmucl/trunk/PKGBUILD)
  cmucl/repos/community-x86_64/glibc-2.34.patch
    (from rev 1148674, cmucl/trunk/glibc-2.34.patch)

------------------------------------------------------+
 0001-Fix-68-Use-O1-when-compiling-with-gcc-now.patch |   33 +++++++++
 82bf2c727ba1d3c461fa360aaae176608eb9349b.patch       |   56 ++++++++++++++++
 PKGBUILD                                             |   58 +++++++++++++++++
 glibc-2.34.patch                                     |   12 +++
 4 files changed, 159 insertions(+)

Copied: cmucl/repos/community-x86_64/0001-Fix-68-Use-O1-when-compiling-with-gcc-now.patch (from rev 1148674, cmucl/trunk/0001-Fix-68-Use-O1-when-compiling-with-gcc-now.patch)
===================================================================
--- community-x86_64/0001-Fix-68-Use-O1-when-compiling-with-gcc-now.patch	                        (rev 0)
+++ community-x86_64/0001-Fix-68-Use-O1-when-compiling-with-gcc-now.patch	2022-03-11 20:20:44 UTC (rev 1148675)
@@ -0,0 +1,33 @@
+From 9bd292bd1fca41d438d6eaeedec04c23cc442d4f Mon Sep 17 00:00:00 2001
+From: Raymond Toy <toy.raymond at gmail.com>
+Date: Tue, 16 Apr 2019 19:17:32 -0700
+Subject: [PATCH] Fix #68: Use -O1 when compiling with gcc now
+
+As reported gcc 8.1.1 can't produce a working lisp.  gcc 8.3.1 also
+fails.  But as reported on cmucl-imp, 2019-04-08, by Juan Pablo Hierro
+Alverez, -O1 works.
+
+Use -O1.
+---
+ src/lisp/Config.x86_common | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/lisp/Config.x86_common b/src/lisp/Config.x86_common
+index 31aebfc1e..d5537657b 100644
+--- a/src/lisp/Config.x86_common
++++ b/src/lisp/Config.x86_common
+@@ -44,7 +44,10 @@ endif
+ 
+ CPPFLAGS := $(CPP_DEFINE_OPTIONS) $(CPP_INCLUDE_OPTIONS) 
+ CFLAGS += -Wstrict-prototypes -Wall -g -fno-omit-frame-pointer
+-CFLAGS += -O2
++
++# gcc 8.1.1 and 8.3.1 (and probably anything after 8.1.1?) won't
++# produce a working lisp with -O2.  Just use -O1.
++CFLAGS += -O1
+ ASFLAGS = -g 
+ 
+ ASSEM_SRC = x86-assem.S
+-- 
+2.21.0
+

Copied: cmucl/repos/community-x86_64/82bf2c727ba1d3c461fa360aaae176608eb9349b.patch (from rev 1148674, cmucl/trunk/82bf2c727ba1d3c461fa360aaae176608eb9349b.patch)
===================================================================
--- community-x86_64/82bf2c727ba1d3c461fa360aaae176608eb9349b.patch	                        (rev 0)
+++ community-x86_64/82bf2c727ba1d3c461fa360aaae176608eb9349b.patch	2022-03-11 20:20:44 UTC (rev 1148675)
@@ -0,0 +1,56 @@
+From 82bf2c727ba1d3c461fa360aaae176608eb9349b Mon Sep 17 00:00:00 2001
+From: Raymond Toy <toy.raymond at gmail.com>
+Date: Sat, 25 Aug 2018 16:51:35 -0700
+Subject: [PATCH] Add support for compiling with clang on x86/linux
+
+Add `Config.x86_linux_clang` to use clang instead of gcc to build
+cmucl.  update `create-target.sh` so that it sets the motif variant
+correctly when using `Config.x86_linux_clang`
+
+See issue #68.
+
+With this config, Fedora 28 successfully builds cmucl and passes all
+the tests.
+---
+ bin/create-target.sh            |  2 +-
+ src/lisp/Config.x86_linux_clang | 15 +++++++++++++++
+ 2 files changed, 16 insertions(+), 1 deletion(-)
+ create mode 100644 src/lisp/Config.x86_linux_clang
+
+diff --git a/bin/create-target.sh b/bin/create-target.sh
+index 400a2e52b..c1b763056 100755
+--- a/bin/create-target.sh
++++ b/bin/create-target.sh
+@@ -83,7 +83,7 @@ case $uname_s in
+ 		hp700*) motif_variant=hpux_cc ;;
+ 		pmax_mach) motif_variant=pmax_mach ;;
+ 		sgi*) motif_variant=irix ;;
+-		x86_linux|linux*) motif_variant=x86 ;;
++		x86_linux*|linux*) motif_variant=x86 ;;
+ 	    esac
+ 	}
+ 	[ -f src/motif/server/Config.$motif_variant ] || quit "No such motif-variant could be found: Config.$motif_variant"
+diff --git a/src/lisp/Config.x86_linux_clang b/src/lisp/Config.x86_linux_clang
+new file mode 100644
+index 000000000..cbfb4306a
+--- /dev/null
++++ b/src/lisp/Config.x86_linux_clang
+@@ -0,0 +1,15 @@
++# -*- Mode: makefile -*-
++include Config.x86_common
++
++CC = clang
++CPPFLAGS += -m32 -D__NO_CTYPE -D_GNU_SOURCE
++CFLAGS += -march=pentium4 -mfpmath=sse -mtune=generic
++
++UNDEFSYMPATTERN = -Xlinker -u -Xlinker &
++ASSEM_SRC +=  linux-stubs.S
++OS_SRC += Linux-os.c elf.c
++OS_LIBS = -ldl
++OS_LINK_FLAGS = -m32 -rdynamic -Xlinker --export-dynamic -Xlinker -Map -Xlinker foo
++OS_LINK_FLAGS += -Wl,-z,noexecstack
++
++EXEC_FINAL_OBJ = exec-final.o
+-- 
+2.18.1
+

Copied: cmucl/repos/community-x86_64/PKGBUILD (from rev 1148674, cmucl/trunk/PKGBUILD)
===================================================================
--- community-x86_64/PKGBUILD	                        (rev 0)
+++ community-x86_64/PKGBUILD	2022-03-11 20:20:44 UTC (rev 1148675)
@@ -0,0 +1,58 @@
+# Contributor: John Proctor <jproctor at prium.net>
+# Contributor: Alain Kalker <a.c.kalker at gmail.com>
+# Maintainer: Juergen Hoetzel <juergen at archlinux.org>
+
+pkgname=cmucl
+pkgver=21d
+pkgrel=1
+pkgdesc="CMU Common Lisp"
+depends_i686=('glibc' 'openmotif')
+depends_x86_64=('lib32-glibc' 'openmotif')
+provides=('common-lisp')
+makedepends=('sed' 'bc' 'lib32-gcc-libs')
+license=('custom')
+#license PublicDomain
+source=("https://common-lisp.net/project/cmucl/downloads/release/${pkgver}/cmucl-src-${pkgver}.tar.bz2"
+        "https://common-lisp.net/project/cmucl/downloads/release/${pkgver}/cmucl-src-${pkgver}.tar.bz2.asc"
+        "https://common-lisp.net/project/cmucl/downloads/release/${pkgver}/cmucl-${pkgver}-x86-linux.tar.bz2"
+        "https://common-lisp.net/project/cmucl/downloads/release/${pkgver}/cmucl-${pkgver}-x86-linux.tar.bz2.asc"
+	'0001-Fix-68-Use-O1-when-compiling-with-gcc-now.patch'
+        'glibc-2.34.patch')
+sha256sums=('657d9332ef0453a513a55c4ed84993ac5157e215efa423d2d7aa432a4bbc4ab4'
+            'SKIP'
+            '45d72d72a3d3b5087561bdc1ae943c8ed445427f3939cc0eb7597dd07eb10d9b'
+            'SKIP'
+            '48ef3fd1038cc0c53c4a5151f5a3eccde1ac58cef28f4dfc8553b5f7977ea9c9'
+            'b3561f995cd5d8ec272883646ef88c44b6f2e27cfcf0b93aad38cf7201b01eac')
+validpgpkeys=('0EF50ED55514BFF6B72B9DAC06CE3819086C750B') # "Raymond Toy <toy.raymond at gmail.com>
+url="https://www.cons.org/cmucl/"
+arch=('x86_64')
+
+prepare() {
+  patch -p1 -d "${srcdir}" -i "${srcdir}/0001-Fix-68-Use-O1-when-compiling-with-gcc-now.patch"
+  patch -d src -p1 -i ../glibc-2.34.patch # Fix build with glibc 2.34
+  if [[ $CARCH == "i686" ]]; then
+    sed -i 's|i386\*|i686\*|' "${srcdir}"/bin/build-all.sh
+  fi
+}
+
+build() {
+  cd "${srcdir}"
+  export CMUCLLIB="${srcdir}"/lib/cmucl/lib
+  # Build using binary-dist lisp
+  ./bin/build-all.sh -o "${srcdir}"/bin/lisp -C x86_linux
+}
+
+package() {
+  cd "${srcdir}"
+  # install distribution
+  ./bin/make-dist.sh -I "${pkgdir}"/usr -M share/man/man1 -V ${pkgver} linux-4
+  # move docs
+  mv "${pkgdir}"/usr/doc "${pkgdir}"/usr/share/
+  # backwards compatibility
+  ln -sf lisp "${pkgdir}"/usr/bin/cmucl
+  # license
+  install -D -m644 "${srcdir}"/src/general-info/COPYRIGHTS \
+                   "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
+

Copied: cmucl/repos/community-x86_64/glibc-2.34.patch (from rev 1148674, cmucl/trunk/glibc-2.34.patch)
===================================================================
--- community-x86_64/glibc-2.34.patch	                        (rev 0)
+++ community-x86_64/glibc-2.34.patch	2022-03-11 20:20:44 UTC (rev 1148675)
@@ -0,0 +1,12 @@
+diff -ru src.orig/lisp/interrupt.c src/lisp/interrupt.c
+--- src.orig/lisp/interrupt.c	2022-03-11 21:13:20.249071179 +0100
++++ src/lisp/interrupt.c	2022-03-11 21:14:27.152779948 +0100
+@@ -405,7 +405,7 @@
+ * Noise to install handlers.                                     *
+ \****************************************************************/
+ 
+-char altstack[SIGNAL_STACK_SIZE];
++char altstack[8192];
+ 
+ void
+ interrupt_install_low_level_handler(int signal, void handler(HANDLER_ARGS))



More information about the arch-commits mailing list