guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/02: gnu: go-gopkg-in-yaml-v3: Fix build on 32-bit systems.


From: guix-commits
Subject: 01/02: gnu: go-gopkg-in-yaml-v3: Fix build on 32-bit systems.
Date: Fri, 24 Nov 2023 05:58:16 -0500 (EST)

efraim pushed a commit to branch master
in repository guix.

commit d25e9f440b15882af1a45057ff65616162de8201
Author: Efraim Flashner <efraim@flashner.co.il>
AuthorDate: Fri Nov 24 10:32:54 2023 +0200

    gnu: go-gopkg-in-yaml-v3: Fix build on 32-bit systems.
    
    * gnu/packages/golang.scm (go-gopkg-in-yaml-v3)[source]: Add patch.
    * gnu/packages/patches/go-gopkg-in-yaml-v3-32bit.patch: New file.
    * gnu/local.mk (dist_patch_DATA): Register it.
    
    Change-Id: Ia8a96b15d37a3d2f133da9374cac1e58e38f2d2c
---
 gnu/local.mk                                       |  1 +
 gnu/packages/golang.scm                            |  3 +-
 .../patches/go-gopkg-in-yaml-v3-32bit.patch        | 50 ++++++++++++++++++++++
 3 files changed, 53 insertions(+), 1 deletion(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index db9d6b93a4..023cd4b17f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1342,6 +1342,7 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/gobject-introspection-cc-1.72.patch     \
   %D%/packages/patches/gobject-introspection-girepository.patch        \
   %D%/packages/patches/go-fix-script-tests.patch                       \
+  %D%/packages/patches/go-gopkg-in-yaml-v3-32bit.patch         \
   %D%/packages/patches/go-github-com-golang-snappy-32bit-test.patch \
   %D%/packages/patches/go-github-com-urfave-cli-fix-tests.patch \
   %D%/packages/patches/go-github-com-urfave-cli-v2-fix-tests.patch \
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 9c707e5414..2c9aff4a28 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -5577,7 +5577,8 @@ values.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "01b0wjb7yzv8wzzz2iim8mjpkwjnykcanrwiq06pkl89lr6gv8hn"))))
+        (base32 "01b0wjb7yzv8wzzz2iim8mjpkwjnykcanrwiq06pkl89lr6gv8hn"))
+       (patches (search-patches "go-gopkg-in-yaml-v3-32bit.patch"))))
     (build-system go-build-system)
     (arguments
      '(#:import-path "gopkg.in/yaml.v3"))
diff --git a/gnu/packages/patches/go-gopkg-in-yaml-v3-32bit.patch 
b/gnu/packages/patches/go-gopkg-in-yaml-v3-32bit.patch
new file mode 100644
index 0000000000..7a243f5d80
--- /dev/null
+++ b/gnu/packages/patches/go-gopkg-in-yaml-v3-32bit.patch
@@ -0,0 +1,50 @@
+https://sources.debian.org/src/golang-gopkg-yaml.v3/3.0.1-3/debian/patches/0001-Fix-0b-on-32-bit-systems.patch/
+
+From: Shengjing Zhu <zhsj@debian.org>
+Date: Fri, 16 Apr 2021 00:40:09 +0800
+Subject: Fix -0b on 32-bit systems
+
+Origin: backport, https://github.com/go-yaml/yaml/pull/442
+---
+ decode_test.go | 7 ++++---
+ resolve.go     | 2 +-
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/decode_test.go b/decode_test.go
+index 51f5070..9cac74c 100644
+--- a/decode_test.go
++++ b/decode_test.go
+@@ -175,9 +175,6 @@ var unmarshalTests = []struct {
+       }, {
+               "bin: -0b101010",
+               map[string]interface{}{"bin": -42},
+-      }, {
+-              "bin: 
-0b1000000000000000000000000000000000000000000000000000000000000000",
+-              map[string]interface{}{"bin": -9223372036854775808},
+       }, {
+               "decimal: +685_230",
+               map[string]int{"decimal": 685230},
+@@ -357,6 +354,10 @@ var unmarshalTests = []struct {
+               "int64_min: -9223372036854775808",
+               map[string]int64{"int64_min": math.MinInt64},
+       },
++      {
++              "int64_min_base2: 
-0b1000000000000000000000000000000000000000000000000000000000000000",
++              map[string]int64{"int64_min_base2": math.MinInt64},
++      },
+       {
+               "int64_neg_base2: 
-0b111111111111111111111111111111111111111111111111111111111111111",
+               map[string]int64{"int64_neg_base2": -math.MaxInt64},
+diff --git a/resolve.go b/resolve.go
+index 64ae888..1b7d8c3 100644
+--- a/resolve.go
++++ b/resolve.go
+@@ -223,7 +223,7 @@ func resolve(tag string, in string) (rtag string, out 
interface{}) {
+                       } else if strings.HasPrefix(plain, "-0b") {
+                               intv, err := strconv.ParseInt("-"+plain[3:], 2, 
64)
+                               if err == nil {
+-                                      if true || intv == int64(int(intv)) {
++                                      if intv == int64(int(intv)) {
+                                               return intTag, int(intv)
+                                       } else {
+                                               return intTag, intv



reply via email to

[Prev in Thread] Current Thread [Next in Thread]