snappy: restore of RTTI patch

This is required for *Ceph* to compile, as the comment states, and was accidentally removed.
A similar patch is also present for *leveldb* for instance.
Also bumps the patch to the appropriate version.

partial revert of 5240499fb6

Signed-off-by: benaryorg <binary@benary.org>
This commit is contained in:
benaryorg
2025-07-27 23:24:26 +00:00
parent 9669aafdfd
commit 4e6b9a1d40
+17
View File
@@ -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 = [