diff --git a/pkgs/by-name/sn/snappy/package.nix b/pkgs/by-name/sn/snappy/package.nix index 566dddcc4473..40b0eba2f88a 100644 --- a/pkgs/by-name/sn/snappy/package.nix +++ b/pkgs/by-name/sn/snappy/package.nix @@ -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 " 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 = [