summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--index.html4
-rw-r--r--src/yaml-cpp-1-fixes.patch29
-rw-r--r--src/yaml-cpp-test.cpp8
-rw-r--r--src/yaml-cpp.mk29
4 files changed, 70 insertions, 0 deletions
diff --git a/index.html b/index.html
index 6f9feb4..3c1030a 100644
--- a/index.html
+++ b/index.html
@@ -2742,6 +2742,10 @@ local-pkg-list: $(LOCAL_PKG_LIST)</pre>
<td class="website"><a href="http://tukaani.org/xz/">XZ</a></td>
</tr>
<tr>
+ <td class="package">yaml-cpp</td>
+ <td class="website"><a href="https://github.com/jbeder/yaml-cpp">A YAML parser and emitter for C++</a></td>
+ </tr>
+ <tr>
<td class="package">yasm</td>
<td class="website"><a href="http://yasm.tortall.net//">Yasm</a></td>
</tr>
diff --git a/src/yaml-cpp-1-fixes.patch b/src/yaml-cpp-1-fixes.patch
new file mode 100644
index 0000000..73102ea
--- /dev/null
+++ b/src/yaml-cpp-1-fixes.patch
@@ -0,0 +1,29 @@
+This file is part of MXE.
+See index.html for further information.
+
+Contains ad hoc patches for cross building.
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Boris Nagaev <bnagaev@gmail.com>
+Date: Sat, 16 Jul 2016 00:24:39 +0200
+Subject: [PATCH] generate .pc file on MinGW
+
+Install to lib/pkgconfig, not to bin/pkgconfig.
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1111111..2222222 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -317,10 +317,10 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/yaml-cpp-config.cmake.in
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/yaml-cpp-config-version.cmake.in
+ "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake" @ONLY)
+
+-if(UNIX)
++if(UNIX OR MINGW)
+ set(PC_FILE ${CMAKE_BINARY_DIR}/yaml-cpp.pc)
+ configure_file("yaml-cpp.pc.cmake" ${PC_FILE} @ONLY)
+- install(FILES ${PC_FILE} DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
++ install(FILES ${PC_FILE} DESTINATION lib/pkgconfig)
+ endif()
+
+
diff --git a/src/yaml-cpp-test.cpp b/src/yaml-cpp-test.cpp
new file mode 100644
index 0000000..2b91ba4
--- /dev/null
+++ b/src/yaml-cpp-test.cpp
@@ -0,0 +1,8 @@
+#include <assert.h>
+#include <yaml-cpp/yaml.h>
+
+int main() {
+ YAML::Node node = YAML::Load("[1, 2, 3]");
+ assert(node.IsSequence());
+ return 0;
+}
diff --git a/src/yaml-cpp.mk b/src/yaml-cpp.mk
new file mode 100644
index 0000000..40adc0f
--- /dev/null
+++ b/src/yaml-cpp.mk
@@ -0,0 +1,29 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG := yaml-cpp
+$(PKG)_IGNORE :=
+$(PKG)_VERSION := 0.5.3
+$(PKG)_CHECKSUM := ac50a27a201d16dc69a881b80ad39a7be66c4d755eda1f76c3a68781b922af8f
+$(PKG)_SUBDIR := $(PKG)-release-$($(PKG)_VERSION)
+$(PKG)_FILE := yaml-cpp-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL := https://github.com/jbeder/yaml-cpp/archive/release-$($(PKG)_VERSION).tar.gz
+$(PKG)_DEPS := gcc boost
+
+define $(PKG)_UPDATE
+ $(call MXE_GET_GITHUB_TAGS, jbeder/yaml-cpp, \(yaml-cpp-\|release-\))
+endef
+
+define $(PKG)_BUILD
+ cd '$(BUILD_DIR)' && $(TARGET)-cmake \
+ -DBUILD_SHARED_LIBS=$(CMAKE_SHARED_BOOL) \
+ '$(SOURCE_DIR)'
+
+ $(MAKE) -C '$(BUILD_DIR)' -j $(JOBS) VERBOSE=1
+ $(MAKE) -C '$(BUILD_DIR)' -j 1 install
+
+ '$(TARGET)-g++' \
+ -W -Wall -Werror -ansi -pedantic \
+ '$(TEST_FILE)' -o '$(PREFIX)/$(TARGET)/bin/test-$(PKG).exe' \
+ `'$(TARGET)-pkg-config' $(PKG) --cflags --libs`
+endef