summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEd Schouten <ed@FreeBSD.org>2017-09-10 19:36:17 +0000
committerEd Schouten <ed@FreeBSD.org>2017-09-10 19:36:17 +0000
commit48a2275e51ed97fdbac317354d6e7739bcc8b057 (patch)
treee77aea3334d07a552b5792ac2688d64df51ea6c1
parent- Update to 3.1.4. (diff)
Make yaml-cpp usable on HEAD for software that wants C++17.
yaml-cpp uses auto_ptr in a small number of places. This is problematic, as libc++ 5.0.0 (used on HEAD) has auto_ptr disabled when building for C++17. This causes the build for cloudabi-utils to fail on HEAD. Instead of removing all of the use of auto_ptr from yaml-cpp, this commit only changes public header files to make use of unique_ptr. As I also ran into this issue for CloudABI, here's a bug report I filed upstream a couple of weeks ago: https://github.com/jbeder/yaml-cpp/issues/523 Reported by: pkg-fallout :-C Reviewed by: madpilot, mat Differential Revision: https://reviews.freebsd.org/D12285
Notes
Notes: svn path=/head/; revision=449589
-rw-r--r--devel/yaml-cpp/Makefile2
-rw-r--r--devel/yaml-cpp/files/patch-include_yaml-cpp_emitter.h11
-rw-r--r--devel/yaml-cpp/files/patch-include_yaml-cpp_parser.h13
3 files changed, 25 insertions, 1 deletions
diff --git a/devel/yaml-cpp/Makefile b/devel/yaml-cpp/Makefile
index b56b943ee40f..74e8dc945b51 100644
--- a/devel/yaml-cpp/Makefile
+++ b/devel/yaml-cpp/Makefile
@@ -4,7 +4,7 @@
PORTNAME= yaml-cpp
PORTVERSION= 0.5.3
DISTVERSIONPREFIX= release-
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= devel
MAINTAINER= madpilot@FreeBSD.org
diff --git a/devel/yaml-cpp/files/patch-include_yaml-cpp_emitter.h b/devel/yaml-cpp/files/patch-include_yaml-cpp_emitter.h
new file mode 100644
index 000000000000..2e7e09a71521
--- /dev/null
+++ b/devel/yaml-cpp/files/patch-include_yaml-cpp_emitter.h
@@ -0,0 +1,11 @@
+--- include/yaml-cpp/emitter.h.orig 2016-01-10 18:11:40 UTC
++++ include/yaml-cpp/emitter.h
+@@ -122,7 +122,7 @@ class YAML_CPP_API Emitter : private non
+ bool CanEmitNewline() const;
+
+ private:
+- std::auto_ptr<EmitterState> m_pState;
++ std::unique_ptr<EmitterState> m_pState;
+ ostream_wrapper m_stream;
+ };
+
diff --git a/devel/yaml-cpp/files/patch-include_yaml-cpp_parser.h b/devel/yaml-cpp/files/patch-include_yaml-cpp_parser.h
new file mode 100644
index 000000000000..dd5ebd96e8aa
--- /dev/null
+++ b/devel/yaml-cpp/files/patch-include_yaml-cpp_parser.h
@@ -0,0 +1,13 @@
+--- include/yaml-cpp/parser.h.orig 2016-01-10 18:11:40 UTC
++++ include/yaml-cpp/parser.h
+@@ -40,8 +40,8 @@ class YAML_CPP_API Parser : private nonc
+ void HandleTagDirective(const Token& token);
+
+ private:
+- std::auto_ptr<Scanner> m_pScanner;
+- std::auto_ptr<Directives> m_pDirectives;
++ std::unique_ptr<Scanner> m_pScanner;
++ std::unique_ptr<Directives> m_pDirectives;
+ };
+ }
+