summaryrefslogtreecommitdiff
path: root/sys-boot/syslinux
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-04-12 03:41:30 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-04-12 03:41:30 +0100
commit623ee73d661e5ed8475cb264511f683407d87365 (patch)
tree993eb27c93ec7a2d2d19550300d888fc1fed9e69 /sys-boot/syslinux
parentceeeb463cc1eef97fd62eaee8bf2196ba04bc384 (diff)
gentoo Easter resync : 12.04.2020
Diffstat (limited to 'sys-boot/syslinux')
-rw-r--r--sys-boot/syslinux/Manifest2
-rw-r--r--sys-boot/syslinux/files/syslinux-6.04_pre1-fcommon.patch54
-rw-r--r--sys-boot/syslinux/syslinux-6.04_pre1-r1.ebuild107
3 files changed, 163 insertions, 0 deletions
diff --git a/sys-boot/syslinux/Manifest b/sys-boot/syslinux/Manifest
index 1963f6499f5b..162be9b57138 100644
--- a/sys-boot/syslinux/Manifest
+++ b/sys-boot/syslinux/Manifest
@@ -1,10 +1,12 @@
AUX syslinux-4.05-nopie.patch 519 BLAKE2B 9ffea4b38c2f6de65883b256d83b270a4f3e3642827e4de9b711d396a1f3d386f9d894802cf22fcc7c64e8f3528ebfcb252e5db47f4bea586fcb4e110eb581ef SHA512 75160574c024bd841cd5e098d81f89c8532153cfd98beb17ca1549e0bdd7106d6494e8436e56560d3e501318fd8109b5f5765d244dcdfcbfc5306d35f9cbb4a8
AUX syslinux-6.03-sysmacros.patch 950 BLAKE2B 60fb26a4bb462409074802b8cf01afe29e8a7f98cb6907f4f2c0902f4cc7342b6053368ddf17331eac888714e795299c155a4078668a3ed0e35d435a8cb241d3 SHA512 8659e82e5a5402633c807c8a8f99b25fd6e3066fd0838a7e984452e2ebeccc0331481c93101f00a698e573cadcd98966ea216e4f2d9873e6893af817998e2549
+AUX syslinux-6.04_pre1-fcommon.patch 2111 BLAKE2B 6b0d047cc729e7e9c9658ccd6ecd1166eb1ff2be569132f94b0d2bdc71eb9412a05bf23aa287626949a6ea376b2a8d02877d72182d4ea50d54e445df9c38ac81 SHA512 50c58bc44c77a5a68910cd40370f4259afd1392fe8e1b5c6ac25f7e610d994ebc8d17434eb8d3f832a14f098e16b5b597c723f98ce8c12a89118f5b8d2c65529
AUX syslinux-6.04_pre1-singleloadsegment.patch 4744 BLAKE2B a28ff29b9a4bdd2cb65a6700c96ff99ba1a045a401d50587efe59d703f12aca3e47a14a8e7a569c50f11d367545990d09c35f90362efe49d0c9d489802885879 SHA512 9585edfc8ab0e22d4d7757ccdc435c198c5457466fb4fdefc1829cbbe8951f3406b7b51eea56044cc297d29e45772e2154e5746e6d9b92310f17c880c950ff8a
DIST syslinux-5.10.tar.xz 5315660 BLAKE2B 19d6861bb6220fe57e12d8d6118d37b197c3c771e4d2e7a51ce7db39219e3c837e6d1543d7a3927820f3a34da34ce849f9badbaf9cd83cb5ee24fd5ed7b705f2 SHA512 56422e14b4aa53ca1a5811da0582dbbb349aa52b9e78868bbedc24c67ef2420c4d0ac63fd68c7f0adc2c22606196276265d503b5b6f9d3d796d9ce42845bbdb5
DIST syslinux-6.03.tar.xz 6855224 BLAKE2B 9caccf8bed4e3c3e87393c9dc8f3b3d267c14469bbf8135a648ea41d8a43a4aedbf2b007c6b9a6853de8866152f5bc33e5ea85fca1db86c5f2fac88d97189b0f SHA512 dd2b2916962b9e93bc1e714182e3ca2a727a229b8afabe913050bcfdd43ee2af51ee3acf79121d8c20caf434583efaa7f3196871e0e07c04d82191323a50fe31
DIST syslinux-6.04-pre1.tar.xz 5283272 BLAKE2B 800e5977ed13b26a1756c33d8625e850631b642e26a86e3328196ddd998596693c3a26db0ada4c0ba78a4ba692a1cc01886b6eb693d877ddafcfb325ecdeb639 SHA512 7927dd39be8e2dcf4138a6fea33def67d19d938379d694f15b48fdd2f5924c028b7a9e7bd71d0c7c6630c203e9e2a54296628e530632ad5e6f55b1ebefe8fc98
EBUILD syslinux-5.10.ebuild 2230 BLAKE2B 995ee83ea6a912f0af1ca97e4a960e569c385118e9f234f4f6421d7ab7f409e49c3c4b5fb6bafd6264bfe39c1318f49b142bba809a0dba378ebcef395c2a0809 SHA512 7d61dd6de70b5cd11754b81777bfcdb63c116ad5c772aa9e907bcf6bfe8d918afae8797dae362c888d4d16845fbe1d2077ac7c374f8bbe1f7c5069d2d570c0bb
EBUILD syslinux-6.03.ebuild 3421 BLAKE2B 253a2b38846a07d3bdda05536c2d570e393b9182352e4e936f3213346fb8b0ee5573e5df2bb67bbc692dc5c52569ad3a667a19c14eb58ca7ec1e79ee46e67298 SHA512 041fa544ef45df4732597993c19448728ae6272a87306ff40cdb72e2dc3de5a7b54feb88f27a2660a2aa6932cb47682b42996bab618586bfdf608a959a1d1330
+EBUILD syslinux-6.04_pre1-r1.ebuild 3157 BLAKE2B ab29ee00207cfe57bc11e7ed28a953f9a3fb1c8d38de1c0590b744d9b72b8faf4b1fcaab0a3f5b8e88cc23410ec02533b47da4d74a70a6df78c2a48e75fc959d SHA512 3a3bee229af67282a2967dbbc64238bc3c747d31e091843b0f67a878a5145aebeb3dbf99c7600496112d2af6c1fa2b8180f037b2facc6be0dedf65296e89000b
EBUILD syslinux-6.04_pre1.ebuild 3489 BLAKE2B 78481eb4d56f6670a9e3dd6fb8a1b4abfc8cdf67ab3d549c16e88f6cc8a908c4ace33d04e857ea40b7990a1e06d9fa04573077a876634fa77d3f00bd35b3fa12 SHA512 3d628c258a6671c4977d98e575d05d88101451f2d962433eec373777921773658460fba7e7f992d1857ae5a28f64faa02b6bed8bdd5bac8a65311b8e009aaffe
MISC metadata.xml 411 BLAKE2B d3b00622fd68d6ae1b4ba7aa30c33c790b2fbdc688637d3c573cb4496f3952a62f8ae20384badda70b9cbd4ed036e0884becd212d63ec015decc511f1ee7970e SHA512 e8256115d61eeef51be14bea35df6765b356471d145ad8e43e75e6301a4557d526af5fd99b8957fb02ecd9c4a7a0bd0d3db4790abef935887bff8a102709c518
diff --git a/sys-boot/syslinux/files/syslinux-6.04_pre1-fcommon.patch b/sys-boot/syslinux/files/syslinux-6.04_pre1-fcommon.patch
new file mode 100644
index 000000000000..7d061db26563
--- /dev/null
+++ b/sys-boot/syslinux/files/syslinux-6.04_pre1-fcommon.patch
@@ -0,0 +1,54 @@
+https://bugs.gentoo.org/705730
+
+gcc-10 enabled f-no-common by default. Broke syslinux linking.
+--- a/mk/com32.mk
++++ b/mk/com32.mk
+@@ -47,6 +47,7 @@ GCCOPT += $(call gcc_ok,-falign-functions=0,-malign-functions=0)
+ GCCOPT += $(call gcc_ok,-falign-jumps=0,-malign-jumps=0)
+ GCCOPT += $(call gcc_ok,-falign-labels=0,-malign-labels=0)
+ GCCOPT += $(call gcc_ok,-falign-loops=0,-malign-loops=0)
++GCCOPT += $(call gcc_ok,-fcommon)
+
+ ifeq ($(FWCLASS),EFI)
+ GCCOPT += -mno-red-zone
+--- a/mk/elf.mk
++++ b/mk/elf.mk
+@@ -42,6 +42,7 @@ GCCOPT += $(call gcc_ok,-falign-functions=0,-malign-functions=0)
+ GCCOPT += $(call gcc_ok,-falign-jumps=0,-malign-jumps=0)
+ GCCOPT += $(call gcc_ok,-falign-labels=0,-malign-labels=0)
+ GCCOPT += $(call gcc_ok,-falign-loops=0,-malign-loops=0)
++GCCOPT += $(call gcc_ok,-fcommon)
+
+ com32 = $(topdir)/com32
+ core = $(topdir)/core
+--- a/mk/embedded.mk
++++ b/mk/embedded.mk
+@@ -51,6 +51,7 @@ GCCOPT += $(call gcc_ok,-falign-jumps=0,-malign-jumps=0)
+ GCCOPT += $(call gcc_ok,-falign-labels=0,-malign-labels=0)
+ GCCOPT += $(call gcc_ok,-falign-loops=0,-malign-loops=0)
+ GCCOPT += $(call gcc_ok,-fvisibility=hidden)
++GCCOPT += $(call gcc_ok,-fcommon)
+
+ LIBGCC := $(shell $(CC) $(GCCOPT) --print-libgcc)
+
+--- a/mk/lib.mk
++++ b/mk/lib.mk
+@@ -28,6 +28,7 @@ GCCOPT += $(call gcc_ok,-falign-functions=0,-malign-functions=0)
+ GCCOPT += $(call gcc_ok,-falign-jumps=0,-malign-jumps=0)
+ GCCOPT += $(call gcc_ok,-falign-labels=0,-malign-labels=0)
+ GCCOPT += $(call gcc_ok,-falign-loops=0,-malign-loops=0)
++GCCOPT += $(call gcc_ok,-fcommon)
+
+ INCLUDE = -I$(SRC)
+ STRIP = strip --strip-all -R .comment -R .note
+--- a/mk/efi.mk
++++ b/mk/efi.mk
+@@ -7,7 +7,7 @@ core = $(topdir)/core
+ # Set up architecture specifics; for cross compilation, set ARCH as apt
+ # gnuefi sets up architecture specifics in ia32 or x86_64 sub directories
+ # set up the LIBDIR and EFIINC for building for the appropriate architecture
+-GCCOPT := $(call gcc_ok,-fno-stack-protector,)
++GCCOPT := $(call gcc_ok,-fno-stack-protector,) $(call gcc_ok,-fcommon)
+ EFIINC = $(objdir)/include/efi
+ LIBDIR = $(objdir)/lib
+
diff --git a/sys-boot/syslinux/syslinux-6.04_pre1-r1.ebuild b/sys-boot/syslinux/syslinux-6.04_pre1-r1.ebuild
new file mode 100644
index 000000000000..194db71f6e57
--- /dev/null
+++ b/sys-boot/syslinux/syslinux-6.04_pre1-r1.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="SYSLINUX, PXELINUX, ISOLINUX, EXTLINUX and MEMDISK bootloaders"
+HOMEPAGE="https://www.syslinux.org/"
+# Final releases in 6.xx/$PV.tar.* (literal "xx")
+# Testing releases in Testing/$PV/$PV.tar.*
+SRC_URI_DIR=${PV:0:1}.xx
+SRC_URI_TESTING=Testing/${PV:0:4}
+[[ ${PV/_alpha} != $PV ]] && SRC_URI_DIR=$SRC_URI_TESTING
+[[ ${PV/_beta} != $PV ]] && SRC_URI_DIR=$SRC_URI_TESTING
+[[ ${PV/_pre} != $PV ]] && SRC_URI_DIR=$SRC_URI_TESTING
+[[ ${PV/_rc} != $PV ]] && SRC_URI_DIR=$SRC_URI_TESTING
+SRC_URI="https://www.kernel.org/pub/linux/utils/boot/syslinux/${SRC_URI_DIR}/${P/_/-}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE="custom-cflags"
+
+RDEPEND="sys-fs/mtools
+ dev-perl/Crypt-PasswdMD5
+ dev-perl/Digest-SHA1"
+DEPEND="${RDEPEND}
+ dev-lang/nasm
+ >=sys-boot/gnu-efi-3.0u
+ virtual/os-headers"
+
+S=${WORKDIR}/${P/_/-}
+
+# This ebuild is a departure from the old way of rebuilding everything in syslinux
+# This departure is necessary since hpa doesn't support the rebuilding of anything other
+# than the installers.
+
+# These are executables which come precompiled and are run by the boot loader
+QA_PREBUILT="usr/share/${PN}/*.c32"
+
+# removed all the unpack/patching stuff since we aren't rebuilding the core stuff anymore
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.03-sysmacros.patch #579928
+ "${FILESDIR}"/${P}-singleloadsegment.patch #662678
+ "${FILESDIR}"/${P}-fcommon.patch #705730
+)
+
+src_prepare() {
+ default
+
+ rm -f gethostip #bug 137081
+
+ # Don't prestrip or override user LDFLAGS, bug #305783
+ local SYSLINUX_MAKEFILES="extlinux/Makefile linux/Makefile mtools/Makefile \
+ sample/Makefile utils/Makefile"
+ sed -i ${SYSLINUX_MAKEFILES} -e '/^LDFLAGS/d' || die "sed failed"
+
+ if use custom-cflags; then
+ sed -i ${SYSLINUX_MAKEFILES} \
+ -e 's|-g -Os||g' \
+ -e 's|-Os||g' \
+ -e 's|CFLAGS[[:space:]]\+=|CFLAGS +=|g' \
+ || die "sed custom-cflags failed"
+ else
+ QA_FLAGS_IGNORED="
+ /sbin/extlinux
+ /usr/bin/memdiskfind
+ /usr/bin/gethostip
+ /usr/bin/isohybrid
+ /usr/bin/syslinux
+ "
+ fi
+ case ${ARCH} in
+ amd64) loaderarch="efi64" ;;
+ x86) loaderarch="efi32" ;;
+ *) ewarn "Unsupported architecture, building installers only." ;;
+ esac
+
+ # building with ld.gold causes problems, bug #563364
+ if tc-ld-is-gold; then
+ ewarn "Building syslinux with the gold linker may cause problems, see bug #563364"
+ if [[ -z "${I_KNOW_WHAT_I_AM_DOING}" ]]; then
+ tc-ld-disable-gold
+ ewarn "set I_KNOW_WHAT_I_AM_DOING=1 to override this."
+ else
+ ewarn "Continuing anyway as requested."
+ fi
+ fi
+}
+
+src_compile() {
+ # build system abuses the LDFLAGS variable to pass arguments to ld
+ unset LDFLAGS
+ if [[ ! -z ${loaderarch} ]]; then
+ emake CC="$(tc-getCC)" LD="$(tc-getLD)" ${loaderarch}
+ fi
+ emake CC="$(tc-getCC)" LD="$(tc-getLD)" ${loaderarch} installer
+}
+
+src_install() {
+ # parallel install fails sometimes
+ einfo "loaderarch=${loaderarch}"
+ emake -j1 CC="$(tc-getCC)" LD="$(tc-getLD)" INSTALLROOT="${D}" MANDIR=/usr/share/man bios ${loaderarch} install
+ dodoc README NEWS doc/*.txt
+}