From 336296b2f1b2ff9533a2c5a30e23929f6e1a2216 Mon Sep 17 00:00:00 2001 From: EnumDev Date: Fri, 27 Jun 2025 12:25:15 +0300 Subject: [PATCH] Add unifonnt and dejavu font support --- pkg.info | 4 ++-- source.sh | 26 ++++++++++++++++++-------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/pkg.info b/pkg.info index 5bf6934..779b049 100644 --- a/pkg.info +++ b/pkg.info @@ -1,11 +1,11 @@ name: grub description: The GRand Unified Bootloader version: 2.12 -revision: 4 +revision: 5 url: https://www.gnu.org/software/grub/ license: GPL3-or-later architecture: any keep: ["etc/default/grub"] optional_depends: ["os-prober"] -make_depends: ["efibootmgr","freetype2"] +make_depends: ["efibootmgr","freetype2","gzip","ttf-dejavu"] type: source diff --git a/source.sh b/source.sh index e595a05..14e11a3 100644 --- a/source.sh +++ b/source.sh @@ -3,32 +3,39 @@ # BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT DOWNLOAD="https://ftp.gnu.org/gnu/grub/grub-${BPM_PKG_VERSION}.tar.xz" -UNIFONT_VERSION=13.0.06 -DOWNLOAD_FONT="https://unifoundry.com/pub/unifont/unifont-13.0.06/font-builds/unifont-${UNIFONT_VERSION}.pcf.gz" +UNIFONT_VERSION="16.0.03" +DOWNLOAD_UNIFONT="https://ftp.gnu.org/gnu/unifont/unifont-${UNIFONT_VERSION}/unifont-${UNIFONT_VERSION}.bdf.gz" FILENAME="${DOWNLOAD##*/}" -FILENAME_FONT="${DOWNLOAD##*/}" +FILENAME_UNIFONT="${DOWNLOAD_UNIFONT##*/}" # The prepare function is executed in the root of the temp directory # This function is used for downloading files and putting them into the correct location prepare() { wget "$DOWNLOAD" - wget "$DOWNLOAD_FONT" -O unifont.pcf.gz + wget "$DOWNLOAD_UNIFONT" + tar -xvf "$FILENAME" --strip-components=1 -C "$BPM_SOURCE" - mkdir -p "$BPM_OUTPUT"/usr/share/fonts/unifont/ - gunzip -c unifont.pcf.gz > "$BPM_OUTPUT"/usr/share/fonts/unifont/unifont.pcf + + # Decompress unifont file to source directory + gunzip -c "$FILENAME_UNIFONT" > "$BPM_SOURCE"/unifont.bdf } # The build function is executed in the source directory # This function is used to compile the source code build() { unset {C,CPP,CXX,LD}FLAGS + + # Add missing file echo depends bli part_gpt > grub-core/extra_deps.lst + + # Fix dejavu font directory + sed 's|/usr/share/fonts/dejavu|/usr/share/fonts/dejavu /usr/share/fonts/TTF|g' -i "configure.ac" + + autoreconf -fi ./configure --prefix=/usr \ --sysconfdir=/etc \ --disable-efiemu \ --disable-werror \ - --disable-efiemu \ - --enable-grub-mkfont \ --with-platform=efi \ --target=x86_64 make @@ -39,6 +46,9 @@ build() { package() { make DESTDIR="$BPM_OUTPUT" install + #Install font data files + install -Dm644 ascii.h widthspec.h *.pf2 "$BPM_OUTPUT"/usr/share/grub/ + # Install bash completions install -dm755 "$BPM_OUTPUT"/usr/share/bash-completion/completions/ mv "$BPM_OUTPUT"/etc/bash_completion.d/grub "$BPM_OUTPUT"/usr/share/bash-completion/completions