From 3d07413690c551d9f034c93af85ae8da5a495e14 Mon Sep 17 00:00:00 2001 From: seth Date: Sat, 20 Apr 2024 02:31:40 +0000 Subject: spring cleaning (#165) * treewide: lightly refactor everything * once_cell -> std::sync * remove build.rs we can get our target at runtime * commands::copypasta: refactor selection * drop owo_colors * reactboard: always remove author from count * commands: better handle behavior outside of guilds * ci: garnix -> gha * nix: drop flake-parts & pre-commit-hooks * nix: fix rust flags in derivation * add gha badge to readme * ci: fail when format changes are made * ci: only run on push to main * nix: fix nil script * nix: add libiconv to darwin deps * ci: disable fail-fast * nix: fix actionlint & static checks * ci: add release gates * nix: fix nil check again * ci: give release gates unique names * ci: only build static packages in docker workflow * nix: move dev outputs to subflake * fix some typos * nix: cleanup checks & dev shell * add editorconfig --- nix/derivation.nix | 43 ++++++++++++++++++++----------------------- 1 file changed, 20 insertions(+), 23 deletions(-) (limited to 'nix/derivation.nix') diff --git a/nix/derivation.nix b/nix/derivation.nix index bb60706..fa4867a 100644 --- a/nix/derivation.nix +++ b/nix/derivation.nix @@ -4,7 +4,7 @@ rustPlatform, darwin, self, - lto ? false, + lto ? true, optimizeSize ? false, }: rustPlatform.buildRustPackage { @@ -21,7 +21,6 @@ rustPlatform.buildRustPackage { ../src ../Cargo.toml ../Cargo.lock - ../build.rs ]; }; @@ -33,30 +32,28 @@ rustPlatform.buildRustPackage { CoreFoundation Security SystemConfiguration + darwin.libiconv ]); - env = { - GIT_SHA = self.shortRev or self.dirtyShortRev or "unknown-dirty"; - CARGO_BUILD_RUSTFLAGS = lib.concatStringsSep " " ( - lib.optionals lto [ - "-C" - "lto=thin" - "-C" - "embed-bitcode=yes" - "-Zdylib-lto" - ] - ++ lib.optionals optimizeSize [ - "-C" - "codegen-units=1" - "-C" - "panic=abort" - "-C" - "strip=symbols" - "-C" - "opt-level=z" - ] + env = let + toRustFlags = lib.mapAttrs' ( + name: + lib.nameValuePair + "CARGO_BUILD_RELEASE_${lib.toUpper (builtins.replaceStrings ["-"] ["_"] name)}" ); - }; + in + { + GIT_SHA = self.shortRev or self.dirtyShortRev or "unknown-dirty"; + } + // lib.optionalAttrs lto (toRustFlags { + lto = "thin"; + }) + // lib.optionalAttrs optimizeSize (toRustFlags { + codegen-units = 1; + opt-level = "s"; + panic = "abort"; + strip = "symbols"; + }); meta = with lib; { mainProgram = "teawiebot"; -- cgit v1.2.3