head	1.35;
access;
symbols
	pkgsrc-2026Q3:1.35.0.22
	pkgsrc-2026Q3-base:1.35
	pkgsrc-2026Q2:1.35.0.20
	pkgsrc-2026Q2-base:1.35
	pkgsrc-2026Q1:1.35.0.18
	pkgsrc-2026Q1-base:1.35
	pkgsrc-2025Q4:1.35.0.16
	pkgsrc-2025Q4-base:1.35
	pkgsrc-2025Q3:1.35.0.14
	pkgsrc-2025Q3-base:1.35
	pkgsrc-2025Q2:1.35.0.12
	pkgsrc-2025Q2-base:1.35
	pkgsrc-2025Q1:1.35.0.10
	pkgsrc-2025Q1-base:1.35
	pkgsrc-2024Q4:1.35.0.8
	pkgsrc-2024Q4-base:1.35
	pkgsrc-2024Q3:1.35.0.6
	pkgsrc-2024Q3-base:1.35
	pkgsrc-2024Q2:1.35.0.4
	pkgsrc-2024Q2-base:1.35
	pkgsrc-2024Q1:1.35.0.2
	pkgsrc-2024Q1-base:1.35
	pkgsrc-2023Q4:1.33.0.2
	pkgsrc-2023Q4-base:1.33
	pkgsrc-2023Q3:1.32.0.2
	pkgsrc-2023Q3-base:1.32
	pkgsrc-2023Q2:1.30.0.2
	pkgsrc-2023Q2-base:1.30
	pkgsrc-2023Q1:1.29.0.2
	pkgsrc-2023Q1-base:1.29
	pkgsrc-2022Q4:1.27.0.6
	pkgsrc-2022Q4-base:1.27
	pkgsrc-2022Q3:1.27.0.4
	pkgsrc-2022Q3-base:1.27
	pkgsrc-2022Q2:1.27.0.2
	pkgsrc-2022Q2-base:1.27
	pkgsrc-2022Q1:1.26.0.4
	pkgsrc-2022Q1-base:1.26
	pkgsrc-2021Q4:1.26.0.2
	pkgsrc-2021Q4-base:1.26
	pkgsrc-2021Q3:1.25.0.4
	pkgsrc-2021Q3-base:1.25
	pkgsrc-2021Q2:1.25.0.2
	pkgsrc-2021Q2-base:1.25
	pkgsrc-2021Q1:1.24.0.8
	pkgsrc-2021Q1-base:1.24
	pkgsrc-2020Q4:1.24.0.6
	pkgsrc-2020Q4-base:1.24
	pkgsrc-2020Q3:1.24.0.4
	pkgsrc-2020Q3-base:1.24
	pkgsrc-2020Q2:1.24.0.2
	pkgsrc-2020Q2-base:1.24
	pkgsrc-2020Q1:1.20.0.2
	pkgsrc-2020Q1-base:1.20
	pkgsrc-2019Q4:1.19.0.4
	pkgsrc-2019Q4-base:1.19
	pkgsrc-2019Q3:1.18.0.8
	pkgsrc-2019Q3-base:1.18
	pkgsrc-2019Q2:1.18.0.6
	pkgsrc-2019Q2-base:1.18
	pkgsrc-2019Q1:1.18.0.4
	pkgsrc-2019Q1-base:1.18
	pkgsrc-2018Q4:1.18.0.2
	pkgsrc-2018Q4-base:1.18
	pkgsrc-2018Q3:1.16.0.2
	pkgsrc-2018Q3-base:1.16
	pkgsrc-2018Q2:1.13.0.2
	pkgsrc-2018Q2-base:1.13
	pkgsrc-2018Q1:1.9.0.18
	pkgsrc-2018Q1-base:1.9
	pkgsrc-2017Q4:1.9.0.16
	pkgsrc-2017Q4-base:1.9
	pkgsrc-2017Q3:1.9.0.14
	pkgsrc-2017Q3-base:1.9
	pkgsrc-2017Q2:1.9.0.10
	pkgsrc-2017Q2-base:1.9
	pkgsrc-2017Q1:1.9.0.8
	pkgsrc-2017Q1-base:1.9
	pkgsrc-2016Q4:1.9.0.6
	pkgsrc-2016Q4-base:1.9
	pkgsrc-2016Q3:1.9.0.4
	pkgsrc-2016Q3-base:1.9
	pkgsrc-2016Q2:1.9.0.2
	pkgsrc-2016Q2-base:1.9
	pkgsrc-2016Q1:1.7.0.14
	pkgsrc-2016Q1-base:1.7
	pkgsrc-2015Q4:1.7.0.12
	pkgsrc-2015Q4-base:1.7
	pkgsrc-2015Q3:1.7.0.10
	pkgsrc-2015Q3-base:1.7
	pkgsrc-2015Q2:1.7.0.8
	pkgsrc-2015Q2-base:1.7
	pkgsrc-2015Q1:1.7.0.6
	pkgsrc-2015Q1-base:1.7
	pkgsrc-2014Q4:1.7.0.4
	pkgsrc-2014Q4-base:1.7
	pkgsrc-2014Q3:1.7.0.2
	pkgsrc-2014Q3-base:1.7
	pkgsrc-2014Q2:1.6.0.2
	pkgsrc-2014Q2-base:1.6
	pkgsrc-2014Q1:1.5.0.2
	pkgsrc-2014Q1-base:1.5
	pkgsrc-2013Q4:1.4.0.6
	pkgsrc-2013Q4-base:1.4
	pkgsrc-2013Q3:1.4.0.4
	pkgsrc-2013Q3-base:1.4
	pkgsrc-2013Q2:1.4.0.2
	pkgsrc-2013Q2-base:1.4
	pkgsrc-2013Q1:1.2.0.4
	pkgsrc-2013Q1-base:1.2
	pkgsrc-2012Q4:1.2.0.2
	pkgsrc-2012Q4-base:1.2
	pkgsrc-2012Q3:1.1.0.2
	pkgsrc-2012Q3-base:1.1;
