summaryrefslogtreecommitdiff
path: root/sys-freebsd/freebsd-libexec
diff options
context:
space:
mode:
authorYuta Satoh <nigoro.dev@gmail.com>2016-10-11 21:37:39 +0900
committerAlexis Ballier <aballier@gentoo.org>2016-10-11 16:47:48 +0200
commite1bd456fcf9272cfdeaf542618c6b1f3ce3d1118 (patch)
tree6eb8e704f2281853b01e1abcd5770ad59d798e86 /sys-freebsd/freebsd-libexec
parent9c7ba33a32ba891c811fa450b53419702d5697c4 (diff)
downloadgentoo-e1bd456fcf9272cfdeaf542618c6b1f3ce3d1118.tar.gz
gentoo-e1bd456fcf9272cfdeaf542618c6b1f3ce3d1118.tar.xz
sys-freebsd: bump to 11.0
Diffstat (limited to 'sys-freebsd/freebsd-libexec')
-rw-r--r--sys-freebsd/freebsd-libexec/Manifest1
-rw-r--r--sys-freebsd/freebsd-libexec/freebsd-libexec-11.0.ebuild131
2 files changed, 132 insertions, 0 deletions
diff --git a/sys-freebsd/freebsd-libexec/Manifest b/sys-freebsd/freebsd-libexec/Manifest
index 6291728f8a0..18e29990e39 100644
--- a/sys-freebsd/freebsd-libexec/Manifest
+++ b/sys-freebsd/freebsd-libexec/Manifest
@@ -9,6 +9,7 @@ DIST freebsd-lib-9.1.tar.bz2 3206685 SHA256 f31fa8107b4de711c548f6d0c1bb1f81d09f
DIST freebsd-libexec-8.2.tar.bz2 289147 SHA256 10b996d1d8cd044ee2e7a877e5e6ad2bf050cce9b3bd402a5e0dea7d290b595d SHA512 abe6cf5a268675d7dcb1c214c46fef47a3fb09b31947f5d8a0b938d352295efe0249beb5007649c52187bf4c221b6ebf074d18dfe9bafd168cae09ee02ab608d WHIRLPOOL 27e854fe465eb933dd8e27c5a09b063e4d3798b54e0914c79a9120dcdc34cc5d525a0c92da7b645ff7ab2ab4f34c7f7b2783012dfa5004407acd11150062b7ad
DIST freebsd-libexec-9.1.tar.bz2 304592 SHA256 71e6e9e41328c2148c54b81ad9b59f912a1d5f0d52e17ac07f223aa7a94b82be SHA512 7baa4160dda2610250dd52f445e24478e0f1ea10bce21fcd0e5d1b856f399b896adc334114de0c7f61a5637e4349bb1688fdbe5c72798d8568ae791114710b92 WHIRLPOOL d800f477ac5c9ad6dae3e0091c83e107609b5a1e3aa79e9533fcd10a8dd34ff7733ab9523eae7c292310fe94f6a529209cae6b9e8bac6b47244e59834593e74b
DIST freebsd-src-10.3.tar.xz 126900216 SHA256 f50763dcac88e9b7ec616b77d537bf338f470350e2c85e0cc7decfcc8372b54d SHA512 a0c95fc4bbc5ad7599d0a83651a497e85cd85a5c433e5e175c57480b466c9eb5aa0390804d6336da8301c75ad499484399d39b8f7efbcfda8cafb09b1aa12d8f WHIRLPOOL bf5320bc506fb73a63d0fb324b60667a196ca2fef5d0215637a657c613f2052d76d002deb205e258f6d4e2aaea15490b26679e59a102606a34b58ab1f6b755ad
+DIST freebsd-src-11.0.tar.xz 140252356 SHA256 0725a7f1d3e8985f4b2e31a2ad714334463a5016b203073a8fc196649f3d5a27 SHA512 ee1271bb38ee46fbab3d49b33f5b5afd76f9402b2e792581d63f02272df8e2a4011fac97ad550434f0c2fc5fe241940276629bde55e75f8638896a81339870cd WHIRLPOOL e1cda77189990c1d2187ab2d9e842ff3c619d8235f1ade56819fadc52f680a871de17cf05f8119614557c615ad19d41d1b6080c4b3768e7252889546b865d827
DIST freebsd-ubin-8.2.tar.bz2 1808012 SHA256 6b99554f3ad6ee052069b347eb6e6219b71598d7b222acb90a24cbfc805c7b68 SHA512 48d0103323e820c431aa4f62d3be40cb3b200fb62e3de01f36c88760395bf2ba3367c51f3fa72da4dbccc2812176a051a12ca5cb7e84125c3e0fc78d4cab2c29 WHIRLPOOL ea8f3a29a37b42c2b5bcc0f2c343fa1538522157ef075363c94606a4620a590e9a03f856ce2494e3e727935b62431991d0aa9fde71de699e78b4fe225bdf1c2c
DIST freebsd-ubin-9.1.tar.bz2 1910472 SHA256 ff6e586f213534b6ec2e65002c0dee64063d76ddad515c12221b1a80a1815e48 SHA512 74ae0aceec8597aa66c3f1ab313f0685a3c63d7273c36ae7baf8794275ad9bca241c60c3f6281cccf6d531d250d7611099977d3b1a27279cef3586401b6af05e WHIRLPOOL c85a3c9cf2bceff2c60ff03556bcc81d3aca22b0bce3c9538990071ac0a907236eee5ae7743ad22c5fd309b047ebf392aaaf2fe177ef5790ea869aff3da7e2fe
DIST freebsd-usbin-8.2.tar.bz2 2443024 SHA256 aa7cabf10f5c3a9daabea32e4de24d04ec312247842981476da666eff5054603 SHA512 bcb8ff3df54848b9107bbb52e5ced7a91e24bb181f06769b6997221729b8064ec17652eaf7500de3268cbcb63ff5760beb54d15fc78c27b02687b5b1067c74a6 WHIRLPOOL 20f5278e2a1dd387a75b44f10507958d6c0e84a2faa1bddbf808c14ab86d8dd14a956192911bbc1880f5f5f7bd05972dcbb4aec85d241f0dcf91bf4246883f0a
diff --git a/sys-freebsd/freebsd-libexec/freebsd-libexec-11.0.ebuild b/sys-freebsd/freebsd-libexec/freebsd-libexec-11.0.ebuild
new file mode 100644
index 00000000000..8aea14da195
--- /dev/null
+++ b/sys-freebsd/freebsd-libexec/freebsd-libexec-11.0.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit bsdmk freebsd pam multilib multibuild multilib-build toolchain-funcs
+
+DESCRIPTION="FreeBSD libexec things"
+SLOT="0"
+
+if [[ ${PV} != *9999* ]]; then
+ KEYWORDS="~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+fi
+
+EXTRACTONLY="
+ libexec/
+ usr.bin/
+ bin/
+ contrib/blacklist/
+ contrib/dma/
+ contrib/hyperv/
+ contrib/telnet/
+ lib/
+ etc/
+ usr.sbin/
+"
+
+RDEPEND="=sys-freebsd/freebsd-lib-${RV}*
+ >=sys-freebsd/freebsd-lib-9.1-r11[${MULTILIB_USEDEP}]
+ pam? ( virtual/pam )"
+DEPEND="${RDEPEND}
+ =sys-freebsd/freebsd-mk-defs-${RV}*
+ =sys-freebsd/freebsd-sources-${RV}*"
+RDEPEND="${RDEPEND}
+ xinetd? ( sys-apps/xinetd )"
+
+S="${WORKDIR}/libexec"
+
+# Remove sendmail, tcp_wrapper and other useless stuff
+REMOVE_SUBDIRS="smrsh mail.local tcpd telnetd rshd rlogind ftpd"
+
+IUSE="pam ssl kerberos ipv6 nis xinetd"
+
+PATCHES=( "${FILESDIR}/${PN}-10.2-atf-check.patch" )
+
+pkg_setup() {
+ use ipv6 || mymakeopts="${mymakeopts} WITHOUT_INET6= WITHOUT_INET6_SUPPORT= "
+ use kerberos || mymakeopts="${mymakeopts} WITHOUT_KERBEROS_SUPPORT= "
+ use nis || mymakeopts="${mymakeopts} WITHOUT_NIS= "
+ use pam || mymakeopts="${mymakeopts} WITHOUT_PAM_SUPPORT= "
+ use ssl || mymakeopts="${mymakeopts} WITHOUT_OPENSSL= "
+
+ mymakeopts="${mymakeopts} WITHOUT_SENDMAIL= WITHOUT_PF= WITHOUT_RCMDS= "
+
+ if has_version "<sys-freebsd/freebsd-libexec-11.0"; then
+ REMOVE_SUBDIRS="${REMOVE_SUBDIRS} rpc.rstatd ulog-helper"
+ fi
+
+ if has_version "<sys-freebsd/freebsd-ubin-11.0"; then
+ mymakeopts="${mymakeopts} WITHOUT_MAN_UTILS= "
+ fi
+
+ if has_version "<sys-freebsd/freebsd-share-${RV}"; then
+ die ">=sys-freebsd/freebsd-share-${RV} is required."
+ fi
+}
+
+src_prepare() {
+ # gcc-5.0 or later, Workaround for critical issue. bug 573358.
+ [[ "$(gcc-major-version)" -ge 5 ]] && replace-flags -O? -O1
+
+ if [[ ! -e "${WORKDIR}/include" ]]; then
+ ln -s /usr/include "${WORKDIR}/include" || die "Symlinking /usr/include.."
+ fi
+ # allow upgrade directly from 9.x to 10.2.
+ if has_version "<sys-freebsd/freebsd-lib-${RV}"; then
+ # taken from sys/sys/elf_common.h
+ echo "#define DF_1_INTERPOSE 0x00000400" >> "${S}"/rtld-elf/rtld.h
+ echo "#define STT_GNU_IFUNC 10" >> "${S}"/rtld-elf/rtld.h
+ echo "#define R_386_IRELATIVE 42" >> "${S}"/rtld-elf/rtld.h
+ echo "#define PT_GNU_RELRO 0x6474e552" >> "${S}"/rtld-elf/rtld.h
+ echo "#define DF_1_NODEFLIB 0x00000800" >> "${S}"/rtld-elf/rtld.h
+ echo "#define NT_FREEBSD_ABI_TAG 1" >> "${S}"/rtld-elf/rtld.h
+ echo "#define NT_FREEBSD_NOINIT_TAG 2" >> "${S}"/rtld-elf/rtld.h
+ # taken from sys/sys/fcntl.h
+ echo "#define F_DUPFD_CLOEXEC 17" >> "${S}"/rtld-elf/rtld.h
+ echo "#define O_VERIFY 0x00200000" >> "${S}"/rtld-elf/rtld.h
+ # taken from sys/sys/cdefs.h
+ echo '#define __compiler_membar() __asm __volatile(" " : : : "memory")' >> "${S}"/rtld-elf/rtld.h
+ # taken from sys/sys/mman.h
+ echo '#define MAP_ALIGNED(n) ((n) << MAP_ALIGNMENT_SHIFT)' >> "${S}"/rtld-elf/rtld.h
+ echo '#define MAP_ALIGNMENT_SHIFT 24' >> "${S}"/rtld-elf/rtld.h
+ echo '#define MAP_ALIGNMENT_MASK MAP_ALIGNED(0xff)' >> "${S}"/rtld-elf/rtld.h
+ echo '#define MAP_ALIGNED_SUPER MAP_ALIGNED(1)' >> "${S}"/rtld-elf/rtld.h
+
+ export mymakeopts="${mymakeopts} WITHOUT_SYMVER= WITHOUT_BLACKLIST_SUPPORT= "
+ fi
+}
+
+setup_multilib_vars() {
+ if ! multilib_is_native_abi ; then
+ cd "${WORKDIR}/libexec/rtld-elf" || die
+ export mymakeopts="${mymakeopts} PROG=ld-elf32.so.1"
+ else
+ cd "${S}" || die
+ fi
+ "$@"
+}
+
+src_compile() {
+ local MULTIBUILD_VARIANTS=( $(multilib_get_enabled_abis) )
+ multibuild_foreach_variant freebsd_multilib_multibuild_wrapper setup_multilib_vars freebsd_src_compile
+}
+
+src_install() {
+ local MULTIBUILD_VARIANTS=( $(multilib_get_enabled_abis) )
+ multibuild_foreach_variant freebsd_multilib_multibuild_wrapper setup_multilib_vars freebsd_src_install
+
+ insinto /etc
+ doins "${WORKDIR}/etc/gettytab"
+ newinitd "${FILESDIR}/bootpd.initd" bootpd
+ newconfd "${FILESDIR}/bootpd.confd" bootpd
+
+ if use xinetd; then
+ for rpcd in rstatd rusersd walld rquotad sprayd; do
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}/${rpcd}.xinetd" ${rpcd}
+ done
+ fi
+}