forked from mirrors/nixpkgs
f51dc95265
It has not been updated upstream for over two years, and it is starting to become time consuming to maintain.
53 lines
1.4 KiB
Nix
53 lines
1.4 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchFromGitHub
|
|
, fetchpatch
|
|
, cmake
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "flatbuffers";
|
|
version = "2.0.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "google";
|
|
repo = "flatbuffers";
|
|
rev = "v${version}";
|
|
sha256 = "1zbf6bdpps8369r1ql00irxrp58jnalycc8jcapb8iqg654vlfz8";
|
|
};
|
|
|
|
patches = [
|
|
# Pull patch pending upstream inclustion for gcc-12 support:
|
|
# https://github.com/google/flatbuffers/pull/6946
|
|
(fetchpatch {
|
|
name = "gcc-12.patch";
|
|
url = "https://github.com/google/flatbuffers/commit/17d9f0c4cf47a9575b4f43a2ac33eb35ba7f9e3e.patch";
|
|
sha256 = "0sksk47hi7camja9ppnjr88jfdgj0nxqxy8976qs1nx73zkgbpf9";
|
|
})
|
|
];
|
|
|
|
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.
|
|
'';
|
|
homepage = "https://google.github.io/flatbuffers/";
|
|
license = licenses.asl20;
|
|
maintainers = [ maintainers.teh ];
|
|
mainProgram = "flatc";
|
|
platforms = platforms.unix;
|
|
};
|
|
}
|