summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-10-22 11:09:47 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-10-22 11:09:47 +0100
commit64e107b9b6058580ff0432107eb37cefb0b2a7d8 (patch)
tree9a44e603e2ae365e2b1fe35ac37f73e830cdee1d /eclass
parent957235cf19a691360c720f7913672adda4258ed0 (diff)
gentoo resync : 22.10.2018
Diffstat (limited to 'eclass')
-rw-r--r--eclass/Manifest.gzbin37617 -> 37609 bytes
-rw-r--r--eclass/cargo.eclass6
-rw-r--r--eclass/cmake-multilib.eclass7
-rw-r--r--eclass/enlightenment.eclass185
-rw-r--r--eclass/kde5-functions.eclass17
-rw-r--r--eclass/rust-toolchain.eclass120
-rw-r--r--eclass/waf-utils.eclass10
7 files changed, 141 insertions, 204 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz
index 78505268f5e9..8259f09a1e1a 100644
--- a/eclass/Manifest.gz
+++ b/eclass/Manifest.gz
Binary files differ
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index bb27aa315ee2..50f7830c51bc 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: cargo.eclass
@@ -16,8 +16,8 @@ CARGO_DEPEND=""
[[ ${CATEGORY}/${PN} != dev-util/cargo ]] && CARGO_DEPEND="virtual/cargo"
case ${EAPI} in
- 6) : DEPEND="${DEPEND} ${CARGO_DEPEND}";;
- 7) : BDEPEND="${BDEPEND} ${CARGO_DEPEND}";;
+ 6) DEPEND="${CARGO_DEPEND}";;
+ 7) BDEPEND="${CARGO_DEPEND}";;
*) die "EAPI=${EAPI:-0} is not supported" ;;
esac
diff --git a/eclass/cmake-multilib.eclass b/eclass/cmake-multilib.eclass
index 1ffb3e3f08f2..7c65e11536b3 100644
--- a/eclass/cmake-multilib.eclass
+++ b/eclass/cmake-multilib.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: cmake-multilib.eclass
@@ -6,7 +6,7 @@
# gx86-multilib team <multilib@gentoo.org>
# @AUTHOR:
# Author: Michał Górny <mgorny@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6
+# @SUPPORTED_EAPIS: 6
# @BLURB: cmake-utils wrapper for multilib builds
# @DESCRIPTION:
# The cmake-multilib.eclass provides a glue between cmake-utils.eclass(5)
@@ -19,9 +19,8 @@
# in multilib-minimal, yet they ought to call appropriate cmake-utils
# phase rather than 'default'.
-# EAPI=5 is required for meaningful MULTILIB_USEDEP.
case ${EAPI:-0} in
- 5|6) ;;
+ 6) ;;
*) die "EAPI=${EAPI} is not supported" ;;
esac
diff --git a/eclass/enlightenment.eclass b/eclass/enlightenment.eclass
deleted file mode 100644
index 1de976c32d9c..000000000000
--- a/eclass/enlightenment.eclass
+++ /dev/null
@@ -1,185 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# @DEAD
-# Joonas Niilola <juippis@gmail.com> (18 Aug 2018)
-# Outdated, unmaintained, not being used by any package in the tree,
-# has unattended bugs open.
-# Bug: #666460. Removal in ~30 days.
-
-# @ECLASS: enlightenment.eclass
-# @MAINTAINER:
-# maintainer-needed@gentoo.org
-# @BLURB: simplify enlightenment package management
-
-if [[ -z ${_ENLIGHTENMENT_ECLASS} ]]; then
-_ENLIGHTENMENT_ECLASS=1
-
-inherit epatch epunt-cxx libtool
-
-# @ECLASS-VARIABLE: E_PYTHON
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# if defined, the package is based on Python/distutils
-
-# @ECLASS-VARIABLE: E_CYTHON
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# if defined, the package is Cython bindings (implies E_PYTHON)
-
-# @ECLASS-VARIABLE: E_ECONF
-# @DESCRIPTION:
-# Array of flags to pass to econf (obsoletes MY_ECONF)
-E_ECONF=()
-
-# E_STATE's:
-# release [default]
-# SRC_URI $P.tar.gz
-# S $WORKDIR/$P
-#
-# snap $PV has .200##### datestamp or .### counter
-# SRC_URI $P.tar.bz2
-# S $WORKDIR/$P
-#
-# live $PV has a 9999 marker
-# KEYWORDS ""
-# SRC_URI git/etc... up
-# S $WORKDIR/$E_S_APPEND
-#
-# Overrides:
-# KEYWORDS EKEY_STATE
-# SRC_URI EURI_STATE
-# S EURI_STATE
-
-E_LIVE_SERVER_DEFAULT_GIT="https://git.enlightenment.org"
-
-E_STATE="release"
-if [[ ${PV} == *9999* ]] ; then
- if [[ ${EGIT_URI_APPEND} ]] ; then
- E_LIVE_SERVER=${E_LIVE_SERVER:-${E_LIVE_SERVER_DEFAULT_GIT}}
- EGIT_URI_APPEND=${EGIT_URI_APPEND:-${PN}}
- EGIT_PROJECT="enlightenment/${EGIT_SUB_PROJECT}/${EGIT_URI_APPEND}"
- EGIT_REPO_URI=${EGIT_SERVER:-${E_LIVE_SERVER_DEFAULT_GIT}}/${EGIT_SUB_PROJECT}/${EGIT_URI_APPEND}.git
- E_S_APPEND=${EGIT_URI_APPEND}
- E_LIVE_SOURCE="git"
- inherit git-2
- fi
- E_STATE="live"
- WANT_AUTOTOOLS="yes"
-
-elif [[ -n ${E_SNAP_DATE} ]] ; then
- E_STATE="snap"
-else
- E_STATE="release"
-fi
-
-# Parse requested python state
-: ${E_PYTHON:=${E_CYTHON}}
-if [[ -n ${E_PYTHON} ]] ; then
- PYTHON_DEPEND="2"
-
- inherit python
-fi
-
-if [[ ${WANT_AUTOTOOLS} == "yes" ]] ; then
- WANT_AUTOCONF=${E_WANT_AUTOCONF:-latest}
- WANT_AUTOMAKE=${E_WANT_AUTOMAKE:-latest}
- inherit autotools
-fi
-
-ENLIGHTENMENT_EXPF="src_unpack src_compile src_install"
-case "${EAPI:-0}" in
-2|3|4|5) ENLIGHTENMENT_EXPF+=" src_prepare src_configure" ;;
-*) ;;
-esac
-EXPORT_FUNCTIONS ${ENLIGHTENMENT_EXPF}
-
-DESCRIPTION="An Enlightenment Foundation production"
-HOMEPAGE="https://www.enlightenment.org"
-if [[ -z ${SRC_URI} ]] ; then
- case ${EURI_STATE:-${E_STATE}} in
- release) SRC_URI="mirror://sourceforge/enlightenment/${P}.tar.gz";;
- snap) SRC_URI="http://download.enlightenment.org/snapshots/${E_SNAP_DATE}/${P}.tar.bz2";;
- live) SRC_URI="";;
- esac
-fi
-
-LICENSE="BSD"
-SLOT="0"
-IUSE="nls doc"
-
-DEPEND="doc? ( app-doc/doxygen )
- ${E_PYTHON:+>=dev-python/setuptools-0.6_rc9}
- ${E_CYTHON:+>=dev-python/cython-0.12.1}"
-RDEPEND="nls? ( sys-devel/gettext )"
-
-case ${EURI_STATE:-${E_STATE}} in
- release) S=${WORKDIR}/${P};;
- snap) S=${WORKDIR}/${P};;
- live) S=${WORKDIR}/${E_S_APPEND};;
-esac
-
-enlightenment_src_unpack() {
- if [[ ${E_STATE} == "live" ]] ; then
- case ${E_LIVE_SOURCE} in
- git) git-2_src_unpack;;
- *) die "eek!";;
- esac
- else
- unpack ${A}
- fi
- if ! has src_prepare ${ENLIGHTENMENT_EXPF} ; then
- cd "${S}" || die
- enlightenment_src_prepare
- fi
-}
-
-enlightenment_src_prepare() {
- epatch_user
- [[ -s gendoc ]] && chmod a+rx gendoc
- if [[ ${WANT_AUTOTOOLS} == "yes" ]] ; then
- [[ -d po ]] && eautopoint -f
- # autotools require README, when README.in is around, but README
- # is created later in configure step
- [[ -f README.in ]] && touch README
- eautoreconf
- fi
- epunt_cxx
- elibtoolize
-}
-
-enlightenment_src_configure() {
- # gstreamer sucks, work around it doing stupid stuff
- export GST_REGISTRY="${S}/registry.xml"
- has static-libs ${IUSE} && E_ECONF+=( $(use_enable static-libs static) )
-
- econf ${MY_ECONF} "${E_ECONF[@]}"
-}
-
-enlightenment_src_compile() {
- has src_configure ${ENLIGHTENMENT_EXPF} || enlightenment_src_configure
-
- V=1 emake || die
-
- if use doc ; then
- if [[ -x ./gendoc ]] ; then
- ./gendoc || die
- elif emake -j1 -n doc >&/dev/null ; then
- V=1 emake doc || die
- fi
- fi
-}
-
-enlightenment_src_install() {
- V=1 emake install DESTDIR="${D}" || die
- find "${D}" '(' -name CVS -o -name -o -name .git ')' -type d -exec rm -rf '{}' \; 2>/dev/null
- for d in AUTHORS ChangeLog NEWS README TODO ${EDOCS}; do
- [[ -f ${d} ]] && dodoc ${d}
- done
- use doc && [[ -d doc ]] && dohtml -r doc/*
- if has static-libs ${IUSE} ; then
- use static-libs || find "${D}" -name '*.la' -exec rm -f {} +
- fi
-}
-
-fi
diff --git a/eclass/kde5-functions.eclass b/eclass/kde5-functions.eclass
index 8994bf8d9732..a42d0c240c5a 100644
--- a/eclass/kde5-functions.eclass
+++ b/eclass/kde5-functions.eclass
@@ -37,11 +37,15 @@ case ${CATEGORY} in
[[ ${KDE_BUILD_TYPE} = live ]] && : ${FRAMEWORKS_MINIMAL:=9999}
;;
kde-plasma)
- if [[ ${PV} = 5.12.5* ]]; then
- : ${FRAMEWORKS_MINIMAL:=5.43.0}
- : ${QT_MINIMAL:=5.9.1}
+ if [[ ${PV} = 5.12* ]]; then
+ : ${FRAMEWORKS_MINIMAL:=5.46.0}
+ : ${KDE_APPS_MINIMAL:=17.12.3}
+ : ${QT_MINIMAL:=5.9.4}
+ fi
+ if [[ ${PV} = 5.13.5 ]]; then
+ : ${FRAMEWORKS_MINIMAL:=5.46.0}
+ : ${KDE_APPS_MINIMAL:=17.12.3}
fi
- [[ ${PV} = 5.12* ]] && : ${QT_MINIMAL:=5.9.4}
if [[ ${KDE_BUILD_TYPE} = live && ${PV} != 5.??.49* ]]; then
: ${FRAMEWORKS_MINIMAL:=9999}
fi
@@ -49,7 +53,6 @@ case ${CATEGORY} in
;;
kde-apps)
[[ ${PV} = 18.04.3 ]] && : ${FRAMEWORKS_MINIMAL:=5.46.0}
- : ${FRAMEWORKS_MINIMAL:=5.49.0}
;;
esac
@@ -61,7 +64,7 @@ esac
# @ECLASS-VARIABLE: FRAMEWORKS_MINIMAL
# @DESCRIPTION:
# Minimum version of Frameworks to require. This affects add_frameworks_dep.
-: ${FRAMEWORKS_MINIMAL:=5.46.0}
+: ${FRAMEWORKS_MINIMAL:=5.50.0}
# @ECLASS-VARIABLE: PLASMA_MINIMAL
# @DESCRIPTION:
@@ -71,7 +74,7 @@ esac
# @ECLASS-VARIABLE: KDE_APPS_MINIMAL
# @DESCRIPTION:
# Minimum version of KDE Applications to require. This affects add_kdeapps_dep.
-: ${KDE_APPS_MINIMAL:=17.12.3}
+: ${KDE_APPS_MINIMAL:=18.04.3}
# @ECLASS-VARIABLE: KDE_GCC_MINIMAL
# @DEFAULT_UNSET
diff --git a/eclass/rust-toolchain.eclass b/eclass/rust-toolchain.eclass
new file mode 100644
index 000000000000..26c803adf007
--- /dev/null
+++ b/eclass/rust-toolchain.eclass
@@ -0,0 +1,120 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: rust-toolchain.eclass
+# @MAINTAINER:
+# Rust Project <rust@gentoo.org>
+# @SUPPORTED_EAPIS: 6
+# @BLURB: helps map gentoo arches to rust ABIs
+# @DESCRIPTION:
+# This eclass contains a src_unpack default phase function, and
+# helper functions, to aid in proper rust-ABI handling for various
+# gentoo arches.
+
+case ${EAPI} in
+ 6) : ;;
+ 7) : ;;
+ *) die "EAPI=${EAPI:-0} is not supported" ;;
+esac
+
+inherit multilib-build
+
+# @ECLASS-VARIABLE: RUST_TOOLCHAIN_BASEURL
+# @DESCRIPTION:
+# This variable specifies the base URL used by the
+# rust_arch_uri and rust_all_arch_uris functions when
+# generating the URI output list.
+: ${RUST_TOOLCHAIN_BASEURL:=https://static.rust-lang.org/dist/}
+
+# @FUNCTION: rust_abi
+# @USAGE: [CHOST-value]
+# @DESCRIPTION:
+# Outputs the Rust ABI name from a CHOST value, uses CHOST in the
+# environment if none is specified.
+
+rust_abi() {
+ local CTARGET=${1:-${CHOST}}
+ case ${CTARGET%%*-} in
+ aarch64*) echo aarch64-unknown-linux-gnu;;
+ mips64*) echo mips64-unknown-linux-gnuabi64;;
+ powerpc64le*) echo powerpc64le-unknown-linux-gnu;;
+ powerpc64*) echo powerpc64-unknown-linux-gnu;;
+ x86_64*) echo x86_64-unknown-linux-gnu;;
+ armv6j*s*) echo arm-unknown-linux-gnueabi;;
+ armv6j*h*) echo arm-unknown-linux-gnueabihf;;
+ armv7a*h*) echo armv7-unknown-linux-gnueabihf;;
+ i?86*) echo i686-unknown-linux-gnu;;
+ mipsel*) echo mipsel-unknown-linux-gnu;;
+ mips*) echo mips-unknown-linux-gnu;;
+ powerpc*) echo powerpc-unknown-linux-gnu;;
+ s390x*) echo s390x-unknown-linux-gnu;;
+ *) echo ${CTARGET};;
+ esac
+}
+
+# @FUNCTION: rust_all_abis
+# @DESCRIPTION:
+# Outputs a list of all the enabled Rust ABIs
+rust_all_abis() {
+ if use multilib; then
+ local abi
+ local ALL_ABIS=()
+ for abi in $(multilib_get_enabled_abis); do
+ ALL_ABIS+=( $(rust_abi $(get_abi_CHOST ${abi})) )
+ done
+ local abi_list
+ IFS=, eval 'abi_list=${ALL_ABIS[*]}'
+ echo ${abi_list}
+ else
+ rust_abi
+ fi
+}
+
+# @FUNCTION: rust_arch_uri
+# @USAGE: <rust-ABI> <base-uri> [alt-distfile-basename]
+# @DESCRIPTION:
+# Output the URI for use in SRC_URI, combining $RUST_TOOLCHAIN_BASEURL
+# and the URI suffix provided in ARG2 with the rust ABI in ARG1, and
+# optionally renaming to the distfile basename specified in ARG3.
+#
+# @EXAMPLE:
+# SRC_URI="amd64? (
+# $(rust_arch_uri x86_64-unknown-linux-gnu rustc-${STAGE0_VERSION})
+# )"
+#
+rust_arch_uri() {
+ if [ -n "$3" ]; then
+ echo "${RUST_TOOLCHAIN_BASEURL}${2}-${1}.tar.xz -> ${3}-${1}.tar.xz"
+ else
+ echo "${RUST_TOOLCHAIN_BASEURL}${2}-${1}.tar.xz"
+ fi
+}
+
+# @FUNCTION: rust_all_arch_uris
+# @USAGE <base-uri> [alt-distfile-basename]
+# @DESCRIPTION:
+# Outputs the URIs for SRC_URI to help fetch dependencies, using a base URI
+# provided as an argument. Optionally allows for distfile renaming via a specified
+# basename.
+#
+# @EXAMPLE:
+# SRC_URI="$(rust_all_arch_uris rustc-${STAGE0_VERSION})"
+#
+rust_all_arch_uris()
+{
+ local uris=""
+ uris+="amd64? ( $(rust_arch_uri x86_64-unknown-linux-gnu "$@") ) "
+ uris+="arm? ( $(rust_arch_uri arm-unknown-linux-gnueabi "$@")
+ $(rust_arch_uri arm-unknown-linux-gnueabihf "$@")
+ $(rust_arch_uri armv7-unknown-linux-gnueabihf "$@") ) "
+ uris+="arm64? ( $(rust_arch_uri aarch64-unknown-linux-gnu "$@") ) "
+ uris+="mips? ( $(rust_arch_uri mips-unknown-linux-gnu "$@")
+ $(rust_arch_uri mipsel-unknown-linux-gnu "$@")
+ $(rust_arch_uri mips64-unknown-linux-gnuabi64 "$@") ) "
+ uris+="ppc? ( $(rust_arch_uri powerpc-unknown-linux-gnu "$@") ) "
+ uris+="ppc64? ( $(rust_arch_uri powerpc64-unknown-linux-gnu "$@")
+ $(rust_arch_uri powerpc64le-unknown-linux-gnu "$@") ) "
+ uris+="s390? ( $(rust_arch_uri s390x-unknown-linux-gnu "$@") ) "
+ uris+="x86? ( $(rust_arch_uri i686-unknown-linux-gnu "$@") ) "
+ echo "${uris}"
+}
diff --git a/eclass/waf-utils.eclass b/eclass/waf-utils.eclass
index 4d02483a927e..878068fc9f4f 100644
--- a/eclass/waf-utils.eclass
+++ b/eclass/waf-utils.eclass
@@ -89,7 +89,7 @@ waf-utils_src_configure() {
CCFLAGS="${CFLAGS}" LINKFLAGS="${CFLAGS} ${LDFLAGS}" "${WAF_BINARY}" \
"--prefix=${EPREFIX}/usr" \
"${libdir[@]}" \
- "$@" \
+ "${@}" \
configure || die "configure failed"
}
@@ -102,8 +102,8 @@ waf-utils_src_compile() {
[[ ${WAF_VERBOSE} == ON ]] && _mywafconfig="--verbose"
local jobs="--jobs=$(makeopts_jobs)"
- echo "\"${WAF_BINARY}\" build ${_mywafconfig} ${jobs}"
- "${WAF_BINARY}" ${_mywafconfig} ${jobs} || die "build failed"
+ echo "\"${WAF_BINARY}\" build ${_mywafconfig} ${jobs} ${*}"
+ "${WAF_BINARY}" ${_mywafconfig} ${jobs} "${@}" || die "build failed"
}
# @FUNCTION: waf-utils_src_install
@@ -112,8 +112,8 @@ waf-utils_src_compile() {
waf-utils_src_install() {
debug-print-function ${FUNCNAME} "$@"
- echo "\"${WAF_BINARY}\" --destdir=\"${D}\" install"
- "${WAF_BINARY}" --destdir="${D}" install || die "Make install failed"
+ echo "\"${WAF_BINARY}\" --destdir=\"${D}\" ${*} install"
+ "${WAF_BINARY}" --destdir="${D}" "${@}" install || die "Make install failed"
# Manual document installation
einstalldocs