Commit Graph

21 Commits

Author SHA1 Message Date
Gyorgy Sarvari e3c5b2dd0c capnproto: only export binaries for native build
The base problem this is trying to solve: capnproto has two main
components: libraries that can be linked against, and binary files
that can generate c++ code from capnproto definitions. When cross-compiling
one needs to use the cross-compiled libraries, but with the native
definition-compilers.
When linking against capnproto from another recipe, cross-compilation
fails, because the cmake files generated by capnproto verify the
existence of binary files in $bindir. When using a cross-compiled
version of capnproto, these binary files do not exist in RECIPE_SYSROOT, so
the compilation fails.

The previous patch: the previous solution patched the CMakeLists.txt
file in a way that it didn't export nor install the generated binary files.
Accidentally this also happened with native build (and happened knowingly with
target builds).

The new patch: instead of not installing and not exporting the binaries,
just install them without exporting, when creating a target build.
During compilation check is CMAKE_CROSSCOMPILING is set (coming from
cmake.bbclass) - if it is set, only install the binaries, without
exporting. When it is not set, resort to the original behavior.

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-02-25 09:46:52 -08:00
Gyorgy Sarvari 6b1ba4543a capnproto: remove binaries from target-build, add bbclass
When linking to capnproto from another project, cmake fails to
find this package with the following error:

| CMake Error at ${RECIPE_SYSROOT}/usr/lib/cmake/CapnProto/CapnProtoTargets.cmake:176 (message):
|   The imported target "CapnProto::capnp_tool" references the file
|
|      "${RECIPE_SYSROOT}/usr/bin/capnp"
|
|   but this file does not exist.  Possible reasons include:

To solve this, this change includes the following:

1. Add a patch that removes the files installed (and exported) in
${bindir} from the target build. The CMake file originally verified
that these files exist when another recipe tried to use it, however
the ${RECIPE_SYSROOT} does not contain the binaries in ${bindir},
so it failed quick in the do_configure step. (This alone is enough
to link against the cross-compiled libraries of capnproto successfully,
but code-generation from capnproto definition fails)

2. Add a new bbclass for capnproto. To cross-compile an application
that uses capnproto, the application needs to be linked against the
cross-compiled version of the libraries, however the native version
of the binaries need to be used to generate C++ code from the
capnproto definitions. This class sets the correct CMake arguments, to
use the capnproto binaries from the native package, instead of looking
for the non-existent cross-compiled binaries. (These variables can
be found in ${libdir}/cmake/CapnProto/CapnProtoConfig.cmake file)

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-02-03 11:25:22 -08:00
s-tokumoto 624544ac41 capnproto: Add "capnp" to CVE_PRODUCT
Vulnerabilities against capnproto are sometimes reported as "capnp",
so add "capnp" to CVE_PRODUCT.

https://nvd.nist.gov/vuln/detail/CVE-2022-46149

Signed-off-by: Shunsuke Tokumoto <s-tokumoto@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-09-26 06:58:28 -07:00
Wang Mingyu c1e3429d59 capnproto: upgrade 1.0.1.1 -> 1.0.2
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-01-23 11:55:34 -08:00
Wang Mingyu 5c9927db54 capnproto: upgrade 1.0.1 -> 1.0.1.1
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-11-28 08:55:40 -08:00
alperak dbee6afc11 capnproto: upgrade 0.10.4 -> 1.0.1
Signed-off-by: alperak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-11-17 11:38:25 -08:00
Wang Mingyu 24d8984345 capnproto: upgrade 0.10.3 -> 0.10.4
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-04-17 09:53:31 -07:00
Wang Mingyu bfd2ea6cdc capnproto: upgrade 0.10.2 -> 0.10.3
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-12-05 09:16:24 -08:00
wangmy d8aaff2a97 capnproto: upgrade 0.9.1 -> 0.10.2
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-07-06 00:03:36 -04:00
Khem Raj b0a284d952 capnproto: Link in libatomic on ppc
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-14 09:16:05 -07:00
Khem Raj 5f62cb59a4 capnproto: Link with libatomic on rv32
Fixes
riscv32-yoe-linux-ld: layout.c++:(.text+0x570e): undefined reference to `__atomic_load_8'

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-02-21 18:12:04 -08:00
Khem Raj 2cfaa70818 capnproto: Fix build on mips
gcc and clang calls atomic intrinsics which needs linking with libatomic
Fixes
| /usr/src/debug/capnproto/0.9.1-r0/git/c++/src/capnp/arena.h:114: undefined reference to `__atomic_load_8'

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-02-12 17:17:50 -08:00
Oleksandr Kravchuk 905dbd4aa5 capnproto: update to 0.9.1
Removed upstreamed patch.

Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-02-11 09:10:38 -08:00
Richard Purdie b402a3076f recipes: Update SRC_URI branch and protocols
This patch updates SRC_URIs using git to include branch=master if no branch is set
and also to use protocol=https for github urls as generated by the conversion script
in OE-Core.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-03 06:57:49 -07:00
Martin Jansa c61dc077bb Convert to new override syntax
This is the result of automated script (0.9.1) conversion:

oe-core/scripts/contrib/convert-overrides.py .

converting the metadata to use ":" as the override character instead of "_".

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-08-03 10:21:25 -07:00
Khem Raj 44bd7e632e capnproto: Fix build on 32bit arches with 64bit time_t defaults
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-11-15 12:26:38 -08:00
Zang Ruochen 89118296b0 capnproto: upgrade 0.7.0 -> 0.8.0
Signed-off-by: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-07-28 12:23:15 -07:00
Oleksandr Kravchuk 9f825cb31c capnproto: update to 0.7.0
License checksum changed due to minor change to the LICENSE file
mentioning other contributors (see @64db3a6def96453f775d).

Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-09-12 21:34:18 -07:00
Trevor Woerner ba2b7b5195 capnproto: variable cleanup
Reorder recipe variables according to:

	https://www.openembedded.org/wiki/Styleguide

Originally-conceived-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-05-29 12:56:19 -07:00
Trevor Woerner 79745a726a capnproto: rely on cmake.bbclass to put cmake package files in dev package
The cmake.bbclass in oe-core now ensures that ${libdir}/cmake and
${datadir}/cmake end up in the dev package, so recipes no longer need to
provide custom packaging rules to handles these files.

	http://git.openembedded.org/openembedded-core/commit/?id=d91dc4666683a96e9d03cbbd21b8a546f9069c93

Originally-conceived-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-05-29 09:13:51 -07:00
Pascal Bach f1fd45a7e6 capnproto: add version 0.6.1
Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-09-18 10:18:11 +02:00