add: current version and BuildTime for nix build

This commit is contained in:
oluceps 2022-10-02 18:29:20 +08:00
parent 89d1222b8f
commit ec6144250d
No known key found for this signature in database
GPG Key ID: ECBE55269336CCCD
2 changed files with 45 additions and 15 deletions

View File

@ -2,11 +2,11 @@
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1664638641,
"narHash": "sha256-r2gVLq9DD1A0Igv4AdkmpuuVykXmKVsJTAJinS/ZFrM=",
"lastModified": 1664705630,
"narHash": "sha256-MLi1J9tIZQFj8v9RKmG89HJAE5ja3z4ui4Tf9+wG/bM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "cb81a9ca94e7631bc67788d858e214d56571983a",
"rev": "f71b215225dec75df6266ff7764d54c2e44ef226",
"type": "github"
},
"original": {

View File

@ -9,19 +9,49 @@
utils.lib.eachDefaultSystem
(system:
let
pkgs = nixpkgs.legacyPackages.${system};
pkgs = import nixpkgs {
inherit system;
overlays = [ self.overlay ];
};
in
{
packages = rec{
clash-meta = pkgs.callPackage ./. { };
default = clash-meta;
};
apps = rec {
clash-meta = utils.lib.mkApp { drv = self.packages.${system}.clash-meta; };
default = clash-meta;
};
rec {
packages.default = pkgs.clash-meta;
}
);
) //
(
let version = nixpkgs.lib.substring 0 8 self.lastModifiedDate or self.lastModified or "19700101"; in
{
overlay = final: prev: {
clash-meta = final.buildGoModule {
pname = "clash-meta";
inherit version;
src = ./.;
vendorSha256 = "sha256-Af1RgeB6APxKW9m+rm2mkpYSXwAgFTzRyW0GJe9ML+A=";
# Do not build testing suit
excludedPackages = [ "./test" ];
CGO_ENABLED = 0;
ldflags = [
"-s"
"-w"
"-X github.com/Dreamacro/clash/constant.Version=dev-${version}"
"-X github.com/Dreamacro/clash/constant.BuildTime=${version}"
];
# Network required
doCheck = false;
postInstall = ''
mv $out/bin/clash $out/bin/clash-meta
'';
};
};
}
);
}