[PATCH] tools: add yaml library

Paul Spooren mail at aparcar.org
Thu Jul 30 04:26:24 EDT 2020


libyaml is used to process YAML files, a popular human readable
configuration format. If available during compilation, the
device-tree-compiler (dtc) will enable YAML as export format.

The exported YAML files can be validated using dt-schema[0].

Once available this can be used within a CI to reduce human resources
spent on reviewing DTS files.

[0]: https://github.com/robherring/dt-schema

Signed-off-by: Paul Spooren <mail at aparcar.org>
---
v3:
* rename to yaml (was libyaml)
* follow Makefile style from packages.git

 tools/Makefile      |  2 +-
 tools/yaml/Makefile | 41 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 42 insertions(+), 1 deletion(-)
 create mode 100644 tools/yaml/Makefile

diff --git a/tools/Makefile b/tools/Makefile
index f038c90ba9..467640fac5 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -26,7 +26,7 @@ tools-y += m4 libtool autoconf autoconf-archive automake flex bison pkgconf mkli
 tools-y += sstrip make-ext4fs e2fsprogs mtd-utils mkimage
 tools-y += firmware-utils patch-image quilt padjffs2
 tools-y += mm-macros missing-macros cmake bc findutils gengetopt patchelf
-tools-y += mtools dosfstools libressl fakeroot
+tools-y += mtools dosfstools libressl yaml
 tools-$(CONFIG_TARGET_orion_generic) += wrt350nv2-builder upslug2
 tools-$(CONFIG_TARGET_x86) += qemu
 tools-$(CONFIG_TARGET_mxs) += elftosb sdimage
diff --git a/tools/yaml/Makefile b/tools/yaml/Makefile
new file mode 100644
index 0000000000..7ae7aa700f
--- /dev/null
+++ b/tools/yaml/Makefile
@@ -0,0 +1,41 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+# Copyright (C) 2020 Paul Spooren <mail at aparcar.org>
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=yaml
+PKG_VERSION:=0.2.5
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://pyyaml.org/download/libyaml/
+PKG_HASH:=c642ae9b75fee120b2d96c712538bd2cf283228d2337df2cf2988e3c02678ef4
+
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=COPYING
+PKG_CPE_ID:=cpe:/a:pyyaml_project:pyyaml
+
+HOST_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/host-build.mk
+
+define Host/Install
+	$(INSTALL_DIR) $(1)/usr/include
+	$(CP) $(HOST_BUILD_DIR)/include/yaml.h $(STAGING_DIR_HOST)/include/
+	$(CP) $(HOST_BUILD_DIR)/src/.libs/libyaml*.{a,so*} $(STAGING_DIR_HOST)/lib/
+	$(CP) $(HOST_BUILD_DIR)/yaml*.pc $(STAGING_DIR_HOST)/lib/pkgconfig/
+endef
+
+define Host/Clean
+	rm -f $(STAGING_DIR_HOST)/include/yaml.h
+	rm -f $(STAGING_DIR_HOST)/lib/libyaml*.{a,so*}
+	rm -f $(STAGING_DIR_HOST)/lib/pkgconfig/yaml*.pc
+	$(call Host/Clean/Default)
+endef
+
+$(eval $(call HostBuild))
-- 
2.25.1




More information about the openwrt-devel mailing list