nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 callPackage,
6 zig_0_14,
7 versionCheckHook,
8 gitUpdater,
9 fetchpatch,
10}:
11
12let
13 zig = zig_0_14;
14in
15stdenv.mkDerivation (finalAttrs: {
16 pname = "bold";
17 version = "0.2.0";
18
19 src = fetchFromGitHub {
20 owner = "kubkon";
21 repo = "bold";
22 tag = "v${finalAttrs.version}";
23 hash = "sha256-9qq0RIeplv/Y/6ilr6Nv+DAT8xx3e2SoDugCckxXw+M=";
24 };
25
26 patches = [
27 # Correct version
28 (fetchpatch {
29 url = "https://github.com/kubkon/bold/commit/e8a3245b1f03ea8ba7136d76807400610c068bac.patch";
30 hash = "sha256-UdicLUoH7ApnKxoI91hDcuO/NSINLkxb2h9sA9NShfw=";
31 })
32 ];
33
34 postPatch = ''
35 ln -s ${callPackage ./deps.nix { }} $ZIG_GLOBAL_CACHE_DIR/p
36 '';
37
38 nativeBuildInputs = [
39 zig
40 ];
41
42 doInstallCheck = true;
43 nativeInstallCheckInputs = [ versionCheckHook ];
44 versionCheckProgramArg = "-v";
45
46 passthru = {
47 updateScript = gitUpdater { rev-prefix = "v"; };
48 };
49
50 meta = {
51 description = "Drop-in replacement for Apple system linker ld";
52 homepage = "https://github.com/kubkon/bold";
53 changelog = "https://github.com/kubkon/bold/releases/tag/v${finalAttrs.version}";
54 license = lib.licenses.mit;
55 maintainers = with lib.maintainers; [ DimitarNestorov ];
56 platforms = lib.platforms.darwin;
57 mainProgram = "bold";
58 };
59})