diff mbox series

[v3,1/3] package/iniparser: new package

Message ID 20231006140511.3840643-2-enki@fsck.pl
State New
Headers show
Series Support for D-Link DNS-320L | expand

Commit Message

enki Oct. 6, 2023, 2:05 p.m. UTC
iniparser is a required dependency of dns320l-daemon

Signed-off-by: Maciej Grela <enki@fsck.pl>
---
 package/Config.in                |  1 +
 package/iniparser/Config.in      |  6 ++++
 package/iniparser/iniparser.hash |  2 ++
 package/iniparser/iniparser.mk   | 56 ++++++++++++++++++++++++++++++++
 4 files changed, 65 insertions(+)
 create mode 100644 package/iniparser/Config.in
 create mode 100644 package/iniparser/iniparser.hash
 create mode 100644 package/iniparser/iniparser.mk

Comments

Giulio Benetti Feb. 5, 2024, 11:41 a.m. UTC | #1
Hi Maciej,

On 06/10/23 16:05, Maciej Grela wrote:
> iniparser is a required dependency of dns320l-daemon

This is a package itself and also a required dependency of 
dns320l-daemon, but you shouldn't specify it here.
Here you have to describe what is iniparser package, for example as
written in project github:
"
Iniparser is a modules that offers parsing of .ini files from C.
"

> Signed-off-by: Maciej Grela <enki@fsck.pl>
> ---
>   package/Config.in                |  1 +
>   package/iniparser/Config.in      |  6 ++++
>   package/iniparser/iniparser.hash |  2 ++
>   package/iniparser/iniparser.mk   | 56 ++++++++++++++++++++++++++++++++
>   4 files changed, 65 insertions(+)
>   create mode 100644 package/iniparser/Config.in
>   create mode 100644 package/iniparser/iniparser.hash
>   create mode 100644 package/iniparser/iniparser.mk
> 
> diff --git a/package/Config.in b/package/Config.in
> index 009f7ba186..228e9eb1e3 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -2085,6 +2085,7 @@ menu "Other"
>   	source "package/gtest/Config.in"
>   	source "package/gumbo-parser/Config.in"
>   	source "package/highway/Config.in"
> +	source "package/iniparser/Config.in"
>   	source "package/jemalloc/Config.in"
>   	source "package/lapack/Config.in"
>   	source "package/libabseil-cpp/Config.in"
> diff --git a/package/iniparser/Config.in b/package/iniparser/Config.in
> new file mode 100644
> index 0000000000..4932869943
> --- /dev/null
> +++ b/package/iniparser/Config.in
> @@ -0,0 +1,6 @@
> +config BR2_PACKAGE_INIPARSER
> +	bool "iniparser"
> +	help
> +	  ini file parser

Here ^^^ you can repeat more or less what I've suggested for commit log