locks; strict;
comment	@# @;


1.35
date	2024.03.01.06.34.45;	author kim;	state Exp;
branches;
next	1.34;
commitid	V7KRrINBrBxIhq0F;

1.34
date	2024.02.07.17.50.45;	author wiz;	state Exp;
branches;
next	1.33;
commitid	TqQrvfg8tgkvLwXE;

1.33
date	2023.11.12.13.23.32;	author wiz;	state Exp;
branches;
next	1.32;
commitid	SjpNXQIV5XeZ3kME;

1.32
date	2023.09.07.19.42.47;	author vins;	state Exp;
branches;
next	1.31;
commitid	LRcjnPVBdpFMiSDE;

1.31
date	2023.08.14.05.25.16;	author wiz;	state Exp;
branches;
next	1.30;
commitid	LOSB79OLVxvXjIAE;

1.30
date	2023.06.06.12.42.19;	author riastradh;	state Exp;
branches;
next	1.29;
commitid	xhspr6Z8JLQOWSrE;

1.29
date	2023.02.01.04.22.08;	author khorben;	state Exp;
branches;
next	1.28;
commitid	RvHXfVFVaFiMcMbE;

1.28
date	2023.01.29.21.17.47;	author ryoon;	state Exp;
branches;
next	1.27;
commitid	QL7aBXsBGmQvUtbE;

1.27
date	2022.06.25.07.01.48;	author nia;	state Exp;
branches;
next	1.26;
commitid	kY00tpknyhaLcoJD;

1.26
date	2021.11.09.10.21.35;	author nia;	state Exp;
branches;
next	1.25;
commitid	C670hYTw7Y4HD6gD;

1.25
date	2021.05.24.19.54.11;	author wiz;	state Exp;
branches;
next	1.24;
commitid	qokaiStTApGMcrUC;

1.24
date	2020.06.04.20.17.19;	author triaxx;	state Exp;
branches;
next	1.23;
commitid	m083p0qYdKnjKWaC;

1.23
date	2020.05.09.17.21.32;	author triaxx;	state Exp;
branches;
next	1.22;
commitid	8c28kjMZO6BDBA7C;

1.22
date	2020.05.09.12.17.52;	author triaxx;	state Exp;
branches;
next	1.21;
commitid	igNolEcbfXaIVy7C;

1.21
date	2020.05.02.16.53.54;	author triaxx;	state Exp;
branches;
next	1.20;
commitid	86duxf6suhHFAG6C;

1.20
date	2020.01.18.23.35.17;	author rillig;	state Exp;
branches;
next	1.19;
commitid	shGUwZfkr7sleeTB;

1.19
date	2019.11.04.21.28.46;	author rillig;	state Exp;
branches;
next	1.18;
commitid	P8zvC5DaquV1ZzJB;

1.18
date	2018.11.24.07.55.28;	author triaxx;	state Exp;
branches;
next	1.17;
commitid	QU3ZzwU3TZI5za1B;

1.17
date	2018.11.23.15.41.19;	author triaxx;	state Exp;
branches;
next	1.16;
commitid	rCCpVkZe5nDka51B;

1.16
date	2018.09.16.15.07.54;	author triaxx;	state Exp;
branches;
next	1.15;
commitid	Fx8UCl59nPufblSA;

1.15
date	2018.09.16.14.37.08;	author triaxx;	state Exp;
branches;
next	1.14;
commitid	ongk2d10O2yU0lSA;

1.14
date	2018.07.04.13.40.37;	author jperkin;	state Exp;
branches;
next	1.13;
commitid	NnIyRkdX3Lbg3PIA;

1.13
date	2018.05.23.10.45.54;	author maya;	state Exp;
branches;
next	1.12;
commitid	lU3xb1v2xiB5spDA;

1.12
date	2018.05.23.07.56.53;	author triaxx;	state Exp;
branches;
next	1.11;
commitid	sqZEtt8H9un5xoDA;

1.11
date	2018.05.10.08.17.10;	author maya;	state Exp;
branches;
next	1.10;
commitid	u6Qq2Pps1xZK3JBA;

1.10
date	2018.05.09.01.18.06;	author maya;	state Exp;
branches;
next	1.9;
commitid	VRpeQtfTYa6wLyBA;

1.9
date	2016.05.17.10.32.09;	author fhajny;	state Exp;
branches;
next	1.8;
commitid	6I4MSY4qjd2M1P6z;

