diff mbox series

[v2] package/libdill: new package

Message ID 20220728211259.121416-1-angelo@amarulasolutions.com
State Superseded
Headers show
Series [v2] package/libdill: new package | expand

Commit Message

Angelo Compagnucci July 28, 2022, 9:12 p.m. UTC
Libdill is a C library that makes writing structured concurrent programs
easy.

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
---
Changelog

v1->v2:
* Added comment to autoreconf (Romain)

 DEVELOPERS                   |  1 +
 package/Config.in            |  1 +
 package/libdill/Config.in    |  7 +++++++
 package/libdill/libdill.hash |  3 +++
 package/libdill/libdill.mk   | 26 ++++++++++++++++++++++++++
 5 files changed, 38 insertions(+)
 create mode 100644 package/libdill/Config.in
 create mode 100644 package/libdill/libdill.hash
 create mode 100644 package/libdill/libdill.mk

Comments

Thomas Petazzoni July 29, 2022, 8:47 a.m. UTC | #1
Hello Angelo,

On Thu, 28 Jul 2022 23:12:59 +0200
Angelo Compagnucci <angelo@amarulasolutions.com> wrote:

> Libdill is a C library that makes writing structured concurrent programs
> easy.
> 
> Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>

Looks good. A few comments/questions.


> diff --git a/package/libdill/Config.in b/package/libdill/Config.in
> new file mode 100644
> index 0000000000..0e6757b809
> --- /dev/null
> +++ b/package/libdill/Config.in
> @@ -0,0 +1,7 @@
> +config BR2_PACKAGE_LIBDILL
> +	bool "libdill"

No dependencies at all? Tested with test-pkg?

> diff --git a/package/libdill/libdill.mk b/package/libdill/libdill.mk
> new file mode 100644
> index 0000000000..822f07b939
> --- /dev/null
> +++ b/package/libdill/libdill.mk
> @@ -0,0 +1,26 @@
> +################################################################################
> +#
> +# libdill
> +#
> +################################################################################
> +
> +LIBDILL_VERSION = fa01648cf2a8d06e53c965b45eeacfb3ac57bd04
> +LIBDILL_SITE = $(call github,sustrik,libdill,$(LIBDILL_VERSION))
> +LIBDILL_LICENSE = MIT
> +LIBDILL_LICENSE_FILES = COPYING
> +LIBDILL_CPE_ID_VENDOR = libdill
> +LIBDILL_CPE_ID_PRODUCT = libdill

Could you add a link in the commit log that shows you have verified these?

> +LIBDILL_INSTALL_STAGING = YES
> +# Fetched from Github, with no configure script
> +LIBDILL_AUTORECONF = YES
> +
> +ifneq ($(BR2_TOOLCHAIN_HAS_THREADS),y)

ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),)

> +LIBDILL_CONF_OPTS += --disable-threads
> +endif
> +
> +ifeq ($(BR2_PACKAGE_OPENSSL),y)
> +LIBDILL_DEPENDENCIES = openssl
> +LIBDILL_CONF_OPTS += --enable-tls

No "else" clause to explicitly disable?

> +endif

Thanks!

Thomas
Arnout Vandecappelle July 29, 2022, 7 p.m. UTC | #2
On 29/07/2022 10:47, Thomas Petazzoni via buildroot wrote:
> Hello Angelo,
> 
> On Thu, 28 Jul 2022 23:12:59 +0200
> Angelo Compagnucci <angelo@amarulasolutions.com> wrote:
> 
>> Libdill is a C library that makes writing structured concurrent programs
>> easy.
>>
>> Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
[snip]
>> diff --git a/package/libdill/libdill.mk b/package/libdill/libdill.mk
>> new file mode 100644
>> index 0000000000..822f07b939
>> --- /dev/null
>> +++ b/package/libdill/libdill.mk
>> @@ -0,0 +1,26 @@
>> +################################################################################
>> +#
>> +# libdill
>> +#
>> +################################################################################
>> +
>> +LIBDILL_VERSION = fa01648cf2a8d06e53c965b45eeacfb3ac57bd04
>> +LIBDILL_SITE = $(call github,sustrik,libdill,$(LIBDILL_VERSION))
>> +LIBDILL_LICENSE = MIT
>> +LIBDILL_LICENSE_FILES = COPYING
>> +LIBDILL_CPE_ID_VENDOR = libdill
>> +LIBDILL_CPE_ID_PRODUCT = libdill
> 
> Could you add a link in the commit log that shows you have verified these?

  See for example how Fabrice does it:

cpe:2.3:a:osgeo:gdal is a valid CPE identifier for this package:

 
https://nvd.nist.gov/products/cpe/search/results?namingFormat=2.3&keyword=cpe%3A2.3%3Aa%3Aosgeo%3Agdal


  (We should add this to the manual as well.)


