Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New recipe: Eclipse Kuksa Databroker CLI #21

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions meta-leda-components/recipes-sdv/eclipse-kuksa/databroker-cli.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# /********************************************************************************
# * Copyright (c) 2022 Contributors to the Eclipse Foundation
# *
# * See the NOTICE file(s) distributed with this work for additional
# * information regarding copyright ownership.
# *
# * This program and the accompanying materials are made available under the
# * terms of the Apache License 2.0 which is available at
# * https://www.apache.org/licenses/LICENSE-2.0
# *
# * SPDX-License-Identifier: Apache-2.0
# ********************************************************************************/
#
# Include file for Kuksa Databroker Command Line Tool

DESCRIPTION = "Eclipse Kuksa - DataBroker command line tool to interact with the databroker server"
Original file line number Diff line number Diff line change
@@ -0,0 +1,226 @@
# /********************************************************************************
# * Copyright (c) 2022 Contributors to the Eclipse Foundation
# *
# * See the NOTICE file(s) distributed with this work for additional
# * information regarding copyright ownership.
# *
# * This program and the accompanying materials are made available under the
# * terms of the Apache License 2.0 which is available at
# * https://www.apache.org/licenses/LICENSE-2.0
# *
# * SPDX-License-Identifier: Apache-2.0
# ********************************************************************************/
#
# Auto-Generated by cargo-bitbake 0.3.16
#
inherit cargo

# If this is git based prefer versioned ones if they exist
# DEFAULT_PREFERENCE = "-1"

# how to get databroker-cli could be as easy as but default to a git checkout:
# SRC_URI += "crate://crates.io/databroker-cli/0.17.0"
SRC_URI += "gitsm://github.com/eclipse/kuksa.val;protocol=https;nobranch=1"
SRCREV = "590198a35de7b2201bdd913750157bb9778a5214"
S = "${WORKDIR}/git"
CARGO_SRC_DIR = "kuksa_databroker/databroker-cli"
PV:append = ".AUTOINC+861b2ec674"

