1{ stdenv
2, buildGoModule
3, fetchFromGitHub
4, lib
5, git
6}:
7buildGoModule rec {
8 pname = "garble";
9 version = "0.8.0";
10
11 src = fetchFromGitHub {
12 owner = "burrowers";
13 repo = pname;
14 rev = "v${version}";
15 sha256 = "sha256-f7coWG1CS4UL8GGqwADx5CvIk2sPONPlWW+JgRhFsb8=";
16 };
17
18 vendorHash = "sha256-SOdIlu0QrQokl9j9Ff594+1K6twU1mCuECFQaVKaPV4=";
19
20 # Used for some of the tests.
21 nativeCheckInputs = [git];
22
23 preBuild = lib.optionalString (!stdenv.isx86_64) ''
24 # The test assumex amd64 assembly
25 rm testdata/script/asm.txtar
26 '';
27
28 meta = {
29 description = "Obfuscate Go code by wrapping the Go toolchain";
30 homepage = "https://github.com/burrowers/garble/";
31 maintainers = with lib.maintainers; [ davhau ];
32 license = lib.licenses.bsd3;
33 broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/garble.x86_64-darwin
34 };
35}