All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.