> +
> +	  https://github.com/ndevilla/iniparser
> diff --git a/package/iniparser/iniparser.hash b/package/iniparser/iniparser.hash
> new file mode 100644
> index 0000000000..a745062fcd
> --- /dev/null
> +++ b/package/iniparser/iniparser.hash
> @@ -0,0 +1,2 @@
> +# From https://github.com/ndevilla/iniparser/releases
> +sha256  960daa800dd31d70ba1bacf3ea2d22e8ddfc2906534bf328319495966443f3ae  iniparser-4.1.tar.gz
> diff --git a/package/iniparser/iniparser.mk b/package/iniparser/iniparser.mk
> new file mode 100644
> index 0000000000..f3f74601f3
> --- /dev/null
> +++ b/package/iniparser/iniparser.mk
> @@ -0,0 +1,56 @@
> +################################################################################
> +#
> +# iniparser
> +#
> +################################################################################
> +
> +INIPARSER_VERSION = 4.1
> +INIPARSER_SITE = $(call github,ndevilla,iniparser,v$(INIPARSER_VERSION))
> +INIPARSER_INSTALL_STAGING = YES
> +INIPARSER_LICENSE = MIT
> +INIPARSER_LICENSE_FILES = LICENSE
> +INIPARSER_SO_TARGET = libiniparser.so.1
> +INIPARSER_A_TARGET = libiniparser.a
> +INIPARSER_BUILD_TARGETS =
> +INIPARSER_STAGING_INSTALL_TGTS =
> +INIPARSER_TARGET_INSTALL_TGTS =
> +
> +INIPARSER_CONFIGURE_OPTS = $(TARGET_CONFIGURE_OPTS)
> +
> +ifeq ($(BR2_STATIC_LIBS),y)
> +INIPARSER_BUILD_TARGETS = $(INIPARSER_A_TARGET)
> +INIPARSER_STAGING_INSTALL_TGTS = $(INIPARSER_A_TARGET)
> +INIPARSER_TARGET_INSTALL_TGTS = $(INIPARSER_A_TARGET)
> +else ifeq ($(BR2_SHARED_LIBS),y)
> +INIPARSER_LINK_SO = y
> +
> +INIPARSER_BUILD_TARGETS = $(INIPARSER_SO_TARGET)
> +INIPARSER_STAGING_INSTALL_TGTS = $(INIPARSER_SO_TARGET)
> +
> +INIPARSER_TARGET_INSTALL_TGTS = $(INIPARSER_SO_TARGET)
> +else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
> +INIPARSER_LINK_SO = y
> +
> +INIPARSER_BUILD_TARGETS = $(INIPARSER_A_TARGET) $(INIPARSER_SO_TARGET)
> +INIPARSER_STAGING_INSTALL_TGTS = $(INIPARSER_A_TARGET) $(INIPARSER_SO_TARGET)
> +
> +# Don't install static libs on target
> +INIPARSER_TARGET_INSTALL_TGTS = $(INIPARSER_SO_TARGET)
> +endif
> +
> +define INIPARSER_BUILD_CMDS
> +	$(INIPARSER_CONFIGURE_OPTS) $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(INIPARSER_BUILD_TARGETS)
> +endef
> +
> +define INIPARSER_INSTALL_STAGING_CMDS
> +	$(INSTALL) -D -m 0644 $(@D)/src/iniparser.h $(@D)/src/dictionary.h $(STAGING_DIR)/usr/include/
> +	$(foreach target,$(INIPARSER_STAGING_INSTALL_TGTS),$(INSTALL) -D -m 0755 $(@D)/$(target) $(STAGING_DIR)/usr/lib/)
> +	$(if $(INIPARSER_LINK_SO),ln -s -r $(STAGING_DIR)/usr/lib/$(INIPARSER_SO_TARGET) $(STAGING_DIR)/usr/lib/libiniparser.so)
> +endef
> +
> +define INIPARSER_INSTALL_TARGET_CMDS
> +	$(foreach target,$(INIPARSER_TARGET_INSTALL_TGTS),$(INSTALL) -D -m 0755 $(@D)/$(target) $(TARGET_DIR)/usr/lib/)
> +	$(if $(INIPARSER_LINK_SO),ln -s -r $(TARGET_DIR)/usr/lib/$(INIPARSER_SO_TARGET) $(TARGET_DIR)/usr/lib/libiniparser.so)
> +endef
> +
> +$(eval $(generic-package))
diff mbox series

Patch

diff --git a/package/Config.in b/package/Config.in
index 009f7ba186..228e9eb1e3 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2085,6 +2085,7 @@  menu "Other"
 	source "package/gtest/Config.in"
 	source "package/gumbo-parser/Config.in"
 	source "package/highway/Config.in"
+	source "package/iniparser/Config.in"
 	source "package/jemalloc/Config.in"
 	source "package/lapack/Config.in"
 	source "package/libabseil-cpp/Config.in"
