mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-12-31 06:12:14 +01:00
231 lines
5.8 KiB
Plaintext
231 lines
5.8 KiB
Plaintext
# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
|
|
# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
|
|
pkgname=dart
|
|
# upgrade checklist: https://md.sdomi.pl/Q-ECZTJ2Qqyp3ahfJuYSBw
|
|
pkgver=3.1.4
|
|
pkgrel=1
|
|
_bootstrap=3.1.0_alpha155-r0
|
|
pkgdesc="Dart is a client-optimized language for fast apps on any platform"
|
|
url="https://dart.dev/"
|
|
arch="aarch64 armv7 x86_64"
|
|
license="BSD-3-Clause"
|
|
makedepends="
|
|
curl
|
|
dart-bootstrap=>$_bootstrap
|
|
gn
|
|
icu-dev
|
|
lld
|
|
llvm
|
|
python3
|
|
ripgrep
|
|
samurai
|
|
zlib-dev
|
|
zstd
|
|
"
|
|
subpackages="$pkgname-sdk"
|
|
|
|
case "$pkgver" in
|
|
*.*.*_pre*)
|
|
_canonver="${pkgver/_pre/-}"
|
|
_canonver="${_canonver/-r/.}.dev"
|
|
;;
|
|
*.*.*_beta*)
|
|
_canonver="${pkgver/_beta/-}"
|
|
_canonver="${_canonver/-r/.}.beta"
|
|
;;
|
|
*.*.*)
|
|
_canonver="$pkgver"
|
|
;;
|
|
esac
|
|
|
|
source="
|
|
https://s3.sakamoto.pl/lnl-aports-snapshots/dart-sdk-$_canonver.tar.zst
|
|
|
|
build-config.patch
|
|
gcc13.patch
|
|
no-werror.patch
|
|
unbundle.patch
|
|
where-we-are-heading-prefixes-are-not-needed.patch
|
|
"
|
|
builddir="$srcdir/dart-sdk-$_canonver"
|
|
|
|
# gclient comes from teapot-tools
|
|
snapshot() {
|
|
mkdir -p "$srcdir"
|
|
cd "$srcdir"
|
|
|
|
echo "
|
|
solutions = [{
|
|
'name': 'sdk',
|
|
'url': 'https://dart.googlesource.com/sdk.git@$_canonver',
|
|
}]
|
|
target_cpu = ['x64', 'arm64', 'arm', 'riscv64']
|
|
target_cpu_only = True
|
|
" > .gclient
|
|
|
|
gclient sync --no-history --nohooks --tpot-cipd-ignore-platformed
|
|
|
|
for elf in $(scanelf -RA -F "%F" sdk); do
|
|
rm -f "$elf"
|
|
done
|
|
|
|
mv sdk dart-sdk-$_canonver
|
|
|
|
msg "generating tarball.."
|
|
tar -cf dart-sdk-$_canonver.tar \
|
|
--exclude="ChangeLog*" \
|
|
--exclude="sdk/buildtools/*/clang" \
|
|
--exclude="third_party/fuchsia/sdk/linux/arch" \
|
|
--exclude=".build-id" \
|
|
--exclude-backups \
|
|
--exclude-caches-all \
|
|
--exclude-vcs \
|
|
dart-sdk-$_canonver
|
|
|
|
zstd --auto-threads=logical --ultra --long -22 -T0 -vv dart-sdk-$_canonver.tar
|
|
}
|
|
|
|
case "$CARCH" in
|
|
aarch64)
|
|
_arch="arm64"
|
|
_out="$builddir/out/ReleaseARM64"
|
|
;;
|
|
armv7)
|
|
_arch="arm"
|
|
_out="$builddir/out/ReleaseARM"
|
|
;;
|
|
riscv64)
|
|
_arch="riscv64"
|
|
_out="$builddir/out/ReleaseRISCV64"
|
|
;;
|
|
x86_64)
|
|
_arch="x64"
|
|
_out="$builddir/out/ReleaseX64"
|
|
;;
|
|
esac
|
|
|
|
prepare() {
|
|
default_prepare
|
|
|
|
mkdir -p .git/logs
|
|
echo '' > .git/logs/HEAD
|
|
|
|
# bind bootstrapped interpreter
|
|
rm -rf tools/sdks/dart-sdk
|
|
ln -s /usr/lib/dart tools/sdks/dart-sdk
|
|
|
|
ln -s /usr/bin/gn buildtools/gn
|
|
mkdir -p buildtools/ninja
|
|
ln -s /usr/bin/samu buildtools/ninja/ninja
|
|
|
|
# gclient hooks
|
|
python3 tools/generate_package_config.py
|
|
python3 tools/generate_sdk_version_file.py
|
|
|
|
# google analytics, doubleclick
|
|
echo '' > tools/bots/dartdoc_footer.html
|
|
rm third_party/devtools/web/devtools_analytics.js
|
|
|
|
# disarm analytics for sure
|
|
rg --no-ignore -l 'google-analytics\.com' . \
|
|
| rg -v "\.map\$" \
|
|
| xargs -t -n 1 -P ${JOBS:-2} sed -i -E 's|([^/]+\.)?google-analytics\.com|0\.0\.0\.0|g'
|
|
rg --no-ignore -l 'UA-[0-9]+-[0-9]+' . \
|
|
| xargs -t -n 1 -P ${JOBS:-2} sed -i -E 's|UA-[0-9]+-[0-9]+|UA-2137-0|g'
|
|
|
|
sed -i 's/Unknown timestamp/'"$(date -uIm)"'/' tools/make_version.py
|
|
|
|
# reusable system library settings
|
|
local use_system="
|
|
icu
|
|
zlib
|
|
"
|
|
for _lib in $use_system; do
|
|
msg "Removing buildscripts for system provided $_lib"
|
|
find . -type f -path "*third_party/$_lib/*" \
|
|
\! -path "*third_party/$_lib/chromium/*" \
|
|
\! -path "*third_party/$_lib/google/*" \
|
|
\! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
|
|
-delete
|
|
done
|
|
msg "Replacing gn files"
|
|
python3 build/linux/unbundle/replace_gn_files.py --system-libraries \
|
|
$use_system
|
|
}
|
|
|
|
build() {
|
|
# shellcheck disable=2089
|
|
local gn_args="
|
|
create_kernel_service_snapshot=true
|
|
dart_snapshot_kind=\"app-jit\"
|
|
dart_sysroot=\"\"
|
|
dart_use_tcmalloc=false
|
|
"
|
|
|
|
msg "Building"
|
|
# shellcheck disable=2116,2090
|
|
python3 ./tools/build.py \
|
|
--no-clang \
|
|
--arch="$_arch" \
|
|
--mode=release \
|
|
--no-goma \
|
|
--no-verify-sdk-hash \
|
|
--gn-args="$(echo $gn_args)" \
|
|
create_sdk runtime
|
|
}
|
|
|
|
check() {
|
|
# check sanity
|
|
"$_out"/dart-sdk/bin/dart --version
|
|
}
|
|
|
|
package() {
|
|
mkdir -p "$pkgdir"/usr/bin "$pkgdir"/usr/lib "$pkgdir"/usr/include
|
|
|
|
cp -r "$_out"/dart-sdk "$pkgdir"/usr/lib/dart
|
|
|
|
ln -s ../lib/dart/include "$pkgdir"/usr/include/dart
|
|
ln -s ../lib/dart/bin/dart "$pkgdir"/usr/bin/dart
|
|
ln -s ../lib/dart/bin/dartaotruntime "$pkgdir"/usr/bin/dartaotruntime
|
|
|
|
find "$pkgdir"/usr/lib/dart/bin/resources/devtools -type f -exec chmod 644 {} \;
|
|
}
|
|
|
|
sdk() {
|
|
# do the stuff -dev does by default here
|
|
default_dev
|
|
|
|
# must be set after default_dev or gets cleared
|
|
depends="dart=$pkgver-r$pkgrel"
|
|
provides="dart-bootstrap=$pkgver-r$pkgrel dart-devtools=$pkgver-r$pkgrel"
|
|
provider_priority=100
|
|
|
|
_snapshots="
|
|
analysis_server
|
|
dart2js
|
|
dartdevc
|
|
dds
|
|
frontend_server
|
|
gen_kernel
|
|
kernel-service
|
|
kernel_worker
|
|
"
|
|
for snap in $_snapshots; do
|
|
amove usr/lib/dart/bin/snapshots/$snap.dart.snapshot
|
|
done
|
|
amove usr/lib/dart/bin/resources/dartdoc
|
|
amove usr/lib/dart/bin/resources/devtools
|
|
amove usr/lib/dart/bin/snapshots/dart2wasm_product.snapshot
|
|
amove usr/lib/dart/bin/utils
|
|
amove usr/lib/dart/lib
|
|
}
|
|
|
|
sha512sums="
|
|
d9c9528932d327f978724bc5c5a8cadc7d1d62fba96a8b8c2b80de0b134387df055c86d256c37d8b7d10a334d94174f45f30b490350e264471e6d71d4090e435 dart-sdk-3.1.4.tar.zst
|
|
3ae8364a172b029cf0b45cd4fd1ac192a20772c84924bb59a1775339ed6314cf81c398b078823fd9f07abc1b0de4b5704c76ce84c64f8924e645f00cfcda4ff3 build-config.patch
|
|
ad382f1de8fddf803dc055a39cf029d335d7058203ae81b4eb394373376311b535343a87fa159c9fcd4d2dff8f2a93cf85453de18466b42d6d76e56127845129 gcc13.patch
|
|
e7f5c715d9ed01c36e8b60892332b1bc763a3f98ca87905e2102491c469db60ab21dba9b3e116e1a7ec3faef7d65b8fdd60d7148cfb848ef5a2b411a06f425cf no-werror.patch
|
|
14b6b024688110631dfce6d51b895e84d4306a00e66c0e5306126f6d27cbd13894bf2c50faffab99e57107901ec3977a4b0038bee9e165f733ef9e4ccc14af1a unbundle.patch
|
|
641909211afa784d06c864777f04afc619fa669bbd4be30343feb67ed3c7c797f48eac22821a70f18c098d1c04206bd44c3b88aaf2e9bf0c3938ba58578f1f15 where-we-are-heading-prefixes-are-not-needed.patch
|
|
"
|