* [meta-oe][PATCH] catch2: new package
@ 2018-10-11 9:08 Bartosz Golaszewski
2018-10-11 9:35 ` Vyacheslav Yurkov
2018-10-11 14:32 ` akuster808
0 siblings, 2 replies; 6+ messages in thread
From: Bartosz Golaszewski @ 2018-10-11 9:08 UTC (permalink / raw)
To: openembedded-devel, Khem Raj, Armin Kuster, Hiram Lew,
Jan Kaisrlik, Lukas Karas
Cc: Bartosz Golaszewski
From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Add a recipe for the catch2 testing framework. There's a bug upstream
which makes it impossible to build with gcc7 so include a patch.
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
---
.../0001-internal-fix-build-in-GCC-7.patch | 35 +++++++++++++++++++
meta-oe/recipes-test/catch2/catch2_2.4.1.bb | 25 +++++++++++++
2 files changed, 60 insertions(+)
create mode 100644 meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch
create mode 100644 meta-oe/recipes-test/catch2/catch2_2.4.1.bb
diff --git a/meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch b/meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch
new file mode 100644
index 000000000..606398afa
--- /dev/null
+++ b/meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch
@@ -0,0 +1,35 @@
+From 857bf7e83db330682a4c722d0b57be1e4481f4e2 Mon Sep 17 00:00:00 2001
+From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
+Date: Thu, 11 Oct 2018 09:44:24 +0200
+Subject: [PATCH] internal: fix build in GCC 7
+
+The following error is emitted by gcc 7:
+
+include/internal/catch_tostring.cpp:217:21: error: comparison is always true due to limited range of data type [-Werror=type-limits]
+| } else if ('\0' <= value && value < ' ') {
+| ~~~~~^~~~~~~~
+| cc1plus: all warnings being treated as errors
+
+We can drop the first part of the if.
+
+Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
+---
+ include/internal/catch_tostring.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/internal/catch_tostring.cpp b/include/internal/catch_tostring.cpp
+index 4e0c027d..59cc8dec 100644
+--- a/include/internal/catch_tostring.cpp
++++ b/include/internal/catch_tostring.cpp
+@@ -214,7 +214,7 @@ std::string StringMaker<char>::convert(char value) {
+ return "'\\n'";
+ } else if (value == '\t') {
+ return "'\\t'";
+- } else if ('\0' <= value && value < ' ') {
++ } else if (value < ' ') {
+ return ::Catch::Detail::stringify(static_cast<unsigned int>(value));
+ } else {
+ char chstr[] = "' '";
+--
+2.19.1
+
diff --git a/meta-oe/recipes-test/catch2/catch2_2.4.1.bb b/meta-oe/recipes-test/catch2/catch2_2.4.1.bb
new file mode 100644
index 000000000..ba14a362c
--- /dev/null
+++ b/meta-oe/recipes-test/catch2/catch2_2.4.1.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "A modern, C++-native, header-only, test framework for unit-tests, \
+TDD and BDD - using C++11, C++14, C++17 and later."
+AUTHOR = "Phil Nash, Martin Horenovsky and others"
+HOMEPAGE = "https://github.com/catchorg/Catch2"
+LICENSE = "BSL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
+
+SRC_URI = "git://github.com/catchorg/Catch2.git \
+ file://0001-internal-fix-build-in-GCC-7.patch"
+SRCREV = "9e1bdca4667295fcb16265eae00efa8423f07007"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "python-native"
+
+inherit cmake python3native
+
+# Header-only library
+ALLOW_EMPTY_${PN} = "1"
+
+do_install_append() {
+ rm ${D}/usr/share/Catch2/lldbinit
+ rm ${D}/usr/share/Catch2/gdbinit
+ rmdir ${D}/usr/share/Catch2/
+}
--
2.19.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [meta-oe][PATCH] catch2: new package
2018-10-11 9:08 [meta-oe][PATCH] catch2: new package Bartosz Golaszewski
@ 2018-10-11 9:35 ` Vyacheslav Yurkov
2018-10-11 13:02 ` Bartosz Golaszewski
2018-10-11 14:32 ` akuster808
1 sibling, 1 reply; 6+ messages in thread
From: Vyacheslav Yurkov @ 2018-10-11 9:35 UTC (permalink / raw)
To: brgl; +Cc: lew, bgolaszewski, openembedded-devel, jan.kaisrlik, karas
Hi Bartosz,
As I learned quite recently, you have to do the following for header-only
libraries:
RDEPENDS_${PN}-dev = ""
RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
Regards,
Vyacheslav
On Thu, Oct 11, 2018 at 11:08 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
>
> Add a recipe for the catch2 testing framework. There's a bug upstream
> which makes it impossible to build with gcc7 so include a patch.
>
> Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> ---
> .../0001-internal-fix-build-in-GCC-7.patch | 35 +++++++++++++++++++
> meta-oe/recipes-test/catch2/catch2_2.4.1.bb | 25 +++++++++++++
> 2 files changed, 60 insertions(+)
> create mode 100644
> meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch
> create mode 100644 meta-oe/recipes-test/catch2/catch2_2.4.1.bb
>
> diff --git
> a/meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch
> b/meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch
> new file mode 100644
> index 000000000..606398afa
> --- /dev/null
> +++
> b/meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch
> @@ -0,0 +1,35 @@
> +From 857bf7e83db330682a4c722d0b57be1e4481f4e2 Mon Sep 17 00:00:00 2001
> +From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> +Date: Thu, 11 Oct 2018 09:44:24 +0200
> +Subject: [PATCH] internal: fix build in GCC 7
> +
> +The following error is emitted by gcc 7:
> +
> +include/internal/catch_tostring.cpp:217:21: error: comparison is always
> true due to limited range of data type [-Werror=type-limits]
> +| } else if ('\0' <= value && value < ' ') {
> +| ~~~~~^~~~~~~~
> +| cc1plus: all warnings being treated as errors
> +
> +We can drop the first part of the if.
> +
> +Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> +---
> + include/internal/catch_tostring.cpp | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/include/internal/catch_tostring.cpp
> b/include/internal/catch_tostring.cpp
> +index 4e0c027d..59cc8dec 100644
> +--- a/include/internal/catch_tostring.cpp
> ++++ b/include/internal/catch_tostring.cpp
> +@@ -214,7 +214,7 @@ std::string StringMaker<char>::convert(char value) {
> + return "'\\n'";
> + } else if (value == '\t') {
> + return "'\\t'";
> +- } else if ('\0' <= value && value < ' ') {
> ++ } else if (value < ' ') {
> + return ::Catch::Detail::stringify(static_cast<unsigned
> int>(value));
> + } else {
> + char chstr[] = "' '";
> +--
> +2.19.1
> +
> diff --git a/meta-oe/recipes-test/catch2/catch2_2.4.1.bb
> b/meta-oe/recipes-test/catch2/catch2_2.4.1.bb
> new file mode 100644
> index 000000000..ba14a362c
> --- /dev/null
> +++ b/meta-oe/recipes-test/catch2/catch2_2.4.1.bb
> @@ -0,0 +1,25 @@
> +DESCRIPTION = "A modern, C++-native, header-only, test framework for
> unit-tests, \
> +TDD and BDD - using C++11, C++14, C++17 and later."
> +AUTHOR = "Phil Nash, Martin Horenovsky and others"
> +HOMEPAGE = "https://github.com/catchorg/Catch2"
> +LICENSE = "BSL-1.0"
> +LIC_FILES_CHKSUM =
> "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
> +
> +SRC_URI = "git://github.com/catchorg/Catch2.git \
> + file://0001-internal-fix-build-in-GCC-7.patch"
> +SRCREV = "9e1bdca4667295fcb16265eae00efa8423f07007"
> +
> +S = "${WORKDIR}/git"
> +
> +DEPENDS = "python-native"
> +
> +inherit cmake python3native
> +
> +# Header-only library
> +ALLOW_EMPTY_${PN} = "1"
> +
> +do_install_append() {
> + rm ${D}/usr/share/Catch2/lldbinit
> + rm ${D}/usr/share/Catch2/gdbinit
> + rmdir ${D}/usr/share/Catch2/
> +}
> --
> 2.19.1
>
> --
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [meta-oe][PATCH] catch2: new package
2018-10-11 9:35 ` Vyacheslav Yurkov
@ 2018-10-11 13:02 ` Bartosz Golaszewski
2018-10-11 13:23 ` Vyacheslav Yurkov
0 siblings, 1 reply; 6+ messages in thread
From: Bartosz Golaszewski @ 2018-10-11 13:02 UTC (permalink / raw)
To: uvv.mail
Cc: Hiram Lew, Bartosz Golaszewski, openembedded-devel, Jan Kaisrlik,
Lukas Karas
czw., 11 paź 2018 o 11:35 Vyacheslav Yurkov <uvv.mail@gmail.com> napisał(a):
>
> Hi Bartosz,
> As I learned quite recently, you have to do the following for header-only libraries:
> RDEPENDS_${PN}-dev = ""
> RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
>
Any hint on what it does exactly and why it's needed?
Bart
> Regards,
> Vyacheslav
>
> On Thu, Oct 11, 2018 at 11:08 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
>>
>> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
>>
>> Add a recipe for the catch2 testing framework. There's a bug upstream
>> which makes it impossible to build with gcc7 so include a patch.
>>
>> Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
>> ---
>> .../0001-internal-fix-build-in-GCC-7.patch | 35 +++++++++++++++++++
>> meta-oe/recipes-test/catch2/catch2_2.4.1.bb | 25 +++++++++++++
>> 2 files changed, 60 insertions(+)
>> create mode 100644 meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch
>> create mode 100644 meta-oe/recipes-test/catch2/catch2_2.4.1.bb
>>
>> diff --git a/meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch b/meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch
>> new file mode 100644
>> index 000000000..606398afa
>> --- /dev/null
>> +++ b/meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch
>> @@ -0,0 +1,35 @@
>> +From 857bf7e83db330682a4c722d0b57be1e4481f4e2 Mon Sep 17 00:00:00 2001
>> +From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
>> +Date: Thu, 11 Oct 2018 09:44:24 +0200
>> +Subject: [PATCH] internal: fix build in GCC 7
>> +
>> +The following error is emitted by gcc 7:
>> +
>> +include/internal/catch_tostring.cpp:217:21: error: comparison is always true due to limited range of data type [-Werror=type-limits]
>> +| } else if ('\0' <= value && value < ' ') {
>> +| ~~~~~^~~~~~~~
>> +| cc1plus: all warnings being treated as errors
>> +
>> +We can drop the first part of the if.
>> +
>> +Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
>> +---
>> + include/internal/catch_tostring.cpp | 2 +-
>> + 1 file changed, 1 insertion(+), 1 deletion(-)
>> +
>> +diff --git a/include/internal/catch_tostring.cpp b/include/internal/catch_tostring.cpp
>> +index 4e0c027d..59cc8dec 100644
>> +--- a/include/internal/catch_tostring.cpp
>> ++++ b/include/internal/catch_tostring.cpp
>> +@@ -214,7 +214,7 @@ std::string StringMaker<char>::convert(char value) {
>> + return "'\\n'";
>> + } else if (value == '\t') {
>> + return "'\\t'";
>> +- } else if ('\0' <= value && value < ' ') {
>> ++ } else if (value < ' ') {
>> + return ::Catch::Detail::stringify(static_cast<unsigned int>(value));
>> + } else {
>> + char chstr[] = "' '";
>> +--
>> +2.19.1
>> +
>> diff --git a/meta-oe/recipes-test/catch2/catch2_2.4.1.bb b/meta-oe/recipes-test/catch2/catch2_2.4.1.bb
>> new file mode 100644
>> index 000000000..ba14a362c
>> --- /dev/null
>> +++ b/meta-oe/recipes-test/catch2/catch2_2.4.1.bb
>> @@ -0,0 +1,25 @@
>> +DESCRIPTION = "A modern, C++-native, header-only, test framework for unit-tests, \
>> +TDD and BDD - using C++11, C++14, C++17 and later."
>> +AUTHOR = "Phil Nash, Martin Horenovsky and others"
>> +HOMEPAGE = "https://github.com/catchorg/Catch2"
>> +LICENSE = "BSL-1.0"
>> +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
>> +
>> +SRC_URI = "git://github.com/catchorg/Catch2.git \
>> + file://0001-internal-fix-build-in-GCC-7.patch"
>> +SRCREV = "9e1bdca4667295fcb16265eae00efa8423f07007"
>> +
>> +S = "${WORKDIR}/git"
>> +
>> +DEPENDS = "python-native"
>> +
>> +inherit cmake python3native
>> +
>> +# Header-only library
>> +ALLOW_EMPTY_${PN} = "1"
>> +
>> +do_install_append() {
>> + rm ${D}/usr/share/Catch2/lldbinit
>> + rm ${D}/usr/share/Catch2/gdbinit
>> + rmdir ${D}/usr/share/Catch2/
>> +}
>> --
>> 2.19.1
>>
>> --
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [meta-oe][PATCH] catch2: new package
2018-10-11 13:02 ` Bartosz Golaszewski
@ 2018-10-11 13:23 ` Vyacheslav Yurkov
0 siblings, 0 replies; 6+ messages in thread
From: Vyacheslav Yurkov @ 2018-10-11 13:23 UTC (permalink / raw)
To: brgl; +Cc: lew, bgolaszewski, openembedded-devel, jan.kaisrlik, karas
You should use it instead
ALLOW_EMPTY_${PN} = "1"
The header-only package is required during the build (for dependent
recipes) and for SDK, this is where -dev package would be used. But if you
create main empty package, it would be installed in the image, which is
basically useless.
Vyacheslav
On Thu, Oct 11, 2018 at 3:02 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> czw., 11 paź 2018 o 11:35 Vyacheslav Yurkov <uvv.mail@gmail.com>
> napisał(a):
> >
> > Hi Bartosz,
> > As I learned quite recently, you have to do the following for
> header-only libraries:
> > RDEPENDS_${PN}-dev = ""
> > RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
> >
>
> Any hint on what it does exactly and why it's needed?
>
> Bart
>
> > Regards,
> > Vyacheslav
> >
> > On Thu, Oct 11, 2018 at 11:08 AM Bartosz Golaszewski <brgl@bgdev.pl>
> wrote:
> >>
> >> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> >>
> >> Add a recipe for the catch2 testing framework. There's a bug upstream
> >> which makes it impossible to build with gcc7 so include a patch.
> >>
> >> Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> >> ---
> >> .../0001-internal-fix-build-in-GCC-7.patch | 35 +++++++++++++++++++
> >> meta-oe/recipes-test/catch2/catch2_2.4.1.bb | 25 +++++++++++++
> >> 2 files changed, 60 insertions(+)
> >> create mode 100644
> meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch
> >> create mode 100644 meta-oe/recipes-test/catch2/catch2_2.4.1.bb
> >>
> >> diff --git
> a/meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch
> b/meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch
> >> new file mode 100644
> >> index 000000000..606398afa
> >> --- /dev/null
> >> +++
> b/meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch
> >> @@ -0,0 +1,35 @@
> >> +From 857bf7e83db330682a4c722d0b57be1e4481f4e2 Mon Sep 17 00:00:00 2001
> >> +From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> >> +Date: Thu, 11 Oct 2018 09:44:24 +0200
> >> +Subject: [PATCH] internal: fix build in GCC 7
> >> +
> >> +The following error is emitted by gcc 7:
> >> +
> >> +include/internal/catch_tostring.cpp:217:21: error: comparison is
> always true due to limited range of data type [-Werror=type-limits]
> >> +| } else if ('\0' <= value && value < ' ') {
> >> +| ~~~~~^~~~~~~~
> >> +| cc1plus: all warnings being treated as errors
> >> +
> >> +We can drop the first part of the if.
> >> +
> >> +Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> >> +---
> >> + include/internal/catch_tostring.cpp | 2 +-
> >> + 1 file changed, 1 insertion(+), 1 deletion(-)
> >> +
> >> +diff --git a/include/internal/catch_tostring.cpp
> b/include/internal/catch_tostring.cpp
> >> +index 4e0c027d..59cc8dec 100644
> >> +--- a/include/internal/catch_tostring.cpp
> >> ++++ b/include/internal/catch_tostring.cpp
> >> +@@ -214,7 +214,7 @@ std::string StringMaker<char>::convert(char value)
> {
> >> + return "'\\n'";
> >> + } else if (value == '\t') {
> >> + return "'\\t'";
> >> +- } else if ('\0' <= value && value < ' ') {
> >> ++ } else if (value < ' ') {
> >> + return ::Catch::Detail::stringify(static_cast<unsigned
> int>(value));
> >> + } else {
> >> + char chstr[] = "' '";
> >> +--
> >> +2.19.1
> >> +
> >> diff --git a/meta-oe/recipes-test/catch2/catch2_2.4.1.bb
> b/meta-oe/recipes-test/catch2/catch2_2.4.1.bb
> >> new file mode 100644
> >> index 000000000..ba14a362c
> >> --- /dev/null
> >> +++ b/meta-oe/recipes-test/catch2/catch2_2.4.1.bb
> >> @@ -0,0 +1,25 @@
> >> +DESCRIPTION = "A modern, C++-native, header-only, test framework for
> unit-tests, \
> >> +TDD and BDD - using C++11, C++14, C++17 and later."
> >> +AUTHOR = "Phil Nash, Martin Horenovsky and others"
> >> +HOMEPAGE = "https://github.com/catchorg/Catch2"
> >> +LICENSE = "BSL-1.0"
> >> +LIC_FILES_CHKSUM =
> "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
> >> +
> >> +SRC_URI = "git://github.com/catchorg/Catch2.git \
> >> + file://0001-internal-fix-build-in-GCC-7.patch"
> >> +SRCREV = "9e1bdca4667295fcb16265eae00efa8423f07007"
> >> +
> >> +S = "${WORKDIR}/git"
> >> +
> >> +DEPENDS = "python-native"
> >> +
> >> +inherit cmake python3native
> >> +
> >> +# Header-only library
> >> +ALLOW_EMPTY_${PN} = "1"
> >> +
> >> +do_install_append() {
> >> + rm ${D}/usr/share/Catch2/lldbinit
> >> + rm ${D}/usr/share/Catch2/gdbinit
> >> + rmdir ${D}/usr/share/Catch2/
> >> +}
> >> --
> >> 2.19.1
> >>
> >> --
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [meta-oe][PATCH] catch2: new package
2018-10-11 9:08 [meta-oe][PATCH] catch2: new package Bartosz Golaszewski
2018-10-11 9:35 ` Vyacheslav Yurkov
@ 2018-10-11 14:32 ` akuster808
2018-10-15 14:50 ` Bartosz Golaszewski
1 sibling, 1 reply; 6+ messages in thread
From: akuster808 @ 2018-10-11 14:32 UTC (permalink / raw)
To: Bartosz Golaszewski, openembedded-devel, Khem Raj, Hiram Lew,
Jan Kaisrlik, Lukas Karas
Cc: Bartosz Golaszewski
On 10/11/2018 02:08 AM, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
>
> Add a recipe for the catch2 testing framework. There's a bug upstream
> which makes it impossible to build with gcc7 so include a patch.
>
> Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> ---
> .../0001-internal-fix-build-in-GCC-7.patch | 35 +++++++++++++++++++
> meta-oe/recipes-test/catch2/catch2_2.4.1.bb | 25 +++++++++++++
> 2 files changed, 60 insertions(+)
> create mode 100644 meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch
> create mode 100644 meta-oe/recipes-test/catch2/catch2_2.4.1.bb
>
> diff --git a/meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch b/meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch
> new file mode 100644
> index 000000000..606398afa
> --- /dev/null
> +++ b/meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch
> @@ -0,0 +1,35 @@
> +From 857bf7e83db330682a4c722d0b57be1e4481f4e2 Mon Sep 17 00:00:00 2001
> +From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> +Date: Thu, 11 Oct 2018 09:44:24 +0200
> +Subject: [PATCH] internal: fix build in GCC 7
> +
> +The following error is emitted by gcc 7:
> +
> +include/internal/catch_tostring.cpp:217:21: error: comparison is always true due to limited range of data type [-Werror=type-limits]
> +| } else if ('\0' <= value && value < ' ') {
> +| ~~~~~^~~~~~~~
> +| cc1plus: all warnings being treated as errors
> +
> +We can drop the first part of the if.
Please add the "Upstream-Status:" bits
please review
https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
> +
> +Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> +---
> + include/internal/catch_tostring.cpp | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/include/internal/catch_tostring.cpp b/include/internal/catch_tostring.cpp
> +index 4e0c027d..59cc8dec 100644
> +--- a/include/internal/catch_tostring.cpp
> ++++ b/include/internal/catch_tostring.cpp
> +@@ -214,7 +214,7 @@ std::string StringMaker<char>::convert(char value) {
> + return "'\\n'";
> + } else if (value == '\t') {
> + return "'\\t'";
> +- } else if ('\0' <= value && value < ' ') {
> ++ } else if (value < ' ') {
> + return ::Catch::Detail::stringify(static_cast<unsigned int>(value));
> + } else {
> + char chstr[] = "' '";
> +--
> +2.19.1
> +
> diff --git a/meta-oe/recipes-test/catch2/catch2_2.4.1.bb b/meta-oe/recipes-test/catch2/catch2_2.4.1.bb
> new file mode 100644
> index 000000000..ba14a362c
> --- /dev/null
> +++ b/meta-oe/recipes-test/catch2/catch2_2.4.1.bb
> @@ -0,0 +1,25 @@
> +DESCRIPTION = "A modern, C++-native, header-only, test framework for unit-tests, \
> +TDD and BDD - using C++11, C++14, C++17 and later."
> +AUTHOR = "Phil Nash, Martin Horenovsky and others"
> +HOMEPAGE = "https://github.com/catchorg/Catch2"
> +LICENSE = "BSL-1.0"
> +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
> +
> +SRC_URI = "git://github.com/catchorg/Catch2.git \
> + file://0001-internal-fix-build-in-GCC-7.patch"
> +SRCREV = "9e1bdca4667295fcb16265eae00efa8423f07007"
> +
> +S = "${WORKDIR}/git"
> +
> +DEPENDS = "python-native"
Don't need this if you inherit python3native
> +
> +inherit cmake python3native
> +
> +# Header-only library
> +ALLOW_EMPTY_${PN} = "1"
> +
> +do_install_append() {
> + rm ${D}/usr/share/Catch2/lldbinit
> + rm ${D}/usr/share/Catch2/gdbinit
> + rmdir ${D}/usr/share/Catch2/
Please use the variable "datadir" instead of hard coding.
- armin
> +}
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [meta-oe][PATCH] catch2: new package
2018-10-11 14:32 ` akuster808
@ 2018-10-15 14:50 ` Bartosz Golaszewski
0 siblings, 0 replies; 6+ messages in thread
From: Bartosz Golaszewski @ 2018-10-15 14:50 UTC (permalink / raw)
To: Armin Kuster
Cc: Hiram Lew, Bartosz Golaszewski, openembedded-devel, Jan Kaisrlik,
Lukas Karas
czw., 11 paź 2018 o 16:32 akuster808 <akuster808@gmail.com> napisał(a):
>
>
>
> On 10/11/2018 02:08 AM, Bartosz Golaszewski wrote:
> > From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> >
> > Add a recipe for the catch2 testing framework. There's a bug upstream
> > which makes it impossible to build with gcc7 so include a patch.
> >
> > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > ---
> > .../0001-internal-fix-build-in-GCC-7.patch | 35 +++++++++++++++++++
> > meta-oe/recipes-test/catch2/catch2_2.4.1.bb | 25 +++++++++++++
> > 2 files changed, 60 insertions(+)
> > create mode 100644 meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch
> > create mode 100644 meta-oe/recipes-test/catch2/catch2_2.4.1.bb
> >
> > diff --git a/meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch b/meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch
> > new file mode 100644
> > index 000000000..606398afa
> > --- /dev/null
> > +++ b/meta-oe/recipes-test/catch2/catch2/0001-internal-fix-build-in-GCC-7.patch
> > @@ -0,0 +1,35 @@
> > +From 857bf7e83db330682a4c722d0b57be1e4481f4e2 Mon Sep 17 00:00:00 2001
> > +From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > +Date: Thu, 11 Oct 2018 09:44:24 +0200
> > +Subject: [PATCH] internal: fix build in GCC 7
> > +
> > +The following error is emitted by gcc 7:
> > +
> > +include/internal/catch_tostring.cpp:217:21: error: comparison is always true due to limited range of data type [-Werror=type-limits]
> > +| } else if ('\0' <= value && value < ' ') {
> > +| ~~~~~^~~~~~~~
> > +| cc1plus: all warnings being treated as errors
> > +
> > +We can drop the first part of the if.
>
> Please add the "Upstream-Status:" bits
>
> please review
> https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
> > +
> > +Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > +---
> > + include/internal/catch_tostring.cpp | 2 +-
> > + 1 file changed, 1 insertion(+), 1 deletion(-)
> > +
> > +diff --git a/include/internal/catch_tostring.cpp b/include/internal/catch_tostring.cpp
> > +index 4e0c027d..59cc8dec 100644
> > +--- a/include/internal/catch_tostring.cpp
> > ++++ b/include/internal/catch_tostring.cpp
> > +@@ -214,7 +214,7 @@ std::string StringMaker<char>::convert(char value) {
> > + return "'\\n'";
> > + } else if (value == '\t') {
> > + return "'\\t'";
> > +- } else if ('\0' <= value && value < ' ') {
> > ++ } else if (value < ' ') {
> > + return ::Catch::Detail::stringify(static_cast<unsigned int>(value));
> > + } else {
> > + char chstr[] = "' '";
> > +--
> > +2.19.1
> > +
> > diff --git a/meta-oe/recipes-test/catch2/catch2_2.4.1.bb b/meta-oe/recipes-test/catch2/catch2_2.4.1.bb
> > new file mode 100644
> > index 000000000..ba14a362c
> > --- /dev/null
> > +++ b/meta-oe/recipes-test/catch2/catch2_2.4.1.bb
> > @@ -0,0 +1,25 @@
> > +DESCRIPTION = "A modern, C++-native, header-only, test framework for unit-tests, \
> > +TDD and BDD - using C++11, C++14, C++17 and later."
> > +AUTHOR = "Phil Nash, Martin Horenovsky and others"
> > +HOMEPAGE = "https://github.com/catchorg/Catch2"
> > +LICENSE = "BSL-1.0"
> > +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
> > +
> > +SRC_URI = "git://github.com/catchorg/Catch2.git \
> > + file://0001-internal-fix-build-in-GCC-7.patch"
> > +SRCREV = "9e1bdca4667295fcb16265eae00efa8423f07007"
> > +
> > +S = "${WORKDIR}/git"
> > +
> > +DEPENDS = "python-native"
> Don't need this if you inherit python3native
If I don't do it, cmake fails with the following message:
| DEBUG: Executing shell function do_configure
| -- The CXX compiler identification is GNU 8.2.0
| -- Check for working CXX compiler:
/<snip!>/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/catch2/2.4.1-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++
| -- Check for working CXX compiler:
/<snip!>/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/catch2/2.4.1-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++
-- works
| -- Detecting CXX compiler ABI info
| -- Detecting CXX compiler ABI info - done
| -- Detecting CXX compile features
| -- Detecting CXX compile features - done
| -- Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE)
| CMake Error at CMakeLists.txt:43 (message):
| Python not found, but required for tests
|
|
| -- Configuring incomplete, errors occurred!
Seems that other cmake based projects do the same in their recipes.
Bart
> > +
> > +inherit cmake python3native
> > +
> > +# Header-only library
> > +ALLOW_EMPTY_${PN} = "1"
> > +
> > +do_install_append() {
> > + rm ${D}/usr/share/Catch2/lldbinit
> > + rm ${D}/usr/share/Catch2/gdbinit
> > + rmdir ${D}/usr/share/Catch2/
>
> Please use the variable "datadir" instead of hard coding.
>
> - armin
> > +}
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-10-15 14:50 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-11 9:08 [meta-oe][PATCH] catch2: new package Bartosz Golaszewski
2018-10-11 9:35 ` Vyacheslav Yurkov
2018-10-11 13:02 ` Bartosz Golaszewski
2018-10-11 13:23 ` Vyacheslav Yurkov
2018-10-11 14:32 ` akuster808
2018-10-15 14:50 ` Bartosz Golaszewski
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.