icu: refactor to avoid runtime dependency on bash

Bash was considered a runtime dependency as the two files `install-sh`
and `mkinstalldirs` was included in the library output. These files has a shebang
for `#!/bin/sh` which is replaced by nix to point to bash in the fixup phase.
This commit is contained in:
zlepper 2024-04-17 14:40:37 +02:00
parent 1cd80c1bba
commit 86e6c52bba
2 changed files with 4 additions and 0 deletions

View File

@ -439,6 +439,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- The `erlang-ls` package no longer ships the `els_dap` binary as of v0.51.0.
- `icu` no longer includes `install-sh` and `mkinstalldirs` in the shared folder.
## Other Notable Changes {#sec-release-24.05-notable-changes}
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->

View File

@ -75,6 +75,8 @@ let
{ from = "\${pkglibdir}/pkgdata.inc"; to = "${placeholder "dev"}/lib/icu/pkgdata.inc"; } # --incpkgdatafile
];
in ''
rm $out/share/icu/${version}/install-sh $out/share/icu/${version}/mkinstalldirs # Avoid having a runtime dependency on bash
substituteInPlace "$dev/bin/icu-config" \
${lib.concatMapStringsSep " " (r: "--replace '${r.from}' '${r.to}'") replacements}
'');