commit:     a3ba79ee854fe227ec1770c664ac6cb91e99abe0
Author:     Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 17 00:10:26 2024 +0000
Commit:     Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
CommitDate: Tue Dec 17 00:10:26 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a3ba79ee

dev-build/meson: add 1.6.1

It took *way* too long but I finally rolled an upstream release
containing the same regression fix from 1.6.0-r1. Updating the distro
package as well now.

Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org>

 dev-build/meson/Manifest           |   3 +
 dev-build/meson/meson-1.6.1.ebuild | 190 +++++++++++++++++++++++++++++++++++++
 2 files changed, 193 insertions(+)

diff --git a/dev-build/meson/Manifest b/dev-build/meson/Manifest
index dade6f8c4577..b7f37eb31478 100644
--- a/dev-build/meson/Manifest
+++ b/dev-build/meson/Manifest
@@ -12,7 +12,10 @@ DIST meson-1.5.2.tar.gz 2265788 BLAKE2B 
bda0742cf053cb235833b347e66b8706983815fd
 DIST meson-1.5.2.tar.gz.asc 833 BLAKE2B 
0ea6af017430568b2834081a60d0153cc80cb55d835b1f570e27ae6220a163aff9f4607654fe87841df112c78763b4d45dabd45072e398cdf901762095ce52e7
 SHA512 
7b7c0ee2b872c83d98954079fc27665b3a9ec5464aa8decc5919ff4e1c4134d7006494bd64b901dc2ade408131ea512eefef9416f3c57d1460c9308cb6683fc8
 DIST meson-1.6.0.tar.gz 2277602 BLAKE2B 
c1d8f143b17fab90c6128a721ac45b9ed6b85d67272149058e74ab827822b6f2c84ebdc261290585e6af38ab5dca52ca013de9b7be70922c96260fc5ee708893
 SHA512 
8805f07d0cfe2050305eff009b20973bfe3aab808a263479ed98a31fa026c1a378285928c2dd058e4224abc1b347aeee5c1628c964375135e9b4647819a119bc
 DIST meson-1.6.0.tar.gz.asc 833 BLAKE2B 
4cb8483a0b40330f71c86b9ede2dbccf2eb430138508983232924d70512100a36094974048783d814b9d83c11719f4be5a6541dc0eeaee3044048c38f28106c4
 SHA512 
4f1f47a5aafc8de8180a47303f2ea2d7dff1b792ee3e1dbf64bd96ea64b2a1696b664fb3ea4169b73c7a950f4371481c083f18ab11fdaf3bccf2b8671e40cd7d
+DIST meson-1.6.1.tar.gz 2276144 BLAKE2B 
7ccdb3bf3f701fc787fabf91413db8301a8658b89e08c1d712711bd35845dc2468211e4b666cf46ad68ad9462e62b12b62d60c3767a2804f9b695b4390bb8235
 SHA512 
b4ca7a3b667db0ad370110abd8b20467b1c74ae7777a068db33f8974602c123881a7130b2340664abb52e36fe5195989a5cc8fa7de6212c37abf5b0900554425
+DIST meson-1.6.1.tar.gz.asc 833 BLAKE2B 
6666eca8e5506b8692fc29ba66dc3ee9d725a7d720a7b43db720098f7e00671e71993586606c187d8314e3919474f5733d64a8d052be6552cbcf013a872905ab
 SHA512 
543cf396de0a58998c3587aa05580fa9a56734db40b74fc5fbb22cd56124531804a5360d6b9acb9baa71753ac04c343364da4d78a0d366d8e8bc760030ebf8d3
 DIST meson-reference-1.4.2.3 339324 BLAKE2B 
1a4fbd8c27a8cfba773777eabd2ebaa0f76ec0c61dcfe1c7b4483737b348ff9528d68f26e68d7d40b2e1875611eed5b9a31c1cf55fed8eabb42fc1e31d9ef14b
 SHA512 
8b8ec43e812599203ec44c08805eb6818485805c45b9c69802261eaa35efc97846a96f6472c6b1ef5f6c703e7153fd957df7b805f173ca3400a2030dfbe002ca
 DIST meson-reference-1.5.1.3 341110 BLAKE2B 
5267c2eea1b1281f87e63eb08aa928257dd98088b4d5c27c2785d2d8066c2c28536f7f56bf804ffe37d2f51552c91f31ff7e2729f3b2485d594a9e44a0df9ab1
 SHA512 
2d36e87e9bc2de0b958f4b20544b0bd9f2b0ffb646768e68fefcd5dfb8f09c24db40f27208b5f2d1f6ba02e7465f68a538ea72be118670c76e0959e090a42cf3
 DIST meson-reference-1.5.2.3 341110 BLAKE2B 
0d588b796f7f2da2dcb0e7822acde6a9a461930da4bfead3cf9148fa0fac18cd0ccbc6e891f555c973836f1c16b4eae299908a838a0b6843293de8815d30fc23
 SHA512 
64715ce2113e362e7d67179fe13566bc8f84ce7f4e6d795b836f42455a871173fee06e3e969e2996022d7e6c9b4b5379587a4c0c3d97b4bca527fb8902d3547f
 DIST meson-reference-1.6.0.3 343730 BLAKE2B 
18704b557298da2ea1f3edb4ed6c421bff3f973a215e56b340de2e78b1330e13eb00830cf44c3a8d04fd685ec6f8e6d078a4b9f03cf5b9e5413cbbfce55a22dd
 SHA512 
2752b51dfa404ebae107f6579acca4268140aba8b1a672762fa4fa66819dc4449560313c5eb6c17433cc2cf273ce57d3d04b846bddf74902825b530de777f4ea
+DIST meson-reference-1.6.1.3 343730 BLAKE2B 
55df822192781a70e4bc44cfe14fb363e3f820406260ca9705d7fdb5fad1bf0117e3f1325d37e58e23477bc075ab6bd84056409355ec694f72eeaa5bf982ecc7
 SHA512 
553cdcd86a7a600cda05ac970cc285c4c50017d1e7d2925645d7f19a62b34c2f079673cafecf4111aa102afbe9d8e4d56f166d1d9940b740eeec0bb99d6cbc0d

diff --git a/dev-build/meson/meson-1.6.1.ebuild 
b/dev-build/meson/meson-1.6.1.ebuild
new file mode 100644
index 000000000000..70a2f51176dd
--- /dev/null
+++ b/dev-build/meson/meson-1.6.1.ebuild
@@ -0,0 +1,190 @@
+# Copyright 2016-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit bash-completion-r1 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
+       "
+       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"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+       test? (
+               dev-libs/glib:2
+               dev-libs/gobject-introspection
+               app-alternatives/ninja
+               dev-vcs/git
+               sys-libs/zlib[static-libs(+)]
+               virtual/pkgconfig
+       )
+"
+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/_&/'
+
+               # 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}
+
+       insinto /usr/share/zsh/site-functions
+       doins 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