diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/yaml-cpp/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/yaml-cpp/default.nix | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/yaml-cpp/default.nix b/nixpkgs/pkgs/development/libraries/yaml-cpp/default.nix new file mode 100644 index 000000000000..c9468b10b99b --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/yaml-cpp/default.nix @@ -0,0 +1,61 @@ +{ 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 ]; + }; +} |