user/dotnet8-runtime: enable ppc64le and s390x

This commit is contained in:
Antoine Martin 2023-03-14 16:49:35 -04:00 committed by Antoine Martin
parent 509c114321
commit 526f90bd25
2 changed files with 29 additions and 30 deletions

View file

@ -3,8 +3,8 @@
pkgname=dotnet8-runtime
pkgver=8.0.1_pre1
_bldver=8.0.100_pre1-r0
pkgrel=0
_bldver=8.0.100_pre1-r1
pkgrel=1
# Following for dotnet build version 6.0 and up
_pkgver_macro=${pkgver%.*}
@ -14,8 +14,7 @@ pkgdesc="The .NET $_pkgver_macro Core runtime"
# x86: blocked by https://github.com/dotnet/runtime/issues/77667
# armhf: blocked by https://github.com/dotnet/runtime/issues/77663
# riscv64: port WIP https://github.com/dotnet/runtime/issues/36748
# s390x / ppc64le: no bootstrap crossbuilt yet
arch="all !x86 !armhf !riscv64 !s390x !ppc64le"
arch="all !x86 !armhf !riscv64"
url=https://dotnet.microsoft.com
license="MIT"
depends="

View file

@ -1,21 +1,21 @@
# dotnet7-runtime
# dotnet8-runtime
This is the .NET 7.0 package for Alpine Linux.
This is the .NET 8.0 package for Alpine Linux.
Please report any issues [using Gitlab](https://gitlab.alpinelinux.org/alpine/aports/-/issues/new) and tag @ayakael
# Building info
## Generated packages
* `aspnetcore7-runtime`
* `aspnetcore7-targeting-pack`
* `dotnet7-apphost-pack` (used by dotnet7-runtime)
* `dotnet7-hostfxr` (used by dotnet-host)
* `dotnet7-runtime`
* `dotnet7-targeting-pack`
* `aspnetcore8-runtime`
* `aspnetcore8-targeting-pack`
* `dotnet8-apphost-pack` (used by dotnet8-runtime)
* `dotnet8-hostfxr` (used by dotnet-host)
* `dotnet8-runtime`
* `dotnet8-targeting-pack`
* `dotnet-host`
## How to build dotnet7 on Alpine
## How to build dotnet8 on Alpine
As dotnet is a self-hosting compiler (thus it compiles using itself), it
requires a bootstrap for the initial build. To solve this problem, this package
follows the `stage0` proposal outlined [here](https://lists.alpinelinux.org/~alpine/devel/%3C33KG0XO61I4IL.2Z7RTAZ5J3SY6%408pit.net%3E)
@ -26,17 +26,17 @@ builds bootstraps for Alpine on `x86_64`, `aarch64`, and `armv7`. Thus, `stage0`
has also been designed to be crossbuild aware, allowing bootstrapping to other
platforms.
In summary, dotnet7 is built using three different aports.
In summary, dotnet8 is built using three different aports.
* `community/dotnet7-stage0`
Builds minimum components for full build of dotnet7, and packages these in an initial
`dotnet7-stage0-bootstrap` package that `dotnet7-build` pulls.
* `community/dotnet7-build`
Builds full and packages dotnet7 fully using either stage0 or previoulsy built
dotnet7 build.
* `community/dotnet7-runtime`
* `community/dotnet8-stage0`
Builds minimum components for full build of dotnet8, and packages these in an initial
`dotnet8-stage0-bootstrap` package that `dotnet8-build` pulls.
* `community/dotnet8-build`
Builds full and packages dotnet8 fully using either stage0 or previoulsy built
dotnet8 build.
* `community/dotnet8-runtime`
As abuild does not allow different versions for subpackages, a different aport
is required to package runtime bits from dotnet7-build.
is required to package runtime bits from dotnet8-build.
## Crossbuilding with `stage0`
Crossbuilding `stage0` is a three step process:
@ -48,7 +48,7 @@ Crossbuilding `stage0` is a three step process:
`$HOME/sysroot-$CTARGET_ARCH/etc/apk/repositories`, making sure to add required
keys. This makes it so that whatever package is not built in step 1 will
be pulled from package repos
3. Crossbuild `dotnet7-stage0` via:
3. Crossbuild `dotnet8-stage0` via:
```
CHOST=$CTARGET_ARCH abuild -r
```
@ -57,7 +57,7 @@ CHOST=$CTARGET_ARCH abuild -r
This package follows [package naming and contents suggested by upstream](https://docs.microsoft.com/en-us/dotnet/core/build/distribution-packaging),
with two exceptions. It installs dotnet to `/usr/lib/dotnet` (aka `$_libdir`).
In addition, the package is named `dotnet7` as opposed to `dotnet-7.0`
In addition, the package is named `dotnet8` as opposed to `dotnet-8.0`
to match Alpine Linux naming conventions for packages with many installable versions
# Contributing
@ -73,7 +73,7 @@ follow.
2. Checkout the forked repository.
- `git clone ssh://git@gitlab.alpinelinux.org/$USER/aports`
- `cd community/dotnet7-build`
- `cd community/dotnet8-build`
3. Make your changes. Don't forget to add a changelog.
@ -85,10 +85,10 @@ follow.
6. Commit the changes to the git repo in a git branch
- `git checkout -b dotnet7/<name>`
- `git checkout -b dotnet8/<name>`
- `git add` any new patches
- `git remove` any now-unnecessary patches
- `git commit -m 'community/dotnet7-build: descriptive description'`
- `git commit -m 'community/dotnet8-build: descriptive description'`
- `git push`
7. Create a merge request with your changes, tagging @ayakael for review.
@ -103,7 +103,7 @@ follow.
2. Checkout the forked repository.
- `git clone ssh://git@gitlab.alpinelinux.org/$USER/aports`
- `cd community/dotnet7-build`
- `cd community/dotnet8-build`
3. Build the new upstream source tarball. Update the versions in the
@ -124,10 +124,10 @@ follow.
7. Commit the changes to the git repo in a git branch.
- `git checkout -b dotnet7/<name>`
- `git checkout -b dotnet8/<name>`
- `git add` any new patches
- `git remove` any now-unnecessary patches
- `git commit -m 'community/dotnet7-build: upgrade to <new-version>`
- `git commit -m 'community/dotnet8-build: upgrade to <new-version>`
- `git push`
8. Create a merge request with your changes, tagging @ayakael for review.