>> +LIBDILL_INSTALL_STAGING = YES
>> +# Fetched from Github, with no configure script
>> +LIBDILL_AUTORECONF = YES
>> +
>> +ifneq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
> 
> ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),)
> 
>> +LIBDILL_CONF_OPTS += --disable-threads

  What kind of concurrent programming can you do without threads?

  Regards,
  Arnout

>> +endif
>> +
>> +ifeq ($(BR2_PACKAGE_OPENSSL),y)
>> +LIBDILL_DEPENDENCIES = openssl
>> +LIBDILL_CONF_OPTS += --enable-tls
> 
> No "else" clause to explicitly disable?
> 
>> +endif
> 
> Thanks!
> 
> Thomas
Angelo Compagnucci July 29, 2022, 10:04 p.m. UTC | #3
On Fri, Jul 29, 2022 at 9:00 PM Arnout Vandecappelle <arnout@mind.be> wrote:

>
>
> On 29/07/2022 10:47, Thomas Petazzoni via buildroot wrote:
> > Hello Angelo,
> >
> > On Thu, 28 Jul 2022 23:12:59 +0200
> > Angelo Compagnucci <angelo@amarulasolutions.com> wrote:
> >
> >> Libdill is a C library that makes writing structured concurrent programs
> >> easy.
> >>
> >> Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
> [snip]
> >> diff --git a/package/libdill/libdill.mk b/package/libdill/libdill.mk
> >> new file mode 100644
> >> index 0000000000..822f07b939
> >> --- /dev/null
> >> +++ b/package/libdill/libdill.mk
> >> @@ -0,0 +1,26 @@
> >>
> +################################################################################
> >> +#
> >> +# libdill
> >> +#
> >>
> +################################################################################
> >> +
> >> +LIBDILL_VERSION = fa01648cf2a8d06e53c965b45eeacfb3ac57bd04
> >> +LIBDILL_SITE = $(call github,sustrik,libdill,$(LIBDILL_VERSION))
> >> +LIBDILL_LICENSE = MIT
> >> +LIBDILL_LICENSE_FILES = COPYING
> >> +LIBDILL_CPE_ID_VENDOR = libdill
> >> +LIBDILL_CPE_ID_PRODUCT = libdill
> >
> > Could you add a link in the commit log that shows you have verified
> these?
>
>   See for example how Fabrice does it:
>
> cpe:2.3:a:osgeo:gdal is a valid CPE identifier for this package:
>
>
>
> https://nvd.nist.gov/products/cpe/search/results?namingFormat=2.3&keyword=cpe%3A2.3%3Aa%3Aosgeo%3Agdal
>
>
>   (We should add this to the manual as well.)
>

Indeed. I did a research and I was unable to find a proper CPE id so I
removed the CPE info from the package.


>
> >> +LIBDILL_INSTALL_STAGING = YES
> >> +# Fetched from Github, with no configure script
> >> +LIBDILL_AUTORECONF = YES
> >> +
> >> +ifneq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
> >
> > ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),)
> >
> >> +LIBDILL_CONF_OPTS += --disable-threads
>
>   What kind of concurrent programming can you do without threads?
>

Async coroutines with cooperative scheduling. Extremely fast indeed!


>
>   Regards,
>   Arnout
>
> >> +endif
> >> +
> >> +ifeq ($(BR2_PACKAGE_OPENSSL),y)
> >> +LIBDILL_DEPENDENCIES = openssl
> >> +LIBDILL_CONF_OPTS += --enable-tls
> >
> > No "else" clause to explicitly disable?
> >
> >> +endif
> >
> > Thanks!
> >
> > Thomas
>
Angelo Compagnucci July 29, 2022, 10:06 p.m. UTC | #4
On Fri, Jul 29, 2022 at 10:47 AM Thomas Petazzoni <
thomas.petazzoni@bootlin.com> wrote:

> Hello Angelo,
>
> On Thu, 28 Jul 2022 23:12:59 +0200
> Angelo Compagnucci <angelo@amarulasolutions.com> wrote:
>
> > Libdill is a C library that makes writing structured concurrent programs
> > easy.
> >
> > Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
>
> Looks good. A few comments/questions.
>
>
> > diff --git a/package/libdill/Config.in b/package/libdill/Config.in
> > new file mode 100644
> > index 0000000000..0e6757b809
> > --- /dev/null
> > +++ b/package/libdill/Config.in
> > @@ -0,0 +1,7 @@
> > +config BR2_PACKAGE_LIBDILL
> > +     bool "libdill"
>
> No dependencies at all? Tested with test-pkg?
>

Yes. tested with