# please note if you have entries that do not begin with crate://
# you must change them to how that package can be fetched
SRC_URI += " \
crate://crates.io/aho-corasick/0.7.18 \
crate://crates.io/ansi_term/0.12.1 \
crate://crates.io/anyhow/1.0.59 \
crate://crates.io/arrayref/0.3.6 \
crate://crates.io/arrayvec/0.5.2 \
crate://crates.io/async-stream-impl/0.3.3 \
crate://crates.io/async-stream/0.3.3 \
crate://crates.io/async-trait/0.1.57 \
crate://crates.io/autocfg/1.1.0 \
crate://crates.io/base64/0.13.0 \
crate://crates.io/bitflags/1.3.2 \
crate://crates.io/blake2b_simd/0.5.11 \
crate://crates.io/bumpalo/3.10.0 \
crate://crates.io/bytes/1.2.1 \
crate://crates.io/cc/1.0.73 \
crate://crates.io/cfg-if/0.1.10 \
crate://crates.io/cfg-if/1.0.0 \
crate://crates.io/clap/3.2.16 \
crate://crates.io/clap_lex/0.2.4 \
crate://crates.io/constant_time_eq/0.1.5 \
crate://crates.io/crossbeam-utils/0.8.11 \
crate://crates.io/dirs-sys/0.3.7 \
crate://crates.io/dirs/1.0.5 \
crate://crates.io/dirs/2.0.2 \
crate://crates.io/either/1.7.0 \
crate://crates.io/enum-iterator-derive/1.0.2 \
crate://crates.io/enum-iterator/1.1.3 \
crate://crates.io/fastrand/1.8.0 \
crate://crates.io/fixedbitset/0.4.2 \
crate://crates.io/fnv/1.0.7 \
crate://crates.io/form_urlencoded/1.0.1 \
crate://crates.io/futures-channel/0.3.21 \
crate://crates.io/futures-core/0.3.21 \
crate://crates.io/futures-sink/0.3.21 \
crate://crates.io/futures-task/0.3.21 \
crate://crates.io/futures-util/0.3.21 \
crate://crates.io/getrandom/0.1.16 \
crate://crates.io/getrandom/0.2.7 \
crate://crates.io/getset/0.1.2 \
crate://crates.io/git2/0.14.4 \
crate://crates.io/h2/0.3.13 \
crate://crates.io/hashbrown/0.12.3 \
crate://crates.io/heck/0.3.3 \
crate://crates.io/hermit-abi/0.1.19 \
crate://crates.io/http-body/0.4.5 \
crate://crates.io/http/0.2.8 \
crate://crates.io/httparse/1.7.1 \
crate://crates.io/httpdate/1.0.2 \
crate://crates.io/hyper-timeout/0.4.1 \
crate://crates.io/hyper/0.14.20 \
crate://crates.io/idna/0.2.3 \
crate://crates.io/indexmap/1.9.1 \
crate://crates.io/instant/0.1.12 \
crate://crates.io/itertools/0.10.3 \
crate://crates.io/itoa/1.0.3 \
crate://crates.io/jobserver/0.1.24 \
crate://crates.io/js-sys/0.3.59 \
crate://crates.io/lazy_static/1.4.0 \
crate://crates.io/libc/0.2.127 \
crate://crates.io/libgit2-sys/0.13.4+1.4.2 \
crate://crates.io/libz-sys/1.1.8 \
crate://crates.io/linefeed/0.6.0 \
crate://crates.io/log/0.4.17 \
crate://crates.io/matchers/0.1.0 \
crate://crates.io/matches/0.1.9 \
crate://crates.io/memchr/2.5.0 \
crate://crates.io/memoffset/0.6.5 \
crate://crates.io/mio/0.8.4 \
crate://crates.io/mortal/0.2.3 \
crate://crates.io/multimap/0.8.3 \
crate://crates.io/nix/0.23.1 \
crate://crates.io/nom/5.1.2 \
crate://crates.io/num_cpus/1.13.1 \
crate://crates.io/num_threads/0.1.6 \
crate://crates.io/once_cell/1.13.0 \
crate://crates.io/os_str_bytes/6.2.0 \
crate://crates.io/percent-encoding/2.1.0 \
crate://crates.io/petgraph/0.6.2 \
crate://crates.io/phf/0.8.0 \
crate://crates.io/phf_codegen/0.8.0 \
crate://crates.io/phf_generator/0.8.0 \
crate://crates.io/phf_shared/0.8.0 \
crate://crates.io/pin-project-internal/1.0.11 \
crate://crates.io/pin-project-lite/0.2.9 \
crate://crates.io/pin-project/1.0.11 \
crate://crates.io/pin-utils/0.1.0 \
crate://crates.io/pkg-config/0.3.25 \
crate://crates.io/ppv-lite86/0.2.16 \
crate://crates.io/proc-macro-error-attr/1.0.4 \
crate://crates.io/proc-macro-error/1.0.4 \
crate://crates.io/proc-macro2/1.0.43 \
crate://crates.io/prost-build/0.9.0 \
crate://crates.io/prost-derive/0.9.0 \
crate://crates.io/prost-types/0.9.0 \
crate://crates.io/prost/0.9.0 \
crate://crates.io/quote/1.0.21 \
crate://crates.io/rand/0.7.3 \
crate://crates.io/rand/0.8.5 \
crate://crates.io/rand_chacha/0.2.2 \
crate://crates.io/rand_chacha/0.3.1 \
crate://crates.io/rand_core/0.5.1 \
crate://crates.io/rand_core/0.6.3 \
crate://crates.io/rand_hc/0.2.0 \
crate://crates.io/rand_pcg/0.2.1 \
crate://crates.io/redox_syscall/0.1.57 \
crate://crates.io/redox_syscall/0.2.16 \
crate://crates.io/redox_users/0.3.5 \
crate://crates.io/redox_users/0.4.3 \
crate://crates.io/regex-automata/0.1.10 \
crate://crates.io/regex-syntax/0.6.27 \
crate://crates.io/regex/1.6.0 \
crate://crates.io/remove_dir_all/0.5.3 \
crate://crates.io/rust-argon2/0.8.3 \
crate://crates.io/rustversion/1.0.9 \
crate://crates.io/ryu/1.0.11 \
crate://crates.io/serde/1.0.142 \
crate://crates.io/serde_json/1.0.83 \
crate://crates.io/sharded-slab/0.1.4 \
crate://crates.io/signal-hook-registry/1.4.0 \
crate://crates.io/siphasher/0.3.10 \
crate://crates.io/slab/0.4.7 \
crate://crates.io/smallstr/0.2.0 \
crate://crates.io/smallvec/1.9.0 \
crate://crates.io/socket2/0.4.4 \
crate://crates.io/sqlparser/0.16.0 \
crate://crates.io/syn/1.0.99 \
crate://crates.io/tempfile/3.3.0 \
crate://crates.io/terminfo/0.7.3 \
crate://crates.io/textwrap/0.15.0 \
crate://crates.io/thiserror-impl/1.0.32 \
crate://crates.io/thiserror/1.0.32 \
crate://crates.io/thread_local/1.1.4 \
crate://crates.io/time/0.3.12 \
crate://crates.io/tinyvec/1.6.0 \
crate://crates.io/tinyvec_macros/0.1.0 \
crate://crates.io/tokio-io-timeout/1.2.0 \
crate://crates.io/tokio-macros/1.8.0 \
crate://crates.io/tokio-stream/0.1.9 \
crate://crates.io/tokio-util/0.6.10 \
crate://crates.io/tokio-util/0.7.3 \
crate://crates.io/tokio/1.20.1 \
crate://crates.io/tonic-build/0.6.2 \
crate://crates.io/tonic/0.6.2 \
crate://crates.io/tower-layer/0.3.1 \
crate://crates.io/tower-service/0.3.2 \
crate://crates.io/tower/0.4.13 \
crate://crates.io/tracing-attributes/0.1.22 \
crate://crates.io/tracing-core/0.1.29 \
crate://crates.io/tracing-futures/0.2.5 \
crate://crates.io/tracing-subscriber/0.3.15 \
crate://crates.io/tracing/0.1.36 \
crate://crates.io/try-lock/0.2.3 \
crate://crates.io/unicode-bidi/0.3.8 \
crate://crates.io/unicode-ident/1.0.3 \
crate://crates.io/unicode-normalization/0.1.21 \
crate://crates.io/unicode-segmentation/1.9.0 \
crate://crates.io/unicode-width/0.1.9 \
crate://crates.io/url/2.2.2 \
crate://crates.io/vcpkg/0.2.15 \
crate://crates.io/vergen/7.3.2 \
crate://crates.io/version_check/0.9.4 \
crate://crates.io/want/0.3.0 \
crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \
crate://crates.io/wasi/0.9.0+wasi-snapshot-preview1 \
crate://crates.io/wasm-bindgen-backend/0.2.82 \
crate://crates.io/wasm-bindgen-macro-support/0.2.82 \
crate://crates.io/wasm-bindgen-macro/0.2.82 \
crate://crates.io/wasm-bindgen-shared/0.2.82 \
crate://crates.io/wasm-bindgen/0.2.82 \
crate://crates.io/which/4.2.5 \
crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
crate://crates.io/winapi/0.3.9 \
crate://crates.io/windows-sys/0.36.1 \
crate://crates.io/windows_aarch64_msvc/0.36.1 \
crate://crates.io/windows_i686_gnu/0.36.1 \
crate://crates.io/windows_i686_msvc/0.36.1 \
crate://crates.io/windows_x86_64_gnu/0.36.1 \
crate://crates.io/windows_x86_64_msvc/0.36.1 \
"


