void-packages/srcpkgs/refind/template
Đoàn Trần Công Danh 970ad4f3f4 refind: build with -fno-tree-loop-distribute-patterns
Fix build for gcc-10
2021-01-18 18:41:09 +07:00

97 lines
2.6 KiB
Bash

# Template file for 'refind'
pkgname=refind
version=0.12.0
revision=3
archs="x86_64* i686* aarch64*"
makedepends="gnu-efi-libs"
depends="bash dosfstools efibootmgr"
short_desc="EFI boot manager utility"
maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
license="GPL-3.0-only, BSD-3-Clause"
homepage="https://sourceforge.net/projects/refind/"
distfiles="${SOURCEFORGE_SITE}/refind/refind-src-${version}.tar.gz"
checksum=7bb8505bc9ff87a7b6de38bf9a91d46f4d613b30031d5eb088a4d791a31eb7c4
python_version=2
conf_files="/etc/default/refind-kernel-hook.conf"
post_extract() {
vsed -e 's|RefindDir=\"\$ThisDir/refind\"|RefindDir="/usr/share/refind"|g' \
-i refind-install
# Patch paths to libaries and includes for cross-compiling
vsed \
-e "s|^EFIINC.*|EFIINC = ${XBPS_CROSS_BASE}/usr/include/efi|" \
-e "s|^GNUEFILIB.*|GNUEFILIB = ${XBPS_CROSS_BASE}/usr/lib|" \
-e "s|^EFILIB.*|EFILIB = ${XBPS_CROSS_BASE}/usr/lib|" \
-e "s|^EFICRT0.*|EFICRT0 = ${XBPS_CROSS_BASE}/usr/lib|" \
-i Make.common
# Only this file is written in python3
# All other files are python2
vsed -e '1s,^.*python3$,#!/usr/bin/python3,' \
-i refind-mkdefault
}
do_build() {
unset CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
case "$XBPS_TARGET_MACHINE" in
i686*) _ARCH="ia32";;
*) _ARCH="${XBPS_TARGET_MACHINE%-musl}";;
esac
if [ "$CROSS_BUILD" ]; then
export CROSS_COMPILE="${XBPS_CROSS_TRIPLET}-"
fi
make ARCH=${_ARCH} gnuefi fs_gnuefi
}
do_install() {
case "$XBPS_TARGET_MACHINE" in
i686*) _EFI_ARCH="ia32";;
x86_64*) _EFI_ARCH="x64";;
aarch64*) _EFI_ARCH="aa64";;
esac
vbin mkrlconf
vbin mvrefind
vbin refind-mkdefault
vbin refind-install
vbin fonts/mkfont.sh refind-mkfont
vlicense LICENSE.txt
vdoc COPYING.txt
vdoc README.txt
vdoc CREDITS.txt
vdoc NEWS.txt
vcopy docs/refind /usr/share/doc/refind
vcopy docs/Styles /usr/share/doc/refind
vman docs/man/mkrlconf.8
vman docs/man/mvrefind.8
vman docs/man/refind-install.8
vman docs/man/refind-mkdefault.8
vmkdir usr/share/refind
vcopy refind/refind_${_EFI_ARCH}.efi /usr/share/refind/
vcopy refind.conf-sample /usr/share/refind/
vcopy fonts /usr/share/refind/
vcopy icons /usr/share/refind/
vcopy banners /usr/share/refind/
vcopy images /usr/share/refind/
vcopy drivers_${_EFI_ARCH} /usr/share/refind/
vmkdir usr/share/refind/tools_${_EFI_ARCH}
vcopy gptsync/gptsync_${_EFI_ARCH}.efi /usr/share/refind/tools_${_EFI_ARCH}/
vmkdir etc/refind.d
vcopy keys /etc/refind.d/
vinstall "${FILESDIR}/refind-kernel-hook.conf" 644 etc/default
vinstall ${FILESDIR}/kernel.post-install 744 \
etc/kernel.d/post-install 50-refind
vinstall ${FILESDIR}/kernel.post-remove 744 \
etc/kernel.d/post-remove 50-refind
}