commit: f34f9f312dc636300f0938e4107f7b7125e5d4d2
Author: Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
AuthorDate: Sun May 25 08:26:58 2025 +0000
Commit: Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
CommitDate: Sun May 25 08:37:38 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f34f9f31
dev-build/meson: add 1.8.1
Fixes numerous regressions in 1.8.0 but I don't think we are quite out
of the woods yet.
Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org>
dev-build/meson/Manifest | 3 +
dev-build/meson/meson-1.8.1.ebuild | 230 +++++++++++++++++++++++++++++++++++++
2 files changed, 233 insertions(+)
diff --git a/dev-build/meson/Manifest b/dev-build/meson/Manifest
index bbf1c22a0624..e4e2389c2a7c 100644
--- a/dev-build/meson/Manifest
+++ b/dev-build/meson/Manifest
@@ -18,6 +18,8 @@ DIST meson-1.7.2.tar.gz 5009274 BLAKE2B
f5a19d7c0dfa35efda5bdef972fa6362a64fee2c
DIST meson-1.7.2.tar.gz.asc 996 BLAKE2B
9a34bb86f15eb92d4eb972835e8e18e175c869a6ba9d88310ca6058654200b227c7a4a945eee220784f584737a3b74ffcd06e2b60a3e502e49af5da69eb1e5bf
SHA512
a1e0461a28dfc8ba74ffd919511584148094c2bc809c3d380749856cbdaa33473c1a0c1ec92928020f50e116803fc03deb37b3ee2aca7e56287b155a5ccc36ac
DIST meson-1.8.0.tar.gz 2334911 BLAKE2B
a27a6e105bb19ff0fa77f62b7563b66cdeffef8e4d6ec538e1cc5c49fae16097afeae9669ed80b1d0688059c1135ff392c722e39c94f5686fb926ffcd6abf893
SHA512
345ca35b0c9219f42a46eb2dbda793b46277b2220912124a5054973390138ef1310004e1a90fde37c177d3e7103b209ebf539def2ae597f3d472c35c043bc46b
DIST meson-1.8.0.tar.gz.asc 833 BLAKE2B
ad1ef6f9fb8b02231b64dac2660cfdf6f2bed801c4696d905b681836132c6da257698cc636c3e449d2b137f4c16b19eb22ad87271298647d33ffa26871e358ff
SHA512
cdfb8a6b121f56b02b50b52db0db33fbaec90e6432e047ab168cc529bf79e55a05ad1377c3def8bad130a316c6666d203752bb5173d6e8c84f55d53afb8d5f27
+DIST meson-1.8.1.tar.gz 2332007 BLAKE2B
8fa77bd0e1494d94de585f8f740cb01dfc302fef1f1d8f25a4a2110470e53e33e61ce1f6c3605b1babdda6531d238e1e87227071334a8f42085dcc35f1940d9b
SHA512
f5e7a6098f73e46b30a5e9b09f4da21c2e9cd8133a2ee6f2894fe1603356dbe29361ff95063ac364828676c56da1675c5d58238abda4329e935bcf216a9a80df
+DIST meson-1.8.1.tar.gz.asc 833 BLAKE2B
a31c10eb386597049eed127987dfa32f044fbd2ec0261fa0547c066a47a57e27893821f80eb6a7ad82fd72278ff77abdaf4a88fd057b9b960edd8626530a17be
SHA512
5d6a0681ccd1132f86904b88fdef4838a9de403d29b6dddb8d8626ce3f1e9d1d911b79f821aa81cd1421fd4c095ca488494a1b77e59f94ba616504eef251dbc7
DIST meson-reference-1.4.2.3 339324 BLAKE2B
1a4fbd8c27a8cfba773777eabd2ebaa0f76ec0c61dcfe1c7b4483737b348ff9528d68f26e68d7d40b2e1875611eed5b9a31c1cf55fed8eabb42fc1e31d9ef14b
SHA512
8b8ec43e812599203ec44c08805eb6818485805c45b9c69802261eaa35efc97846a96f6472c6b1ef5f6c703e7153fd957df7b805f173ca3400a2030dfbe002ca
DIST meson-reference-1.5.2.3 341110 BLAKE2B
0d588b796f7f2da2dcb0e7822acde6a9a461930da4bfead3cf9148fa0fac18cd0ccbc6e891f555c973836f1c16b4eae299908a838a0b6843293de8815d30fc23
SHA512
64715ce2113e362e7d67179fe13566bc8f84ce7f4e6d795b836f42455a871173fee06e3e969e2996022d7e6c9b4b5379587a4c0c3d97b4bca527fb8902d3547f
DIST meson-reference-1.6.1.3 343730 BLAKE2B
55df822192781a70e4bc44cfe14fb363e3f820406260ca9705d7fdb5fad1bf0117e3f1325d37e58e23477bc075ab6bd84056409355ec694f72eeaa5bf982ecc7
SHA512
553cdcd86a7a600cda05ac970cc285c4c50017d1e7d2925645d7f19a62b34c2f079673cafecf4111aa102afbe9d8e4d56f166d1d9940b740eeec0bb99d6cbc0d
@@ -25,3 +27,4 @@ DIST meson-reference-1.7.0.3 344764 BLAKE2B
615c70325b6ca3b964bf2827f20f07845150
DIST meson-reference-1.7.1.3 344764 BLAKE2B
f4b6a5eb80f143310e9aae3fe512b5146b39df4e74e589c571d3f58ddfcb3298d1accff417c055e46a4ad61fc0557723eb4d89607a4793d1bcc134f1e83ab3eb
SHA512
f36e4adcf7eab70738c71c48c87328bc436168dc605c0931b746d4b48915269dc9245215a4aa968046e4cb0f5167f595da1cf2acd96d87ed47aea9b34b63a652
DIST meson-reference-1.7.2.3 344764 BLAKE2B
82de9a7a01c2f1b45a2b3432deb4713af3cfd3b2dc9af8802488b7d1b86dde9b6ac81f90b144006a79e90b313e1d4d23f9cc90e17255ce9573e5487d3e20c286
SHA512
d482a3b3bed671705d6316e106984ad2c2169fe890349437e512455705ee8dddb31a29d31f44402a4c7c5bd2f78595b75bfc5ad34d8c0337b66f40837b08ee56
DIST meson-reference-1.8.0.3 345633 BLAKE2B
1f67780a3cf61ab0c992d68f9a7936d24061a204eef6bf9827f0f8a04985c16a04ef2039d622a5d71783e4c07bbf5ac6ed123247aeb770c9d05a0988bd8073d8
SHA512
009cc42d4d279c9c3a912885d1fe3baf7d097fe8868c725cc853c81270e64b49203363324f39e2a2797eadaa82322f15d1076566c87b9b3a2c6c05c1fdbbfc63
+DIST meson-reference-1.8.1.3 345633 BLAKE2B
026423161eeddff3e663016c4b3fff885e96dc1a652562fe312cb80cfcc845015cab0d0f51c39f187cc484752f8f2bf7954dc8daf6762a74f895338cac4c35c4
SHA512
d3041eee86e63c178a04d5ec1ec383e7bbd209f358103806d488b28383471c1ecb5a13aa3716f699c1973a1d32dace34b0fdb0375e19abc0050deeb66fc5d376
diff --git a/dev-build/meson/meson-1.8.1.ebuild
b/dev-build/meson/meson-1.8.1.ebuild
new file mode 100644
index 000000000000..a3373d35b8a1
--- /dev/null
+++ b/dev-build/meson/meson-1.8.1.ebuild
@@ -0,0 +1,230 @@
+# Copyright 2016-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit shell-completion edo distutils-r1 flag-o-matic toolchain-funcs
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/mesonbuild/meson"
+ inherit ninja-utils git-r3
+
+ BDEPEND="
+ ${NINJA_DEPEND}
+ $(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
+ "
+
+else
+ inherit verify-sig
+
+ MY_PV=${PV/_/}
+ MY_P=${P/_/}
+ S=${WORKDIR}/${MY_P}
+
+ SRC_URI="
+
https://github.com/mesonbuild/meson/releases/download/${MY_PV}/${MY_P}.tar.gz
+ verify-sig? (
https://github.com/mesonbuild/meson/releases/download/${MY_PV}/${MY_P}.tar.gz.asc
)
+
https://github.com/mesonbuild/meson/releases/download/${MY_PV}/meson-reference.3
-> meson-reference-${MY_PV}.3
+ "
+ # Releases may be signed by those listed in Releasing.md. Jussi
+ # remains the default release manager.
+ #
https://github.com/mesonbuild/meson/commit/c2d795735fa1c46c54d6aed4d4a30f36a1f853cb
+ BDEPEND="verify-sig? ( sec-keys/openpgp-keys-jpakkane )"
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips
~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos
~ppc-macos ~x64-macos ~x64-solaris"
+ fi
+fi
+
+DESCRIPTION="Open source build system"
+HOMEPAGE="https://mesonbuild.com/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="test test-full"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test-full? ( test )"
+
+DEPEND="
+ test? (
+ dev-libs/glib:2
+ dev-libs/gobject-introspection
+ app-alternatives/ninja
+ dev-vcs/git
+ sys-libs/zlib[static-libs(+)]
+ virtual/pkgconfig
+ dev-build/cmake
+ )
+ test-full? (
+ || ( dev-lang/rust dev-lang/rust-bin )
+ dev-lang/nasm
+ >=dev-lang/pypy-3
+ dev-lang/vala
+ dev-python/cython
+ virtual/fortran
+ virtual/jdk
+
+ app-text/doxygen
+ dev-cpp/gtest
+ dev-libs/protobuf
+ dev-util/bindgen
+ dev-util/gtk-doc
+ dev-util/itstool
+ llvm-core/llvm
+ media-libs/libsdl2
+ media-libs/libwmf
+ net-libs/libpcap
+ sci-libs/hdf5[fortran]
+ sci-libs/netcdf
+ sys-cluster/openmpi[fortran]
+ sys-devel/bison
+ sys-devel/flex
+
+ dev-qt/linguist-tools:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtbase:6[gui,widgets]
+ dev-qt/qttools:6
+ dev-util/gdbus-codegen
+ x11-libs/gtk+:3
+
+ dev-libs/wayland
+ dev-util/wayland-scanner
+ )
+"
+RDEPEND="
+ !<dev-build/muon-0.2.0-r2[man(-)]
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.2.1-python-path.patch
+ "${FILESDIR}"/unbreak-setuptools-test_installed.patch
+)
+
+src_unpack() {
+ if [[ ${PV} = *9999* ]]; then
+ git-r3_src_unpack
+ else
+ default
+ use verify-sig && verify-sig_verify_detached
"${DISTDIR}"/${MY_P}.tar.gz{,.asc}
+ fi
+}
+
+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/_&/'
+ -e 's/test_env_cflags_ldflags/_&/'
+
+ # ASAN is unsupported on some targets
+ # https://bugs.gentoo.org/692822
+ -e 's/test_pch_with_address_sanitizer/_&/'
+
+ # clippy-driver fails, but only when run via portage.
+ #
+ # error[E0463]: can't find crate for `std`
+ # error: requires `sized` lang_item
+ -e 's/test_rust_clippy/_&/'
+ )
+
+ 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
+ # nvcc breaks on essentially any LDFLAGS
+ # https://bugs.gentoo.org/936757
+ # https://github.com/mesonbuild/meson/issues/11234
+ rm -r "test cases/cuda"/* || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_check_deps() {
+ if [[ ${PV} = *9999* ]]; then
+ python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]"
+ fi
+}
+
+python_configure_all() {
+ if [[ ${PV} = *9999* ]]; then
+ # We use the unsafe_yaml loader because strictyaml is not
packaged. In
+ # theory they produce the same results, but pyyaml is faster and
+ # without safety checks.
+ edo ./meson.py setup \
+ --prefix "${EPREFIX}/usr" \
+ -Dhtml=false \
+ -Dunsafe_yaml=true \
+ docs/ docs/builddir
+ fi
+}
+
+python_compile_all() {
+ if [[ ${PV} = *9999* ]]; then
+ eninja -C docs/builddir
+ fi
+}
+
+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() {
+ (
+ # meson has its own tests for LTO support. We don't need to
verify that
+ # all tests work when they happen to use it. And in particular,
this
+ # breaks rust.
+ filter-lto
+
+ # remove unwanted python_wrapper_setup contents
+ # We actually do want to non-error if python2 is installed and
tested.
+ remove="${T}/${EPYTHON}/bin:"
+ PATH=${PATH/${remove}/}
+
+ # 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)
+
+ ${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}
+
+ dozshcomp data/shell-completions/zsh/_meson
+ dobashcomp data/shell-completions/bash/meson
+
+ if [[ ${PV} = *9999* ]]; then
+ DESTDIR="${ED}" eninja -C docs/builddir install
+ else
+ newman "${DISTDIR}"/meson-reference-${MY_PV}.3 meson-reference.3
+ fi
+}