From 7822703e50f29c609179df4ccf0b842b273b9fbf Mon Sep 17 00:00:00 2001 From: Alex J Lennon Date: Thu, 9 Mar 2023 09:20:11 +0000 Subject: [PATCH 1/4] CI_github: Trigger on push to mickledore and build mickledore branch Signed-off-by: Alex J Lennon --- .github/workflows/CI_github.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/CI_github.yml b/.github/workflows/CI_github.yml index 3ffe86e8..d8b2cb87 100644 --- a/.github/workflows/CI_github.yml +++ b/.github/workflows/CI_github.yml @@ -3,8 +3,7 @@ name: meta-mono on: push: branches: - - master - - master-next + - mickledore pull_request: jobs: @@ -17,7 +16,7 @@ jobs: strategy: matrix: mono_version: [6.12.0.161] - branch: [kirkstone] + branch: [mickledore] arch: [x86-64, arm, arm64] env: name: build-and-test From 36ba891ad9ec1bedacdeea78983387f5d214542e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Sz=C5=91ke?= Date: Tue, 11 Apr 2023 10:19:13 +0200 Subject: [PATCH 2/4] Update python3-clr-loader and python3-pythonnet recipe and rebase mickledore (#176) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Mickledore support (#164) * conf/layer.conf: Add mickledore to LAYERSERIES_COMPAT Signed-off-by: Zoltán Böszörményi * mono: Fix early parsing errors for mono 4.x and 5.x versions Apparently, PV is unset when mono_workspace_version() is first used. Signed-off-by: Zoltán Böszörményi --------- Signed-off-by: Zoltán Böszörményi * msbuild: Depend on curl-native and ca-certificates-native (#165) * Msbuild replace libhostfxr with dotnet with fixes (#166) * CI_github: Update CI to Node 16 to remove warnings Signed-off-by: Alex J Lennon * CI_github: Update master build branch to langdale Signed-off-by: Alex J Lennon * Fix python3-pythonnet recipe build for langdale (#169) * Fix python3-pythonnet recipe build for langdale * Try to fix compiling task of python3-pythonnet * Refactoring pythonnet and clr_loader recipe * dotnet: add dotnet v7.0.202 (#167) Signed-off-by: Ben Fekih, Hichem * remove dotnet v3.1.11 and update dotnet 6 to 6.0.15 (#171) * CI_github: Add dotnet v7 to CI build matrix Signed-off-by: Alex J Lennon * Add summary for python3-pythonnet and python3-clr-loader recipes (#175) * Fix python3-pythonnet recipe build for langdale * Try to fix compiling task of python3-pythonnet * Refactoring pythonnet and clr_loader recipe * Add summary for python3-pythonnet and python3-clr-loader recipe * CI_github: Trigger on push to mickledore and build mickledore branch Signed-off-by: Alex J Lennon * Dummy commit to trigger a new CI build * Fix layer compatibility for mickledore --------- Signed-off-by: Zoltán Böszörményi Signed-off-by: Alex J Lennon Signed-off-by: Ben Fekih, Hichem Co-authored-by: Zoltán Böszörményi Co-authored-by: Alex J Lennon Co-authored-by: Hichem --- .github/workflows/CI_github.yml | 12 ++- conf/layer.conf | 2 +- recipes-mono/dotnet/dotnet_3.1.11.bb | 96 ----------------- .../{dotnet_6.0.403.bb => dotnet_6.0.407.bb} | 22 ++-- recipes-mono/dotnet/dotnet_7.0.202.bb | 101 ++++++++++++++++++ recipes-mono/mono/mono-4.xx.inc | 11 +- recipes-mono/mono/mono-5.xx.inc | 9 +- ...hora-of-compiler-arguments-through-c.patch | 67 ------------ ...jcopy-detection-STRIP_SYMBOLS-is-uns.patch | 38 ------- .../msbuild/msbuild-libhostfxr_3.1.16.bb | 65 ----------- recipes-mono/msbuild/msbuild_16.6.bb | 9 +- .../python3-clr-loader/python3-clr-loader.bb | 22 ++-- .../python3-pythonnet/python3-pythonnet.bb | 30 ++---- 13 files changed, 161 insertions(+), 323 deletions(-) delete mode 100644 recipes-mono/dotnet/dotnet_3.1.11.bb rename recipes-mono/dotnet/{dotnet_6.0.403.bb => dotnet_6.0.407.bb} (72%) create mode 100644 recipes-mono/dotnet/dotnet_7.0.202.bb delete mode 100644 recipes-mono/msbuild/msbuild-libhostfxr/0001-Don-t-set-a-plethora-of-compiler-arguments-through-c.patch delete mode 100644 recipes-mono/msbuild/msbuild-libhostfxr/0002-Remove-broken-objcopy-detection-STRIP_SYMBOLS-is-uns.patch delete mode 100644 recipes-mono/msbuild/msbuild-libhostfxr_3.1.16.bb diff --git a/.github/workflows/CI_github.yml b/.github/workflows/CI_github.yml index d8b2cb87..eeb85ba9 100644 --- a/.github/workflows/CI_github.yml +++ b/.github/workflows/CI_github.yml @@ -15,17 +15,19 @@ jobs: options: --privileged --platform linux/amd64 -v /dev/net/tun:/dev/net/tun -v /dev/kvm:/dev/kvm strategy: matrix: + dotnet_version: [7.0.202] mono_version: [6.12.0.161] branch: [mickledore] arch: [x86-64, arm, arm64] env: name: build-and-test MONO_VERSION: ${{ matrix.mono_version }} + DOTNET_VERSION: ${{ matrix.dotnet_version }} ARCH: ${{ matrix.arch }} BRANCH: ${{ matrix.branch }} steps: - name: Checkout meta-mono - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: clean: false path: ${{ matrix.branch }}/meta-mono @@ -65,19 +67,21 @@ jobs: . ./${BRANCH}/poky/oe-init-build-env ${BRANCH}/build export BB_ENV_PASSTHROUGH_ADDITIONS="${BB_ENV_PASSTHROUGH_ADDITIONS} PREFERRED_VERSION_mono PREFERRED_VERSION_mono-native" + export BB_ENV_PASSTHROUGH_ADDITIONS="${BB_ENV_PASSTHROUGH_ADDITIONS} PREFERRED_VERSION_dotnet" export BB_ENV_PASSTHROUGH_ADDITIONS="${BB_ENV_PASSTHROUGH_ADDITIONS} MACHINE DL_DIR" - env PREFERRED_VERSION_mono="${MONO_VERSION}" PREFERRED_VERSION_mono-native="${MONO_VERSION}" MACHINE="qemu${ARCH}" DL_DIR="$GITHUB_WORKSPACE/downloads" bitbake -k test-image-mono + env PREFERRED_VERSION_mono="${MONO_VERSION}" PREFERRED_VERSION_dotnet="${DOTNET_VERSION}" PREFERRED_VERSION_mono-native="${MONO_VERSION}" MACHINE="qemu${ARCH}" DL_DIR="$GITHUB_WORKSPACE/downloads" bitbake -k test-image-mono - name: Testing run: | . ./${BRANCH}/poky/oe-init-build-env ${BRANCH}/build export BB_ENV_PASSTHROUGH_ADDITIONS="BB_ENV_PASSTHROUGH_ADDITIONS PREFERRED_VERSION_mono PREFERRED_VERSION_mono-native" + export BB_ENV_PASSTHROUGH_ADDITIONS="${BB_ENV_PASSTHROUGH_ADDITIONS} PREFERRED_VERSION_dotnet" export BB_ENV_PASSTHROUGH_ADDITIONS="${BB_ENV_PASSTHROUGH_ADDITIONS} MACHINE DL_DIR" export TERM=linux - env PREFERRED_VERSION_mono="${MONO_VERSION}" PREFERRED_VERSION_mono-native="${MONO_VERSION}" MACHINE="qemu${ARCH}" DL_DIR="$GITHUB_WORKSPACE/downloads" bitbake test-image-mono -c testimage + env PREFERRED_VERSION_mono="${MONO_VERSION}" PREFERRED_VERSION_dotnet="${DOTNET_VERSION}" PREFERRED_VERSION_mono-native="${MONO_VERSION}" MACHINE="qemu${ARCH}" DL_DIR="$GITHUB_WORKSPACE/downloads" bitbake test-image-mono -c testimage - name: Store artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: test-image-mono-${{ github.sha }} path: ./${{ matrix.branch }}/build/tmp/deploy/images/qemu${{ matrix.arch }}/ diff --git a/conf/layer.conf b/conf/layer.conf index 5a66acd0..f86f8111 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -22,4 +22,4 @@ PREFERRED_VERSION_nuget-native ?= "5.2.0" PREFERRED_VERSION_msbuild ?= "16.6" PREFERRED_VERSION_msbuild-native ?= "16.6" -LAYERSERIES_COMPAT_mono = "kirkstone langdale" +LAYERSERIES_COMPAT_mono = "kirkstone langdale mickledore" diff --git a/recipes-mono/dotnet/dotnet_3.1.11.bb b/recipes-mono/dotnet/dotnet_3.1.11.bb deleted file mode 100644 index d3156d91..00000000 --- a/recipes-mono/dotnet/dotnet_3.1.11.bb +++ /dev/null @@ -1,96 +0,0 @@ -# Based on the recipe from from meta-iot-cloud -# Copyright © 2016 Intel Corporation - -DESCRIPTION = ".NET Core Runtime, SDK & CLI tools" -HOMEPAGE = "https://www.microsoft.com/net/core" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9fc642ff452b28d62ab19b7eea50dfb9" - -COMPATIBLE_HOST ?= "(i586|x86_64).*-linux" - -DEPENDS += "\ - zlib \ -" - -RDEPENDS:${PN}:class-target += "\ - lttng-ust \ - libcurl \ - krb5 \ - libgssapi-krb5 \ - libicuuc \ - libicui18n \ -" - -RDEPENDS:${PN}:class-native += "\ - curl-native \ - krb5-native \ - icu-native \ - zlib-native \ -" - -HOST_FXR = "3.1.11" -SHARED_FRAMEWORK = "3.1.11" -SDK = "3.1.111" - -SRC_URI = "https://download.visualstudio.microsoft.com/download/pr/d5d940c0-4c2f-4cbb-8d12-33bfb30c4db8/619b5be6e995cead6e9432134f903711/${BPN}-sdk-${SDK}-linux-x64.tar.gz" - -SRC_URI[sha256sum] = "a755b37aa328d160a39b39c0cd120ca7e318814ef024682bac49e75183952a89" - -S = "${WORKDIR}" - -do_configure[noexec] = "1" -do_compile[noexec] = "1" - -python do_install () { - bb.build.exec_func("shell_do_install", d) - oe.path.make_relative_symlink(d.expand("${D}${bindir}/dotnet")) - oe.path.make_relative_symlink(d.expand("${D}${libdir}/libhostfxr.so")) -} - -shell_do_install() { - install -d ${D}${bindir} - install -d ${D}${datadir}/dotnet - install -d ${D}${datadir}/dotnet/host/fxr - install -d ${D}${datadir}/dotnet/sdk - install -d ${D}${datadir}/dotnet/shared/Microsoft.NETCore.App - - install -m 0755 ${S}/dotnet ${D}${datadir}/dotnet - install -m 0644 ${S}/LICENSE.txt ${D}${datadir}/dotnet - install -m 0644 ${S}/ThirdPartyNotices.txt ${D}${datadir}/dotnet - - cp -r ${S}/sdk/${SDK} ${D}${datadir}/dotnet/sdk - cp -r ${S}/host/fxr/${HOST_FXR} ${D}${datadir}/dotnet/host/fxr - cp -r ${S}/shared/Microsoft.NETCore.App/${SHARED_FRAMEWORK} ${D}${datadir}/dotnet/shared/Microsoft.NETCore.App - cp -r ${S}/templates ${D}${datadir}/dotnet - - install -d ${D}${libdir} - - # Symlinks - ln -s ${D}${datadir}/dotnet/dotnet ${D}${bindir}/dotnet -} - -FILES:${PN} = "\ - ${bindir} \ - ${libdir} \ - ${datadir}/dotnet/dotnet \ - ${datadir}/dotnet/*.txt \ - ${datadir}/dotnet/host \ - ${datadir}/dotnet/shared \ -" - -FILES:${PN}-dbg = "\ - ${datadir}/dotnet/.debug \ -" - -FILES:${PN}-dev = "\ - ${datadir}/dotnet/sdk \ - ${datadir}/dotnet/templates \ -" - -RRECOMMENDS:dotnet-dev[nodeprrecs] = "1" - -INSANE_SKIP:${PN} = "already-stripped staticdev ldflags libdir" -INSANE_SKIP:${PN}-dbg = "libdir" -INSANE_SKIP:${PN}-dev = "libdir" - -BBCLASSEXTEND = "native" diff --git a/recipes-mono/dotnet/dotnet_6.0.403.bb b/recipes-mono/dotnet/dotnet_6.0.407.bb similarity index 72% rename from recipes-mono/dotnet/dotnet_6.0.403.bb rename to recipes-mono/dotnet/dotnet_6.0.407.bb index a9f79245..36aa56ed 100644 --- a/recipes-mono/dotnet/dotnet_6.0.403.bb +++ b/recipes-mono/dotnet/dotnet_6.0.407.bb @@ -19,16 +19,16 @@ RDEPENDS:${PN}:remove:class-native = "libgssapi-krb5" PR = "r0" SRC_ARCH:aarch64 = "arm64" -SRC_FETCH_ID:aarch64 = "67ca3f83-3769-4cd8-882a-27ab0c191784/bf631a0229827de92f5c026055218cc0" -SRC_SHA512SUM:aarch64 = "fe62f6eca80acb6774f0a80c472dd02851d88f7ec09cc7f1cadd9981ec0ee1ceb87224911fc0c544cb932c7f5a91c66471a0458b50f85c899154bc8c3605a88e" +SRC_FETCH_ID:aarch64 = "72d1f83c-ad2c-4c9b-88b1-15196f411b9d/a0b863cabea9ac0fe7b92dc70c8d4ef0" +SRC_SHA512SUM:aarch64 = "7d48d8a3814694a978b09a7c4b61c8e0dae9b5efe8195c15339d2f777fa4b85084d386117ee03b05f543d3d64b9484942e1e212001382b2e67277b30f5254b9f" SRC_ARCH:arm = "arm" -SRC_FETCH_ID:arm = "10cadabb-4cb4-4cca-94db-67cb31cb6f3a/5b3d102b4198da0a25ed12d83ae5633d" -SRC_SHA512SUM:arm = "b07423700a92e3cc79f4e9e02c40e923352c09958e3307fd2ce7fc882509460c65a4404e8080f1b3852af98458512699ba43b37683916756666b4e2532cc8f46" +SRC_FETCH_ID:arm = "7325ec17-70e8-479d-b8b6-fcbab8d6a053/8abb075436b62424378cbee076c895f5" +SRC_SHA512SUM:arm = "3f9ba3b05e4c1ef61a6afbdf97a61c42b3eff06ef9189f0f11934fa399674440602e51823190cdf1c43deba3fef7a3ebe7d1ea92933d1d07f59516aefd399aae" SRC_ARCH:x86-64 = "x64" -SRC_FETCH_ID:x86-64 = "1d2007d3-da35-48ad-80cc-a39cbc726908/1f3555baa8b14c3327bb4eaa570d7d07" -SRC_SHA512SUM:x86-64 = "779b3e24a889dbb517e5ff5359dab45dd3296160e4cb5592e6e41ea15cbf87279f08405febf07517aa02351f953b603e59648550a096eefcb0a20fdaf03fadde" +SRC_FETCH_ID:x86-64 = "868b2f38-62ca-4fd8-93ea-e640cf4d2c5b/1e615b6044c0cf99806b8f6e19c97e03" +SRC_SHA512SUM:x86-64 = "3cc230f21c0d60ffa4955c01d79cbb41887a41f4e97d0708170e4be8e4dc5bc261269c788c738416c28bbc7e8c6940a89cf3d010f16d1dc4cf25bbb0e2c033c1" SRC_URI[vardeps] += "SRC_FETCH_ID SRC_ARCH" SRC_URI[sha512sum] = "${SRC_SHA512SUM}" @@ -38,7 +38,7 @@ SRC_URI = "https://download.visualstudio.microsoft.com/download/pr/${SRC_FETCH_I do_configure[noexec] = "1" do_compile[noexec] = "1" -DOTNET_RUNTIME = "6.0.11" +DOTNET_RUNTIME = "6.0.15" do_install[vardeps] += "DOTNET_RUNTIME" do_install() { @@ -65,9 +65,12 @@ do_install() { # Hack to fix liblttng-ust dependency issues patchelf --remove-needed liblttng-ust.so.0 ${D}${datadir}/dotnet/shared/Microsoft.NETCore.App/${DOTNET_RUNTIME}/libcoreclrtraceptprovider.so + + install -d ${D}${libdir} + ln -rs ${D}${datadir}/dotnet/host/fxr/${DOTNET_RUNTIME}/libhostfxr.so ${D}${libdir}/libhostfxr.so } -do_install:append:x86-64() { +do_install:append:x86-64:class-target () { # Set correct interpreter path patchelf --set-interpreter ${base_libdir}/ld-linux-x86-64.so.2 ${D}${datadir}/dotnet/dotnet } @@ -77,6 +80,7 @@ FILES:${PN} += "\ ${datadir}/dotnet/*.txt \ ${datadir}/dotnet/host \ ${datadir}/dotnet/shared \ + ${libdir} \ " FILES:${PN}-dev = "\ @@ -91,6 +95,6 @@ FILES:${PN}-dbg = "\ RRECOMMENDS:dotnet-dev[nodeprrecs] = "1" -INSANE_SKIP:${PN} = "already-stripped libdir staticdev textrel" +INSANE_SKIP:${PN} = "already-stripped libdir staticdev textrel dev-so" BBCLASSEXTEND = "native" diff --git a/recipes-mono/dotnet/dotnet_7.0.202.bb b/recipes-mono/dotnet/dotnet_7.0.202.bb new file mode 100644 index 00000000..a2e90fab --- /dev/null +++ b/recipes-mono/dotnet/dotnet_7.0.202.bb @@ -0,0 +1,101 @@ +DESCRIPTION = ".NET Core Runtime, SDK & CLI tools" +HOMEPAGE = "https://www.microsoft.com/net/core" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9fc642ff452b28d62ab19b7eea50dfb9" + +COMPATIBLE_HOST ?= "(x86_64|aarch64|arm).*-linux" + +DEPENDS = "patchelf-native" + +#FIXME add lttng-ust as soon as dotnet core supports liblttng-ust.so.1 +RDEPENDS:${PN} = "\ + icu \ + libgssapi-krb5 \ + zlib \ +" + +RDEPENDS:${PN}:remove:class-native = "libgssapi-krb5" + +PR = "r0" + +SRC_ARCH:aarch64 = "arm64" +SRC_FETCH_ID:aarch64 = "c1fd11b0-186a-4aa1-a578-bb1b6613886e/b67e1c9d6d90b1c99b23935273921fa1" +SRC_SHA512SUM:aarch64 = "6f03de4ef1d0f67bcf8f794beea1a1497c9b1d31c484675382ad63a686ad3047ba2e12b2739ef2bf70c12e61a462ee8abd87e96a7c48200dceab92094144b332" + +SRC_ARCH:arm = "arm" +SRC_FETCH_ID:arm = "6b56da47-dbe4-4921-a08e-eb3826565525/36ecf89507f52cc70ec2128b13948290" +SRC_SHA512SUM:arm = "242c3b93b6ca39e89a7f30f0c29d71294200a2eb14a95bd3f017ed0cb83f3c5ecc6a0d0b0ffab3687d1f925419619a8508f96d1262bd522f6c876a75d929e88a" + +SRC_ARCH:x86-64 = "x64" +SRC_FETCH_ID:x86-64 = "bda88810-e1a6-4cf0-8139-7fd7fe7b2c7a/7a9ffa3e12e5f1c3d8b640e326c1eb14" +SRC_SHA512SUM:x86-64 = "f415a8e6c078421759a963aa0b232c092ecf2f0a8e014ba72092390aac792ed35e8f3c822b2ce91ed636cdee9342bba2b89fb4fdfd2d28dbb0ac856d828cb29f" + +SRC_URI[vardeps] += "SRC_FETCH_ID SRC_ARCH" +SRC_URI[sha512sum] = "${SRC_SHA512SUM}" + +SRC_URI = "https://download.visualstudio.microsoft.com/download/pr/${SRC_FETCH_ID}/dotnet-sdk-${PV}-linux-${SRC_ARCH}.tar.gz;subdir=dotnet-${PV}" + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +DOTNET_RUNTIME = "7.0.4" +do_install[vardeps] += "DOTNET_RUNTIME" + +do_install() { + install -d ${D}${bindir} + ln -rs ${D}${datadir}/dotnet/dotnet ${D}${bindir}/dotnet + + install -d ${D}${datadir}/dotnet + cp -r --no-preserve=ownership ${S}/templates ${D}${datadir}/dotnet + install -m 0755 ${S}/dotnet ${D}${datadir}/dotnet + install -m 0644 ${S}/LICENSE.txt ${D}${datadir}/dotnet + install -m 0644 ${S}/ThirdPartyNotices.txt ${D}${datadir}/dotnet + + install -d ${D}${datadir}/dotnet/host/fxr + cp -r --no-preserve=ownership ${S}/host/fxr/${DOTNET_RUNTIME} ${D}${datadir}/dotnet/host/fxr + + cp -r --no-preserve=ownership ${S}/sdk ${D}${datadir}/dotnet/ + cp -r --no-preserve=ownership ${S}/sdk-manifests ${D}${datadir}/dotnet/ + + install -d ${D}${datadir}/dotnet/shared/Microsoft.NETCore.App + cp -r --no-preserve=ownership ${S}/shared/Microsoft.NETCore.App/${DOTNET_RUNTIME} ${D}${datadir}/dotnet/shared/Microsoft.NETCore.App + + install -d ${D}${datadir}/dotnet/shared/Microsoft.AspNetCore.App + cp -r --no-preserve=ownership ${S}/shared/Microsoft.AspNetCore.App/${DOTNET_RUNTIME} ${D}${datadir}/dotnet/shared/Microsoft.AspNetCore.App + + # Hack to fix liblttng-ust dependency issues + patchelf --remove-needed liblttng-ust.so.0 ${D}${datadir}/dotnet/shared/Microsoft.NETCore.App/${DOTNET_RUNTIME}/libcoreclrtraceptprovider.so + + install -d ${D}${libdir} + ln -rs ${D}${datadir}/dotnet/host/fxr/${DOTNET_RUNTIME}/libhostfxr.so ${D}${libdir}/libhostfxr.so +} + +do_install:append:x86-64:class-target () { + # Set correct interpreter path + patchelf --set-interpreter ${base_libdir}/ld-linux-x86-64.so.2 ${D}${datadir}/dotnet/dotnet +} + +FILES:${PN} += "\ + ${datadir}/dotnet/dotnet \ + ${datadir}/dotnet/*.txt \ + ${datadir}/dotnet/host \ + ${datadir}/dotnet/shared \ + ${libdir} \ +" + +FILES:${PN}-dev = "\ + ${datadir}/dotnet/sdk \ + ${datadir}/dotnet/sdk-manifests \ + ${datadir}/dotnet/templates \ +" + +FILES:${PN}-dbg = "\ + ${datadir}/dotnet/.debug \ +" + +RRECOMMENDS:dotnet-dev[nodeprrecs] = "1" + +INSANE_SKIP:${PN} = "already-stripped libdir staticdev textrel dev-so" +INSANE_SKIP:${PN}-dbg = "libdir" + +BBCLASSEXTEND = "native" diff --git a/recipes-mono/mono/mono-4.xx.inc b/recipes-mono/mono/mono-4.xx.inc index ade88e0c..22418607 100644 --- a/recipes-mono/mono/mono-4.xx.inc +++ b/recipes-mono/mono/mono-4.xx.inc @@ -19,8 +19,15 @@ SRC_URI = "http://download.mono-project.com/sources/mono/mono-${PV}.tar.bz2 \ # def mono_workspace_version (d): - pvsplit = d.getVar('PV',d,1).split('.') - return pvsplit[0] + '.' + pvsplit[1] + '.' + pvsplit[2] + pvsplit = d.getVar('PV').split('.') + if len(pvsplit) == 3: + return pvsplit[0] + '.' + pvsplit[1] + '.' + pvsplit[2] + elif len(pvsplit) == 2: + return pvsplit[0] + '.' + pvsplit[1] + elif len(pvsplit) == 1: + return pvsplit[0] + else: + return 0 S = "${WORKDIR}/mono-${@mono_workspace_version(d)}" diff --git a/recipes-mono/mono/mono-5.xx.inc b/recipes-mono/mono/mono-5.xx.inc index 59b7e791..5fc1df35 100644 --- a/recipes-mono/mono/mono-5.xx.inc +++ b/recipes-mono/mono/mono-5.xx.inc @@ -21,7 +21,14 @@ SRC_URI = "http://download.mono-project.com/sources/mono/mono-${PV}.tar.bz2 \ def mono_workspace_version (d): pvsplit = d.getVar('PV',d,1).split('.') - return pvsplit[0] + '.' + pvsplit[1] + '.' + pvsplit[2] + if len(pvsplit) == 3: + return pvsplit[0] + '.' + pvsplit[1] + '.' + pvsplit[2] + elif len(pvsplit) == 2: + return pvsplit[0] + '.' + pvsplit[1] + elif len(pvsplit) == 1: + return pvsplit[0] + else: + return 0 S = "${WORKDIR}/mono-${@mono_workspace_version(d)}" diff --git a/recipes-mono/msbuild/msbuild-libhostfxr/0001-Don-t-set-a-plethora-of-compiler-arguments-through-c.patch b/recipes-mono/msbuild/msbuild-libhostfxr/0001-Don-t-set-a-plethora-of-compiler-arguments-through-c.patch deleted file mode 100644 index 8fb4d6f7..00000000 --- a/recipes-mono/msbuild/msbuild-libhostfxr/0001-Don-t-set-a-plethora-of-compiler-arguments-through-c.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 26baea13627ddf3c97ce528ab1b6559d8cfb82c7 Mon Sep 17 00:00:00 2001 -From: Nicolas Jeker -Date: Mon, 8 Feb 2021 11:48:17 +0100 -Subject: [PATCH] Don't set a plethora of compiler arguments through cmake - ---- - src/corehost/cli/common.cmake | 3 --- - src/settings.cmake | 22 ---------------------- - 2 files changed, 25 deletions(-) - -diff --git a/src/corehost/cli/common.cmake b/src/corehost/cli/common.cmake -index 7469fd16..3abe5e57 100644 ---- a/src/corehost/cli/common.cmake -+++ b/src/corehost/cli/common.cmake -@@ -8,9 +8,6 @@ if(WIN32) - add_compile_options($<$:/MT>) - add_compile_options($<$:/MT>) - add_compile_options($<$:/MTd>) --else() -- add_compile_options(-fPIC) -- add_compile_options(-fvisibility=hidden) - endif() - - include(${CMAKE_CURRENT_LIST_DIR}/setup.cmake) -diff --git a/src/settings.cmake b/src/settings.cmake -index 29d57b44..0d524aa6 100644 ---- a/src/settings.cmake -+++ b/src/settings.cmake -@@ -189,27 +189,6 @@ if(WIN32) - set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} /DEBUG /OPT:REF /OPT:ICF") - set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO} /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib") - set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib") --else() -- add_compile_options(-g) # enable debugging information -- add_compile_options(-Wall) -- add_compile_options(-Wextra) -- if(CMAKE_C_COMPILER_ID STREQUAL Clang) -- # Uncomment to enable additional, but likely irrelvant, warnings. For -- # example, this will warn about using c++11 features even when -- # compiling with -std=c++11. -- # add_compile_options(-Weverything) -- endif() -- add_compile_options(-Werror) -- add_compile_options(-Wno-missing-field-initializers) -- add_compile_options(-Wno-unused-function) -- add_compile_options(-Wno-unused-local-typedef) -- add_compile_options(-Wno-unused-macros) -- add_compile_options(-Wno-unused-parameter) --endif() -- --# Older CMake doesn't support CMAKE_CXX_STANDARD and GCC/Clang need a switch to enable C++ 11 --if(${CMAKE_CXX_COMPILER_ID} MATCHES "(Clang|GNU)") -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") - endif() - - # This is required to map a symbol reference to a matching definition local to the module (.so) -@@ -218,7 +197,6 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Xlinker -Bsymbolic -Bsymbolic-functions") - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--build-id=sha1") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--build-id=sha1") -- add_compile_options(-fstack-protector-strong) - elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - add_compile_options(-fstack-protector) - elseif(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") --- -2.30.0 - diff --git a/recipes-mono/msbuild/msbuild-libhostfxr/0002-Remove-broken-objcopy-detection-STRIP_SYMBOLS-is-uns.patch b/recipes-mono/msbuild/msbuild-libhostfxr/0002-Remove-broken-objcopy-detection-STRIP_SYMBOLS-is-uns.patch deleted file mode 100644 index 21acdc6b..00000000 --- a/recipes-mono/msbuild/msbuild-libhostfxr/0002-Remove-broken-objcopy-detection-STRIP_SYMBOLS-is-uns.patch +++ /dev/null @@ -1,38 +0,0 @@ -From f45574b7751d668ec8c5d7c87938bb17a2b08a0f Mon Sep 17 00:00:00 2001 -From: Nicolas Jeker -Date: Wed, 10 Feb 2021 08:13:55 +0100 -Subject: [PATCH] Remove broken objcopy detection, STRIP_SYMBOLS is unset - anyway - ---- - src/settings.cmake | 14 -------------- - 1 file changed, 14 deletions(-) - -diff --git a/src/settings.cmake b/src/settings.cmake -index 0d524aa6..2bd0f8b7 100644 ---- a/src/settings.cmake -+++ b/src/settings.cmake -@@ -52,20 +52,6 @@ if (NOT WIN32) - if (STRIP STREQUAL "STRIP-NOTFOUND") - message(FATAL_ERROR "strip not found") - endif() -- else (CMAKE_SYSTEM_NAME STREQUAL Darwin) -- # Ensure that objcopy is present -- if(DEFINED ENV{ROOTFS_DIR}) -- if(CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l OR CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL i686) -- find_program(OBJCOPY ${TOOLCHAIN}-objcopy) -- else() -- message(FATAL_ERROR "Only AMD64, X86, ARM64 and ARM are supported") -- endif() -- else() -- find_program(OBJCOPY objcopy) -- endif() -- if (OBJCOPY STREQUAL "OBJCOPY-NOTFOUND" AND NOT CMAKE_SYSTEM_PROCESSOR STREQUAL i686) -- message(FATAL_ERROR "objcopy not found") -- endif() - endif (CMAKE_SYSTEM_NAME STREQUAL Darwin) - endif () - --- -2.30.1 - diff --git a/recipes-mono/msbuild/msbuild-libhostfxr_3.1.16.bb b/recipes-mono/msbuild/msbuild-libhostfxr_3.1.16.bb deleted file mode 100644 index e716c904..00000000 --- a/recipes-mono/msbuild/msbuild-libhostfxr_3.1.16.bb +++ /dev/null @@ -1,65 +0,0 @@ -SUMMARY = "Build system for .NET projects - unmanaged helper library" -HOMEPAGE = "https://github.com/dotnet/core-setup" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE.TXT;md5=9fc642ff452b28d62ab19b7eea50dfb9" - -COMPATIBLE_HOST ?= "(i.86|x86_64|arm|aarch64).*-linux" - -SRC_URI = "git://github.com/dotnet/core-setup.git;branch=release/3.1;protocol=https \ - file://0001-Don-t-set-a-plethora-of-compiler-arguments-through-c.patch;patchdir=${WORKDIR}/git \ - file://0002-Remove-broken-objcopy-detection-STRIP_SYMBOLS-is-uns.patch;patchdir=${WORKDIR}/git \ - " -SRCREV = "4c6b4aa257241c4d419b8c271e37afac4445b1c0" - -inherit cmake - -S = "${WORKDIR}/git/src/corehost" - -def get_dotnet_arch(bb, d, arch_var): - import re - a = d.getVar(arch_var) - if re.match(r'(i.86|athlon|x86.64)$', a): return 'I386' - elif re.match(r'arm$', a): return 'ARM' - elif re.match(r'armeb$', a): return 'ARM' - elif re.match(r'aarch64$', a): return 'ARM64' - elif re.match(r'aarch64_be$', a): return 'ARM64' - else: - raise bb.parse.SkipRecipe("Cannot map '%s' to a supported dotnet architecture" % a) - -def get_dotnet_host_arch(bb, d): - return get_dotnet_arch(bb, d, 'HOST_ARCH') - -def get_dotnet_target_arch(bb, d): - return get_dotnet_arch(bb, d, 'TARGET_ARCH') - -EXTRA_OECMAKE = " \ - -DCLI_CMAKE_HOST_VER:STRING=${PV} \ - -DCLI_CMAKE_COMMON_HOST_VER:STRING=${PV} \ - -DCLI_CMAKE_HOST_FXR_VER:STRING=${PV} \ - -DCLI_CMAKE_HOST_POLICY_VER:STRING=${PV} \ - -DCLI_CMAKE_PKG_RID:STRING=linux \ - -DCLI_CMAKE_COMMIT_HASH:STRING=${SRCREV} \ -" - -EXTRA_OECMAKE:append:class-native = " \ - -DCLI_CMAKE_PLATFORM_ARCH_${@get_dotnet_host_arch(bb, d)}=1 \ -" - -EXTRA_OECMAKE:append:class-target = " \ - -DCLI_CMAKE_PLATFORM_ARCH_${@get_dotnet_target_arch(bb, d)}=1 \ -" - -do_install() { - install -d ${D}${libdir}/mono/msbuild/Current/bin/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver - install -m755 ${B}/cli/fxr/libhostfxr.so ${D}${libdir}/mono/msbuild/Current/bin/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver/libhostfxr.so -} - -do_install:append:class-native () { - install -m755 ${B}/cli/fxr/libhostfxr.so ${D}${libdir} -} - -FILES:${PN} = " \ - ${libdir}/mono/msbuild/Current/bin/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver/libhostfxr.so \ -" - -BBCLASSEXTEND = "native" diff --git a/recipes-mono/msbuild/msbuild_16.6.bb b/recipes-mono/msbuild/msbuild_16.6.bb index 4e3e5231..8edc8c02 100644 --- a/recipes-mono/msbuild/msbuild_16.6.bb +++ b/recipes-mono/msbuild/msbuild_16.6.bb @@ -3,9 +3,9 @@ HOMEPAGE = "https://docs.microsoft.com/visualstudio/msbuild/msbuild" SECTION = "console/apps" LICENSE = "MIT" -DEPENDS = "unzip-native msbuild-libhostfxr-native" +DEPENDS = "curl-native ca-certificates-native unzip-native dotnet-native" -RDEPENDS:${PN} = "msbuild-libhostfxr" +RDEPENDS_${PN} = "dotnet" LIC_FILES_CHKSUM = "file://license;md5=aa2bb45abfacf721bd09860b11b79f5a \ file://ref/LicenseHeader.txt;md5=b06c0743af93aeb14a577bb2bfdada8e" @@ -26,11 +26,8 @@ SRC_URI = "git://github.com/mono/linux-packaging-msbuild.git;branch=main;protoco S = "${WORKDIR}/git" -LIBHOSTFXR_PATH = "${libdir}/mono/msbuild/Current/bin/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver/libhostfxr.so" -LIBHOSTFXR_PATH:prepend:class-target = "${STAGING_DIR_NATIVE}" - do_configure () { - sed "s|%libhostfxr%|${LIBHOSTFXR_PATH}|g" -i ${S}/eng/cibuild_bootstrapped_msbuild.sh + sed "s|%libhostfxr%|${STAGING_DIR_TARGET}${libdir}/libhostfxr.so|g" -i ${S}/eng/cibuild_bootstrapped_msbuild.sh sed "s|\$(HOME)\\\.nuget\\\packages|${NUGET_PACKAGES}|g" -i ${S}/mono/build/common.props sed "s|\$(MonoInstallPrefix)\\\lib|${D}${libdir}|g" -i ${S}/mono/build/install.proj diff --git a/recipes-python/python3-clr-loader/python3-clr-loader.bb b/recipes-python/python3-clr-loader/python3-clr-loader.bb index 7073e194..d7f2152a 100644 --- a/recipes-python/python3-clr-loader/python3-clr-loader.bb +++ b/recipes-python/python3-clr-loader/python3-clr-loader.bb @@ -1,14 +1,17 @@ +SUMMARY = "Loader for different .NET runtimes" DESCRIPTION = "Implements a generic interface for loading one of the CLR (.NET) runtime implementations and calling simple functions on them." HOMEPAGE = "http://pythonnet.github.io" SECTION = "devel/python" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=cdef1cb9133877183afac105849a771e" +LIC_FILES_CHKSUM = " \ + file://LICENSE;md5=cdef1cb9133877183afac105849a771e \ +" -inherit python_flit_core +inherit pypi python_flit_core -CLR_LOADER_VERSION = "0.2.4" -PV = "${CLR_LOADER_VERSION}+git${SRCPV}" -SRC_URI = "git://github.com/pythonnet/clr-loader.git;protocol=https;branch=master;tag=v${CLR_LOADER_VERSION}" +PV = "0.2.5" +SRC_URI[sha256sum] = "82ed5fb654729d14fd88296e74bb6b84eb2cfb976ff4b7d49d4e449fd78a226b" +PYPI_PACKAGE = "clr_loader" DOTNET_MIN_REQ_VERSION ?= "6.0.0" @@ -23,8 +26,6 @@ RDEPENDS:${PN} += " \ ${PYTHON_PN}-cffi \ " -S = "${WORKDIR}/git" - # NuGet uses $HOME/.nuget/packages to store packages by default # but we should not use anything outside the build root of packages. # Use a separated folder for nuget downloads and cache in WORKDIR. @@ -42,15 +43,10 @@ export https_proxy="${DOTNET_HTTPS_PROXY}" do_configure:prepend() { if ! grep -Fq __version__ ${S}/clr_loader/__init__.py then - printf "\n__version__ = \"${CLR_LOADER_VERSION}\"\n" >> ${S}/clr_loader/__init__.py + printf "\n__version__ = \"${PV}\"\n" >> ${S}/clr_loader/__init__.py fi } do_compile[network] = "1" -do_compile:prepend() { - python3 setup.py build_dotnet - cp -R ${S}/build/lib/clr_loader/ffi/dlls ${S}/clr_loader/ffi/ -} - BBCLASSEXTEND = "native" diff --git a/recipes-python/python3-pythonnet/python3-pythonnet.bb b/recipes-python/python3-pythonnet/python3-pythonnet.bb index 06efa594..fa6fc486 100644 --- a/recipes-python/python3-pythonnet/python3-pythonnet.bb +++ b/recipes-python/python3-pythonnet/python3-pythonnet.bb @@ -1,14 +1,17 @@ +SUMMARY = "Python for .NET" DESCRIPTION = "Python.NET is a package that gives Python programmers nearly seamless integration with .NET Framework, .NET Core and Mono runtime on Windows, Linux and macOS." HOMEPAGE = "http://pythonnet.github.io" SECTION = "devel/python" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=8e800b2b69ab79d37187ed4eb522060d" +LIC_FILES_CHKSUM = " \ + file://LICENSE;md5=8e800b2b69ab79d37187ed4eb522060d \ +" -inherit python_flit_core +inherit pypi python_flit_core -PYTHONNET_VERSION = "3.0.1" -PV = "${PYTHONNET_VERSION}+git${SRCPV}" -SRC_URI = "git://github.com/pythonnet/pythonnet.git;protocol=https;branch=master;tag=v${PYTHONNET_VERSION}" +PV = "3.0.1" +SRC_URI[sha256sum] = "ed4f7f7f95515404112ddb3da1638e1a1013cb56e64c48c4fa60303f02b0a3dd" +PYPI_PACKAGE = "pythonnet" DOTNET_MIN_REQ_VERSION ?= "6.0.0" @@ -32,8 +35,6 @@ RDEPENDS:${PN} += " \ ${PYTHON_PN}-clr-loader \ " -S = "${WORKDIR}/git" - # NuGet uses $HOME/.nuget/packages to store packages by default # but we should not use anything outside the build root of packages. # Use a separated folder for nuget downloads and cache in WORKDIR. @@ -51,28 +52,15 @@ export https_proxy="${DOTNET_HTTPS_PROXY}" do_configure:prepend() { if ! grep -Fq __version__ ${S}/pythonnet/__init__.py then - printf "\n__version__ = \"${PYTHONNET_VERSION}\"\n" >> ${S}/pythonnet/__init__.py + printf "\n__version__ = \"${PV}\"\n" >> ${S}/pythonnet/__init__.py fi } do_compile[network] = "1" -do_compile:prepend() { - python3 setup.py build_dotnet - cp -r ${S}/build/lib/pythonnet/runtime/Python.Runtime.* ${S}/pythonnet/runtime/ -} - do_install:prepend() { - cwd=$(pwd) printf "${PYTHONNET_ENV}" > ${WORKDIR}/dotnet-env.sh install -d ${D}${sysconfdir}/profile.d - install -d ${D}${PYTHON_SITEPACKAGES_DIR} - - install -m 644 ${S}/clr.py ${D}${PYTHON_SITEPACKAGES_DIR} install -m 644 ${WORKDIR}/dotnet-env.sh ${D}${sysconfdir}/profile.d - - cd ${D}${PYTHON_SITEPACKAGES_DIR} - python3 -m py_compile clr.py - cd ${cwd} } From abaadf0e2a53b4bb122f2868544800e4f03210a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Sz=C5=91ke?= Date: Tue, 5 Sep 2023 11:58:47 +0200 Subject: [PATCH 3/4] merge master to mickledore (#190) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Mickledore support (#164) * conf/layer.conf: Add mickledore to LAYERSERIES_COMPAT Signed-off-by: Zoltán Böszörményi * mono: Fix early parsing errors for mono 4.x and 5.x versions Apparently, PV is unset when mono_workspace_version() is first used. Signed-off-by: Zoltán Böszörményi --------- Signed-off-by: Zoltán Böszörményi * msbuild: Depend on curl-native and ca-certificates-native (#165) * Msbuild replace libhostfxr with dotnet with fixes (#166) * CI_github: Update CI to Node 16 to remove warnings Signed-off-by: Alex J Lennon * CI_github: Update master build branch to langdale Signed-off-by: Alex J Lennon * Fix python3-pythonnet recipe build for langdale (#169) * Fix python3-pythonnet recipe build for langdale * Try to fix compiling task of python3-pythonnet * Refactoring pythonnet and clr_loader recipe * dotnet: add dotnet v7.0.202 (#167) Signed-off-by: Ben Fekih, Hichem * remove dotnet v3.1.11 and update dotnet 6 to 6.0.15 (#171) * CI_github: Add dotnet v7 to CI build matrix Signed-off-by: Alex J Lennon * Add summary for python3-pythonnet and python3-clr-loader recipes (#175) * Fix python3-pythonnet recipe build for langdale * Try to fix compiling task of python3-pythonnet * Refactoring pythonnet and clr_loader recipe * Add summary for python3-pythonnet and python3-clr-loader recipe * Fix mmap segfault on recent kernels (#183) * Add a patch to disable using MAP_32BIT to mmap() The patch was published at https://github.com/mono/mono/issues/21651#issuecomment-1539830484 It had to be slightly adapted to be applicable. Signed-off-by: Zoltán Böszörményi * Use oe_runmake for Mono 6.xx This allows parallel builds. Signed-off-by: Zoltán Böszörményi --------- Signed-off-by: Zoltán Böszörményi * 6.12.0.182 (#181) * mono: Add recipe for version 6.12.0.182 This is a recent stable release. Signed-off-by: Zoltán Böszörményi * Prefer version 6.12.0.182 Signed-off-by: Zoltán Böszörményi --------- Signed-off-by: Zoltán Böszörményi * Add msbuild 16.10.1 recipe (#184) * msbuild: Add recipe for version 16.10.1 Mono 6.12.0.182 needs the new msbuild version. Signed-off-by: Zoltán Böszörményi * conf/layer.conf: Prefer the newest msbuild version Signed-off-by: Zoltán Böszörményi * Bump CI to use Mono 6.12.0.182 Signed-off-by: Zoltán Böszörményi --------- Signed-off-by: Zoltán Böszörményi * libgdiplus: Use git:// SRC_URI (#186) * Update python3-pythonnet and python3-clr-loader (#187) * Update python3-pythonnet and python3-clr-loader * Fix sha256sum of python3-clr-loader and python3-pythonnet * Switch to using mickledore for master build (#188) Signed-off-by: Alex J Lennon * Prepare master to merge mickledore (#189) --------- Signed-off-by: Zoltán Böszörményi Signed-off-by: Alex J Lennon Signed-off-by: Ben Fekih, Hichem Co-authored-by: Zoltán Böszörményi Co-authored-by: Alex J Lennon Co-authored-by: Hichem --- .github/workflows/CI_github.yml | 4 +- conf/layer.conf | 8 +-- recipes-mono/libgdiplus/libgdiplus-common.inc | 12 +++- .../libgdiplus/libgdiplus-native_4.2.bb | 3 +- .../libgdiplus/libgdiplus-native_6.0.4.bb | 4 +- .../libgdiplus/libgdiplus-native_6.0.5.bb | 4 +- recipes-mono/libgdiplus/libgdiplus_4.2.bb | 3 +- recipes-mono/libgdiplus/libgdiplus_6.0.2.bb | 4 +- recipes-mono/libgdiplus/libgdiplus_6.0.4.bb | 4 +- recipes-mono/libgdiplus/libgdiplus_6.0.5.bb | 4 +- .../disable-mmap-MAP_32BIT-support.patch | 47 +++++++++++++ recipes-mono/mono/mono-6.12.0.182.inc | 5 ++ .../0001-patch-XplatUIX11-cursor.diff | 15 ++++ .../disable-mmap-MAP_32BIT-support.patch | 47 +++++++++++++ .../shm_open-test-crosscompile.diff | 12 ++++ recipes-mono/mono/mono-native-6.xx-base.inc | 2 +- recipes-mono/mono/mono-native_6.12.0.161.bb | 1 + recipes-mono/mono/mono-native_6.12.0.182.bb | 21 ++++++ recipes-mono/mono/mono_6.12.0.161.bb | 1 + recipes-mono/mono/mono_6.12.0.182.bb | 25 +++++++ .../msbuild-16.10.1/0001-Copy-hostfxr.patch | 21 ++++++ .../mono-msbuild-use-bash.patch | 42 +++++++++++ recipes-mono/msbuild/msbuild_16.10.1.bb | 70 +++++++++++++++++++ .../python3-clr-loader/python3-clr-loader.bb | 4 +- .../python3-pythonnet/python3-pythonnet.bb | 4 +- 25 files changed, 342 insertions(+), 25 deletions(-) create mode 100644 recipes-mono/mono/mono-6.12.0.161/disable-mmap-MAP_32BIT-support.patch create mode 100644 recipes-mono/mono/mono-6.12.0.182.inc create mode 100644 recipes-mono/mono/mono-6.12.0.182/0001-patch-XplatUIX11-cursor.diff create mode 100644 recipes-mono/mono/mono-6.12.0.182/disable-mmap-MAP_32BIT-support.patch create mode 100644 recipes-mono/mono/mono-6.12.0.182/shm_open-test-crosscompile.diff create mode 100644 recipes-mono/mono/mono-native_6.12.0.182.bb create mode 100644 recipes-mono/mono/mono_6.12.0.182.bb create mode 100644 recipes-mono/msbuild/msbuild-16.10.1/0001-Copy-hostfxr.patch create mode 100644 recipes-mono/msbuild/msbuild-16.10.1/mono-msbuild-use-bash.patch create mode 100644 recipes-mono/msbuild/msbuild_16.10.1.bb diff --git a/.github/workflows/CI_github.yml b/.github/workflows/CI_github.yml index eeb85ba9..d6cdba34 100644 --- a/.github/workflows/CI_github.yml +++ b/.github/workflows/CI_github.yml @@ -3,6 +3,8 @@ name: meta-mono on: push: branches: + - master + - master-next - mickledore pull_request: @@ -16,7 +18,7 @@ jobs: strategy: matrix: dotnet_version: [7.0.202] - mono_version: [6.12.0.161] + mono_version: [6.12.0.182] branch: [mickledore] arch: [x86-64, arm, arm64] env: diff --git a/conf/layer.conf b/conf/layer.conf index f86f8111..8fc73085 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -10,8 +10,8 @@ BBFILE_PATTERN_mono := "^${LAYERDIR}/" BBFILE_PRIORITY_mono = "5" # Default tested with qemux86/qemuarm -PREFERRED_VERSION_mono ?= "6.12.0.161" -PREFERRED_VERSION_mono-native ?= "6.12.0.161" +PREFERRED_VERSION_mono ?= "6.12.0.182" +PREFERRED_VERSION_mono-native ?= "6.12.0.182" PREFERRED_VERSION_libgdiplus ?= "6.0.5" PREFERRED_VERSION_libgdiplus-native ?= "6.0.5" @@ -19,7 +19,7 @@ PREFERRED_VERSION_libgdiplus-native ?= "6.0.5" PREFERRED_VERSION_nuget ?= "5.2.0" PREFERRED_VERSION_nuget-native ?= "5.2.0" -PREFERRED_VERSION_msbuild ?= "16.6" -PREFERRED_VERSION_msbuild-native ?= "16.6" +PREFERRED_VERSION_msbuild ?= "16.10.1" +PREFERRED_VERSION_msbuild-native ?= "16.10.1" LAYERSERIES_COMPAT_mono = "kirkstone langdale mickledore" diff --git a/recipes-mono/libgdiplus/libgdiplus-common.inc b/recipes-mono/libgdiplus/libgdiplus-common.inc index 43c7c4e3..c6af811b 100644 --- a/recipes-mono/libgdiplus/libgdiplus-common.inc +++ b/recipes-mono/libgdiplus/libgdiplus-common.inc @@ -5,7 +5,17 @@ BUGTRACKER = "http://bugzilla.xamarin.com/" SECTION = "libs" LICENSE = "MIT" -SRC_URI = "https://github.com/mono/libgdiplus/archive/${PV}.tar.gz;downloadfilename=${BPN}-${PV}.tar.gz" +BRANCH ?= "main" + +BRANCH_googletest ?= "v1.8.x" +SRCREV_googletest = "dea0216d0c6bc5e63cf5f6c8651cd268668032ec" + +SRC_URI = " \ + git://github.com/mono/libgdiplus.git;protocol=https;branch=${BRANCH} \ + gitsm://github.com/google/googletest.git;protocol=https;name=googletest;branch=${BRANCH_googletest};destsuffix=git/external/googletest \ +" + +S = "${WORKDIR}/git" inherit autotools pkgconfig diff --git a/recipes-mono/libgdiplus/libgdiplus-native_4.2.bb b/recipes-mono/libgdiplus/libgdiplus-native_4.2.bb index e5609851..51058198 100644 --- a/recipes-mono/libgdiplus/libgdiplus-native_4.2.bb +++ b/recipes-mono/libgdiplus/libgdiplus-native_4.2.bb @@ -5,5 +5,4 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=fe7364dfce9f3689eb6995e7cdd56879" SRC_URI += "file://libgdiplus-2.10.9-format.patch" -SRC_URI[md5sum] = "925709982aba701c567850617e2206b1" -SRC_URI[sha256sum] = "98f8a8e58ed22e136c4ac6eaafbc860757f5a97901ecc0ea357e2b6e4cfa2be5" +SRCREV = "109aeea93fbf8c9da94e9e9a8ed6c6e433c8d554" diff --git a/recipes-mono/libgdiplus/libgdiplus-native_6.0.4.bb b/recipes-mono/libgdiplus/libgdiplus-native_6.0.4.bb index 338b1738..126d6b27 100644 --- a/recipes-mono/libgdiplus/libgdiplus-native_6.0.4.bb +++ b/recipes-mono/libgdiplus/libgdiplus-native_6.0.4.bb @@ -3,5 +3,5 @@ require libgdiplus-native.inc LIC_FILES_CHKSUM = "file://COPYING;md5=e0a7dacaa67d7e24a32074fba736dc59" -SRC_URI[md5sum] = "3f94b3d61934eecccaaac5a49501b283" -SRC_URI[sha256sum] = "9a5e3f98018116f99361520348e9713cd05680c231d689a83d87acfaf237d3a8" +BRANCH = "release/6.0" +SRCREV = "c5b9035d14146e054f2636f2e70dd3577bdaa397" diff --git a/recipes-mono/libgdiplus/libgdiplus-native_6.0.5.bb b/recipes-mono/libgdiplus/libgdiplus-native_6.0.5.bb index 73477638..172b8de7 100644 --- a/recipes-mono/libgdiplus/libgdiplus-native_6.0.5.bb +++ b/recipes-mono/libgdiplus/libgdiplus-native_6.0.5.bb @@ -3,5 +3,5 @@ require libgdiplus-native.inc LIC_FILES_CHKSUM = "file://COPYING;md5=e0a7dacaa67d7e24a32074fba736dc59" -SRC_URI[md5sum] = "8079300e708c7ea9b4254d4b2eeba463" -SRC_URI[sha256sum] = "1fd034f4b636214cc24e94c563cd10b3f3444d9f0660927b60e63fd4131d97fa" +BRANCH = "release/6.0" +SRCREV = "110bdc284272258a0d9c95db0de8fcf34b6888b0" diff --git a/recipes-mono/libgdiplus/libgdiplus_4.2.bb b/recipes-mono/libgdiplus/libgdiplus_4.2.bb index 54681d65..bd57713c 100644 --- a/recipes-mono/libgdiplus/libgdiplus_4.2.bb +++ b/recipes-mono/libgdiplus/libgdiplus_4.2.bb @@ -8,5 +8,4 @@ SRC_URI += " \ file://libgdiplus-2.10.9-format.patch \ " -SRC_URI[md5sum] = "925709982aba701c567850617e2206b1" -SRC_URI[sha256sum] = "98f8a8e58ed22e136c4ac6eaafbc860757f5a97901ecc0ea357e2b6e4cfa2be5" +SRCREV = "109aeea93fbf8c9da94e9e9a8ed6c6e433c8d554" diff --git a/recipes-mono/libgdiplus/libgdiplus_6.0.2.bb b/recipes-mono/libgdiplus/libgdiplus_6.0.2.bb index 304c7d26..8f58ecc6 100644 --- a/recipes-mono/libgdiplus/libgdiplus_6.0.2.bb +++ b/recipes-mono/libgdiplus/libgdiplus_6.0.2.bb @@ -5,5 +5,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e0a7dacaa67d7e24a32074fba736dc59" SRC_URI += "file://0001-fix-cross-compile.patch" -SRC_URI[md5sum] = "94f9f05004e6054e414d747844e897b0" -SRC_URI[sha256sum] = "d605bf548affd29bd0418001ffb1bb8c1bf9962c1c37c23744abb0194a099232" +BRANCH = "release/6.0" +SRCREV = "35ae5341c2326c44e26058ca90b12303bb9b1da0" diff --git a/recipes-mono/libgdiplus/libgdiplus_6.0.4.bb b/recipes-mono/libgdiplus/libgdiplus_6.0.4.bb index 499d8754..5d0fcadf 100644 --- a/recipes-mono/libgdiplus/libgdiplus_6.0.4.bb +++ b/recipes-mono/libgdiplus/libgdiplus_6.0.4.bb @@ -7,5 +7,5 @@ SRC_URI += " \ file://0001-fix-cross-compile.patch \ " -SRC_URI[md5sum] = "3f94b3d61934eecccaaac5a49501b283" -SRC_URI[sha256sum] = "9a5e3f98018116f99361520348e9713cd05680c231d689a83d87acfaf237d3a8" +BRANCH = "release/6.0" +SRCREV = "c5b9035d14146e054f2636f2e70dd3577bdaa397" diff --git a/recipes-mono/libgdiplus/libgdiplus_6.0.5.bb b/recipes-mono/libgdiplus/libgdiplus_6.0.5.bb index 12e26b5f..8d172859 100644 --- a/recipes-mono/libgdiplus/libgdiplus_6.0.5.bb +++ b/recipes-mono/libgdiplus/libgdiplus_6.0.5.bb @@ -7,5 +7,5 @@ SRC_URI += " \ file://0001-fix-cross-compile.patch \ " -SRC_URI[md5sum] = "8079300e708c7ea9b4254d4b2eeba463" -SRC_URI[sha256sum] = "1fd034f4b636214cc24e94c563cd10b3f3444d9f0660927b60e63fd4131d97fa" +BRANCH = "release/6.0" +SRCREV = "110bdc284272258a0d9c95db0de8fcf34b6888b0" diff --git a/recipes-mono/mono/mono-6.12.0.161/disable-mmap-MAP_32BIT-support.patch b/recipes-mono/mono/mono-6.12.0.161/disable-mmap-MAP_32BIT-support.patch new file mode 100644 index 00000000..0c998a28 --- /dev/null +++ b/recipes-mono/mono/mono-6.12.0.161/disable-mmap-MAP_32BIT-support.patch @@ -0,0 +1,47 @@ +From e019d4ac4735e774d0a3c15bb36d5eb3ebfa3053 Mon Sep 17 00:00:00 2001 +From: Raphael Robatsch +Date: Tue, 9 May 2023 11:55:02 +0200 +Subject: [PATCH] Disable mmap(MAP_32BIT) support + +mmap(2) with flag MAP_32BIT can erroneously return ENOMEM on recent +kernels. Disable MAP_32BIT support for now. + +Reference: https://lore.kernel.org/linux-mm/cb8dc31a-fef2-1d09-f133-e9f7b9f9e77a@sony.com/ +Reference: https://lore.kernel.org/all/20230414185919.4175572-1-Liam.Howlett@oracle.com/T/#m00a0ac8a72bf2f26711b7f8cc56612a8ef62c3d0 +--- + mono/mini/mini-amd64.h | 2 -- + mono/utils/mono-codeman.c | 4 ---- + 2 files changed, 6 deletions(-) + +diff --git a/mono/mini/mini-amd64.h b/mono/mini/mini-amd64.h +index b321743b67d..0a81bb4bd6b 100644 +--- a/mono/mini/mini-amd64.h ++++ b/mono/mini/mini-amd64.h +@@ -390,9 +390,7 @@ + + #endif /* !HOST_WIN32 */ + +-#if !defined(__linux__) + #define MONO_ARCH_NOMAP32BIT 1 +-#endif + + #ifdef TARGET_WIN32 + #define MONO_AMD64_ARG_REG1 AMD64_RCX +diff --git a/mono/utils/mono-codeman.c b/mono/utils/mono-codeman.c +index 234aac4b0ca..5eccda92bd0 100644 +--- a/mono/utils/mono-codeman.c ++++ b/mono/utils/mono-codeman.c +@@ -68,11 +68,7 @@ static const MonoCodeManagerCallbacks *code_manager_callbacks; + #define MAX_WASTAGE 32 + #define MIN_BSIZE 32 + +-#ifdef __x86_64__ +-#define ARCH_MAP_FLAGS MONO_MMAP_32BIT +-#else + #define ARCH_MAP_FLAGS 0 +-#endif + + #define MONO_PROT_RWX (MONO_MMAP_READ|MONO_MMAP_WRITE|MONO_MMAP_EXEC|MONO_MMAP_JIT) + +-- +2.40.1 diff --git a/recipes-mono/mono/mono-6.12.0.182.inc b/recipes-mono/mono/mono-6.12.0.182.inc new file mode 100644 index 00000000..337f9bae --- /dev/null +++ b/recipes-mono/mono/mono-6.12.0.182.inc @@ -0,0 +1,5 @@ +SRC_URI[sha256sum] = "57366a6ab4f3b5ecf111d48548031615b3a100db87c679fc006e8c8a4efd9424" + +S = "${WORKDIR}/mono-${PV}" + +DEPENDS += " cmake-native" diff --git a/recipes-mono/mono/mono-6.12.0.182/0001-patch-XplatUIX11-cursor.diff b/recipes-mono/mono/mono-6.12.0.182/0001-patch-XplatUIX11-cursor.diff new file mode 100644 index 00000000..bcdad8f1 --- /dev/null +++ b/recipes-mono/mono/mono-6.12.0.182/0001-patch-XplatUIX11-cursor.diff @@ -0,0 +1,15 @@ +diff -ur mono-6.8.0.96.org/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs mono-6.8.0.96/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs +--- mono-6.8.0.96.org/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs 2020-01-15 07:46:01.000000000 +0000 ++++ mono-6.8.0.96/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs 2020-02-08 21:22:11.059830600 +0000 +@@ -3091,6 +3091,11 @@ + return IntPtr.Zero; + } + ++ if(width == 0 || height == 0) { ++ width = bitmap.Width; ++ height = bitmap.Height; ++ } ++ + // Win32 only allows creation cursors of a certain size + if ((bitmap.Width != width) || (bitmap.Width != height)) { + cursor_bitmap = new Bitmap(bitmap, new Size(width, height)); diff --git a/recipes-mono/mono/mono-6.12.0.182/disable-mmap-MAP_32BIT-support.patch b/recipes-mono/mono/mono-6.12.0.182/disable-mmap-MAP_32BIT-support.patch new file mode 100644 index 00000000..0c998a28 --- /dev/null +++ b/recipes-mono/mono/mono-6.12.0.182/disable-mmap-MAP_32BIT-support.patch @@ -0,0 +1,47 @@ +From e019d4ac4735e774d0a3c15bb36d5eb3ebfa3053 Mon Sep 17 00:00:00 2001 +From: Raphael Robatsch +Date: Tue, 9 May 2023 11:55:02 +0200 +Subject: [PATCH] Disable mmap(MAP_32BIT) support + +mmap(2) with flag MAP_32BIT can erroneously return ENOMEM on recent +kernels. Disable MAP_32BIT support for now. + +Reference: https://lore.kernel.org/linux-mm/cb8dc31a-fef2-1d09-f133-e9f7b9f9e77a@sony.com/ +Reference: https://lore.kernel.org/all/20230414185919.4175572-1-Liam.Howlett@oracle.com/T/#m00a0ac8a72bf2f26711b7f8cc56612a8ef62c3d0 +--- + mono/mini/mini-amd64.h | 2 -- + mono/utils/mono-codeman.c | 4 ---- + 2 files changed, 6 deletions(-) + +diff --git a/mono/mini/mini-amd64.h b/mono/mini/mini-amd64.h +index b321743b67d..0a81bb4bd6b 100644 +--- a/mono/mini/mini-amd64.h ++++ b/mono/mini/mini-amd64.h +@@ -390,9 +390,7 @@ + + #endif /* !HOST_WIN32 */ + +-#if !defined(__linux__) + #define MONO_ARCH_NOMAP32BIT 1 +-#endif + + #ifdef TARGET_WIN32 + #define MONO_AMD64_ARG_REG1 AMD64_RCX +diff --git a/mono/utils/mono-codeman.c b/mono/utils/mono-codeman.c +index 234aac4b0ca..5eccda92bd0 100644 +--- a/mono/utils/mono-codeman.c ++++ b/mono/utils/mono-codeman.c +@@ -68,11 +68,7 @@ static const MonoCodeManagerCallbacks *code_manager_callbacks; + #define MAX_WASTAGE 32 + #define MIN_BSIZE 32 + +-#ifdef __x86_64__ +-#define ARCH_MAP_FLAGS MONO_MMAP_32BIT +-#else + #define ARCH_MAP_FLAGS 0 +-#endif + + #define MONO_PROT_RWX (MONO_MMAP_READ|MONO_MMAP_WRITE|MONO_MMAP_EXEC|MONO_MMAP_JIT) + +-- +2.40.1 diff --git a/recipes-mono/mono/mono-6.12.0.182/shm_open-test-crosscompile.diff b/recipes-mono/mono/mono-6.12.0.182/shm_open-test-crosscompile.diff new file mode 100644 index 00000000..62e49c65 --- /dev/null +++ b/recipes-mono/mono/mono-6.12.0.182/shm_open-test-crosscompile.diff @@ -0,0 +1,12 @@ +--- mono-6.8.0.96/configure.ac.orig 2019-03-15 10:45:13.000000000 -0400 ++++ mono-6.8.0.96/configure.ac 2019-03-19 08:00:53.815148109 -0400 +@@ -3264,6 +3264,9 @@ + AC_DEFINE(HAVE_SHM_OPEN_THAT_WORKS_WELL_ENOUGH_WITH_MMAP, 1, [shm_open that works well enough with mmap]) + ], [ + AC_MSG_RESULT(no) ++ ],[ ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(HAVE_SHM_OPEN_THAT_WORKS_WELL_ENOUGH_WITH_MMAP, 1, [shm_open that works well enough with mmap]) + ]) + fi + diff --git a/recipes-mono/mono/mono-native-6.xx-base.inc b/recipes-mono/mono/mono-native-6.xx-base.inc index dc372759..695030ce 100644 --- a/recipes-mono/mono/mono-native-6.xx-base.inc +++ b/recipes-mono/mono/mono-native-6.xx-base.inc @@ -7,7 +7,7 @@ RPROVIDES:${PN} += "nativesdk-mono" PROVIDES += "nativesdk-mono" do_compile() { - make EXTERNAL_MCS="${S}/mcs/class/lib/monolite/basic.exe" EXTERNAL_RUNTIME="${S}/foo/bar/mono" + oe_runmake EXTERNAL_MCS="${S}/mcs/class/lib/monolite/basic.exe" EXTERNAL_RUNTIME="${S}/foo/bar/mono" } EDEPENDS_X11 =+ "libgdiplus-native" diff --git a/recipes-mono/mono/mono-native_6.12.0.161.bb b/recipes-mono/mono/mono-native_6.12.0.161.bb index c2fe6921..23d134e0 100644 --- a/recipes-mono/mono/mono-native_6.12.0.161.bb +++ b/recipes-mono/mono/mono-native_6.12.0.161.bb @@ -27,6 +27,7 @@ SRC_URI = "http://download.mono-project.com/sources/mono/mono-${BASEPV}.tar.xz \ file://0036-Revert-2020-02-Start-a-dedicated-thread-for-MERP-cra.patch \ file://0037-Allow-nfloat-to-be-in-the-ObjCRuntime-namespace-and-.patch \ file://0039-aot-Prepend-the-assembly-name-to-the-names-of-gshare.patch \ + file://disable-mmap-MAP_32BIT-support.patch \ " addtask fixup_config after do_patch before do_configure diff --git a/recipes-mono/mono/mono-native_6.12.0.182.bb b/recipes-mono/mono/mono-native_6.12.0.182.bb new file mode 100644 index 00000000..d9fd91cd --- /dev/null +++ b/recipes-mono/mono/mono-native_6.12.0.182.bb @@ -0,0 +1,21 @@ +require mono-6.xx.inc +require mono-mit-bsd-6xx.inc +require mono-native-6.xx-base.inc +require mono-${PV}.inc + +SRC_URI = "http://download.mono-project.com/sources/mono/mono-${PV}.tar.xz \ + file://0001-patch-XplatUIX11-cursor.diff \ + file://shm_open-test-crosscompile.diff \ + file://disable-mmap-MAP_32BIT-support.patch \ +" + +addtask fixup_config after do_patch before do_configure + +do_fixup_config() { + sed 's|$mono_libdir/libMonoPosixHelper@libsuffix@|libMonoPosixHelper.so|g' -i ${S}/data/config.in + sed 's|@X11@|libX11.so.6|g' -i ${S}/data/config.in + sed 's|@libgdiplus_install_loc@|libgdiplus.so.0|g' -i ${S}/data/config.in +} + + + diff --git a/recipes-mono/mono/mono_6.12.0.161.bb b/recipes-mono/mono/mono_6.12.0.161.bb index 9316834f..e984148e 100644 --- a/recipes-mono/mono/mono_6.12.0.161.bb +++ b/recipes-mono/mono/mono_6.12.0.161.bb @@ -28,6 +28,7 @@ SRC_URI = "http://download.mono-project.com/sources/mono/mono-${BASEPV}.tar.xz \ file://0036-Revert-2020-02-Start-a-dedicated-thread-for-MERP-cra.patch \ file://0037-Allow-nfloat-to-be-in-the-ObjCRuntime-namespace-and-.patch \ file://0039-aot-Prepend-the-assembly-name-to-the-names-of-gshare.patch \ + file://disable-mmap-MAP_32BIT-support.patch \ " diff --git a/recipes-mono/mono/mono_6.12.0.182.bb b/recipes-mono/mono/mono_6.12.0.182.bb new file mode 100644 index 00000000..3aac5f0f --- /dev/null +++ b/recipes-mono/mono/mono_6.12.0.182.bb @@ -0,0 +1,25 @@ +require mono-6.xx.inc +require mono-mit-bsd-6xx.inc +require ${PN}-base.inc +require mono-${PV}.inc + +RDEPENDS:${PN}-dev =+ " zlib " + +SRC_URI = "http://download.mono-project.com/sources/mono/mono-${PV}.tar.xz \ + file://shm_open-test-crosscompile.diff \ + file://disable-mmap-MAP_32BIT-support.patch \ +" + + +addtask fixup_config after do_patch before do_configure + +do_fixup_config() { + sed 's|$mono_libdir/libMonoPosixHelper@libsuffix@|libMonoPosixHelper.so|g' -i ${S}/data/config.in + sed 's|@X11@|libX11.so.6|g' -i ${S}/data/config.in + sed 's|@libgdiplus_install_loc@|libgdiplus.so.0|g' -i ${S}/data/config.in +} + +PACKAGES += "${PN}-profiler " +FILES:${PN}-profiler += " ${datadir}/mono-2.0/mono/profiler/*" + +INSANE_SKIP:${PN}-libs += "dev-so" diff --git a/recipes-mono/msbuild/msbuild-16.10.1/0001-Copy-hostfxr.patch b/recipes-mono/msbuild/msbuild-16.10.1/0001-Copy-hostfxr.patch new file mode 100644 index 00000000..aea7aa18 --- /dev/null +++ b/recipes-mono/msbuild/msbuild-16.10.1/0001-Copy-hostfxr.patch @@ -0,0 +1,21 @@ +From be8f534947136661bfec11410da7767e92adb1f3 Mon Sep 17 00:00:00 2001 +From: Nicolas Jeker +Date: Fri, 22 Jan 2021 10:41:27 +0100 +Subject: [PATCH] Copy hostfxr + +--- + eng/cibuild_bootstrapped_msbuild.sh | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/eng/cibuild_bootstrapped_msbuild.sh b/eng/cibuild_bootstrapped_msbuild.sh +index 759c75f..cfa3c28 100755 +--- a/eng/cibuild_bootstrapped_msbuild.sh ++++ b/eng/cibuild_bootstrapped_msbuild.sh +@@ -61,6 +61,7 @@ function DownloadMSBuildForMono { + unzip -q "$msbuild_zip" -d "$artifacts_dir" + # rename just to make it obvious when reading logs! + mv $artifacts_dir/msbuild $mono_msbuild_dir ++ cp %libhostfxr% $artifacts_dir/mono-msbuild/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver/ + sed -i 's#/sh$#/bash#' $artifacts_dir/mono-msbuild/msbuild + chmod +x $artifacts_dir/mono-msbuild/MSBuild.dll + diff --git a/recipes-mono/msbuild/msbuild-16.10.1/mono-msbuild-use-bash.patch b/recipes-mono/msbuild/msbuild-16.10.1/mono-msbuild-use-bash.patch new file mode 100644 index 00000000..ab112662 --- /dev/null +++ b/recipes-mono/msbuild/msbuild-16.10.1/mono-msbuild-use-bash.patch @@ -0,0 +1,42 @@ +Index: xamarin-pkg-msbuild/gen_build_info.sh +=================================================================== +--- xamarin-pkg-msbuild.orig/gen_build_info.sh ++++ xamarin-pkg-msbuild/gen_build_info.sh +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + + if [ $# -ne 1 ]; then + echo "Usage: $0 " +Index: xamarin-pkg-msbuild/mono/create_bootstrap.sh +=================================================================== +--- xamarin-pkg-msbuild.orig/mono/create_bootstrap.sh ++++ xamarin-pkg-msbuild/mono/create_bootstrap.sh +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + + # This creates a bootstrap from an exising mono installation + # This is just to ensure that we have the correct "matched" Roslyn +Index: xamarin-pkg-msbuild/msbuild-deploy.in +=================================================================== +--- xamarin-pkg-msbuild.orig/msbuild-deploy.in ++++ xamarin-pkg-msbuild/msbuild-deploy.in +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + ABSOLUTE_PATH=$(cd `dirname "${BASH_SOURCE[0]}"` && pwd)/`basename "${BASH_SOURCE[0]}"` + MSBUILD_SRC_DIR=`dirname $ABSOLUTE_PATH` + mono $MONO_OPTIONS $MSBUILD_SRC_DIR/MSBuild.exe $* +Index: xamarin-pkg-msbuild/eng/cibuild_bootstrapped_msbuild.sh +=================================================================== +--- xamarin-pkg-msbuild.orig/eng/cibuild_bootstrapped_msbuild.sh ++++ xamarin-pkg-msbuild/eng/cibuild_bootstrapped_msbuild.sh +@@ -61,6 +61,7 @@ function DownloadMSBuildForMono { + unzip -q "$msbuild_zip" -d "$artifacts_dir" + # rename just to make it obvious when reading logs! + mv $artifacts_dir/msbuild $mono_msbuild_dir ++ sed -i 's#/sh$#/bash#' $artifacts_dir/mono-msbuild/msbuild + chmod +x $artifacts_dir/mono-msbuild/MSBuild.dll + + if [[ `uname -s` != 'Darwin' ]]; then diff --git a/recipes-mono/msbuild/msbuild_16.10.1.bb b/recipes-mono/msbuild/msbuild_16.10.1.bb new file mode 100644 index 00000000..bfc96127 --- /dev/null +++ b/recipes-mono/msbuild/msbuild_16.10.1.bb @@ -0,0 +1,70 @@ +SUMMARY = "The Microsoft Build Engine is a platform for building applications." +HOMEPAGE = "https://docs.microsoft.com/visualstudio/msbuild/msbuild" +SECTION = "console/apps" +LICENSE = "MIT" + +DEPENDS = "curl-native ca-certificates-native unzip-native dotnet-native" + +RDEPENDS_${PN} = "dotnet" + +LIC_FILES_CHKSUM = "file://license;md5=aa2bb45abfacf721bd09860b11b79f5a \ + file://ref/LicenseHeader.txt;md5=b06c0743af93aeb14a577bb2bfdada8e" + +inherit mono + +SRCREV = "8463cdd28537acbca482d2a14804f61ab7838383" + +SRC_URI = "git://github.com/mono/linux-packaging-msbuild.git;branch=main;protocol=https \ + file://mono-msbuild-license-case.patch \ + file://mono-msbuild-use-bash.patch \ + file://0001-Don-t-try-to-run-pkill.patch \ + file://0001-Copy-hostfxr.patch \ + " + +S = "${WORKDIR}/git" + +do_configure () { + sed "s|%libhostfxr%|${STAGING_DIR_TARGET}${libdir}/libhostfxr.so|g" -i ${S}/eng/cibuild_bootstrapped_msbuild.sh + + sed "s|\$(HOME)\\\.nuget\\\packages|${NUGET_PACKAGES}|g" -i ${S}/mono/build/common.props + sed "s|\$(MonoInstallPrefix)\\\lib|${D}${libdir}|g" -i ${S}/mono/build/install.proj + sed "s|\$(MonoInstallPrefix)\\\bin|${D}${bindir}|g" -i ${S}/mono/build/install.proj + sed "s|\$(MonoInstallPrefix)\\\share|${D}${datadir}|g" -i ${S}/mono/build/install.proj + + sed "s|'\$1'/bin|${bindir}|g" -i ${S}/mono/build/gen_msbuild_wrapper.sh + sed "s|\$1/lib|${libdir}|g" -i ${S}/mono/build/gen_msbuild_wrapper.sh +} + +export DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR="${STAGING_DATADIR_NATIVE}/dotnet" +export CURL_CA_BUNDLE="${STAGING_DIR_NATIVE}/etc/ssl/certs/ca-certificates.crt" + +do_compile[network] = "1" + +do_compile () { + mkdir -p ${WORKDIR}/build-home-dir + export HOME=${WORKDIR}/build-home-dir + + # Sync Mono certificate store with ca-certificates + cert-sync --user ${STAGING_DIR_NATIVE}/etc/ssl/certs/ca-certificates.crt + + # Trust extra sites + yes | ${STAGING_BINDIR_NATIVE}/certmgr -ssl https://nugetgallery.blob.core.windows.net + yes | ${STAGING_BINDIR_NATIVE}/certmgr -ssl https://nuget.org + yes | ${STAGING_BINDIR_NATIVE}/certmgr -ssl https://api.nuget.org + yes | ${STAGING_BINDIR_NATIVE}/certmgr -ssl https://go.microsoft.com + + ./eng/cibuild_bootstrapped_msbuild.sh --host_type mono --configuration Release --skip_tests /p:DisableNerdbankVersioning=true +} + +do_install () { + export HOME=${WORKDIR}/build-home-dir + + ./stage1/mono-msbuild/msbuild mono/build/install.proj /p:MonoInstallPrefix="${D}" /p:Configuration=Release-MONO /p:IgnoreDiffFailure=true +} + +FILES:${PN} = "\ + ${bindir} \ + ${libdir}/mono \ +" + +BBCLASSEXTEND = "native" diff --git a/recipes-python/python3-clr-loader/python3-clr-loader.bb b/recipes-python/python3-clr-loader/python3-clr-loader.bb index d7f2152a..46dd4d55 100644 --- a/recipes-python/python3-clr-loader/python3-clr-loader.bb +++ b/recipes-python/python3-clr-loader/python3-clr-loader.bb @@ -9,8 +9,8 @@ LIC_FILES_CHKSUM = " \ inherit pypi python_flit_core -PV = "0.2.5" -SRC_URI[sha256sum] = "82ed5fb654729d14fd88296e74bb6b84eb2cfb976ff4b7d49d4e449fd78a226b" +PV = "0.2.6" +SRC_URI[sha256sum] = "019348ae6b6a83c7a406d14537c277cecf7a3a53b263ec342c81ded5845a67ee" PYPI_PACKAGE = "clr_loader" DOTNET_MIN_REQ_VERSION ?= "6.0.0" diff --git a/recipes-python/python3-pythonnet/python3-pythonnet.bb b/recipes-python/python3-pythonnet/python3-pythonnet.bb index fa6fc486..8971ffdd 100644 --- a/recipes-python/python3-pythonnet/python3-pythonnet.bb +++ b/recipes-python/python3-pythonnet/python3-pythonnet.bb @@ -9,8 +9,8 @@ LIC_FILES_CHKSUM = " \ inherit pypi python_flit_core -PV = "3.0.1" -SRC_URI[sha256sum] = "ed4f7f7f95515404112ddb3da1638e1a1013cb56e64c48c4fa60303f02b0a3dd" +PV = "3.0.2" +SRC_URI[sha256sum] = "2cdd1ccedc64a7c9bd711be3d0fd0c4a78932474139dc54aa697bedde741c746" PYPI_PACKAGE = "pythonnet" DOTNET_MIN_REQ_VERSION ?= "6.0.0" From 706ef1c4e887c4f8b99643e2e8750b02b83d1e15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Sz=C5=91ke?= Date: Tue, 5 Sep 2023 22:51:31 +0200 Subject: [PATCH 4/4] dotnet: remove old dotnet versions --- recipes-mono/dotnet/dotnet_6.0.407.bb | 100 ------------------------- recipes-mono/dotnet/dotnet_7.0.202.bb | 101 -------------------------- 2 files changed, 201 deletions(-) delete mode 100644 recipes-mono/dotnet/dotnet_6.0.407.bb delete mode 100644 recipes-mono/dotnet/dotnet_7.0.202.bb diff --git a/recipes-mono/dotnet/dotnet_6.0.407.bb b/recipes-mono/dotnet/dotnet_6.0.407.bb deleted file mode 100644 index 36aa56ed..00000000 --- a/recipes-mono/dotnet/dotnet_6.0.407.bb +++ /dev/null @@ -1,100 +0,0 @@ -DESCRIPTION = ".NET Core Runtime, SDK & CLI tools" -HOMEPAGE = "https://www.microsoft.com/net/core" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9fc642ff452b28d62ab19b7eea50dfb9" - -COMPATIBLE_HOST ?= "(x86_64|aarch64|arm).*-linux" - -DEPENDS = "patchelf-native" - -#FIXME add lttng-ust as soon as dotnet core supports liblttng-ust.so.1 -RDEPENDS:${PN} = "\ - icu \ - libgssapi-krb5 \ - zlib \ -" - -RDEPENDS:${PN}:remove:class-native = "libgssapi-krb5" - -PR = "r0" - -SRC_ARCH:aarch64 = "arm64" -SRC_FETCH_ID:aarch64 = "72d1f83c-ad2c-4c9b-88b1-15196f411b9d/a0b863cabea9ac0fe7b92dc70c8d4ef0" -SRC_SHA512SUM:aarch64 = "7d48d8a3814694a978b09a7c4b61c8e0dae9b5efe8195c15339d2f777fa4b85084d386117ee03b05f543d3d64b9484942e1e212001382b2e67277b30f5254b9f" - -SRC_ARCH:arm = "arm" -SRC_FETCH_ID:arm = "7325ec17-70e8-479d-b8b6-fcbab8d6a053/8abb075436b62424378cbee076c895f5" -SRC_SHA512SUM:arm = "3f9ba3b05e4c1ef61a6afbdf97a61c42b3eff06ef9189f0f11934fa399674440602e51823190cdf1c43deba3fef7a3ebe7d1ea92933d1d07f59516aefd399aae" - -SRC_ARCH:x86-64 = "x64" -SRC_FETCH_ID:x86-64 = "868b2f38-62ca-4fd8-93ea-e640cf4d2c5b/1e615b6044c0cf99806b8f6e19c97e03" -SRC_SHA512SUM:x86-64 = "3cc230f21c0d60ffa4955c01d79cbb41887a41f4e97d0708170e4be8e4dc5bc261269c788c738416c28bbc7e8c6940a89cf3d010f16d1dc4cf25bbb0e2c033c1" - -SRC_URI[vardeps] += "SRC_FETCH_ID SRC_ARCH" -SRC_URI[sha512sum] = "${SRC_SHA512SUM}" - -SRC_URI = "https://download.visualstudio.microsoft.com/download/pr/${SRC_FETCH_ID}/dotnet-sdk-${PV}-linux-${SRC_ARCH}.tar.gz;subdir=dotnet-${PV}" - -do_configure[noexec] = "1" -do_compile[noexec] = "1" - -DOTNET_RUNTIME = "6.0.15" -do_install[vardeps] += "DOTNET_RUNTIME" - -do_install() { - install -d ${D}${bindir} - ln -rs ${D}${datadir}/dotnet/dotnet ${D}${bindir}/dotnet - - install -d ${D}${datadir}/dotnet - cp -r --no-preserve=ownership ${S}/templates ${D}${datadir}/dotnet - install -m 0755 ${S}/dotnet ${D}${datadir}/dotnet - install -m 0644 ${S}/LICENSE.txt ${D}${datadir}/dotnet - install -m 0644 ${S}/ThirdPartyNotices.txt ${D}${datadir}/dotnet - - install -d ${D}${datadir}/dotnet/host/fxr - cp -r --no-preserve=ownership ${S}/host/fxr/${DOTNET_RUNTIME} ${D}${datadir}/dotnet/host/fxr - - cp -r --no-preserve=ownership ${S}/sdk ${D}${datadir}/dotnet/ - cp -r --no-preserve=ownership ${S}/sdk-manifests ${D}${datadir}/dotnet/ - - install -d ${D}${datadir}/dotnet/shared/Microsoft.NETCore.App - cp -r --no-preserve=ownership ${S}/shared/Microsoft.NETCore.App/${DOTNET_RUNTIME} ${D}${datadir}/dotnet/shared/Microsoft.NETCore.App - - install -d ${D}${datadir}/dotnet/shared/Microsoft.AspNetCore.App - cp -r --no-preserve=ownership ${S}/shared/Microsoft.AspNetCore.App/${DOTNET_RUNTIME} ${D}${datadir}/dotnet/shared/Microsoft.AspNetCore.App - - # Hack to fix liblttng-ust dependency issues - patchelf --remove-needed liblttng-ust.so.0 ${D}${datadir}/dotnet/shared/Microsoft.NETCore.App/${DOTNET_RUNTIME}/libcoreclrtraceptprovider.so - - install -d ${D}${libdir} - ln -rs ${D}${datadir}/dotnet/host/fxr/${DOTNET_RUNTIME}/libhostfxr.so ${D}${libdir}/libhostfxr.so -} - -do_install:append:x86-64:class-target () { - # Set correct interpreter path - patchelf --set-interpreter ${base_libdir}/ld-linux-x86-64.so.2 ${D}${datadir}/dotnet/dotnet -} - -FILES:${PN} += "\ - ${datadir}/dotnet/dotnet \ - ${datadir}/dotnet/*.txt \ - ${datadir}/dotnet/host \ - ${datadir}/dotnet/shared \ - ${libdir} \ -" - -FILES:${PN}-dev = "\ - ${datadir}/dotnet/sdk \ - ${datadir}/dotnet/sdk-manifests \ - ${datadir}/dotnet/templates \ -" - -FILES:${PN}-dbg = "\ - ${datadir}/dotnet/.debug \ -" - -RRECOMMENDS:dotnet-dev[nodeprrecs] = "1" - -INSANE_SKIP:${PN} = "already-stripped libdir staticdev textrel dev-so" - -BBCLASSEXTEND = "native" diff --git a/recipes-mono/dotnet/dotnet_7.0.202.bb b/recipes-mono/dotnet/dotnet_7.0.202.bb deleted file mode 100644 index a2e90fab..00000000 --- a/recipes-mono/dotnet/dotnet_7.0.202.bb +++ /dev/null @@ -1,101 +0,0 @@ -DESCRIPTION = ".NET Core Runtime, SDK & CLI tools" -HOMEPAGE = "https://www.microsoft.com/net/core" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9fc642ff452b28d62ab19b7eea50dfb9" - -COMPATIBLE_HOST ?= "(x86_64|aarch64|arm).*-linux" - -DEPENDS = "patchelf-native" - -#FIXME add lttng-ust as soon as dotnet core supports liblttng-ust.so.1 -RDEPENDS:${PN} = "\ - icu \ - libgssapi-krb5 \ - zlib \ -" - -RDEPENDS:${PN}:remove:class-native = "libgssapi-krb5" - -PR = "r0" - -SRC_ARCH:aarch64 = "arm64" -SRC_FETCH_ID:aarch64 = "c1fd11b0-186a-4aa1-a578-bb1b6613886e/b67e1c9d6d90b1c99b23935273921fa1" -SRC_SHA512SUM:aarch64 = "6f03de4ef1d0f67bcf8f794beea1a1497c9b1d31c484675382ad63a686ad3047ba2e12b2739ef2bf70c12e61a462ee8abd87e96a7c48200dceab92094144b332" - -SRC_ARCH:arm = "arm" -SRC_FETCH_ID:arm = "6b56da47-dbe4-4921-a08e-eb3826565525/36ecf89507f52cc70ec2128b13948290" -SRC_SHA512SUM:arm = "242c3b93b6ca39e89a7f30f0c29d71294200a2eb14a95bd3f017ed0cb83f3c5ecc6a0d0b0ffab3687d1f925419619a8508f96d1262bd522f6c876a75d929e88a" - -SRC_ARCH:x86-64 = "x64" -SRC_FETCH_ID:x86-64 = "bda88810-e1a6-4cf0-8139-7fd7fe7b2c7a/7a9ffa3e12e5f1c3d8b640e326c1eb14" -SRC_SHA512SUM:x86-64 = "f415a8e6c078421759a963aa0b232c092ecf2f0a8e014ba72092390aac792ed35e8f3c822b2ce91ed636cdee9342bba2b89fb4fdfd2d28dbb0ac856d828cb29f" - -SRC_URI[vardeps] += "SRC_FETCH_ID SRC_ARCH" -SRC_URI[sha512sum] = "${SRC_SHA512SUM}" - -SRC_URI = "https://download.visualstudio.microsoft.com/download/pr/${SRC_FETCH_ID}/dotnet-sdk-${PV}-linux-${SRC_ARCH}.tar.gz;subdir=dotnet-${PV}" - -do_configure[noexec] = "1" -do_compile[noexec] = "1" - -DOTNET_RUNTIME = "7.0.4" -do_install[vardeps] += "DOTNET_RUNTIME" - -do_install() { - install -d ${D}${bindir} - ln -rs ${D}${datadir}/dotnet/dotnet ${D}${bindir}/dotnet - - install -d ${D}${datadir}/dotnet - cp -r --no-preserve=ownership ${S}/templates ${D}${datadir}/dotnet - install -m 0755 ${S}/dotnet ${D}${datadir}/dotnet - install -m 0644 ${S}/LICENSE.txt ${D}${datadir}/dotnet - install -m 0644 ${S}/ThirdPartyNotices.txt ${D}${datadir}/dotnet - - install -d ${D}${datadir}/dotnet/host/fxr - cp -r --no-preserve=ownership ${S}/host/fxr/${DOTNET_RUNTIME} ${D}${datadir}/dotnet/host/fxr - - cp -r --no-preserve=ownership ${S}/sdk ${D}${datadir}/dotnet/ - cp -r --no-preserve=ownership ${S}/sdk-manifests ${D}${datadir}/dotnet/ - - install -d ${D}${datadir}/dotnet/shared/Microsoft.NETCore.App - cp -r --no-preserve=ownership ${S}/shared/Microsoft.NETCore.App/${DOTNET_RUNTIME} ${D}${datadir}/dotnet/shared/Microsoft.NETCore.App - - install -d ${D}${datadir}/dotnet/shared/Microsoft.AspNetCore.App - cp -r --no-preserve=ownership ${S}/shared/Microsoft.AspNetCore.App/${DOTNET_RUNTIME} ${D}${datadir}/dotnet/shared/Microsoft.AspNetCore.App - - # Hack to fix liblttng-ust dependency issues - patchelf --remove-needed liblttng-ust.so.0 ${D}${datadir}/dotnet/shared/Microsoft.NETCore.App/${DOTNET_RUNTIME}/libcoreclrtraceptprovider.so - - install -d ${D}${libdir} - ln -rs ${D}${datadir}/dotnet/host/fxr/${DOTNET_RUNTIME}/libhostfxr.so ${D}${libdir}/libhostfxr.so -} - -do_install:append:x86-64:class-target () { - # Set correct interpreter path - patchelf --set-interpreter ${base_libdir}/ld-linux-x86-64.so.2 ${D}${datadir}/dotnet/dotnet -} - -FILES:${PN} += "\ - ${datadir}/dotnet/dotnet \ - ${datadir}/dotnet/*.txt \ - ${datadir}/dotnet/host \ - ${datadir}/dotnet/shared \ - ${libdir} \ -" - -FILES:${PN}-dev = "\ - ${datadir}/dotnet/sdk \ - ${datadir}/dotnet/sdk-manifests \ - ${datadir}/dotnet/templates \ -" - -FILES:${PN}-dbg = "\ - ${datadir}/dotnet/.debug \ -" - -RRECOMMENDS:dotnet-dev[nodeprrecs] = "1" - -INSANE_SKIP:${PN} = "already-stripped libdir staticdev textrel dev-so" -INSANE_SKIP:${PN}-dbg = "libdir" - -BBCLASSEXTEND = "native"