Unverified Commit dd357184 authored by Gaétan Lepage's avatar Gaétan Lepage Committed by GitHub
Browse files

garble: fix build (#345252)

parents 878e1e73 a5b0e063
Loading
Loading
Loading
Loading
+38 −0
Original line number Diff line number Diff line
From e46a41faac008ede4acbeb18db5b3076eb206de5 Mon Sep 17 00:00:00 2001
From: wxt <3264117476@qq.com>
Date: Sun, 3 Nov 2024 15:11:49 +0800
Subject: [PATCH] Add version info

---
 main.go                    | 1 +
 testdata/script/help.txtar | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/main.go b/main.go
index 0de5a2f..1c830b1 100644
--- a/main.go
+++ b/main.go
@@ -362,6 +362,7 @@ func mainErr(args []string) error {
 		// manually construct something like a pseudo-version.
 		// TODO: remove when this code is dead, hopefully in Go 1.22.
 		if mod.Version == "(devel)" {
+			mod.Version = "@version@"
 			var vcsTime time.Time
 			var vcsRevision string
 			for _, setting := range info.Settings {
diff --git a/testdata/script/help.txtar b/testdata/script/help.txtar
index 8f25260..859f492 100644
--- a/testdata/script/help.txtar
+++ b/testdata/script/help.txtar
@@ -91,7 +91,7 @@ stderr 'directory not found'
 # and to be able to use static VCS info, use an environment variable.
 # First, test without the information, and then with it.
 exec garble version
-stdout -count=1 'mvdan.cc/garble \(devel\)'
+stdout -count=1 'mvdan.cc/garble @version@'
 stdout -count=1 'Build settings'
 stdout -count=3 '-compiler|GOOS|GOARCH'
 ! stdout 'vcs'
-- 
2.46.1
+77 −0
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  buildGoModule,
  fetchFromGitHub,
  diffoscope,
  git,
  versionCheckHook,
  replaceVars,
  nix-update-script,
}:

buildGoModule rec {
  pname = "garble";
  version = "0.13.0";

  src = fetchFromGitHub {
    owner = "burrowers";
    repo = "garble";
    rev = "refs/tags/v${version}";
    hash = "sha256-FtI5lAeqjRPN47iC46bcEsRLQb7mItw4svsnLkRpNxY=";
  };

  __darwinAllowLocalNetworking = true;

  ldflags = [
    "-buildid=00000000000000000000" # length=20
  ];

  patches = [
    (replaceVars ./0001-Add-version-info.patch {
      inherit version;
    })
  ];

  checkFlags = [
    "-skip"
    "TestScript/gogarble"
  ];

  vendorHash = "sha256-mSdajYiMEg2ik0ocfmHK+XddEss1qLu6rDwzjocaaW0=";

  # Used for some of the tests.
  nativeCheckInputs = [
    diffoscope
    git
    versionCheckHook
  ];

  preCheck = ''
    export HOME=$(mktemp -d)
    export WORK=$(mktemp -d)
  '';

  # Several tests fail with
  # FAIL: testdata/script/goenv.txtar:27: "$WORK/.temp 'quotes' and spaces" matches "garble|importcfg|cache\\.gob|\\.go"
  doCheck = !stdenv.hostPlatform.isDarwin;

  nativeInstallCheckInputs = [
    versionCheckHook
  ];
  versionCheckProgramArg = [ "version" ];
  doInstallCheck = false;

  passthru.updateScript = nix-update-script { };

  meta = {
    description = "Obfuscate Go code by wrapping the Go toolchain";
    homepage = "https://github.com/burrowers/garble/";
    maintainers = with lib.maintainers; [
      davhau
      bot-wxt1221
    ];
    license = lib.licenses.bsd3;
    mainProgram = "garble";
  };
}
+0 −35
Original line number Diff line number Diff line
{ stdenv
, buildGoModule
, fetchFromGitHub
, lib
, git
}:
buildGoModule rec {
  pname = "garble";
  version = "0.8.0";

  src = fetchFromGitHub {
    owner = "burrowers";
    repo = pname;
    rev = "v${version}";
    sha256 = "sha256-f7coWG1CS4UL8GGqwADx5CvIk2sPONPlWW+JgRhFsb8=";
  };

  vendorHash = "sha256-SOdIlu0QrQokl9j9Ff594+1K6twU1mCuECFQaVKaPV4=";

  # Used for some of the tests.
  nativeCheckInputs = [git];

  preBuild = lib.optionalString (!stdenv.hostPlatform.isx86_64) ''
    # The test assumex amd64 assembly
    rm testdata/script/asm.txtar
  '';

  meta = {
    description = "Obfuscate Go code by wrapping the Go toolchain";
    homepage = "https://github.com/burrowers/garble/";
    maintainers = with lib.maintainers; [ davhau ];
    license = lib.licenses.bsd3;
    broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/garble.x86_64-darwin
  };
}
+0 −2
Original line number Diff line number Diff line
@@ -19440,8 +19440,6 @@ with pkgs;
  ganv = callPackage ../development/libraries/ganv { };
  garble = callPackage ../development/tools/garble { };
  gcab = callPackage ../development/libraries/gcab { };
  gcovr = with python3Packages; toPythonApplication gcovr;