From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2] package/pistache: new package
Date: Fri, 1 May 2020 14:07:22 +0200 [thread overview]
Message-ID: <20200501120722.GT11346@scaer> (raw)
In-Reply-To: <20200501092226.316943-1-thomas@ruschival.de>
Thomas, All,
On 2020-05-01 11:22 +0200, Thomas Ruschival spake thusly:
> The upstream project http://pistache.io/ does not provide release
> tarballs at https://github.com/oktal/pistache/. I have been using the
> commit 73f248acd6db4c53 successfully for some time now for a buildroot
> project.
>
> The use of BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 is for C++14 support.
> Tested it with gcc-linaro-4.9-2016.02-x86_64_arm-linux-gnueabi
> and buildroot's ./utils/test-pkg
>
> Pistache does not build with uClibc, the macro RUSAGE_THREAD for
> getrusage() is not properly declared. This is an upstream issue:
> https://github.com/oktal/pistache/issues/175
> Hence the dependecy !BR2_TOOLCHAIN_USES_UCLIBC
>
> Signed-off-by: Thomas Ruschival <thomas@ruschival.de>
Applied to master, with the following changes:
- fix PISTACHE_LICENSE_FILES (missing trailing 'S')
- add hash for license file
- two spaces in license file
- tweaks in commit log
Thanks!
Regards,
Yann E. MORIN.
> ---
> package/Config.in | 1 +
> package/pistache/Config.in | 20 ++++++++++++++++++++
> package/pistache/pistache.hash | 2 ++
> package/pistache/pistache.mk | 21 +++++++++++++++++++++
> 4 files changed, 44 insertions(+)
> create mode 100644 package/pistache/Config.in
> create mode 100644 package/pistache/pistache.hash
> create mode 100644 package/pistache/pistache.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 53c8ce0e29..c12676d859 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1754,6 +1754,7 @@ menu "Networking"
> source "package/ortp/Config.in"
> source "package/paho-mqtt-c/Config.in"
> source "package/paho-mqtt-cpp/Config.in"
> + source "package/pistache/Config.in"
> source "package/qdecoder/Config.in"
> source "package/qpid-proton/Config.in"
> source "package/rabbitmq-c/Config.in"
> diff --git a/package/pistache/Config.in b/package/pistache/Config.in
> new file mode 100644
> index 0000000000..64d6340827
> --- /dev/null
> +++ b/package/pistache/Config.in
> @@ -0,0 +1,20 @@
> +config BR2_PACKAGE_PISTACHE
> + bool "pistache"
> + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14
> + depends on BR2_USE_WCHAR
> + depends on BR2_TOOLCHAIN_HAS_THREADS
> + depends on BR2_INSTALL_LIBSTDCPP
> + depends on !BR2_TOOLCHAIN_USES_UCLIBC
> + help
> + Pistache is a modern and elegant HTTP and REST framework
> + for C++. It is entirely written in pure C++14 and provides
> + a clear and pleasant API.
> +
> + https://github.com/oktal/pistache
> +
> +comment "pistache needs a glibc toolchain w/ C++, gcc >= 4.9, threads, wchar"
> + depends on !BR2_INSTALL_LIBSTDCPP || \
> + BR2_TOOLCHAIN_USES_UCLIBC || \
> + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
> + !BR2_TOOLCHAIN_HAS_THREADS || \
> + !BR2_USE_WCHAR
> diff --git a/package/pistache/pistache.hash b/package/pistache/pistache.hash
> new file mode 100644
> index 0000000000..f81ee8a5b2
> --- /dev/null
> +++ b/package/pistache/pistache.hash
> @@ -0,0 +1,2 @@
> +#locally computed
> +sha256 bcc7640eb4ae4b178e504f18ebf29dd0a6f8189710cdc0fa4703fa27728145e4 pistache-73f248acd6db4c53e6604577b7e13fd5e756f96f.tar.gz
> diff --git a/package/pistache/pistache.mk b/package/pistache/pistache.mk
> new file mode 100644
> index 0000000000..7b30621b74
> --- /dev/null
> +++ b/package/pistache/pistache.mk
> @@ -0,0 +1,21 @@
> +################################################################################
> +#
> +# pistache
> +#
> +################################################################################
> +
> +PISTACHE_VERSION = 73f248acd6db4c53e6604577b7e13fd5e756f96f
> +PISTACHE_SITE = $(call github,oktal,pistache,$(PISTACHE_VERSION))
> +PISTACHE_LICENSE = Apache-2.0
> +PISTACHE_LICENSE_FILE = LICENSE
> +
> +PISTACHE_INSTALL_STAGING = YES
> +
> +ifeq ($(BR2_PACKAGE_OPENSSL),y)
> +PISTACHE_DEPENDENCIES += openssl
> +PISTACHE_CONF_OPTS += -DPISTACHE_USE_SSL=ON
> +else
> +PISTACHE_CONF_OPTS += -DPISTACHE_USE_SSL=OFF
> +endif
> +
> +$(eval $(cmake-package))
> --
> 2.26.2
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
prev parent reply other threads:[~2020-05-01 12:07 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-26 13:58 [Buildroot] [PATCH 0/1] package/pistache: new package Thomas Ruschival
2020-04-26 13:58 ` [Buildroot] [PATCH 1/1] " Thomas Ruschival
2020-04-26 17:41 ` Yann E. MORIN
2020-04-27 17:44 ` Thomas Ruschival
2020-04-27 19:28 ` Thomas Petazzoni
2020-05-01 9:22 ` [Buildroot] [PATCH v2] " Thomas Ruschival
2020-05-01 12:07 ` Yann E. MORIN [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200501120722.GT11346@scaer \
--to=yann.morin.1998@free.fr \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.