summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass')
-rw-r--r--eclass/Manifest.gzbin39197 -> 39194 bytes
-rw-r--r--eclass/meson.eclass42
-rw-r--r--eclass/toolchain-funcs.eclass30
-rw-r--r--eclass/xorg-2.eclass9
4 files changed, 35 insertions, 46 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz
index 7146d64f85f8..883d0f8d33df 100644
--- a/eclass/Manifest.gz
+++ b/eclass/Manifest.gz
Binary files differ
diff --git a/eclass/meson.eclass b/eclass/meson.eclass
index d15e3ff58795..576e9b428643 100644
--- a/eclass/meson.eclass
+++ b/eclass/meson.eclass
@@ -159,11 +159,14 @@ _meson_create_cross_file() {
cat > "${T}/meson.${CHOST}" <<-EOF
[binaries]
- ar = '$(tc-getAR)'
- c = '$(tc-getCC)'
- cpp = '$(tc-getCXX)'
+ ar = $(_meson_env_array "$(tc-getAR)")
+ c = $(_meson_env_array "$(tc-getCC)")
+ cpp = $(_meson_env_array "$(tc-getCXX)")
+ fortran = $(_meson_env_array "$(tc-getFC)")
+ objc = $(_meson_env_array "$(tc-getPROG OBJC cc)")
+ objcpp = $(_meson_env_array "$(tc-getPROG OBJCXX c++)")
pkgconfig = '$(tc-getPKG_CONFIG)'
- strip = '$(tc-getSTRIP)'
+ strip = $(_meson_env_array "$(tc-getSTRIP)")
[properties]
c_args = $(_meson_env_array "${CFLAGS} ${CPPFLAGS}")
@@ -198,25 +201,6 @@ meson_use() {
usex "$1" "-D${2-$1}=true" "-D${2-$1}=false"
}
-# @FUNCTION: _meson_move_flags
-# @INTERNAL
-# @USAGE: PROG FLAGS
-# @DESCRIPTION:
-# Moves extra arguments from PROG to FLAGS.
-# For example:
-# CC="gcc -m32" -> CC="gcc" CFLAGS="-m32"
-_meson_move_flags() {
- local prog=${1}
- local flags=${2}
- local x=( ${!prog} )
- if [[ -n ${x[0]} ]]; then
- export ${prog}=${x[0]}
- fi
- if [[ -n ${x[1]} ]]; then
- export ${flags}="${x[@]:1}${!flags:+ }${!flags}"
- fi
-}
-
# @FUNCTION: meson_src_configure
# @DESCRIPTION:
# This is the meson_src_configure function.
@@ -233,18 +217,6 @@ meson_src_configure() {
--wrap-mode nodownload
)
- # Prevent multilib flags from leaking across ABIs
- local -x BUILD_CFLAGS=${BUILD_CFLAGS}
- local -x BUILD_CXXFLAGS=${BUILD_CXXFLAGS}
-
- # Move multilib flags from CC to CFLAGS
- local -x CC=$(tc-getCC) CFLAGS=${CFLAGS}
- _meson_move_flags CC CFLAGS
-
- # Move multilib flags from CXX to CXXFLAGS
- local -x CXX=$(tc-getCXX) CXXFLAGS=${CXXFLAGS}
- _meson_move_flags CXX CXXFLAGS
-
if tc-is-cross-compiler; then
_meson_create_cross_file || die "unable to write meson cross file"
mesonargs+=( --cross-file "${T}/meson.${CHOST}" )
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 1c8090cf75c7..cea8949b45d7 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -391,11 +391,28 @@ tc-ld-disable-gold() {
local path_ld=$(which "${bfd_ld}" 2>/dev/null)
[[ -e ${path_ld} ]] && export LD=${bfd_ld}
- # Set up LDFLAGS to select gold based on the gcc version.
- local major=$(gcc-major-version "$@")
- local minor=$(gcc-minor-version "$@")
- if [[ ${major} -lt 4 ]] || [[ ${major} -eq 4 && ${minor} -lt 8 ]] ; then
- # <=gcc-4.7 requires some coercion. Only works if bfd exists.
+ # Set up LDFLAGS to select gold based on the gcc / clang version.
+ local fallback="true"
+ if tc-is-gcc; then
+ local major=$(gcc-major-version "$@")
+ local minor=$(gcc-minor-version "$@")
+ if [[ ${major} -gt 4 ]] || [[ ${major} -eq 4 && ${minor} -ge 8 ]]; then
+ # gcc-4.8+ supports -fuse-ld directly.
+ export LDFLAGS="${LDFLAGS} -fuse-ld=bfd"
+ fallback="false"
+ fi
+ elif tc-is-clang; then
+ local major=$(clang-major-version "$@")
+ local minor=$(clang-minor-version "$@")
+ if [[ ${major} -gt 3 ]] || [[ ${major} -eq 3 && ${minor} -ge 5 ]]; then
+ # clang-3.5+ supports -fuse-ld directly.
+ export LDFLAGS="${LDFLAGS} -fuse-ld=bfd"
+ fallback="false"
+ fi
+ fi
+ if [[ ${fallback} == "true" ]] ; then
+ # <=gcc-4.7 and <=clang-3.4 require some coercion.
+ # Only works if bfd exists.
if [[ -e ${path_ld} ]] ; then
local d="${T}/bfd-linker"
mkdir -p "${d}"
@@ -404,9 +421,6 @@ tc-ld-disable-gold() {
else
die "unable to locate a BFD linker to bypass gold"
fi
- else
- # gcc-4.8+ supports -fuse-ld directly.
- export LDFLAGS="${LDFLAGS} -fuse-ld=bfd"
fi
}
diff --git a/eclass/xorg-2.eclass b/eclass/xorg-2.eclass
index 9322e1aebce2..75167988eedd 100644
--- a/eclass/xorg-2.eclass
+++ b/eclass/xorg-2.eclass
@@ -60,7 +60,7 @@ esac
EXPORT_FUNCTIONS ${EXPORTED_FUNCTIONS}
IUSE=""
-HOMEPAGE="https://www.x.org/wiki/"
+HOMEPAGE="https://www.x.org/wiki/ https://cgit.freedesktop.org/"
# @ECLASS-VARIABLE: XORG_EAUTORECONF
# @DESCRIPTION:
@@ -156,7 +156,7 @@ if [[ ${FONT} == yes ]]; then
# Set up configure options, wrapped so ebuilds can override if need be
[[ -z ${FONT_OPTIONS} ]] && FONT_OPTIONS="--with-fontdir=\"${EPREFIX}/usr/share/fonts/${FONT_DIR}\""
- [[ ${PN##*-} = misc || ${PN##*-} = 75dpi || ${PN##*-} = 100dpi || ${PN##*-} = cyrillic ]] && IUSE+=" nls"
+ [[ ${PN} = font-misc-misc || ${PN} = font-schumacher-misc || ${PN##*-} = 75dpi || ${PN##*-} = 100dpi || ${PN##*-} = cyrillic ]] && IUSE+=" nls"
fi
# If we're a driver package, then enable DRIVER case
@@ -364,7 +364,8 @@ xorg-2_font_configure() {
if has nls ${IUSE//+} && ! use nls; then
if grep -q -s "disable-all-encodings" ${ECONF_SOURCE:-.}/configure; then
FONT_OPTIONS+="
- --disable-all-encodings"
+ --disable-all-encodings
+ --enable-iso8859-1"
else
FONT_OPTIONS+="
--disable-iso8859-2
@@ -514,6 +515,8 @@ xorg-2_pkg_postinst() {
create_fonts_scale
create_fonts_dir
font_pkg_postinst "$@"
+
+ ewarn "Installed fonts changed. Run 'xset fp rehash' if you are using non-fontconfig applications."
fi
}