From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/meson/files/, dev-util/meson/
Date: Sun, 24 Sep 2023 04:13:46 +0000 (UTC) [thread overview]
Message-ID: <1695528815.41f439c2e9964de598ac976e41dc68924b338bc5.sam@gentoo> (raw)
commit: 41f439c2e9964de598ac976e41dc68924b338bc5
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 24 04:12:53 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 24 04:13:35 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41f439c2
dev-util/meson: backport LLVM 17 fixes
1.2.2 is hopefully coming Real Soon Now but Eli already pointed out precisely
which PR it is and meson "rebuilds" are extremely cheap so there's no real
reason to not throw it in now.
Closes: https://bugs.gentoo.org/914576
Signed-off-by: Sam James <sam <AT> gentoo.org>
dev-util/meson/files/meson-1.2.1-llvm-17.patch | 41 +++++++++
dev-util/meson/meson-1.2.1-r2.ebuild | 122 +++++++++++++++++++++++++
2 files changed, 163 insertions(+)
diff --git a/dev-util/meson/files/meson-1.2.1-llvm-17.patch b/dev-util/meson/files/meson-1.2.1-llvm-17.patch
new file mode 100644
index 000000000000..ceee1dcd292b
--- /dev/null
+++ b/dev-util/meson/files/meson-1.2.1-llvm-17.patch
@@ -0,0 +1,41 @@
+https://bugs.gentoo.org/914576
+https://github.com/mesonbuild/meson/commit/d0b09898c703f6c10ec5a6b2aeace0df2e3570aa
+https://github.com/mesonbuild/meson/commit/9c74c73bc7107c794e7f9896cc4220e50ad32bba
+
+From d0b09898c703f6c10ec5a6b2aeace0df2e3570aa Mon Sep 17 00:00:00 2001
+From: Christoph Reiter <reiter.christoph@gmail.com>
+Date: Sat, 23 Sep 2023 17:21:43 +0200
+Subject: [PATCH] get_llvm_tool_names: add llvm 17
+
+this fixes the "frameworks: 15 llvm" tests with llvm 17
+--- a/mesonbuild/environment.py
++++ b/mesonbuild/environment.py
+@@ -157,6 +157,7 @@ def get_llvm_tool_names(tool: str) -> T.List[str]:
+ # unless it becomes a stable release.
+ suffixes = [
+ '', # base (no suffix)
++ '-17', '17',
+ '-16', '16',
+ '-15', '15',
+ '-14', '14',
+
+From 9c74c73bc7107c794e7f9896cc4220e50ad32bba Mon Sep 17 00:00:00 2001
+From: Christoph Reiter <reiter.christoph@gmail.com>
+Date: Sat, 23 Sep 2023 14:10:29 +0200
+Subject: [PATCH] openmp: add 5.1/5.2, fixes openmp with llvm v17
+
+llvm v17 defaults to 5.1 and without this meson fails to find
+openmp: 'ERROR: Dependency "openmp" not found, tried system'
+
+Add 5.2 as well while at it.
+--- a/mesonbuild/dependencies/misc.py
++++ b/mesonbuild/dependencies/misc.py
+@@ -85,6 +85,8 @@ def __init__(self, name: str, env: 'Environment', kwargs: T.Dict[str, T.Any]):
+ class OpenMPDependency(SystemDependency):
+ # Map date of specification release (which is the macro value) to a version.
+ VERSIONS = {
++ '202111': '5.2',
++ '202011': '5.1',
+ '201811': '5.0',
+ '201611': '5.0-revision1', # This is supported by ICC 19.x
+ '201511': '4.5',
diff --git a/dev-util/meson/meson-1.2.1-r2.ebuild b/dev-util/meson/meson-1.2.1-r2.ebuild
new file mode 100644
index 000000000000..48e351394586
--- /dev/null
+++ b/dev-util/meson/meson-1.2.1-r2.ebuild
@@ -0,0 +1,122 @@
+# Copyright 2016-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+DISTUTILS_USE_PEP517=setuptools
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/mesonbuild/meson"
+ inherit git-r3
+else
+ inherit pypi
+
+ MY_P=${P/_/}
+ S=${WORKDIR}/${MY_P}
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ fi
+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
+ )
+"
+RDEPEND="
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-python-path.patch
+ "${FILESDIR}"/${P}-llvm-17.patch
+)
+
+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
+}
next reply other threads:[~2023-09-24 4:13 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-24 4:13 Sam James [this message]
-- strict thread matches above, loose matches on Subject: below --
2023-12-27 13:32 [gentoo-commits] repo/gentoo:master commit in: dev-util/meson/files/, dev-util/meson/ Sam James
2023-12-06 5:42 Sam James
2023-08-17 7:42 James Le Cuirot
2022-09-11 15:09 Fabian Groffen
2021-11-26 2:29 Mike Gilbert
2021-10-01 19:48 Mike Gilbert
2020-10-11 18:16 William Hubbs
2020-02-15 20:01 William Hubbs
2020-01-14 5:18 Mike Gilbert
2019-03-04 14:57 Mike Gilbert
2019-01-26 17:41 William Hubbs
2018-09-27 15:08 Mike Gilbert
2017-01-30 17:16 William Hubbs
2016-08-06 7:05 Pacho Ramos
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1695528815.41f439c2e9964de598ac976e41dc68924b338bc5.sam@gentoo \
--to=sam@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox