commit:     0270aa25cde540923320381490e42c33b363ddc8
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 20 14:31:03 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Aug 20 14:31:19 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0270aa25

dev-build/meson: add 1.8.4

Eli asked that I handle this one as he's not available right now.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-build/meson/Manifest           |   3 +
 dev-build/meson/meson-1.8.4.ebuild | 231 +++++++++++++++++++++++++++++++++++++
 2 files changed, 234 insertions(+)

diff --git a/dev-build/meson/Manifest b/dev-build/meson/Manifest
index afe997873efa..b73ddb61ea9a 100644
--- a/dev-build/meson/Manifest
+++ b/dev-build/meson/Manifest
@@ -20,6 +20,8 @@ DIST meson-1.8.2.tar.gz 2335538 BLAKE2B 
c3a4e2c505af02b85407f66bb076d4c1a96ca0fd
 DIST meson-1.8.2.tar.gz.asc 833 BLAKE2B 
c59ef68cf74daf9658c6589cc037a21bbc9fa03134093b1a30425ba19a69036868c1c7bd1c7f26b486a6eb9e6e13796f02b52e7caa78701d546d9da3f7591b41
 SHA512 
9f6dbe0329a8f1685110fadd803239eb675b67f59f2f1988494ec6e95110aca754ff7dbb6edad708c53b9420bd09c2d115af5f9f879175a9e37cb28f978add8b
 DIST meson-1.8.3.tar.gz 2335924 BLAKE2B 
3c440854bd91c757d4370b498f0e6e903df4589f4958e05fa16ae70e6efc01d2e96f101612146556b81cc3db370255f4319bd5d49d8e46210df282cc447ec12e
 SHA512 
effd6f556152e508185a5bc59131b3a31696577298aec5f3d3ab68153ade9e98242171d6b72c00f8c32fc3492aba3487252d77a94a96b5a92e89724de045d49b
 DIST meson-1.8.3.tar.gz.asc 833 BLAKE2B 
25f00f76819c74e64b3750ddd4507fdd8a0be764db54ea48ba49f0985bfbf04d294e5eff1ee799ec082cba24ed59b21a8fd75f81dee9d824e5f8cd9c775b0dcd
 SHA512 
9c28747ff4756422dae4eb4a86de24fe230e6676660aa9cfb72d29311012106a9edbcfff3559682917a7e0ed8c80af8b8ec37807d3f7e0f4005eed5793367307
+DIST meson-1.8.4.tar.gz 2336961 BLAKE2B 
fd574be17f1dde56fed13e18151cddc3265b4175b46bb45961f46a586e0e3b619ce5179df78505ac46cc6af7d8cbd4fc73f6434b8581b3e3518d791f6bb6e75c
 SHA512 
3325c3968649847621e4d39309222741e5158b204ff6cc88410f364634c9978b5fb4c02c73968b3b7df46c89371a5b27aec9a997917dae757415bd77f5db39f2
+DIST meson-1.8.4.tar.gz.asc 833 BLAKE2B 
33fea09355be6f3df1c9f82daf2c92cbebd79846f82039e697f390db4811ade49edaeb942a4d1da8cb95238cff400e4ef1a76e141189acf10bc5da70e3fb3c44
 SHA512 
e0e6474a020e320d940d8de1843b491d1906c38bca304168324cae333c5635c70b210ef14e1d31ada2a31e7d3b8e5ae4a8563373230f40c52c2cac017359fd29
 DIST meson-1.9.0rc3.tar.gz 2366065 BLAKE2B 
315ae97f16d6dd0c23ac7f5f60e94f3812befbfc7a0d2f0bae6831acd05ab36cfa4fef00c1f8ce4ba3bb724df42482c53ff7a2f482dafe3da41e28f860085445
 SHA512 
c0960cfaf857391b4e94f5535a3b26f878c50cf08847c94a0e8314617d19165c9ad39aac02698247d92cb2d2443f62e4f12c013d4f29383568efd3d0f65766d6
 DIST meson-1.9.0rc3.tar.gz.asc 833 BLAKE2B 
60ad382a732ce3406aece32be8d43e403c66ac1058154c01c91e416f41b6496327944d0a6413e438b5eaef6f04174b75f191146c2ed5bffcd2918e89682dee04
 SHA512 
