Guest User

apple-fonts updated PKGBUILD

a guest
Jul 22nd, 2026
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.85 KB | Source Code | 0 0
  1. # Maintainer:  Alessandro Marchioro <[email protected]>
  2. # Co-Maintainer: Cp Dong <cp-dong at outlook dot com>
  3.  
  4. pkgname=apple-fonts
  5. pkgver=7.0.5
  6. pkgrel=1
  7. pkgdesc='Fonts for Apple platforms, including San Francisco and New York typefaces'
  8. arch=(any)
  9. url='https://developer.apple.com/fonts/'
  10. license=('custom')
  11. provides=('ttf-font' 'otf-font')
  12. makedepends=(7zip)
  13. _baseurl='https://devimages-cdn.apple.com/design/resources/download/'
  14. source=("SF-Pro-${pkgver}.dmg::${_baseurl}SF-Pro.dmg"
  15.         "SF-Compact-${pkgver}.dmg::${_baseurl}SF-Compact.dmg"
  16.         "SF-Mono-${pkgver}.dmg::${_baseurl}SF-Mono.dmg"
  17.         "SF-Arabic-${pkgver}.dmg::${_baseurl}SF-Arabic.dmg"
  18.         "SF-Armenian-${pkgver}.dmg::${_baseurl}SF-Armenian.dmg"
  19.         "SF-Georgian-${pkgver}.dmg::${_baseurl}SF-Georgian.dmg"
  20.         "SF-Hebrew-${pkgver}.dmg::${_baseurl}SF-Hebrew.dmg"
  21.         "NY-${pkgver}.dmg::${_baseurl}NY.dmg")
  22. # Apple republishes these DMGs in place at unversioned URLs, so checksum
  23. # failures usually mean upstream updated the fonts, not a corrupt download.
  24. sha256sums=('6311a4f0843a4d2e616a0b05c77512d31d2ea950459cf526cdb5b90996a0794f'
  25.             'fe517a5184be290e66fe89b8b4b6ea18548fced1ae1539499a71265e3317249f'
  26.             '6d4a0b78e3aacd06f913f642cead1c7db4af34ed48856d7171a2e0b55d9a7945'
  27.             '2760c62d502b77012c49517c2ea392ec2d4c647fe060985c927df48d105197b9'
  28.             'ffd715ae93d7c215be3f434b84624184779bb50b2bb3d66b8fd42880c65fadad'
  29.             'c16b1798472b26232445331ea51ac8299260674fe8fb7f3a354eedeb5390a2d2'
  30.             '3258e40715b8bcf45e9441dbbf7218aeeaa570065dcc1f7bfa55c9ed6d0b9384'
  31.             '1c2eedb4526cc0f326f8b7ea978f5a433756476a2c8c56072537608edb88f8f4')
  32. noextract=("${source[@]%%::*}")
  33.  
  34. prepare() {
  35.     cd "$srcdir"
  36.     rm -rf fonts licenses ./*-tmp
  37.     mkdir -p fonts licenses
  38.  
  39.     local archive
  40.     for archive in *.dmg; do (
  41.         # makepkg only aborts on a function's final exit status; the subshell
  42.         # with errexit makes any failed step in an iteration fatal.
  43.         set -e
  44.         tmp="${archive%.dmg}-tmp"
  45.         mkdir "$tmp"
  46.         cd "$tmp"
  47.  
  48.         7z e "../$archive" -y
  49.         7z x -txar -y ./*.pkg
  50.  
  51.         fontname=$(grep -m1 -o 'THE APPLE .* FONT' Resources/English.lproj/License.rtf)
  52.         install -Dm644 Resources/English.lproj/License.rtf \
  53.             "$srcdir/licenses/LICENSE.${fontname// /-}"
  54.  
  55.         cd ./*.pkg/
  56.         fontver=$(grep -m1 '<pkg-info ' PackageInfo | grep -oP ' version="\K[^"]+')
  57.         7z x -y Payload
  58.         7z x -y Payload~
  59.         mv Library/Fonts/* "$srcdir/fonts/"
  60.  
  61.         echo
  62.         echo "Extracted $archive (font version $fontver)"
  63.     ) || return 1
  64.     done
  65.  
  66.     rm -rf ./*-tmp
  67. }
  68.  
  69. package() {
  70.     install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" "$srcdir/licenses"/*
  71.     install -Dm644 -t "$pkgdir/usr/share/fonts/$pkgname" "$srcdir/fonts"/*
  72. }
  73.  
Advertisement
Add Comment
Please, Sign In to add comment