llvmPackages_git.libcxxabi: unbreak on x86_64-darwin

Co-authored-by: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com>
This commit is contained in:
Weijia Wang 2024-02-24 05:57:43 +01:00
parent ed2668f7d8
commit a9db778648
3 changed files with 36 additions and 3 deletions

View file

@ -0,0 +1,31 @@
From 9c1cb26c1dd3f92d1c1177e548107d2cd3c5e616 Mon Sep 17 00:00:00 2001
From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com>
Date: Fri, 23 Feb 2024 22:58:58 +0000
Subject: [PATCH] darwin 10.12 mbstate_t fix
https://github.com/llvm/llvm-project/issues/64226
removes space from
https://github.com/macports/macports-ports/raw/acd8acb171f1658596ed1cf25da48d5b932e2d19/lang/llvm-17/files/0042-mbstate_t-not-defined.patch
so it applies cleanly
---
include/__mbstate_t.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/include/__mbstate_t.h b/include/__mbstate_t.h
index bfa6d61..5f51112 100644
--- a/include/__mbstate_t.h
+++ b/include/__mbstate_t.h
@@ -42,6 +42,9 @@
#elif __has_include(<bits/types/mbstate_t.h>)
# include <bits/types/mbstate_t.h> // works on most Unixes
#elif __has_include(<sys/_types/_mbstate_t.h>)
+# if __has_include(<machine/_types.h>)
+# include <machine/_types.h>
+# endif
# include <sys/_types/_mbstate_t.h> // works on Darwin
#elif !defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS) && __has_include_next(<wchar.h>)
# include_next <wchar.h> // fall back to the C standard provider of mbstate_t
--
2.43.0

View file

@ -45,6 +45,11 @@ stdenv.mkDerivation rec {
chmod -R u+w .
'';
patches = lib.optionals (stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13") [
# https://github.com/llvm/llvm-project/issues/64226
./0001-darwin-10.12-mbstate_t-fix.patch
];
postPatch = ''
cd ../runtimes
'';

View file

@ -126,8 +126,5 @@ stdenv.mkDerivation rec {
# the UIUC License (a BSD-like license)":
license = with lib.licenses; [ mit ncsa ];
maintainers = llvm_meta.maintainers ++ [ lib.maintainers.vlstill ];
# Broken until https://github.com/llvm/llvm-project/issues/64226 is resolved
# We should check if the version is not 10.13 but that is currently broken.
broken = stdenv.isDarwin && stdenv.isx86_64;
};
}