60 Commits

Author SHA1 Message Date
Michael Nosthoff 8a25343461 package/grpc: bump to version 1.78.0
Release Notes:
https://github.com/grpc/grpc/releases/tag/v1.78.0
(v1.77.0 was never released, so no log)

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2026-02-12 21:08:31 +01:00
Michael Nosthoff 656fc0f78e package/grpc: bump to version 1.76.0
- use new flag gRPC_DOWNLOAD_ARCHIVES=OFF which removed the need for
  patch 0003
- refresh patches
- update 0002 to properly apply and re-enable utf8_range_lib as its linked
  against grpc_plugin_support

Release Notes since 1.66:
https://github.com/grpc/grpc/releases/tag/v1.67.0
https://github.com/grpc/grpc/releases/tag/v1.68.0
https://github.com/grpc/grpc/releases/tag/v1.69.0
https://github.com/grpc/grpc/releases/tag/v1.70.0
https://github.com/grpc/grpc/releases/tag/v1.71.0
https://github.com/grpc/grpc/releases/tag/v1.72.0
https://github.com/grpc/grpc/releases/tag/v1.73.0
https://github.com/grpc/grpc/releases/tag/v1.74.0
https://github.com/grpc/grpc/releases/tag/v1.75.0
https://github.com/grpc/grpc/releases/tag/v1.76.0

Fixes: 2d19a0b332 "package/{python-}protobuf: bump to version 33.2"

This bump of protobuf broke the build of grpc 1.66.1, which can be
reproduced with:

BR2_arm=y
BR2_cortex_a53=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_PACKAGE_COLLECTD=y
BR2_PACKAGE_COLLECTD_GRPC=y

Fixes:

  https://autobuild.buildroot.net/results/84764134062f28f86ecb1646a536ee4862e4f8df/

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2026-02-02 22:51:55 +01:00
Michael Nosthoff e513d6a5fd package/grpc: remove BUILD_CSHARP_EXT option
the CSharp Extension was removed in grcp 1.47.0 [0] and the option in
the CMakeLists was dropped in 1.58.0 [1], which means that it is no
longer relevant since Buildroot commit
91d1207de0, which bumped grpc from
1.51.1 to 1.66.1.

So remove this option for host-grpc as well.

Fixes:
  CMake Warning:
    Manually-specified variables were not used by the project:

      gRPC_BUILD_CSHARP_EXT

