nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildGoModule,
4 fetchFromGitHub,
5 installShellFiles,
6 makeWrapper,
7 gnupg,
8 bzip2,
9 xz,
10 graphviz,
11 testers,
12 aptly,
13}:
14
15buildGoModule (finalAttrs: {
16 pname = "aptly";
17 version = "1.6.2";
18
19 src = fetchFromGitHub {
20 owner = "aptly-dev";
21 repo = "aptly";
22 tag = "v${finalAttrs.version}";
23 hash = "sha256-Jkljg05C4GJ4F9l6mKAU4JCH8I0/bjzfb74X714z4UI=";
24 };
25
26 vendorHash = "sha256-3pFVAVvIpJut2YYxvnCQbBpdwwmUbZIyrx0WoQrU+nQ=";
27
28 nativeBuildInputs = [
29 installShellFiles
30 makeWrapper
31 ];
32
33 ldflags = [
34 "-s"
35 "-w"
36 ];
37
38 preBuild = ''
39 echo ${finalAttrs.version} > VERSION
40 '';
41
42 postInstall = ''
43 installShellCompletion --bash --name aptly completion.d/aptly
44 installShellCompletion --zsh --name _aptly completion.d/_aptly
45 wrapProgram $out/bin/aptly \
46 --prefix PATH : ${
47 lib.makeBinPath [
48 gnupg
49 bzip2
50 xz
51 graphviz
52 ]
53 }
54 '';
55
56 doCheck = false;
57
58 passthru.tests.version = testers.testVersion {
59 package = aptly;
60 command = "aptly version";
61 };
62
63 meta = {
64 homepage = "https://www.aptly.info";
65 description = "Debian repository management tool";
66 license = lib.licenses.mit;
67 changelog = "https://github.com/aptly-dev/aptly/releases/tag/v${finalAttrs.version}";
68 maintainers = with lib.maintainers; [
69 cdepillabout
70 montag451
71 wraithm
72 ];
73 mainProgram = "aptly";
74 };
75})