2021-05-22 14:21:54 +01:00
|
|
|
{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake }:
|
2019-09-07 09:01:06 +01:00
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
pname = "cereal";
|
2020-01-08 18:30:50 +00:00
|
|
|
version = "1.3.0";
|
2019-09-07 09:01:06 +01:00
|
|
|
|
|
|
|
nativeBuildInputs = [ cmake ];
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "USCiLab";
|
|
|
|
repo = "cereal";
|
|
|
|
rev = "v${version}";
|
2020-01-08 18:30:50 +00:00
|
|
|
sha256 = "0hc8wh9dwpc1w1zf5lfss4vg5hmgpblqxbrpp1rggicpx9ar831p";
|
2019-09-07 09:01:06 +01:00
|
|
|
};
|
|
|
|
|
2021-05-22 14:21:54 +01:00
|
|
|
patches = [
|
|
|
|
# https://nvd.nist.gov/vuln/detail/CVE-2020-11105
|
|
|
|
# serialized std::shared_ptr variables cannot always be expected to
|
|
|
|
# serialize back into their original values. This can have any number of
|
|
|
|
# consequences, depending on the context within which this manifests.
|
|
|
|
(fetchpatch {
|
|
|
|
name = "CVE-2020-11105.patch";
|
|
|
|
url = "https://github.com/USCiLab/cereal/commit/f27c12d491955c94583512603bf32c4568f20929.patch";
|
|
|
|
sha256 = "CIkbJ7bAN0MXBhTXQdoQKXUmY60/wQvsdn99FaWt31w=";
|
|
|
|
})
|
|
|
|
];
|
|
|
|
|
|
|
|
cmakeFlags = [ "-DJUST_INSTALL_CEREAL=yes" ];
|
2019-09-07 09:01:06 +01:00
|
|
|
|
2021-01-21 17:00:13 +00:00
|
|
|
meta = with lib; {
|
2019-09-07 09:01:06 +01:00
|
|
|
description = "A header-only C++11 serialization library";
|
2020-04-01 02:11:51 +01:00
|
|
|
homepage = "https://uscilab.github.io/cereal/";
|
2019-09-07 09:01:06 +01:00
|
|
|
platforms = platforms.all;
|
|
|
|
license = licenses.mit;
|
|
|
|
};
|
|
|
|
}
|