diff mbox

[13/16] erlang-jiffy: New package

Message ID 20170530145211.15320-14-johan.oudinet@gmail.com
State Changes Requested
Headers show

Commit Message

Johan Oudinet May 30, 2017, 2:52 p.m. UTC
JSON NIFs for Erlang.
https://github.com/davisp/jiffy

Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
---
 package/Config.in                      |  1 +
 package/erlang-jiffy/Config.in         | 10 ++++++++++
 package/erlang-jiffy/erlang-jiffy.hash |  2 ++
 package/erlang-jiffy/erlang-jiffy.mk   | 12 ++++++++++++
 4 files changed, 25 insertions(+)
 create mode 100644 package/erlang-jiffy/Config.in
 create mode 100644 package/erlang-jiffy/erlang-jiffy.hash
 create mode 100644 package/erlang-jiffy/erlang-jiffy.mk

Comments

Thomas Petazzoni May 30, 2017, 10:07 p.m. UTC | #1
Hello,

On Tue, 30 May 2017 16:52:08 +0200, Johan Oudinet wrote:
> JSON NIFs for Erlang.
> https://github.com/davisp/jiffy
> 
> Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
> ---
>  package/Config.in                      |  1 +
>  package/erlang-jiffy/Config.in         | 10 ++++++++++
>  package/erlang-jiffy/erlang-jiffy.hash |  2 ++
>  package/erlang-jiffy/erlang-jiffy.mk   | 12 ++++++++++++
>  4 files changed, 25 insertions(+)
>  create mode 100644 package/erlang-jiffy/Config.in
>  create mode 100644 package/erlang-jiffy/erlang-jiffy.hash
>  create mode 100644 package/erlang-jiffy/erlang-jiffy.mk

Missing addition to the DEVELOPERS file. Please fix this in the 3
patches adding the 3 new packages.

> +ERLANG_JIFFY_VERSION = 0.14.8
> +ERLANG_JIFFY_SITE = $(call github,davisp,jiffy,$(ERLANG_JIFFY_VERSION))
> +ERLANG_JIFFY_LICENSE = MIT

There are some parts under BSD-3c, and tests under yet another license.
This should be indicated here.

Also, most other erlang packages have INSTALL_STAGING = YES, but not
this one. Why?

Thanks!

Thomas
Johan Oudinet May 31, 2017, 9:05 a.m. UTC | #2
On Wed, May 31, 2017 at 12:07 AM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Hello,
>
> On Tue, 30 May 2017 16:52:08 +0200, Johan Oudinet wrote:
>> JSON NIFs for Erlang.
>> https://github.com/davisp/jiffy
>>
>> Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
>> ---
>>  package/Config.in                      |  1 +
>>  package/erlang-jiffy/Config.in         | 10 ++++++++++
>>  package/erlang-jiffy/erlang-jiffy.hash |  2 ++
>>  package/erlang-jiffy/erlang-jiffy.mk   | 12 ++++++++++++
>>  4 files changed, 25 insertions(+)
>>  create mode 100644 package/erlang-jiffy/Config.in
>>  create mode 100644 package/erlang-jiffy/erlang-jiffy.hash
>>  create mode 100644 package/erlang-jiffy/erlang-jiffy.mk
>
> Missing addition to the DEVELOPERS file. Please fix this in the 3
> patches adding the 3 new packages.
>
>> +ERLANG_JIFFY_VERSION = 0.14.8
>> +ERLANG_JIFFY_SITE = $(call github,davisp,jiffy,$(ERLANG_JIFFY_VERSION))
>> +ERLANG_JIFFY_LICENSE = MIT
>
> There are some parts under BSD-3c, and tests under yet another license.
> This should be indicated here.

Yep, the licensing of this package is a real mess. I'm not very
competent in this stuff. What should I put in addition to MIT and
BSD-3c?
I didn't understand the "Google double-conversion" reference in the
LICENSE file and the commit that introduces it does not give more
explanations.

>
> Also, most other erlang packages have INSTALL_STAGING = YES, but not
> this one. Why?

That's an error. Thanks for spotting it. I'm not using the features
offered by this package in my ejabberd configuration, that's why I
haven't seen this bug.

Best,
Thomas Petazzoni May 31, 2017, 9:19 a.m. UTC | #3
Hello,

On Wed, 31 May 2017 11:05:03 +0200, Johan Oudinet wrote:

