diff --git a/daemon/contrib/src/yaml-cpp/SHA512SUMS b/daemon/contrib/src/yaml-cpp/SHA512SUMS
new file mode 100644
index 0000000000000000000000000000000000000000..33bd589f3fab45ed8e539d26555d7f1f43b5ff51
--- /dev/null
+++ b/daemon/contrib/src/yaml-cpp/SHA512SUMS
@@ -0,0 +1 @@
+3c6928684d603815c016d663af36be94507f2cccf167d6d8d7cd7dea3ea5f73ec88d62952a2b5d11796e40132857afcbbacd9eafd688f2dc11d0c339caf2e013  yaml-cpp-0.5.1.tar.gz
diff --git a/daemon/contrib/src/yaml-cpp/rules.mak b/daemon/contrib/src/yaml-cpp/rules.mak
new file mode 100644
index 0000000000000000000000000000000000000000..371004efbbd01435f29a09b108046bedd972bc64
--- /dev/null
+++ b/daemon/contrib/src/yaml-cpp/rules.mak
@@ -0,0 +1,30 @@
+# YAML
+YAML_CPP_VERSION := 0.5.1
+YAML_CPP_URL := http://yaml-cpp.googlecode.com/files/yaml-cpp-$(YAML_CPP_VERSION).tar.gz
+
+PKGS += yaml-cpp
+
+ifeq ($(call need_pkg,'yaml-cpp'),)
+PKGS_FOUND += yaml-cpp
+endif
+
+DEPS_yaml-cpp = boost-headers $(DEPS_boost-headers)
+
+YAML_CPP_CMAKECONF := -DBUILD_STATIC:BOOL=ON \
+                      -DBUILD_SHARED:BOOL=OFF \
+                      -DBoost_INCLUDE_DIR=../ \
+                      -DBUILD_SHARED_LIBS:BOOL=OFF
+
+$(TARBALLS)/yaml-cpp-$(YAML_CPP_VERSION).tar.gz:
+	$(call download,$(YAML_CPP_URL))
+
+.sum-yaml-cpp: yaml-cpp-$(YAML_CPP_VERSION).tar.gz
+
+yaml-cpp: yaml-cpp-$(YAML_CPP_VERSION).tar.gz .sum-yaml-cpp
+	$(UNPACK)
+	$(MOVE)
+
+.yaml-cpp: yaml-cpp toolchain.cmake
+	cd $< && $(HOSTVARS) $(CMAKE) . $(YAML_CPP_CMAKECONF)
+	cd $< && $(MAKE) install
+	touch $@