diff --git a/package/iniparser/Config.in b/package/iniparser/Config.in
new file mode 100644
index 0000000000..4932869943
--- /dev/null
+++ b/package/iniparser/Config.in
@@ -0,0 +1,6 @@ 
+config BR2_PACKAGE_INIPARSER
+	bool "iniparser"
+	help
+	  ini file parser
+
+	  https://github.com/ndevilla/iniparser
diff --git a/package/iniparser/iniparser.hash b/package/iniparser/iniparser.hash
new file mode 100644
index 0000000000..a745062fcd
--- /dev/null
+++ b/package/iniparser/iniparser.hash
@@ -0,0 +1,2 @@ 
+# From https://github.com/ndevilla/iniparser/releases
+sha256  960daa800dd31d70ba1bacf3ea2d22e8ddfc2906534bf328319495966443f3ae  iniparser-4.1.tar.gz
diff --git a/package/iniparser/iniparser.mk b/package/iniparser/iniparser.mk
new file mode 100644
index 0000000000..f3f74601f3
--- /dev/null
+++ b/package/iniparser/iniparser.mk
@@ -0,0 +1,56 @@ 
+################################################################################
+#
+# iniparser
+#
+################################################################################
+
+INIPARSER_VERSION = 4.1
+INIPARSER_SITE = $(call github,ndevilla,iniparser,v$(INIPARSER_VERSION))
+INIPARSER_INSTALL_STAGING = YES
+INIPARSER_LICENSE = MIT
+INIPARSER_LICENSE_FILES = LICENSE
+INIPARSER_SO_TARGET = libiniparser.so.1
+INIPARSER_A_TARGET = libiniparser.a
+INIPARSER_BUILD_TARGETS =
+INIPARSER_STAGING_INSTALL_TGTS =
+INIPARSER_TARGET_INSTALL_TGTS =
+
+INIPARSER_CONFIGURE_OPTS = $(TARGET_CONFIGURE_OPTS)
+
+ifeq ($(BR2_STATIC_LIBS),y)
+INIPARSER_BUILD_TARGETS = $(INIPARSER_A_TARGET)
+INIPARSER_STAGING_INSTALL_TGTS = $(INIPARSER_A_TARGET)
+INIPARSER_TARGET_INSTALL_TGTS = $(INIPARSER_A_TARGET)
+else ifeq ($(BR2_SHARED_LIBS),y)
+INIPARSER_LINK_SO = y
+
+INIPARSER_BUILD_TARGETS = $(INIPARSER_SO_TARGET)
+INIPARSER_STAGING_INSTALL_TGTS = $(INIPARSER_SO_TARGET)
+
+INIPARSER_TARGET_INSTALL_TGTS = $(INIPARSER_SO_TARGET)
+else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
+INIPARSER_LINK_SO = y
+
+INIPARSER_BUILD_TARGETS = $(INIPARSER_A_TARGET) $(INIPARSER_SO_TARGET)
+INIPARSER_STAGING_INSTALL_TGTS = $(INIPARSER_A_TARGET) $(INIPARSER_SO_TARGET)
+
+# Don't install static libs on target
+INIPARSER_TARGET_INSTALL_TGTS = $(INIPARSER_SO_TARGET)
+endif
+
+define INIPARSER_BUILD_CMDS
+	$(INIPARSER_CONFIGURE_OPTS) $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(INIPARSER_BUILD_TARGETS)
+endef
+
+define INIPARSER_INSTALL_STAGING_CMDS
+	$(INSTALL) -D -m 0644 $(@D)/src/iniparser.h $(@D)/src/dictionary.h $(STAGING_DIR)/usr/include/
+	$(foreach target,$(INIPARSER_STAGING_INSTALL_TGTS),$(INSTALL) -D -m 0755 $(@D)/$(target) $(STAGING_DIR)/usr/lib/)
+	$(if $(INIPARSER_LINK_SO),ln -s -r $(STAGING_DIR)/usr/lib/$(INIPARSER_SO_TARGET) $(STAGING_DIR)/usr/lib/libiniparser.so)
+endef
+
+define INIPARSER_INSTALL_TARGET_CMDS
+	$(foreach target,$(INIPARSER_TARGET_INSTALL_TGTS),$(INSTALL) -D -m 0755 $(@D)/$(target) $(TARGET_DIR)/usr/lib/)
+	$(if $(INIPARSER_LINK_SO),ln -s -r $(TARGET_DIR)/usr/lib/$(INIPARSER_SO_TARGET) $(TARGET_DIR)/usr/lib/libiniparser.so)
+endef
+
+$(eval $(generic-package))