flatbuffers: 1.12.0 -> 2.0.0

This commit is contained in:
Phillip Cloud 2021-06-04 09:37:37 -04:00
parent 77f3a9a3aa
commit 5bbe011478
5 changed files with 81 additions and 56 deletions

View file

@ -0,0 +1,26 @@
{ callPackage, fetchpatch, lib, stdenv }:
callPackage ./generic.nix {
version = "1.12.0";
sha256 = "0f7xd66vc1lzjbn7jzd5kyqrgxpsfxi4zc7iymhb5xrwyxipjl1g";
patches = [
(fetchpatch {
# Fixed a compilation error with GCC 10.0 to 11.0. June 1, 2020.
# Should be included in the next release after 1.12.0
url = "https://github.com/google/flatbuffers/commit/988164f6e1675bbea9c852e2d6001baf4d1fcf59.patch";
sha256 = "0d8c2bywqmkhdi0a41cry85wy4j58pl0vd6h5xpfqm3fr8w0mi9s";
excludes = [ "src/idl_gen_cpp.cpp" ];
})
(fetchpatch {
# Fixed a compilation error with GCC 10.0 to 11.0. July 6, 2020.
# Should be included in the next release after 1.12.0
url = "https://github.com/google/flatbuffers/pull/6020/commits/44c7a4cf439b0a298720b5a448bcc243a882b0c9.patch";
sha256 = "126xwkvnlc4ignjhxv9jygfd9j6kr1jx39hyk0ddpcmvzfqsccf4";
})
];
preConfigure = lib.optional stdenv.buildPlatform.isDarwin ''
rm BUILD
'';
}

View file

@ -0,0 +1,6 @@
{ callPackage }:
callPackage ./generic.nix {
version = "2.0.0";
sha256 = "1zbf6bdpps8369r1ql00irxrp58jnalycc8jcapb8iqg654vlfz8";
}

View file

@ -1,55 +0,0 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake }:
stdenv.mkDerivation rec {
pname = "flatbuffers";
version = "1.12.0";
src = fetchFromGitHub {
owner = "google";
repo = "flatbuffers";
rev = "v${version}";
sha256 = "0f7xd66vc1lzjbn7jzd5kyqrgxpsfxi4zc7iymhb5xrwyxipjl1g";
};
patches = [
(fetchpatch {
# Fixed a compilation error with GCC 10.0 to 11.0. June 1, 2020.
# Should be included in the next release after 1.12.0
url = "https://github.com/google/flatbuffers/commit/988164f6e1675bbea9c852e2d6001baf4d1fcf59.patch";
sha256 = "0d8c2bywqmkhdi0a41cry85wy4j58pl0vd6h5xpfqm3fr8w0mi9s";
excludes = [ "src/idl_gen_cpp.cpp" ];
})
(fetchpatch {
# Fixed a compilation error with GCC 10.0 to 11.0. July 6, 2020.
# Should be included in the next release after 1.12.0
url = "https://github.com/google/flatbuffers/pull/6020/commits/44c7a4cf439b0a298720b5a448bcc243a882b0c9.patch";
sha256 = "126xwkvnlc4ignjhxv9jygfd9j6kr1jx39hyk0ddpcmvzfqsccf4";
})
];
preConfigure = lib.optional stdenv.buildPlatform.isDarwin ''
rm BUILD
'';
nativeBuildInputs = [ cmake ];
cmakeFlags = [ "-DFLATBUFFERS_BUILD_TESTS=${if doCheck then "ON" else "OFF"}" ];
# tests fail to compile
doCheck = false;
# doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
checkTarget = "test";
meta = with lib; {
description = "Memory Efficient Serialization Library";
longDescription = ''
FlatBuffers is an efficient cross platform serialization library for
games and other memory constrained apps. It allows you to directly
access serialized data without unpacking/parsing it first, while still
having great forwards/backwards compatibility.
'';
maintainers = [ maintainers.teh ];
license = licenses.asl20;
platforms = platforms.unix;
homepage = "https://google.github.io/flatbuffers/";
};
}

View file

@ -0,0 +1,46 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, version
, sha256
, patches ? [ ]
, preConfigure ? null
}:
stdenv.mkDerivation rec {
pname = "flatbuffers";
inherit version;
src = fetchFromGitHub {
owner = "google";
repo = "flatbuffers";
rev = "v${version}";
inherit sha256;
};
inherit patches preConfigure;
nativeBuildInputs = [ cmake ];
cmakeFlags = [
"-DFLATBUFFERS_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
];
doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
checkTarget = "test";
meta = with lib; {
description = "Memory Efficient Serialization Library";
longDescription = ''
FlatBuffers is an efficient cross platform serialization library for
games and other memory constrained apps. It allows you to directly
access serialized data without unpacking/parsing it first, while still
having great forwards/backwards compatibility.
'';
maintainers = [ maintainers.teh ];
license = licenses.asl20;
platforms = platforms.unix;
homepage = "https://google.github.io/flatbuffers/";
};
}

View file

@ -17614,7 +17614,9 @@ in
protozero = callPackage ../development/libraries/protozero { };
flatbuffers = callPackage ../development/libraries/flatbuffers { };
flatbuffers = flatbuffers_2_0;
flatbuffers_2_0 = callPackage ../development/libraries/flatbuffers/2.0.nix { };
flatbuffers_1_12 = callPackage ../development/libraries/flatbuffers/1.12.nix { };
nanopb = callPackage ../development/libraries/nanopb { };