* [Buildroot] [PATCH v4 1/1] package/uvw: new package
@ 2019-10-26 14:02 Asaf Kahlon
2019-10-26 14:30 ` Thomas Petazzoni
2019-10-26 17:43 ` Thomas Petazzoni
0 siblings, 2 replies; 7+ messages in thread
From: Asaf Kahlon @ 2019-10-26 14:02 UTC (permalink / raw)
To: buildroot
A header-only libuv wrapper in C++.
Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
---
v3->v4:
* gcc 7.x is now OR'ed with NPTL and dynamic library.
* use UVW_SUPPORTS_IN_SOURCE_BUILD = NO.
Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/libuv/libuv.mk | 2 ++
package/uvw/Config.in | 19 +++++++++++++++++++
package/uvw/uvw.hash | 3 +++
package/uvw/uvw.mk | 16 ++++++++++++++++
6 files changed, 42 insertions(+)
create mode 100644 package/uvw/Config.in
create mode 100644 package/uvw/uvw.hash
create mode 100644 package/uvw/uvw.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index ec4f50a79e..b9e6881419 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -239,6 +239,7 @@ F: package/python*
F: package/snmpclitools/
F: package/spdlog/
F: package/uftp/
+F: package/uvw/
F: package/zeromq/
N: Ash Charles <ashcharles@gmail.com>
diff --git a/package/Config.in b/package/Config.in
index d78b4c444b..901c25fe02 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1805,6 +1805,7 @@ endif
source "package/tinycbor/Config.in"
source "package/tz/Config.in"
source "package/tzdata/Config.in"
+ source "package/uvw/Config.in"
source "package/xapian/Config.in"
endmenu
diff --git a/package/libuv/libuv.mk b/package/libuv/libuv.mk
index d5f1d7dbab..618b25d5f6 100644
--- a/package/libuv/libuv.mk
+++ b/package/libuv/libuv.mk
@@ -4,6 +4,8 @@
#
################################################################################
+# When bumping libuv, check if a new version of uvw is available
+# and bump it too.
LIBUV_VERSION = 1.33.1
LIBUV_SITE = $(call github,libuv,libuv,v$(LIBUV_VERSION))
LIBUV_DEPENDENCIES = host-pkgconf
diff --git a/package/uvw/Config.in b/package/uvw/Config.in
new file mode 100644
index 0000000000..bfaed25796
--- /dev/null
+++ b/package/uvw/Config.in
@@ -0,0 +1,19 @@
+config BR2_PACKAGE_UVW
+ bool "uvw"
+ depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv
+ depends on BR2_USE_MMU # libuv
+ depends on !BR2_STATIC_LIBS # libuv
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17
+ select BR2_PACKAGE_LIBUV
+ help
+ Header-only, event based, tiny and easy to use
+ libuv wrapper in modern C++.
+
+ https://github.com/skypjack/uvw
+
+comment "uvw needs a toolchain w/ NPTL, dynamic library, gcc >= 7"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS || \
+ !BR2_TOOLCHAIN_GCC_AT_LEAST_7
+ depends on BR2_USE_MMU
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4
diff --git a/package/uvw/uvw.hash b/package/uvw/uvw.hash
new file mode 100644
index 0000000000..e6129e559d
--- /dev/null
+++ b/package/uvw/uvw.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 266a354f0c64a8e85f29b10f20f4d08a35bc1e8caa7cc94a8afecf9ca43f4442 uvw-2.2.0_libuv-v1.33.tar.gz
+sha256 ea786619b4d1b2ba0a188e923111122dfefea1d01c86e37f9e8c80bdbc3ea400 LICENSE
diff --git a/package/uvw/uvw.mk b/package/uvw/uvw.mk
new file mode 100644
index 0000000000..64122aea44
--- /dev/null
+++ b/package/uvw/uvw.mk
@@ -0,0 +1,16 @@
+################################################################################
+#
+# uvw
+#
+################################################################################
+
+UVW_VERSION = 2.2.0_libuv-v1.33
+UVW_SITE = $(call github,skypjack,uvw,v$(UVW_VERSION))
+UVW_INSTALL_STAGING = YES
+UVW_INSTALL_TARGET = NO
+UVW_SUPPORTS_IN_SOURCE_BUILD = NO
+UVW_DEPENDENCIES = libuv
+UVW_LICENSE = MIT
+UVW_LICENSE_FILES = LICENSE
+
+$(eval $(cmake-package))
--
2.20.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH v4 1/1] package/uvw: new package
2019-10-26 14:02 [Buildroot] [PATCH v4 1/1] package/uvw: new package Asaf Kahlon
@ 2019-10-26 14:30 ` Thomas Petazzoni
2019-10-26 17:43 ` Thomas Petazzoni
1 sibling, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2019-10-26 14:30 UTC (permalink / raw)
To: buildroot
On Sat, 26 Oct 2019 17:02:04 +0300
Asaf Kahlon <asafka7@gmail.com> wrote:
> A header-only libuv wrapper in C++.
>
> Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
> ---
> v3->v4:
> * gcc 7.x is now OR'ed with NPTL and dynamic library.
> * use UVW_SUPPORTS_IN_SOURCE_BUILD = NO.
Applied to master, thanks.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH v4 1/1] package/uvw: new package
2019-10-26 14:02 [Buildroot] [PATCH v4 1/1] package/uvw: new package Asaf Kahlon
2019-10-26 14:30 ` Thomas Petazzoni
@ 2019-10-26 17:43 ` Thomas Petazzoni
2019-10-26 20:40 ` Asaf Kahlon
1 sibling, 1 reply; 7+ messages in thread
From: Thomas Petazzoni @ 2019-10-26 17:43 UTC (permalink / raw)
To: buildroot
On Sat, 26 Oct 2019 17:02:04 +0300
Asaf Kahlon <asafka7@gmail.com> wrote:
> A header-only libuv wrapper in C++.
>
> Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
> ---
> v3->v4:
> * gcc 7.x is now OR'ed with NPTL and dynamic library.
> * use UVW_SUPPORTS_IN_SOURCE_BUILD = NO.
This patch causes a Doxygen issue:
http://autobuild.buildroot.net/results/9c6/9c61c06142c832a9669afdcafcbb8b1f7df51082/build-end.log
Could you have a look?
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH v4 1/1] package/uvw: new package
2019-10-26 17:43 ` Thomas Petazzoni
@ 2019-10-26 20:40 ` Asaf Kahlon
2019-10-26 20:53 ` Thomas Petazzoni
0 siblings, 1 reply; 7+ messages in thread
From: Asaf Kahlon @ 2019-10-26 20:40 UTC (permalink / raw)
To: buildroot
Hi,
On Sat, Oct 26, 2019 at 8:43 PM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> On Sat, 26 Oct 2019 17:02:04 +0300
> Asaf Kahlon <asafka7@gmail.com> wrote:
>
> > A header-only libuv wrapper in C++.
> >
> > Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
> > ---
> > v3->v4:
> > * gcc 7.x is now OR'ed with NPTL and dynamic library.
> > * use UVW_SUPPORTS_IN_SOURCE_BUILD = NO.
>
> This patch causes a Doxygen issue:
> http://autobuild.buildroot.net/results/9c6/9c61c06142c832a9669afdcafcbb8b1f7df51082/build-end.log
>
> Could you have a look?
Actually, this failure isn't related to Doxygen.
The problem occurs when CMake runs a simple threads test.
This seems to be fixed on a newer CMake version, as described in this issue:
https://gitlab.kitware.com/cmake/cmake/issues/16920
As a workaround, setting THREADS_PTHREAD_ARG to "2" on UVW_CONF_OPTS
does the job, but I wonder maybe we want to put it on toolchainfile.cmake,
as this can potentially happen in the future with other packages...
Do you have any thoughts regarding the correct solution?
>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
Regards,
Asaf.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH v4 1/1] package/uvw: new package
2019-10-26 20:40 ` Asaf Kahlon
@ 2019-10-26 20:53 ` Thomas Petazzoni
2019-10-27 23:44 ` Arnout Vandecappelle
0 siblings, 1 reply; 7+ messages in thread
From: Thomas Petazzoni @ 2019-10-26 20:53 UTC (permalink / raw)
To: buildroot
On Sat, 26 Oct 2019 23:40:25 +0300
Asaf Kahlon <asafka7@gmail.com> wrote:
> Actually, this failure isn't related to Doxygen.
> The problem occurs when CMake runs a simple threads test.
> This seems to be fixed on a newer CMake version, as described in this issue:
> https://gitlab.kitware.com/cmake/cmake/issues/16920
> As a workaround, setting THREADS_PTHREAD_ARG to "2" on UVW_CONF_OPTS
> does the job, but I wonder maybe we want to put it on toolchainfile.cmake,
> as this can potentially happen in the future with other packages...
>
> Do you have any thoughts regarding the correct solution?
We have numerous packages that do this:
# The following CMake variable disables a TRY_RUN call in the -pthread
# test which is not allowed when cross-compiling.
EXIV2_CONF_OPTS += -DTHREADS_PTHREAD_ARG=OFF
would that help for this package as well ?
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH v4 1/1] package/uvw: new package
2019-10-26 20:53 ` Thomas Petazzoni
@ 2019-10-27 23:44 ` Arnout Vandecappelle
2019-10-28 7:48 ` Thomas Petazzoni
0 siblings, 1 reply; 7+ messages in thread
From: Arnout Vandecappelle @ 2019-10-27 23:44 UTC (permalink / raw)
To: buildroot
On 26/10/2019 22:53, Thomas Petazzoni wrote:
> On Sat, 26 Oct 2019 23:40:25 +0300
> Asaf Kahlon <asafka7@gmail.com> wrote:
>
>> Actually, this failure isn't related to Doxygen.
>> The problem occurs when CMake runs a simple threads test.
>> This seems to be fixed on a newer CMake version, as described in this issue:
>> https://gitlab.kitware.com/cmake/cmake/issues/16920
This was merged in CMake 3.10, apparently, so as soon as we bump the minimum
CMake version to 3.10 (which is needed for wpewebkit and webkitgtk) those
workaround can be removed again, I guess?
Regards,
Arnout
>> As a workaround, setting THREADS_PTHREAD_ARG to "2" on UVW_CONF_OPTS
>> does the job, but I wonder maybe we want to put it on toolchainfile.cmake,
>> as this can potentially happen in the future with other packages...
>>
>> Do you have any thoughts regarding the correct solution?
>
> We have numerous packages that do this:
>
> # The following CMake variable disables a TRY_RUN call in the -pthread
> # test which is not allowed when cross-compiling.
> EXIV2_CONF_OPTS += -DTHREADS_PTHREAD_ARG=OFF
>
> would that help for this package as well ?
>
> Thomas
>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2019-10-28 7:48 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-26 14:02 [Buildroot] [PATCH v4 1/1] package/uvw: new package Asaf Kahlon
2019-10-26 14:30 ` Thomas Petazzoni
2019-10-26 17:43 ` Thomas Petazzoni
2019-10-26 20:40 ` Asaf Kahlon
2019-10-26 20:53 ` Thomas Petazzoni
2019-10-27 23:44 ` Arnout Vandecappelle
2019-10-28 7:48 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox