summaryrefslogtreecommitdiff
path: root/nix
diff options
context:
space:
mode:
Diffstat (limited to 'nix')
-rw-r--r--nix/package.nix56
-rw-r--r--nix/static.nix22
2 files changed, 48 insertions, 30 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";
};
}
diff --git a/nix/static.nix b/nix/static.nix
index 8def285..5c7f528 100644
--- a/nix/static.nix
+++ b/nix/static.nix
@@ -1,4 +1,9 @@
-{ pkgsCross }:
+{
+ pkgsCross,
+ nix-filter,
+ self,
+}:
+
let
crossPkgsFor = with pkgsCross; {
x86_64 = musl64.pkgsStatic;
@@ -6,11 +11,16 @@ let
};
in
{ arch }:
+
let
crossPkgs = crossPkgsFor.${arch};
in
-(crossPkgs.callPackage ./package.nix { optimizeSize = true; }).overrideAttrs (old: {
- passthru = old.passthru or { } // {
- inherit crossPkgs;
- };
-})
+(crossPkgs.callPackage ./package.nix {
+ inherit nix-filter self;
+ optimizeSize = true;
+}).overrideAttrs
+ (old: {
+ passthru = old.passthru or { } // {
+ inherit crossPkgs;
+ };
+ })