Shishir Kumar Singh
Shishir Kumar Singh

Reputation: 107

Adding new recipe in yocto

I am new to Yocto and Embedded and wanted to something like this,

$ git clone https://github.com/babelouest/orcania.git
$ git clone https://github.com/babelouest/yder.git
$ git clone https://github.com/babelouest/ulfius.git
$ cd orcania/
$ make && sudo make install
$ cd ../yder/
$ make && sudo make install
$ cd ../ulfius/
$ make && sudo make install

Please help in creating layer and recipe.

Thanks.

Upvotes: 2

Views: 8853

Answers (1)

Parthiban
Parthiban

Reputation: 2330

I have created the recipes and layer configuration to compile all the mentioned software.

Note: Dependency towards systemd is disabled by default. If you need to run in a system with systemd, you can enable them and add the support.

conf/layer.conf:

# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"

# We have a recipes-* directories, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
    ${LAYERDIR}/recipes-*/*/*.bbappend"

BBFILE_COLLECTIONS += "babelouest"
BBFILE_PATTERN_babelouest = "^${LAYERDIR}/"
BBFILE_PRIORITY_babelouest = "6"

# Set a variable to get to the top of the meta-layer location
HAB_BASE := '${LAYERDIR}'

recipes-babelouest/orcania/orcania_git.bb:

DESCRIPTION = "Potluck with different functions for different purposes that can be shared among C programs"
HOMEPAGE = "https://github.com/babelouest/orcania"
LICENSE = "LGPL-2.1"
LIC_FILES_CHKSUM = "file://LICENSE;md5=fc178bcd425090939a8b634d1d6a9594"

inherit cmake pkgconfig
SRC_URI = "git://github.com/babelouest/orcania"
SRCREV = "${AUTOREV}"
S = "${WORKDIR}/git"

DEPENDS = "jansson"
RDEPENDS_${PN} = "jansson"

recipes-babelouest/yder/yder_git.bb:

DESCRIPTION = "Logging library for C applications"
HOMEPAGE = "https://github.com/babelouest/yder"
LICENSE = "LGPL-2.1"
LIC_FILES_CHKSUM = "file://LICENSE;md5=40d2542b8c43a3ec2b7f5da31a697b88"

inherit cmake pkgconfig
SRC_URI = "git://github.com/babelouest/yder"
SRCREV = "${AUTOREV}"
S = "${WORKDIR}/git"

DEPENDS = "jansson orcania"
RDEPENDS_${PN} = "jansson orcania"
EXTRA_OECMAKE += "-DWITH_JOURNALD=off"

recipes-babelouest/ulfius/ulfius_git.bb:

DESCRIPTION = "Web Framework to build REST APIs, Webservices or any HTTP endpoint in C language. Can stream large amount of data, integrate JSON data with Jansson, and create websocket services"
HOMEPAGE = "https://babelouest.github.io/ulfius/"
LICENSE = "LGPL-2.1"
LIC_FILES_CHKSUM = "file://LICENSE;md5=40d2542b8c43a3ec2b7f5da31a697b88"

inherit cmake pkgconfig
SRC_URI = "git://github.com/babelouest/ulfius"
SRCREV = "${AUTOREV}"
S = "${WORKDIR}/git"

DEPENDS = "gnutls jansson libmicrohttpd"
RDEPENDS_${PN} = "gnutls jansson libmicrohttpd"
EXTRA_OECMAKE += "-DWITH_JOURNALD=off"

This layer depends on following layers,

  1. meta-openembedded/meta-oe
  2. poky/meta

You can include them in bblayer.conf or name this layer as meta-babelouest and include. All the files are added to my github gist here.

Upvotes: 5

Related Questions