a0cb138ada
GitOrigin-RevId: a100acd7bbf105915b0004427802286c37738fef
61 lines
1.6 KiB
Nix
61 lines
1.6 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchFromGitHub
|
|
, gitUpdater
|
|
, cmake
|
|
, fetchpatch
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "yaml-cpp";
|
|
version = "0.7.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "jbeder";
|
|
repo = "yaml-cpp";
|
|
rev = "yaml-cpp-${version}";
|
|
hash = "sha256-2tFWccifn0c2lU/U1WNg2FHrBohjx8CXMllPJCevaNk=";
|
|
};
|
|
|
|
patches = [
|
|
# https://github.com/jbeder/yaml-cpp/issues/774
|
|
# https://github.com/jbeder/yaml-cpp/pull/1037
|
|
(fetchpatch {
|
|
name = "yaml-cpp-Fix-generated-cmake-config.patch";
|
|
url = "https://github.com/jbeder/yaml-cpp/commit/4f48727b365962e31451cd91027bd797bc7d2ee7.patch";
|
|
hash = "sha256-jarZAh7NgwL3xXzxijDiAQmC/EC2WYfNMkYHEIQBPhM=";
|
|
})
|
|
# TODO: Remove with the next release, when https://github.com/jbeder/yaml-cpp/pull/1058 is available
|
|
(fetchpatch {
|
|
name = "yaml-cpp-Fix-pc-paths-for-absolute-GNUInstallDirs.patch";
|
|
url = "https://github.com/jbeder/yaml-cpp/commit/328d2d85e833be7cb5a0ab246cc3f5d7e16fc67a.patch";
|
|
hash = "sha256-1M2rxfbVOrRH9kiImcwcEolXOP8DeDW9Cbu03+mB5Yk=";
|
|
})
|
|
];
|
|
|
|
strictDeps = true;
|
|
|
|
nativeBuildInputs = [
|
|
cmake
|
|
];
|
|
|
|
cmakeFlags = [
|
|
"-DYAML_CPP_BUILD_TOOLS=false"
|
|
"-DYAML_BUILD_SHARED_LIBS=${lib.boolToString (!stdenv.hostPlatform.isStatic)}"
|
|
"-DINSTALL_GTEST=false"
|
|
];
|
|
|
|
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
|
|
|
|
passthru.updateScript = gitUpdater {
|
|
rev-prefix = "yaml-cpp-";
|
|
};
|
|
|
|
meta = with lib; {
|
|
description = "A YAML parser and emitter for C++";
|
|
homepage = "https://github.com/jbeder/yaml-cpp";
|
|
license = licenses.mit;
|
|
platforms = platforms.all;
|
|
maintainers = with maintainers; [ OPNA2608 ];
|
|
};
|
|
}
|