> > Missing addition to the DEVELOPERS file. Please fix this in the 3
> > patches adding the 3 new packages.
> >  
> >> +ERLANG_JIFFY_VERSION = 0.14.8
> >> +ERLANG_JIFFY_SITE = $(call github,davisp,jiffy,$(ERLANG_JIFFY_VERSION))
> >> +ERLANG_JIFFY_LICENSE = MIT  
> >
> > There are some parts under BSD-3c, and tests under yet another license.
> > This should be indicated here.  
> 
> Yep, the licensing of this package is a real mess. I'm not very
> competent in this stuff. What should I put in addition to MIT and
> BSD-3c?
> I didn't understand the "Google double-conversion" reference in the
> LICENSE file and the commit that introduces it does not give more
> explanations.

I guess something like:

ERLANG_JIFFY_LICENSE = MIT (core), BSD-3-Clause (Google double conversion library), BSD-3-Clause (tests)

is good enough.

> That's an error. Thanks for spotting it. I'm not using the features
> offered by this package in my ejabberd configuration, that's why I
> haven't seen this bug.

Wait. Does this means that Jiffy is not a mandatory dependency to build
ejabberd? If that's the case, then ejabberd should not select it.

Thomas
Johan Oudinet May 31, 2017, 11:42 a.m. UTC | #4
On Wed, May 31, 2017 at 11:19 AM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
>
> I guess something like:
>
> ERLANG_JIFFY_LICENSE = MIT (core), BSD-3-Clause (Google double conversion library), BSD-3-Clause (tests)

Ok, thanks.

>
>> That's an error. Thanks for spotting it. I'm not using the features
>> offered by this package in my ejabberd configuration, that's why I
>> haven't seen this bug.
>
> Wait. Does this means that Jiffy is not a mandatory dependency to build
> ejabberd? If that's the case, then ejabberd should not select it.
>

I did compile ejabberd without it. Christophe told me it is needed for
the REST APIs. It is possible to use ejabberd without them (that's
what I do) but if ejabberd crashes without it, I wouldn't call them
optional dependencies. Still, I like your idea in improving ejabberd
packaging in BR to be able to compile a minimal version of ejabberd
and select additional options if needed.
Christophe, what do you think?
diff mbox

Patch

diff --git a/package/Config.in b/package/Config.in
index 7991353f99..2b53add300 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -510,6 +510,7 @@  menu "Interpreter languages and scripting"
 if BR2_PACKAGE_ERLANG
 menu "Erlang libraries/modules"
 	source "package/erlang-goldrush/Config.in"
+	source "package/erlang-jiffy/Config.in"
 	source "package/erlang-lager/Config.in"
 	source "package/erlang-p1-cache-tab/Config.in"
 	source "package/erlang-p1-iconv/Config.in"
diff --git a/package/erlang-jiffy/Config.in b/package/erlang-jiffy/Config.in
new file mode 100644
index 0000000000..d65f42c9fd
--- /dev/null
+++ b/package/erlang-jiffy/Config.in
@@ -0,0 +1,10 @@ 
+comment "erlang-jiffy needs a toolchain w/ C++"
+	depends on !BR2_INSTALL_LIBSTDCPP
+
+config BR2_PACKAGE_ERLANG_JIFFY
+	bool "erlang-jiffy"
+	depends on BR2_INSTALL_LIBSTDCPP
+	help
+	  JSON NIFs for Erlang.
+
+	  https://github.com/davisp/jiffy
diff --git a/package/erlang-jiffy/erlang-jiffy.hash b/package/erlang-jiffy/erlang-jiffy.hash
new file mode 100644
index 0000000000..1f83e2789c
--- /dev/null
+++ b/package/erlang-jiffy/erlang-jiffy.hash
@@ -0,0 +1,2 @@ 
+# Locally computed
+sha256 7d1054c475c82c626de3ad57201a7fc51da38667c8a7502149eb751edc6b601d erlang-jiffy-0.14.8.tar.gz
diff --git a/package/erlang-jiffy/erlang-jiffy.mk b/package/erlang-jiffy/erlang-jiffy.mk
new file mode 100644
index 0000000000..af53ecbe75
--- /dev/null
+++ b/package/erlang-jiffy/erlang-jiffy.mk
@@ -0,0 +1,12 @@ 
+################################################################################
+#
+# erlang-jiffy
+#
+################################################################################
+
+ERLANG_JIFFY_VERSION = 0.14.8
+ERLANG_JIFFY_SITE = $(call github,davisp,jiffy,$(ERLANG_JIFFY_VERSION))
+ERLANG_JIFFY_LICENSE = MIT
+ERLANG_JIFFY_LICENSE_FILES = LICENSE
+
+$(eval $(rebar-package))