BR2_PACKAGE_OPENSSL=y
BR2_PACKAGE_LIBDILL=y


>
> > diff --git a/package/libdill/libdill.mk b/package/libdill/libdill.mk
> > new file mode 100644
> > index 0000000000..822f07b939
> > --- /dev/null
> > +++ b/package/libdill/libdill.mk
> > @@ -0,0 +1,26 @@
> >
> +################################################################################
> > +#
> > +# libdill
> > +#
> >
> +################################################################################
> > +
> > +LIBDILL_VERSION = fa01648cf2a8d06e53c965b45eeacfb3ac57bd04
> > +LIBDILL_SITE = $(call github,sustrik,libdill,$(LIBDILL_VERSION))
> > +LIBDILL_LICENSE = MIT
> > +LIBDILL_LICENSE_FILES = COPYING
> > +LIBDILL_CPE_ID_VENDOR = libdill
> > +LIBDILL_CPE_ID_PRODUCT = libdill
>
> Could you add a link in the commit log that shows you have verified these?
>

I removed those in V3 because I was unable to find proper CPE id.


>
> > +LIBDILL_INSTALL_STAGING = YES
> > +# Fetched from Github, with no configure script
> > +LIBDILL_AUTORECONF = YES
> > +
> > +ifneq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
>
> ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),)
>
> > +LIBDILL_CONF_OPTS += --disable-threads
> > +endif
> > +
> > +ifeq ($(BR2_PACKAGE_OPENSSL),y)
> > +LIBDILL_DEPENDENCIES = openssl
> > +LIBDILL_CONF_OPTS += --enable-tls
>
> No "else" clause to explicitly disable?
>

Done.


> > +endif
>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com
>
diff mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index cb98c3883d..f32eb6babf 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -164,6 +164,7 @@  F:	package/i2c-tools/
 F:	package/jq/
 F:	package/libapparmor/
 F:	package/libb64/
+F:	package/libdill/
 F:	package/mender/
 F:	package/mender-artifact/
 F:	package/mono/
diff --git a/package/Config.in b/package/Config.in
index 4ff1fb2f3c..fd0598c537 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1999,6 +1999,7 @@  menu "Other"
 	source "package/libcrossguid/Config.in"
 	source "package/libcsv/Config.in"
 	source "package/libdaemon/Config.in"
+	source "package/libdill/Config.in"
 	source "package/libeastl/Config.in"
 	source "package/libee/Config.in"
 	source "package/libev/Config.in"
diff --git a/package/libdill/Config.in b/package/libdill/Config.in
new file mode 100644
index 0000000000..0e6757b809
--- /dev/null
+++ b/package/libdill/Config.in
@@ -0,0 +1,7 @@ 
+config BR2_PACKAGE_LIBDILL
+	bool "libdill"
+	help
+	  Libdill is a C library that makes writing structured concurrent
+	  programs easy.
+
+	  http://libdill.org
diff --git a/package/libdill/libdill.hash b/package/libdill/libdill.hash
new file mode 100644
index 0000000000..4a1fb91a57
--- /dev/null
+++ b/package/libdill/libdill.hash
@@ -0,0 +1,3 @@ 
+# sha256 locally computed
+sha256  6df7527e8f1e91f5106c21c5bfeaa69eee470bec476c74585143e3e439864404  libdill-fa01648cf2a8d06e53c965b45eeacfb3ac57bd04.tar.gz
+sha256  3f78d9c42c8919cb6dc63e51de17b9eb40a49d9cdd876ce59e77392721e8c2c6  COPYING
diff --git a/package/libdill/libdill.mk b/package/libdill/libdill.mk
new file mode 100644
index 0000000000..822f07b939
--- /dev/null
+++ b/package/libdill/libdill.mk
@@ -0,0 +1,26 @@ 
+################################################################################
+#
+# libdill
+#
+################################################################################
+
+LIBDILL_VERSION = fa01648cf2a8d06e53c965b45eeacfb3ac57bd04
+LIBDILL_SITE = $(call github,sustrik,libdill,$(LIBDILL_VERSION))
+LIBDILL_LICENSE = MIT
+LIBDILL_LICENSE_FILES = COPYING
+LIBDILL_CPE_ID_VENDOR = libdill
+LIBDILL_CPE_ID_PRODUCT = libdill
+LIBDILL_INSTALL_STAGING = YES
+# Fetched from Github, with no configure script
+LIBDILL_AUTORECONF = YES
+
+ifneq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
+LIBDILL_CONF_OPTS += --disable-threads
+endif
+
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+LIBDILL_DEPENDENCIES = openssl
+LIBDILL_CONF_OPTS += --enable-tls
+endif
+
+$(eval $(autotools-package))