-
-
Notifications
You must be signed in to change notification settings - Fork 40
Expand file tree
/
Copy pathdefault.nix
More file actions
90 lines (77 loc) · 1.71 KB
/
default.nix
File metadata and controls
90 lines (77 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
{
lib,
rustPlatform,
curl,
installShellFiles,
pkg-config,
bzip2,
libgit2,
openssl,
sqlite,
zlib,
zstd,
nix,
nurl,
get-nix-license,
license-store-cache,
}:
rustPlatform.buildRustPackage rec {
pname = "nix-init";
inherit ((lib.importTOML ./Cargo.toml).workspace.package) version;
src = lib.sourceByRegex ./. [
"(license-store-cache|src)(/.*)?"
"build.rs"
''Cargo\.(toml|lock)''
];
cargoLock = {
lockFile = ./Cargo.lock;
};
nativeBuildInputs = [
curl
installShellFiles
pkg-config
];
buildInputs = [
bzip2
curl
libgit2
openssl
sqlite
zlib
zstd
];
buildNoDefaultFeatures = true;
# lang::rust::tests needs additional cargo dependencies
doCheck = false;
# e2e tests require internet access
checkFlags = [
"--skip=e2e"
];
postPatch = ''
mkdir -p data
ln -s ${get-nix-license} data/get_nix_license.rs
'';
preBuild = ''
ln -s ${license-store-cache} data/license-store-cache.zstd
'';
postInstall = ''
installManPage artifacts/nix-init.1
installShellCompletion artifacts/nix-init.{bash,fish} --zsh artifacts/_nix-init
'';
env = {
GEN_ARTIFACTS = "artifacts";
LIBGIT2_NO_VENDOR = true;
LIBSQLITE3_SYS_USE_PKG_CONFIG = true;
NIX = lib.getExe nix;
NURL = lib.getExe nurl;
ZSTD_SYS_USE_PKG_CONFIG = true;
};
meta = {
description = "Command line tool to generate Nix packages from URLs";
mainProgram = "nix-init";
homepage = "https://github.com/nix-community/nix-init";
changelog = "https://github.com/nix-community/nix-init/blob/${src.rev}/CHANGELOG.md";
license = lib.licenses.mpl20;
maintainers = with lib.maintainers; [ figsoda ];
};
}