* [Buildroot] [PATCH] libhttpserver: new package
@ 2019-09-23 11:52 stephan.hoffmann at ext.grandcentrix.net
2019-09-23 13:56 ` Thomas Petazzoni
0 siblings, 1 reply; 4+ messages in thread
From: stephan.hoffmann at ext.grandcentrix.net @ 2019-09-23 11:52 UTC (permalink / raw)
To: buildroot
From: Stephan Hoffmann <stephan.hoffmann@ext.grandcentrix.net>
libhttpserver is a C++ library for building high performance RESTfuls
web servers. libhttpserver is built upon libmicrohttpd to provide a
simple API for developers to create HTTP services in C++.
The installed pkg-config file contains an error, thus we include
the patch 458d16b922304006fe418897044e14b0544a127a from the upstream
repo that is not yet released.
Signed-off-by: Stephan Hoffmann <stephan.hoffmann@ext.grandcentrix.net>
---
package/Config.in | 1 +
...-expectations-in-libhttpserver.pc.in.patch | 24 +++++++++++++++++++
package/libhttpserver/Config.in | 14 +++++++++++
package/libhttpserver/libhttpserver.hash | 2 ++
package/libhttpserver/libhttpserver.mk | 16 +++++++++++++
5 files changed, 57 insertions(+)
create mode 100644 package/libhttpserver/0001-Fix-lib-expectations-in-libhttpserver.pc.in.patch
create mode 100644 package/libhttpserver/Config.in
create mode 100644 package/libhttpserver/libhttpserver.hash
create mode 100644 package/libhttpserver/libhttpserver.mk
diff --git a/package/Config.in b/package/Config.in
index 2fc11065f6..e6ee550e7a 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1584,6 +1584,7 @@ menu "Networking"
source "package/libgsasl/Config.in"
source "package/libhtp/Config.in"
source "package/libhttpparser/Config.in"
+ source "package/libhttpserver/Config.in"
source "package/libidn/Config.in"
source "package/libidn2/Config.in"
source "package/libiscsi/Config.in"
diff --git a/package/libhttpserver/0001-Fix-lib-expectations-in-libhttpserver.pc.in.patch b/package/libhttpserver/0001-Fix-lib-expectations-in-libhttpserver.pc.in.patch
new file mode 100644
index 0000000000..e0ca5575dc
--- /dev/null
+++ b/package/libhttpserver/0001-Fix-lib-expectations-in-libhttpserver.pc.in.patch
@@ -0,0 +1,24 @@
+From 2bc7cf0beb6b8a124c1c7360c4fb5279e8763f07 Mon Sep 17 00:00:00 2001
+From: Sebastiano Merlino <electrictwister2000@gmail.com>
+Date: Sat, 8 Jun 2019 15:36:06 -0700
+Subject: [PATCH] Fix lib expectations in libhttpserver.pc.in
+
+---
+ libhttpserver.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libhttpserver.pc.in b/libhttpserver.pc.in
+index 36355ee..55f7c0e 100644
+--- a/libhttpserver.pc.in
++++ b/libhttpserver.pc.in
+@@ -8,6 +8,6 @@ Description: A C++ library for creating an embedded Rest HTTP server
+ Version: @VERSION@
+ Requires: libmicrohttpd >= 0.9.37
+ Conflicts:
+-Libs: -L${libdir} -lmicrohttpd
++Libs: -L${libdir} -lhttpserver
+ Libs.private: @LHT_LIBDEPS@
+ Cflags: -I${includedir} -I${includedir}/httpserver
+--
+2.17.1
+
diff --git a/package/libhttpserver/Config.in b/package/libhttpserver/Config.in
new file mode 100644
index 0000000000..526ca7c41e
--- /dev/null
+++ b/package/libhttpserver/Config.in
@@ -0,0 +1,14 @@
+config BR2_PACKAGE_LIBHTTPSERVER
+ bool "libhttpserver"
+ depends on BR2_INSTALL_LIBSTDCPP
+ select BR2_PACKAGE_LIBMICROHTTPD
+ help
+ libhttpserver is a C++ library for building high performance
+ RESTfuls web servers. libhttpserver is built upon
+ libmicrohttpd to provide a simple API for developers to
+ create HTTP services in C++.
+
+ https://github.com/etr/libhttpserver
+
+comment "libhttpserver needs a toolchain w/ c++"
+ depends on !BR2_INSTALL_LIBSTDCPP
diff --git a/package/libhttpserver/libhttpserver.hash b/package/libhttpserver/libhttpserver.hash
new file mode 100644
index 0000000000..5561c3d917
--- /dev/null
+++ b/package/libhttpserver/libhttpserver.hash
@@ -0,0 +1,2 @@
+# Locally computed:
+sha256 778fa0aec199bf8737b2d540c2563a694c18957329f9885e372f7aaafb838351 libhttpserver-0.17.5.tar.gz
diff --git a/package/libhttpserver/libhttpserver.mk b/package/libhttpserver/libhttpserver.mk
new file mode 100644
index 0000000000..e46271d7d9
--- /dev/null
+++ b/package/libhttpserver/libhttpserver.mk
@@ -0,0 +1,16 @@
+################################################################################
+#
+# libhttpserver
+#
+################################################################################
+
+LIBHTTPSERVER_VERSION = 0.17.5
+LIBHTTPSERVER_SITE = $(call github,etr,libhttpserver,$(LIBHTTPSERVER_VERSION))
+LIBHTTPSERVER_LICENSE = LGPL-2.1-or-later
+LIBHTTPSERVER_LICENSE_FILES = COPYING.LESSER
+LIBHTTPSERVER_INSTALL_STAGING = YES
+LIBHTTPSERVER_CONF_OPTS += --enable-same-directory-build
+LIBHTTPSERVER_AUTORECONF = YES
+LIBHTTPSERVER_DEPENDENCIES = libmicrohttpd
+
+$(eval $(autotools-package))
--
2.17.1
--
*Azure IoT* Gold Partner ? *Azure Sphere* Elite Partner ? *Vodafone
NB-IoT* Partner ? Apple *MFi* & *HomeKit* Developer ? *Bluetooth* SIG ?
*zigbee* Alliance ? *LoRa* Alliance ? *Thread* Group
grandcentrix GmbH???
Holzmarkt 1???50676 *K?ln*?|?Phoenixseestrasse 18???44263 *Dortmund*???
Deutschland
| t <https://twitter.com/grandcentrix> | f
<https://www.facebook.com/GrandCentrix/> | in
<https://www.linkedin.com/company/grandcentrix> | phone: +49-221-677-860-0
|?email: hello at grandcentrix.net <mailto:hello@grandcentrix.net>
Amtsgericht K?ln | HRB ?70119 | Gesch?ftsf?hrer: R. Rottmann, M. Willnow |
USt.-IdNr.: DE266333969
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH] libhttpserver: new package
2019-09-23 11:52 [Buildroot] [PATCH] libhttpserver: new package stephan.hoffmann at ext.grandcentrix.net
@ 2019-09-23 13:56 ` Thomas Petazzoni
2019-09-24 7:22 ` Stephan Hoffmann
0 siblings, 1 reply; 4+ messages in thread
From: Thomas Petazzoni @ 2019-09-23 13:56 UTC (permalink / raw)
To: buildroot
Hello Stephan,
Thanks for this contribution! It looks mostly good, but I have a few
comments below.
On Mon, 23 Sep 2019 13:52:37 +0200
<stephan.hoffmann@ext.grandcentrix.net> wrote:
> From: Stephan Hoffmann <stephan.hoffmann@ext.grandcentrix.net>
>
> libhttpserver is a C++ library for building high performance RESTfuls
> web servers. libhttpserver is built upon libmicrohttpd to provide a
> simple API for developers to create HTTP services in C++.
>
> The installed pkg-config file contains an error, thus we include
> the patch 458d16b922304006fe418897044e14b0544a127a from the upstream
> repo that is not yet released.
>
> Signed-off-by: Stephan Hoffmann <stephan.hoffmann@ext.grandcentrix.net>
> ---
> package/Config.in | 1 +
> ...-expectations-in-libhttpserver.pc.in.patch | 24 +++++++++++++++++++
> package/libhttpserver/Config.in | 14 +++++++++++
> package/libhttpserver/libhttpserver.hash | 2 ++
> package/libhttpserver/libhttpserver.mk | 16 +++++++++++++
> 5 files changed, 57 insertions(+)
Could you add an entry in the DEVELOPERS file for this package? This
way, you'll receive notifications about build issues of this package,
as well as when a new upstream release is available.
> diff --git a/package/libhttpserver/0001-Fix-lib-expectations-in-libhttpserver.pc.in.patch b/package/libhttpserver/0001-Fix-lib-expectations-in-libhttpserver.pc.in.patch
> new file mode 100644
> index 0000000000..e0ca5575dc
> --- /dev/null
> +++ b/package/libhttpserver/0001-Fix-lib-expectations-in-libhttpserver.pc.in.patch
> @@ -0,0 +1,24 @@
> +From 2bc7cf0beb6b8a124c1c7360c4fb5279e8763f07 Mon Sep 17 00:00:00 2001
> +From: Sebastiano Merlino <electrictwister2000@gmail.com>
> +Date: Sat, 8 Jun 2019 15:36:06 -0700
> +Subject: [PATCH] Fix lib expectations in libhttpserver.pc.in
> +
We need a Signed-off-by line (at least from you) in this patch. Also,
if it comes from upstream, a link to the upstream commit is good to
have.
> diff --git a/package/libhttpserver/Config.in b/package/libhttpserver/Config.in
> new file mode 100644
> index 0000000000..526ca7c41e
> --- /dev/null
> +++ b/package/libhttpserver/Config.in
> @@ -0,0 +1,14 @@
> +config BR2_PACKAGE_LIBHTTPSERVER
> + bool "libhttpserver"
> + depends on BR2_INSTALL_LIBSTDCPP
> + select BR2_PACKAGE_LIBMICROHTTPD
Since you select BR2_PACKAGE_LIBMICROHTTPD, you need to replicate the
"depends on" of BR2_PACKAGE_LIBMICROHTTPD, i.e
BR2_TOOLCHAIN_HAS_THREADS.
> + help
> + libhttpserver is a C++ library for building high performance
> + RESTfuls web servers. libhttpserver is built upon
> + libmicrohttpd to provide a simple API for developers to
> + create HTTP services in C++.
> +
> + https://github.com/etr/libhttpserver
> +
> +comment "libhttpserver needs a toolchain w/ c++"
> + depends on !BR2_INSTALL_LIBSTDCPP
.. and update this comment. Also we write "C++" and not "c++" in those
comments.
> diff --git a/package/libhttpserver/libhttpserver.hash b/package/libhttpserver/libhttpserver.hash
> new file mode 100644
> index 0000000000..5561c3d917
> --- /dev/null
> +++ b/package/libhttpserver/libhttpserver.hash
> @@ -0,0 +1,2 @@
> +# Locally computed:
> +sha256 778fa0aec199bf8737b2d540c2563a694c18957329f9885e372f7aaafb838351 libhttpserver-0.17.5.tar.gz
Please add the hash of the license file as well.
> diff --git a/package/libhttpserver/libhttpserver.mk b/package/libhttpserver/libhttpserver.mk
> new file mode 100644
> index 0000000000..e46271d7d9
> --- /dev/null
> +++ b/package/libhttpserver/libhttpserver.mk
> @@ -0,0 +1,16 @@
> +################################################################################
> +#
> +# libhttpserver
> +#
> +################################################################################
> +
> +LIBHTTPSERVER_VERSION = 0.17.5
> +LIBHTTPSERVER_SITE = $(call github,etr,libhttpserver,$(LIBHTTPSERVER_VERSION))
> +LIBHTTPSERVER_LICENSE = LGPL-2.1-or-later
> +LIBHTTPSERVER_LICENSE_FILES = COPYING.LESSER
> +LIBHTTPSERVER_INSTALL_STAGING = YES
> +LIBHTTPSERVER_CONF_OPTS += --enable-same-directory-build
You can make the += just a = since it's unconditional.
> +LIBHTTPSERVER_AUTORECONF = YES
> +LIBHTTPSERVER_DEPENDENCIES = libmicrohttpd
> +
> +$(eval $(autotools-package))
Could you address those minor details and send an updated version?
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH] libhttpserver: new package
2019-09-23 13:56 ` Thomas Petazzoni
@ 2019-09-24 7:22 ` Stephan Hoffmann
2019-09-24 7:47 ` Thomas Petazzoni
0 siblings, 1 reply; 4+ messages in thread
From: Stephan Hoffmann @ 2019-09-24 7:22 UTC (permalink / raw)
To: buildroot
Hello Thomas!
On Mon, Sep 23, 2019 at 3:56 PM Thomas Petazzoni <
thomas.petazzoni@bootlin.com> wrote:
> > diff --git
> a/package/libhttpserver/0001-Fix-lib-expectations-in-libhttpserver.pc.in.patch
> b/package/libhttpserver/0001-Fix-lib-expectations-in-libhttpserver.pc.in.patch
> > new file mode 100644
> > index 0000000000..e0ca5575dc
> > --- /dev/null
> > +++
> b/package/libhttpserver/0001-Fix-lib-expectations-in-libhttpserver.pc.in.patch
> > @@ -0,0 +1,24 @@
> > +From 2bc7cf0beb6b8a124c1c7360c4fb5279e8763f07 Mon Sep 17 00:00:00 2001
> > +From: Sebastiano Merlino <electrictwister2000@gmail.com>
> > +Date: Sat, 8 Jun 2019 15:36:06 -0700
> > +Subject: [PATCH] Fix lib expectations in libhttpserver.pc.in
> > +
>
> We need a Signed-off-by line (at least from you) in this patch. Also,
> if it comes from upstream, a link to the upstream commit is good to
> have.
>
>
Is there any mechanism allowing to cherry pick a commit from the upstream
repo instead of providing a patch file? I don't really feel good about
modifying the patch file;-)
Kind regards
Stephan
--
*Azure IoT* Gold Partner ? *Azure Sphere* Elite Partner ? *Vodafone
NB-IoT* Partner ? Apple *MFi* & *HomeKit* Developer ? *Bluetooth* SIG ?
*zigbee* Alliance ? *LoRa* Alliance ? *Thread* Group
grandcentrix GmbH???
Holzmarkt 1???50676 *K?ln*?|?Phoenixseestrasse 18???44263 *Dortmund*???
Deutschland
| t <https://twitter.com/grandcentrix> | f
<https://www.facebook.com/GrandCentrix/> | in
<https://www.linkedin.com/company/grandcentrix> | phone: +49-221-677-860-0
|?email: hello at grandcentrix.net <mailto:hello@grandcentrix.net>
Amtsgericht K?ln | HRB ?70119 | Gesch?ftsf?hrer: R. Rottmann, M. Willnow |
USt.-IdNr.: DE266333969
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20190924/4ffd4a4d/attachment.html>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH] libhttpserver: new package
2019-09-24 7:22 ` Stephan Hoffmann
@ 2019-09-24 7:47 ` Thomas Petazzoni
0 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2019-09-24 7:47 UTC (permalink / raw)
To: buildroot
On Tue, 24 Sep 2019 09:22:37 +0200
Stephan Hoffmann <stephan.hoffmann@ext.grandcentrix.net> wrote:
> > We need a Signed-off-by line (at least from you) in this patch. Also,
> > if it comes from upstream, a link to the upstream commit is good to
> > have.
> >
> Is there any mechanism allowing to cherry pick a commit from the upstream
> repo instead of providing a patch file? I don't really feel good about
> modifying the patch file;-)
We prefer to have patches locally instead of downloading them, because
the hash of patches generated by Github is not stable.
We have numerous patches locally in package directories, and changing
their commit log is perfectly fine.
See for example
package/fastd/0003-cipher-remove-aes128-ctr-NaCl-implementation.patch
how the Signed-off-by line and reference to the upstream commit was
added.
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-09-24 7:47 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-09-23 11:52 [Buildroot] [PATCH] libhttpserver: new package stephan.hoffmann at ext.grandcentrix.net
2019-09-23 13:56 ` Thomas Petazzoni
2019-09-24 7:22 ` Stephan Hoffmann
2019-09-24 7:47 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox