ttf-ms-win10-auto: auto updated to 10.0.19042.789-7

This commit is contained in:
Lilac 2024-12-21 07:30:51 +00:00
parent c9966718be
commit 509d9ee295

View file

@ -1,4 +1,5 @@
# Maintainer: RubenKelevra
# Contributor: jprt
# Contributor: Zepman <the_zep_man@hotmail.com>
# Contributor: Michael Lass <bevan@bi-co.net>
# Contributor: Doug Newgard <scimmia at archlinux dot info>
@ -7,22 +8,23 @@
# BUILD INSTRUCTIONS:
# -------------------
#
# Please note, that usage of Microsoft fonts outside running Windows
# system is prohibited by EULA (although in certain countries EULA is invalid).
# Please consult Microsoft license before using fonts.
# Please note that the usage of Microsoft fonts outside the Windows system is prohibited
# by EULA (although in certain countries, EULA is invalid).
# Please consult the Microsoft license before using fonts.
#
# This PKGBUILD attempts to download fonts directly from Microsoft, by
# retrieving selective parts of the Windows 10 Enterprise 90-day evaluation
# edition. This only works if the user is allowed to mount filesystems through
# udisks2. This is determined by Polkit, which by default only allows users to
# do this when they are logged in locally (e.g. not through SSH).
# This PKGBUILD attempts to download fonts directly from Microsoft, by retrieving
# selective parts of the Windows 10 Enterprise 90-day evaluation edition. This only works
# if the user is allowed to mount filesystems through udisks2. This is determined by
# Polkit, which by default only allows users to do this when they are logged in locally
# (e.g., not through SSH).
#
# If it is possible to download fonts directly, around 200 MiB of data will be
# downloaded. Downloading the fonts this way can take 8-20 minutes, even on a
# fast connection. Be patient. Note that for tis method, it is necessary to
# mount an HTTP source and an ISO file as a loop device using FUSE. If the
# build fails, it might be that these must be unmounted manually. This can be
# done with:
# If it is possible to download fonts directly, around 200 MB of data will be downloaded.
# Downloading the fonts this way can take 820 minutes, even on a fast connection. Be
# patient. Note that for this method, it is necessary to mount an HTTP source and an ISO
# file as a loop device using FUSE. If the build fails, it might be that these must be
# unmounted manually. If you rerun the build, this cleanup is done automatically.
#
# To clean up manually run:
#
# $ udisksctl unmount -b /dev/loop0
# $ udisksctl loop-delete -b /dev/loop0
@ -31,41 +33,41 @@
# Replace /dev/loop0 with the relevant loop device, which is reported during
# package build.
#
# For the download, HTTP is used instead of HTTPS due to that httpfs2 does not
# support modern TLS versions. A file integrity check is performed after
# download. Due to the unconventional way that the data is downloaded, the
# verification is done in prepare().
# For the download, HTTP is used instead of HTTPS because httpfs2 does not support modern
# TLS versions. A file integrity check is performed after the download. Due to the
# unconventional way that the data is downloaded, the verification is done in prepare().
#
# If fonts cannot be downloaded directly, the ISO fill will be fully
# downloaded. Due to that install.wim will be extracted from the ISO, it is
# assumed that twice its size (almost 8 GiB) is necessary as temporary disk
# space. A free disk space check is performed before the ISO is downloaded.
# If fonts cannot be downloaded directly, the ISO fill will be fully downloaded. Due to
# that install.wim will be extracted from the ISO, it is assumed that twice its size
# (almost 8 GiB) is necessary as temporary disk space. A free disk space check is
# performed before the ISO is downloaded.
#
# Please ignore any 'ln' errors when building this package. This is expected
# behavior.
# Please ignore any 'ln' errors when building this package. This is expected behavior.
#
# If for some reason you want to download the full ISO file, please visit:
# If, for some reason, you want to download the full ISO file, please visit:
#
# http://www.microsoft.com/en-us/evalcenter/evaluate-windows-10-enterprise
#
# This package is based on ttf-ms-win10. Use that package if font files from
# a local source need to be used.
# This package is based on ttf-ms-win10. Use that package if font files from a local
# source need to be used.
#
# ttf-ms-win10 is considered to be upstream for this package, which is why its
# maintainers and contributors are added as contributors to this package.
# Without their effort this package would not exist, nor be updated.
# Without their effort, this package would not exist or be updated.
#
pkgbase=ttf-ms-win10-auto
pkgname=($pkgbase{,-japanese,-korean,-sea,-thai,-zh_cn,-zh_tw,-other})
pkgver=10.0.19042.789
pkgrel=6
pkgrel=7
arch=(any)
url='http://www.microsoft.com/typography/fonts/product.aspx?PID=164'
license=(custom)
provides=(ttf-font ttf-ms-win10)
conflicts=(ttf-vista-fonts ttf-ms-win11-auto ttf-ms-win11)
makedepends=(udisks2 p7zip httpfs2-2gbplus)
makedepends=(udisks2 p7zip httpfs2-2gbplus wget udftools util-linux)
# URL of ISO file from which to extract the fonts.
# Must be HTTP due to limitations of httpfs2.
@ -392,14 +394,30 @@ prepare() {
if [ $_mount ]; then
echo "allowed"
echo "- Checking for old loop devices created by by this package"
for loop_device in $(losetup --list | grep "${pkgbase}" | awk '{print $1}')
do
echo -ne " - deleting '$loop_device'..."
udisksctl loop-delete -b "$loop_device"
echo " done."
done
for fuse_mount_points in $(cat /etc/mtab | grep "${pkgbase}" | awk '{print $2}')
do
echo -ne " - unmounting '$fuse_mount_points'..."
fusermount -u "$fuse_mount_points"
echo " done."
done
echo "- Downloading fonts directly"
mkdir -p mnt/http
echo " - Mounting HTTP file"
httpfs2 -c /dev/null "$_iso" mnt/http
echo " - Creating loop device"
_isoFile="mnt/http/$(echo "$_iso" | awk -F "/" '{print $NF}')"
_loopDev=$(udisksctl loop-setup -r -f "${_isoFile}" --no-user-interaction | awk '{print $NF}')
_loopDev=${_loopDev::-1}
_loopDev=$(udisksctl loop-setup -r -f "${_isoFile}" --no-user-interaction 2>/dev/null | awk '{print $NF}')
_loopDev=$(losetup --list | grep "$_isoFile" | awk '{print $1}')
echo " - Mounting loop device: $_loopDev"
_mountpoint=$(udisksctl mount -t udf -b "$_loopDev" --no-user-interaction | awk '{print $NF}')
echo " - Loop device mounted as ISO at: $_mountpoint"
@ -410,10 +428,23 @@ prepare() {
echo " - Unmounting loop device $_loopDev as ISO at: $_mountpoint"
udisksctl unmount -b "$_loopDev" --no-user-interaction
echo " - Deleting loop device: $_loopDev"
udisksctl loop-delete -b "$_loopDev" --no-user-interaction
echo " - Unmounting HTTP file"
fusermount -uz mnt/http
echo " - Deleting loop devices..."
for loop_device in $(losetup --list | grep "${pkgbase}" | awk '{print $1}')
do
echo -ne " - deleting '$loop_device'..."
udisksctl loop-delete -b "$loop_device"
echo " done."
done
echo " - Unmounting HTTP files..."
for fuse_mount_points in $(cat /etc/mtab | grep "${pkgbase}" | awk '{print $2}')
do
echo -ne " - unmounting '$fuse_mount_points'..."
fusermount -u "$fuse_mount_points"
echo " done."
done
rmdir -p mnt/http
else
echo "not allowed"
@ -431,7 +462,7 @@ prepare() {
fi
echo " - Downloading ISO"
curl -JLO "$_iso"
wget --no-verbose -c --tries=20 --waitretry=20 --timeout=60 "$_iso"
echo " - Extracting Windows installation image"
7z x $(echo "$_iso" | awk -F "/" '{print $NF}') sources/install.wim