8d5f0624c397173212ce4a6fcec5620cc7b8d85384ee3f75c3676534e1f9daffa228d88a1dd88db08fa7fe22b2f22400d33b0fa81c79ef7d3fb579d02c6115e1
 DIST meson-reference-1.4.2.3 339324 BLAKE2B 
1a4fbd8c27a8cfba773777eabd2ebaa0f76ec0c61dcfe1c7b4483737b348ff9528d68f26e68d7d40b2e1875611eed5b9a31c1cf55fed8eabb42fc1e31d9ef14b
 SHA512 
8b8ec43e812599203ec44c08805eb6818485805c45b9c69802261eaa35efc97846a96f6472c6b1ef5f6c703e7153fd957df7b805f173ca3400a2030dfbe002ca
@@ -30,4 +32,5 @@ DIST meson-reference-1.7.2.3 344764 BLAKE2B 
82de9a7a01c2f1b45a2b3432deb4713af3cf
 DIST meson-reference-1.8.1.3 345633 BLAKE2B 
026423161eeddff3e663016c4b3fff885e96dc1a652562fe312cb80cfcc845015cab0d0f51c39f187cc484752f8f2bf7954dc8daf6762a74f895338cac4c35c4
 SHA512 
d3041eee86e63c178a04d5ec1ec383e7bbd209f358103806d488b28383471c1ecb5a13aa3716f699c1973a1d32dace34b0fdb0375e19abc0050deeb66fc5d376
 DIST meson-reference-1.8.2.3 345633 BLAKE2B 
a53888284967c1beb8875a380eb7fd58402db0ae8d3357f47cd265a1695f73f85dd5ef6c36ee95252012120f3b904d74dabcbd4b1aa4174975b1d1899d30283c
 SHA512 
b40904bebedc678f4e8567cd0b6a377a678d4f3fa13feb5d978d65b39a308b607c78adfc6b742f9d7c2f2c57e7b011f52d875e97b85f1c4ffbfd4ebe52814443
 DIST meson-reference-1.8.3.3 345855 BLAKE2B 
c8825ba7b72b36866ebfa8cdf63362f2d38673315378ea213c438057f5dafa36b9e729e8c415a29715c1da4fe72733a4a6a2cdbee4b7df57e5eb97f50152491b
 SHA512 
3085c10cfc08ce4f0edad7129ce4d9a0bf75c6522309e344ba14e27c34d46c3da25ebb46260de28caef4a6c8134857d63297ded26f1296639a8a097e62a1801c
+DIST meson-reference-1.8.4.3 345964 BLAKE2B 
a2840cfabe319cb244ad46bb3b72b7e19bcaf3bfbd0f804c3982a191f795284cc4d35ee00266bf069dd95c0fa99fdb565343007aed75a7a0859ad85528422667
 SHA512 
95385faa364103c9f38b497f6e021d81c0e08048863a046b5c9030d11f7554f8237d405fe04d2145513e3685a13c71b167f29a8727d0f8cb0ca591076e0b39b9
 DIST meson-reference-1.9.0rc3.3 347290 BLAKE2B 
4ede1d88a5cd4389a5ccd1d0da9f22a9ee450fab2ef187ecd16848208446dcffad88173e96a65108bd527dcd119bf2f41213eca880db72149eee77bf6a333c7e
 SHA512 
5e207e78ea0da97d9b133327402a0b3235c110c01f15d08750e2a6497a54aabcc4ffd7df094b06ceefc7e88b4e64ae2c6003e90e4ca30c20136a80a2c464d649

diff --git a/dev-build/meson/meson-1.8.4.ebuild 
b/dev-build/meson/meson-1.8.4.ebuild
new file mode 100644
index 000000000000..699967ac5f16
--- /dev/null
+++ b/dev-build/meson/meson-1.8.4.ebuild
@@ -0,0 +1,231 @@
+# Copyright 2016-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..14} 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/qtdeclarative:6
+               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
+)
+
+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/_&/'
+               -e 's/test_c_link_args_and_env/_&/'
+
+               # 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
+}

Reply via email to