From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id D33E51393DD for ; Sun, 13 Jul 2014 03:14:17 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 4D886E0817; Sun, 13 Jul 2014 03:14:16 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 3C0C5E07FD for ; Sun, 13 Jul 2014 03:14:14 +0000 (UTC) Received: from spoonbill.gentoo.org (spoonbill.gentoo.org [81.93.255.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id D773633FE66 for ; Sun, 13 Jul 2014 03:14:13 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by spoonbill.gentoo.org (Postfix) with ESMTP id 6824C1807D for ; Sun, 13 Jul 2014 03:14:12 +0000 (UTC) From: "Yuta SATOH" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Yuta SATOH" Message-ID: <1400314215.74881830e57b56b7a52a5823d3331bc8b68586ce.yuta_satoh@gentoo> Subject: [gentoo-commits] proj/gentoo-bsd:master commit in: sys-freebsd/freebsd-rescue/, sys-freebsd/freebsd-pf/, sys-freebsd/freebsd-ubin/, ... X-VCS-Repository: proj/gentoo-bsd X-VCS-Files: sys-freebsd/boot0/Manifest sys-freebsd/boot0/boot0-9.9999.ebuild sys-freebsd/freebsd-bin/Manifest sys-freebsd/freebsd-bin/freebsd-bin-9.9999.ebuild sys-freebsd/freebsd-cddl/Manifest sys-freebsd/freebsd-cddl/freebsd-cddl-9.9999.ebuild sys-freebsd/freebsd-contrib/Manifest sys-freebsd/freebsd-contrib/freebsd-contrib-9.9999.ebuild sys-freebsd/freebsd-lib/Manifest sys-freebsd/freebsd-lib/freebsd-lib-9.9999.ebuild sys-freebsd/freebsd-libexec/Manifest sys-freebsd/freebsd-libexec/freebsd-libexec-9.9999.ebuild sys-freebsd/freebsd-mk-defs/Manifest sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-9.9999.ebuild sys-freebsd/freebsd-pam-modules/Manifest sys-freebsd/freebsd-pam-modules/freebsd-pam-modules-9.9999.ebuild sys-freebsd/freebsd-pf/Manifest sys-freebsd/freebsd-pf/freebsd-pf-9.9999.ebuild sys-freebsd/freebsd-rescue/Manifest sys-freebsd/freebsd-rescue/freebsd-rescue-9.9999.ebuild sys-freebsd/freebsd-sbin/Manifest sys-freebsd/freebsd-sbin/freebsd-sbin-9.9999.ebuild sys-freebsd/freebs d-share/Manifest sys-freebsd/freebsd-share/freebsd-share-9.9999.ebuild sys-freebsd/freebsd-sources/Manifest sys-freebsd/freebsd-sources/freebsd-sources-9.9999.ebuild sys-freebsd/freebsd-ubin/Manifest sys-freebsd/freebsd-ubin/freebsd-ubin-9.9999.ebuild sys-freebsd/freebsd-usbin/Manifest sys-freebsd/freebsd-usbin/freebsd-usbin-9.9999.ebuild X-VCS-Directories: sys-freebsd/freebsd-rescue/ sys-freebsd/freebsd-pf/ sys-freebsd/freebsd-ubin/ sys-freebsd/freebsd-usbin/ sys-freebsd/boot0/ sys-freebsd/freebsd-lib/ sys-freebsd/freebsd-contrib/ sys-freebsd/freebsd-share/ sys-freebsd/freebsd-pam-modules/ sys-freebsd/freebsd-bin/ sys-freebsd/freebsd-sources/ sys-freebsd/freebsd-libexec/ sys-freebsd/freebsd-cddl/ sys-freebsd/freebsd-sbin/ sys-freebsd/freebsd-mk-defs/ X-VCS-Committer: yuta_satoh X-VCS-Committer-Name: Yuta SATOH X-VCS-Revision: 74881830e57b56b7a52a5823d3331bc8b68586ce X-VCS-Branch: master Date: Sun, 13 Jul 2014 03:14:12 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 470d4f30-ba5d-49aa-9a24-202989bb5b54 X-Archives-Hash: 380c3f2dd36c2f1a460d7f09ede4fd73 commit: 74881830e57b56b7a52a5823d3331bc8b68586ce Author: Yuta SATOH gentoo gr jp> AuthorDate: Sat May 17 08:10:15 2014 +0000 Commit: Yuta SATOH 0x100 com> CommitDate: Sat May 17 08:10:15 2014 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-bsd.git;a=commit;h=74881830 added sys-freebsd/*-9.9999: import from latest tree (9.2 ebuild) --- sys-freebsd/boot0/Manifest | 1 + sys-freebsd/boot0/boot0-9.9999.ebuild | 72 +++ sys-freebsd/freebsd-bin/Manifest | 1 + sys-freebsd/freebsd-bin/freebsd-bin-9.9999.ebuild | 37 ++ sys-freebsd/freebsd-cddl/Manifest | 1 + .../freebsd-cddl/freebsd-cddl-9.9999.ebuild | 63 +++ sys-freebsd/freebsd-contrib/Manifest | 1 + .../freebsd-contrib/freebsd-contrib-9.9999.ebuild | 46 ++ sys-freebsd/freebsd-lib/Manifest | 1 + sys-freebsd/freebsd-lib/freebsd-lib-9.9999.ebuild | 601 +++++++++++++++++++++ sys-freebsd/freebsd-libexec/Manifest | 1 + .../freebsd-libexec/freebsd-libexec-9.9999.ebuild | 85 +++ sys-freebsd/freebsd-mk-defs/Manifest | 1 + .../freebsd-mk-defs/freebsd-mk-defs-9.9999.ebuild | 40 ++ sys-freebsd/freebsd-pam-modules/Manifest | 1 + .../freebsd-pam-modules-9.9999.ebuild | 47 ++ sys-freebsd/freebsd-pf/Manifest | 1 + sys-freebsd/freebsd-pf/freebsd-pf-9.9999.ebuild | 69 +++ sys-freebsd/freebsd-rescue/Manifest | 1 + .../freebsd-rescue/freebsd-rescue-9.9999.ebuild | 76 +++ sys-freebsd/freebsd-sbin/Manifest | 1 + .../freebsd-sbin/freebsd-sbin-9.9999.ebuild | 94 ++++ sys-freebsd/freebsd-share/Manifest | 1 + .../freebsd-share/freebsd-share-9.9999.ebuild | 91 ++++ sys-freebsd/freebsd-sources/Manifest | 1 + .../freebsd-sources/freebsd-sources-9.9999.ebuild | 112 ++++ sys-freebsd/freebsd-ubin/Manifest | 1 + .../freebsd-ubin/freebsd-ubin-9.9999.ebuild | 183 +++++++ sys-freebsd/freebsd-usbin/Manifest | 1 + .../freebsd-usbin/freebsd-usbin-9.9999.ebuild | 180 ++++++ 30 files changed, 1811 insertions(+) diff --git a/sys-freebsd/boot0/Manifest b/sys-freebsd/boot0/Manifest index 95966a2..055d5cf 100644 --- a/sys-freebsd/boot0/Manifest +++ b/sys-freebsd/boot0/Manifest @@ -1,2 +1,3 @@ AUX boot0-9.2-gcc46.patch 2119 SHA256 745245270e8ac2e8a1084f1785bb31ce7a5d2c7242f762260ad9a97fa02970f5 SHA512 ee834269bdc4a79da6854f59fe896b8e13efd1f60d97aefc8829cd1137f8f84810bba4344aac79424a4f31503a1a8579caf468e83a60d127d81f5d10fcbc4ae9 WHIRLPOOL 0c057ffe2baa7cb1b74912cebed5ec5f31adee7780a77993b40bad256e89baf3ed4dc18567c263bfed9a76e63e274072945e37dd729ac62c8538ab7678e4dfe1 EBUILD boot0-10.0.9999.ebuild 1772 SHA256 00b21d6078ed8a67649ec0f9b7f2c0b20e0f0bdeac9ccf29c64b563f48fc6bf2 SHA512 2eea99df63f70b0b63e1880baec0563cbbc0ff9ad2a66641f56001a560da4b980518d06681951c584118d4f5cc39cbc680b30997d05010bb8a399d592ba6513f WHIRLPOOL 34dafb6ebb5a6c383642838ce3a21901a57dd1d20b64266997702764632dc735f53bd537651487ec2cbba1c8faa0bf9d3a4348b3939652241aaca05439f7d93f +EBUILD boot0-9.9999.ebuild 1687 SHA256 6bb920bb7a808a440483769cb3c09ee85e2d290ea673f2edd9ce9c0638ef6bc8 SHA512 7d16bd698f5afaef09777b4c46abca70c973b4e7785e4adc3ceb40b441972ec8ac483c74b242396afd2f70082c74142ecd34aa3b367f412f3b29d12747342f5e WHIRLPOOL 06b1a3d2b86543225f51b23882542e295a029699b391a12b8b3082f3362a2a170b02182cf1ce71c9a904e813de92eecc0d3ad9734d73d0c3908fbd680cec58d8 diff --git a/sys-freebsd/boot0/boot0-9.9999.ebuild b/sys-freebsd/boot0/boot0-9.9999.ebuild new file mode 100644 index 0000000..f83fd9d --- /dev/null +++ b/sys-freebsd/boot0/boot0-9.9999.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +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" + SRC_URI="mirror://gentoo/${SYS}.tar.bz2 + mirror://gentoo/${LIB}.tar.bz2 + mirror://gentoo/${CONTRIB}.tar.bz2" +fi + +RDEPEND="" +DEPEND="=sys-freebsd/freebsd-mk-defs-${RV}* + =sys-freebsd/freebsd-lib-${RV}*" + +S="${WORKDIR}/sys/boot" + +PATCHES=( "${FILESDIR}/${PN}-9.2-gcc46.patch" ) + +boot0_use_enable() { + use ${1} && mymakeopts="${mymakeopts} LOADER_${2}_SUPPORT=\"yes\"" +} + +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 '/-fomit-frame-pointer/d' -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 +} + +src_compile() { + strip-flags + append-flags "-fno-strict-aliasing" + + cd "${WORKDIR}/lib/libstand" || die + freebsd_src_compile + + cd "${S}" + CFLAGS="${CFLAGS} -I${WORKDIR}/lib/libstand" + LDFLAGS="${LDFLAGS} -L${WORKDIR}/lib/libstand" + export LIBSTAND="${WORKDIR}/lib/libstand/libstand.a" + 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 + + echo 'CONFIG_PROTECT="/boot/device.hints"' > "${T}"/50boot0 + doenvd "${T}"/50boot0 +} diff --git a/sys-freebsd/freebsd-bin/Manifest b/sys-freebsd/freebsd-bin/Manifest index db27adc..3bd9deb 100644 --- a/sys-freebsd/freebsd-bin/Manifest +++ b/sys-freebsd/freebsd-bin/Manifest @@ -1 +1,2 @@ EBUILD freebsd-bin-10.0.9999.ebuild 899 SHA256 50597db60e48c9c12b3bbc5b27af2b5b50c5e02fc810ddecf341b99f9d867934 SHA512 ba96121a11bf381525a1eacfc55bc3aaf867c79d4666fa050a4f3143e7a5a82eb0916dbe62d5dc29b146adc336b0b44101144bd1784179f8f3d204f18687f4ab WHIRLPOOL acd5685ba8fedaca0b8abfdae789d33bb11d32c1cba46c34f8b049b3b5b7207d1ef0c8b0f8ba9c55233159426cef7a43ce5abf72f328bd8241fff17d02cd1d79 +EBUILD freebsd-bin-9.9999.ebuild 879 SHA256 7e4e7f5bafd7f5fa783f569d7342f7dc591683d2dcde820442ecc9ff0dccee27 SHA512 06d885e48911bfbbaae7977cc1bdaa6ea0807719c623db523569f7d28cb86bf023d213ba44e8a05a1cae7c235d2865dbaadbd2cd54589eee7849c40c7a47129f WHIRLPOOL 301b086c677b2045f7f0316d6b1d20d97bda1c5ebb448b8fbc0c07df0e80b71f27353088af958dee1e41a1e90dbe86a75a575bd898ed977bee345567cc343192 diff --git a/sys-freebsd/freebsd-bin/freebsd-bin-9.9999.ebuild b/sys-freebsd/freebsd-bin/freebsd-bin-9.9999.ebuild new file mode 100644 index 0000000..14c6e7b --- /dev/null +++ b/sys-freebsd/freebsd-bin/freebsd-bin-9.9999.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit bsdmk freebsd + +DESCRIPTION="FreeBSD /bin tools" +SLOT="0" + +IUSE="" + +if [[ ${PV} != *9999* ]]; then + KEYWORDS="~amd64-fbsd ~sparc-fbsd ~x86-fbsd" + SRC_URI="mirror://gentoo/${BIN}.tar.bz2 + mirror://gentoo/${UBIN}.tar.bz2 + mirror://gentoo/${SBIN}.tar.bz2 + mirror://gentoo/${LIB}.tar.bz2" +fi + +RDEPEND="=sys-freebsd/freebsd-lib-${RV}* + >=dev-libs/libedit-20120311.3.0-r1 + sys-libs/ncurses + sys-apps/ed + !app-misc/realpath + ! /dev/null | grep -q GNU; then + sed -i.bak -e 's:${INSTALL} -C:${INSTALL}:' "${WORKDIR}/include/Makefile" + fi + + # Try to fix sed calls for GNU sed. Do it only with GNU userland and force + # BSD's sed on BSD. + cd "${S}" + if use userland_GNU; then + find . -name Makefile -exec sed -ibak 's/sed -i /sed -i/' {} \; + fi +} + +bootstrap_lib() { + for i ; do + cd "${WORKDIR}/${i}" || die "missing ${i}" + freebsd_src_compile + append-ldflags "-L${MAKEOBJDIRPREFIX}/${WORKDIR}/${i}" + done +} + +get_csudir() { + if [ -d "${WORKDIR}/lib/csu/$1-elf" ]; then + echo "lib/csu/$1-elf" + else + echo "lib/csu/$1" + fi +} + +bootstrap_csu() { + local csudir="$(get_csudir $(tc-arch-kernel ${CTARGET}))" + export RAW_LDFLAGS=$(raw-ldflags) + bootstrap_lib "${csudir}" + + CFLAGS="${CFLAGS} -B ${MAKEOBJDIRPREFIX}/${WORKDIR}/${csudir}" + append-ldflags "-B ${MAKEOBJDIRPREFIX}/${WORKDIR}/${csudir}" + + bootstrap_lib "gnu/lib/csu" + + cd "${MAKEOBJDIRPREFIX}/${WORKDIR}/gnu/lib/csu" + for i in *.So ; do + ln -s $i ${i%.So}S.o + done + CFLAGS="${CFLAGS} -B ${MAKEOBJDIRPREFIX}/${WORKDIR}/gnu/lib/csu" + append-ldflags "-B ${MAKEOBJDIRPREFIX}/${WORKDIR}/gnu/lib/csu" +} + +# Compile libssp_nonshared.a and add it's path to LDFLAGS. +bootstrap_libssp_nonshared() { + bootstrap_lib "gnu/lib/libssp/libssp_nonshared" + export LDADD="-lssp_nonshared" +} + +bootstrap_libgcc() { + bootstrap_lib "lib/libcompiler_rt" + cd "${MAKEOBJDIRPREFIX}/${WORKDIR}/lib/libcompiler_rt" || die + ln -s libcompiler_rt.a libgcc.a || die + + bootstrap_lib "lib/libc" "gnu/lib/libgcc" +} + +bootstrap_libthr() { + bootstrap_lib "lib/libthr" + cd "${MAKEOBJDIRPREFIX}/${WORKDIR}/lib/libthr" || die + ln -s libthr.so libpthread.so +} + +# What to build for a cross-compiler. +# We also need the csu but this has to be handled separately. +CROSS_SUBDIRS="lib/libc lib/msun gnu/lib/libssp/libssp_nonshared lib/libthr lib/libutil lib/librt" + +# What to build for non-default ABIs. +NON_NATIVE_SUBDIRS="${CROSS_SUBDIRS} gnu/lib/csu lib/libcompiler_rt gnu/lib/libgcc lib/libmd lib/libcrypt lib/libsbuf lib/libcam lib/libelf" + +# Subdirs for a native build: +NATIVE_SUBDIRS="lib gnu/lib/libssp/libssp_nonshared gnu/lib/libregex gnu/lib/csu gnu/lib/libgcc" + +# Is my $ABI native ? +is_native_abi() { + is_crosscompile && return 1 + multilib_is_native_abi +} + +# Do we need to bootstrap the csu and libssp_nonshared? +need_bootstrap() { + is_crosscompile || use build || { ! is_native_abi && ! has_version '>=sys-freebsd/freebsd-lib-9.1-r8[multilib]' && ! has_version ">=sys-freebsd/freebsd-lib-9.1-r11[${MULTILIB_USEDEP}]" ; } || has_version "<${CATEGORY}/${P}" +} + +# Get the subdirs we are building. +get_subdirs() { + local ret="" + if is_native_abi ; then + # If we are building for the native ABI, build everything + ret="${NATIVE_SUBDIRS}" + elif is_crosscompile ; then + # With a cross-compiler we only build the very core parts. + ret="${CROSS_SUBDIRS}" + if [ "${EBUILD_PHASE}" = "install" ]; then + # Add the csu dir first when installing. We treat it separately for + # compiling. + ret="$(get_csudir $(tc-arch-kernel ${CTARGET})) ${ret}" + fi + else + # For the non-native ABIs we only build the csu parts and very core + # libraries for now. + ret="${NON_NATIVE_SUBDIRS} $(get_csudir $(tc-arch-kernel ${CHOST}))" + fi + echo "${ret}" +} + +# Bootstrap the core libraries and setup the flags so that the other parts can +# build against it. +do_bootstrap() { + einfo "Bootstrapping on ${CHOST} for ${CTARGET}" + if ! is_crosscompile ; then + # Pre-install headers, but not when building a cross-compiler since we + # assume they have been installed in the previous pass. + einfo "Pre-installing includes in include_proper_${ABI}" + mkdir "${WORKDIR}/include_proper_${ABI}" || die + CTARGET="${CHOST}" install_includes "/include_proper_${ABI}" + CFLAGS="${CFLAGS} -isystem ${WORKDIR}/include_proper_${ABI}" + fi + bootstrap_csu + bootstrap_libssp_nonshared + is_crosscompile && bootstrap_lib "lib/libc" + is_crosscompile || is_native_abi || bootstrap_libgcc + is_native_abi || bootstrap_libthr +} + +# Compile it. Assume we have the toolchain setup correctly. +do_compile() { + # Bootstrap if needed, otherwise assume the system headers are in + # /usr/include. + if need_bootstrap ; then + do_bootstrap + else + CFLAGS="${CFLAGS} -isystem /usr/include" + fi + + export RAW_LDFLAGS=$(raw-ldflags) + + # Everything is now setup, build it! + for i in $(get_subdirs) ; do + einfo "Building in ${i}... with CC=${CC} and CFLAGS=${CFLAGS}" + cd "${WORKDIR}/${i}/" || die "missing ${i}." + freebsd_src_compile || die "make ${i} failed" + done +} + +src_compile() { + # Does not work with GNU sed + # Force BSD's sed on BSD. + if use userland_BSD ; then + export ESED=/usr/bin/sed + unalias sed + fi + + use usb && export NON_NATIVE_SUBDIRS="${NON_NATIVE_SUBDIRS} lib/libusb lib/libusbhid" + + cd "${WORKDIR}/include" + $(freebsd_get_bmake) CC="$(tc-getCC)" || die "make include failed" + + use crosscompile_opts_headers-only && return 0 + + # Bug #270098 + append-flags $(test-flags -fno-strict-aliasing) + + # Bug #324445 + append-flags $(test-flags -fno-strict-overflow) + + # strip flags and do not do it later, we only add safe, and in fact + # needed flags after all + strip-flags + export NOFLAGSTRIP=yes + if is_crosscompile ; then + export YACC='yacc -by' + CHOST=${CTARGET} tc-export CC LD CXX RANLIB + mymakeopts="${mymakeopts} NLS=" + CFLAGS="${CFLAGS} -isystem /usr/${CTARGET}/usr/include" + append-ldflags "-L${WORKDIR}/${CHOST}/${WORKDIR}/lib/libc" + fi + + if is_crosscompile ; then + do_compile + else + local MULTIBUILD_VARIANTS=( $(multilib_get_enabled_abis) ) + multibuild_foreach_variant freebsd_multilib_multibuild_wrapper do_compile + fi +} + +gen_libc_ldscript() { + # Parameters: + # $1 = target libdir + # $2 = source libc dir + # $3 = source libssp_nonshared dir + + # Clear the symlink. + rm -f "${D}/$2/libc.so" || die + + # Move the library if needed + if [ "$1" != "$2" ] ; then + mv "${D}/$2/libc.so.7" "${D}/$1/" || die + fi + + # Generate libc.so ldscript for inclusion of libssp_nonshared.a when linking + # this is done to avoid having to touch gcc spec file as it is currently + # done on FreeBSD upstream, mostly because their binutils aren't able to + # cope with linker scripts yet. + # Taken from toolchain-funcs.eclass: + local output_format + output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p') + [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )" + + cat > "${D}/$2/libc.so" <<-END_LDSCRIPT +/* GNU ld script + SSP (-fstack-protector) requires __stack_chk_fail_local to be local. + GCC invokes this symbol in a non-PIC way, which results in TEXTRELs if + this symbol was provided by a shared libc. So we link in + libssp_nonshared.a from here. + */ +${output_format} +GROUP ( /$1/libc.so.7 /$3/libssp_nonshared.a ) +END_LDSCRIPT +} + +header_list="" + +move_header() { + local dirname=$(dirname ${1}) + local filename=$(basename ${1}) + + if [ ! -d "${dirname}/${ABI}" ] ; then + mkdir "${dirname}/${ABI}" || die + fi + + mv "${1}" "${dirname}/${ABI}/" || die + + export header_list="${header_list} ${1}" +} + +make_header_template() { + cat <<-END_HEADER +/* + * Wrapped header for multilib support. + * See the real headers included below. + */ + +#if defined(__x86_64__) + @ABI_amd64_fbsd@ +#elif defined(__i386__) + @ABI_x86_fbsd@ +#else + @ABI_${DEFAULT_ABI}@ +#endif +END_HEADER +} + +wrap_header() { + local dirname=$(dirname ${1}) + local filename=$(basename ${1}) + + if [ -n "${dirname#.}" ] ; then + dirname="${dirname}/${2}" + else + dirname="${2}" + fi + + if [ -f "${dirname}/${filename}" ] ; then + sed -e "s:@ABI_${2}@:#include <${dirname}/${filename}>:" ${1} + else + cat ${1} + fi +} + +wrap_header_end() { + sed -e "s:@ABI_.*@:#error \"Sorry, no support for your ABI.\":" ${1} +} + +do_install() { + if is_crosscompile ; then + INCLUDEDIR="/usr/${CTARGET}/usr/include" + else + INCLUDEDIR="/usr/include" + fi + + dodir ${INCLUDEDIR} + CTARGET="${CHOST}" \ + install_includes ${INCLUDEDIR} + + is_crosscompile && use crosscompile_opts_headers-only && return 0 + + for i in $(get_subdirs) ; do + einfo "Installing in ${i}..." + cd "${WORKDIR}/${i}/" || die "missing ${i}." + freebsd_src_install || die "Install ${i} failed" + done + + if ! is_crosscompile ; then + if ! multilib_is_native_abi ; then + gen_libc_ldscript "usr/$(get_libdir)" "usr/$(get_libdir)" "usr/$(get_libdir)" + else + dodir "$(get_libdir)" + gen_libc_ldscript "$(get_libdir)" "usr/$(get_libdir)" "usr/$(get_libdir)" + fi + else + CHOST=${CTARGET} gen_libc_ldscript "usr/${CTARGET}/usr/lib" "usr/${CTARGET}/usr/lib" "usr/${CTARGET}/usr/lib" + # We're done for the cross libc here. + return 0 + fi + + # Install a libusb.pc for better compat with Linux's libusb + if use usb ; then + dodir /usr/$(get_libdir)/pkgconfig + sed -e "s:@LIBDIR@:/usr/$(get_libdir):" "${FILESDIR}/libusb.pc.in" > "${D}/usr/$(get_libdir)/pkgconfig/libusb.pc" || die + sed -e "s:@LIBDIR@:/usr/$(get_libdir):" "${FILESDIR}/libusb-1.0.pc.in" > "${D}/usr/$(get_libdir)/pkgconfig/libusb-1.0.pc" || die + fi + + # Generate ldscripts for core libraries that will go in / + multilib_is_native_abi && \ + gen_usr_ldscript -a alias cam geom ipsec jail kiconv \ + kvm m md procstat sbuf thr ufs util elf + + if [[ ${#MULTIBUILD_VARIANTS[@]} -gt 1 ]] ; then + cd "${D}/usr/include" + for i in machine/*.h fenv.h ; do + move_header ${i} + done + if multilib_is_native_abi ; then + # Supposedly the last one! + local uniq_headers="$(echo ${header_list} | tr ' ' '\n' | sort | uniq | tr '\n' ' ')" + for j in ${uniq_headers} ; do + make_header_template > ${j} + for i in $(get_all_abis) ; do + wrap_header ${j} ${i} > ${j}.new + cp ${j}.new ${j} + rm -f ${j}.new + done + wrap_header_end ${j} > ${j}.new + cp ${j}.new ${j} + rm -f ${j}.new + done + fi + fi +} + +src_install() { + if is_crosscompile ; then + einfo "Installing for ${CTARGET} in ${CHOST}.." + # From this point we need to force: get stripped with the correct tools, + # get tc-arch-kernel to return the right value, etc. + export CHOST=${CTARGET} + + mymakeopts="${mymakeopts} NO_MAN= \ + INCLUDEDIR=/usr/${CTARGET}/usr/include \ + SHLIBDIR=/usr/${CTARGET}/usr/lib \ + LIBDIR=/usr/${CTARGET}/usr/lib" + + dosym "usr/include" "/usr/${CTARGET}/sys-include" + do_install + + return 0 + else + export STRIP_MASK="*/usr/lib*/*crt*.o" + local MULTIBUILD_VARIANTS=( $(multilib_get_enabled_abis) ) + multibuild_foreach_variant freebsd_multilib_multibuild_wrapper do_install + fi + + cd "${WORKDIR}/etc/" + insinto /etc + doins nls.alias mac.conf netconfig + + # Install ttys file + local MACHINE="$(tc-arch-kernel)" + doins "etc.${MACHINE}"/* +} + +install_includes() +{ + local INCLUDEDIR="$1" + + # The idea is to be called from either install or unpack. + # During unpack it's required to install them as portage's user. + if [[ "${EBUILD_PHASE}" == "install" ]]; then + local DESTDIR="${D}" + BINOWN="root" + BINGRP="wheel" + else + local DESTDIR="${WORKDIR}" + [[ -z "${USER}" ]] && USER="portage" + BINOWN="${USER}" + [[ -z "${GROUPS}" ]] && GROUPS="portage" + BINGRP="${GROUPS}" + fi + + # Must exist before we use it. + [[ -d "${DESTDIR}${INCLUDEDIR}" ]] || die "dodir or mkdir ${INCLUDEDIR} before using install_includes." + cd "${WORKDIR}/include" + + local MACHINE="$(tc-arch-kernel)" + + einfo "Installing includes into ${INCLUDEDIR} as ${BINOWN}:${BINGRP}..." + $(freebsd_get_bmake) installincludes \ + MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE} \ + DESTDIR="${DESTDIR}" \ + INCLUDEDIR="${INCLUDEDIR}" BINOWN="${BINOWN}" \ + BINGRP="${BINGRP}" || die "install_includes() failed" + einfo "includes installed ok." + EXTRA_INCLUDES="lib/librtld_db lib/libutil lib/msun gnu/lib/libregex" + for i in $EXTRA_INCLUDES; do + einfo "Installing $i includes into ${INCLUDEDIR} as ${BINOWN}:${BINGRP}..." + cd "${WORKDIR}/$i" || die + $(freebsd_get_bmake) installincludes DESTDIR="${DESTDIR}" \ + MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE} \ + INCLUDEDIR="${INCLUDEDIR}" BINOWN="${BINOWN}" \ + BINGRP="${BINGRP}" || die "problem installing $i includes." + einfo "$i includes installed ok." + done +} diff --git a/sys-freebsd/freebsd-libexec/Manifest b/sys-freebsd/freebsd-libexec/Manifest index 7e3183a..da93434 100644 --- a/sys-freebsd/freebsd-libexec/Manifest +++ b/sys-freebsd/freebsd-libexec/Manifest @@ -8,3 +8,4 @@ AUX rusersd.xinetd 220 SHA256 271de1cad33a65a2a0e81e8983cbb1b7ab6e2e75bbf4c6e991 AUX sprayd.xinetd 216 SHA256 5b2c0e14c40c3d14f16f6fbe7b1f00d133bbae8ea27e548273a16d104afea24e SHA512 a49824ab0421560699901f54d9faf3f38fb6f8d8f63f05e33eb11da053278838e80eaabf5963b1c2a7292ba2d2118e1efd90954b2f3b2dc01b945fbadc6ce101 WHIRLPOOL 3869a0e4a9f03aa3654729e611a020421ec0beef2686ca8857b5ac3d50f8db26d7c1a5eb16e90aaf5b2b33e992915f7e9e504ce6bca9fd5862c2051a7172495f AUX walld.xinetd 215 SHA256 b7d8cb4b69809a2ea2f479f942c3d7752c5cb1e4b3b4b7b7b590f15616a774f0 SHA512 ab78d32e48d660649d3415a4432a5f3e98f8a6a8854791d1d828b0dc678f58e9f24532c264c5f5b039ccd706e0bb70c369ba9fb55fc9af9d3ed9b28e10b9e830 WHIRLPOOL 013b60056a8f5fe46eb4e00182fe0f391a2dc915312fe7e47eb372697526ed05a53e156159fd5dd3dcbf3db44a6591461c789af31ca0e1dd967537b785462802 EBUILD freebsd-libexec-10.0.9999.ebuild 2519 SHA256 9c2a8ea10adc7a7015a0a1be1a35556a07bc3329c81391416a3792efe88b2362 SHA512 959e6027da56dd075f2eab63905d972621746b4b59cfadfd9c3a28112011d4e6bf8d0524fec14992bf56f7ce1e8acc7874c50719cd3eb54d59391f5c8a856908 WHIRLPOOL 8c24bc3198ddf9a947feea6f9aa1bbf74272fdcf2a202dc759428e1b242416c3632c2b2dae6a2c64a894fffffff5003b2276e19036dfb81f8b3befc22db8d48b +EBUILD freebsd-libexec-9.9999.ebuild 2402 SHA256 7c671fc671bc17a5f62bbdf001d6aa0ea5c06556f2154713ca1ab141f8588c78 SHA512 ea1847228aa65bcae5299483f657e5bf2f65c8c4fb74cc6643cc20cf2eb8f808c2ad44270faa415784d0675b40e4e84cc7ab15dab1baf7c9fe0b1b78228c2c82 WHIRLPOOL c00a30d1ffe6cc174361e50d8db81158385548b1e7c5f08b2024a60442e0d49577e138d3457db5e4abf0b96152e6e680873ad0bee3a794057e9c9254d6c446a1 diff --git a/sys-freebsd/freebsd-libexec/freebsd-libexec-9.9999.ebuild b/sys-freebsd/freebsd-libexec/freebsd-libexec-9.9999.ebuild new file mode 100644 index 0000000..d0c9d60 --- /dev/null +++ b/sys-freebsd/freebsd-libexec/freebsd-libexec-9.9999.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit bsdmk freebsd pam multilib multibuild multilib-build + +DESCRIPTION="FreeBSD libexec things" +SLOT="0" + +if [[ ${PV} != *9999* ]]; then + KEYWORDS="~amd64-fbsd ~sparc-fbsd ~x86-fbsd" + SRC_URI="mirror://gentoo/${LIBEXEC}.tar.bz2 + mirror://gentoo/${UBIN}.tar.bz2 + mirror://gentoo/${BIN}.tar.bz2 + mirror://gentoo/${CONTRIB}.tar.bz2 + mirror://gentoo/${LIB}.tar.bz2 + mirror://gentoo/${ETC}.tar.bz2 + mirror://gentoo/${USBIN}.tar.bz2" +fi + +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 lukemftpd ftpd" + +IUSE="pam ssl kerberos ipv6 nis xinetd" + +PATCHES=( "${FILESDIR}/${PN}-9.2-no_ld32.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= " +} + +src_prepare() { + ln -s /usr/include "${WORKDIR}/include" +} + +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}" + 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 +} diff --git a/sys-freebsd/freebsd-mk-defs/Manifest b/sys-freebsd/freebsd-mk-defs/Manifest index 044e1f1..b9e4a71 100644 --- a/sys-freebsd/freebsd-mk-defs/Manifest +++ b/sys-freebsd/freebsd-mk-defs/Manifest @@ -7,3 +7,4 @@ AUX freebsd-mk-defs-9.1-gnu.patch 2273 SHA256 6b8ebbfd2ff724099d593a00dc226ca7f2 AUX freebsd-mk-defs-9.2-gentoo.patch 12160 SHA256 a1f6fbf7815130790726022ea5c4b41ac6b01925c8f9641c4c3ceee9f9d7013f SHA512 7c7cd5d8baecda1188441bcca90ee2852e7c6d2434f4da5e72f08cca13102cac22c777a03d51dacc3a9b2f4cabd722d0f53878f88aff108aaab4719b878ff81a WHIRLPOOL 2163f6fca01490244cb813cd11373434bcec6cb825284e2c7deed98b0c4baea45eb0cf71da629908322dff2f2a093d8e61b9a96f4b724ec8d8e4998b2e7512cd AUX freebsd-mk-defs-9.2-gnu.patch 2242 SHA256 95305f335a360549703c73056898e778640c30a60c9f6b104709e7fc0cf75926 SHA512 a5b5c341972bee204d2a5b1f59cefda03aa48fdb7c7c713ceb9d4477e266aecfd137c2101988c48c73c527652ff0828e0a60b8c474904b146238c640c25d7416 WHIRLPOOL 7f7a45ad858a0b1c0cb099cedef05772fb90a752567ec778ec6f379f04e2cc86a8d4756c5c70d18685d42346fe43088622977eced076cf2c5bdbfb90fbb53362 EBUILD freebsd-mk-defs-10.0.9999.ebuild 771 SHA256 0ca344fabe81b986b96dda8f26db350327a987ef22f89135469463893d3965cb SHA512 a289facabe6b13a086162de780df42f087d83dd132b0dcd4725c6faba644148ed09bde54105c94ed0916060cdac269ad11fe379d17b237969ff486b566168636 WHIRLPOOL ea3eb5d2ae4ce418f2c4b94c0aeef41e489b37d97b628e600fb7742100f8eb9fec3766f19b2c3b7271fa820ee96775fd432b890d679b0a5bbd82323fb6ebf241 +EBUILD freebsd-mk-defs-9.9999.ebuild 770 SHA256 7994ede1d1013b451d8e8910a1d89f16d963fbc28f2b75d0f586600a607f5f40 SHA512 127d7db37343996a51efe65e54d07d292d8af644e8ede36dd8f8a279f4491bde242cb0f42b3b38997a549a5b9cb55b3cb0379928a2d09ae78d766262797bfda7 WHIRLPOOL a8e26259ed6250e8ffdabb70d294705bb57f57091fa02f42fcd11d534965b56b1d28e751ad1b4344928a0cbf02c9cc01562661a3fdbdf69fdb02cb3f336c219f diff --git a/sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-9.9999.ebuild b/sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-9.9999.ebuild new file mode 100644 index 0000000..ef80add --- /dev/null +++ b/sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-9.9999.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +inherit bsdmk freebsd + +DESCRIPTION="Makefiles definitions used for building and installing libraries and system files" +SLOT="0" + +IUSE="userland_GNU" + +if [[ ${PV} != *9999* ]]; then + KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd" + SRC_URI="mirror://gentoo/${SHARE}.tar.bz2" +fi + +RDEPEND="" +DEPEND="" + +RESTRICT="strip" + +S="${WORKDIR}/share/mk" + +src_prepare() { + epatch "${FILESDIR}/${PN}-9.2-gentoo.patch" + use userland_GNU && epatch "${FILESDIR}/${PN}-9.2-gnu.patch" +} + +src_compile() { :; } + +src_install() { + if [[ ${CHOST} != *-freebsd* ]]; then + insinto /usr/share/mk/freebsd + else + insinto /usr/share/mk + fi + doins *.mk *.awk +} diff --git a/sys-freebsd/freebsd-pam-modules/Manifest b/sys-freebsd/freebsd-pam-modules/Manifest index 333f2a2..ff851f2 100644 --- a/sys-freebsd/freebsd-pam-modules/Manifest +++ b/sys-freebsd/freebsd-pam-modules/Manifest @@ -1,3 +1,4 @@ AUX README.pamd 2965 SHA256 2d3cea2b59ddee2ca6639ca7d14068e1499acee4194181c255bdfea81964d5ac SHA512 e278fd0a5056ae8c1de2f6104bfb4766adc89c7c357a4b965cb08ee555a071b326462c937fd63cd8fc7bd7e2a880f939cecdf2997a3d2c33c1b962afee12d38e WHIRLPOOL 8ee79582595a2b79f3936863bd5fdb144930380a4073a74ec81967b3a11d61a40ca0becaf36dfa760c0c6110efa2041a4acd6041615e0d006f032e1d9c819aff AUX freebsd-pam-modules-9.0-gentoo.patch 622 SHA256 b397d5d646712c4a63606d94c45d25551344872d77d7b6b5f646403a2b09f7fb SHA512 752b593a8bea623110683a181deefd7126eaded7bf94973bcd994b2415db5739cd69a125ee9bd0c960fd5a3e30e3a2eaf8c711893f94966a9cc5a9b0c3191af0 WHIRLPOOL 168b0ba47e9a326ff1db9cfe46724c83a45d744df0fa737599894ef1574b0e199c46e7626b16f5cc83cd4886fd79320c5f92e4c2b37801ef3604ffd4ec1b2de7 EBUILD freebsd-pam-modules-10.0.9999.ebuild 1124 SHA256 b631cab5061193c283ffa26c044d6554f8f1a4ff34713190b5c37f213fbd12fa SHA512 8af9f32f80ff40bf9bbfb2dea69694f13eedfb18e0d1619efea1f5438e572dba2c2099013fd7e5b09f79914c9a8504f2873fab94cde0094f633fc539c61d9d2b WHIRLPOOL a4ddf2176f0b497c83ea63f97340afe48d39ae9c932209ed269147b8235aa097282626c4552aa124e0c460ab289d6189d84b3f678e82dc6236a81ef787baab8f +EBUILD freebsd-pam-modules-9.9999.ebuild 1121 SHA256 4f555681667ac29a0d0abf3647c84e860f8b1537033d3e26202450425abff991 SHA512 2c12d700c43d144179bc40e840f79279f0a9e3860153ec0bfbf79cd4bdd268c27f611711018eb23610fb3faeef698af5933adb833e8a223afe4a4be8f5264399 WHIRLPOOL 1d03ce88a5c5fb0f8ad3f77d5e5b17ed13bc28dfaec9689677fa99a31a1c03625c694785754870e757dbbcff2fbec921bc0fa168bee121643dfc4a1b0d4774bc diff --git a/sys-freebsd/freebsd-pam-modules/freebsd-pam-modules-9.9999.ebuild b/sys-freebsd/freebsd-pam-modules/freebsd-pam-modules-9.9999.ebuild new file mode 100644 index 0000000..fb2c9c5 --- /dev/null +++ b/sys-freebsd/freebsd-pam-modules/freebsd-pam-modules-9.9999.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit bsdmk freebsd multilib pam + +DESCRIPTION="FreeBSD's PAM authentication modules" +SLOT="0" + +IUSE="kerberos nis" + +if [[ ${PV} != *9999* ]]; then + KEYWORDS="~amd64-fbsd ~sparc-fbsd ~x86-fbsd" + SRC_URI="mirror://gentoo/${LIB}.tar.bz2" +fi + +RDEPEND=">=sys-auth/openpam-20050201-r1 + kerberos? ( dev-libs/openssl + virtual/krb5 )" +DEPEND="${RDEPEND} + =sys-freebsd/freebsd-mk-defs-${RV}* + =sys-freebsd/freebsd-sources-${RV}*" + +S=${WORKDIR}/lib/libpam/modules + +PATCHES=( "${FILESDIR}"/${PN}-9.0-gentoo.patch ) + +pkg_setup() { + # Avoid installing pam_ssh as that has its own ebuild. + mymakeopts="${mymakeopts} NO_OPENSSH= " + use kerberos || mymakeopts="${mymakeopts} NO_KERBEROS= " + use nis || mymakeopts="${mymakeopts} NO_NIS= " +} + +src_unpack() { + freebsd_src_unpack + + for module in pam_deny pam_passwdqc pam_permit pam_krb5; do + sed -i -e "s:${module}::" "${S}"/modules.inc + done +} + +src_install() { + mkinstall "LIBDIR=/$(get_libdir)/security" || die "install failed" + + dodoc "${FILESDIR}/README.pamd" +} diff --git a/sys-freebsd/freebsd-pf/Manifest b/sys-freebsd/freebsd-pf/Manifest index b31b37f..d58102a 100644 --- a/sys-freebsd/freebsd-pf/Manifest +++ b/sys-freebsd/freebsd-pf/Manifest @@ -8,3 +8,4 @@ AUX freebsd-pf-9.0-pflogd.patch 332 SHA256 fc832fdfa406603a2cb185b8f0f746b13f767 AUX pf.confd 274 SHA256 dba0e34d34ef583b3a06499eae5f5dd9a73cacdb238915060735e24bd6c2c8eb SHA512 bf476bf7dc796307f2bf916e73780a6c70a2defd75f4dcbce664a99fdbb5aa69ce7004483073036a0c52fadcf9e7e7c8bcc902e9eacb7ac1963714740bdfc5e5 WHIRLPOOL fa87094a2339af4fc117840741e6460331c8de1d7ff656394701d58d0f362243788b1d6e650ee2cea34e9e4ad9c19f97996de8d01927808875384af2925a8adc AUX pf.initd 916 SHA256 b0cf7dadb825a1133fb52069e63eda10042aa62e3fa702bfbee53cd455837ac9 SHA512 cd55eccc9735f5a9e41297049a12c23b3fb4ef0987236b25bbfeeb01e7e0be697ff60fe8c9827dbb6a3da93211d6534e018a9693a6d1d48d60723738a21e7485 WHIRLPOOL babaa4fdcb885262ec9e89b9bd076aa4fec0c82764025d3192dda6986366b2f0169235c4c771510ea742444deb0c7bccf56f4ab23fb592351decae445b9cc158 EBUILD freebsd-pf-10.0.9999.ebuild 1678 SHA256 3bc74457178d6c6496c2080943e80de01853e45b4427e27ba10e53ad6c51b093 SHA512 f7eb1b7f5db59329cbe19b94db51d5372529e43a4e4e925d8fea1801d75220fb8c8073a40fb7d85240557c3a02b8239fc8dabfaaaefae1062afaab7679cf6128 WHIRLPOOL 287a0be6dac4bb133954829d35886c478768a5b81d6a7e416bf1c47cb1f6b24558145b757749f647d9326acfb95f99de79a5859b8323b1f3e02ac53cf9cc6610 +EBUILD freebsd-pf-9.9999.ebuild 1660 SHA256 0c10a014c0417b4b5bfb00a242b2c7f99b11443129ab4686dc2e43f4829e8b6b SHA512 6a85e40e23177e220e0f44c01732aa13a554b064478317891ed8af7668836ae80dcffc7b27a8c82f08a59b332e6bed067a34766fa003a1a624886ad510aa4a66 WHIRLPOOL 2de4e5fcfa95a729b1f359262525343d59549315f3a254500844e51d04f0dc817bc4db1cd8561b2ce0723054ba19352fa5e016caaa54451c56208be64b218ef0 diff --git a/sys-freebsd/freebsd-pf/freebsd-pf-9.9999.ebuild b/sys-freebsd/freebsd-pf/freebsd-pf-9.9999.ebuild new file mode 100644 index 0000000..c6289f9 --- /dev/null +++ b/sys-freebsd/freebsd-pf/freebsd-pf-9.9999.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit bsdmk freebsd user + +DESCRIPTION="FreeBSD's base system libraries" +SLOT="0" + +IUSE="" + +# Crypto is needed to have an internal OpenSSL header +if [[ ${PV} != *9999* ]]; then + KEYWORDS="~amd64-fbsd ~x86-fbsd" + SRC_URI="mirror://gentoo/${USBIN}.tar.bz2 + mirror://gentoo/${SBIN}.tar.bz2 + mirror://gentoo/${CONTRIB}.tar.bz2 + mirror://gentoo/${ETC}.tar.bz2" +fi + +RDEPEND="net-libs/libpcap" +DEPEND="${RDEPEND} + dev-libs/libevent + =sys-freebsd/freebsd-mk-defs-${RV}* + =sys-freebsd/freebsd-sources-${RV}*" + +S="${WORKDIR}" + +SUBDIRS="usr.sbin/authpf sbin/pfctl sbin/pflogd usr.sbin/ftp-proxy/ftp-proxy" + +pkg_setup() { + enewgroup authpf 63 + mymakeopts="${mymakeopts} NO_MANCOMPRESS= NO_INFOCOMPRESS= " +} + +src_unpack() { + freebsd_src_unpack + # pcap-int.h redefines snprintf as pcap_snprintf + epatch "${FILESDIR}/${PN}-9.0-pcap_pollution.patch" + # Use system's libevent + epatch "${FILESDIR}/${PN}-9.0-libevent.patch" + epatch "${FILESDIR}/${PN}-9.0-pflogd.patch" + epatch "${FILESDIR}/${PN}-9.0-bpf.patch" + epatch "${FILESDIR}/${PN}-9.0-getline.patch" + # Link in kernel sources + ln -s "/usr/src/sys" "${WORKDIR}/sys" +} + +src_compile() { + for dir in ${SUBDIRS}; do + einfo "Starting make in ${dir}" + cd "${S}/${dir}" + mkmake || die "Make ${dir} failed" + done +} + +src_install() { + for dir in ${SUBDIRS}; do + einfo "Starting install in ${dir}" + cd "${S}/${dir}" + mkinstall || die "Install ${dir} failed" + done + + cd "${WORKDIR}"/etc + insinto /etc + doins pf.os + # pf.initd provided by openrc, but no pf.confd + newconfd "${FILESDIR}/pf.confd" pf +} diff --git a/sys-freebsd/freebsd-rescue/Manifest b/sys-freebsd/freebsd-rescue/Manifest index bfb5df1..07c717e 100644 --- a/sys-freebsd/freebsd-rescue/Manifest +++ b/sys-freebsd/freebsd-rescue/Manifest @@ -6,3 +6,4 @@ AUX freebsd-rescue-9.1-bsdtar.patch 404 SHA256 0e71e3e370b33318bbb167e82d6507589 AUX freebsd-rescue-9.1-libcleverlink.patch 801 SHA256 53794263aabaf55cd570adbbfdb68e86a9e9b17557e8ca223d424a5c2f4f6831 SHA512 556bb68f3307dc7fb10096080db2d336ba4096ba6bebc6a1fe9449ab5298ce2c66fb53f11f0702ee75c2208b45a6e2cb366a3d774bedb65bcdb2a49f51c08fa3 WHIRLPOOL 88125b9143113b1f7049bf63a20a0c6d82fbe2c722198405830092b0a183f4bf7744420e6a82b601c8fb25911556c8f3a9088949798c7f66caf7843a5f9b2347 AUX freebsd-sbin-bsdxml2expat.patch 424 SHA256 f40f55bec52d0e3e0205c363ad624a1139a74d5de36f99ca2ff9e53583bc2287 SHA512 f455db40e528c9bf19a68a639d2c0b304371d66741ee852c279246647f43620fd33911787aa9721547e086cbaa7dafa85b1ee6571094593c74de15e2ccc2f522 WHIRLPOOL 9409fa6d31a1a9b7dad59a6bdd820319c8a895b27c130af7d29e0db969be6760c4ab7df952420fb4fca9445fe0433b3aca5377f509852261d0f6b4e5a2fbd72b EBUILD freebsd-rescue-10.0.9999.ebuild 1997 SHA256 4b669c20567d931f38f20c824b1c9a0a72bfdad998bd7616621289d8077e0586 SHA512 3d39ba10c1db1dc60924e31bb1a8b24436c4d0a8fb2371dc1e081e15c227de729f9be85952f75de21f8316086c8ef969da30863130e65e1e041e0e8f19f79187 WHIRLPOOL dbe509a3d8d6eac97b063382ce0f3aec073102253b21e36ae6df6c54ac534bb8c13178f255afa0066f5ffca3ef6d0f55b9cbf473ddbd6832a9724dbe7511699f +EBUILD freebsd-rescue-9.9999.ebuild 2007 SHA256 d06c193d43a23ad8537328ad450d03928cd3e55a2abbeaf89514f8487f6ba2a6 SHA512 f188c36bde9b899c9e9233053f4119809e70d6ace6ea55bfe54261622659f904a60dd57b896955d7d51a6c92d721dc5430d9f86ab4eabd908f032077b34a002a WHIRLPOOL 30aa4d9f8cc9fea4678d27a0c6246b858eb457d5c5e6c485dd39d62f59e80fb8c8fdf72b4844358dcb5833a38774c407a095a502a9b355fb03a697b023424de1 diff --git a/sys-freebsd/freebsd-rescue/freebsd-rescue-9.9999.ebuild b/sys-freebsd/freebsd-rescue/freebsd-rescue-9.9999.ebuild new file mode 100644 index 0000000..59f8633 --- /dev/null +++ b/sys-freebsd/freebsd-rescue/freebsd-rescue-9.9999.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit bsdmk freebsd toolchain-funcs + +DESCRIPTION="FreeBSD's rescue binaries" +SLOT="0" +LICENSE="BSD zfs? ( CDDL )" + +IUSE="atm netware nis zfs" + +if [[ ${PV} != *9999* ]]; then + KEYWORDS="~amd64-fbsd ~x86-fbsd" + SRC_URI="mirror://gentoo/${UBIN}.tar.bz2 + mirror://gentoo/${CONTRIB}.tar.bz2 + mirror://gentoo/${LIB}.tar.bz2 + mirror://gentoo/${BIN}.tar.bz2 + mirror://gentoo/${SBIN}.tar.bz2 + mirror://gentoo/${USBIN}.tar.bz2 + mirror://gentoo/${GNU}.tar.bz2 + mirror://gentoo/${SYS}.tar.bz2 + mirror://gentoo/${LIBEXEC}.tar.bz2 + mirror://gentoo/${RESCUE}.tar.bz2 + zfs? ( mirror://gentoo/${CDDL}.tar.bz2 )" +fi + +RDEPEND="" +DEPEND="sys-devel/flex + app-arch/xz-utils[static-libs] + sys-libs/ncurses[static-libs] + dev-libs/expat[static-libs] + app-arch/bzip2[static-libs] + dev-libs/libedit[static-libs] + dev-libs/libxml2:2[static-libs] + dev-libs/openssl[static-libs] + sys-libs/zlib[static-libs] + sys-libs/readline[static-libs] + =sys-freebsd/freebsd-lib-${RV}*[atm?,netware?] + =sys-freebsd/freebsd-sources-${RV}* + =sys-freebsd/freebsd-mk-defs-${RV}* + zfs? ( =sys-freebsd/freebsd-cddl-${RV}* )" + +S="${WORKDIR}/rescue" + +pkg_setup() { + use atm || mymakeopts="${mymakeopts} WITHOUT_ATM= " + use netware || mymakeopts="${mymakeopts} WITHOUT_IPX= " + use nis || mymakeopts="${mymakeopts} WITHOUT_NIS= " + use zfs || mymakeopts="${mymakeopts} WITHOUT_CDDL= " + mymakeopts="${mymakeopts} NO_PIC= " +} + +src_prepare() { + # As they are patches from ${WORKDIR} apply them by hand + cd "${WORKDIR}" + epatch "${FILESDIR}/${PN}"-7.1-zlib.patch + epatch "${FILESDIR}/freebsd-sbin-bsdxml2expat.patch" +} + +src_compile() { + tc-export CC + # crunchgen is now checks env MAKE. + # Use to force BSD's make + export MAKE=/usr/bin/make + + cd "${WORKDIR}/lib/libarchive" + echo "#include " > bsdxml.h + freebsd_src_compile + export CC="${CC} -L${WORKDIR}/lib/libarchive" + + cd "${S}" + freebsd_src_compile +} diff --git a/sys-freebsd/freebsd-sbin/Manifest b/sys-freebsd/freebsd-sbin/Manifest index ff255ab..837fdd3 100644 --- a/sys-freebsd/freebsd-sbin/Manifest +++ b/sys-freebsd/freebsd-sbin/Manifest @@ -7,3 +7,4 @@ AUX freebsd-sbin-bsdxml2expat.patch 424 SHA256 f40f55bec52d0e3e0205c363ad624a113 AUX freebsd-sbin-setXid.patch 541 SHA256 2d8158df7af52f9ce15f1513d16ed08ea6244f310aea3f271b12184a6a4c4267 SHA512 e6f1aefab22eca6941a5b62f6f9d9c82e0efc2b308ec636ecab40d9a678e87f2f6ccfefac99f5367ad8a16d18ddadf9a877a2f93697248b3f38a09edac75ec6e WHIRLPOOL a2d578ff3b54ad25875f65d6724d0762c0fc3a400aa8e14c93ab94dc789910fbc6ab70528cbd0074fd0d7a4957a2d2d51bf10f615cbfd751aa4e95edc88d4e7d AUX idmapd.initd 440 SHA256 e89050097731f658825b4a7215023e1c5070f0e31cfdf79eaf299ede9c9f9e39 SHA512 d76f1ed5b6cb0624359f0e1018b1decee80fec6e201393500656a2001034b042dde4299c2768ea8bfd1aa65813c86a5f9c06b5dd2e41ab74f954b8310d55259a WHIRLPOOL eeb04173b61c7e60883bd51e07be5f69aa67d6f4e506c3b3e07604e86cb43d81b5722e23e21ec189d83f2549a8827256216f45025ea5fd427b4874f2723c7a16 EBUILD freebsd-sbin-10.0.9999.ebuild 2723 SHA256 4e547ff6a7352ea0e0035cb77e967424a95ff1c265c1d0dbc4f6fe196fea772e SHA512 a1069aad64bffbddd0389927267d3a45537bb871a5a3ecf68909b5d65fd10afeb00382941249b98d5196161da412124283bae63ff25eb025adf694e34a2c6a67 WHIRLPOOL 02e319e6a04a1ec83e55bdc46a95738cdef506f531bec2585d9306b39ecccc6ba4cd08144ed11c73493f67baec266e3f18cf2b96795d4851908fc9a30c6ef789 +EBUILD freebsd-sbin-9.9999.ebuild 2686 SHA256 75d15f6b3d940ee8cea594a6fbbe3f071ced64636a533ae06e6de49a158ec3ae SHA512 80783f1a3fd38c244a8acddaa4a909cb2be0c7bc484100062b41976a32f09b8289cfe3233fafc986c0d3519146fe47e8709ffe0865fb708d569493fa79198ad6 WHIRLPOOL 536b7883024d431991ef4e9a10453c9aaf0a5baaaf42bc6badeae96712d664d7ca77694f0f75de38d9c4537b32da83086cb6f3161eb5ae18b857f8630eb51f27 diff --git a/sys-freebsd/freebsd-sbin/freebsd-sbin-9.9999.ebuild b/sys-freebsd/freebsd-sbin/freebsd-sbin-9.9999.ebuild new file mode 100644 index 0000000..8161ed4 --- /dev/null +++ b/sys-freebsd/freebsd-sbin/freebsd-sbin-9.9999.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +inherit bsdmk freebsd multilib + +DESCRIPTION="FreeBSD sbin utils" +SLOT="0" + +if [[ ${PV} != *9999* ]]; then + KEYWORDS="~amd64-fbsd ~sparc-fbsd ~x86-fbsd" + SRC_URI="mirror://gentoo/${SBIN}.tar.bz2 + mirror://gentoo/${CONTRIB}.tar.bz2 + mirror://gentoo/${LIB}.tar.bz2 + mirror://gentoo/${LIBEXEC}.tar.bz2 + mirror://gentoo/${USBIN}.tar.bz2 + mirror://gentoo/${ETC}.tar.bz2 + build? ( mirror://gentoo/${SYS}.tar.bz2 )" +fi + +RDEPEND="=sys-freebsd/freebsd-lib-${RV}*[ipv6?,atm?,netware?] + =sys-freebsd/freebsd-libexec-${RV}* + >=dev-libs/expat-2.0.1 + ssl? ( dev-libs/openssl ) + >=dev-libs/libedit-20120311.3.0-r1 + sys-libs/readline + sys-process/vixie-cron + atm? ( net-analyzer/bsnmp )" +DEPEND="${RDEPEND} + !build? ( =sys-freebsd/freebsd-sources-${RV}* ) + =sys-freebsd/freebsd-mk-defs-${RV}*" + +S="${WORKDIR}/sbin" + +IUSE="atm ipfilter +pf ipv6 build ssl +cxx netware" + +pkg_setup() { + use atm || mymakeopts="${mymakeopts} WITHOUT_ATM= " + use cxx || mymakeopts="${mymakeopts} WITHOUT_CXX=" + use ipfilter || mymakeopts="${mymakeopts} WITHOUT_IPFILTER= " + use ipv6 || mymakeopts="${mymakeopts} WITHOUT_INET6= WITHOUT_INET6_SUPPORT=" + use netware || mymakeopts="${mymakeopts} WITHOUT_IPX= WITHOUT_IPX_SUPPORT= WITHOUT_NCP= " + use pf || mymakeopts="${mymakeopts} WITHOUT_PF= " + use ssl || mymakeopts="${mymakeopts} WITHOUT_OPENSSL=" +} + +REMOVE_SUBDIRS="dhclient pfctl pflogd rcorder resolvconf" + +PATCHES=( "${FILESDIR}/${PN}-setXid.patch" + "${FILESDIR}/${PN}-7.1-zlib.patch" + "${FILESDIR}/${PN}-6.2-ldconfig.patch" + "${FILESDIR}/${PN}-6.1-pr102701.patch" + "${FILESDIR}/${PN}-bsdxml2expat.patch" ) + +src_prepare() { + use build || ln -s "/usr/src/sys" "${WORKDIR}/sys" +} + +src_install() { + mymakeopts="${mymakeopts} GEOM_CLASS_DIR=/$(get_libdir)/geom " + freebsd_src_install + keepdir /var/log + # Needed by ldconfig: + keepdir /var/run + + # Maybe ship our own sysctl.conf so things like radvd work out of the box. + # New wireless config method requires regdomain.xml in /etc + cd "${WORKDIR}/etc/" + insinto /etc + doins minfree sysctl.conf regdomain.xml || die + + # initd script for idmapd + newinitd "${FILESDIR}/idmapd.initd" idmapd + + # Install a crontab for adjkerntz + insinto /etc/cron.d + newins "${FILESDIR}/adjkerntz-crontab" adjkerntz + + # Install the periodic stuff (needs probably to be ported in a more + # gentooish way) + cd "${WORKDIR}/etc/periodic" + + doperiodic security \ + security/*.ipfwlimit \ + security/*.ipfwdenied || die + + use ipfilter && { doperiodic security \ + security/*.ipfdenied || die ; } + + use pf && { doperiodic security \ + security/*.pfdenied || die ; } +} diff --git a/sys-freebsd/freebsd-share/Manifest b/sys-freebsd/freebsd-share/Manifest index 7343846..84cd1e9 100644 --- a/sys-freebsd/freebsd-share/Manifest +++ b/sys-freebsd/freebsd-share/Manifest @@ -5,4 +5,5 @@ AUX freebsd-share-8.0-gnu-miscfiles.patch 858 SHA256 20b3761bd18d4ff8e7257ab006f AUX freebsd-share-9.0-gentoowaydir.patch 314 SHA256 68ddc9d6d95c95fc295f3ed3f7d7562de01ff6894b002bd7455d2da72cf4e2f2 SHA512 ef325e79806d78ede26567268829949de3aab02db1b7ea5f1dd834d4deeeddee8338679f7196fee6dc1a5682ccd79c1a0bdd73c96349961a8e1c2153fcf84afd WHIRLPOOL 10448b2cd090068b698d2d9037f2a217cdc20cebcfce4a13f98111ae4e4a2073ce4cb274ec3a7011c2e89acc1b2ab1b5e8e3d141817c065fdb35d1879ae31c37 AUX freebsd-share-9.2-gnu-miscfiles.patch 1022 SHA256 0484a9ea6d05eb8d26c33efac61928c399230d8bf71a374fa2ae5c22a1acf3d2 SHA512 b220c884a6e3bb9037a1817b3bb1bcf181b1493836dafbef98bf0973e9781d2e2e982d9e17eef78b24056038e985969ed08c471c9ba374557097086bfcff8f3e WHIRLPOOL ffa0400172e0834f31897738d426dd53df40e67612e51045cd899cd84cef018db6a14c8600233fe2e23699a708e73f1b6df7654089356bdaa62274f5fc11931b EBUILD freebsd-share-10.0.9999.ebuild 3043 SHA256 1a7c9dfcf8a1cab305808b29fa8f427b0a9f450aa05b4ae96ac8cf2d6e3ce554 SHA512 5fcf89942246ea345f3986a3ddde62a004443f1bbb7530c946ac8b1873ba62bc61727766ccc40b17a5542bef3ee691e5651c7070deb0c8059cbe641310e6f85a WHIRLPOOL dee8dc8eda79a508ee24b845d957ae02a3ddba46ebd5b825939c07ddbf96380c31d5ead653b367f2c19afb7b0bc6e061651329ff50768ca24d6bca4783a1771d +EBUILD freebsd-share-9.9999.ebuild 2739 SHA256 ccfd053e58a1fdd1f0e5f8f56bd4e4383a408fd778091d330b9df7a0241e6261 SHA512 1d9e354393934052ad8640b4aa6d050342b14e280039622f6c96f1222d81c7693432de84a517e0b33232af186e36452dfd217a000c203f8ff29c72c99abe6c51 WHIRLPOOL e6329a2149a27a70bc578186c435b8cda4c433821a9f5940bfaa0d658cd626419ac18e30753686e109f1a6909dab0a66d407ddb39cc8682a38a7b649213cf1bd MISC metadata.xml 223 SHA256 5c9860c4ce81b51fef51a6c5e87081bfd13e74ba452c27191a1abc0ca5ff0aa0 SHA512 3dc7fea8c9f850d63d4f9f24af639fb41d406c2e87439eb960c401412b37e7dc7ab6822d446ec113eb079aba30967391e95cd71dceb889753ed969bc51f6064e WHIRLPOOL 577570d1260a6ef86155c1647e3d90c18aa9b83a89027dcea28b70d22df60e413cee353083d7e915d81129f447772dc7dc4ea766e478a9cf363dabce5d9042de diff --git a/sys-freebsd/freebsd-share/freebsd-share-9.9999.ebuild b/sys-freebsd/freebsd-share/freebsd-share-9.9999.ebuild new file mode 100644 index 0000000..c371728 --- /dev/null +++ b/sys-freebsd/freebsd-share/freebsd-share-9.9999.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit bsdmk freebsd + +DESCRIPTION="FreeBSD shared tools/files" +SLOT="0" + +IUSE="doc zfs" + +if [[ ${PV} != *9999* ]]; then + KEYWORDS="~amd64-fbsd ~sparc-fbsd ~x86-fbsd" + SRC_URI="mirror://gentoo/${SHARE}.tar.bz2 + mirror://gentoo/${CONTRIB}.tar.bz2 + mirror://gentoo/${GNU}.tar.bz2 + mirror://gentoo/${UBIN}.tar.bz2 + mirror://gentoo/${USBIN}.tar.bz2 + mirror://gentoo/${SBIN}.tar.bz2 + mirror://gentoo/${BIN}.tar.bz2 + mirror://gentoo/${LIB}.tar.bz2 + mirror://gentoo/${ETC}.tar.bz2 + zfs? ( mirror://gentoo/${CDDL}.tar.bz2 )" +fi + +DEPEND="=sys-freebsd/freebsd-mk-defs-${RV}* + =sys-freebsd/freebsd-sources-${RV}*" +RDEPEND="sys-apps/miscfiles" + +RESTRICT="strip" + +S="${WORKDIR}/share" + +pkg_setup() { + use doc || mymakeopts="${mymakeopts} NO_SHAREDOCS= " + use zfs || mymakeopts="${mymakeopts} WITHOUT_CDDL= " + + mymakeopts="${mymakeopts} NO_SENDMAIL= NO_MANCOMPRESS= NO_INFOCOMPRESS= " +} + +REMOVE_SUBDIRS="mk termcap zoneinfo tabset" + +PATCHES=( "${FILESDIR}/${PN}-5.3-doc-locations.patch" + "${FILESDIR}/${PN}-5.4-gentoo-skel.patch" + "${FILESDIR}/${PN}-9.2-gnu-miscfiles.patch" ) + +src_unpack() { + freebsd_src_unpack + + # Remove make.conf manpage as it describes bsdmk's make.conf. + sed -i -e 's:make.conf.5::' "${S}/man/man5/Makefile" + # Remove rc.conf manpage as it describes bsd's rc.conf. + sed -i -e 's:\brc.conf.5::' "${S}/man/man5/Makefile" + sed -i -e 's:\brc.conf.local.5::' "${S}/man/man5/Makefile" + # Remove mailer.conf manpage + sed -i -e 's:mailer.conf.5::' "${S}/man/man5/Makefile" + # Remove pbm and moduli(ssh) manpages + sed -i -e 's:pbm.5::' -e 's:moduli.5::' "${S}/man/man5/Makefile" + # Remove builtins manpage + sed -i -e '/builtins\.1/d' "${S}/man/man1/Makefile" + # Remove rc manpages + sed -i -e '/rc.8/d' "${S}/man/man8/Makefile" + + # Don't install the arch-specific directories in subdirectories + sed -i -e '/MANSUBDIR/d' "${S}"/man/man4/man4.{i386,sparc64}/Makefile + + # Remove them so that they can't be included by error + rm -rf "${S}"/mk/*.mk + + # Make proper symlinks by defining the full target. + local sdir + for sdir in colldef mklocale monetdef msgdef numericdef timedef + do + sed -e 's:\${enc2}$:\${enc2}/\${FILESNAME}:g' -i \ + "${S}/${sdir}/Makefile" || \ + die "Error fixing ${sdir}/Makefile" + done + ln -s "/usr/src/sys" "${WORKDIR}/sys" || die "failed to set sys symlink" +} + +src_compile() { + export ESED="/usr/bin/sed" + + # This is a groff problem and not a -shared problem. + export GROFF_TMAC_PATH="/usr/share/tmac/:/usr/share/groff/1.19.1/tmac/" + freebsd_src_compile || die "emake failed" +} + +src_install() { + mkmake -j1 DESTDIR="${D}" DOCDIR=/usr/share/doc/${PF} install || die "Install failed" +} diff --git a/sys-freebsd/freebsd-sources/Manifest b/sys-freebsd/freebsd-sources/Manifest index 92d724f..29dbceb 100644 --- a/sys-freebsd/freebsd-sources/Manifest +++ b/sys-freebsd/freebsd-sources/Manifest @@ -18,3 +18,4 @@ AUX freebsd-sources-9.2-gentoo.patch 716 SHA256 9a196adef145f57bf960b936f69065f6 AUX freebsd-sources-cve-2012-0217.patch 856 SHA256 9b752e65a29b2b9a4a1412765d69d00310c05508af1cfa6d8d3c16d545bb3ffe SHA512 b1ac18cae23b81fd5ab2fcb44bb9f9808d6eb80f52b8572b81296fdd0b18edee62460520bc753848283d67e13367bf99775a2a5c6cf0272def9cdff6ec6fa4d9 WHIRLPOOL 27e4d0647c5275b77123bef6b866ac841af4b1b547fc663f776da82a7889995eba21b930adeabf2a71b3fbe053d2af5583cbdb6e8fd16a0379d10214d24b9121 AUX freebsd-sources-cve-2012-4576.patch 561 SHA256 c3ad42e10164eaa3d928fd11a68b5ab490981b5d4684315e7e78c582e680d6c2 SHA512 451fb9be983672fa8d85d34bf13b67e70ac4bbda44da0c16ee484349bcf4e9ad795f66c36b5216bbcf022f709727dc19760e9f23b001a5768d9fa15dbad8122a WHIRLPOOL 2f261add2b2d9014782198b564a807f1a61917e0fbe91354ce5b1a685b27e312e699b7dc799f1653c952864633be84dda110e37f74378a3c5f1c5aacacb6811d EBUILD freebsd-sources-10.0.9999.ebuild 3567 SHA256 163a63d768b54b44ccfe8c963a7b8816000e462680a96eaf458df505e964643a SHA512 a04e2b4c1bd7da4e84f5f2b341732601ddfa164399da9bfb3bab51761608d2720a492fe837fddfaf267d3732d21df56adebca9d1b7649bcbc3c8289bb7b07031 WHIRLPOOL e270525e49df3626225a79424ca72cc9fe46b22c53867dd9634244681b93cad76d1653ed170d7b1f98dcfbd84bfcd190ece8ccab11d3fbf4f27a191dae471090 +EBUILD freebsd-sources-9.9999.ebuild 3024 SHA256 6df6d3a86062a9431c71683314bc5f2c2cbbcb14479ab0041de8979cbd366c3e SHA512 1f8a6dacf410fd2e0bff059229fbe0de5562c1ef88c9ab300a9bd848653c51349909a3a162171bfbe1bf9da9a136121c724b2f830761bcc92a95013889c4de00 WHIRLPOOL a77cf82454af90f74e19d96555ab202bd3f75b134d502b23ae343ed75df34ec277ef028dd47e4bed77cc3b2fd715dec5db3385861b4a548786dbc5d0993d379b diff --git a/sys-freebsd/freebsd-sources/freebsd-sources-9.9999.ebuild b/sys-freebsd/freebsd-sources/freebsd-sources-9.9999.ebuild new file mode 100644 index 0000000..dd77309 --- /dev/null +++ b/sys-freebsd/freebsd-sources/freebsd-sources-9.9999.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit bsdmk freebsd flag-o-matic toolchain-funcs + +DESCRIPTION="FreeBSD kernel sources" +SLOT="0" + +IUSE="+build-generic dtrace profile" + +if [[ ${PV} != *9999* ]]; then + KEYWORDS="~amd64-fbsd ~sparc-fbsd ~x86-fbsd" + SRC_URI="mirror://gentoo/${SYS}.tar.bz2" +fi + +RDEPEND="dtrace? ( >=sys-freebsd/freebsd-cddl-9.2_rc1 ) + =sys-freebsd/freebsd-mk-defs-${RV}* + !sys-freebsd/virtio-kmod" +DEPEND="build-generic? ( + dtrace? ( >=sys-freebsd/freebsd-cddl-9.2_rc1 ) + >=sys-freebsd/freebsd-usbin-9.1 + =sys-freebsd/freebsd-mk-defs-${RV}* + )" + +RESTRICT="strip binchecks" + +S="${WORKDIR}/sys" + +KERN_BUILD=GENERIC + +PATCHES=( "${FILESDIR}/${PN}-9.0-disable-optimization.patch" + "${FILESDIR}/${PN}-9.2-gentoo.patch" + "${FILESDIR}/${PN}-6.0-flex-2.5.31.patch" + "${FILESDIR}/${PN}-6.1-ntfs.patch" + "${FILESDIR}/${PN}-7.1-types.h-fix.patch" + "${FILESDIR}/${PN}-8.0-subnet-route-pr40133.patch" + "${FILESDIR}/${PN}-7.1-includes.patch" + "${FILESDIR}/${PN}-9.0-sysctluint.patch" + "${FILESDIR}/${PN}-9.2-gentoo-gcc.patch" + "${FILESDIR}/${PN}-7.0-tmpfs_whiteout_stub.patch" ) + +src_prepare() { + # This replaces the gentoover patch, it doesn't need reapply every time. + sed -i -e 's:^REVISION=.*:REVISION="'${PVR}'":' \ + -e 's:^BRANCH=.*:BRANCH="Gentoo":' \ + -e 's:^VERSION=.*:VERSION="${TYPE} ${BRANCH} ${REVISION}":' \ + "${S}/conf/newvers.sh" + + # __FreeBSD_cc_version comes from FreeBSD's gcc. + # on 9.0-RELEASE it's 900001. + sed -e "s:-D_KERNEL:-D_KERNEL -D__FreeBSD_cc_version=900001:g" \ + -i "${S}/conf/kern.pre.mk" \ + -i "${S}/conf/kmod.mk" || die "Couldn't set __FreeBSD_cc_version" + + # Remove -Werror + sed -e "s:-Werror:-Wno-error:g" \ + -i "${S}/conf/kern.pre.mk" \ + -i "${S}/conf/kmod.mk" || die + + # Only used with USE=build-generic, let the kernel build with its own flags, its safer. + unset LDFLAGS CFLAGS CXXFLAGS ASFLAGS KERNEL +} + +src_configure() { + if use build-generic ; then + tc-export CC + cd "${S}/$(tc-arch-kernel)/conf" || die + config ${KERN_BUILD} || die + fi +} + +src_compile() { + if use build-generic ; then + local myconf + use dtrace || myconf="-DNO_CTF " + + cd "${S}/$(tc-arch-kernel)/compile/${KERN_BUILD}" || die + freebsd_src_compile depend ${myconf} + freebsd_src_compile ${myconf} + else + einfo "Nothing to compile.." + fi +} + +src_install() { + if use build-generic ; then + cd "${S}/$(tc-arch-kernel)/compile/${KERN_BUILD}" || die + freebsd_src_install + rm -rf "${S}/$(tc-arch-kernel)/compile/${KERN_BUILD}" + cd "${S}" + fi + + insinto "/usr/src/sys" + doins -r "${S}/"* +} + +pkg_preinst() { + if [[ -L "${ROOT}/usr/src/sys" ]]; then + einfo "/usr/src/sys is a symlink, removing it..." + rm -f "${ROOT}/usr/src/sys" + fi + + if use sparc-fbsd ; then + ewarn "WARNING: kldload currently causes kernel panics" + ewarn "on sparc64. This is probably a gcc-4.1 issue, but" + ewarn "we need gcc-4.1 to compile the kernel correctly :/" + ewarn "Please compile all modules you need into the kernel" + fi +} diff --git a/sys-freebsd/freebsd-ubin/Manifest b/sys-freebsd/freebsd-ubin/Manifest index f66e91b..da3d4a5 100644 --- a/sys-freebsd/freebsd-ubin/Manifest +++ b/sys-freebsd/freebsd-ubin/Manifest @@ -22,3 +22,4 @@ AUX passwd.pamd 360 SHA256 ff964fd309462cac711422be051122f8a60b570da9b13756e9012 AUX su.1.pamd 432 SHA256 a231f9cbe5b9e03aa0aaa1520657332771f15d5e5cd69890ce49d02bb34e21c3 SHA512 7d7d8ef2a5b1b52b1b5aa5de86a8767a0aa217fb2658c9bb13bce09e3c68c1a4e15f287d2063a3f18615b9d7dc1eba1ebefb95c1510f9a4c7b7de810a5bcfa40 WHIRLPOOL 635fd8294abf9e8948032ab2b6d50565f2f9f72ea64c18799a6337776bdf2a7859e17bb58e3e1ab3558d74a10611225c31ac4b6cb26f1c5462bf855b02dc9e07 AUX su.pamd 420 SHA256 efe3a5efafd7e97e9305f4d24f2b4aacb44f65b261ca54bca1306b918b82cb08 SHA512 25ac749209c05733d0c9978c8ef1712961a3bd863bb2f5615844ed9b44e98dcf7795c02dfc84d58703eca35331701f1fff06a13904792e634256675af5444a48 WHIRLPOOL c97d3314cd58edff9c05b8286e2a377ae928752197dec0d380fa68867a9e8ce5366cc97e8038c21c3f50f527957b6ecc6c723960e28e39a7e8fef1cf7f3caad1 EBUILD freebsd-ubin-10.0.9999.ebuild 5821 SHA256 f88f49babd4f4475411583d7836362b152f71e61377418fc333b3d9d2fe57a2d SHA512 3810860bda81a2c9c2895e52c20c9c8589957e827ff1b7cfc9caef2ef9f27284caf1f3eeed41188f681b723ee0ce2de15fe3f6177cce892a5e20abd5966e6660 WHIRLPOOL edf3ad26f03a49b2dc3f4fd705a936f280b7c3a5953b5687d0f1dd1f33f9e8e605956944cca878af349578a68aa90622897db4ff62acdc135ed67cba845a904a +EBUILD freebsd-ubin-9.9999.ebuild 5492 SHA256 c45bc90d012d2d85f12ec50ed5da37f3d381faf3d6514d23704ca4525a4597ec SHA512 c3f3138e3d25bede18f22b626e6d1cadc5b83745da4bed35455f74a5e8076991ffabca42d81a84fd30cad975c19873c3cd18c1df6ee183ba98c469da7c8dd11f WHIRLPOOL 9cecd6171b2ca104828c399ff6f7b7b2b970e70af28412effb56bc825db118b4a16d275ff47ae68dac75d6883132b4f34b646e793cf8147e874b6d531c67ebb4 diff --git a/sys-freebsd/freebsd-ubin/freebsd-ubin-9.9999.ebuild b/sys-freebsd/freebsd-ubin/freebsd-ubin-9.9999.ebuild new file mode 100644 index 0000000..d3c6052 --- /dev/null +++ b/sys-freebsd/freebsd-ubin/freebsd-ubin-9.9999.ebuild @@ -0,0 +1,183 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit bsdmk freebsd flag-o-matic pam multilib multibuild multilib-build + +DESCRIPTION="FreeBSD's base system source for /usr/bin" +SLOT="0" +IUSE="ar atm audit bluetooth ipv6 kerberos netware nis ssl usb build zfs" +LICENSE="BSD zfs? ( CDDL )" + +if [[ ${PV} != *9999* ]]; then + KEYWORDS="~amd64-fbsd ~sparc-fbsd ~x86-fbsd" + SRC_URI="mirror://gentoo/${UBIN}.tar.bz2 + mirror://gentoo/${CONTRIB}.tar.bz2 + mirror://gentoo/${LIB}.tar.bz2 + mirror://gentoo/${ETC}.tar.bz2 + mirror://gentoo/${BIN}.tar.bz2 + mirror://gentoo/${INCLUDE}.tar.bz2 + zfs? ( mirror://gentoo/${CDDL}.tar.bz2 ) + build? ( mirror://gentoo/${SYS}.tar.bz2 )" +fi + +RDEPEND="=sys-freebsd/freebsd-lib-${RV}*[usb?,bluetooth?,${MULTILIB_USEDEP}] + ssl? ( dev-libs/openssl ) + kerberos? ( virtual/krb5 ) + ar? ( >=app-arch/libarchive-3 ) + virtual/pam + sys-libs/zlib + >=sys-libs/ncurses-5.9 + !sys-process/fuser-bsd + !dev-util/csup" + +DEPEND="${RDEPEND} + sys-devel/flex + !build? ( =sys-freebsd/freebsd-sources-${RV}* ) + =sys-freebsd/freebsd-mk-defs-${RV}*" + +RDEPEND="${RDEPEND} + >=sys-auth/pambase-20080219.1 + sys-process/cronbase" + +S="${WORKDIR}/usr.bin" + +PATCHES=( "${FILESDIR}/${PN}-6.0-bsdcmp.patch" + "${FILESDIR}/${PN}-9.0-fixmakefiles.patch" + "${FILESDIR}/${PN}-setXid.patch" + "${FILESDIR}/${PN}-lint-stdarg.patch" + "${FILESDIR}/${PN}-9.1-kdump-ioctl.patch" + "${FILESDIR}/${PN}-8.0-xinstall.patch" + "${FILESDIR}/${PN}-9.1-bsdar.patch" + "${FILESDIR}/${PN}-9.1-minigzip.patch" + "${FILESDIR}/${PN}-9.1-grep.patch" + "${FILESDIR}/${PN}-9.1-ar-libarchive3.patch" ) + +# Here we remove some sources we don't need because they are already +# provided by portage's packages or similar. In order: +# - Archiving tools, provided by their own ebuilds +# - ncurses stuff +# - less stuff +# - bind utils +# - rsh stuff +# - binutils gprof +# - dc stuff +# and the rest are misc utils we already provide somewhere else. +REMOVE_SUBDIRS="bzip2 bzip2recover tar cpio + gzip gprof + lzmainfo xz xzdec + unzip + tput tset tabs + less lessecho lesskey + dig hesinfo nslookup nsupdate host + rsh rlogin rusers rwho ruptime + compile_et lex vi smbutil file vacation nc ftp telnet + c99 c89 + bc dc + whois tftp man" + +pkg_setup() { + use atm || mymakeopts="${mymakeopts} WITHOUT_ATM= " + use audit || mymakeopts="${mymakeopts} WITHOUT_AUDIT= " + use bluetooth || mymakeopts="${mymakeopts} WITHOUT_BLUETOOTH= " + use ipv6 || mymakeopts="${mymakeopts} WITHOUT_INET6= WITHOUT_INET6_SUPPORT= " + use kerberos || mymakeopts="${mymakeopts} WITHOUT_KERBEROS_SUPPORT= " + use netware || mymakeopts="${mymakeopts} WITHOUT_IPX= WITHOUT_IPX_SUPPORT= WITHOUT_NCP= " + use nis || mymakeopts="${mymakeopts} WITHOUT_NIS= " + use ssl || mymakeopts="${mymakeopts} WITHOUT_OPENSSL= " + use usb || mymakeopts="${mymakeopts} WITHOUT_USB= " + use zfs || mymakeopts="${mymakeopts} WITHOUT_CDDL= " + mymakeopts="${mymakeopts} WITHOUT_CLANG= " +} + +pkg_preinst() { + # bison installs a /usr/bin/yacc symlink ... + # we need to remove it to avoid triggering + # collision-protect errors + if [[ -L ${ROOT}/usr/bin/yacc ]] ; then + rm -f "${ROOT}"/usr/bin/yacc + fi +} + +src_prepare() { + use build || ln -s "/usr/src/sys" "${WORKDIR}/sys" + + # Rename manpage for renamed cmp + mv "${S}"/cmp/cmp.1 "${S}"/cmp/bsdcmp.1 || die + # Rename manpage for renamed ar + mv "${S}"/ar/ar.1 "${S}"/ar/freebsd-ar.1 || die + # Fix whereis(1) manpath search. + sed -i -e 's:"manpath -q":"manpath":' "${S}/whereis/pathnames.h" + + # Build a dynamic make + sed -i -e '/^NO_SHARED/ s/^/#/' "${S}"/make/Makefile || die + + # Disable it here otherwise our patch wont apply + use ar || dummy_mk ar +} + +setup_multilib_vars() { + if ! multilib_is_native_abi ; then + cd "${WORKDIR}/usr.bin/ldd" || die + export mymakeopts="${mymakeopts} PROG=ldd32 WITHOUT_MAN=" + else + cd "${S}" + 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 + + # baselayout requires these in /bin + dodir /bin + for bin in sed printf ; do + mv "${D}/usr/bin/${bin}" "${D}/bin/" || die "mv ${bin} failed" + dosym /bin/${bin} /usr/bin/${bin} || die "dosym ${bin} failed" + done + + for pamdfile in login passwd su; do + newpamd "${FILESDIR}/${pamdfile}.1.pamd" ${pamdfile} || die + done + + cd "${WORKDIR}/etc" + insinto /etc + doins remote phones opieaccess fbtab || die + + exeinto /etc/cron.daily + newexe "${FILESDIR}/locate-updatedb-cron" locate.updatedb || die + + # tip requires /var/spool/lock/, bug #200700 + keepdir /var/spool/lock + + # create locate database #472468 + local f=/var/db/locate.database + mkdir "${ED}${f%/*}" || die + touch "${ED}${f}" || die + fowners nobody:nobody ${f} +} + +pkg_postinst() { + # We need to ensure that login.conf.db is up-to-date. + if [[ -e "${ROOT}"etc/login.conf ]] ; then + einfo "Updating ${ROOT}etc/login.conf.db" + "${ROOT}"usr/bin/cap_mkdb -f "${ROOT}"etc/login.conf "${ROOT}"etc/login.conf + elog "Remember to run cap_mkdb /etc/login.conf after making changes to it" + fi +} + +pkg_postrm() { + # and if we uninstall yacc but keep bison, + # lets restore the /usr/bin/yacc symlink + if [[ ! -e ${ROOT}/usr/bin/yacc ]] && [[ -e ${ROOT}/usr/bin/yacc.bison ]] ; then + ln -s yacc.bison "${ROOT}"/usr/bin/yacc + fi +} diff --git a/sys-freebsd/freebsd-usbin/Manifest b/sys-freebsd/freebsd-usbin/Manifest index 70e1d36..935bf1d 100644 --- a/sys-freebsd/freebsd-usbin/Manifest +++ b/sys-freebsd/freebsd-usbin/Manifest @@ -22,3 +22,4 @@ AUX syscons.confd 464 SHA256 7e566edb81fef49b662ad6b84dd0bf4657d5f05efe9791a515b AUX syscons.initd 1711 SHA256 16f5ab3ceb67accc10350d21527321c1e559c432f0b52e7b3adf08b67d9f62aa SHA512 41fef393e1fe732de065cb9ac3fdb4bbe73158a86f7c8b6175b496d0a65b9c682d888ce7b34c8a43732909c12626a2f5783457607e4b9bf6b4210589c3397d76 WHIRLPOOL 7a11eed37860db8dce71ad09299bd48427cf2beb349da3799189ef93d4d5c618b4c33b51e60f17cb485989dd3e0480458f5559c61deaa3f542f920df43f89801 AUX syslogd.initd 571 SHA256 3f0f242197be7c59f36edffd36918935189d17ca7d8f5c2de6238c7a7f52d005 SHA512 0c67138b2461ba3629a7aa87dca35357ee17f2a1c1c13e1951417f4c05054ad006efb7f98dcf7fa24f0b90e0c0331e6fb7d1e3459c1db17f1bc82baa63b3beeb WHIRLPOOL e8dc6a0f402a474bb98c5d4a9a21b331a2a55726d517411c2b7c7adec28219e5a538ebb448c6c27dd1540affb914e935e91160cb0795ca6eb624f4ee163b0e9d EBUILD freebsd-usbin-10.0.9999.ebuild 5394 SHA256 809e5c8ff04b70fd30dda8e73e19c01920ebb5cee11239dc4b2951b896672ba0 SHA512 0db2df64096169c470f5f9c6d54091e936b04163d0f1abe745e3e38ba42fcda4fae6d040128ffa6fee3da6fc0ab6be156f1b4ad0ec27e98cc4d017c54951b6ff WHIRLPOOL bfad1b78162fb63a61f4e4709942613197c29218cd1fcc2aeda5fe197b550e518123eefd252f6bd41dcb0966870ecd2d6cc27c50e25f2950b03ec4568a8a402f +EBUILD freebsd-usbin-9.9999.ebuild 5493 SHA256 c6f8ea917ec7c751796da3957a139e47fbb8cb8002a2c5f5919828293f224b9d SHA512 dfcadee78b1eadcbe2e328decb62e8284c4deefa2b6bf468c411c74ac106a27427d7ea30de0fec870a057cb037895239094ea715370f4b5ec933c4c6c2ba74e0 WHIRLPOOL 9fc00ff1f2201e045b3fd1a6823bf8abd9aef81b95e13894825451e8421ed9cccbf29850d3ec5a4bc1f44d32c7085631e0b796cc02a41365c109121717f2fd71 diff --git a/sys-freebsd/freebsd-usbin/freebsd-usbin-9.9999.ebuild b/sys-freebsd/freebsd-usbin/freebsd-usbin-9.9999.ebuild new file mode 100644 index 0000000..3e786b6 --- /dev/null +++ b/sys-freebsd/freebsd-usbin/freebsd-usbin-9.9999.ebuild @@ -0,0 +1,180 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +inherit bsdmk freebsd flag-o-matic eutils + +DESCRIPTION="FreeBSD /usr/sbin tools" +SLOT="0" + +if [[ ${PV} != *9999* ]]; then + KEYWORDS="~amd64-fbsd ~sparc-fbsd ~x86-fbsd" + SRC_URI="mirror://gentoo/${P}.tar.bz2 + mirror://gentoo/${CONTRIB}.tar.bz2 + mirror://gentoo/${UBIN}.tar.bz2 + mirror://gentoo/${LIB}.tar.bz2 + mirror://gentoo/${SBIN}.tar.bz2 + mirror://gentoo/${ETC}.tar.bz2 + mirror://gentoo/${GNU}.tar.bz2 + nis? ( mirror://gentoo/${LIBEXEC}.tar.bz2 ) + build? ( mirror://gentoo/${SYS}.tar.bz2 + mirror://gentoo/${INCLUDE}.tar.bz2 )" +fi + +RDEPEND="=sys-freebsd/freebsd-lib-${RV}*[usb?,bluetooth?,netware?] + =sys-freebsd/freebsd-libexec-${RV}* + =sys-freebsd/freebsd-contrib-${RV}* + acpi? ( sys-power/iasl ) + build? ( sys-apps/baselayout ) + ssl? ( dev-libs/openssl ) + >=app-arch/libarchive-3 + sys-apps/tcp-wrappers + dev-util/dialog + >=dev-libs/libedit-20120311.3.0-r1 + net-libs/libpcap + kerberos? ( app-crypt/heimdal )" +DEPEND="${RDEPEND} + =sys-freebsd/freebsd-mk-defs-${RV}* + =sys-freebsd/freebsd-ubin-${RV}* + !build? ( =sys-freebsd/freebsd-sources-${RV}* ) + sys-apps/texinfo + sys-devel/flex" + +S="${WORKDIR}/usr.sbin" + +IUSE="acpi atm audit bluetooth floppy ipv6 kerberos minimal netware nis pam ssl usb build" + +pkg_setup() { + # Release crunch is something like minimal. It seems to remove everything + # which is not needed to work. + use minimal && mymakeopts="${mymakeopts} RELEASE_CRUNCH= " + + use acpi || mymakeopts="${mymakeopts} WITHOUT_ACPI= " + use atm || mymakeopts="${mymakeopts} WITHOUT_ATM= " + use audit || mymakeopts="${mymakeopts} WITHOUT_AUDIT= " + use bluetooth || mymakeopts="${mymakeopts} WITHOUT_BLUETOOTH= " + use ipv6 || mymakeopts="${mymakeopts} WITHOUT_INET6= WITHOUT_INET6_SUPPORT= " + use netware || mymakeopts="${mymakeopts} WITHOUT_IPX= WITHOUT_IPX_SUPPORT= WITHOUT_NCP= " + use nis || mymakeopts="${mymakeopts} WITHOUT_NIS= " + use pam || mymakeopts="${mymakeopts} WITHOUT_PAM_SUPPORT= " + use ssl || mymakeopts="${mymakeopts} WITHOUT_OPENSSL= " + use usb || mymakeopts="${mymakeopts} WITHOUT_USB= " + use floppy || mymakeopts="${mymakeopts} WITHOUT_FLOPPY= " + use kerberos || mymakeopts="${mymakeopts} WITHOUT_GSSAPI= " + + mymakeopts="${mymakeopts} WITHOUT_BIND_NAMED= WITHOUT_BIND_DNSSEC= WITHOUT_PF= WITHOUT_LPR= WITHOUT_SENDMAIL= WITHOUT_AUTHPF= WITHOUT_MAILWRAPPER= " + + append-flags $(test-flags -fno-strict-aliasing) +} + +PATCHES=( + "${FILESDIR}/${PN}-adduser.patch" + "${FILESDIR}/${PN}-9.0-newsyslog.patch" + "${FILESDIR}/${PN}-9.1-bsdxml2expat.patch" + ) + +REMOVE_SUBDIRS=" + named named-checkzone named-checkconf rndc rndc-confgen + dnssec-keygen dnssec-signzone + tcpdchk tcpdmatch + sendmail praliases editmap mailstats makemap + sysinstall cron mailwrapper ntp bsnmpd + tcpdump ndp inetd + wpa/wpa_supplicant wpa/hostapd wpa/hostapd_cli wpa/wpa_cli wpa/wpa_passphrase + zic amd + pkg pkg_install freebsd-update service sysrc" + +src_prepare() { + if ! use build; then + ln -s "/usr/src/sys" "${WORKDIR}/sys" + ln -s "/usr/include" "${WORKDIR}/include" + else + dummy_mk mount_smbfs + fi + # Don't install mtree format manpage + # it's installed by libarchive. + sed -e "s: mtree.5::g" -i "${S}"/mtree/Makefile +} + +src_compile() { + # Preparing to build nmtree + cd "${WORKDIR}/lib/libnetbsd" + freebsd_src_compile + + cd "${S}" + freebsd_src_compile +} + +src_install() { + # By creating these directories we avoid having to do a + # more complex hack + dodir /usr/share/doc + dodir /sbin + dodir /usr/libexec + dodir /usr/bin + + # FILESDIR is used by some makefiles which will install files + # in the wrong place, just put it in the doc directory. + mkinstall DOCDIR=/usr/share/doc/${PF} || die "Install failed" + + # Most of these now come from openrc. + for util in nfs rpc.statd rpc.lockd; do + newinitd "${FILESDIR}/"${util}.initd ${util} || die + if [[ -e "${FILESDIR}"/${util}.confd ]]; then \ + newconfd "${FILESDIR}"/${util}.confd ${util} || die + fi + done + + for class in daily monthly weekly; do + cat - > "${T}/periodic.${class}" <