Skip to content
Closed
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
10 changes: 5 additions & 5 deletions .github/workflows/CI_github.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ on:
push:
branches:
- master
- feature/yocto-layer-compliance
- whinlatter
pull_request:
branches:
- master
- feature/yocto-layer-compliance
- whinlatter
paths-ignore:
- "**.md"
jobs:
Expand All @@ -23,11 +23,11 @@ jobs:
matrix:
dotnet_version: [10.0.100, 8.0.406, 6.0.428]
mono_version: [6.12.0.206]
branch: [styhead]
branch: [whinlatter]
arch: [x86-64, arm, arm64]
exclude:
# styhead GCC build broken for ARM32 - see README "Removal of support for ARM32" and discussions/234
- branch: styhead
# GCC build broken for ARM32 - see README and discussions/234
- branch: whinlatter
arch: arm
env:
name: build-and-test
Expand Down
9 changes: 4 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,11 @@ meta-mono is an OpenEmbedded layer that builds dotNet, the mono runtime and mono

| Branch | Version | Support Status* | Status of Build & Tests |
| ------ | ------- | --------------- | ----------------------- |
| walnascar | 5.2 | Future (April 2025) | [![walnascar](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=walnascar&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) |
| styhead | 5.1 | Support for 7 months (May 2025) | [![styhead](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=styhead&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) |
| scarthgap | 5.0 | Long Term Support (until Apr. 2028) | [![scarthgap](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=scarthgap&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) |
| kirkstone | 4.0 | Long Term Support (minimum Apr. 2024) | [![kirkstone](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=kirkstone&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) |
| whinlatter | 5.3 | Support for 6 months (until May 2026) | [![whinlatter](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=whinlatter&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) |
| scarthgap | 5.0 | Long Term Support (until Apr. 2028) | [![scarthgap](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=scarthgap&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) |
| kirkstone | 4.0 | Long Term Support (until Apr. 2026) | [![kirkstone](https://img.shields.io/github/actions/workflow/status/dynamicdevices/meta-mono/CI_github.yml?branch=kirkstone&label=build%20%26%20test)](https://github.com/DynamicDevices/meta-mono/actions/workflows/CI_github.yml) |

*support status as of 21/03/25, follows main Yocto release support schedule [here](https://wiki.yoctoproject.org/wiki/Releases)
*support status as of Feb 2026, follows main Yocto release support schedule [here](https://wiki.yoctoproject.org/wiki/Releases)

## Limitations

Expand Down
2 changes: 1 addition & 1 deletion conf/layer.conf
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,4 @@ INSANE_SKIP:msbuild-dev += "buildpaths"
INSANE_SKIP:python3-clr-loader += "buildpaths"
INSANE_SKIP:python3-pythonnet += "buildpaths"

LAYERSERIES_COMPAT_mono = "styhead"
LAYERSERIES_COMPAT_mono = "wrynose"
2 changes: 2 additions & 0 deletions recipes-mono/dbus-sharp-glib/dbus-sharp-glib.inc
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,5 @@ do_configure:prepend() {
export DBUS_SHARP_LIBS="/r:${STAGING_LIBDIR}/mono/dbus-sharp-2.0/dbus-sharp.dll"
}

# suppress: SRC_URI uses unstable GitHub/GitLab archives
INSANE_SKIP += "src-uri-bad"
3 changes: 3 additions & 0 deletions recipes-mono/dbus-sharp/dbus-sharp.inc
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,6 @@ inherit pkgconfig
inherit mono

SRC_URI = "https://github.com/mono/dbus-sharp/archive/v${PV}.tar.gz"

# suppress: SRC_URI uses unstable GitHub/GitLab archives
INSANE_SKIP += "src-uri-bad"
2 changes: 1 addition & 1 deletion recipes-mono/dotnet/dotnet.inc
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ mkdir -p "$HOME" 2>/dev/null || true
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
export DOTNET_CLI_TELEMETRY_OPTOUT=1
export DOTNET_NOLOGO=1
SELF_DIR="$(cd "$(dirname "$0")" && pwd)"
SELF_DIR = "$(cd "$(dirname "$0")" && pwd)"
exec "${SELF_DIR}/../share/dotnet/dotnet" "$@"
WRAPPER
chmod 0755 ${D}${bindir}/dotnet
Expand Down
3 changes: 3 additions & 0 deletions recipes-mono/fsharp/fsharp.inc
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,6 @@ FILES:${PN} += "\
${libdir}/mono/gac/*/*/*.optdata \
${libdir}/mono/gac/*/*/*.sigdata \
"

# suppress: SRC_URI uses unstable GitHub/GitLab archives
INSANE_SKIP += "src-uri-bad"
2 changes: 1 addition & 1 deletion recipes-mono/fsharp/fsharp_3.1.2.4.bb
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ require fsharp.inc

inherit pkgconfig

SRC_URI[sha256sum] = "cf3b5ea00fd13b9d35f5a4ffec6fbd8cecc2c4039d09a79fb0e3f7fa48da9429"
SRC_URI[sha256sum] = "d846a4e0c8fb0186cc89445a4c1108f4ae683bd14da834a05634e316b233d61b"
2 changes: 1 addition & 1 deletion recipes-mono/gtk-sharp/gtk-sharp-native_2.12.45.bb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ require gtk-sharp.inc

inherit pkgconfig native

DEPENDS += " gtk+-native atk-native pango-native cairo-native glib-2.0-native libglade-native "
DEPENDS += " gtk+-native atk-native pango-native cairo-native glib-2.0-native "

LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"

Expand Down
2 changes: 1 addition & 1 deletion recipes-mono/gtk-sharp/gtk-sharp3_2.99.3.bb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ require gtk-sharp.inc

inherit pkgconfig

DEPENDS += " gtk+3 atk pango cairo glib-2.0 libglade mono"
DEPENDS += " gtk+3 atk pango cairo glib-2.0 mono"
RDEPENDS:${PN} += " perl gtk+3"

LIC_FILES_CHKSUM = "file://COPYING;md5=8754deb904d22254188cb67189b87f19"
Expand Down
7 changes: 4 additions & 3 deletions recipes-mono/gtk-sharp/gtk-sharp3_2.99.4.bb
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,17 @@ require gtk-sharp.inc

inherit pkgconfig

DEPENDS += " gtk+3 atk pango cairo glib-2.0 libglade mono"
DEPENDS += " gtk+3 atk pango cairo glib-2.0 mono"
RDEPENDS:${PN} += " perl gtk+3"

LIC_FILES_CHKSUM = "file://COPYING;md5=8754deb904d22254188cb67189b87f19"

SRCREV = "9a72bb67fff7e4845b7bb430a608282668c3e4da"
SRC_URI = "git://github.com/mono/gtk-sharp.git;protocol=https;branch=master \
SRC_URI = "git://github.com/mono/gtk-sharp.git;protocol=https;branch=main \
file://0001-fixup-gmcs-to-mcs.patch"

S = "${UNPACKDIR}/git"
S = "${UNPACKDIR}/${BP}"
TARGET_CFLAGS:append = " -Wno-error=implicit-function-declaration"

do_configure:prepend() {
export PROFILER_CFLAGS="-D_REENTRANT -I${STAGING_DIR_TARGET}/usr/include/glib-2.0 -I${STAGING_DIR_TARGET}/usr/lib/glib-2.0 -I${STAGING_DIR_TARGET}/usr/lib/glib-2.0/include -I${STAGING_DIR_TARGET}/usr/include/mono-2.0"
Expand Down
2 changes: 1 addition & 1 deletion recipes-mono/libgdiplus/libgdiplus-common.inc
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ SRC_URI = " \
gitsm://github.com/mono/libgdiplus.git;protocol=https;branch=${BRANCH} \
"

S = "${UNPACKDIR}/git"
S = "${UNPACKDIR}/${BP}"

inherit autotools pkgconfig

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
Upstream-Status: Inappropriate [Yocto specific]

diff -ur git.org/configure.ac git/configure.ac
--- git.org/configure.ac 2015-07-20 11:50:50.151627671 +0100
+++ git/configure.ac 2015-07-20 11:51:28.275628204 +0100
Expand Down
4 changes: 2 additions & 2 deletions recipes-mono/mono-addins/mono-addins-xbuild.inc
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4e024d772d8266e3ff9747185842ca82"
DEPENDS = "mono"

SRCREV = "64a45d96f39d4714ec85adf0fe04b68ec7273ae1"
SRCBRANCH = "master"
SRCBRANCH = "main"

SRC_URI = "git://github.com/mono/mono-addins.git;protocol=https;branch=${SRCBRANCH}"

S = "${UNPACKDIR}/git"
S = "${UNPACKDIR}/${BP}"

do_configure() {
}
Expand Down
4 changes: 2 additions & 2 deletions recipes-mono/mono-addins/mono-addins.inc
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4e024d772d8266e3ff9747185842ca82"
DEPENDS = "gtk-sharp"

SRCREV = "64a45d96f39d4714ec85adf0fe04b68ec7273ae1"
SRCBRANCH = "master"
SRCBRANCH = "main"

SRC_URI = "git://github.com/mono/mono-addins.git;protocol=https;branch=${SRCBRANCH} \
file://0001-configure-mcs.patch"

S = "${UNPACKDIR}/git"
S = "${UNPACKDIR}/${BP}"

inherit autotools-brokensep pkgconfig
inherit mono
2 changes: 1 addition & 1 deletion recipes-mono/mono-addins/mono-addins_1.1.bb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
require mono-addins.inc

SRCREV = "64a45d96f39d4714ec85adf0fe04b68ec7273ae1"
SRCBRANCH = "master"
SRCBRANCH = "main"

3 changes: 3 additions & 0 deletions recipes-mono/mono-basic/mono-basic-4.xx.inc
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,6 @@ do_install:append() {
install -d "${D}${libdir}/mono/4.5"
ln -sf ${libdir}/mono/4.0/Microsoft.VisualBasic.dll ${D}${libdir}/mono/4.5/Microsoft.VisualBasic.dll
}

# suppress: SRC_URI uses unstable GitHub/GitLab archives
INSANE_SKIP += "src-uri-bad"
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ require mono-helloworld.inc

SRCREV = "${AUTOREV}"
SRC_URI = "git://github.com/DynamicDevices/mono-helloworld.git"
S = "${UNPACKDIR}/git"
S = "${UNPACKDIR}/${BP}"
2 changes: 2 additions & 0 deletions recipes-mono/mono-upnp/mono-upnp-0.1.2/0001-fixup-build.patch
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
Upstream-Status: Inappropriate [Yocto specific]

diff -ur git.org/Makefile.am git/Makefile.am
--- git.org/Makefile.am 2014-05-17 17:18:41.627941046 +0100
+++ git/Makefile.am 2014-05-17 17:23:49.583941850 +0100
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ mono-upnp: use mcs instead of gmcs

as gmcs not present in recent mono releases

Upstream-status: Submitted [https://github.com/mono/mono-upnp/pull/7]
Upstream-Status: Submitted [https://github.com/mono/mono-upnp/pull/7]

diff -ur git.org/configure.ac git/configure.ac
--- git.org/configure.ac 2015-07-20 16:03:01.899839044 +0100
Expand Down
2 changes: 1 addition & 1 deletion recipes-mono/mono-upnp/mono-upnp.inc
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-${PV}:"
SRC_URI = "git://github.com/mono/mono-upnp.git;protocol=https;branch=${SRCBRANCH} \
"

S = "${UNPACKDIR}/git"
S = "${UNPACKDIR}/${BP}"

inherit autotools-brokensep pkgconfig

Expand Down
4 changes: 2 additions & 2 deletions recipes-mono/mono-xsp/mono-xsp_git.bb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
require mono-xsp-3.x.inc

SRCREV= "e272a2c006211b6b03be2ef5bbb9e3f8fefd0768"
SRCREV = "e272a2c006211b6b03be2ef5bbb9e3f8fefd0768"
SRC_URI = "git://github.com/mono/xsp.git;branch=main;protocol=https \
"

S = "${UNPACKDIR}/git"
S = "${UNPACKDIR}/${BP}"
2 changes: 1 addition & 1 deletion recipes-mono/mono/mono-4.xx.inc
Original file line number Diff line number Diff line change
Expand Up @@ -94,4 +94,4 @@ FILES:${PN}-staticdev += " ${libdir}/*.a"
RDEPENDS:${PN}-dev =+ "bash"

# Workaround for observed race in `make install`
PARALLEL_MAKEINST=""
PARALLEL_MAKEINST = ""
2 changes: 1 addition & 1 deletion recipes-mono/mono/mono-5.xx.inc
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ RDEPENDS:${PN}-dev =+ "bash"
RDEPENDS:${PN}-libs =+ "zlib"

# Workaround for observed race in `make install`
PARALLEL_MAKEINST=""
PARALLEL_MAKEINST = ""

# Otherwise the full path to bash is written to the first line of doltlibtool script
# which causes build failures with deeply nested build directories
Expand Down
2 changes: 1 addition & 1 deletion recipes-mono/mono/mono-6.12.0.206.inc
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
S = "${UNPACKDIR}/git"
S = "${UNPACKDIR}/${BP}"

DEPENDS += " cmake-native"
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
From ba1b408ff40e3770785a7774f2bf88758a33a49d Mon Sep 17 00:00:00 2001
From: Marian Cingel <cingel.marian@gmail.com>
Date: Mon, 18 May 2026 20:12:28 +0000
Subject: [PATCH] Btls - too old cmake version

Upstream-Status: Pending
---
mono/btls/CMakeLists.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mono/btls/CMakeLists.txt b/mono/btls/CMakeLists.txt
index 992f41e4c7f..012b6d12669 100644
--- a/mono/btls/CMakeLists.txt
+++ b/mono/btls/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required (VERSION 2.8.10)
+cmake_minimum_required (VERSION 4.0)

project (mono-btls)

@@ -129,4 +129,4 @@ endif ()

if (CYGWIN)
target_link_libraries (mono-btls-shared wsock32 ws2_32)
-endif ()
\ No newline at end of file
+endif ()
--
2.53.0

10 changes: 10 additions & 0 deletions recipes-mono/mono/mono-6.12.0.206/boringssl-cmake-version.diff
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Upstream-Status: Inappropriate [Yocto specific]

--- mono-6.12.0.206/external/boringssl/CMakeLists.txt.orig 2026-05-18 22:51:14.239405666 +0000
+++ mono-6.12.0.206/external/boringssl/CMakeLists.txt 2026-05-18 22:51:21.634960290 +0000
@@ -1,4 +1,4 @@
-cmake_minimum_required (VERSION 2.8.10)
+cmake_minimum_required (VERSION 4.0)

# Defer enabling C and CXX languages.
project (BoringSSL NONE)
2 changes: 1 addition & 1 deletion recipes-mono/mono/mono-6.xx.inc
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ INSANE_SKIP:${PN}-xbuild = "file-rdeps"
INSANE_SKIP:${PN}-configuration-crypto = "file-rdeps"

# Workaround for observed race in `make install`
PARALLEL_MAKEINST=""
PARALLEL_MAKEINST = ""

# Otherwise the full path to bash is written to the first line of doltlibtool script
# which causes build failures with deeply nested build directories
Expand Down
6 changes: 3 additions & 3 deletions recipes-mono/mono/mono-git.inc
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ LICENSE = "GPLv2"

LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=80862f3fd0e11a5fa0318070c54461ce"

SRCBRANCH = "master"
SRCBRANCH = "main"
SRCREV = "${AUTOREV}"

SRC_URI = "git://github.com/mono/mono.git;branch=${SRCBRANCH}\
Expand All @@ -23,7 +23,7 @@ SRC_URI = "git://github.com/mono/mono.git;branch=${SRCBRANCH}\
# file://0001-reintroduce-gmcs.patch \
#

S = "${UNPACKDIR}/git"
S = "${UNPACKDIR}/${BP}"

FILESPATH =. "${FILE_DIRNAME}/mono-4.xx:"
FILESPATH =. "${FILE_DIRNAME}/mono-${PV}:"
Expand Down Expand Up @@ -83,4 +83,4 @@ FILES:${PN}-profiler += " ${datadir}/mono-2.0/mono/profiler/*"
RDEPENDS:${PN} =+ "bash"

# Workaround for observed race in `make install`
PARALLEL_MAKEINST=""
PARALLEL_MAKEINST = ""
2 changes: 2 additions & 0 deletions recipes-mono/mono/mono-native_6.12.0.206.bb
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ SRC_URI = "gitsm://github.com/mono/mono.git;protocol=https;branch=2020-02 \
file://shm_open-test-crosscompile.diff \
file://disable-mmap-MAP_32BIT-support.patch \
file://0001-Allow-passing-external-mapfile-C-build-options.patch \
file://0001-Btls-too-old-cmake-version.patch \
file://boringssl-cmake-version.diff \
"

addtask fixup_config after do_patch before do_configure
Expand Down
2 changes: 2 additions & 0 deletions recipes-mono/mono/mono_6.12.0.206.bb
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ SRC_URI = "gitsm://github.com/mono/mono.git;protocol=https;branch=2020-02 \
file://disable-mmap-MAP_32BIT-support.patch \
file://0001-Allow-passing-external-mapfile-C-build-options.patch \
file://0001-Add-libusb-1.0-mapping.patch \
file://0001-Btls-too-old-cmake-version.patch \
file://boringssl-cmake-version.diff \
"


Expand Down
2 changes: 1 addition & 1 deletion recipes-mono/msbuild/msbuild_16.10.1.bb
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ SRC_URI = "git://github.com/mono/linux-packaging-msbuild.git;branch=main;protoco
file://0001-Copy-hostfxr.patch \
"

S = "${UNPACKDIR}/git"
S = "${UNPACKDIR}/${BP}"

do_configure () {
sed "s|%libhostfxr%|${STAGING_DIR_TARGET}${libdir}/libhostfxr.so|g" -i ${S}/eng/cibuild_bootstrapped_msbuild.sh
Expand Down
2 changes: 1 addition & 1 deletion recipes-mono/nuget/nuget.inc
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://Apache-LICENSE-2.0.txt;md5=3b83ef96387f14655fc854ddc3
HOMEPAGE = "http://nuget.org/"

# This package ships Mono EXE and a shell script
PACKAGE_ARCH="all"
PACKAGE_ARCH = "all"

# Fully updated Fedora 33 and 34 say that dist.nuget.org cert is untrusted
BB_CHECK_SSL_CERTS = "0"
Expand Down
2 changes: 1 addition & 1 deletion recipes-mono/taglib-sharp/taglib-sharp.inc
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ DEPENDS = "mono"

SRC_URI = "git://github.com/mono/taglib-sharp.git;protocol=https;branch=${SRCBRANCH}"

S = "${UNPACKDIR}/git"
S = "${UNPACKDIR}/${BP}"

inherit autotools-brokensep pkgconfig

Expand Down
2 changes: 1 addition & 1 deletion recipes-mono/taglib-sharp/taglib-sharp_2.1.0.0.bb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require taglib-sharp.inc

SRCREV = "bbdc79138815c81151a5d03fc2dec0cf53044186"
SRCBRANCH = "master"
SRCBRANCH = "main"

SRC_URI += "file://0001-configure-use-mcs.patch"
Loading