From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 4866D138359 for ; Thu, 30 Jul 2020 21:12:55 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 02B7BE0B73; Thu, 30 Jul 2020 21:12:49 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id CD8E1E0B73 for ; Thu, 30 Jul 2020 21:12:48 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id ACEAB34F4CF for ; Thu, 30 Jul 2020 21:12:47 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id AF5AC319 for ; Thu, 30 Jul 2020 21:12:43 +0000 (UTC) From: "Marek Szuba" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Marek Szuba" Message-ID: <1596143508.a940ef1ee145a02b22243b17eb02f79f6eaa484c.marecki@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sys-boot/refind/ X-VCS-Repository: repo/gentoo X-VCS-Files: sys-boot/refind/refind-0.12.0-r1.ebuild X-VCS-Directories: sys-boot/refind/ X-VCS-Committer: marecki X-VCS-Committer-Name: Marek Szuba X-VCS-Revision: a940ef1ee145a02b22243b17eb02f79f6eaa484c X-VCS-Branch: master Date: Thu, 30 Jul 2020 21:12:43 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: c47e5844-6db4-4aa7-8988-f39f6bdc252b X-Archives-Hash: 180f489865e596f284ce9e8dea34f7bd commit: a940ef1ee145a02b22243b17eb02f79f6eaa484c Author: Marek Szuba gentoo org> AuthorDate: Thu Jul 30 20:54:20 2020 +0000 Commit: Marek Szuba gentoo org> CommitDate: Thu Jul 30 21:11:48 2020 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a940ef1e sys-boot/refind: remove dependency on sys-boot/udk UDK is py2-only and will likely be removed from Gentoo soon. In fact, it already got temporarily last-rited earlier on this week - and rEFInd along with it. Given we have been forcing USE=gnuefi for sys-boot/refind for years anyway, just make the gnu-efi dependency mandatory. Note that the use.force entry for USE=gnuefi is still there due to the fact most rEFInd versions in the tree still honour that flag, plus I want to make this change as minimally intrusive as possible. With apologies to the current maintainer should they get upset about this change having been made without them having okayed it, it's about making sure sys-boot/refind does not get last-rited again. Signed-off-by: Marek Szuba gentoo.org> sys-boot/refind/refind-0.12.0-r1.ebuild | 142 ++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) diff --git a/sys-boot/refind/refind-0.12.0-r1.ebuild b/sys-boot/refind/refind-0.12.0-r1.ebuild new file mode 100644 index 00000000000..b595a111e7e --- /dev/null +++ b/sys-boot/refind/refind-0.12.0-r1.ebuild @@ -0,0 +1,142 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multiprocessing toolchain-funcs + +DESCRIPTION="The UEFI Boot Manager by Rod Smith" +HOMEPAGE="https://www.rodsbooks.com/refind/" +SRC_URI="mirror://sourceforge/project/${PN}/${PV}/${PN}-src-${PV}.tar.gz" + +LICENSE="BSD GPL-2 GPL-3 FDL-1.3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +FS_USE="btrfs +ext2 +ext4 hfs +iso9660 ntfs reiserfs" +IUSE="${FS_USE} custom-cflags doc" + +DEPEND=">=sys-boot/gnu-efi-3.0.2" + +DOCS=(README.txt) +PATCHES=("${FILESDIR}/makefile.patch") + +pkg_pretend() { + if use custom-cflags; then + ewarn + ewarn "You have enabled building with USE=custom-cflags. Be aware that" + ewarn "using this can result in EFI binaries that fail to run and may" + ewarn "fail to build at all. This is strongly advised against by upstream." + ewarn + ewarn "See https://bugs.gentoo.org/598587#c3 for more information" + ewarn + fi +} + +pkg_setup() { + if use x86; then + export EFIARCH=ia32 + export BUILDARCH=ia32 + elif use amd64; then + export EFIARCH=x64 + export BUILDARCH=x86_64 + fi +} + +src_prepare() { + default + + # bug 598647 - PIE not supported + sed -e '/^CFLAGS/s:$: -fno-PIE:' -i Make.common || die +} + +src_compile() { + # Update fs targets depending on uses + local fs fs_names=() + for fs in ${FS_USE}; do + fs=${fs#+} + if use "${fs}"; then + fs_names+=(${fs}) + fi + done + fs_names=("${fs_names[@]/%/_gnuefi}") + + # Prepare flags + local make_flags=( + ARCH="${BUILDARCH}" + CC="$(tc-getCC)" + AS="$(tc-getAS)" + LD="$(tc-getLD)" + AR="$(tc-getAR)" + RANLIB="$(tc-getRANLIB)" + OBJCOPY="$(tc-getOBJCOPY)" + GNUEFILIB="/usr/$(get_libdir)" + EFILIB="/usr/$(get_libdir)" + EFICRT0="/usr/$(get_libdir)" + EDK2BASE="${UDK_WORKSPACE}" + EDK2_DRIVER_BASENAMES="${fs_names[@]}" + FILESYSTEMS="${fs_names[@]}" + FILESYSTEMS_GNUEFI="${fs_names[@]}" + ) + if use custom-cflags; then + make_flags=(CFLAGS="${CFLAGS}" "${make_flags[@]}") + fi + + emake "${make_flags[@]}" all_gnuefi +} + +src_install() { + exeinto "/usr/lib/${PN}" + doexe refind-install + dosym "../lib/${PN}/refind-install" "/usr/sbin/refind-install" + + if use doc; then + doman "docs/man/"* + DOCS+=(NEWS.txt docs/refind docs/Styles) + fi + einstalldocs + + insinto "/usr/lib/${PN}/refind" + doins "refind/refind_${EFIARCH}.efi" + doins "refind.conf-sample" + doins -r images icons fonts banners + + if [[ -d "drivers_${EFIARCH}" ]]; then + doins -r "drivers_${EFIARCH}" + fi + + insinto "/usr/lib/${PN}/refind/tools_${EFIARCH}" + doins "gptsync/gptsync_${EFIARCH}.efi" + + insinto "/etc/refind.d" + doins -r "keys" + + dosbin "mkrlconf" + dosbin "mvrefind" + dosbin "refind-mkdefault" +} + +pkg_postinst() { + elog "rEFInd has been built and installed into ${EROOT}/usr/lib/${PN}" + elog "You will need to use the command 'refind-install' to install" + elog "the binaries into your EFI System Partition" + elog "" + elog "refind-install requires additional packages to be fully functional:" + elog " app-crypt/sbsigntools for binary signing for use with SecureBoot" + elog " sys-boot/efibootmgr for writing to NVRAM" + elog " sys-apps/gptfdisk for ESP management" + elog "" + elog "refind-mkdefault requires >=dev-lang/python-3" + elog "" + if [[ -z "${REPLACING_VERSIONS}" ]]; then + elog "A sample configuration can be found at" + elog "${EROOT}/usr/lib/${PN}/refind/refind.conf-sample" + else + if ver_test "${REPLACING_VERSIONS}" -lt "0.12.0"; then + ewarn "This new version uses sys-apps/gptfdisk instead of sys-block/parted" + ewarn "to manage ESP" + ewarn "" + fi + ewarn "Note that this installation will not update any EFI binaries" + ewarn "on your EFI System Partition - this needs to be done manually" + fi +}