summaryrefslogtreecommitdiff
path: root/nix/derivation.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nix/derivation.nix')
-rw-r--r--nix/derivation.nix67
1 files changed, 36 insertions, 31 deletions
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";
};
}