Skip to content

Commit

Permalink
Merge pull request #227 from Livius90/master
Browse files Browse the repository at this point in the history
dotnet: Refactor dotnet recipes
  • Loading branch information
ajlennon committed Jun 18, 2024
2 parents 4fa5768 + dac1510 commit b6b0937
Show file tree
Hide file tree
Showing 3 changed files with 97 additions and 182 deletions.
93 changes: 93 additions & 0 deletions recipes-mono/dotnet/dotnet.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
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"
RDEPENDS:${PN}:remove:class-nativesdk = "libgssapi-krb5"

PR = "r0"

SRC_ARCH:aarch64 = "arm64"
SRC_ARCH:arm = "arm"
SRC_ARCH:x86-64 = "x64"

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"

do_install[vardeps] += "DOTNET_RUNTIME_VERSION"

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_VERSION} ${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_VERSION} ${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_VERSION} ${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_VERSION}/libcoreclrtraceptprovider.so

install -d ${D}${libdir}
ln -rs ${D}${datadir}/dotnet/host/fxr/${DOTNET_RUNTIME_VERSION}/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 nativesdk"
93 changes: 2 additions & 91 deletions recipes-mono/dotnet/dotnet_6.0.423.bb
Original file line number Diff line number Diff line change
@@ -1,101 +1,12 @@
DESCRIPTION = ".NET Core Runtime, SDK & CLI tools"
HOMEPAGE = "https://www.microsoft.com/net/core"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9fc642ff452b28d62ab19b7eea50dfb9"
require dotnet.inc

COMPATIBLE_HOST ?= "(x86_64|aarch64|arm).*-linux"
DOTNET_RUNTIME_VERSION = "6.0.31"

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 = "f60a9d6c-1df8-4b84-af48-1961ed476a38/32f60a0f291dce64fb33a502e69e78bf"
SRC_SHA512SUM:aarch64 = "42f5e89d6d9a9923bbc20398a6272290b5f693cc767aa540233630f849779daa8cc7d8ac87655f6b2c8e0250bf5be986a8e8ae502b6f33c0b3e474d041b77625"

SRC_ARCH:arm = "arm"
SRC_FETCH_ID:arm = "46083246-216c-4d0c-905f-67f335466a23/505f9e26b85d7dd29d79a7e11da37926"
SRC_SHA512SUM:arm = "4be68c3f50fe9f04839bb2226ed5b5c98577a4290a3d627c672fa24968fb267e9186d611b3f8332cb4545ac86a6acea4e0b1321af5cb6973623b0ee83bd743c4"

SRC_ARCH:x86-64 = "x64"
SRC_FETCH_ID:x86-64 = "111a63f5-e1d4-4d07-b8b2-98642b5fcc59/389661b982fa5b83b09a1f50b9da247a"
SRC_SHA512SUM:x86-64 = "4b4a0e66634211ae04fa030e18ae9e22640f5828307ba85c4bae596ab2d31260519197828dae3b2ec73d6772635e0b375536ea6591b03c67c2b7a5566f016952"

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.31"
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"
93 changes: 2 additions & 91 deletions recipes-mono/dotnet/dotnet_8.0.301.bb
Original file line number Diff line number Diff line change
@@ -1,101 +1,12 @@
DESCRIPTION = ".NET Core Runtime, SDK & CLI tools"
HOMEPAGE = "https://www.microsoft.com/net/core"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9fc642ff452b28d62ab19b7eea50dfb9"
require dotnet.inc

COMPATIBLE_HOST ?= "(x86_64|aarch64|arm).*-linux"
DOTNET_RUNTIME_VERSION = "8.0.6"

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 = "cd9decc0-f3ef-46d6-b7d1-348b757781ad/9ad92a8f4b805feb3d017731e78eca15"
SRC_SHA512SUM:aarch64 = "cb904a625d5e4ef4db995225d6705b84201dc7d7d09a0b1669baccc86e05419472719025036dd78983b21850f7663d159ae41926364d1d3ca0eab62862f75d29"

SRC_ARCH:arm = "arm"
SRC_FETCH_ID:arm = "033ecbe9-b763-43e6-ae77-386cc6896f17/991838457685c131961652535f07c46b"
SRC_SHA512SUM:arm = "9a44abe4ab6c6a8b8b8c599b140722098e4c710fb86d3ff387402ce98fc5bdf2e8271558b2de0822b5ef73c8781d5fae219d69411697b3cd59ccfc0283286a69"

SRC_ARCH:x86-64 = "x64"
SRC_FETCH_ID:x86-64 = "86497c4f-3dc8-4ee7-9f6a-9e0464059427/293d074c28bbfd9410f4db8e021fa290"
SRC_SHA512SUM:x86-64 = "6e2e1ad5fe3f00e6974ad3eac9c5b74cd09521f19e06eb9aff45a44d6c55e4a2c1cd489364735215d2ea53cec2a7d45892a5ede344a8421be9ad15872c3496a2"

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 = "8.0.6"
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"

0 comments on commit b6b0937

Please sign in to comment.