mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-29 10:23:29 +00:00
b6c05bc367
Currently, catch2 is listed in checkInputs, which means it is not available when cross-compiling. On the other hand, -DSPDLOG_BUILD_TESTS=ON is passed unconditionally, causing the build to fail when cross-compiling. This can be fixed either by moving catch2 to buildInputs or by only building the tests when doCheck is true. This patch implements the former solution, so the tests are always built even if they cannot be run.
68 lines
1.5 KiB
Nix
68 lines
1.5 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchFromGitHub
|
|
, fetchpatch
|
|
, cmake
|
|
, fmt
|
|
, catch2_3
|
|
, staticBuild ? stdenv.hostPlatform.isStatic
|
|
|
|
# tests
|
|
, bear, tiledb
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "spdlog";
|
|
version = "1.12.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "gabime";
|
|
repo = "spdlog";
|
|
rev = "v${version}";
|
|
hash = "sha256-cxTaOuLXHRU8xMz9gluYz0a93O0ez2xOxbloyc1m1ns=";
|
|
};
|
|
|
|
patches = [
|
|
# Fix a broken test, remove with the next release.
|
|
(fetchpatch {
|
|
url = "https://github.com/gabime/spdlog/commit/2ee8bac78e6525a8ad9a9196e65d502ce390d83a.patch";
|
|
hash = "sha256-L79yOkm3VY01jmxNctfneTLmOA5DEQeNNGC8LbpJiOc=";
|
|
})
|
|
];
|
|
|
|
nativeBuildInputs = [ cmake ];
|
|
# Required to build tests, even if they aren't executed
|
|
buildInputs = [ catch2_3 ];
|
|
propagatedBuildInputs = [ fmt ];
|
|
|
|
cmakeFlags = [
|
|
"-DSPDLOG_BUILD_SHARED=${if staticBuild then "OFF" else "ON"}"
|
|
"-DSPDLOG_BUILD_STATIC=${if staticBuild then "ON" else "OFF"}"
|
|
"-DSPDLOG_BUILD_EXAMPLE=OFF"
|
|
"-DSPDLOG_BUILD_BENCH=OFF"
|
|
"-DSPDLOG_BUILD_TESTS=ON"
|
|
"-DSPDLOG_FMT_EXTERNAL=ON"
|
|
];
|
|
|
|
outputs = [ "out" "doc" "dev" ] ;
|
|
|
|
postInstall = ''
|
|
mkdir -p $out/share/doc/spdlog
|
|
cp -rv ../example $out/share/doc/spdlog
|
|
'';
|
|
|
|
doCheck = true;
|
|
|
|
passthru.tests = {
|
|
inherit bear tiledb;
|
|
};
|
|
|
|
meta = with lib; {
|
|
description = "Very fast, header only, C++ logging library";
|
|
homepage = "https://github.com/gabime/spdlog";
|
|
license = licenses.mit;
|
|
maintainers = with maintainers; [ obadz ];
|
|
platforms = platforms.all;
|
|
};
|
|
}
|