Add Pinta and its .NET 10 package dependencies for aarch64

This commit is contained in:
Scott Jones committed 2026-09-14 22:00:59 -04:00
1 parent cc143f7352
commit afd8bcd754
5 files changed
+241

No files matched your search

@@ -0,0 +1,19 @@
{
"source": "local",
"origin": {
"aur": "dotnet-core-bin",
"commit": "2c499d7ce634efb8e93eee4c4239490b02e98e09"
},
"upstream": {
"watch": {
"json": "https://builds.dotnet.microsoft.com/dotnet/release-metadata/10.0/releases.json",
"path": "latest-sdk",
"fields": {
"runtime": "latest-runtime"
},
"variables": {
"_runtimever": "{runtime}"
}
}
}
}
+131
View File
@@ -0,0 +1,131 @@
# Maintainer: Attila Greguss <floyd0122[at]gmail[dot]com>
# Co-Maintainer: Nate Plumm <nate[at]ceresta[dot]com>
pkgbase=dotnet-core-bin
pkgname=(
'dotnet-host-bin'
'aspnet-runtime-bin'
'dotnet-runtime-bin'
'dotnet-sdk-bin'
'dotnet-targeting-pack-bin'
'aspnet-targeting-pack-bin'
)
# Version the split family by SDK release; dependencies expose runtime versions.
pkgver=10.0.401
_runtimever=10.0.12
_sdkver=$pkgver
_short_ver=10.0
pkgrel=1
arch=('x86_64' 'armv7h' 'aarch64')
url='https://www.microsoft.com/net/core'
license=('MIT')
options=('staticlibs')
source=('dotnet.sh')
source_armv7h=("https://builds.dotnet.microsoft.com/dotnet/Sdk/${_sdkver}/dotnet-sdk-${_sdkver}-linux-arm.tar.gz")
source_aarch64=("https://builds.dotnet.microsoft.com/dotnet/Sdk/${_sdkver}/dotnet-sdk-${_sdkver}-linux-arm64.tar.gz")
source_x86_64=("https://builds.dotnet.microsoft.com/dotnet/Sdk/${_sdkver}/dotnet-sdk-${_sdkver}-linux-x64.tar.gz")
sha512sums=('768151c7179fb6a126b3de9cae01e363e8894f6fab384b1e2c5066c2adca4578638983b1b62aea10dd18045e6d6e8f8ea13280481134de94f004a118919b2c06')
sha512sums_armv7h=('94a8a52862ca9f0de1075a468d6e4e307a1d4463098a9e8266e66939709a812b0126e212cce7e8c6feae6b078d86c8b77e088814a0e32531edb0da0a1ce90c11')
sha512sums_aarch64=('58ace73ced6b4360754689a686bdfb8a317f4da6cb8bb416dbc7d0ba9f47e43e3c09f5eb1f1a1cfaacbd10df9558da4882bf2a5e195d6ab56a02c1f9f76102ed')
sha512sums_x86_64=('51c8b999af9e8dd9998c9edc5944e19a90788862068acd38694e098889054ce8c23d4f0c5cccfa16bf187d044562359e5ee69a9f8ad0bbe913ba90311fbce25b')
# Keep each split package's notices usable when installed independently.
_install_license() {
install -Dm644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE.txt"
install -Dm644 ThirdPartyNotices.txt "$pkgdir/usr/share/licenses/$pkgname/ThirdPartyNotices.txt"
}
package_dotnet-host-bin() {
pkgdesc='A generic driver for the .NET Core Command Line Interface (binary)'
provides=("dotnet-host" "dotnet-host=${_runtimever}")
conflicts=('dotnet-host')
depends=(
'libgcc'
'libstdc++'
'glibc'
)
install -dm 755 "${pkgdir}"/usr/{bin,lib,share/{dotnet,dnx}}
cp -dr --no-preserve='ownership' dotnet host dnx "${pkgdir}"/usr/share/dotnet/
_install_license
ln -sf /usr/share/dotnet/dotnet "${pkgdir}"/usr/bin/dotnet
ln -sf /usr/share/dotnet/dnx "${pkgdir}"/usr/bin/dnx
ln -sf /usr/share/dotnet/host/fxr/"${_runtimever}"/libhostfxr.so "${pkgdir}"/usr/lib/libhostfxr.so
install -Dm 644 "${srcdir}"/dotnet.sh -t "${pkgdir}"/etc/profile.d/
}
package_dotnet-runtime-bin() {
pkgdesc='The .NET Core runtime (binary)'
depends=(
"dotnet-host>=${_runtimever}"
'libgcc'
'libstdc++'
'glibc'
'icu'
'libunwind'
'zlib'
'openssl'
)
optdepends=('lttng-ust2.12: CoreCLR tracing')
provides=("dotnet-runtime=${_runtimever}" "dotnet-runtime-${_short_ver}")
conflicts=("dotnet-runtime=${_runtimever}" "dotnet-runtime-${_short_ver}")
install -dm 755 "${pkgdir}"/usr/share/{dotnet/shared,licenses}
cp -dr --no-preserve='ownership' shared/Microsoft.NETCore.App "${pkgdir}"/usr/share/dotnet/shared/
_install_license
}
package_aspnet-runtime-bin() {
pkgdesc='The ASP.NET Core runtime (binary)'
depends=('dotnet-runtime-bin')
provides=("aspnet-runtime=${_runtimever}" "aspnet-runtime-${_short_ver}")
conflicts=("aspnet-runtime=${_runtimever}" "aspnet-runtime-${_short_ver}")
install -dm 755 "${pkgdir}"/usr/share/{dotnet/shared,licenses}
cp -dr --no-preserve='ownership' shared/Microsoft.AspNetCore.App "${pkgdir}"/usr/share/dotnet/shared/
_install_license
}
package_dotnet-sdk-bin() {
pkgdesc='The .NET Core SDK (binary)'
depends=(
'glibc'
'libgcc'
'libstdc++'
'dotnet-runtime-bin'
'dotnet-targeting-pack-bin'
'aspnet-runtime-bin'
'aspnet-targeting-pack-bin'
)
provides=("dotnet-sdk-bin" "dotnet-sdk=${pkgver}" "dotnet-sdk-${_short_ver}=${pkgver}")
conflicts=("dotnet-sdk-bin" "dotnet-sdk=${pkgver}" "dotnet-sdk-${_short_ver}")
install -dm 755 "${pkgdir}"/usr/share/{dotnet,licenses}
cp -dr --no-preserve='ownership' sdk sdk-manifests templates "${pkgdir}"/usr/share/dotnet/
_install_license
}
package_dotnet-targeting-pack-bin() {
pkgdesc='The .NET Core targeting pack (binary)'
provides=(dotnet-targeting-pack=${_runtimever} dotnet-targeting-pack-${_short_ver})
conflicts=(dotnet-targeting-pack=${_runtimever} dotnet-targeting-pack-${_short_ver})
if [ $CARCH = 'x86_64' ]; then msarch=x64;
elif [ $CARCH = 'armv7h' ]; then msarch=arm;
elif [ $CARCH = 'aarch64' ]; then msarch=arm64; fi
install -dm 755 "${pkgdir}"/usr/share/{dotnet,dotnet/packs,licenses}
cp -dr --no-preserve='ownership' packs/Microsoft.NETCore.App.{Host.linux-${msarch},Ref} "${pkgdir}"/usr/share/dotnet/packs/
_install_license
}
package_aspnet-targeting-pack-bin() {
pkgdesc='The ASP.NET Core targeting pack (binary)'
depends=(dotnet-targeting-pack-bin)
provides=(aspnet-targeting-pack=${_runtimever} aspnet-targeting-pack-${_short_ver})
conflicts=(aspnet-targeting-pack=${_runtimever} aspnet-targeting-pack-${_short_ver})
install -dm 755 "${pkgdir}"/usr/share/{dotnet,dotnet/packs,licenses}
cp -dr --no-preserve='ownership' packs/Microsoft.AspNetCore.App.Ref "${pkgdir}"/usr/share/dotnet/packs/
_install_license
}
+19
View File
@@ -0,0 +1,19 @@
# Set location for AppHost lookup
[ -z "$DOTNET_ROOT" ] && export DOTNET_ROOT=/usr/share/dotnet
# Add dotnet directory to PATH, according to docs it must be added, plus VSCode C# Dev Kit doesn't work without this.
# See https://learn.microsoft.com/en-us/dotnet/core/install/linux-scripted-manual#set-environment-variables-system-wide
case "$PATH" in
*"$DOTNET_ROOT"* ) true ;;
* ) PATH="$PATH:$DOTNET_ROOT" ;;
esac
# Add dotnet tools directory to PATH
[ -z "$DOTNET_TOOLS_PATH" ] && export DOTNET_TOOLS_PATH="$HOME/.dotnet/tools"
case "$PATH" in
*"$DOTNET_TOOLS_PATH"* ) true ;;
* ) PATH="$PATH:$DOTNET_TOOLS_PATH" ;;
esac
# Extract self-contained executables under HOME to avoid multi-user issues from using the default '/var/tmp'
[ -z "$DOTNET_BUNDLE_EXTRACT_BASE_DIR" ] && export DOTNET_BUNDLE_EXTRACT_BASE_DIR="${XDG_CACHE_HOME:-"$HOME"/.cache}/dotnet_bundle_extract"
+9
View File
@@ -0,0 +1,9 @@
{
"source": "local",
"upstream": {
"watch": {
"github": "PintaProject/Pinta",
"pattern": "(?P<version>[0-9]+(?:\\.[0-9]+)*)"
}
}
}
+63
View File
@@ -0,0 +1,63 @@
# Pinta for Arch Linux ARM. The official repositories do not supply its
# .NET dependencies on ARM; use the dotnet-core-bin split package family.
pkgname=pinta.
#
# This is the AUR 3.1.2-1 recipe with two substitutions: arch=('aarch64')
# and RuntimeIdentifier=linux-arm64. Makedepends/depends use this repo's
# dotnet-*-bin packages from AUR dotnet-core-bin; Arch extra's unversioned
# dotnet-sdk / dotnet-runtime / dotnet-host / dotnet-targeting-pack names
# are not in ALARM extra, and must not resolve to the leftover 2.1 packages.
#
# Version bumps are edits to this file: update pkgver and sha256sums.
pkgname=pinta
pkgver=3.1.2
pkgrel=1
pkgdesc="Drawing/editing program modeled after Paint.NET. It's goal is to provide a simplified alternative to GIMP for casual users"
arch=('aarch64')
license=('MIT')
url="https://pinta-project.com"
makedepends=('pkgconf' 'autoconf-archive' 'intltool' 'dotnet-sdk-bin' 'dotnet-runtime-bin' 'dotnet-host-bin' 'dotnet-targeting-pack-bin' 'gtk4' 'perl')
depends=('dotnet-runtime-bin' 'dotnet-host-bin' 'libadwaita' 'hicolor-icon-theme' 'webp-pixbuf-loader')
provides=($pkgname)
conflicts=($pkgname-git)
source=("Pinta-${pkgver}.tar.gz::https://github.com/PintaProject/Pinta/archive/refs/tags/${pkgver}.tar.gz")
sha256sums=('98ed517b33f0e40fd1e3915ea5146355845ac12efd3bb07812c68a52c714cac6')
prepare() {
cd "${srcdir}/Pinta-${pkgver}"
for file in *.md *.txt; do
basename=$(tr '[:lower:]' '[:upper:]' <<< "${file%.*}")
newname="$basename.${file#*.}"
[ ! "$file" == "$newname" ] && mv "$file" "$newname"
done
sed -i 's/net8.0/net10.0/g' Directory.Build.props
./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var
}
build() {
cd "${srcdir}/Pinta-${pkgver}"
sed -i -r 's|^(PINTA_BUILD_OPTS\s=\s.*)|\1 -p:RuntimeIdentifier=linux-arm64|g' Makefile
make
}
package() {
cd "${srcdir}/Pinta-${pkgver}"
make DESTDIR="${pkgdir}" install
chmod -v 755 "${pkgdir}/usr/lib/pinta/"*.dll
install -Dm644 -t "${pkgdir}/usr/share/doc/${pkgname}/" *.md
install -Dm644 -t "${pkgdir}/usr/share/licenses/${pkgname}/" LICENSE*.txt
}