diff --git a/pkgs/development/libraries/protobuf/generic-v3-cmake.nix b/pkgs/development/libraries/protobuf/generic-v3-cmake.nix index 207017b5edd5..dfe2a6d7a965 100644 --- a/pkgs/development/libraries/protobuf/generic-v3-cmake.nix +++ b/pkgs/development/libraries/protobuf/generic-v3-cmake.nix @@ -79,7 +79,12 @@ let "-Dprotobuf_ABSL_PROVIDER=package" ] ++ lib.optionals (!stdenv.targetPlatform.isStatic) [ "-Dprotobuf_BUILD_SHARED_LIBS=ON" - ]; + ] + # Tests fail to build on 32-bit platforms; fixed in 3.22 + # https://github.com/protocolbuffers/protobuf/issues/10418 + ++ lib.optional + (stdenv.targetPlatform.is32bit && lib.versionOlder version "3.22") + "-Dprotobuf_BUILD_TESTS=OFF"; # unfortunately the shared libraries have yet to been patched by nix, thus tests will fail doCheck = false; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a7e527e45c50..7b494c671adf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22664,13 +22664,7 @@ with pkgs; prospector = callPackage ../development/tools/prospector { }; - # https://github.com/protocolbuffers/protobuf/issues/10418 - # protobuf versions have to match between build-time and run-time - # Using "targetPlatform" in the check makes sure that the version of - # pkgsCross.armv7l-hf-multiplatform.buildPackages.protobuf matches the - # version of pkgsCross.armv7l-hf-multiplatform.protobuf - protobuf = if stdenv.targetPlatform.is32bit then protobuf3_20 else - protobuf3_21; + protobuf = protobuf3_21; protobuf3_21 = callPackage ../development/libraries/protobuf/3.21.nix { }; protobuf3_20 = callPackage ../development/libraries/protobuf/3.20.nix { };