diff --git a/net/ipxe/Makefile b/net/ipxe/Makefile index 2e06aa1f3adf..ae4333184319 100644 --- a/net/ipxe/Makefile +++ b/net/ipxe/Makefile @@ -1,137 +1,137 @@ PORTNAME= ipxe -DISTVERSION= g20230822 +DISTVERSION= g20240403 PORTEPOCH= 1 CATEGORIES= net MAINTAINER= egypcio@FreeBSD.org COMMENT= Open source network boot firmware WWW= https://ipxe.org LICENSE= GPLv2 ONLY_FOR_ARCHS= amd64 i386 ONLY_FOR_ARCHS_REASON= not yet ported to anything other than amd64/i386 BUILD_DEPENDS= bash:shells/bash \ syslinux:sysutils/syslinux USES= gmake perl5 shebangfix USE_BINUTILS= yes USE_GCC= yes:build USE_GITHUB= yes -GH_TAGNAME= 9e99a55b317f5da6 +GH_TAGNAME= 59f27d69358efc91 USE_PERL5= build MAKE_ARGS= AR=${AR} \ ARCH=${ARCH:S/amd64/i386/} \ AS=${AS} \ CC=${CC} \ HOST_CC=${CC} \ LD=${LD} \ NM=${NM} \ NO_WERROR=1 \ OBJCOPY=${OBJCOPY} \ OBJDUMP=${OBJDUMP} \ PERL=${PERL} \ RANLIB=${RANLIB} \ SIZE=${SIZE} \ V=1 # Append user-settable build args from make.conf MAKE_ARGS+= ${IPXE_MAKE_ARGS} ALL_TARGET= bin/ipxe.dsk bin/ipxe.lkrn bin/ipxe.pxe bin/ipxe.usb \ bin/undionly.kpxe # VMware ROMs ALL_TARGET+= bin/8086100f.mrom bin/808610d3.mrom bin/10222000.rom \ bin/15ad07b0.rom SUB_FILES= pkg-message WRKSRC_SUBDIR= src PLIST_FILES= ${ALL_TARGET:S@^bin/@${DATADIR}/@} # Possible options are listed in ${WRKSRC}/config/*.h and # http://ipxe.org/buildcfg. Add a ! prefix to an option to undef it # i.e. turn it off. _IPXE_BUILDCFG= branding:PRODUCT_NAME="${PKGNAME} (${OPSYS} ${OSREL}/${ARCH})" \ console:CONSOLE_SERIAL \ console:KEYBOARD_MAP=us \ general:!DOWNLOAD_PROTO_FTP \ general:DOWNLOAD_PROTO_HTTPS \ general:DOWNLOAD_PROTO_NFS \ general:IMAGE_TRUST_CMD \ general:NET_PROTO_IPV6 \ general:NTP_CMD \ general:PING_CMD \ general:POWEROFF_CMD OPTIONS_DEFINE= EFI ISO OPTIONS_DEFAULT= EFI ISO EFI_DESC= Create EFI images ISO_DESC= Create bootable CD image EFI_BUILD_DEPENDS= mformat:emulators/mtools _EFI_ARCHS= ${ARCH:Mamd64:S/amd64/x86_64/} i386 _EFI_TARGETS= ipxe snp snponly .for _arch in ${_EFI_ARCHS} . for _target in ${_EFI_TARGETS} EFI_PLIST_FILES+= ${DATADIR}/${_target}.efi-${_arch} . endfor EFI_PLIST_FILES+= ${DATADIR}/ipxe.efi-${_arch}.usb .endfor ISO_BUILD_DEPENDS= mkisofs:sysutils/cdrtools ISO_MAKE_ARGS= ISOLINUX_BIN="${WRKSRC}/isolinux.bin" \ LDLINUX_C32="${LOCALBASE}/share/syslinux/bios/com32/elflink/ldlinux/ldlinux.c32" ISO_ALL_TARGET= bin/ipxe.iso .include # Add user supplied build configuration after port options etc have # been processed as they might want to overwrite some settings. _IPXE_BUILDCFG+= ${IPXE_BUILDCFG} # XXX: iPXE uses csplit when embedding certificates and assumes # it's GNU csplit, so give it what it wants as a workaround if # CERT=... is in {IPXE_,}MAKE_ARGS. .if ${MAKE_ARGS:MCERT=*} BUILD_DEPENDS+= gcsplit:sysutils/coreutils MAKE_ARGS+= CSPLIT=gcsplit .endif # https://github.com/ipxe/ipxe/pull/794 post-patch: ${REINPLACE_CMD} "s|VERSION_MINOR.*0|VERSION_MINOR=21|; s|VERSION_PATCH.*0|VERSION_PATCH=1|" \ ${WRKSRC}/Makefile do-configure: .for _cat _opt in ${_IPXE_BUILDCFG:C/\:/ /} @${ECHO_CMD} '#undef ${_opt:S/^!//:C/(.*)=(.*)/\1/}' >> ${WRKSRC}/config/local/${_cat}.h .if ${_opt:N!*} @${ECHO_CMD} '#define ${_opt:C/=/ /:S/^'//:S/'$//}' >> ${WRKSRC}/config/local/${_cat}.h .endif .endfor pre-build-ISO-on: # ISO creation fails if isolinux.bin is read only ${INSTALL} -m 644 ${LOCALBASE}/share/syslinux/bios/core/isolinux.bin ${WRKSRC}/isolinux.bin do-build-EFI-on: .for _arch in ${_EFI_ARCHS} ${DO_MAKE_BUILD} ARCH=${_arch} -C ${WRKSRC} ${_EFI_TARGETS:@.target.@bin-${_arch}-efi/${.target.}.efi@} \ bin-${_arch}-efi/ipxe.usb .endfor do-install: @${MKDIR} ${STAGEDIR}${DATADIR} cd ${WRKSRC} && ${INSTALL_DATA} ${ALL_TARGET} ${STAGEDIR}${DATADIR} do-install-EFI-on: .for _arch in ${_EFI_ARCHS} . for _target in ${_EFI_TARGETS} ${INSTALL_DATA} ${WRKSRC}/bin-${_arch}-efi/${_target}.efi \ ${STAGEDIR}${DATADIR}/${_target}.efi-${_arch} . endfor ${INSTALL_DATA} ${WRKSRC}/bin-${_arch}-efi/ipxe.usb \ ${STAGEDIR}${DATADIR}/ipxe.efi-${_arch}.usb .endfor .include diff --git a/net/ipxe/distinfo b/net/ipxe/distinfo index a742d6a935f4..3cd343ba3653 100644 --- a/net/ipxe/distinfo +++ b/net/ipxe/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1693026053 -SHA256 (ipxe-ipxe-g20230822-9e99a55b317f5da6_GH0.tar.gz) = a145226dc3c9f2f17fe6e78d4c6301fb22c2b52f00b051520e458118bb6e669a -SIZE (ipxe-ipxe-g20230822-9e99a55b317f5da6_GH0.tar.gz) = 4137052 +TIMESTAMP = 1712669011 +SHA256 (ipxe-ipxe-g20240403-59f27d69358efc91_GH0.tar.gz) = f299f30f3aca6f29d4aebc456353b00e748687b4dfee7a9966a705a3350144e3 +SIZE (ipxe-ipxe-g20240403-59f27d69358efc91_GH0.tar.gz) = 4223518 diff --git a/net/ipxe/files/patch-src_arch_x86_include_librm.h b/net/ipxe/files/patch-src_arch_x86_include_librm.h deleted file mode 100644 index 2e23880efa62..000000000000 --- a/net/ipxe/files/patch-src_arch_x86_include_librm.h +++ /dev/null @@ -1,47 +0,0 @@ -From 08caa8be3a143d6f33782f398b7937efb39ff283 Mon Sep 17 00:00:00 2001 -From: Justin Cano <5184128+jstncno@users.noreply.github.com> -Date: Thu, 3 Aug 2023 09:58:11 -0700 -Subject: [PATCH] Use the right sized register for the push operand based on - the size of the value being pushed - -Fixes https://github.com/ipxe/ipxe/issues/997 ---- - src/arch/x86/include/librm.h | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git src/arch/x86/include/librm.h src/arch/x86/include/librm.h -index 5196d390..d9e748ad 100644 ---- arch/x86/include/librm.h -+++ arch/x86/include/librm.h -@@ -250,8 +250,10 @@ extern void remove_user_from_rm_stack ( userptr_t data, size_t size ); - /* CODE_DEFAULT: restore default .code32/.code64 directive */ - #ifdef __x86_64__ - #define CODE_DEFAULT ".code64" -+#define PUSH "pushq" - #else - #define CODE_DEFAULT ".code32" -+#define PUSH "pushl" - #endif - - /* LINE_SYMBOL: declare a symbol for the current source code line */ -@@ -268,7 +270,7 @@ extern void remove_user_from_rm_stack ( userptr_t data, size_t size ); - - /* REAL_CODE: declare a fragment of code that executes in real mode */ - #define REAL_CODE( asm_code_str ) \ -- "push $1f\n\t" \ -+ PUSH " $1f\n\t" \ - "call real_call\n\t" \ - TEXT16_CODE ( "\n1:\n\t" \ - asm_code_str \ -@@ -277,7 +279,7 @@ extern void remove_user_from_rm_stack ( userptr_t data, size_t size ); - - /* PHYS_CODE: declare a fragment of code that executes in flat physical mode */ - #define PHYS_CODE( asm_code_str ) \ -- "push $1f\n\t" \ -+ PUSH " $1f\n\t" \ - "call phys_call\n\t" \ - ".section \".text.phys\", \"ax\", @progbits\n\t"\ - "\n" LINE_SYMBOL "\n\t" \ --- -2.41.0 -