Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2] jsmn: new package
@ 2017-01-03 11:01 David Bachelart
  2017-01-28 10:06 ` Thomas Petazzoni
  0 siblings, 1 reply; 2+ messages in thread
From: David Bachelart @ 2017-01-03 11:01 UTC (permalink / raw)
  To: buildroot

Signed-off-by: David Bachelart <david.bachelart@bbright.com>
---
Changes v1 -> v2:
  - Add JSMN_INSTALL_TARGET = NO in mk file (suggested by Lionel Orry)
---
 package/Config.in      |  1 +
 package/jsmn/Config.in |  7 +++++++
 package/jsmn/jsmn.hash |  4 ++++
 package/jsmn/jsmn.mk   | 26 ++++++++++++++++++++++++++
 4 files changed, 38 insertions(+)
 create mode 100644 package/jsmn/Config.in
 create mode 100644 package/jsmn/jsmn.hash
 create mode 100644 package/jsmn/jsmn.mk

diff --git a/package/Config.in b/package/Config.in
index 59fa851..18b23a0 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1107,6 +1107,7 @@ menu "JSON/XML"
 	source "package/expat/Config.in"
 	source "package/ezxml/Config.in"
 	source "package/jansson/Config.in"
+	source "package/jsmn/Config.in"
 	source "package/json-c/Config.in"
 	source "package/json-glib/Config.in"
 	source "package/jsoncpp/Config.in"
diff --git a/package/jsmn/Config.in b/package/jsmn/Config.in
new file mode 100644
index 0000000..23d20f5
--- /dev/null
+++ b/package/jsmn/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_JSMN
+	bool "jsmn"
+	help
+	  jsmn (pronounced like 'jasmine') is a minimalistic JSON parser in C. It can 
+	  be easily integrated into resource-limited or embedded projects.
+
+	  https://github.com/zserge/jsmn/
diff --git a/package/jsmn/jsmn.hash b/package/jsmn/jsmn.hash
new file mode 100644
index 0000000..5cc51c3
--- /dev/null
+++ b/package/jsmn/jsmn.hash
@@ -0,0 +1,4 @@
+# Locally computed
+md5 78e2731c5697a3c35795b6350402e015    jsmn-6021415cc75e7922d45b12935f56348b064d8a7f.tar.gz
+sha1    09b1a3493db6b1a77b03bc835aa9be6345db5269    jsmn-6021415cc75e7922d45b12935f56348b064d8a7f.tar.gz
+sha256  e08993848b2abab62aa9572a560bb6e5ed4762f8537cd67c4de6cb17e17090a0    jsmn-6021415cc75e7922d45b12935f56348b064d8a7f.tar.gz
diff --git a/package/jsmn/jsmn.mk b/package/jsmn/jsmn.mk
new file mode 100644
index 0000000..86cfef4
--- /dev/null
+++ b/package/jsmn/jsmn.mk
@@ -0,0 +1,26 @@
+################################################################################
+#
+# jsmn
+#
+################################################################################
+
+JSMN_VERSION = 6021415cc75e7922d45b12935f56348b064d8a7f
+JSMN_SITE = $(call github,zserge,jsmn,$(JSMN_VERSION))
+JSMN_LICENSE = BSD
+JSMN_LICENSE_FILES = LICENSE
+
+JSMN_INSTALL_STAGING = YES
+JSMN_INSTALL_TARGET = NO
+
+define JSMN_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+		CC="$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS)" \
+		AR="$(TARGET_AR)"
+endef
+
+define JSMN_INSTALL_STAGING_CMDS
+    $(INSTALL) -m 0644 $(@D)/libjsmn.a $(STAGING_DIR)/usr/lib/
+    $(INSTALL) -m 0644 $(@D)/jsmn.h $(STAGING_DIR)/usr/include/
+endef
+
+$(eval $(generic-package))
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [Buildroot] [PATCH v2] jsmn: new package
  2017-01-03 11:01 [Buildroot] [PATCH v2] jsmn: new package David Bachelart
@ 2017-01-28 10:06 ` Thomas Petazzoni
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni @ 2017-01-28 10:06 UTC (permalink / raw)
  To: buildroot

Hello,

Thanks for this contribution! I applied, but after doing a number of
changes. See below.

On Tue,  3 Jan 2017 12:01:44 +0100, David Bachelart wrote:
> diff --git a/package/jsmn/Config.in b/package/jsmn/Config.in
> new file mode 100644
> index 0000000..23d20f5
> --- /dev/null
> +++ b/package/jsmn/Config.in
> @@ -0,0 +1,7 @@
> +config BR2_PACKAGE_JSMN
> +	bool "jsmn"
> +	help
> +	  jsmn (pronounced like 'jasmine') is a minimalistic JSON parser in C. It can 
> +	  be easily integrated into resource-limited or embedded projects.

Those lines were too long, so I rewrapped the Config.in help text.

> diff --git a/package/jsmn/jsmn.hash b/package/jsmn/jsmn.hash
> new file mode 100644
> index 0000000..5cc51c3
> --- /dev/null
> +++ b/package/jsmn/jsmn.hash
> @@ -0,0 +1,4 @@
> +# Locally computed
> +md5 78e2731c5697a3c35795b6350402e015    jsmn-6021415cc75e7922d45b12935f56348b064d8a7f.tar.gz
> +sha1    09b1a3493db6b1a77b03bc835aa9be6345db5269    jsmn-6021415cc75e7922d45b12935f56348b064d8a7f.tar.gz
> +sha256  e08993848b2abab62aa9572a560bb6e5ed4762f8537cd67c4de6cb17e17090a0    jsmn-6021415cc75e7922d45b12935f56348b064d8a7f.tar.gz

Having a sha256 is sufficient, we consider it a sufficiently strong
hash.

> +JSMN_VERSION = 6021415cc75e7922d45b12935f56348b064d8a7f
> +JSMN_SITE = $(call github,zserge,jsmn,$(JSMN_VERSION))
> +JSMN_LICENSE = BSD

This is wrong. First BSD is not a license, you must specify BSD-2c or
BSD-3c. But more importantly, the project is not under a BSD license,
it's under a MIT license.

> +JSMN_LICENSE_FILES = LICENSE
> +
> +JSMN_INSTALL_STAGING = YES
> +JSMN_INSTALL_TARGET = NO
> +
> +define JSMN_BUILD_CMDS
> +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
> +		CC="$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS)" \
> +		AR="$(TARGET_AR)"

Instead of passing CC and AR manually, I've used
$(TARGET_CONFIGURE_OPTS), which is shorter and better.

> +endef
> +
> +define JSMN_INSTALL_STAGING_CMDS
> +    $(INSTALL) -m 0644 $(@D)/libjsmn.a $(STAGING_DIR)/usr/lib/
> +    $(INSTALL) -m 0644 $(@D)/jsmn.h $(STAGING_DIR)/usr/include/

Indentation was wrong: you should use one tab to indent commands. And
the destination paths should be full paths, including the filename.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-01-28 10:06 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-03 11:01 [Buildroot] [PATCH v2] jsmn: new package David Bachelart
2017-01-28 10:06 ` Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox