diff options
Diffstat (limited to 'pkgs/development/libraries/protobuf/generic.nix')
-rw-r--r-- | pkgs/development/libraries/protobuf/generic.nix | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/pkgs/development/libraries/protobuf/generic.nix b/pkgs/development/libraries/protobuf/generic.nix deleted file mode 100644 index 7d64df4362608..0000000000000 --- a/pkgs/development/libraries/protobuf/generic.nix +++ /dev/null @@ -1,61 +0,0 @@ -{ lib, stdenv, version, src -, autoreconfHook, zlib, gtest -, ... -}: - -stdenv.mkDerivation { - pname = "protobuf"; - inherit version; - - inherit src; - - postPatch = '' - rm -rf gtest - cp -r ${gtest.src}/googletest gtest - chmod -R a+w gtest - '' + lib.optionalString stdenv.isDarwin '' - substituteInPlace src/google/protobuf/testing/googletest.cc \ - --replace 'tmpnam(b)' '"'$TMPDIR'/foo"' - ''; - - outputs = [ "out" "lib" ]; - - nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ zlib ]; - - # The generated C++ code uses static initializers which mutate a global data - # structure. This causes problems for an executable when: - # - # 1) it dynamically links to two libs, both of which contain generated C++ for - # the same proto file, and - # 2) the two aforementioned libs both dynamically link to libprotobuf. - # - # One solution is to statically link libprotobuf, that way the global - # variables are not shared; in fact, this is necessary for the python Mesos - # binding to not crash, as the python lib contains two C extensions which - # both refer to the same proto schema. - # - # See: https://github.com/NixOS/nixpkgs/pull/19064#issuecomment-255082684 - # https://github.com/google/protobuf/issues/1489 - dontDisableStatic = true; - configureFlags = [ - "CFLAGS=-fPIC" - "CXXFLAGS=-fPIC" - ]; - - doCheck = true; - - meta = { - description = "Protocol Buffers - Google's data interchange format"; - longDescription = - '' Protocol Buffers are a way of encoding structured data in an - efficient yet extensible format. Google uses Protocol Buffers for - almost all of its internal RPC protocols and file formats. - ''; - license = "mBSD"; - homepage = "https://developers.google.com/protocol-buffers/"; - platforms = lib.platforms.unix; - }; - - passthru.version = version; -} |