486f248ce4
The issue was that `SIGSTKSZ` isn't an actual const anymore and thus can't be used to define sizes of static variables such as static char foo[SIGSTKSZ]; since this results in compiler errors such as error: array bound is not an integer constant before ']' token Fedora worked around this by hard-coding the value in `catch`. Since this is mainly a testing-framework and there's no other fix for v1 - we should eventually remove it entirely in favor of v2 anyways - I guess this is a good-enough fix. Failing Hydra build: https://hydra.nixos.org/build/152455108
41 lines
1.2 KiB
Nix
41 lines
1.2 KiB
Nix
{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "catch";
|
|
version = "1.12.2";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "catchorg";
|
|
repo = "Catch";
|
|
rev = "v${version}";
|
|
sha256 = "1gdp5wm8khn02g2miz381llw3191k7309qj8s3jd6sasj01rhf23";
|
|
};
|
|
|
|
nativeBuildInputs = [ cmake ];
|
|
cmakeFlags = [ "-DUSE_CPP14=ON" ];
|
|
|
|
patches = [
|
|
# https://github.com/catchorg/Catch2/pull/2151
|
|
(fetchpatch {
|
|
url = "https://github.com/catchorg/Catch2/commit/bb6d08323f23a39eb65dd86671e68f4f5d3f2d6c.patch";
|
|
sha256 = "1vhbzx84nrhhf9zlbl6h5zmg3r5w5v833ihlswsysb9wp2i4isc5";
|
|
})
|
|
|
|
# Fix glibc-2.34 build
|
|
(fetchpatch {
|
|
url = "https://src.fedoraproject.org/rpms/catch1/raw/23276476148a657e7a45ade547f858cbf965a33a/f/catch1-sigstksz.patch";
|
|
sha256 = "sha256-XSsI3iDEZCUSbozlYWC0y/LZ7qr/5zwACpn1jHKD0yU=";
|
|
})
|
|
];
|
|
|
|
doCheck = true;
|
|
checkTarget = "test";
|
|
|
|
meta = with lib; {
|
|
description = "A multi-paradigm automated test framework for C++ and Objective-C (and, maybe, C)";
|
|
homepage = "http://catch-lib.net";
|
|
license = licenses.boost;
|
|
maintainers = with maintainers; [ edwtjo knedlsepp ];
|
|
platforms = with platforms; unix;
|
|
};
|
|
}
|