1.8
date	2016.05.03.10.54.56;	author wiz;	state Exp;
branches;
next	1.7;
commitid	vXVN65fIfYeIC15z;

1.7
date	2014.09.05.12.14.24;	author gsutre;	state Exp;
branches;
next	1.6;
commitid	bHwA7VxNkgbBx9Px;

1.6
date	2014.06.01.18.08.24;	author wiz;	state Exp;
branches;
next	1.5;
commitid	7qLmj8iMdl3zAQCx;

1.5
date	2014.02.19.09.44.56;	author jperkin;	state Exp;
branches;
next	1.4;
commitid	2Kc1lfsHD6nr4Hpx;

1.4
date	2013.06.04.22.17.06;	author tron;	state Exp;
branches;
next	1.3;
commitid	wB5zURIqYs6HAlSw;

1.3
date	2013.06.03.10.05.59;	author wiz;	state Exp;
branches;
next	1.2;
commitid	kGMtnUPdN4amz9Sw;

1.2
date	2012.10.23.19.51.06;	author asau;	state Exp;
branches;
next	1.1;

1.1
date	2012.07.29.21.44.13;	author gsutre;	state Exp;
branches;
next	;


desc
@@


1.35
log
@Use MASTER_SITE_GNU
@
text
@# $NetBSD: Makefile,v 1.34 2024/02/07 17:50:45 wiz Exp $

DISTNAME=		grub-2.12
PKGNAME=		${DISTNAME:S/grub/grub2/}
CATEGORIES=		sysutils
MASTER_SITES=		${MASTER_SITE_GNU:=grub/}
EXTRACT_SUFX=		.tar.xz
DISTFILES=		${DISTNAME}${EXTRACT_SUFX}

MAINTAINER=		pkgsrc-users@@NetBSD.org
HOMEPAGE=		https://www.gnu.org/software/grub/
COMMENT=		GRand Unified Bootloader, version 2
LICENSE=		gnu-gpl-v3

TOOL_DEPENDS+=		help2man>=1.36:../../converters/help2man

CONFLICTS=		grub-[0-9]*

ONLY_FOR_PLATFORM=	*-*-i386 *-*-x86_64

FORTIFY_SUPPORTED=	no
MKPIE_SUPPORTED=	no
RELRO_SUPPORTED=	no
SSP_SUPPORTED=		no

USE_LANGUAGES+=		c c++
USE_TOOLS+=		gmake flex bison gettext:run gawk pkg-config

.include "../../lang/python/tool.mk"
PYTHON_FOR_BUILD_ONLY=	tool

GNU_CONFIGURE=		yes
CONFIGURE_ARGS+=	--sysconfdir=${PKG_SYSCONFDIR}
CONFIGURE_ARGS+=	--disable-efiemu
CONFIGURE_ARGS+=	--disable-grub-emu-sdl
CONFIGURE_ARGS+=	--disable-grub-emu-pci
CONFIGURE_ARGS+=	--disable-werror
INFO_FILES=		yes
USE_PKGLOCALEDIR=	yes

.include "../../mk/bsd.prefs.mk"

CFLAGS+=		-Wno-unused-value
MAKE_FLAGS+=		BUILD_LDFLAGS=${COMPILER_RPATH_FLAG}${X11BASE}/lib

#
# Build requirements, taken from the INSTALL file in GRUB's distribution:
#
# - GCC >= 4.1.3	(in fact >= 4.4 is required for a successful build)
# - Flex >= 2.5.35
# - gettext >= 0.17	(the need for >= 0.17 seems to only concern msgfmt)
#
# Additionnaly, help2man is required to generate the manual pages.
#
GCC_REQD+=		4.4
FLEX_REQD+=		2.5.35

CONFIGURE_ARGS+=	--target=${GRUB_TARGET_CPU}
CONFIGURE_ARGS+=	--with-platform=${GRUB_PLATFORM}

#
# Unset ABI to prevent pkgsrc's gcc wrapper from messing with -m flags.
#
.if defined(ABI) && !empty(ABI)
.  undef ABI
.endif

#
# Configuration files.
#
PKG_SYSCONFSUBDIR=	grub
EGDIR=			${PREFIX}/share/examples/grub
INSTALL_MAKE_FLAGS+=	grubconfdir=${EGDIR}
INSTALL_MAKE_FLAGS+=	bashcompletiondir=${EGDIR}
INSTALL_MAKE_FLAGS+=	bash_completion_script=grub-bash-completion.sh

