--- klibc-1.5.25.ebuild 2011-08-30 01:37:01.000000000 +0000 +++ klibc-2.0.2.ebuild 2012-10-17 23:05:44.445564030 +0000 @@ -16,22 +16,33 @@ # This will be able to go away once the klibc author updates his code # to build again the headers provided by the kernel's 'headers_install' target. +EAPI=4 +K_TARBALL_SUFFIX="xz" + inherit eutils multilib toolchain-funcs DESCRIPTION="A minimal libc subset for use with initramfs." HOMEPAGE="http://www.zytor.com/mailman/listinfo/klibc" -KV_MAJOR="2" KV_MINOR="6" KV_SUB="39" +KV_MAJOR="3" KV_MINOR="x" KV_SUB="2" PKV_EXTRA="" -if [ -n "${PKV_EXTRA}" ]; then - PKV="${KV_MAJOR}.${KV_MINOR}.$((${KV_SUB}+1))-${PKV_EXTRA}" - PATCH_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/patch-${PKV}.bz2" +if [[ ${PKV_EXTRA} ]]; then + if [[ ${KV_MAJOR} == 2 ]]; then + PKV="${KV_MAJOR}.${KV_MINOR}.$((${KV_SUB}+1))-${PKV_EXTRA}" + else + PKV="${KV_MAJOR}.$((${KV_SUB}+1))-${PKV_EXTRA}" + fi + PATCH_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/patch-${PKV}.${K_TARBALL_SUFFIX}" +fi +if [[ ${KV_MAJOR} == 2 ]]; then + OKV="${KV_MAJOR}.${KV_MINOR}.${KV_SUB}" +else + OKV="${KV_MAJOR}.${KV_SUB}" fi -OKV="${KV_MAJOR}.${KV_MINOR}.${KV_SUB}" KERNEL_URI=" - mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/linux-${OKV}.tar.bz2 - mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/testing/linux-${OKV}.tar.bz2" + mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/linux-${OKV}.tar.${K_TARBALL_SUFFIX} + mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/testing/linux-${OKV}.tar.${K_TARBALL_SUFFIX}" SRC_URI=" - mirror://kernel/linux/libs/klibc/${PV:0:3}/${P}.tar.bz2 + mirror://kernel/linux/libs/klibc/${PV:0:3}/${P}.tar.${K_TARBALL_SUFFIX} ${PATCH_URI} ${KERNEL_URI}" @@ -76,8 +87,8 @@ kernel_defconfig() { } src_unpack() { - unpack linux-${OKV}.tar.bz2 ${P}.tar.bz2 - [ -n "${PKV}" ] && EPATCH_OPTS="-d ${KS} -p1" epatch "${DISTDIR}"/patch-${PKV}.bz2 + unpack linux-${OKV}.tar.${K_TARBALL_SUFFIX} ${P}.tar.${K_TARBALL_SUFFIX} + [[ ${PKV} ]] && EPATCH_OPTS="-d ${KS} -p1" epatch "${DISTDIR}"/patch-${PKV}.${K_TARBALL_SUFFIX} cd "${S}" # Symlink /usr/src/linux to ${S}/linux @@ -111,7 +122,9 @@ src_compile() { # TODO: For cross-compiling # You should set ARCH and ABI here CC="$(tc-getCC)" + LD="$(tc-getLD)" HOSTCC="$(tc-getBUILD_CC)" + HOSTLD="$(tc-getBUILD_LD)" KLIBCARCH="$(klibc_arch ${ARCH})" KLIBCASMARCH="$(kernel_asm_arch ${ARCH})" libdir="$(get_libdir)" @@ -144,8 +157,9 @@ src_compile() { emake \ EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \ - EXTRA_KLIBCLDFLAGS="-z,noexecstack" \ + EXTRA_KLIBCLDFLAGS="-z noexecstack" \ HOSTCC="${HOSTCC}" CC="${CC}" \ + HOSTLD="${HOSTLD}" LD="${LD}" \ INSTALLDIR="/usr/${libdir}/klibc" \ KLIBCARCH=${KLIBCARCH} \ KLIBCASMARCH=${KLIBCASMARCH} \ @@ -188,7 +202,7 @@ src_install() { emake \ EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \ - EXTRA_KLIBCLDFLAGS="-z,noexecstack" \ + EXTRA_KLIBCLDFLAGS="-z noexecstack" \ HOSTCC="${HOSTCC}" CC="${CC}" \ INSTALLDIR="/usr/${libdir}/klibc" \ INSTALLROOT="${D}" \ @@ -214,6 +228,8 @@ src_install() { # on a particular system, might be due to inherited permissions from parent # directory find "${D}"/usr/${libdir}/klibc/include | xargs chmod o+rX + find "${D}"/usr/${libdir}/klibc/include -type f \ + \( -name '.install' -o -name '..install.cmd' \) -delete || die # Hardlinks becoming copies for x in gunzip zcat ; do