LIC_FILES_CHKSUM = " \
file://LICENSE;md5=2b42edef8fa55315f34f2370b4715ca9 \
"

SUMMARY = "databroker-cli"
HOMEPAGE = "https://github.com/eclipse/kuksa.val"
LICENSE = "Apache-2.0"

# includes this file if it exists but does not fail
# this is useful for anything you may want to override from
# what cargo-bitbake generates.
include databroker-cli-${PV}.inc
include databroker-cli.inc
14 changes: 14 additions & 0 deletions meta-leda-components/recipes-sdv/eclipse-kuksa/readme.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Building Recipe for Eclipse Kuksa.VAL

The [Eclipse Kuksa.VAL Databroker](https://github.com/eclipse/kuksa.val/tree/master/kuksa_databroker) is implemented in Rust.
Cargo-BitBake (see https://github.com/meta-rust/cargo-bitbake) is used to generate recipes for Rust applications using Cargo.

Pre-Requisites:
- Install OpenSSL development package: `sudo apt install libssl-dev`
- Install the Cargo BitBake Recipe Generator: `cargo install --locked cargo-bitbake`
- Checkout the sources manually once: `git clone https://github.com/eclipse/kuksa.val`
- Switch to the source directory: `cd kuksa.val/kuksa_databroker/databroker-cli`
- Run the generator: `cargo bitbake`
- Copy the generated .bb file to the target metalayer: `cp databroker-cli_*.bb ../../meta-yourlayer/recipes-core/
- Adapt the databroker-cli_<version>.bb file and update the license filename and license file checksum
- If you need to add custom build functions, create the file `databroker-cli.inc` and include the steps there