diff options
author | Yuta Satoh <nigoro.dev@gmail.com> | 2016-04-04 20:55:25 +0900 |
---|---|---|
committer | Yuta Satoh <nigoro.dev@gmail.com> | 2016-04-04 20:55:25 +0900 |
commit | 0eed712cb3a85182d9f34475fe7fd2bddf175578 (patch) | |
tree | ceb71b0a5d7c342d093713d75ec89c81e387becc /sys-freebsd/boot0 | |
parent | net-libs/libinfinity: purge old per security bug 550126 (diff) | |
download | gentoo-0eed712cb3a85182d9f34475fe7fd2bddf175578.tar.gz gentoo-0eed712cb3a85182d9f34475fe7fd2bddf175578.tar.bz2 gentoo-0eed712cb3a85182d9f34475fe7fd2bddf175578.zip |
sys-freebsd: Bump to 10.3.
Diffstat (limited to 'sys-freebsd/boot0')
-rw-r--r-- | sys-freebsd/boot0/Manifest | 1 | ||||
-rw-r--r-- | sys-freebsd/boot0/boot0-10.3.ebuild | 83 | ||||
-rw-r--r-- | sys-freebsd/boot0/files/boot0-10.3-clang.patch | 30 | ||||
-rw-r--r-- | sys-freebsd/boot0/files/boot0-10.3-drop-unsupport-cflags.patch | 28 | ||||
-rw-r--r-- | sys-freebsd/boot0/files/boot0-10.3-uefi-support.patch | 33 |
5 files changed, 175 insertions, 0 deletions
diff --git a/sys-freebsd/boot0/Manifest b/sys-freebsd/boot0/Manifest index 982e5c6a97f7..d8414594ab72 100644 --- a/sys-freebsd/boot0/Manifest +++ b/sys-freebsd/boot0/Manifest @@ -1,5 +1,6 @@ DIST freebsd-contrib-9.1.tar.bz2 54751432 SHA256 e7ffa056d4050ce03ee8e23e276e2a9a494326a98d60c43bee2afcc59576deb8 SHA512 71be13049258c6e6b5e4f63cc16da5d349a89d68f04d87446e4ad33ae8bf2a93ea67d9c256b7bec60b61e65db0487268070cfb77a484c3ac0f8ba368b48c2438 WHIRLPOOL a2a84423175499208d34809e802284d6ba649f317c3a9ad8b7312fa19efe142ebadab0048bac0db8e988e59f9a7468ac7c5d0d25e78b82bdb269a20d18153cee DIST freebsd-lib-9.1.tar.bz2 3206685 SHA256 f31fa8107b4de711c548f6d0c1bb1f81d09f51bcc3b14a1e9e90bb0e7cc4a35d SHA512 40d0c36b6b889c404fa0e0afa38ba4e84a55bc88ffa2f98a70afbd7a32c4f32c158617ba770567d082a986d62c09b3ec8db3dc5ab853ee1c9bbe0b90bb82396e WHIRLPOOL 581878bf9c43184b043b4293409b85901c9ed1f9bd279e965414aca41ba50950848ebda3ee10a503a028135dfd2765e95a11acd4e62a11c528e104392bbbd8d0 DIST freebsd-src-10.2.tar.xz 124551336 SHA256 6a59ea716bae96135983ad70cd7123e3b35ec91b191a82fe282ade88a61560b1 SHA512 fba4588fdaa94fa4582a8de566a84cf4f2badc87c7b2e0745d7a31c1e349b2d5f59dbdbb16a9d43421155c1ac4bdec8db24c5d32ac5a92be687d4ed70fe35835 WHIRLPOOL e325db3c07118762021d802c4f20c7a5fd4b816f08cab6f92b408399f1b3bf8ad89728d51c354ab21478265a4539463c94aae9ae49f0ac10cd3c3f8f640dc186 +DIST freebsd-src-10.3.tar.xz 126900216 SHA256 f50763dcac88e9b7ec616b77d537bf338f470350e2c85e0cc7decfcc8372b54d SHA512 a0c95fc4bbc5ad7599d0a83651a497e85cd85a5c433e5e175c57480b466c9eb5aa0390804d6336da8301c75ad499484399d39b8f7efbcfda8cafb09b1aa12d8f WHIRLPOOL bf5320bc506fb73a63d0fb324b60667a196ca2fef5d0215637a657c613f2052d76d002deb205e258f6d4e2aaea15490b26679e59a102606a34b58ab1f6b755ad DIST freebsd-sys-8.2.tar.bz2 25835329 SHA256 0c6c7b61aae94db2931f985d5899f3bca78fc8ffab6b598fbaa158142d676f16 SHA512 6ea4516a5c52e25c4f993f7acb875463a5caea93dbdf250c5d48eee95fff226956e9f030cab7e341b5e6a132325bc3dbf93dcb4b1185acb011918e50b1a22be3 WHIRLPOOL 870deeff877c6b9fc812a4260e4fdbb6715a5dc2065cab3bfbf2a42d876f6654703ccb124275a4e2c410cef48f3db02b63cc76059eccf9cf90244826f35b7a15 DIST freebsd-sys-9.1.tar.bz2 32588103 SHA256 b93a7ac8334ac16cc9f60665048e5ef812c0a6c62f10d0b0a674aec3f56516a8 SHA512 7dc9d9e00dde8f592bb171f4386d02b655b73cb4f153fe5ec063d010a148ef0639eae0dcdb3eeb09ecd1e3653c69e49a2d261329fa6d0381d2ddabe258ddde6d WHIRLPOOL c8348344dfb14bad64bd3a78ee615ddd29203175b292233254f8ba175e7a3fb7218af6f95f7b4dbf394c0354bafe9d8bb0c21cdf0ceaeb697214964b280469b3 diff --git a/sys-freebsd/boot0/boot0-10.3.ebuild b/sys-freebsd/boot0/boot0-10.3.ebuild new file mode 100644 index 000000000000..a6361bf0417a --- /dev/null +++ b/sys-freebsd/boot0/boot0-10.3.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit bsdmk freebsd flag-o-matic toolchain-funcs + +DESCRIPTION="FreeBSD's bootloader" +SLOT="0" + +IUSE="bzip2 ieee1394 tftp zfs" + +if [[ ${PV} != *9999* ]]; then + KEYWORDS="~amd64-fbsd ~sparc-fbsd ~x86-fbsd" +fi + +EXTRACTONLY=" + sys/ + lib/ + contrib/bzip2/ +" + +RDEPEND="" +DEPEND="=sys-freebsd/freebsd-mk-defs-${RV}* + =sys-freebsd/freebsd-lib-${RV}*" + +S="${WORKDIR}/sys/boot" + +PATCHES=( "${FILESDIR}/${PN}-10.1-gcc46.patch" + "${FILESDIR}/${PN}-10.3-clang.patch" + "${FILESDIR}/${PN}-10.3-drop-unsupport-cflags.patch" + "${FILESDIR}/${PN}-10.3-uefi-support.patch" + "${FILESDIR}/${PN}-add-nossp-cflags.patch" ) + +boot0_use_enable() { + use ${1} && mymakeopts="${mymakeopts} LOADER_${2}_SUPPORT=\"yes\"" + use ${1} || mymakeopts="${mymakeopts} WITHOUT_${2}= " +} + +pkg_setup() { + boot0_use_enable ieee1394 FIREWIRE + boot0_use_enable zfs ZFS + boot0_use_enable tftp TFTP + boot0_use_enable bzip2 BZIP2 +} + +src_prepare() { + sed -e '/-mno-align-long-strings/d' \ + -i "${S}"/i386/boot2/Makefile \ + -i "${S}"/i386/gptboot/Makefile \ + -i "${S}"/i386/gptzfsboot/Makefile \ + -i "${S}"/i386/zfsboot/Makefile || die + + export MAKEOBJDIRPREFIX="${WORKDIR}/build" +} + +src_compile() { + strip-flags + append-flags "-fno-strict-aliasing" + + cd "${WORKDIR}/lib/libstand" || die + freebsd_src_compile + + CFLAGS="${CFLAGS} -I${WORKDIR}/lib/libstand" + LDFLAGS="${LDFLAGS} -L${WORKDIR}/lib/libstand" + export LIBSTAND="${MAKEOBJDIRPREFIX}/${WORKDIR}/lib/libstand/libstand.a" + + cd "${S}" || die + NOFLAGSTRIP="yes" freebsd_src_compile +} + +src_install() { + dodir /boot/defaults + mkinstall FILESDIR=/boot || die "mkinstall failed" + + cd "${WORKDIR}/sys/$(tc-arch-kernel)/conf" || die + insinto /boot + newins GENERIC.hints device.hints || die + + echo 'CONFIG_PROTECT="/boot/device.hints"' > "${T}"/50boot0 + doenvd "${T}"/50boot0 || die +} diff --git a/sys-freebsd/boot0/files/boot0-10.3-clang.patch b/sys-freebsd/boot0/files/boot0-10.3-clang.patch new file mode 100644 index 000000000000..4245e21a96e1 --- /dev/null +++ b/sys-freebsd/boot0/files/boot0-10.3-clang.patch @@ -0,0 +1,30 @@ +Gentoo Bug: https://bugs.gentoo.org/show_bug.cgi?id=542676 + +https://svnweb.freebsd.org/base/head/sys/boot/i386/boot2/Makefile?r1=272249&r2=276479 + +diff --git a/sys/boot/i386/boot2/Makefile b/sys/boot/i386/boot2/Makefile +index 8a6e771..c030853 100644 +--- a/sys/boot/i386/boot2/Makefile ++++ b/sys/boot/i386/boot2/Makefile +@@ -22,8 +22,7 @@ BOOT2_UFS?= UFS1_AND_UFS2 + #BOOT2_UFS?= UFS2_ONLY + #BOOT2_UFS?= UFS1_ONLY + +-CFLAGS= -Os \ +- -fomit-frame-pointer \ ++CFLAGS= -fomit-frame-pointer \ + -mrtd \ + -mregparm=3 \ + -DUSE_XREAD \ +@@ -40,7 +39,10 @@ CFLAGS= -Os \ + -Winline \ + ${CLANG_OPT_SMALL} + +-CFLAGS.gcc+= -fno-guess-branch-probability \ ++CFLAGS.clang+= -Oz ++ ++CFLAGS.gcc+= -Os \ ++ -fno-guess-branch-probability \ + -fno-unit-at-a-time \ + --param max-inline-insns-single=100 + .if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} <= 40201 diff --git a/sys-freebsd/boot0/files/boot0-10.3-drop-unsupport-cflags.patch b/sys-freebsd/boot0/files/boot0-10.3-drop-unsupport-cflags.patch new file mode 100644 index 000000000000..af1d3512e7da --- /dev/null +++ b/sys-freebsd/boot0/files/boot0-10.3-drop-unsupport-cflags.patch @@ -0,0 +1,28 @@ +diff --git a/sys/boot/efi/libefi/Makefile b/sys/boot/efi/libefi/Makefile +index fc66e01..470453d 100644 +--- a/sys/boot/efi/libefi/Makefile ++++ b/sys/boot/efi/libefi/Makefile +@@ -17,9 +17,6 @@ CFLAGS+= -I${.CURDIR}/../../../../lib/libstand + # Pick up the bootstrap header for some interface items + CFLAGS+= -I${.CURDIR}/../../common + +- +-# Suppress warning from clang for FreeBSD %b and %D formats +-CFLAGS+= -fformat-extensions + CFLAGS+= -DTERM_EMU + + .include <bsd.lib.mk> +diff --git a/sys/boot/i386/libi386/Makefile b/sys/boot/i386/libi386/Makefile +index 24cc4c1..e5d2bae 100644 +--- a/sys/boot/i386/libi386/Makefile ++++ b/sys/boot/i386/libi386/Makefile +@@ -55,9 +55,6 @@ CFLAGS+= -I${.CURDIR}/../../common -I${.CURDIR}/../common \ + # the location of libstand + CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/ + +-# Suppress warning from clang for FreeBSD %b and %D formats +-CFLAGS+= -fformat-extensions +- + .if ${MACHINE_CPUARCH} == "amd64" + CLEANFILES+= machine + machine: diff --git a/sys-freebsd/boot0/files/boot0-10.3-uefi-support.patch b/sys-freebsd/boot0/files/boot0-10.3-uefi-support.patch new file mode 100644 index 000000000000..fdafe74252bc --- /dev/null +++ b/sys-freebsd/boot0/files/boot0-10.3-uefi-support.patch @@ -0,0 +1,33 @@ +diff --git a/efi/Makefile b/efi/Makefile +index 30024e3..a33efb2 100644 +--- a/efi/Makefile ++++ b/efi/Makefile +@@ -2,15 +2,10 @@ + + .include <bsd.own.mk> + +-# In-tree GCC does not support __attribute__((ms_abi)). +-.if ${COMPILER_TYPE} != "gcc" +- + .if ${MACHINE_CPUARCH} == "amd64" + SUBDIR+= libefi loader boot1 + .endif + +-.endif # ${COMPILER_TYPE} != "gcc" +- + .if ${MACHINE_CPUARCH} == "ia64" + SUBDIR+= libefi + .endif +diff --git a/efi/boot1/Makefile b/efi/boot1/Makefile +index 4ffdfda..8ec0e00 100644 +--- a/efi/boot1/Makefile ++++ b/efi/boot1/Makefile +@@ -64,7 +64,7 @@ LDFLAGS+= -Wl,-znocombreloc + # Add libstand for required string and memory functions for all platforms. + # + DPADD+= ${LIBSTAND} +-LDADD+= -lstand ++LDADD+= ${LIBSTAND} + + DPADD+= ${LDSCRIPT} + |