Skip to content

Commit

Permalink
dev-util/meson: add 0.63.1
Browse files Browse the repository at this point in the history
Notably fixes Qt 6 libexecdir detection.

Signed-off-by: Sam James <[email protected]>
  • Loading branch information
thesamesam committed Aug 18, 2022
1 parent e395cd7 commit 6ed15c0
Show file tree
Hide file tree
Showing 2 changed files with 111 additions and 0 deletions.
1 change: 1 addition & 0 deletions dev-util/meson/Manifest
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
DIST meson-0.62.2.tar.gz 2038542 BLAKE2B 51446cd348f3e8681a61ebecf95f5aafcafd90654e3c86d87ee2b68239237bd889b667f3c6543faba7d4b98d7e0ed73d96c6a988913e5262d3b9611b80ff8db2 SHA512 4089588701f0f702eb3b794e0ede78b99f13ec7545d1a7470c7bfd6a857de59673684a543928dd578402578c53f38365a3a59e3e29022fd30a525353818a4195
DIST meson-0.63.0.tar.gz 2060688 BLAKE2B 763d35a6dee42d7ef61b00c472681042289f38737374178d43eb8e66c3abe38affd372fca7aea4f4c7cd52f25ad3754485f54f24ac5e453b7a58011397ddbbb8 SHA512 8d427261bb42d2bd1da7d4f7b5f53908044aa2cea6d020fb320b0ab9d9848e17cf28deb12ae6dc139807f9e377db0c8a546561e94301216b634bd77703f17cea
DIST meson-0.63.1.tar.gz 2064118 BLAKE2B 2d7bf439ed096cc38d9e676a8837069d10f34299cc5a61773df7a27d9a67fd33ce3b4193f33b35e5d77dc5cc346098e427f70f0dc0eafcebce055940420c785e SHA512 25f96e18bcdbb6346c44d9f8e63035d6cb3d8f781cf43ac5530ddd6f8090f4d16d192f8d331240154602e92b498b410fabb1381dc5f39db1dfb9da05a964d44e
110 changes: 110 additions & 0 deletions dev-util/meson/meson-0.63.1.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# Copyright 2016-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

PYTHON_COMPAT=( python3_{8..11} )
DISTUTILS_USE_PEP517=setuptools

if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="https://github.com/mesonbuild/meson"
inherit git-r3
else
MY_P=${P/_/}
S=${WORKDIR}/${MY_P}
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi

inherit bash-completion-r1 distutils-r1 toolchain-funcs

DESCRIPTION="Open source build system"
HOMEPAGE="https://mesonbuild.com/"

LICENSE="Apache-2.0"
SLOT="0"
IUSE="test"
RESTRICT="!test? ( test )"

DEPEND="
test? (
dev-libs/glib:2
dev-libs/gobject-introspection
dev-util/ninja
dev-vcs/git
sys-libs/zlib[static-libs(+)]
virtual/pkgconfig
)
"

python_prepare_all() {
local disable_unittests=(
# ASAN and sandbox both want control over LD_PRELOAD
# https://bugs.gentoo.org/673016
-e 's/test_generate_gir_with_address_sanitizer/_&/'

# ASAN is unsupported on some targets
# https://bugs.gentoo.org/692822
-e 's/test_pch_with_address_sanitizer/_&/'

# https://github.com/mesonbuild/meson/issues/7203
-e 's/test_templates/_&/'

# Broken due to python2 wrapper
-e 's/test_python_module/_&/'
)

sed -i "${disable_unittests[@]}" unittests/*.py || die

# Broken due to python2 script created by python_wrapper_setup
rm -r "test cases/frameworks/1 boost" || die

distutils-r1_python_prepare_all
}

src_test() {
tc-export PKG_CONFIG
if ${PKG_CONFIG} --exists Qt5Core && ! ${PKG_CONFIG} --exists Qt5Gui; then
ewarn "Found Qt5Core but not Qt5Gui; skipping tests"
else
distutils-r1_src_test
fi
}

python_test() {
(
# test_meson_installed
unset PYTHONDONTWRITEBYTECODE

# https://bugs.gentoo.org/687792
unset PKG_CONFIG

# test_cross_file_system_paths
unset XDG_DATA_HOME

# 'test cases/unit/73 summary' expects 80 columns
export COLUMNS=80

# If JAVA_HOME is not set, meson looks for javac in PATH.
# If javac is in /usr/bin, meson assumes /usr/include is a valid
# JDK include path. Setting JAVA_HOME works around this broken
# autodetection. If no JDK is installed, we should end up with an empty
# value in JAVA_HOME, and the tests should get skipped.
export JAVA_HOME=$(java-config -O 2>/dev/null)

# Call python3 instead of EPYTHON to satisfy test_meson_uninstalled.
python3 run_tests.py
) || die "Testing failed with ${EPYTHON}"
}

python_install_all() {
distutils-r1_python_install_all

insinto /usr/share/vim/vimfiles
doins -r data/syntax-highlighting/vim/{ftdetect,indent,syntax}

insinto /usr/share/zsh/site-functions
doins data/shell-completions/zsh/_meson

dobashcomp data/shell-completions/bash/meson
}

0 comments on commit 6ed15c0

Please sign in to comment.