diff --git a/sdk_container/src/third_party/portage-stable/eclass/bitcoincore.eclass b/sdk_container/src/third_party/portage-stable/eclass/bitcoincore.eclass index 0362c8cdcf..5661cb03e9 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/bitcoincore.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/bitcoincore.eclass @@ -70,11 +70,14 @@ MyP="${MyPN}-${MyPV}" DOCS="${DOCS} doc/README.md doc/release-notes.md" OPENSSL_DEPEND="dev-libs/openssl:0[-bindist]" WALLET_DEPEND="sys-libs/db:$(db_ver_to_slot "${DB_VER}")[cxx]" +LIBEVENT_DEPEND="" +UNIVALUE_DEPEND="" +BITCOINCORE_LJR_NAME=ljr [ -n "${BITCOINCORE_LJR_PV}" ] || BITCOINCORE_LJR_PV="${PV}" case "${PV}" in 0.10*) - BITCOINCORE_SERIES="0.10.x" + BITCOINCORE_MINOR=10 LIBSECP256K1_DEPEND="=dev-libs/libsecp256k1-0.0.0_pre20141212" case "${PVR}" in 0.10.2) @@ -89,7 +92,7 @@ case "${PV}" in BITCOINCORE_XT_DIFF="047a89831760ff124740fe9f58411d57ee087078...d4084b62c42c38bfe302d712b98909ab26ecce2f" ;; 0.11*) - BITCOINCORE_SERIES="0.11.x" + BITCOINCORE_MINOR=11 LIBSECP256K1_DEPEND="=dev-libs/libsecp256k1-0.0.0_pre20150423" # RBF is bundled with ljr patchset since 0.11.1 if [ "${PVR}" = "0.11.0" ]; then @@ -97,21 +100,55 @@ case "${PV}" in BITCOINCORE_RBF_PATCHFILE="${MyPN}-rbf-v0.11.0rc3.patch" fi ;; +0.12*) + BITCOINCORE_MINOR=12 + IUSE="${IUSE} libressl" + OPENSSL_DEPEND="!libressl? ( dev-libs/openssl:0[-bindist] ) libressl? ( dev-libs/libressl )" + if in_bcc_iuse libevent; then + LIBEVENT_DEPEND="libevent? ( dev-libs/libevent )" + else + LIBEVENT_DEPEND="dev-libs/libevent" + fi + LIBSECP256K1_DEPEND="=dev-libs/libsecp256k1-0.0.0_pre20151118[recovery]" + UNIVALUE_DEPEND="dev-libs/univalue" + BITCOINCORE_LJR_NAME=knots + if in_bcc_policy spamfilter; then + REQUIRED_USE="${REQUIRED_USE} bitcoin_policy_spamfilter? ( ljr )" + fi + ;; 9999*) + BITCOINCORE_MINOR=9999 BITCOINCORE_SERIES="9999" + LIBEVENT_DEPEND="dev-libs/libevent" LIBSECP256K1_DEPEND=">dev-libs/libsecp256k1-0.0.0_pre20150422" + UNIVALUE_DEPEND="dev-libs/univalue" ;; *) die "Unrecognised version" ;; esac -LJR_PV() { echo "${BITCOINCORE_LJR_PV}.${1}${BITCOINCORE_LJR_DATE}"; } +[ -n "${BITCOINCORE_SERIES}" ] || BITCOINCORE_SERIES="0.${BITCOINCORE_MINOR}.x" + +LJR_PV() { + local testsfx= + if [ -n "${BITCOINCORE_LJR_PREV}" ]; then + if [ "$1" = "dir" ]; then + testsfx="/test/${BITCOINCORE_LJR_PREV}" + else + testsfx=".${BITCOINCORE_LJR_PREV}" + fi + fi + echo "${BITCOINCORE_LJR_PV}.${BITCOINCORE_LJR_NAME}${BITCOINCORE_LJR_DATE}${testsfx}" +} LJR_PATCHDIR="${MyPN}-$(LJR_PV ljr).patches" LJR_PATCH() { echo "${WORKDIR}/${LJR_PATCHDIR}/${MyPN}-$(LJR_PV ljr).$@.patch"; } LJR_PATCH_DESC="http://luke.dashjr.org/programs/${MyPN}/files/${MyPN}d/luke-jr/${BITCOINCORE_SERIES}/$(LJR_PV ljr)/${MyPN}-$(LJR_PV ljr).desc.txt" +if [ "$BITCOINCORE_MINOR" -ge 12 ]; then + LJR_PATCH_DESC="http://bitcoinknots.org/files/${BITCOINCORE_SERIES}/$(LJR_PV dir)/${MyPN}-$(LJR_PV).desc.html" +fi -HOMEPAGE="https://github.com/bitcoin/bitcoin" +HOMEPAGE="http://bitcoincore.org/" if [ -z "$BITCOINCORE_COMMITHASH" ]; then EGIT_PROJECT='bitcoin' @@ -119,7 +156,10 @@ if [ -z "$BITCOINCORE_COMMITHASH" ]; then else SRC_URI="https://github.com/${MyPN}/${MyPN}/archive/${BITCOINCORE_COMMITHASH}.tar.gz -> ${MyPN}-v${PV}${BITCOINCORE_SRC_SUFFIX}.tgz" if [ -z "${BITCOINCORE_NO_SYSLIBS}" ]; then - SRC_URI="${SRC_URI} http://luke.dashjr.org/programs/${MyPN}/files/${MyPN}d/luke-jr/${BITCOINCORE_SERIES}/$(LJR_PV ljr)/${LJR_PATCHDIR}.txz -> ${LJR_PATCHDIR}.tar.xz" + SRC_URI="${SRC_URI} http://bitcoinknots.org/files/${BITCOINCORE_SERIES}/$(LJR_PV dir)/${LJR_PATCHDIR}.txz -> ${LJR_PATCHDIR}.tar.xz" + fi + if in_bcc_iuse addrindex; then + SRC_URI="${SRC_URI} addrindex? ( https://github.com/btcdrak/bitcoin/compare/${BITCOINCORE_ADDRINDEX_DIFF}.diff -> ${BITCOINCORE_ADDRINDEX_PATCHFILE} )" fi if in_bcc_iuse xt; then BITCOINXT_PATCHFILE="${MyPN}xt-v${PV}.patch" @@ -152,11 +192,17 @@ fi BITCOINCORE_COMMON_DEPEND=" ${OPENSSL_DEPEND} " +if ! has libevent ${BITCOINCORE_NO_DEPEND}; then + BITCOINCORE_COMMON_DEPEND="${BITCOINCORE_COMMON_DEPEND} ${LIBEVENT_DEPEND}" +fi if [ "${BITCOINCORE_NEED_LIBSECP256K1}" = "1" ]; then BITCOINCORE_COMMON_DEPEND="${BITCOINCORE_COMMON_DEPEND} $LIBSECP256K1_DEPEND" fi -if [ "${PN}" != "libbitcoinconsensus" ]; then - BITCOINCORE_COMMON_DEPEND="${BITCOINCORE_COMMON_DEPEND} >=dev-libs/boost-1.52.0[threads(+)]" +if [ "${PN}" != "libbitcoinconsensus" ] && ! use_if_iuse test; then + BITCOINCORE_COMMON_DEPEND="${BITCOINCORE_COMMON_DEPEND} + ${UNIVALUE_DEPEND} + >=dev-libs/boost-1.52.0[threads(+)] + " fi bitcoincore_common_depend_use() { in_bcc_iuse "$1" || return @@ -173,8 +219,12 @@ DEPEND="${DEPEND} ${BITCOINCORE_COMMON_DEPEND} if [ "${BITCOINCORE_NEED_LEVELDB}" = "1" ]; then RDEPEND="${RDEPEND} virtual/bitcoin-leveldb" fi -if in_bcc_iuse ljr && [ "$BITCOINCORE_SERIES" = "0.10.x" ]; then - DEPEND="${DEPEND} ljr? ( dev-vcs/git )" +if in_bcc_iuse ljr; then + if [ "$BITCOINCORE_SERIES" = "0.10.x" ]; then + DEPEND="${DEPEND} ljr? ( dev-vcs/git )" + elif [ "${BITCOINCORE_LJR_NAME}" = "knots" ]; then + DEPEND="${DEPEND} ljr? ( dev-lang/perl )" + fi fi bitcoincore_policymsg() { @@ -190,9 +240,12 @@ bitcoincore_policymsg() { bitcoincore_pkg_pretend() { bitcoincore_policymsg_flag=false - if use_if_iuse ljr || use_if_iuse 1stclassmsg || use_if_iuse xt || use_if_iuse zeromq; then + if use_if_iuse ljr || use_if_iuse 1stclassmsg || use_if_iuse addrindex || use_if_iuse xt || { use_if_iuse zeromq && [ "${BITCOINCORE_MINOR}" -lt 12 ]; }; then einfo "Extra functionality improvements to Bitcoin Core are enabled." bitcoincore_policymsg_flag=true + if use_if_iuse addrindex addrindex; then + einfo "Please be aware that the addrindex functionality is known to be unreliable." + fi fi bitcoincore_policymsg cltv \ "CLTV policy is enabled: Your node will recognise and assist OP_CHECKLOCKTIMEVERIFY (BIP65) transactions." \ @@ -212,6 +265,37 @@ bitcoincore_pkg_pretend() { $bitcoincore_policymsg_flag && einfo "For more information on any of the above, see ${LJR_PATCH_DESC}" } +bitcoincore_git_apply() { + local patchfile="$1" + einfo "Applying ${patchfile##*/} ..." + git apply --whitespace=nowarn "${patchfile}" || die +} + +bitcoincore_predelete_patch() { + local patchfile="$1" + mkdir -p "${WORKDIR}/pdp" + local tmpfile="${WORKDIR}/pdp/${patchfile##*/}" + perl -ne ' + newline: + if (m[(^diff .* b/(.*)$)]) { + $a = "$1\n"; + $f = $2; + $_ = <>; + if (m[^deleted file]) { + unlink($f) || die; + while (!m[^diff ]) { + $_ = <> + } + goto newline + } else { + print($a) + } + } + print + ' <"${patchfile}" >"${tmpfile}" || die + epatch "${tmpfile}" +} + bitcoincore_prepare() { local mypolicy if [ -n "${BITCOINCORE_NO_SYSLIBS}" ]; then @@ -222,11 +306,13 @@ bitcoincore_prepare() { epatch "$(LJR_PATCH syslibs)" fi if use_if_iuse ljr; then - if [ "${BITCOINCORE_SERIES}" = "0.10.x" ]; then + if [ "${BITCOINCORE_LJR_NAME}" = "knots" ]; then + epatch "$(LJR_PATCH f)" + bitcoincore_predelete_patch "$(LJR_PATCH branding)" + epatch "$(LJR_PATCH ts)" + elif [ "${BITCOINCORE_SERIES}" = "0.10.x" ]; then # Regular epatch won't work with binary files - local patchfile="$(LJR_PATCH ljrF)" - einfo "Applying ${patchfile##*/} ..." - git apply --whitespace=nowarn "${patchfile}" || die + bitcoincore_git_apply "$(LJR_PATCH ljrF)" else epatch "$(LJR_PATCH ljrF)" fi @@ -234,12 +320,30 @@ bitcoincore_prepare() { if use_if_iuse 1stclassmsg; then epatch "$(LJR_PATCH 1stclassmsg)" fi + if use_if_iuse addrindex; then + epatch "${DISTDIR}/${BITCOINCORE_ADDRINDEX_PATCHFILE}" + fi if use_if_iuse xt; then epatch "${DISTDIR}/${BITCOINXT_PATCHFILE}" fi - use_if_iuse zeromq && epatch "$(LJR_PATCH zeromq)" + { use_if_iuse zeromq && [ "${BITCOINCORE_MINOR}" -lt 12 ]; } && epatch "$(LJR_PATCH zeromq)" for mypolicy in ${BITCOINCORE_POLICY_PATCHES}; do mypolicy="${mypolicy#[-+]}" + + if [ "${BITCOINCORE_MINOR}" -ge 12 ]; then + case "${mypolicy}" in + rbf) + use bitcoin_policy_rbf || sed -i 's/\(DEFAULT_ENABLE_REPLACEMENT = \)true/\1false/' src/main.h + ;; + spamfilter) + use bitcoin_policy_spamfilter || sed -i 's/\(DEFAULT_SPAMFILTER = \)true/\1false/' src/main.h + ;; + *) + die "Unknown policy ${mypolicy}" + esac + continue + fi + use bitcoin_policy_${mypolicy} || continue case "${mypolicy}" in rbf) @@ -284,19 +388,29 @@ bitcoincore_conf() { else my_econf="${my_econf} --disable-wallet" fi + if ! use_if_iuse zeromq; then + # NOTE: Older (pre-0.12) patches would disable ZMQ if --enable-zmq was passed + my_econf="${my_econf} --disable-zmq" + fi if [ -z "${BITCOINCORE_NO_SYSLIBS}" ]; then my_econf="${my_econf} --disable-util-cli --disable-util-tx" else my_econf="${my_econf} --without-utils" fi + # Knots 0.12.0 errors if --with-libevent used for bitcoin{d,-cli}, so only disable it when not wanted + if has libevent ${BITCOINCORE_NO_DEPEND} || { in_bcc_iuse libevent && ! use libevent; }; then + my_econf="${my_econf} --without-libevent" + fi if [ "${BITCOINCORE_NEED_LEVELDB}" = "1" ]; then # Passing --with-system-leveldb fails if leveldb is not installed, so only use it for targets that use LevelDB my_econf="${my_econf} --with-system-leveldb" fi econf \ + --disable-bench \ --disable-ccache \ --disable-static \ --with-system-libsecp256k1 \ + --with-system-univalue \ --without-libs \ --without-daemon \ --without-gui \ diff --git a/sdk_container/src/third_party/portage-stable/eclass/cmake-utils.eclass b/sdk_container/src/third_party/portage-stable/eclass/cmake-utils.eclass index 12b8dff178..5f7bb8162d 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/cmake-utils.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/cmake-utils.eclass @@ -264,14 +264,14 @@ _cmake_generator_to_use() { # @DESCRIPTION: # Comment out an add_subdirectory call in CMakeLists.txt in the current directory cmake_comment_add_subdirectory() { - if [[ -z ${1} ]]; then - die "comment_add_subdirectory must be passed the directory name to comment" - fi + if [[ -z ${1} ]]; then + die "comment_add_subdirectory must be passed the directory name to comment" + fi - if [[ -e "CMakeLists.txt" ]]; then - sed -e "/add_subdirectory[[:space:]]*([[:space:]]*${1//\//\\/}[[:space:]]*)/I s/^/#DONOTCOMPILE /" \ - -i CMakeLists.txt || die "failed to comment add_subdirectory(${1})" - fi + if [[ -e "CMakeLists.txt" ]]; then + sed -e "/add_subdirectory[[:space:]]*([[:space:]]*${1//\//\\/}[[:space:]]*)/I s/^/#DONOTCOMPILE /" \ + -i CMakeLists.txt || die "failed to comment add_subdirectory(${1})" + fi } # @FUNCTION: comment_add_subdirectory diff --git a/sdk_container/src/third_party/portage-stable/eclass/haskell-cabal.eclass b/sdk_container/src/third_party/portage-stable/eclass/haskell-cabal.eclass index 334b243c44..373507995f 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/haskell-cabal.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/haskell-cabal.eclass @@ -73,7 +73,7 @@ HASKELL_CABAL_EXPF="pkg_setup src_compile src_test src_install pkg_postinst pkg_ QA_CONFIGURE_OPTIONS+=" --with-compiler --with-hc --with-hc-pkg --with-gcc" case "${EAPI:-0}" in - 2|3|4|5) HASKELL_CABAL_EXPF+=" src_configure" ;; + 2|3|4|5|6) HASKELL_CABAL_EXPF+=" src_configure" ;; *) ;; esac @@ -185,7 +185,9 @@ cabal-bootstrap() { elif [[ -f "${S}/Setup.hs" ]]; then setupmodule="${S}/Setup.hs" else - die "No Setup.lhs or Setup.hs found" + eqawarn "No Setup.lhs or Setup.hs found. Either add Setup.hs to package or call cabal-mksetup from ebuild" + cabal-mksetup + setupmodule="${S}/Setup.hs" fi if [[ -z "${CABAL_BOOTSTRAP}" && -z "${CABAL_FROM_GHC}" ]] && ! ghc-sanecabal "${CABAL_MIN_VERSION}"; then diff --git a/sdk_container/src/third_party/portage-stable/eclass/kde4-base.eclass b/sdk_container/src/third_party/portage-stable/eclass/kde4-base.eclass index b6258da4db..20a02d879a 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/kde4-base.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/kde4-base.eclass @@ -456,15 +456,12 @@ _calculate_src_uri() { 4.14.10) # Part of 15.04.3 actually, sigh. Not stable for next release! SRC_URI="mirror://kde/Attic/applications/15.04.3/src/${_kmname_pv}.tar.xz" ;; - 4.14.14) - # Part of 15.08.3 actually, sigh. Not stable for next release! - SRC_URI="mirror://kde/stable/applications/15.08.3/src/${_kmname_pv}.tar.xz" ;; - 4.14.15) - # Part of 15.12.0 actually, sigh. Not stable for next release! - SRC_URI="mirror://kde/stable/applications/15.12.0/src/${_kmname_pv}.tar.xz" ;; 4.14.16) # Part of 15.12.1 actually, sigh. Not stable for next release! SRC_URI="mirror://kde/stable/applications/15.12.1/src/${_kmname_pv}.tar.xz" ;; + 4.14.18) + # Part of 15.12.3 actually, sigh. Not stable for next release! + SRC_URI="mirror://kde/stable/applications/15.12.3/src/${_kmname_pv}.tar.xz" ;; 15.04.3) # Files moved to Attic SRC_URI="mirror://kde/Attic/applications/15.04.3/src/${_kmname_pv}.tar.xz" ;; @@ -480,6 +477,7 @@ _calculate_src_uri() { kdevelop|kdevelop-php*|kdevplatform) case ${KDEVELOP_VERSION} in 4.[123].[6-9]*) SRC_URI="mirror://kde/unstable/kdevelop/${KDEVELOP_VERSION}/src/${P}.tar.xz" ;; + 4.7.3) SRC_URI="mirror://kde/stable/kdevelop/${KDEVELOP_VERSION}/src/${P}.tar.bz2" ;; *) SRC_URI="mirror://kde/stable/kdevelop/${KDEVELOP_VERSION}/src/${P}.tar.xz" ;; esac ;; diff --git a/sdk_container/src/third_party/portage-stable/eclass/kde5-functions.eclass b/sdk_container/src/third_party/portage-stable/eclass/kde5-functions.eclass index ffdac918e4..6c137cd027 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/kde5-functions.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/kde5-functions.eclass @@ -17,7 +17,7 @@ inherit toolchain-funcs versionator # @ECLASS-VARIABLE: EAPI # @DESCRIPTION: -# Currently EAPI 5 is supported. +# Currently EAPI 5 and 6 is supported. case ${EAPI} in 5|6) ;; *) die "EAPI=${EAPI:-0} is not supported" ;; @@ -45,13 +45,9 @@ esac # @ECLASS-VARIABLE: KDEBASE # @DESCRIPTION: -# This gets set to a non-zero value when a package is considered a kde or +# This gets set to a non-zero value when a package is considered a # kdevelop ebuild. -if [[ ${CATEGORY} = kde-base ]]; then - KDEBASE=kde-base -elif [[ ${CATEGORY} = kde-frameworks ]]; then - KDEBASE=kde-frameworks -elif [[ ${KMNAME-${PN}} = kdevelop ]]; then +if [[ ${KMNAME-${PN}} = kdevelop ]]; then KDEBASE=kdevelop fi @@ -63,7 +59,7 @@ debug-print "${ECLASS}: ${KDEBASE} ebuild recognized" : ${KDE_SCM:=git} case ${KDE_SCM} in - svn|git) ;; + git) ;; *) die "KDE_SCM: ${KDE_SCM} is not supported" ;; esac @@ -156,7 +152,7 @@ add_frameworks_dep() { # @FUNCTION: add_plasma_dep # @USAGE: [USE flags] [minimum version] # @DESCRIPTION: -# Create proper dependency for kde-base/ dependencies. +# Create proper dependency for kde-plasma/ dependencies. # This takes 1 to 4 arguments. The first being the package name, the optional # second is additional USE flags to append, and the optional third is the # version to use instead of the automatic version (use sparingly). In addition, @@ -264,7 +260,7 @@ punt_bogus_dep() { local prefix=${1} local dep=${2} - pcregrep -Mni "(?s)find_package\s*\(\s*${prefix}.[^)]*?${dep}.*?\)" CMakeLists.txt > "${T}/bogus${dep}" + pcregrep -Mni "(?s)find_package\s*\(\s*${prefix}[^)]*?${dep}.*?\)" CMakeLists.txt > "${T}/bogus${dep}" # pcregrep returns non-zero on no matches/error if [[ $? != 0 ]] ; then @@ -278,7 +274,7 @@ punt_bogus_dep() { sed -e "${first},${last}s/${dep}//" -i CMakeLists.txt || die if [[ ${length} = 1 ]] ; then - sed -e "/find_package\s*(\s*${prefix}\s*REQUIRED\s*COMPONENTS\s*)/I d" -i CMakeLists.txt || die + sed -e "/find_package\s*(\s*${prefix}\s*\(REQUIRED\)*\s*\(COMPONENTS\)*\s*)/I d" -i CMakeLists.txt || die fi } diff --git a/sdk_container/src/third_party/portage-stable/eclass/kde5.eclass b/sdk_container/src/third_party/portage-stable/eclass/kde5.eclass index 1caeb38e16..406129e877 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/kde5.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/kde5.eclass @@ -23,7 +23,6 @@ inherit cmake-utils eutils flag-o-matic gnome2-utils kde5-functions versionator if [[ ${KDE_BUILD_TYPE} = live ]]; then case ${KDE_SCM} in - svn) inherit subversion ;; git) inherit git-r3 ;; esac fi @@ -44,7 +43,7 @@ EXPORT_FUNCTIONS pkg_pretend pkg_setup src_unpack src_prepare src_configure src_ # @ECLASS-VARIABLE: KDE_BLOCK_SLOT4 # @DESCRIPTION: # This variable is used when KDE_AUTODEPS is set. -# If set to "true", add RDEPEND block on kde-{base,apps}/${PN}:4 +# If set to "true", add RDEPEND block on kde-apps/${PN}:4 : ${KDE_BLOCK_SLOT4:=true} # @ECLASS-VARIABLE: KDE_DEBUG @@ -80,6 +79,8 @@ fi # If set to "false", do nothing. # Otherwise, add "+handbook" to IUSE, add the appropriate dependency, and # generate and install KDE handbook. +# If set to "optional", config with -DCMAKE_DISABLE_FIND_PACKAGE_KF5DocTools=ON +# when USE=!handbook. In case package requires KF5KDELibs4Support, see next: # If set to "forceoptional", remove a KF5DocTools dependency from the root # CMakeLists.txt in addition to the above. : ${KDE_HANDBOOK:=false} @@ -93,6 +94,8 @@ fi # @DESCRIPTION: # If set to "false", do nothing. # For any other value, add test to IUSE and add a dependency on dev-qt/qttest:5. +# If set to "optional", configure with -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Test=ON +# when USE=!test. # If set to "forceoptional", remove a Qt5Test dependency from the root # CMakeLists.txt in addition to the above. if [[ ${CATEGORY} = kde-frameworks ]]; then @@ -146,7 +149,7 @@ case ${KDE_AUTODEPS} in DEPEND+=" $(add_frameworks_dep extra-cmake-modules)" RDEPEND+=" >=kde-frameworks/kf-env-3" - COMMONDEPEND+=" >=dev-qt/qtcore-${QT_MINIMAL}:5" + COMMONDEPEND+=" $(add_qt_dep qtcore)" if [[ ${CATEGORY} = kde-frameworks || ${CATEGORY} = kde-plasma && ${PN} != polkit-kde-agent ]]; then RDEPEND+=" @@ -198,7 +201,7 @@ case ${KDE_TEST} in false) ;; *) IUSE+=" test" - DEPEND+=" test? ( >=dev-qt/qttest-${QT_MINIMAL}:5 )" + DEPEND+=" test? ( $(add_qt_dep qttest) )" ;; esac @@ -281,33 +284,6 @@ _calculate_live_repo() { SRC_URI="" case ${KDE_SCM} in - svn) - # @ECLASS-VARIABLE: ESVN_MIRROR - # @DESCRIPTION: - # This variable allows easy overriding of default kde mirror service - # (anonsvn) with anything else you might want to use. - ESVN_MIRROR=${ESVN_MIRROR:=svn://anonsvn.kde.org/home/kde} - - local branch_prefix="trunk/KDE" - - if [[ ${PV} == ??.??.49.9999 && ${CATEGORY} = kde-apps ]]; then - branch_prefix="branches/Applications/$(get_version_component_range 1-2)" - fi - - if [[ ${PV} != 9999 && ${CATEGORY} = kde-plasma ]]; then - branch_prefix="branches/plasma/$(get_version_component_range 1-2)" - fi - - local _kmname - - if [[ -n ${KMNAME} ]]; then - _kmname=${KMNAME} - else - _kmname=${PN} - fi - - ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${_kmname}" - ;; git) # @ECLASS-VARIABLE: EGIT_MIRROR # @DESCRIPTION: @@ -378,9 +354,6 @@ kde5_src_unpack() { if [[ ${KDE_BUILD_TYPE} = live ]]; then case ${KDE_SCM} in - svn) - subversion_src_unpack - ;; git) git-r3_src_unpack ;; @@ -418,13 +391,15 @@ kde5_src_prepare() { if [[ -d po ]] ; then pushd po > /dev/null || die for lang in *; do - if ! has ${lang} ${LINGUAS} ; then - if [[ ${lang} != CMakeLists.txt ]] ; then - rm -rf ${lang} - fi + if [[ -d ${lang} ]] && ! has ${lang} ${LINGUAS} ; then + rm -r ${lang} || die if [[ -e CMakeLists.txt ]] ; then cmake_comment_add_subdirectory ${lang} fi + elif ! has ${lang/.po/} ${LINGUAS} ; then + if [[ ${lang} != CMakeLists.txt ]] ; then + rm ${lang} || die + fi fi done popd > /dev/null || die @@ -491,6 +466,14 @@ kde5_src_configure() { if ! use_if_iuse test ; then cmakeargs+=( -DBUILD_TESTING=OFF ) + + if [[ ${KDE_TEST} = optional ]] ; then + cmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Test=ON ) + fi + fi + + if ! use_if_iuse handbook && [[ ${KDE_HANDBOOK} = optional ]] ; then + cmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_KF5DocTools=ON ) fi # install mkspecs in the same directory as qt stuff diff --git a/sdk_container/src/third_party/portage-stable/eclass/latex-package.eclass b/sdk_container/src/third_party/portage-stable/eclass/latex-package.eclass index 171110171d..a17e5b389f 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/latex-package.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/latex-package.eclass @@ -71,6 +71,13 @@ TEXMF="/usr/share/texmf-site" # DESCRIPTION above) SUPPLIER="misc" +# @ECLASS-VARIABLE: LATEX_DOC_ARGUMENTS +# @DESCRIPTION: +# When compiling documentation (.tex/.dtx), this variable will be passed +# to pdflatex as additional argument (e.g. -shell-escape). This variable +# must be set after inherit, as it gets automatically cleared otherwise. +LATEX_DOC_ARGUMENTS="" + # Kept for backwards compatibility latex-package_has_tetex_3() { case ${EAPI:-0} in @@ -128,8 +135,8 @@ latex-package_src_doinstall() { for i in `find . -maxdepth 1 -type f -name "*.${1}"` do einfo "Making documentation: $i" - if pdflatex --interaction=batchmode $i &> /dev/null ; then - pdflatex --interaction=batchmode $i &> /dev/null || die + if pdflatex ${LATEX_DOC_ARGUMENTS} --interaction=batchmode $i &> /dev/null ; then + pdflatex ${LATEX_DOC_ARGUMENTS} --interaction=batchmode $i &> /dev/null || die else einfo "pdflatex failed, trying texi2dvi" texi2dvi -q -c --language=latex $i &> /dev/null || die diff --git a/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.45.eclass b/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.45.eclass new file mode 100644 index 0000000000..1878b7a9d0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.45.eclass @@ -0,0 +1,346 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ +# +# @ECLASS: mozconfig-v6.45.eclass +# @MAINTAINER: +# mozilla team +# @BLURB: the new mozilla common configuration eclass for FF33 and newer, v6 +# @DESCRIPTION: +# This eclass is used in mozilla ebuilds (firefox, thunderbird, seamonkey) +# to provide a single common place for the common mozilla engine compoments. +# +# The eclass provides all common dependencies as well as common use flags. +# +# Some use flags which may be optional in particular mozilla packages can be +# supported through setting eclass variables. +# +# This eclass inherits mozconfig helper functions as defined in mozcoreconf-v3, +# and so ebuilds inheriting this eclass do not need to inherit that. + +case ${EAPI} in + 0|1|2|3|4) + die "EAPI=${EAPI} not supported" + ;; + 5) + # not needed for EAPI6 and above + inherit multilib + ;; +esac + +inherit flag-o-matic toolchain-funcs mozcoreconf-v3 + +# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_WIFI +# @DESCRIPTION: +# Set this variable before the inherit line, when an ebuild needs to provide +# optional necko-wifi support via IUSE="wifi". Currently this would include +# ebuilds for firefox, and potentially seamonkey. +# +# Leave the variable UNSET if necko-wifi support should not be available. +# Set the variable to "enabled" if the use flag should be enabled by default. +# Set the variable to any value if the use flag should exist but not be default-enabled. + +# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_JIT +# @DESCRIPTION: +# Set this variable before the inherit line, when an ebuild needs to provide +# optional necko-wifi support via IUSE="jit". Currently this would include +# ebuilds for firefox, and potentially seamonkey. +# +# Leave the variable UNSET if optional jit support should not be available. +# Set the variable to "enabled" if the use flag should be enabled by default. +# Set the variable to any value if the use flag should exist but not be default-enabled. + +# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_GTK3 +# @DESCRIPTION: +# Set this variable before the inherit line, when an ebuild can provide +# optional gtk3 support via IUSE="gtk3". Currently this would include +# ebuilds for firefox, but thunderbird and seamonkey could follow in the future. +# +# Leave the variable UNSET if gtk3 support should not be available. +# Set the variable to "enabled" if the use flag should be enabled by default. +# Set the variable to any value if the use flag should exist but not be default-enabled. + +# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_QT5 +# @DESCRIPTION: +# Set this variable before the inherit line, when an ebuild can provide +# optional qt5 support via IUSE="qt5". Currently this would include +# ebuilds for firefox, but thunderbird and seamonkey could follow in the future. +# +# Leave the variable UNSET if qt5 support should not be available. +# Set the variable to "enabled" if the use flag should be enabled by default. +# Set the variable to any value if the use flag should exist but not be default-enabled. + +# use-flags common among all mozilla ebuilds +IUSE="${IUSE} dbus debug ffmpeg +gstreamer gstreamer-0 +jemalloc3 neon pulseaudio selinux startup-notification system-cairo + system-icu system-jpeg system-libevent system-sqlite system-libvpx" + +# some notes on deps: +# gtk:2 minimum is technically 2.10 but gio support (enabled by default) needs 2.14 +# media-libs/mesa needs to be 10.2 or above due to a bug with flash+vdpau + +RDEPEND=">=app-text/hunspell-1.2 + dev-libs/atk + dev-libs/expat + >=x11-libs/cairo-1.10[X] + >=x11-libs/gtk+-2.18:2 + x11-libs/gdk-pixbuf + >=x11-libs/pango-1.22.0 + >=media-libs/libpng-1.6.19:0=[apng] + >=media-libs/mesa-10.2:* + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + kernel_linux? ( media-libs/alsa-lib ) + pulseaudio? ( media-sound/pulseaudio ) + virtual/freedesktop-icon-theme + dbus? ( >=sys-apps/dbus-0.60 + >=dev-libs/dbus-glib-0.72 ) + startup-notification? ( >=x11-libs/startup-notification-0.8 ) + >=dev-libs/glib-2.26:2 + >=sys-libs/zlib-1.2.3 + >=virtual/libffi-3.0.10 + ffmpeg? ( virtual/ffmpeg ) + gstreamer? ( + >=media-libs/gstreamer-1.4.5:1.0 + >=media-libs/gst-plugins-base-1.4.5:1.0 + >=media-libs/gst-plugins-good-1.4.5:1.0 + >=media-plugins/gst-plugins-libav-1.4.5:1.0 + ) + gstreamer-0? ( + >=media-libs/gstreamer-0.10.25:0.10 + media-plugins/gst-plugins-meta:0.10[ffmpeg] + ) + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrender + x11-libs/libXt + system-cairo? ( >=x11-libs/cairo-1.12[X,xcb] >=x11-libs/pixman-0.19.2 ) + system-icu? ( >=dev-libs/icu-51.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) + system-libevent? ( =dev-libs/libevent-2.0*:0= ) + system-sqlite? ( >=dev-db/sqlite-3.9.1:3[secure-delete,debug=] ) + system-libvpx? ( >=media-libs/libvpx-1.3.0:0=[postproc] ) +" + +if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then + if [[ ${MOZCONFIG_OPTIONAL_GTK3} = "enabled" ]]; then + IUSE+=" +gtk3" + else + IUSE+=" gtk3" + fi + RDEPEND+=" + gtk3? ( >=x11-libs/gtk+-3.4.0:3 )" +fi +if [[ -n ${MOZCONFIG_OPTIONAL_QT5} ]]; then + inherit qmake-utils + if [[ ${MOZCONFIG_OPTIONAL_QT5} = "enabled" ]]; then + IUSE+=" +qt5" + else + IUSE+=" qt5" + fi + RDEPEND+=" + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtnetwork:5 + dev-qt/qtprintsupport:5 + dev-qt/qtwidgets:5 + dev-qt/qtxml:5 + dev-qt/qtdeclarative:5 + )" +fi +if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]]; then + if [[ ${MOZCONFIG_OPTIONAL_WIFI} = "enabled" ]]; then + IUSE+=" +wifi" + else + IUSE+=" wifi" + fi + RDEPEND+=" + wifi? ( + kernel_linux? ( >=sys-apps/dbus-0.60 + >=dev-libs/dbus-glib-0.72 + net-misc/networkmanager ) + )" +fi +if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then + if [[ ${MOZCONFIG_OPTIONAL_JIT} = "enabled" ]]; then + IUSE+=" +jit" + else + IUSE+=" jit" + fi +fi + +DEPEND="app-arch/zip + app-arch/unzip + >=sys-devel/binutils-2.16.1 + ${RDEPEND}" + +RDEPEND+=" + selinux? ( sec-policy/selinux-mozilla )" + +# only one of gstreamer and gstreamer-0 can be enabled at a time, so set REQUIRED_USE to signify this +REQUIRED_USE="?? ( gstreamer gstreamer-0 )" + +# only one of gtk3 or qt5 should be permitted to be selected, since only one will be used. +[[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]] && [[ -n ${MOZCONFIG_OPTIONAL_QT5} ]] && \ + REQUIRED_USE+=" ?? ( gtk3 qt5 )" + +# @FUNCTION: mozconfig_config +# @DESCRIPTION: +# Set common configure options for mozilla packages. +# Call this within src_configure() phase, after mozconfig_init +# +# Example: +# +# inherit mozconfig-v5.33 +# +# src_configure() { +# mozconfig_init +# mozconfig_config +# # ... misc ebuild-unique settings via calls to +# # ... mozconfig_{annotate,use_with,use_enable} +# mozconfig_final +# } + +mozconfig_config() { + # Migrated from mozcoreconf-2 + mozconfig_annotate 'system_libs' \ + --with-system-zlib \ + --enable-pango \ + --enable-svg \ + --with-system-bz2 + + if has bindist ${IUSE}; then + mozconfig_use_enable !bindist official-branding + if [[ ${PN} == firefox ]] && use bindist ; then + mozconfig_annotate '' --with-branding=browser/branding/aurora + fi + fi + + mozconfig_use_enable debug + mozconfig_use_enable debug tests + + if ! use debug ; then + mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols + else + mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols + fi + + mozconfig_use_enable startup-notification + + if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]] ; then + # wifi pulls in dbus so manage both here + mozconfig_use_enable wifi necko-wifi + if use kernel_linux && use wifi && ! use dbus; then + echo "Enabling dbus support due to wifi request" + mozconfig_annotate 'dbus required by necko-wifi on linux' --enable-dbus + else + mozconfig_use_enable dbus + fi + else + mozconfig_use_enable dbus + mozconfig_annotate 'disabled' --disable-necko-wifi + fi + + # These are forced-on for webm support + mozconfig_annotate 'required' --enable-ogg + mozconfig_annotate 'required' --enable-wave + + if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then + mozconfig_use_enable jit ion + fi + + # These are enabled by default in all mozilla applications + mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${EPREFIX}"/usr + mozconfig_annotate '' --with-system-nss --with-nss-prefix="${EPREFIX}"/usr + mozconfig_annotate '' --x-includes="${EPREFIX}"/usr/include --x-libraries="${EPREFIX}"/usr/$(get_libdir) + if use system-libevent; then + mozconfig_annotate '' --with-system-libevent="${EPREFIX}"/usr + fi + mozconfig_annotate '' --prefix="${EPREFIX}"/usr + mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir) + mozconfig_annotate 'Gentoo default' --enable-system-hunspell + mozconfig_annotate '' --disable-gnomeui + mozconfig_annotate '' --enable-gio + mozconfig_annotate '' --disable-crashreporter + mozconfig_annotate 'Gentoo default' --with-system-png + mozconfig_annotate '' --enable-system-ffi + mozconfig_annotate 'Gentoo default to honor system linker' --disable-gold + mozconfig_annotate 'Gentoo default' --disable-skia + mozconfig_annotate '' --disable-gconf + mozconfig_annotate '' --with-intl-api + + # default toolkit is cairo-gtk2, optional use flags can change this + local toolkit="cairo-gtk2" + local toolkit_comment="" + if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then + if use gtk3; then + toolkit="cairo-gtk3" + toolkit_comment="gtk3 use flag" + fi + fi + if [[ -n ${MOZCONFIG_OPTIONAL_QT5} ]]; then + if use qt5; then + toolkit="cairo-qt" + toolkit_comment="qt5 use flag" + # need to specify these vars because the qt5 versions are not found otherwise, + # and setting --with-qtdir overrides the pkg-config include dirs + local i + for i in qmake moc rcc; do + echo "export HOST_${i^^}=\"$(qt5_get_bindir)/${i}\"" \ + >> "${S}"/.mozconfig || die + done + echo 'unset QTDIR' >> "${S}"/.mozconfig || die + mozconfig_annotate '+qt5' --disable-gio + fi + fi + mozconfig_annotate "${toolkit_comment}" --enable-default-toolkit=${toolkit} + + # Use jemalloc unless libc is not glibc >= 2.4 + # at this time the minimum glibc in the tree is 2.9 so we should be safe. + if use elibc_glibc && use jemalloc3; then + # We must force-enable jemalloc 3 via .mozconfig + echo "export MOZ_JEMALLOC3=1" >> "${S}"/.mozconfig || die + mozconfig_annotate '' --enable-jemalloc + mozconfig_annotate '' --enable-replace-malloc + fi + + mozconfig_annotate '' --target="${CTARGET:-${CHOST}}" + mozconfig_annotate '' --build="${CTARGET:-${CHOST}}" + + use ffmpeg || mozconfig_annotate '-ffmpeg' --disable-ffmpeg + if use gstreamer ; then + use ffmpeg && einfo "${PN} will not use ffmpeg unless gstreamer:1.0 is not available at runtime" + mozconfig_annotate '+gstreamer' --enable-gstreamer=1.0 + elif use gstreamer-0 ; then + use ffmpeg && einfo "${PN} will not use ffmpeg unless gstreamer:0.10 is not available at runtime" + mozconfig_annotate '+gstreamer-0' --enable-gstreamer=0.10 + else + mozconfig_annotate '' --disable-gstreamer + fi + mozconfig_use_enable pulseaudio + + mozconfig_use_enable system-cairo + mozconfig_use_enable system-sqlite + mozconfig_use_with system-jpeg + mozconfig_use_with system-icu + mozconfig_use_with system-libvpx + + # Modifications to better support ARM, bug 553364 + if use neon ; then + mozconfig_annotate '' --with-fpu=neon + mozconfig_annotate '' --with-thumb=yes + mozconfig_annotate '' --with-thumb-interwork=no + fi + if [[ ${CHOST} == armv* ]] ; then + mozconfig_annotate '' --with-float-abi=hard + mozconfig_annotate '' --enable-skia + + if ! use system-libvpx ; then + sed -i -e "s|softfp|hard|" \ + "${S}"/media/libvpx/moz.build + fi + fi +} diff --git a/sdk_container/src/third_party/portage-stable/eclass/mozcoreconf-v3.eclass b/sdk_container/src/third_party/portage-stable/eclass/mozcoreconf-v3.eclass index 62751ba82d..5060c7385c 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mozcoreconf-v3.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mozcoreconf-v3.eclass @@ -13,7 +13,7 @@ if [[ ! ${_MOZCORECONF_V3} ]]; then PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE='threads,sqlite' +PYTHON_REQ_USE='ncurses,sqlite,ssl,threads' inherit multilib flag-o-matic python-any-r1 versionator diff --git a/sdk_container/src/third_party/portage-stable/eclass/mozlinguas.eclass b/sdk_container/src/third_party/portage-stable/eclass/mozlinguas.eclass index 4bd0a8d181..8e9f409e4f 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mozlinguas.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mozlinguas.eclass @@ -19,7 +19,7 @@ inherit mozextension case "${EAPI:-0}" in 0|1) die "EAPI ${EAPI:-0} does not support the '->' SRC_URI operator";; - 2|3|4|5) + 2|3|4|5|6) EXPORT_FUNCTIONS src_unpack src_compile src_install;; *) die "EAPI ${EAPI} is not supported, contact eclass maintainers";; diff --git a/sdk_container/src/third_party/portage-stable/eclass/mysql-multilib-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/mysql-multilib-r1.eclass index 65ebe85a2a..b18ebd085e 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mysql-multilib-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mysql-multilib-r1.eclass @@ -212,7 +212,8 @@ DEPEND="${DEPEND} # For other stuff to bring us in # dev-perl/DBD-mysql is needed by some scripts installed by MySQL PDEPEND="${PDEPEND} perl? ( >=dev-perl/DBD-mysql-2.9004 ) - ~virtual/mysql-${MYSQL_PV_MAJOR}" + ~virtual/mysql-${MYSQL_PV_MAJOR}[embedded=,static=] + virtual/libmysqlclient:${SLOT}[${MULTILIB_USEDEP},static-libs=]" # my_config.h includes ABI specific data MULTILIB_WRAPPED_HEADERS=( /usr/include/mysql/my_config.h /usr/include/mysql/private/embedded_priv.h ) @@ -400,6 +401,7 @@ multilib_src_configure() { -DWITH_DEFAULT_COMPILER_OPTIONS=0 -DWITH_DEFAULT_FEATURE_SET=0 -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)" + -DENABLE_STATIC_LIBS=$(usex static-libs) ) if in_iuse systemd ; then diff --git a/sdk_container/src/third_party/portage-stable/eclass/toolchain-binutils.eclass b/sdk_container/src/third_party/portage-stable/eclass/toolchain-binutils.eclass index 9d513ad0c4..a23300ffda 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/toolchain-binutils.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/toolchain-binutils.eclass @@ -92,15 +92,12 @@ IUSE="cxx multislot multitarget nls static-libs test vanilla" if version_is_at_least 2.19 ; then IUSE+=" zlib" fi -if ! version_is_at_least 2.25 || [[ ${BTYPE} != "rel" ]] || is_cross || use multislot ; then - SLOT="${BVER}" -else - SLOT="0" -fi +SLOT="${BVER}" RDEPEND=">=sys-devel/binutils-config-3" in_iuse zlib && RDEPEND+=" zlib? ( sys-libs/zlib )" DEPEND="${RDEPEND} + !multislot? ( !<${CATEGORY}/${P} ) test? ( dev-util/dejagnu ) nls? ( sys-devel/gettext ) sys-devel/flex diff --git a/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass b/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass index 23b0fa77b3..03e550dd6f 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass @@ -159,15 +159,7 @@ fi IUSE+=" ${IUSE_DEF[*]/#/+}" -# Support upgrade paths here or people get pissed -if ! tc_version_is_at_least 4.8 || is_crosscompile || use multislot || [[ ${GCC_PV} == *_alpha* ]] ; then - SLOT="${GCC_CONFIG_VER}" -elif ! tc_version_is_at_least 5.0 ; then - SLOT="${GCC_BRANCH_VER}" -else - # Upstream changed versioning w/gcc-5+, so SLOT matches major only. #555164 - SLOT="${GCCMAJOR}" -fi +SLOT="${GCC_CONFIG_VER}" #---->> DEPEND <<---- @@ -1692,10 +1684,12 @@ toolchain_src_install() { ln -sf ${CTARGET}-${x} ${CTARGET}-${x}-${GCC_CONFIG_VER} fi done - # Clear out the main go binaries as we don't want to clobber dev-lang/go + # Rename the main go binaries as we don't want to clobber dev-lang/go # when gcc-config runs. #567806 if tc_version_is_at_least 5 && is_go ; then - rm -f go gofmt + for x in go gofmt; do + mv ${x} ${x}-${GCCMAJOR} || die + done fi # Now do the fun stripping stuff diff --git a/sdk_container/src/third_party/portage-stable/eclass/unpacker.eclass b/sdk_container/src/third_party/portage-stable/eclass/unpacker.eclass index 7ff0068564..610765fbca 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/unpacker.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/unpacker.eclass @@ -440,6 +440,9 @@ unpacker_src_uri_depends() { case ${uri} in *.cpio.*|*.cpio) d="app-arch/cpio" ;; + *.deb) + # platforms like AIX don't have a good ar + d="kernel_AIX? ( app-arch/deb2targz )" ;; *.rar|*.RAR) d="app-arch/unrar" ;; *.7z) diff --git a/sdk_container/src/third_party/portage-stable/eclass/vmware-bundle.eclass b/sdk_container/src/third_party/portage-stable/eclass/vmware-bundle.eclass index 6a897bb267..3b019e9ecc 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/vmware-bundle.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/vmware-bundle.eclass @@ -72,11 +72,15 @@ vmware-bundle_extract-component() { head -c$((component_manifestSize)) | xsltproc "${T}"/list-component-files.xsl - | while read -r file_offset file_compressedSize file_uncompressedSize file_path ; do if [[ ${file_path} ]] ; then - echo -n '.' file_path="${dest}/${file_path}" mkdir -p "$(dirname "${file_path}")" || die - tail -c+$((offset+component_dataOffset+file_offset+1)) "${component}" 2> /dev/null | - head -c$((file_compressedSize)) | gzip -cd > "${file_path}" || die + if [[ ${file_compressedSize} -gt 0 ]] ; then + echo -n '.' + tail -c+$((offset+component_dataOffset+file_offset+1)) "${component}" 2> /dev/null | + head -c$((file_compressedSize)) | gzip -cd > "${file_path}" || die + else + echo -n 'x' + fi fi done echo