summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/termplotlib/gnuplot-subprocess.patch
diff options
context:
space:
mode:
authorRandy Eckenrode <randy@largeandhighquality.com>2023-06-14 16:09:25 -0400
committerRandy Eckenrode <randy@largeandhighquality.com>2023-06-21 19:05:54 -0400
commit057dd0effeb0a748738b1b93f8cb072a0ddc439f (patch)
treef0b451e2ece66eee96debbaeb0a9232b4116100a /pkgs/development/python-modules/termplotlib/gnuplot-subprocess.patch
parent23bd312777fd2265e0e1c38effe2c32c160b5d3b (diff)
libiconvReal: implement ABI compatibility on Darwin
This commit prepares libiconvReal to replace darwin.libiconv, allowing it to be used with binary derivations that patch out references to the system libiconv with one from nixpkgs. Apple’s libiconv is based on GNU libiconv 1.11 (the last version before it switched to LGPLv3+). Any newer releases by Apple appear to be build system tweaks. The core sources are barely updated. This means that Darwin users won’t get any fixes from upstream updates, and maintaining darwin.libiconv requires dealing with a separate and different build system (because Apple now builds it with Xcode). Fortunately, it is possible to build upstream libiconv in a way that is compatible with Apple’s distribution of it. There are two things that need to happen to produce an ABI-compatible build of libiconv: * Existing symbols need to be exported with the `iconv_` prefix instead of the `libiconv_` prefix. New symbols can have the `libiconv` prefix, and one symbol in Apple’s distribution does, but older ones must have the older prefix; and * Reexport `libcharset.dylib` from `libiconv.dylib`. This is explained by Apple as the result of a bug in their transition to an Xcode-based build system. Both these these are doable and have been done by this commit. I have tested it with building GHC, which downloads a binary distribution as part of its bootstrap and replaces references to the system libiconv with darwin.libiconv. Using this patch, libiconvReal is able to work without any changes to the GHC derivation. Note that this patch does not actually deprecate or remove darwin.libiconv yet. That will be done in a future patch after Darwin support is added for aliases and deprecating packages in the `darwin` attrset.
Diffstat (limited to 'pkgs/development/python-modules/termplotlib/gnuplot-subprocess.patch')
0 files changed, 0 insertions, 0 deletions