about summary refs log tree commit diff
path: root/pkgs/build-support/build-graalvm-native-image
AgeCommit message (Collapse)AuthorFilesLines
2024-01-26buildGraalvmNativeImage: fix UTF-8 encoding issue for JVM dependenciesThiago Kenji Okada1-2/+3
Now that we can pass build arguments for the GraalVM builder again (see https://github.com/NixOS/nixpkgs/pull/282901), this should work again. Fix issue: https://github.com/NixOS/nixpkgs/issues/283953
2024-01-22build-graalvm-native-image: pass whole environmentsohalt1-1/+1
Pass the whole environment to the native-image build process by generating a -E option for every environment variable. This has the same effect as setting NATIVE_IMAGE_DEPRECATED_BUILDER_SANITATION=true but is compatible with packages providing -E options themselves
2024-01-22build-graalvm-native-image: do not use ↵sohalt1-7/+0
NATIVE_IMAGE_DEPRECATED_BUILDER_SANITATION Packages that require access to environment variables in the build should specify these using `-E` arguments in `nativeImageBuildArgs` or using a `native-image.properties` as described here: https://www.graalvm.org/22.1/reference-manual/native-image/BuildConfiguration/#embedding-a-configuration-file Specifying NATIVE_IMAGE_DEPRECATED_BUILDER_SANITATION=true breaks with packages that list their environment variables explicitly in `native-image.properties`.
2023-12-13buildGraalvmNativeImage: set NATIVE_IMAGE_DEPRECATED_BUILDER_SANITATIONThiago Kenji Okada1-0/+7
2023-11-26Merge pull request #269479 from jcf/remove-more-graalvm-referencesThiago Kenji Okada1-1/+8
Remove more GraalVM references
2023-11-26Move reference removal logic into build supportJames Conroy-Finn1-1/+8
2023-11-23buildGraalvmNativeImage: Set maximum page size to 64K on aarch64-linuxDiego B. Fernandez1-0/+1
2023-11-16buildGraalvmNativeImage: fix Unicode issue by setting encoding explicitlyThiago Kenji Okada1-4/+3
Remove the old workaround where we set it by LC_ALL, that does not seem to be working anymore. Fixes #260161.
2023-10-12buildGraalvmNativeImage: build with "-march=compatibility" by defaultMoritz Heidkamp1-0/+1
This is necessary for compatibility with all targets supported by nixpkgs.
2023-09-27graalvm-ce: 22.3.1 -> 21.0.0Thiago Kenji Okada1-2/+0
This initially may look like a downgrade, but this is caused by how upstream is tagging versions. Before they would have the GraalVM having its own version (e.g. 22.3.1), and each version would support multiple JVM versions (e.g. 11, 17, 19). Now each release supports only one JVM version (e.g.: 21), and they track the same version as the JVM. They also changed packaging, making all sub-products (e.g.: GraalPy, GraalRuby, etc.) standalone, so they do not depend in GraalVM anymore and have their own version. Thanks to this change, we will need to repackage everything. To simplify, this commit will remove all sub-products and only care about the GraalVM/Native Image (that is back to GraalVM itself) part. Other commits will re-added each sub-product. Fix (partial): https://github.com/NixOS/nixpkgs/issues/257292
2023-03-17buildGraalvmNativeImage: allow overwriting ↵Thiago Kenji Okada1-0/+3
{build,install}Phase/nativeBuildInputs
2023-02-18buildGraalvmNativeImage: allow overriding attributesThiago Kenji Okada1-11/+21
Remove the previous function closure, that would make it difficult to access the inner derivation attributes. Fix issue #216787.
2023-02-12graalvm-ce: add it to all-packages pointing to graalvm11-ceThiago Kenji Okada1-2/+2
2023-02-11bbin: inherit graalvmDrv from babashkaThiago Kenji Okada1-0/+2
2023-02-09native-image-installable-svm: init at 22.3.0Thiago Kenji Okada1-1/+1
Also refactor the buildGraalvm derivation, allowing it to compose with the other products.
2023-02-07graalvm*-ce: wrap native-image to pass -H:CLibraryPath, misc improvementsThiago Kenji Okada1-1/+2
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 .
2022-07-03buildGraalvmNativeImage: allow LC_ALL overridesThiago Kenji Okada1-3/+3
2022-04-15buildGraalvmNativeImage: mark as broken if Native Image is not availableThiago Kenji Okada1-0/+2
2022-03-31buildGraalvmNativeImage: allow usage of arbitrary graalvm derivationThiago Kenji Okada1-5/+5
This will allow for easier overrides for specific systems (e.g. `aarch64-linux` that is only supported in `graalvm17-ce`).
2022-01-04buildGraalVmNativeImage: enable utf-8 by defaultheyarne1-0/+2
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.
2021-12-27buildGraalvmNativeImage: fix metaThiago Kenji Okada1-2/+7
2021-11-25buildGraalvmNativeImage: allow nativeImageBuildArgs to be overwrittenThiago Kenji Okada1-10/+10
2021-11-24buildGraalvmNativeImage: fix meta, add --verbose flagThiago Kenji Okada1-4/+3
2021-11-24buildGraalvmNativeImage: default executable to pnameThiago Kenji Okada1-1/+1
2021-11-24buildGraalvmNativeImage: initThiago Kenji Okada1-0/+53
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.