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": { "nodes": {
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1664638641, "lastModified": 1664705630,
"narHash": "sha256-r2gVLq9DD1A0Igv4AdkmpuuVykXmKVsJTAJinS/ZFrM=", "narHash": "sha256-MLi1J9tIZQFj8v9RKmG89HJAE5ja3z4ui4Tf9+wG/bM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "cb81a9ca94e7631bc67788d858e214d56571983a", "rev": "f71b215225dec75df6266ff7764d54c2e44ef226",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -9,17 +9,47 @@
utils.lib.eachDefaultSystem utils.lib.eachDefaultSystem
(system: (system:
let let
pkgs = nixpkgs.legacyPackages.${system}; pkgs = import nixpkgs {
in inherit system;
{ overlays = [ self.overlay ];
packages = rec{
clash-meta = pkgs.callPackage ./. { };
default = clash-meta;
}; };
in
rec {
packages.default = pkgs.clash-meta;
}
) //
(
let version = nixpkgs.lib.substring 0 8 self.lastModifiedDate or self.lastModified or "19700101"; in
{
overlay = final: prev: {
apps = rec { clash-meta = final.buildGoModule {
clash-meta = utils.lib.mkApp { drv = self.packages.${system}.clash-meta; }; pname = "clash-meta";
default = 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
'';
};
}; };
} }
); );