commit:     9c7ba33a32ba891c811fa450b53419702d5697c4
Author:     Yuta Satoh <nigoro.dev <AT> gmail <DOT> com>
AuthorDate: Tue Oct 11 12:14:26 2016 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Tue Oct 11 14:47:47 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9c7ba33a

eclass/freebsd.eclass: added FreeBSD 11.0 support.

 eclass/freebsd.eclass | 57 ++++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 50 insertions(+), 7 deletions(-)

diff --git a/eclass/freebsd.eclass b/eclass/freebsd.eclass
index cb03cf6..8f6b204 100644
--- a/eclass/freebsd.eclass
+++ b/eclass/freebsd.eclass
@@ -102,7 +102,15 @@ doperiodic() {
 freebsd_get_bmake() {
        local bmake
        bmake=$(get_bmake)
-       [[ ${CBUILD} == *-freebsd* ]] || bmake="${bmake} -m 
/usr/share/mk/freebsd"
+       if version_is_at_least 11.0 ${RV} ; then
+               if [[ ${CBUILD} == *-freebsd* ]] ; then
+                       bmake="${bmake} -m /usr/share/mk/system"
+               else
+                       bmake="${bmake} -m /usr/share/mk/freebsd/system"
+               fi
+       else
+               [[ ${CBUILD} == *-freebsd* ]] || bmake="${bmake} -m 
/usr/share/mk/freebsd"
+       fi
 
        echo "${bmake}"
 }
@@ -187,7 +195,9 @@ freebsd_src_unpack() {
        dummy_mk ${REMOVE_SUBDIRS}
 
        freebsd_do_patches
-       freebsd_rename_libraries
+       if ! version_is_at_least 11.0 ${RV} ; then
+               freebsd_rename_libraries
+       fi
 
        # Starting from FreeBSD 9.2, its install command supports the -l option 
and
        # they now use it. Emulate it if we are on a system that does not have 
it.
@@ -195,6 +205,9 @@ freebsd_src_unpack() {
                export INSTALL_LINK="ln -f"
                export INSTALL_SYMLINK="ln -fs"
        fi
+       if version_is_at_least 11.0 ${RV} ; then
+               export RSYMLINK=" -l s"
+       fi
 
        # When CC=clang, force use clang-cpp #478810, #595878
        if [[ $(tc-getCC) == *clang* ]] ; then
@@ -213,9 +226,24 @@ freebsd_src_unpack() {
 
 freebsd_src_compile() {
        use profile && filter-flags "-fomit-frame-pointer"
-       use profile || mymakeopts="${mymakeopts} NO_PROFILE= "
+       if version_is_at_least 11.0 ${RV} ; then
+               if ! use profile ; then
+                       mymakeopts="${mymakeopts} WITHOUT_PROFILE= "
+               fi
+               # Disable debugging info, use FEATURES=splitdebug instead.
+               mymakeopts="${mymakeopts} WITHOUT_DEBUG_FILES= "
+               # Test does not support yet.
+               mymakeopts="${mymakeopts} WITHOUT_TESTS= "
+               # Force set SRCTOP.
+               mymakeopts="${mymakeopts} SRCTOP=${WORKDIR} "
+               # Set common option.
+               mymakeopts="${mymakeopts} WITHOUT_MANCOMPRESS= 
WITHOUT_INFOCOMPRESS= "
+       else
+               use profile || mymakeopts="${mymakeopts} NO_PROFILE= "
+               mymakeopts="${mymakeopts} NO_MANCOMPRESS= NO_INFOCOMPRESS= "
+       fi
 
-       mymakeopts="${mymakeopts} NO_MANCOMPRESS= NO_INFOCOMPRESS= NO_FSCHG="
+       mymakeopts="${mymakeopts} NO_FSCHG="
 
        # Make sure to use FreeBSD definitions while crosscompiling
        [[ -z "${BMAKE}" ]] && BMAKE="$(freebsd_get_bmake)"
@@ -274,11 +302,26 @@ freebsd_multilib_multibuild_wrapper() {
 }
 
 freebsd_src_install() {
-       use profile || mymakeopts="${mymakeopts} NO_PROFILE= "
+       if version_is_at_least 11.0 ${RV} ; then
+               if ! use profile ; then
+                       mymakeopts="${mymakeopts} WITHOUT_PROFILE= "
+               fi
+               # Disable debugging info, use FEATURES=splitdebug instead.
+               mymakeopts="${mymakeopts} WITHOUT_DEBUG_FILES= "
+               # Test does not support yet.
+               mymakeopts="${mymakeopts} WITHOUT_TESTS= "
+               # Force set SRCTOP.
+               mymakeopts="${mymakeopts} SRCTOP=${WORKDIR} "
+               # Set common option.
+               mymakeopts="${mymakeopts} WITHOUT_MANCOMPRESS= 
WITHOUT_INFOCOMPRESS= "
+       else
+               use profile || mymakeopts="${mymakeopts} NO_PROFILE= "
+               mymakeopts="${mymakeopts} NO_MANCOMPRESS= NO_INFOCOMPRESS= "
+       fi
 
-       mymakeopts="${mymakeopts} NO_MANCOMPRESS= NO_INFOCOMPRESS= NO_FSCHG="
+       mymakeopts="${mymakeopts} NO_FSCHG="
 
        [[ -z "${BMAKE}" ]] && BMAKE="$(freebsd_get_bmake)"
 
-       bsdmk_src_install
+       bsdmk_src_install "$@"
 }

Reply via email to