From b643a6a235b0c1c9902b97421f24eff2b0d0a5ac Mon Sep 17 00:00:00 2001 From: seth Date: Fri, 9 Aug 2024 23:35:41 -0400 Subject: tree-wide: end of summer cleanup (#214) * api: refactor & rename module to http * client: split from main.rs * tree-wide: use eyre::Report as error * nix: alejandra -> nixfmt * nix: start using treefmt-nix * nix: simplify flake * nix: refactor derivation & docker image * nix: remove overlay * ci: update & cleanup workflows * commands: assign all commands automatically * commands/copypasta: remove * http/teawie: update response struct for upstream rust rewrite * handlers: rename modules to events; flatten * crates: rename self to teawie-bot * nix: fenix -> rust-overlay i want a specific rust version grrrrrrr * ci: pin rust to 1.79 this is what our nix dev shell uses and what we can compile on. it seems the time crate doesn't like v1.80 of the compiler :( * ci: always run release gates * nix: fix static toolchain * nix: rust-overlay -> nixpkgs * ci: adopt actions-rust-lang actions * nix: use docker arch names for containers * crates/time: 0.3.30 -> 0.3.36 fixes building on rust 1.80.0 --- nix/derivation.nix | 67 +++++++++++++++++++++++++++++------------------------- 1 file changed, 36 insertions(+), 31 deletions(-) (limited to 'nix/derivation.nix') diff --git a/nix/derivation.nix b/nix/derivation.nix index 6a25976..955f601 100644 --- a/nix/derivation.nix +++ b/nix/derivation.nix @@ -3,46 +3,51 @@ stdenv, rustPlatform, darwin, - self ? {inherit ((lib.importTOML ../Cargo.toml).package) version;}, + self ? { }, lto ? true, optimizeSize ? false, }: +let + fs = lib.fileset; +in rustPlatform.buildRustPackage { - pname = "teawiebot"; - version = - (lib.importTOML ../Cargo.toml).package.version - + "-" - + self.shortRev or self.dirtyShortRev or self.version or "unknown"; + pname = "teawie-bot"; + version = (lib.importTOML ../Cargo.toml).package.version or "unknown"; - __structuredAttrs = true; - - src = lib.fileset.toSource { + src = fs.toSource { root = ../.; - fileset = lib.fileset.unions [ - ../src - ../Cargo.toml - ../Cargo.lock - ]; + fileset = fs.intersection (fs.gitTracked ../.) ( + lib.fileset.unions [ + ../src + ../Cargo.toml + ../Cargo.lock + ] + ); }; cargoLock = { lockFile = ../Cargo.lock; }; - buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ - CoreFoundation - Security - SystemConfiguration - darwin.libiconv - ]); + buildInputs = lib.optionals stdenv.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + CoreFoundation + Security + SystemConfiguration + darwin.libiconv + ] + ); - env = let - toRustFlags = lib.mapAttrs' ( - name: - lib.nameValuePair - "CARGO_BUILD_RELEASE_${lib.toUpper (builtins.replaceStrings ["-"] ["_"] name)}" - ); - in + 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"; } @@ -56,11 +61,11 @@ rustPlatform.buildRustPackage { strip = "symbols"; }); - meta = with lib; { - mainProgram = "teawiebot"; + meta = { description = "funni bot"; homepage = "https://github.com/getchoo/teawiebot"; - license = licenses.mit; - maintainers = with maintainers; [getchoo]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ getchoo ]; + mainProgram = "teawie-bot"; }; } -- cgit v1.2.3