inih: add new package
authorTianling Shen <cnsztl@immortalwrt.org>
Mon, 22 May 2023 04:29:27 +0000 (12:29 +0800)
committerRosen Penev <rosenp@gmail.com>
Wed, 24 May 2023 03:03:22 +0000 (06:03 +0300)
It's required by next xfsprogs update.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
libs/inih/Makefile [new file with mode: 0644]

diff --git a/libs/inih/Makefile b/libs/inih/Makefile
new file mode 100644 (file)
index 0000000..c499b22
--- /dev/null
@@ -0,0 +1,75 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=inih
+PKG_VERSION:=r56
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/benhoyt/inih/tar.gz/$(PKG_VERSION)?
+PKG_HASH:=4f2ba6bd122d30281a8c7a4d5723b7af90b56aa828c0e88256d7fceda03a491a
+
+PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
+PKG_LICENSE:=BSD-3-Clause
+PKG_LICENSE_FILES:=LICENSE.txt
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/meson.mk
+
+define Package/libinih/Default
+  SECTION:=libs
+  CATEGORY:=Libraries
+  URL:=https://github.com/benhoyt/inih
+endef
+
+define Package/libinih
+  $(call Package/libinih/Default)
+  TITLE:=Simple .INI file parser in C
+endef
+
+define Package/libinireader
+  $(call Package/libinih/Default)
+  TITLE:=C++ library and API for inih
+  DEPENDS:=+libinih +libstdcpp
+endef
+
+define Package/libinih/description
+  inih (INI Not Invented Here) is a simple .INI file parser written
+  in C. It's only a couple of pages of code, and it was designed to
+  be small and simple, so it's good for embedded systems. It's also
+  more or less compatible with Python's ConfigParser style of .INI
+  files, including RFC 822-style multi-line syntax and name: value
+  entries.
+endef
+
+Package/libinireader/description = $(Package/libinih/description)
+
+MESON_ARGS += \
+       -Ddefault_library=both \
+       -Ddistro_install=true \
+       -Dwith_INIReader=true \
+       -Dmulti-line_entries=true \
+       -Dutf-8_bom=true \
+       -Dinline_comments=true \
+       -Duse_heap=false
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/include
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/{ini,INIReader}.h $(1)/usr/include
+       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/{inih,INIReader}.pc $(1)/usr/lib/pkgconfig
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{inih,INIReader}.a $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{inih,INIReader}.so* $(1)/usr/lib/
+endef
+
+define Package/libinih/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libinih.so* $(1)/usr/lib/
+endef
+
+define Package/libinireader/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libINIReader.so* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,libinih))
+$(eval $(call BuildPackage,libinireader))