[0] https://github.com/grpc/grpc/releases/tag/v1.47.0
[1] https://github.com/grpc/grpc/commit/3a2bd221ef1166ae7d7bba3f700ff92ce3df5e86

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2025-12-14 18:03:16 +01:00
Thomas Petazzoni 9fcfec8341 package/grpc: remove BR2_TOOLCHAIN_HAS_GCC_BUG_85180 dead code
This work-around was added in commit
716f8b34c5 ("package/grpc: work around
gcc bug 85180") to work around a bug on Microblaze. However, since
commit
ae0557403a ("package/libabseil-cpp: add
BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS"), grpc depends on
libaseil-cpp, which isn't available on Microblaze, making the
GCC_BUG_85180 no longer needed, and effectively dead code. This commit
drops it.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2025-02-05 14:45:40 +01:00
James Hilliard 91d1207de0 package/grpc: bump to version 1.66.1
Add new -DgRPC_BUILD_CODEGEN=OFF config option which is required if
no plugins are enabled.

Drop "add GPR_DISABLE_WRAPPED_MEMCPY" patch which is upstream.

Rebase remaining patches.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2025-02-05 14:45:39 +01:00
Dario Binacchi 700c394b17 package/grpc: update the patches to be applied with fuzz 0
Commit 8f88a644ed ("support/scripts/apply-patches.sh: set the maximum
fuzz factor to 0") reduced the fuzz factor.

Due to this change, grpc fails to build with output:

    Applying 0003-host-grpc-only-cpp-plugin.patch using patch:
    patching file CMakeLists.txt
    Hunk #2 succeeded at 567 (offset 8 lines).
    Hunk #3 succeeded at 580 (offset 7 lines).
    Hunk #4 succeeded at 1315 (offset 79 lines).
    Hunk #5 succeeded at 1368 (offset 79 lines).
    Hunk #6 FAILED at 1462.
    Hunk #7 succeeded at 2515 (offset 131 lines).
    Hunk #8 succeeded at 2631 (offset 107 lines).
    Hunk #9 succeeded at 3117 (offset 186 lines).
    Hunk #10 succeeded at 3202 (offset 198 lines).
    Hunk #11 succeeded at 3654 (offset 172 lines).
    Hunk #12 succeeded at 3909 (offset 184 lines).
    Hunk #13 succeeded at 4203 (offset 158 lines).
    Hunk #14 succeeded at 4263 (offset 158 lines).
    Hunk #15 succeeded at 4347 (offset 158 lines).
    Hunk #16 FAILED at 4281.
    Hunk #17 succeeded at 11110 (offset -143 lines).
    Hunk #18 succeeded at 11140 (offset -143 lines).
    Hunk #19 succeeded at 23153 (offset 3325 lines).
    Hunk #20 succeeded at 23250 (offset 3325 lines).
    2 out of 20 hunks FAILED -- saving rejects to file CMakeLists.txt.rej

This commit refreshes the package patch on the current package version.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2024-07-02 21:39:30 +02:00
Fabrice Fontaine 4f7f056569 package/re2: propagate libabseil-cpp dependencies
Commit fc7606010e forgot to propagate
libabseil-cpp dependencies to re2

Fixes:
 - No autobuilder failures (yet)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Reviewed-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-02-07 12:44:04 +01:00
Michael Nosthoff fc7606010e package/re2: bump to version 2023.11.01
- libabseil-cpp is now a dependency
- required c++ standard is now c++14 [0] --> requires gcc8
- drop fix for gcc <= 5 introduced in 25fd3b0a52
  (c++ >= 14 is the default for gcc >= 8)
- update gcc required for depending packages qt5webengine & grpc

[0] https://github.com/google/re2/wiki/Install/7c2552dd54444695ce5a9e6a01dd8f312b347914

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-11-27 19:31:42 +01:00
Michael Nosthoff aea790392a package/libabseil-cpp: bump to version 20230802.1
abseil and other google tools are now subject to
"Google's Foundational C++ Support Policy" [0][1]. This currently mandates
gcc 7.3.1 and C++14 as minimum versions.

Since we don't have guards for patch versions of gcc 7 use gcc 8 as minimum.

[0] https://github.com/abseil/abseil-cpp/releases/tag/20230125.0
[1] https://github.com/google/oss-policies-info/blob/b842c39db88e6569dfe2cf98be434b03507cb503/foundational-cxx-support-matrix.md

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-11-18 15:36:06 +01:00
Michael Nosthoff 1cb6906eeb package/grpc: bump to version 1.51.1
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-01-04 22:21:47 +01:00
Michael Nosthoff a9f5a9926f package/grpc: bump to version 1.50.0
drop cross-compile patch which is now upstream (again).

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-10-25 22:58:00 +02:00
Michael Nosthoff bf68e0e91a package/grpc: bump to version 1.49.1
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-09-28 23:39:10 +02:00
Fabrice Fontaine 96f84b2375 package/grpc: fix legal info
Commit 0fc2438ff6 forgot to update hash of
LICENSE (full text of MPLv2 included with
https://github.com/grpc/grpc/commit/05fcd826f477ef1a024a2defa5e4b3d78f5e6eb4)

Fixes:
 - http://autobuild.buildroot.org/results/98b820f85cd32596bde6bbee2cfc7e07ecfa454b

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-08-11 23:02:15 +02:00
Michael Nosthoff 0fc2438ff6 package/grpc: bump to version 1.48.0
- rework host-grpc-only-cpp-plugin.patch to match changed CMakeLists.txt
- reintroduce patch to fix cross_compile with host grpc_cpp_plugin [1]
- add patch to disable unconditionally downloading repos of 3rd party APIs not
  used in build [2]

[1] https://github.com/grpc/grpc/pull/30378
[2] https://github.com/grpc/grpc/issues/30385

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-07-27 12:00:57 +02:00
Michael Nosthoff 4755c70669 package/grpc: bump to version 1.45.2
grpc now requires gcc >= 5.1
see https://groups.google.com/g/grpc-io/c/Plvp29818BE

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-04-27 19:16:47 +02:00
Fabrice Fontaine e3aa82ea44 package/grpc: fix build with libexecinfo
Fix the following build failure raised on uclibc and musl since the
reintroduction of the package in commit
16ff948444:

/home/buildroot/autobuild/instance-1/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/10.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/buildroot/autobuild/instance-1/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libabsl_stacktrace.so.2111.0.0: undefined reference to `backtrace'

Fixes:
 - http://autobuild.buildroot.org/results/63ab2bc86cad03d5258492b17d1707078761d9b3

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-03-24 21:51:23 +01:00
Michael Nosthoff 8e27390f85 package/grpc: bump to version 1.44.0
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-03-12 18:08:54 +01:00
Fabrice Fontaine 9f22134430 package/grpc: fix fourth patch
Fix the following build failure raised since the addition of fourth
patch in commit 8251d8c255:

1 out of 22 hunks FAILED -- saving rejects to file CMakeLists.txt.rej

Fixes:
 - http://autobuild.buildroot.org/results/44f6d7c61316e90d22e75cb1fb77c3bc5b31ad66

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-02-13 15:44:04 +01:00
Thomas De Schampheleire 8251d8c255 package/grpc: restrict host-grpc to the absolute minimum
Currently, grpc depends on the full host-grpc, which in turn depends on host
versions of many other libraries. One of these, host-libabseil-cpp, also
requires a host gcc 4.9 or larger, a dependency which is not met on CentOS
7.
But in fact, the target grpc only needs the 'grpc_cpp_plugin' binary from
host-grpc. And that binary does not depend on host-libabseil-cpp or other
libraries, only on host-protobuf.

Given the above, simplify the grpc/host-grpc situation.
- Add a patch to the (host-)grpc CMakeLists.txt file to add an option to
  only build grpc_cpp_plugin.
- Update grpc.mk and Config.in to remove the unnecessary dependencies, and
  change the host-grpc configure options to make cmake happy.

The advantages of these changes are:
- making grpc available to older hosts with gcc < 4.8, like CentOS 7
- significantly reducing the build time of host-grpc and its dependencies

The patch was proposed upstream but not accepted with below rationale.
Perhaps input from others can help in persuading upstream in a future
attempt.

    'What you're doing sounds like quite a narrow use case. But we simply
    cannot provide a cmake option for every possible scenario in the world.
    Introducing a new cmake option isn't for free and requires careful
    design and maintenance.'

Nevertheless, given the benefits in terms of build time and dependency
reduction, it makes sense to apply this patch in spite of the disadvantage
of a local non-upstreamed patch.

Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
[Arnout: propagate removed dependency to collectd]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-02-06 20:29:53 +01:00
Michael Nosthoff ffb2b79004 package/grpc: bump version to 1.43.0
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-12-20 23:18:48 +01:00
Michael Nosthoff ac0ddf8bdf package/grpc: bump version to 1.42.0
* update patch 0001 to match changed target code
* BSD-3c and MPL-2.0 licenses were added to LICENSE

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-12-11 21:46:17 +01:00
Arnout Vandecappelle (Essensium/Mind) 50c4fd9363 package/grpc: add missing licenses
Some of the third party code is BSD-licensed. In addition, the roots.pem
certificate store is MPL-licensed.

This was probably already the case in earlier versions as well, but it
was only noticed while updating to 1.42.0 because the LICENSE file was
adapted for it.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-12-11 21:46:17 +01:00
Christian Stewart via buildroot 7fcddb4a2f package/grpc: bump version to 1.41.0
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-10-12 22:23:42 +02:00
Michael Nosthoff d174b00c50 package/grpc: bump version to 1.40
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-09-18 22:32:36 +02:00
Michael Nosthoff 4185f6dae9 package/grpc: bump version to 1.39.0
* drop CMakeLists.txt patch applied upstream.
 * Update patch for wrap_memcpy.cc to match changed target file.
 * update patch numbering.

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-08-04 22:01:54 +02:00
Michael Nosthoff 92785434cb package/grpc: bump version to 1.38.1
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-07-20 22:39:55 +02:00
Peter Korsgaard 8d07baab43 Merge branch 'next'
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-06-07 17:14:37 +02:00
Michael Nosthoff f7735a8f3e package/grpc: bump to version 1.37.1
Fixes from Changelog [0]:
 - Fix #25897 to avoid crashes when certificates are not yet updated
 - [Backport] Fix use-after-unref bug in fault_injection_filter.

[0] https://github.com/grpc/grpc/releases/tag/v1.37.1

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-05-19 10:41:15 +02:00
Fabrice Fontaine ea77594f3f package/grpc: add GRPC_CPE_ID_VENDOR
cpe:2.3:a:grpc:grpc is a valid CPE identifier for this package:

  https://nvd.nist.gov/products/cpe/search/results?namingFormat=2.3&keyword=cpe%3A2.3%3Aa%3Agrpc%3Agrpc

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-05-16 18:30:45 +02:00
Michael Nosthoff efd762feaa package/grpc: bump to version 1.37.0
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-04-19 22:26:25 +02:00
Michael Nosthoff b008910936 package/grpc: bump to version 1.36.2
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-03-16 21:46:50 +01:00
Michael Nosthoff 46979791ba package/grpc: bump to version 1.36.0
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-03-06 21:23:29 +01:00
Thomas De Schampheleire f1d268cf7d package/grpc: disable unnecessary build plugins
grpc has plugins for multiple programming languages, which are needed on
development machines only. Examples are grpc_cpp_plugin, grpc_ruby_plugin,
etc.

Even though before commit fedf3318e3,
grpc_cpp_plugin was not installed for target, all other plugins still were.
This causes additional build time and rootfs space.

As Buildroot does not support building a development environment for target,
these tools can be disabled.

Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-02-03 23:00:03 +01:00
Thomas De Schampheleire 225153c08d package/grpc: fix cross-compilation with gRPC_BUILD_GRPC_CPP_PLUGIN=OFF
In commit fedf3318e3, an obsolete patch to
support cross-compilation was removed, in favor of the upstream solution.

However, this caused a small change in behavior: for the target grpc, the
tool 'grpc_cpp_plugin' is now also built, while before it was not.

This tool is only really needed on development machines. Since Buildroot
does not support compilers and such on target itself, the tool is not
needed.

There exists an option gRPC_BUILD_GRPC_CPP_PLUGIN which can be set to 'OFF',
but disabling it in a cross-compilation context yields build failures.

Add a patch to fix that. This patch is intended to be upstreamed to grpc.

Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-02-03 23:00:02 +01:00
Thomas De Schampheleire fedf3318e3 package/grpc: remove obsolete patch to support cross-compiling
When cross-compiling grpc, a native tool 'grpc_cpp_plugin' is needed.
Patch '0001-target-build-using-host-plugin.patch' in Buildroot provides a
way to pass the path to this tool via a configure option
'gRPC_NATIVE_CPP_PLUGIN'.

In version 1.20.0, the upstream grpc project added better support for
cross-compiling via commit 0d7a0ded [1], searching for the native
grpc_cpp_plugin via PATH (rather than specifying it as configure option as
our patch was doing).

This change renders the mentioned Buildroot patch obsolete, so remove it.

[1] https://github.com/grpc/grpc/commit/0d7a0ded1cc93bb7f4d69a156b0a69829557cbf2

Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Reviewed-by: Michael Nosthoff <buildroot@heine.tech>
Tested-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-02-02 16:42:48 +01:00
Michael Nosthoff 7c3df4fc49 package/grpc: bump to version 1.35.0
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-01-29 09:27:36 +01:00
Michael Nosthoff 32dc218c82 package/grpc: drop host gcc 4.8 workaround
Due to libabseil dependencies the host gcc is at least 4.9.
So the fix for host gcc 4.8 is no longer needed.

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-01-18 22:22:44 +01:00
Michael Nosthoff ad29c70abb package/grpc: bump version to 1.34.0
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-01-17 16:47:05 +01:00
Fabrice Fontaine ad89878c6f package/grpc: add host gcc >= 4.9 comment
Commit e98610f039 forgot to update comment

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-11-04 08:31:23 +01:00
Michael Nosthoff 60afdd7a46 package/grpc: bump version to 1.33.2
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-11-03 20:53:52 +01:00
Michael Nosthoff e98610f039 package/libabseil-cpp: depend on (host) gcc >= 4.9
abseil depends on gcc >= 4.9 according to [0] and actually doesn't
compile anymore with the latest version bump.
This didn't show in the autobuilders as the C++11 issue fixed in the
previous commit shadowed it.

also update dependency in package/grpc.

fixes:
 https://github.com/abseil/abseil-cpp/issues/795

[0] https://abseil.io/docs/cpp/platforms/platforms#linux

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-10-31 22:21:13 +01:00
Michael Nosthoff ab6531b676 package/grpc: bump version to 1.33.1
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-10-24 22:52:01 +02:00
Michael Nosthoff 31fca9592d package/grpc: bump version to 1.32.0
- order dependencies alphabetically
- update hash
- alter patch offsets

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-09-19 21:53:14 +02:00
Michael Nosthoff 19dfe7f6e7 package/grpc: fix build on ubuntu gcc 4.8
gcc 4.8 on ubuntu 14.04 does some broken optimization at link-time
which causes grpc to create a grpc_cpp_plugin which quits because
of a failing assertion. The created plugin is itself used during
compilation which lets the build fail.
With the added -Wl,--no-as-needed flag the LTO is disabled and grpc
compiles successfully.

fixes:
- http://autobuild.buildroot.net/results/b554f6f2fb66892273f7520ad6e36923557b229e
- http://autobuild.buildroot.net/results/3ebb2880b9b3fd5154979016391dde897e2c039c
- http://autobuild.buildroot.net/results/c2078e821e0728fe980be2c849c25d82e791a4c2

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
[yann.morin.1998@free.fr: rewrap the comment]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-09-19 10:17:33 +02:00
Fabrice Fontaine f9a2d65cae package/re2: needs threads
re2 unconditionally uses -pthread and add it to re2.pc

Moreover, it fails to buid without threads on:

In file included from /home/peko/autobuild/instance-0/output-1/per-package/re2/host/opt/ext-toolchain/arm-buildroot-linux-uclibcgnueabihf/include/c++/8.3.0/arm-buildroot-linux-uclibcgnueabihf/bits/os_defines.h:39,
                 from /home/peko/autobuild/instance-0/output-1/per-package/re2/host/opt/ext-toolchain/arm-buildroot-linux-uclibcgnueabihf/include/c++/8.3.0/arm-buildroot-linux-uclibcgnueabihf/bits/c++config.h:508,
                 from /home/peko/autobuild/instance-0/output-1/per-package/re2/host/opt/ext-toolchain/arm-buildroot-linux-uclibcgnueabihf/include/c++/8.3.0/bits/stl_algobase.h:59,
                 from /home/peko/autobuild/instance-0/output-1/per-package/re2/host/opt/ext-toolchain/arm-buildroot-linux-uclibcgnueabihf/include/c++/8.3.0/memory:62,
                 from /home/peko/autobuild/instance-0/output-1/build/re2-2020-08-01/re2/filtered_re2.h:24,
                 from /home/peko/autobuild/instance-0/output-1/build/re2-2020-08-01/re2/filtered_re2.cc:5:
/home/peko/autobuild/instance-0/output-1/per-package/re2/host/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/features.h:218:5: warning: #warning requested reentrant code, but thread support was disabled [-Wcpp]
 #   warning requested reentrant code, but thread support was disabled
     ^~~~~~~
In file included from /home/peko/autobuild/instance-0/output-1/build/re2-2020-08-01/re2/prog.h:22,
                 from /home/peko/autobuild/instance-0/output-1/build/re2-2020-08-01/re2/bitstate.cc:28:
/home/peko/autobuild/instance-0/output-1/build/re2-2020-08-01/re2/re2.h:768:16: error: 'once_flag' in namespace 'std' does not name a type
   mutable std::once_flag rprog_once_;
                ^~~~~~~~~
/home/peko/autobuild/instance-0/output-1/build/re2-2020-08-01/re2/re2.h:768:11: note: 'std::once_flag' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
/home/peko/autobuild/instance-0/output-1/build/re2-2020-08-01/re2/re2.h:218:1:
+#include <mutex>

Fixes:
 - http://autobuild.buildroot.org/results/7d7c6dcac3cb8ea6deb753178e85eb1c5c74c8e3

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Reviewed-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-09-13 18:56:47 +02:00
Michael Nosthoff 4741968d8b package/grpc: bump version to 1.31.0
Related changes:
 - add dependency on Google RE2 package
 - update patches to new offsets

Tested on Ubuntu 20.04

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-08-16 23:30:57 +02:00
Thomas Petazzoni ae0557403a package/libabseil-cpp: add BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS
The libabseil-cpp package fails to build on a number of CPU
architectures in our autobuilders.

On most CPU architectures, the first issue looked like this:

libabseil-cpp-20200225/absl/base/internal/direct_mmap.h: In function 'void* absl::lts_2020_02_25::base_internal::DirectMmap(void*, size_t, int, int, int, off64_t)':
libabseil-cpp-20200225/absl/base/internal/direct_mmap.h:121:39: error: static assertion failed: Platform is not 64-bit
  121 |   static_assert(sizeof(unsigned long) == 8, "Platform is not 64-bit");
      |                 ~~~~~~~~~~~~~~~~~~~~~~^~~~
libabseil-cpp-20200225/absl/base/internal/direct_mmap.h:123:15: error: 'SYS_mmap' was not declared in this scope; did you mean 'SYS_mmap2'?
  123 |       syscall(SYS_mmap, start, length, prot, flags, fd, offset));
      |               ^~~~~~~~
      |               SYS_mmap2

Indeed, on 32-bit architectures, libabseil-cpp has some special code
to use the mmap2() system call, and it white-lists the supported
architectures. It is therefore trivial to add support for more
architectures.

However, once this is fixed, another issue arises:
absl/debugging/internal/examine_stack.cc uses the ucontext data
structures, which are not provided by uClibc-ng on all CPU
architectures, and even the code of libabseil-cpp does not exist for
all CPU architectures.

So, this commit solves that by simply making libabseil-cpp available
on architectures/C libraries where it is supported: it needs ucontext
support in the toolchain + a CPU architecture where
absl/debugging/internal/examine_stack.cc has the appropriate logic.

This new dependency is propagated to the reverse dependencies of
libabseil-cpp.

With this commit, libabseil-cpp passes a test-pkg -a test (so all
external toolchains used by the autobuilders):

                             andes-nds32 [ 1/45]: SKIPPED
                             arm-aarch64 [ 2/45]: OK
                        br-aarch64-glibc [ 3/45]: OK
                           br-arcle-hs38 [ 4/45]: SKIPPED
                            br-arm-basic [ 5/45]: SKIPPED
                  br-arm-cortex-a9-glibc [ 6/45]: OK
                   br-arm-cortex-a9-musl [ 7/45]: OK
                   br-arm-cortex-m4-full [ 8/45]: SKIPPED
                             br-arm-full [ 9/45]: OK
                    br-arm-full-nothread [10/45]: SKIPPED
                      br-arm-full-static [11/45]: SKIPPED
                   br-i386-pentium4-full [12/45]: OK
                br-i386-pentium-mmx-musl [13/45]: OK
                       br-m68k-5208-full [14/45]: SKIPPED
                      br-m68k-68040-full [15/45]: SKIPPED
                    br-microblazeel-full [16/45]: SKIPPED
                 br-mips32r6-el-hf-glibc [17/45]: OK
                      br-mips64-n64-full [18/45]: OK
                 br-mips64r6-el-hf-glibc [19/45]: OK
                      br-mipsel-o32-full [20/45]: OK
                          br-nios2-glibc [21/45]: SKIPPED
                      br-openrisc-uclibc [22/45]: SKIPPED
               br-powerpc-603e-basic-cpp [23/45]: SKIPPED
             br-powerpc64le-power8-glibc [24/45]: OK
               br-powerpc64-power7-glibc [25/45]: OK
                  br-powerpc-e500mc-full [26/45]: SKIPPED
                              br-riscv32 [27/45]: OK
                              br-riscv64 [28/45]: OK
                         br-riscv64-musl [29/45]: OK
                             br-sh4-full [30/45]: SKIPPED
                        br-sparc64-glibc [31/45]: SKIPPED
                         br-sparc-uclibc [32/45]: SKIPPED
                    br-x86-64-core2-full [33/45]: OK
                          br-x86-64-musl [34/45]: OK
                          br-xtensa-full [35/45]: SKIPPED
                       linaro-aarch64-be [36/45]: OK
                          linaro-aarch64 [37/45]: OK
                              linaro-arm [38/45]: OK
                     sourcery-arm-armv4t [39/45]: OK
                            sourcery-arm [40/45]: OK
                     sourcery-arm-thumb2 [41/45]: OK
                         sourcery-mips64 [42/45]: OK
                           sourcery-mips [43/45]: OK
                          sourcery-nios2 [44/45]: SKIPPED
                         sourcery-x86-64 [45/45]: OK
45 builds, 18 skipped, 0 build failed, 0 legal-info failed

Fixes:

  http://autobuild.buildroot.net/results/ead663b4b67b0b57ed003a46db3182d95cc01bc0/
  (and many similar build failures)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-08-09 18:55:21 +02:00
Thomas Petazzoni a68fb15dc6 package/libabseil-cpp: needs dynamic library support
The libabseil-cpp build needs <dlfcn.h>, so let's add a
!BR2_STATIC_LIBS dependency. The only package which is selecting
libabseil-cpp, grpc, already had this dependency anyway.

Fixes:

  http://autobuild.buildroot.net/results/2d796dd4cc43388da235b83f53778d902f477799/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-08-07 12:12:21 +02:00
Adam Duskett d0fb813539 package/grpc: bump version to 1.30.2
Other changes:
  - Add a dependency on libabseil-cpp
  - Update the patches to apply properly.

Tested with the following distributions:
  - Debian 9
  - CentOS 7
  - Fedora 32

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-07-25 22:37:35 +02:00
Adam Duskett e0e54afd0c package/grpc: bump to version 1.25.0
Other changes:

 - Remove upstream patch 0004-Fix-gettid-naming-conflict.patch
 - Remove upstream patch 0005-Rename-gettid-functions.patch
 - Add a check for BR2_TOOLCHAIN_GCC_AT_LEAST_5 in grpc.mk. If the
   selected toolchain is not at least version 5 or higher and the
   optimization level is -Os, set the GRPC_CFLAGS and GRPC_CXXFLAGS
   optimizations to -O2. This check prevents the following error:

   error: failure memory model cannot be stronger than success memory model for '__atomic_compare_exchange'

Tested with test-pkg, all tests passed:
            br-arm-full [1/6]: OK
 br-arm-cortex-a9-glibc [2/6]: OK
  br-arm-cortex-m4-full [3/6]: SKIPPED
         br-x86-64-musl [4/6]: OK
     br-arm-full-static [5/6]: SKIPPED

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-12-08 15:39:57 +01:00