From bb6b3adf7dc97604e465a6df7744e1087c6fb885 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Thu, 25 Nov 2021 21:15:23 +0100 Subject: [PATCH] sbcl: fix build on x86_64 --- ...chset => sbcl-2.1.10.22_20211029.patchset} | 29 ++++++++++++++++++- dev-lisp/sbcl/sbcl-2.1.10.22_20211029.recipe | 16 ++++++---- 2 files changed, 39 insertions(+), 6 deletions(-) rename dev-lisp/sbcl/patches/{sbcl-2.1.10.22_44e0d89ff14fcd8d599edd00668633c4772c26b9.patchset => sbcl-2.1.10.22_20211029.patchset} (91%) diff --git a/dev-lisp/sbcl/patches/sbcl-2.1.10.22_44e0d89ff14fcd8d599edd00668633c4772c26b9.patchset b/dev-lisp/sbcl/patches/sbcl-2.1.10.22_20211029.patchset similarity index 91% rename from dev-lisp/sbcl/patches/sbcl-2.1.10.22_44e0d89ff14fcd8d599edd00668633c4772c26b9.patchset rename to dev-lisp/sbcl/patches/sbcl-2.1.10.22_20211029.patchset index d65f69ec3..76888c8e4 100644 --- a/dev-lisp/sbcl/patches/sbcl-2.1.10.22_44e0d89ff14fcd8d599edd00668633c4772c26b9.patchset +++ b/dev-lisp/sbcl/patches/sbcl-2.1.10.22_20211029.patchset @@ -1,4 +1,4 @@ -From ab0dcff644bccdf79c772df416dfc1452a8c7cd7 Mon Sep 17 00:00:00 2001 +From a2b423beaa4e5457449f389b39b733eb7a778314 Mon Sep 17 00:00:00 2001 From: Al Hoang <3811822-hoanga@users.noreply.gitlab.com> Date: Sun, 31 Oct 2021 21:00:26 -0500 Subject: patches for haiku @@ -255,3 +255,30 @@ index d9858da..0a5b8c9 100644 -- 2.30.2 + +From f317a6a2df3a23fe13e5682c57071b6a8450fda1 Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Thu, 25 Nov 2021 18:27:19 +0100 +Subject: Haiku: access to fpu registers was changed in beta3 + + +diff --git a/src/runtime/x86-64-haiku-os.c b/src/runtime/x86-64-haiku-os.c +index 2f8e25c..af4924e 100644 +--- a/src/runtime/x86-64-haiku-os.c ++++ b/src/runtime/x86-64-haiku-os.c +@@ -47,10 +47,10 @@ os_restore_fp_control(os_context_t *context) + // just guessing here + + /* reset exception flags and restore control flags on SSE2 FPU */ +- unsigned int temp = (context->uc_mcontext.fpu.mxcsr) & ~0x3F; ++ unsigned int temp = (context->uc_mcontext.fpu.fp_fxsave.mxcsr) & ~0x3F; + asm ("ldmxcsr %0" : : "m" (temp)); + /* same for x87 FPU. */ +- asm ("fldcw %0" : : "m" (context->uc_mcontext.fpu.control)); ++ asm ("fldcw %0" : : "m" (context->uc_mcontext.fpu.fp_fxsave.control)); + } + + void +-- +2.30.2 + diff --git a/dev-lisp/sbcl/sbcl-2.1.10.22_20211029.recipe b/dev-lisp/sbcl/sbcl-2.1.10.22_20211029.recipe index 13a446fe0..acf15e837 100644 --- a/dev-lisp/sbcl/sbcl-2.1.10.22_20211029.recipe +++ b/dev-lisp/sbcl/sbcl-2.1.10.22_20211029.recipe @@ -13,10 +13,10 @@ SOURCE_URI="https://github.com/sbcl/sbcl/archive/$srcGitRev.tar.gz" CHECKSUM_SHA256="b59dba5b0c4d8a599b60f29d79e29115f1dd73f3b5f305123ecf0cb1ef1a8212" SOURCE_DIR="sbcl-$srcGitRev" SOURCE_FILENAME="sbcl-$portVersion.tar.gz" -PATCHES="sbcl-2.1.10.22_$srcGitRev.patchset" +PATCHES="sbcl-$portVersion.patchset" ARCHITECTURES="all !x86_gcc2" -SECONDARY_ARCHITECTURES="x86" +SECONDARY_ARCHITECTURES="?x86" PROVIDES=" sbcl$secondaryArchSuffix = $portVersion @@ -29,7 +29,6 @@ REQUIRES=" BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel - java:environment >= 11 devel:libssl$secondaryArchSuffix " BUILD_PREREQUIRES=" @@ -37,7 +36,6 @@ BUILD_PREREQUIRES=" cmd:abcl cmd:find cmd:gcc$secondaryArchPrefix - cmd:java cmd:make cmd:pkg_config$secondaryArchPrefix cmd:sed @@ -47,7 +45,10 @@ BUILD_PREREQUIRES=" BUILD() { source /system/data/profile.d/openjdk11.sh - export JAVA_HOME=$JDK11_HOME + export PATH=$JDK11_HOME/bin:$PATH + export JAVA_HOME="$JDK11_HOME" + export DISABLE_ASLR=1 + echo ';;; This file is auto-generated using generate-version.sh. Every time ;;; you re-run make.sh, this file will be overwritten if you are ;;; working from a Git checkout. @@ -58,5 +59,10 @@ BUILD() INSTALL() { INSTALL_ROOT=$prefix sh install.sh + + mkdir -p $docDir $manDir + mv $prefix/share/man/man1 $manDir + mv $prefix/share/doc/sbcl/* $docDir + rm -rf $prefix/share }