summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2021-06-12 14:14:55 -0400
committerMike Gilbert <floppym@gentoo.org>2021-06-12 14:21:20 -0400
commit50100e3801575c1fce367d1d426e9ea013e922e9 (patch)
treeff31b007c2effda502d60030cccf9a45ea7276b3 /dev-util/meson
parentdev-util/meson: drop DISTUTILS_USE_SETUPTOOLS (diff)
downloadgentoo-50100e3801575c1fce367d1d426e9ea013e922e9.tar.gz
gentoo-50100e3801575c1fce367d1d426e9ea013e922e9.tar.bz2
gentoo-50100e3801575c1fce367d1d426e9ea013e922e9.zip
dev-util/meson: bump to 0.58.1
Closes: https://bugs.gentoo.org/791346 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Diffstat (limited to 'dev-util/meson')
-rw-r--r--dev-util/meson/Manifest1
-rw-r--r--dev-util/meson/meson-0.58.1.ebuild101
-rw-r--r--dev-util/meson/meson-9999.ebuild9
3 files changed, 110 insertions, 1 deletions
diff --git a/dev-util/meson/Manifest b/dev-util/meson/Manifest
index 765d085eb49a..cbe47bf22dc9 100644
--- a/dev-util/meson/Manifest
+++ b/dev-util/meson/Manifest
@@ -1 +1,2 @@
DIST meson-0.57.2.tar.gz 1853721 BLAKE2B 9c167a21745719589a165e7ffc31007bd6307b347027f390fd660b2f44b5a2e6d8f36e999e15fa4b28ae269ddb0bb3897e0297288c59b62cc493aad058126293 SHA512 a3b0bf3d5e1d1b7ac7c97313f43046c94aa2a6b21964958569c89764dfda08db166adb89d48cbfad735bd472114587a71089d5e8b4f0fce04c3289da21b3f40e
+DIST meson-0.58.1.tar.gz 1896205 BLAKE2B d42e04b262c6715ba2776f64d2e616016381303b07e609c804becf72db2ebd8ef08030c969f43813b2072552cb76974b2ed84f2da6d6c809ad612169d580395c SHA512 64ac1a9bcc642fb6d37c4b677d8b7db16d821f852f927a980d3fb1c149d680b7ff2c8d03676c6772666d46a33b6ce8674220433d302fcd92d13d9818558d6453
diff --git a/dev-util/meson/meson-0.58.1.ebuild b/dev-util/meson/meson-0.58.1.ebuild
new file mode 100644
index 000000000000..e2a175666ca3
--- /dev/null
+++ b/dev-util/meson/meson-0.58.1.ebuild
@@ -0,0 +1,101 @@
+# Copyright 2016-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/mesonbuild/meson"
+ inherit git-r3
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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 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[@]}" run_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
+ # https://bugs.gentoo.org/687792
+ unset PKG_CONFIG
+ distutils-r1_src_test
+ fi
+}
+
+python_test() {
+ (
+ # test_meson_installed
+ unset PYTHONDONTWRITEBYTECODE
+
+ # 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
+ # autodection. 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)
+
+ ${EPYTHON} -u 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
+}
diff --git a/dev-util/meson/meson-9999.ebuild b/dev-util/meson/meson-9999.ebuild
index 3b18cdf978c3..e2a175666ca3 100644
--- a/dev-util/meson/meson-9999.ebuild
+++ b/dev-util/meson/meson-9999.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{7,8,9,10} )
if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="https://github.com/mesonbuild/meson"
@@ -80,6 +80,13 @@ python_test() {
# '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
+ # autodection. 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)
+
${EPYTHON} -u run_tests.py
) || die "Testing failed with ${EPYTHON}"
}