leveldb: reenable RTTI in build
LevelDB 1.23 forces -fno-rtti in their CMakeLists.txt, which breaks downstream projects (e.g. Ceph). See https://github.com/NixOS/nixpkgs/issues/147801#issuecomment-984627336 for some discussion about this. OpenSUSE, Fedora, and Arch have all re-enabled RTTI in their packaging of LevelDB as a result.
This commit is contained in:
parent
4707331a3f
commit
5d2fefe6e5
1 changed files with 12 additions and 1 deletions
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchFromGitHub, fixDarwinDylibNames, snappy, cmake
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, fixDarwinDylibNames, snappy, cmake
|
||||
, static ? stdenv.hostPlatform.isStatic }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -12,6 +12,17 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "sha256-RL+dfSFZZzWvUobSqiPbuC4nDiGzjIIukbVJZRacHbI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Re-enable RTTI. Needed for e.g. Ceph to compile properly.
|
||||
# See https://github.com/NixOS/nixpkgs/issues/147801,
|
||||
# https://github.com/google/leveldb/issues/731,
|
||||
# https://lists.ceph.io/hyperkitty/list/dev@ceph.io/thread/K4OSAA4AJS2V7FQI6GNCKCK3IRQDBQRS/.
|
||||
(fetchpatch {
|
||||
url = "https://src.fedoraproject.org/rpms/leveldb/raw/e8178670c664e952fdd00f1fc6e3eb28b2c5b6a8/f/0006-revert-no-rtti.patch";
|
||||
sha256 = "sha256-d2YAV8O+1VKu3WwgNsWw6Cxg5sUUR+xOlJtA7pTcigQ=";
|
||||
})
|
||||
];
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
buildInputs = [ snappy ];
|
||||
|
|
Loading…
Reference in a new issue