Unverified Commit 34c6f0fe authored by Aleksana's avatar Aleksana Committed by GitHub
Browse files

musl-obstack: fix build on darwin (#407671)

parents e067fb89 dc44a14c
Loading
Loading
Loading
Loading
+27 −0
Original line number Diff line number Diff line
From 44679bc1a03302aa6b1eb19220d9723e9e0e4d3f Mon Sep 17 00:00:00 2001
From: usertam <code@usertam.dev>
Date: Fri, 16 May 2025 23:29:41 +0800
Subject: [PATCH] ignore obstack_free alias on darwin

clang will complain "error: aliases are not supported on darwin".
---
 obstack.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/obstack.c b/obstack.c
index 1f2f4c7..b9be9dd 100644
--- a/obstack.c
+++ b/obstack.c
@@ -294,7 +294,9 @@ _obstack_free (struct obstack *h, void *obj)
     abort ();
 }
 
+#ifndef __APPLE__
 extern __typeof(_obstack_free) obstack_free __attribute__((alias("_obstack_free")));
+#endif
 
 _OBSTACK_SIZE_T
 _obstack_memory_used (struct obstack *h)
-- 
2.48.1
+5 −1
Original line number Diff line number Diff line
@@ -17,6 +17,10 @@ stdenv.mkDerivation rec {
    sha256 = "sha256-oydS7FubUniMHAUWfg84OH9+CZ0JCrTXy7jzwOyJzC8=";
  };

  patches = lib.optionals stdenv.isDarwin [
    ./0001-ignore-obstack_free-alias-on-darwin.patch
  ];

  nativeBuildInputs = [
    autoreconfHook
    pkg-config
@@ -27,7 +31,7 @@ stdenv.mkDerivation rec {
  meta = with lib; {
    homepage = "https://github.com/void-linux/musl-obstack";
    description = "An extraction of the obstack functions and macros from GNU libiberty for use with musl-libc";
    platforms = platforms.linux;
    platforms = platforms.unix;
    license = licenses.lgpl21Plus;
    maintainers = [ maintainers.pjjw ];
  };