ceph: arrow 19 compilation fix with protobuf 30; snappy: restore of RTTI patch (#427905)
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
fetchpatch,
|
||||
static ? stdenv.hostPlatform.isStatic,
|
||||
}:
|
||||
|
||||
@@ -19,6 +20,22 @@ stdenv.mkDerivation rec {
|
||||
|
||||
patches = [
|
||||
./revert-PUBLIC.patch
|
||||
# Re-enable RTTI, without which other applications can't subclass snappy::Source
|
||||
# While the patch was rejected upstream, it does not make it any less necessary to carry forward.
|
||||
# ==> lack of RTTI *breaks* Ceph (and others) <==
|
||||
#
|
||||
# https://tracker.ceph.com/issues/53060
|
||||
# https://build.opensuse.org/package/show/openSUSE:Factory/snappy
|
||||
#
|
||||
# Should this patch fail to apply use the above site to get the updated patch (rev in the url below).
|
||||
# On the page there's a "latest revision" section which lists the last request which was merged into it.
|
||||
# Click the "Request <insert number>" link, then view any file using "View file", and copy the rev from your address bar.
|
||||
# For a different revision (in case nixpkgs is behind or something) you can go through the full revision history.
|
||||
# Should the patch not be available for the nixpkgs version, ideally wait until the patch becomes available before bumping, or vendor it if necessary.
|
||||
(fetchpatch {
|
||||
url = "https://build.opensuse.org/public/source/openSUSE:Factory/snappy/reenable-rtti.patch?rev=e3449869b466869fc6b8a03a1a528fa6";
|
||||
hash = "sha256-JhVhkHh7XPx1Bzf5xnOgWLgwh1oihX3O+emQWzE4Dho=";
|
||||
})
|
||||
];
|
||||
|
||||
outputs = [
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
stdenv,
|
||||
lib,
|
||||
fetchurl,
|
||||
fetchpatch2,
|
||||
fetchFromGitHub,
|
||||
fixDarwinDylibNames,
|
||||
autoconf,
|
||||
@@ -42,7 +43,7 @@
|
||||
openssl,
|
||||
perl,
|
||||
pkg-config,
|
||||
protobuf_29,
|
||||
protobuf,
|
||||
python3,
|
||||
rapidjson,
|
||||
re2,
|
||||
@@ -67,9 +68,6 @@
|
||||
}:
|
||||
|
||||
let
|
||||
# https://github.com/apache/arrow/issues/45807
|
||||
protobuf = protobuf_29;
|
||||
|
||||
arrow-testing = fetchFromGitHub {
|
||||
name = "arrow-testing";
|
||||
owner = "apache";
|
||||
@@ -101,6 +99,15 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/cpp";
|
||||
|
||||
patches = [
|
||||
(fetchpatch2 {
|
||||
name = "protobuf-30-compat.patch";
|
||||
url = "https://github.com/apache/arrow/pull/46136.patch";
|
||||
hash = "sha256-WTpe/eT3himlCHN/R78w1sF0HG859mE2ZN70U+9N8Ag=";
|
||||
stripLen = 1;
|
||||
})
|
||||
];
|
||||
|
||||
# versions are all taken from
|
||||
# https://github.com/apache/arrow/blob/apache-arrow-${version}/cpp/thirdparty/versions.txt
|
||||
|
||||
|
||||
Reference in New Issue
Block a user