EGFILES=		00_header 05_pkgsrc_theme 30_os-prober 40_custom 41_custom
.if ${OPSYS} == "FreeBSD"
EGFILES+=		10_kfreebsd
.elif ${OPSYS} == "Linux"
EGFILES+=		10_linux
.elif ${OPSYS} == "NetBSD"
EGFILES+=		10_netbsd
.endif
.for file in ${EGFILES}
CONF_FILES_PERMS+=	${EGDIR}/${file} ${PKG_SYSCONFDIR}/${file} ${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 0755
.endfor
CONF_FILES+=		${EGDIR}/README ${PKG_SYSCONFDIR}/README
CONF_FILES+=		${EGDIR}/default.conf.sample ${PKG_SYSCONFDIR}/default.conf

post-extract:
	[ -f  ${WRKSRC}/grub-core/extra_deps.lst ] || \
	touch ${WRKSRC}/grub-core/extra_deps.lst

post-install: do-install-custom-config

.PHONY: do-install-custom-config
do-install-custom-config:
	${INSTALL_DATA} ${FILESDIR}/default.conf ${DESTDIR}${EGDIR}/default.conf.sample
	${INSTALL_SCRIPT} ${FILESDIR}/05_pkgsrc_theme ${DESTDIR}${EGDIR}/05_pkgsrc_theme

#
# Force installation of all OS configuration scripts in ${EGDIR}.
#
SUBST_CLASSES+=			fix-os-conf
SUBST_STAGE.fix-os-conf=	pre-configure
SUBST_MESSAGE.fix-os-conf=	Fixing installation of OS configuration scripts.
SUBST_FILES.fix-os-conf=	Makefile.in
SUBST_SED.fix-os-conf=		-e 's,^@@COND_HOST_[A-Z]*_TRUE@@,,g'

#
# Adjust the configuration paths in scripts.
#
SUBST_CLASSES+=			fix-paths-1
SUBST_STAGE.fix-paths-1=	pre-configure
SUBST_MESSAGE.fix-paths-1=	Fixing configuration paths in scripts.
SUBST_FILES.fix-paths-1=	util/grub-mkconfig.in
SUBST_SED.fix-paths-1=		-e 's,\(\$${sysconfdir}"\{0\,1\}\)/grub.d,\1,g'
SUBST_SED.fix-paths-1+=		-e 's,\(\$${sysconfdir}"\{0\,1\}\)/default/grub,\1/default.conf,g'

#
# Adjust the search paths for fonts in configure.
#
SUBST_CLASSES+=			fix-fonts
SUBST_STAGE.fix-fonts=		pre-configure
SUBST_MESSAGE.fix-fonts=	Fixing fonts search paths in configure.
SUBST_FILES.fix-fonts=		configure
SUBST_SED.fix-fonts=		-e 's,/usr/share/fonts,${PREFIX}/share/fonts,'

#
# Do not use `\t' with sed, as it's not portable.
#
SUBST_CLASSES+=			fix-sed-tabs
SUBST_STAGE.fix-sed-tabs=	pre-configure
SUBST_MESSAGE.fix-sed-tabs=	Fixing tabulations for sed in scripts.
SUBST_FILES.fix-sed-tabs=	util/grub.d/*.in
SUBST_SED.fix-sed-tabs=		-e 's,\\t,	,g'

#
# Includes.
#
.include "options.mk"

# build needs 'strip' for build, and this setting removes it
INSTALL_UNSTRIPPED=	no

.include "../../devel/gettext-lib/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
@


1.34
log
@grub2: update to 2.12.

With help from Anon.

New in 2.12:

* GCC 13 support.
* clang 14 support.
* binutils 2.38 support.
* Unification of EFI Linux kernel loader across architectures.
* Transition to EFI Linux kernel stub loader for x86 architecture.
* Initial support for Boot Loader Interface.
* Support for dynamic GRUB runtime memory addition using firmware calls.
* PCI and MMIO UARTs support.
* SDL2 support.
* LoongArch support.
* TPM driver fixes.
* Many filesystems fixes.
* Many CVE and Coverity fixes.
* Debugging support improvements.
* Tests improvements.
* Documentation improvements.
* ...and tons of other fixes and cleanups...

New in 2.06:

* GCC 10 support.
* clang 10 support.
* SBAT support.
* LUKS2 support.
* Drop small MBR gap support.
* Xen Security Modules (XSM/FLASK) support.
* The lockdown mechanism similar to the Linux kernel one.
* Disable the os-prober by default.
* Many backports of GRUB distros specific patches.
* BootHole and BootHole2 fixes.
* ...and tons of other fixes and cleanups...
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.33 2023/11/12 13:23:32 wiz Exp $
d6 1
a6 1
MASTER_SITES=		ftp://ftp.gnu.org/gnu/grub/
@


1.33
log
@*: revebump for new brotli option for freetype2

Addresses PR 57693
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.32 2023/09/07 19:42:47 vins Exp $
d3 1
a3 1
DISTNAME=		grub-2.04
a4 1
PKGREVISION=		6
d7 1
d15 2
a20 1
SSP_SUPPORTED=		no
d24 1
d27 1
a27 1
USE_TOOLS+=		gmake flex bison gettext:run awk pkg-config
d56 1
a56 2
FLEX_REQD=		2.5.35
TOOL_DEPENDS+=		help2man>=1.36:../../converters/help2man
d58 2
a59 16
#
# The configure script sets the variables `target_cpu' and `platform', which
# are used for the location of the library directory.  The following mimics
# the configure script's behavior for i386 and x86_64.
#
GRUB_TARGET_CPU=	${MACHINE_ARCH}
.if ${LOWER_VENDOR} == "apple"
GRUB_PLATFORM=		efi
.else
GRUB_PLATFORM=		pc
.endif
.if ${GRUB_TARGET_CPU} == "x86_64" && ${GRUB_PLATFORM} == "pc"
GRUB_TARGET_CPU=	i386
.endif
PLIST_SUBST+=		GRUB_TARGET_CPU=${GRUB_TARGET_CPU}
PLIST_SUBST+=		GRUB_PLATFORM=${GRUB_PLATFORM}
d91 4
d128 1
a128 1
SUBST_VARS.fix-fonts=		PREFIX
d144 3
@


1.32
log
@*: revbump after filesystems/fuse update.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.31 2023/08/14 05:25:16 wiz Exp $
d5 1
a5 1
PKGREVISION=		5
@


1.31
log
@*: recursive bump for Python 3.11 as new default
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.30 2023/06/06 12:42:19 riastradh Exp $
d5 1
a5 1
PKGREVISION=		4
@


1.30
log
@Mass-change BUILD_DEPENDS to TOOL_DEPENDS outside mk/.

Almost all uses, if not all of them, are wrong, according to the
semantics of BUILD_DEPENDS (packages built for target available for
use _by_ tools at build-time) and TOOL_DEPEPNDS (packages built for
host available for use _as_ tools at build-time).

No change to BUILD_DEPENDS as used correctly inside buildlink3.

As proposed on tech-pkg:
https://mail-index.netbsd.org/tech-pkg/2023/06/03/msg027632.html
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.29 2023/02/01 04:22:08 khorben Exp $
d5 1
a5 1
PKGREVISION=		3
@


1.29
log
@grub2: fix building with the freetype option

grub2 builds binaries for execution during the build, to generate the
fonts for instance. Without the right COMPILER_RPATH_FLAG and path in
BUILD_LDFLAGS, the binaries may fail to find libfreetype.so.

Tested on NetBSD/amd64.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.28 2023/01/29 21:17:47 ryoon Exp $
d55 1
a55 1
BUILD_DEPENDS+=		help2man>=1.36:../../converters/help2man
@


1.28
log
@*: Recursive revbup from graphics/freetype2
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.27 2022/06/25 07:01:48 nia Exp $
d42 1
@


1.27
log
@grub2: do not want -Werror in pkgsrc
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.26 2021/11/09 10:21:35 nia Exp $
d5 1
a5 1
PKGREVISION=		2
@


1.26
log
@grub2: disable MKPIE and RELRO
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.25 2021/05/24 19:54:11 wiz Exp $
d35 1
@


1.25
log
@*: recursive bump for perl 5.34
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.24 2020/06/04 20:17:19 triaxx Exp $
d21 2
@


1.24
log
@grub2: Fix missing interpreter in bulk build

pkgsrc changes:
---------------
  * Include lang/python/tool.mk so that PYTHON_FOR_BUILD_ONLY is taken into
    account.
  * Pull {SSP,FORTIFY}_SUPPORTED up to put them before inclusion of
    mk/bsd.prefs.mk (/!\ lang/python/tool.mk includes mk/bsd.prefs.mk).
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.23 2020/05/09 17:21:32 triaxx Exp $
d5 1
a5 1
PKGREVISION=		1
@


1.23
log
@grub2: add tool dependency on python
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.22 2020/05/09 12:17:52 triaxx Exp $
d19 3
d24 2
a35 3
SSP_SUPPORTED=		no
FORTIFY_SUPPORTED=	no

@


1.22
log
@grub2: fix build error

pkgsrc changes:
---------------
  * The unifont 5.1.20080820 that was manually included in $WRKDIR made the
    native freetype2 fail in FT_Get_Char_Index() function while the pkgsrc
    freetype2 succeeded. The package now depends on fonts/unifont for build
    because the version 13.0.02 of unifont fixes the FT_Get_Char_Index()
    failure.
  * Bump revision
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.21 2020/05/02 16:53:54 triaxx Exp $
d21 1
@


1.21
log
@grub2: update to 2.04

upstream changes:
-----------------
* GCC 8 and 9 support.
* Gnulib integration overhaul.
* RISC-V support.
* Xen PVH support.
* Native UEFI secure boot support.
* UEFI TPM driver.
* New IEEE 1275 obdisk driver.
* Btrfs RAID 5 and RIAD 6 support.
* PARTUUID support.
* VLAN support.
* Native DHCP support.
* Many ARM and ARM64 fixes.
* Many SPARC fixes.
* Many IEEE 1275 fixes.
* ...and tons of other fixes and cleanups...
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.20 2020/01/18 23:35:17 rillig Exp $
d5 1
d124 1
a124 1
# Adjust the search paths for DejaVu fonts in configure.
d126 5
a130 5
SUBST_CLASSES+=			fix-dejavu
SUBST_STAGE.fix-dejavu=		pre-configure
SUBST_MESSAGE.fix-dejavu=	Fixing dejavu search paths in configure.
SUBST_FILES.fix-dejavu=		configure
SUBST_SED.fix-dejavu=		-e 's, \(/usr/share/fonts/dejavu\), \1 ${PREFIX}/share/fonts/X11/TTF,g'
@


1.20
log
@all: migrate several HOMEPAGEs to https

pkglint --only "https instead of http" -r -F

With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.

This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.19 2019/11/04 21:28:46 rillig Exp $
d3 1
a3 1
DISTNAME=		grub-2.02
d34 2
@


1.19
log
@sysutils: align variable assignments

pkglint -Wall -F --only aligned --only indent -r

Manually excluded consolekit and dc-tools since pkglint didn't get the
formatting correct.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.18 2018/11/24 07:55:28 triaxx Exp $
d10 1
a10 1
HOMEPAGE=		http://www.gnu.org/software/grub/
@


1.18
log
@grub2: correct a dirty fix to a right one

thanks wiz@@
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.17 2018/11/23 15:41:19 triaxx Exp $
d68 1
a68 1
.undef ABI
@


1.17
log
@grub2: fix linking error with graphics/freetype2
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.16 2018/09/16 15:07:54 triaxx Exp $
d19 1
a19 1
USE_TOOLS+=		gmake flex bison gettext:run awk
a45 1
BUILD_DEPENDS+=		pkg-config-[0-9]*:../../devel/pkg-config
@


1.16
log
@grub2: some cosmetics

* remove util/grub-install.in: file not longer exists (fix SUBST warning)
* change ABI= to .under ABI (fix pkglint warning)
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.15 2018/09/16 14:37:08 triaxx Exp $
d46 1
@


1.15
log
@grub2: remove (now) useless post-install script

gdb_grub and gmodule.pl are now installed with correct permissions.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.14 2018/07/04 13:40:37 jperkin Exp $
d68 1
a68 1
ABI=
d116 1
a116 1
SUBST_FILES.fix-paths-1=	util/grub-install.in util/grub-mkconfig.in
@


1.14
log
@*: Move SUBST_STAGE from post-patch to pre-configure

Performing substitutions during post-patch breaks tools such as mkpatches,
making it very difficult to regenerate correct patches after making changes,
and often leading to substituted string replacements being committed.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.13 2018/05/23 10:45:54 maya Exp $
a138 7
# Remove executable bit from non-executable files.
#
post-install:
	${CHMOD} a-x ${DESTDIR}${PREFIX}/lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gdb_grub
	${CHMOD} a-x ${DESTDIR}${PREFIX}/lib/grub/${GRUB_TARGET_CPU}-${GRUB_PLATFORM}/gmodule.pl

#
@


1.13
log
@grub2: remove violent hack necessary to build grub 2.00.

Grub 2.02 no longer uses nested functions and doesn't need a RWX stack, so
no paxctl +m is necessary (on some platforms). Hurray!
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.12 2018/05/23 07:56:53 triaxx Exp $
d105 1
a105 1
SUBST_STAGE.fix-os-conf=	post-patch
d114 1
a114 1
SUBST_STAGE.fix-paths-1=	post-patch
d133 1
a133 1
SUBST_STAGE.fix-sed-tabs=	post-patch
@


1.12
log
@grub2: update to 2.02

* Remove patches fixed in upstream
* Remove 'CONFIGURE_ARGS+=  --disable-grub-emu-usb': option no more supported
* Fix DejaVu search path
* Remove hack for use of pkgsrc's flex on NetBSD (that causes build errors)
* Disable SSP checking (that causes linking errors)

Changes:
New in 2.02:

* New/improved filesystem and disk support:
  * Big-endian UFS1.
  * Experimental 64-bit ext2 support.
  * Various fixes for non-512-byte sector devices.
  * New `proc' filesystem framework, used by LUKS disks.
  * Fix DM-RAID partition handling.
  * New `nativedisk' command to switch from firmware to native disk drivers.
  * Compressed HFS+.
  * DragonFly BSD labels.
  * CBFS (coreboot).
  * Handle partitioned LVM properly.
  * Use LVM UUIDs whenever possible.
  * GPT PReP.
  * New `progress' module that shows progress information while reading
    files.
  * ZFS features support.
  * ZFS LZ4 support.
  * XFS V5 format support.
  * LVM RAID1 support.

* New/improved terminal and video support:
  * Monochrome text (matching `hercules' in GRUB Legacy).
  * Morse code output using system speaker.
  * `spkmodem' output (simple data protocol using system speaker).
  * Handle Japanese special keys.
  * coreboot framebuffer.
  * Serial on ARC.
  * Native vt100 handling for grub-emu, replacing the use of the curses
    library.
  * New gfxmenu options for terminal window positioning, theme background
    image handling, and scrollbar padding, plus `item_pixmap_style' and
    `highlight_overlay'.
  * Support several more image types (paletted and greyscale).

* Boot protocol improvements:
  * Support Apple FAT binaries on non-Apple platforms.
  * Improve FreeDOS direct loading support compatibility.
  * Enable `linux16' on all x86 platforms, not just BIOS.
  * New TrueCrypt ISO loader.
  * multiboot2 boot-services EFI specification.
  * multiboot2 EFI memory map specification.
  * multiboot2 full-file specfication.

* New/improved network support:
  * New variables `net_default_*' containing properties of the default
    interface.
  * Autoload `http' and `tftp' modules if necessary.
  * Improve TFTP robustness.
  * Parse `nd' disk names in GRUB Legacy configuration files.
  * Issue separate DNS queries for IPv4 and IPv6.
  * Support IPv6 Router Advertisement to configure default router.
  * New variable net_<interface>_next_server containing next server
    from BOOTP reply.

* Coreboot improvements:
  * CBFS support both in on-disk images (loopback) and flash.
  * Ability to launch another payload from flash or disk
  * Coreboot framebuffer
  * CBMEMC support (both logging and inspecting logs)
  * Command for inspecting coreboot timestamps (`coreboot_boottime').
  * Command for inspecting coreboot tables (`lscoreboot').
  * New target default_payload.elf.
  * Increased maximal core size.
  * Prefer pmtimer for TSC calibration.

* New/improved platform support:
  * New `efifwsetup' and `lsefi' commands on EFI platforms.
  * New `cmosdump' and `cmosset' commands on platforms with CMOS support.
  * New command `pcidump' for PCI platforms.
  * Improve opcode parsing in ACPI halt implementation.
  * Use the TSC as a possible time source on i386-ieee1275.
  * Merge PowerPC grub-mkrescue implementation with the common one.
  * Support grub-mkrescue on i386-ieee1275, sparc64, bootinfo machines such
    as pSeries, and mips-arc.
  * Make grub-mkrescue better support Apple Intel Macs on CD.
  * Enable GRUB Legacy configuration file parsing on EFI.
  * Support halt for Loongson 2E.
  * ARM U-Boot and EFI ports.
  * Reorganise platform-dependent code in utilities to avoid #ifdef mess.
  * AROS and Haiku support for userspace utilities.
  * Xen PV port.
  * Fix EFI stack alignment.
  * ARM64 EFI port.
  * On Linux, read partition start offsets from sysfs if possible.
  * New grub-macbless utility, and better integration with Mac firmware in
    grub-install.
  * Support Yeeloong 3A.
  * Add `cpuid --pae' option to detect Physical Address Extension on x86.
  * Support for USB debug dongles.
  * Support for *-emu on all platforms (previously only i386/x86_64 worked).
  * Support *-emu on Windows.
  * New platform `none' which builds only user level utilities. This is now
    default if target CPU is not supported.
  * Support for booting little-endian Linux kernel on powerpc.
  * Support network boot with Oracle sun4v vnet devices.
  * Added SAS disks to the IEEE 1275 Open Firmware device list.
  * Try multiple methods for TSC (timestamp counter) calibration - PIT, pmtimer,
    EFI Stall. If everything fails, use hardcoded frequency 800MHz.
  * Support Hyper-V Gen2 platforms which lack PIT for TSC calibration.
  * Map UEFI Persistent Memory to E820 persistent memory.
  * New Xen loader on ARM64.
  * Respect alignment requirement for block device IO buffers on EFI.

* Security:
  * Add optional facility to enforce that all files read by the core image
    from disk have a valid detached digital signature.

* Performance:
  * Avoid costly division operations in many places.
  * New boot time analysis framework (`./configure --enable-boot-time').
  * Initialise USB ports in parallel.
  * New `testspeed' command to test file read speed.
  * Speed-up gfxterm by storing intermediate results in more compact format.
  * Lazy LVM/mdraid scan.
  * Disk hints.

* Scripting:
  * New `eval' and `tr' commands.
  * grub-script-check fails on scripts containing no commands.

* Installation and other utility improvements:
  * Add option to compress files on installation or image creation.
  * Using grub-reboot no longer requires setting `GRUB_DEFAULT=saved'.
  * Support probing EFI System Partition (requires os-prober >= 1.58).
  * Fix inconsistent use of `GRUB_CRYPTODISK_ENABLE' and
    `GRUB_ENABLE_CRYPTODISK'; the latter is now used consistently.
  * grub-mount handles symbolic links to directories.
  * Support disabling submenus with `GRUB_DISABLE_SUBMENU' configuration key
    for grub-mkconfig.
  * grub-install, grub-mknetdir, grub-mkrescue, and grub-mkstandalone
    rewritten in C.  They should now work in supported non-Unix-like
    environments.
  * Native mingw support.
  * Ability to install on EFI under windows.
  * Reorganise timeout handling using new `timeout_style' environment
    variable and `GRUB_TIMEOUT_STYLE' configuration key for grub-mkconfig.
    Menu hotkeys pressed during a hidden timeout now boot the corresponding
    menu entry immediately.
  * New `file' command and grub-file utility to check file types.
  * New syslinux configuration file parser.
  * Set menu entry class to primary OS name returned by os-prober to display
    OS specific icon.
  * On Linux x86 detect EFI word size in grub-install and automatically select
    correct platform (x86_64-efi or i386-efi) to install. Requires Linux kernel
    4.0 or higher.

* Build system:
  * Remove all uses of nested functions; GRUB no longer requires an
    executable stack.
  * Fix documentation build with Texinfo >= 5.1.
  * More robust and documented cross-compiling support.
  * Partial clang support for some platforms (experimental).
  * Partial mingw64 x86_64-efi compile support (highly experimental).
  * Partial mingw32 i386-* (other than already present i386-pc)
    compile support (highly experimental).
  * Support for grub-mkpasswd on Windows.
  * Eliminate the use of AutoGen.  This allowed some performance
    improvements to the build system.
  * Remove variable length arrays.
  * OpenBSD compile and tools support (NetBSD and FreeBSD were already supported).
  * Fix build with FreeType >= 2.5.1.
  * Make gentpl.py compatible with Python 3.  It now requires at least
    Python 2.6.
  * modinfo.sh contains build information now.
  * Added many new tests to improve robustness.
  * Target is built without libgcc now. Necessary builtins are reimplemented
    directly. This removes requirement for target-specific runtime on build
    system.
  * emu libusb support removed (was broken and unmaintained).
  * powerpc64le compile support.
  * Use fixed timestamp when generating GRUB image for reproducible builds.
  * Verify at build time that modules contain only supported relocations and their
    structure matches what boot-time module loader expects.
  * Do not require fonts on powerpc-ieee1275.

* Revision control moved to git.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.11 2018/05/10 08:17:10 maya Exp $
a138 9
# grub-script-check crashes from enabling executable stack, paxctl +m it if possible.
# XXX not needed with grub 2.02
#
post-configure:
	${MV} ${WRKSRC}/Makefile ${WRKSRC}/Makefile.orig
	${RUN}${AWK} '/^grub-script-check.1:/{print;print "\t-paxctl +m grub-script-check";next}1' \
		${WRKSRC}/Makefile.orig > ${WRKSRC}/Makefile

#
@


1.11
log
@grub2: Note that as of grub 2.02, it no longer uses nested functions,
so this hack isn't necessary.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.10 2018/05/09 01:18:06 maya Exp $
d3 1
a3 1
DISTNAME=		grub-2.00
a4 1
PKGREVISION=		6
d18 1
a23 1
CONFIGURE_ARGS+=	--disable-grub-emu-usb
a25 1
CONFIGURE_ARGS+=	--disable-werror
a46 5
# XXX Force use of pkgsrc's flex on NetBSD to prevent build failure.
.if ${OPSYS} == "NetBSD"
FLEX_REQD=		9
.endif

d127 1
a127 1
SUBST_SED.fix-dejavu=		-e 's, \(/usr/share/fonts/dejavu\);, \1 ${PREFIX}/share/fonts/X11/TTF;,g'
@


1.10
log
@grub2: build-tested fixes for netbsd

don't -Werror
try to paxctl +m grub-script-check, because it tries to enable
executable stack (?!)
assume ssp/fortify won't work, typical in bootloaders. not tested if necessary.

bump PKGREVISION.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.9 2016/05/17 10:32:09 fhajny Exp $
d147 1
@


1.9
log
@Use REAL_ROOT_USER/REAL_ROOT_GROUP instead of ROOT_USER/ROOT_GROUP
for all pkgsrc dir/file ownership rules. Fixes unprivileged
user/group names from leaking into binary packages, manifest as
non-fatal chown/chgrp failure messages at pkg_add time.

Bump respective packages' PKGREVISION.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.8 2016/05/03 10:54:56 wiz Exp $
d5 1
a5 1
PKGREVISION=		5
d19 1
a19 1
USE_TOOLS+=		gmake flex bison gettext:run
d27 1
d31 3
d146 8
@


1.8
log
@Reset maintainer (observer now).
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.7 2014/09/05 12:14:24 gsutre Exp $
d5 1
a5 1
PKGREVISION=		4
d92 1
a92 1
CONF_FILES_PERMS+=	${EGDIR}/${file} ${PKG_SYSCONFDIR}/${file} ${ROOT_USER} ${ROOT_GROUP} 0755
@


1.7
log
@Fix PR pkg/49041 and update the dejavu-ttf dependency
to account for the font path change.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.6 2014/06/01 18:08:24 wiz Exp $
d10 1
a10 1
MAINTAINER=		gsutre@@NetBSD.org
@


1.6
log
@Update font path reference. Bump PKGREVISION.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.5 2014/02/19 09:44:56 jperkin Exp $
d5 1
a5 1
PKGREVISION=		3
@


1.5
log
@GCC_REQD should be appended to, not set.

Fixes issues where a newer GCC has been chosen by the user but the GCC_REQD
was forcing an older (and broken) one to be pulled regardless.
@
text
@d1 1
a1 2
# $NetBSD: Makefile,v 1.4 2013/06/04 22:17:06 tron Exp $
#
d4 2
a5 2
PKGNAME=		grub2-2.00
PKGREVISION=		2
d130 1
a130 1
SUBST_SED.fix-dejavu=		-e 's, \(/usr/share/fonts/dejavu\);, \1 ${PREFIX}/lib/X11/fonts/TTF;,g'
@


1.4
log
@Try to fix the fallout caused by the fix for PR pkg/47882. Part 3:

Recursively bump package revisions again after the "freetype2" and
"fontconfig" handling was fixed.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.3 2013/06/03 10:05:59 wiz Exp $
d42 1
a42 1
GCC_REQD=		4.4
@


1.3
log
@Bump freetype2 and fontconfig dependencies to current pkgsrc versions,
to address issues with NetBSD-6(and earlier)'s fontconfig not being
new enough for pango.

While doing that, also bump freetype2 dependency to current pkgsrc
version.

Suggested by tron in PR 47882
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.2 2012/10/23 19:51:06 asau Exp $
d6 1
a6 1
PKGREVISION=		1
@


1.2
log
@Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.1 2012/07/29 21:44:13 gsutre Exp $
d6 1
@


1.1
log
@Import grub2-2.00 as sysutils/grub2.

This is GRUB 2, the second version of the GRand Unified Bootloader.
GRUB 2 is rewritten from scratch to make GNU GRUB cleaner, safer, more
robust, more powerful, and more portable.
@
text
@d1 1
a1 1
# $NetBSD$
a16 2
PKG_DESTDIR_SUPPORT=	user-destdir

@

