Thiago Kenji Okada
afb99ad5d4
graalvm*-ce: wrap native-image to pass -H:CLibraryPath, misc improvements
...
Fixes issue #214922 by not adding C libraries to the default library
path of GraalVM. This should reduce the closure size of native compiled
binaries in nixpkgs again, e.g.:
Before:
```
$ ldd ./result/bin/bb
linux-vdso.so.1 (0x00007fff2669b000)
libstdc++.so.6 => /nix/store/qbgfsaviwqi2p6jr7an1g2754sv3xqhn-gcc-11.3.0-lib/lib/libstdc++.so.6 (0x00007f77fc0cf000)
libm.so.6 => /nix/store/l7vp7c9z03dspbmss3gq5wdwx5c6ifcq-graalvm11-ce-22.3.0/lib/svm/clibraries/linux-amd64/libm.so.6 (0x00007f77fbfef000)
libpthread.so.0 => /nix/store/l7vp7c9z03dspbmss3gq5wdwx5c6ifcq-graalvm11-ce-22.3.0/lib/svm/clibraries/linux-amd64/libpthread.so.0 (0x00007f77fbfea000)
libdl.so.2 => /nix/store/l7vp7c9z03dspbmss3gq5wdwx5c6ifcq-graalvm11-ce-22.3.0/lib/svm/clibraries/linux-amd64/libdl.so.2 (0x00007f77fbfe5000)
librt.so.1 => /nix/store/l7vp7c9z03dspbmss3gq5wdwx5c6ifcq-graalvm11-ce-22.3.0/lib/svm/clibraries/linux-amd64/librt.so.1 (0x00007f77fbfde000)
libc.so.6 => /nix/store/l7vp7c9z03dspbmss3gq5wdwx5c6ifcq-graalvm11-ce-22.3.0/lib/svm/clibraries/linux-amd64/libc.so.6 (0x00007f77fbdd5000)
/nix/store/c35hf8g5b9vksadym9dbjrd6p2y11m8h-glibc-2.35-224/lib/ld-linux-x86-64.so.2 => /nix/store/9xfad3b5z4y00mzmk2wnn4900q0qmxns-glibc-2.35-224/lib64/ld-linux-x86-64.so.2 (0x00007f77fc2e7000)
libgcc_s.so.1 => /nix/store/qbgfsaviwqi2p6jr7an1g2754sv3xqhn-gcc-11.3.0-lib/lib/libgcc_s.so.1 (0x00007f77fbdbb000)
```
After:
```
$ ldd ./result/bin/bb
linux-vdso.so.1 (0x00007fffdfd4e000)
libstdc++.so.6 => /nix/store/qbgfsaviwqi2p6jr7an1g2754sv3xqhn-gcc-11.3.0-lib/lib/libstdc++.so.6 (0x00007fc3a5658000)
libm.so.6 => /nix/store/c35hf8g5b9vksadym9dbjrd6p2y11m8h-glibc-2.35-224/lib/libm.so.6 (0x00007fc3a5578000)
libpthread.so.0 => /nix/store/c35hf8g5b9vksadym9dbjrd6p2y11m8h-glibc-2.35-224/lib/libpthread.so.0 (0x00007fc3a5573000)
libdl.so.2 => /nix/store/c35hf8g5b9vksadym9dbjrd6p2y11m8h-glibc-2.35-224/lib/libdl.so.2 (0x00007fc3a556e000)
librt.so.1 => /nix/store/c35hf8g5b9vksadym9dbjrd6p2y11m8h-glibc-2.35-224/lib/librt.so.1 (0x00007fc3a5569000)
libc.so.6 => /nix/store/c35hf8g5b9vksadym9dbjrd6p2y11m8h-glibc-2.35-224/lib/libc.so.6 (0x00007fc3a535e000)
/nix/store/c35hf8g5b9vksadym9dbjrd6p2y11m8h-glibc-2.35-224/lib/ld-linux-x86-64.so.2 => /nix/store/9xfad3b5z4y00mzmk2wnn4900q0qmxns-glibc-2.35-224/lib64/ld-linux-x86-64.so.2 (0x00007fc3a5870000)
libgcc_s.so.1 => /nix/store/qbgfsaviwqi2p6jr7an1g2754sv3xqhn-gcc-11.3.0-lib/lib/libgcc_s.so.1 (0x00007fc3a5344000)
```
Also improves the installCheckPhase to include more tests and improve
the old onest .
2023-02-07 17:00:13 +00:00
Thiago Kenji Okada
8f58bc3a1d
buildGraalvmNativeImage: allow LC_ALL overrides
2022-07-03 18:16:38 +01:00
Thiago Kenji Okada
44a4401945
buildGraalvmNativeImage: mark as broken if Native Image is not available
2022-04-15 23:20:52 +01:00
Thiago Kenji Okada
bdfff535f0
buildGraalvmNativeImage: allow usage of arbitrary graalvm derivation
...
This will allow for easier overrides for specific systems (e.g.
`aarch64-linux` that is only supported in `graalvm17-ce`).
2022-03-31 22:35:44 +01:00
heyarne
ce9b3a3723
buildGraalVmNativeImage: enable utf-8 by default
...
The tools built with buildGraalVmNativeImage have broken UTF-8 support
when not properly setting the locale, e.g.
$ bb -e '(prn "bépo àê")'
"b??po ????"
This commit sets the locale to en_US.UTF-8 by default, which fixes that.
2022-01-04 09:56:34 +01:00
Thiago Kenji Okada
24f9dcd06b
buildGraalvmNativeImage: fix meta
2021-12-27 19:49:52 -03:00
Thiago Kenji Okada
a5c0f59bf7
buildGraalvmNativeImage: allow nativeImageBuildArgs to be overwritten
2021-11-25 11:02:46 -03:00
Thiago Kenji Okada
f1c16183c8
buildGraalvmNativeImage: fix meta, add --verbose flag
2021-11-24 10:37:33 -03:00
Thiago Kenji Okada
d352856ea2
buildGraalvmNativeImage: default executable to pname
2021-11-24 10:37:32 -03:00
Thiago Kenji Okada
1415e30830
buildGraalvmNativeImage: init
...
For now it only takes care of the single Jar <-> single Executable case.
This will take care of the majority (all?) use cases we have in nixpkgs
currently.
2021-11-24 10:37:32 -03:00