summaryrefslogtreecommitdiff
path: root/nix/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nix/package.nix')
-rw-r--r--nix/package.nix56
1 files changed, 32 insertions, 24 deletions
diff --git a/nix/package.nix b/nix/package.nix
index b216242..e1eeaef 100644
--- a/nix/package.nix
+++ b/nix/package.nix
@@ -1,21 +1,26 @@
{
lib,
- rustPlatform,
+ stdenv,
openssl,
pkg-config,
+ rustPlatform,
+
+ self,
+ nix-filter,
lto ? true,
optimizeSize ? false,
}:
+
rustPlatform.buildRustPackage {
pname = "nixpkgs-tracker-bot";
- inherit ((lib.importTOML ../Cargo.toml).workspace.package) version;
+ version = self.shortRev or self.dirtyShortRev or "unknown";
- src = lib.fileset.toSource {
- root = ../.;
- fileset = lib.fileset.unions [
- (lib.fileset.gitTracked ../crates)
- ../Cargo.toml
- ../Cargo.lock
+ src = nix-filter.lib.filter {
+ root = self;
+ include = [
+ "crates"
+ "Cargo.toml"
+ "Cargo.lock"
];
};
@@ -26,28 +31,31 @@ rustPlatform.buildRustPackage {
env =
let
- toRustFlags = lib.mapAttrs' (
- name:
- lib.nameValuePair "CARGO_BUILD_RELEASE_${
- lib.toUpper (builtins.replaceStrings [ "-" ] [ "_" ] name)
- }"
- );
+ rustFlags =
+ lib.optionalAttrs lto {
+ lto = "thin";
+ }
+ // lib.optionalAttrs optimizeSize {
+ codegen-units = 1;
+ opt-level = "s";
+ panic = "abort";
+ strip = "symbols";
+ };
in
- lib.optionalAttrs lto (toRustFlags {
- lto = "thin";
- })
- // lib.optionalAttrs optimizeSize (toRustFlags {
- codegen-units = 1;
- opt-level = "s";
- panic = "abort";
- strip = "symbols";
- });
+ {
+ CARGO_BUILD_RUSTFLAGS = toString (
+ lib.mapAttrsToList (name: value: "-C ${name}=${toString value}") rustFlags
+ );
+ }
+ // lib.optionalAttrs stdenv.hostPlatform.isStatic {
+ OPENSSL_STATIC = 1;
+ };
meta = {
description = "A Discord app for tracking nixpkgs pull requests";
homepage = "https://github.com/getchoo/nixpkgs-tracker-bot";
- mainProgram = "nixpkgs-tracker-bot";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.getchoo ];
+ mainProgram = "nixpkgs-tracker-bot";
};
}