summary refs log tree commit diff
path: root/gnu/packages/protobuf.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/protobuf.scm')
-rw-r--r--gnu/packages/protobuf.scm27
1 files changed, 23 insertions, 4 deletions
diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm
index bd3b4c959c..f8dff1f229 100644
--- a/gnu/packages/protobuf.scm
+++ b/gnu/packages/protobuf.scm
@@ -84,7 +84,7 @@ data in motion, or as a file format for data at rest.")
 (define-public protobuf
   (package
     (name "protobuf")
-    (version "3.14.0")
+    (version "3.17.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/google/protobuf/releases/"
@@ -92,7 +92,7 @@ data in motion, or as a file format for data at rest.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0nan2wkkwkcx3qyx0cf5vfzjcjhr5qgh4jfx6v2lwpf5q03mmv2h"))))
+                "1jzqrklhj9grs6xbddyb5dyxfbgbgbyhl5zig8ml50wb22gwkkji"))))
     (build-system gnu-build-system)
     (inputs `(("zlib" ,zlib)))
     (outputs (list "out"
@@ -100,6 +100,26 @@ data in motion, or as a file format for data at rest.")
     (arguments
      `(#:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'disable-broken-tests
+           ;; The following tests fail on 32 bit architectures such as
+           ;; i686-linux.
+           (lambda _
+             (let-syntax ((disable-tests
+                           (syntax-rules ()
+                             ((_ file test ...)
+                              (substitute* file
+                                ((test name)
+                                 (string-append "DISABLED_" name)) ...)))))
+               ;; See: https://github.com/protocolbuffers/protobuf/issues/8460.
+               (disable-tests "src/google/protobuf/any_test.cc"
+                              "TestPackFromSerializationExceedsSizeLimit")
+               ;; See: https://github.com/protocolbuffers/protobuf/issues/8459.
+               (disable-tests "src/google/protobuf/arena_unittest.cc"
+                              "SpaceAllocated_and_Used"
+                              "BlockSizeSmallerThanAllocation")
+               ;; See: https://github.com/protocolbuffers/protobuf/issues/8082.
+               (disable-tests "src/google/protobuf/io/zero_copy_stream_unittest.cc"
+                              "LargeOutput"))))
          (add-after 'install 'move-static-libraries
            (lambda* (#:key outputs #:allow-other-keys)
              ;; Move static libraries to the "static" output.
@@ -111,8 +131,7 @@ data in motion, or as a file format for data at rest.")
                (for-each (lambda (file)
                            (install-file file slib)
                            (delete-file file))
-                         (find-files lib "\\.a$"))
-               #t))))))
+                         (find-files lib "\\.a$"))))))))
     (home-page "https://github.com/google/protobuf")
     (synopsis "Data encoding for remote procedure calls (RPCs)")
     (description