[arch-commits] Commit in cmucl/trunk (2 files)
Jürgen Hötzel
juergen at archlinux.org
Sat Nov 10 13:03:29 UTC 2018
Date: Saturday, November 10, 2018 @ 13:03:28
Author: juergen
Revision: 405667
Switch to clang, because of upstream gcc8 issue. Fixes #60280
Added:
cmucl/trunk/82bf2c727ba1d3c461fa360aaae176608eb9349b.patch
Modified:
cmucl/trunk/PKGBUILD
------------------------------------------------+
82bf2c727ba1d3c461fa360aaae176608eb9349b.patch | 56 +++++++++++++++++++++++
PKGBUILD | 23 +++++----
2 files changed, 69 insertions(+), 10 deletions(-)
Added: 82bf2c727ba1d3c461fa360aaae176608eb9349b.patch
===================================================================
--- 82bf2c727ba1d3c461fa360aaae176608eb9349b.patch (rev 0)
+++ 82bf2c727ba1d3c461fa360aaae176608eb9349b.patch 2018-11-10 13:03:28 UTC (rev 405667)
@@ -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
+
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2018-11-10 12:58:08 UTC (rev 405666)
+++ PKGBUILD 2018-11-10 13:03:28 UTC (rev 405667)
@@ -3,23 +3,25 @@
# Maintainer: Juergen Hoetzel <juergen at archlinux.org>
pkgname=cmucl
-pkgver=21b
-pkgrel=2
+pkgver=21c
+pkgrel=1
pkgdesc="CMU Common Lisp"
depends_i686=('glibc' 'openmotif')
depends_x86_64=('lib32-glibc' 'openmotif')
provides=('common-lisp')
-makedepends=('sed' 'bc')
+makedepends=('sed' 'bc' 'clang')
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-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")
-sha256sums=('6f9ea5920d38d6881cee85d976565b3a6070bf6473dd64254e0e9f2f23625875'
+ "https://common-lisp.net/project/cmucl/downloads/release/${pkgver}/cmucl-${pkgver}-x86-linux.tar.bz2.asc"
+ 82bf2c727ba1d3c461fa360aaae176608eb9349b.patch)
+sha256sums=('3435963b594d44b5ca0e12674222b40fb00b3c44ea0226fead5d66041369a74d'
'SKIP'
- 'eaccb1d676dbf40c5327ae5c61a7a638e4c12525b1e4118535582ffb7c59638e'
- 'SKIP')
+ 'f94a79ca4c2918cc4e7bdc58c934c98e56accc3c08f7cccde70ade02ab438105'
+ 'SKIP'
+ '6cb5b7921bee5c5cba19939de635870f56f1bce662d457aeccde29878a4d0ebc')
validpgpkeys=('0EF50ED55514BFF6B72B9DAC06CE3819086C750B') # "Raymond Toy <toy.raymond at gmail.com>
url="https://www.cons.org/cmucl/"
arch=('x86_64')
@@ -26,6 +28,7 @@
prepare() {
cd "${srcdir}"
+ patch -p1 -i 82bf2c727ba1d3c461fa360aaae176608eb9349b.patch
if [[ $CARCH == "i686" ]]; then
sed -i 's|i386\*|i686\*|' bin/build-all.sh
@@ -36,13 +39,13 @@
cd "${srcdir}"
export CMUCLLIB="${srcdir}"/lib/cmucl/lib
# Build using binary-dist lisp
- ./bin/build-all.sh -o "${srcdir}"/bin/lisp
+ ./bin/build-all.sh -o "${srcdir}"/bin/lisp -C x86_linux_clang
}
package() {
cd "${srcdir}"
# install distribution
- ./bin/make-dist.sh -I "${pkgdir}"/usr -M share/man/man1 linux-4
+ ./bin/make-dist.sh -I "${pkgdir}"/usr -M share/man/man1 -V 21c linux-4
# move docs
mv "${pkgdir}"/usr/doc "${pkgdir}"/usr/share/
# backwards compatibility
More information about the arch-commits
mailing list