nix: use cortex-a73 / ARMv8-a, strip and remove unnecessary bloat
for some reason gcc is included in OCI images Signed-off-by: strawberry <strawberry@puppygock.gay>
This commit is contained in:
parent
71ee31a014
commit
82b973a8b1
2 changed files with 19 additions and 3 deletions
|
@ -137,7 +137,11 @@
|
||||||
# Useful for editing the book locally
|
# Useful for editing the book locally
|
||||||
mdbook
|
mdbook
|
||||||
|
|
||||||
|
# used for rust caching in CI to speed it up
|
||||||
sccache
|
sccache
|
||||||
|
|
||||||
|
# needed so we can get rid of gcc and other unused deps that bloat OCI images
|
||||||
|
removeReferencesTo
|
||||||
])
|
])
|
||||||
++ scope.main.buildInputs
|
++ scope.main.buildInputs
|
||||||
++ scope.main.propagatedBuildInputs
|
++ scope.main.propagatedBuildInputs
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
, liburing
|
, liburing
|
||||||
, pkgsBuildHost
|
, pkgsBuildHost
|
||||||
, rocksdb
|
, rocksdb
|
||||||
|
, removeReferencesTo
|
||||||
, rust
|
, rust
|
||||||
, rust-jemalloc-sys
|
, rust-jemalloc-sys
|
||||||
, stdenv
|
, stdenv
|
||||||
|
@ -94,8 +95,8 @@ buildDepsOnlyEnv =
|
||||||
else if stdenv.targetPlatform.isAarch64
|
else if stdenv.targetPlatform.isAarch64
|
||||||
then lib.subtractLists [ "-DPORTABLE=1" ] old.cmakeFlags
|
then lib.subtractLists [ "-DPORTABLE=1" ] old.cmakeFlags
|
||||||
++ lib.optionals stdenv.targetPlatform.isAarch64 [
|
++ lib.optionals stdenv.targetPlatform.isAarch64 [
|
||||||
# cortex-a55 == ARMv8.2-a
|
# cortex-a73 == ARMv8-A
|
||||||
"-DPORTABLE=armv8.2-a"
|
"-DPORTABLE=armv8-a"
|
||||||
]
|
]
|
||||||
else old.cmakeFlags;
|
else old.cmakeFlags;
|
||||||
});
|
});
|
||||||
|
@ -128,7 +129,7 @@ buildPackageEnv = {
|
||||||
+ lib.optionalString stdenv.targetPlatform.isx86_64
|
+ lib.optionalString stdenv.targetPlatform.isx86_64
|
||||||
" -Ctarget-cpu=x86-64-v2"
|
" -Ctarget-cpu=x86-64-v2"
|
||||||
+ lib.optionalString stdenv.targetPlatform.isAarch64
|
+ lib.optionalString stdenv.targetPlatform.isAarch64
|
||||||
" -Ctarget-cpu=cortex-a55"; # cortex-a55 == ARMv8.2-a
|
" -Ctarget-cpu=cortex-a73"; # cortex-a73 == ARMv8-A
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -154,6 +155,7 @@ commonAttrs = {
|
||||||
};
|
};
|
||||||
|
|
||||||
dontStrip = profile == "dev" || profile == "test";
|
dontStrip = profile == "dev" || profile == "test";
|
||||||
|
dontPatchELF = profile == "dev" || profile == "test";
|
||||||
|
|
||||||
buildInputs = lib.optional (featureEnabled "jemalloc") rust-jemalloc-sys';
|
buildInputs = lib.optional (featureEnabled "jemalloc") rust-jemalloc-sys';
|
||||||
|
|
||||||
|
@ -168,6 +170,9 @@ commonAttrs = {
|
||||||
# differing values for `NIX_CFLAGS_COMPILE`, which contributes to spurious
|
# differing values for `NIX_CFLAGS_COMPILE`, which contributes to spurious
|
||||||
# rebuilds of bindgen and its depedents.
|
# rebuilds of bindgen and its depedents.
|
||||||
jq
|
jq
|
||||||
|
|
||||||
|
# needed so we can get rid of gcc and other unused deps that bloat OCI images
|
||||||
|
removeReferencesTo
|
||||||
]
|
]
|
||||||
++ lib.optionals stdenv.isDarwin [
|
++ lib.optionals stdenv.isDarwin [
|
||||||
# https://github.com/NixOS/nixpkgs/issues/206242
|
# https://github.com/NixOS/nixpkgs/issues/206242
|
||||||
|
@ -177,6 +182,13 @@ commonAttrs = {
|
||||||
# https://discourse.nixos.org/t/compile-a-rust-binary-on-macos-dbcrossbar/8612
|
# https://discourse.nixos.org/t/compile-a-rust-binary-on-macos-dbcrossbar/8612
|
||||||
pkgsBuildHost.darwin.apple_sdk.frameworks.Security
|
pkgsBuildHost.darwin.apple_sdk.frameworks.Security
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# for some reason gcc and other weird deps are added to OCI images and bloats it up
|
||||||
|
#
|
||||||
|
# <https://github.com/input-output-hk/haskell.nix/issues/829>
|
||||||
|
postInstall = with pkgsBuildHost; ''
|
||||||
|
find "$out" -type f -exec remove-references-to -t ${stdenv.cc} -t ${gcc} -t ${libgcc} -t ${linuxHeaders} -t ${libidn2} -t ${libunistring} '{}' +
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue