|
|
|
# Copyright 1999-2014 Gentoo Foundation
|
|
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
# $Id$
|
|
|
|
|
|
|
|
EAPI=4
|
|
|
|
|
|
|
|
inherit eutils toolchain-funcs
|
|
|
|
|
|
|
|
DESCRIPTION="SYSLINUX, PXELINUX, ISOLINUX, EXTLINUX and MEMDISK bootloaders"
|
|
|
|
HOMEPAGE="http://www.syslinux.org/"
|
|
|
|
SRC_URI="mirror://kernel/linux/utils/boot/syslinux/${PV:0:1}.xx/${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
|
|
|
|
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
|
|
|
|
|
|
|
|
src_prepare() {
|
|
|
|
# Fix building on hardened
|
|
|
|
epatch "${FILESDIR}"/${PN}-4.05-nopie.patch
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
src_compile() {
|
|
|
|
emake CC=$(tc-getCC) installer
|
|
|
|
}
|
|
|
|
|
|
|
|
src_install() {
|
|
|
|
emake INSTALLSUBDIRS=utils INSTALLROOT="${D}" MANDIR=/usr/share/man install
|
|
|
|
dodoc README NEWS doc/*.txt
|
|
|
|
}
|
|
|
|
|
|
|
|
pkg_postinst() {
|
|
|
|
# print warning for users upgrading from the previous stable version
|
|
|
|
if has 4.07 ${REPLACING_VERSIONS}; then
|
|
|
|
ewarn "syslinux now uses dynamically linked ELF executables. Before you reboot,"
|
|
|
|
ewarn "ensure that needed dependencies are fulfilled. For example, run from your"
|
|
|
|
ewarn "syslinux directory:"
|
|
|
|
ewarn
|
|
|
|
ewarn "LD_LIBRARY_PATH=\".\" ldd menu.c32"
|
|
|
|
fi
|
|
|
|
}
|