garble: fix build (#345252)
This commit is contained in:
commit
dd3571840a
38
pkgs/by-name/ga/garble/0001-Add-version-info.patch
Normal file
38
pkgs/by-name/ga/garble/0001-Add-version-info.patch
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
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
pkgs/by-name/ga/garble/package.nix
Normal file
77
pkgs/by-name/ga/garble/package.nix
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
{
|
||||||
|
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";
|
||||||
|
};
|
||||||
|
}
|
@ -1,35 +0,0 @@
|
|||||||
{ 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
|
|
||||||
};
|
|
||||||
}
|
|
@ -19440,8 +19440,6 @@ with pkgs;
|
|||||||
|
|
||||||
ganv = callPackage ../development/libraries/ganv { };
|
ganv = callPackage ../development/libraries/ganv { };
|
||||||
|
|
||||||
garble = callPackage ../development/tools/garble { };
|
|
||||||
|
|
||||||
gcab = callPackage ../development/libraries/gcab { };
|
gcab = callPackage ../development/libraries/gcab { };
|
||||||
|
|
||||||
gcovr = with python3Packages; toPythonApplication gcovr;
|
gcovr = with python3Packages; toPythonApplication gcovr;
|
||||||
|
Loading…
Reference in New Issue
Block a user