diff --git a/pkgs/by-name/mu/musl-obstack/0001-ignore-obstack_free-alias-on-darwin.patch b/pkgs/by-name/mu/musl-obstack/0001-ignore-obstack_free-alias-on-darwin.patch new file mode 100644 index 000000000000..a102bbf28f7b --- /dev/null +++ b/pkgs/by-name/mu/musl-obstack/0001-ignore-obstack_free-alias-on-darwin.patch @@ -0,0 +1,27 @@ +From 44679bc1a03302aa6b1eb19220d9723e9e0e4d3f Mon Sep 17 00:00:00 2001 +From: usertam +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 + diff --git a/pkgs/by-name/mu/musl-obstack/package.nix b/pkgs/by-name/mu/musl-obstack/package.nix index edac988c36db..dfe19c50b41f 100644 --- a/pkgs/by-name/mu/musl-obstack/package.nix +++ b/pkgs/by-name/mu/musl-obstack/package.nix @@ -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 ]; };