diff options
author | Eli Schwartz <eschwartz@gentoo.org> | 2024-10-06 18:23:18 -0400 |
---|---|---|
committer | Eli Schwartz <eschwartz@gentoo.org> | 2024-10-06 18:23:18 -0400 |
commit | ffb5c11acc092e91beff5a3ee93d91509b1a9ca6 (patch) | |
tree | 6a5e9eeba9fc03022de71b9109fdbb3076256f8c /dev-build | |
parent | app-emacs/ert-runner: enable tests; minor tweaks (diff) | |
download | gentoo-ffb5c11acc092e91beff5a3ee93d91509b1a9ca6.tar.gz gentoo-ffb5c11acc092e91beff5a3ee93d91509b1a9ca6.tar.bz2 gentoo-ffb5c11acc092e91beff5a3ee93d91509b1a9ca6.zip |
dev-build/meson: add 1.6.0_rc1
Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
Diffstat (limited to 'dev-build')
-rw-r--r-- | dev-build/meson/Manifest | 3 | ||||
-rw-r--r-- | dev-build/meson/meson-1.6.0_rc1.ebuild | 190 |
2 files changed, 193 insertions, 0 deletions
diff --git a/dev-build/meson/Manifest b/dev-build/meson/Manifest index 96931c93b697..4a2cce4e9fe3 100644 --- a/dev-build/meson/Manifest +++ b/dev-build/meson/Manifest @@ -10,6 +10,9 @@ DIST meson-1.5.1.tar.gz 2257106 BLAKE2B 3368b209444d0873217bafee2339b395dca9fa43 DIST meson-1.5.1.tar.gz.asc 833 BLAKE2B c099720b102b8fff581f2043000454f5cb3593352a8b69c681cda73dae7172fb7d892dc0500e29fffe4ba7828cdcba418acea230563dc26a7a89139ab526b231 SHA512 f8210dd309a104b4169bc2eae9ff370f3ced6fe2c5dfc8f3477c9fbbed983dd6636ea05822d9345d7570e88bfe7789c6cc075e5a91d578a8376666d16ad550a3 DIST meson-1.5.2.tar.gz 2265788 BLAKE2B bda0742cf053cb235833b347e66b8706983815fda5d62815aa6455980837e061fb0db2f7472966e6e09a199b0850477a3b448b6ad3b7db717da6b43906cbe2ac SHA512 9f601bdadaf2dae312ff02caa9dcd3fe13659a101e601417bdb908d8b91cdd4a12302433b00c188c1562287a06ada656044d79821d0beb0e0e41c63ab5d48112 DIST meson-1.5.2.tar.gz.asc 833 BLAKE2B 0ea6af017430568b2834081a60d0153cc80cb55d835b1f570e27ae6220a163aff9f4607654fe87841df112c78763b4d45dabd45072e398cdf901762095ce52e7 SHA512 7b7c0ee2b872c83d98954079fc27665b3a9ec5464aa8decc5919ff4e1c4134d7006494bd64b901dc2ade408131ea512eefef9416f3c57d1460c9308cb6683fc8 +DIST meson-1.6.0rc1.tar.gz 2275126 BLAKE2B 0b0ff79ed21fa7b65829730dee3d246ca5012c3ef6185e58b7e4eb22aa7ea24741a7d0e1df56d32488761e504862350a505f043360695472a24a602ee6959dee SHA512 36d6015a353cefdcb26c442e78b9a3d8d69c1c505c84522c0422b956254cf5fe83dfc427442daf9999a874b378e571a2a28cbfe2fb0eb748c38a08cd24c07665 +DIST meson-1.6.0rc1.tar.gz.asc 833 BLAKE2B 06beb3d168519b6ba3adeb41eb81320b10db8684f7f8768306b96cc1ecd9cff1c8e07d489825160e4a8a493b760da60a944ea3b465529b2a860f780f6d65e8ef SHA512 cbb579d4231aeeb9aa56540dd8068a22a06e3fef82207c9860da861e319920154c4286a991efadad235ecd006041c38a3122b3850d6ce0bbaa0c8250c43d6291 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.0rc1.3 343734 BLAKE2B 6d10d99158e2905140a7a318e780e19f5e589103657194b5b669bb48e83c4ed28e152ae9cd8dd2d65b643572012f215a339df9ca530e075c6d88d383ccd2d29e SHA512 4e298dedb829f630ed47854325c24f2c1948db91627f7e8067bf81483f33e714a9439713ce170f42dd66ee07314d7b0ad032a46241898c7e981546c772c4a26c diff --git a/dev-build/meson/meson-1.6.0_rc1.ebuild b/dev-build/meson/meson-1.6.0_rc1.ebuild new file mode 100644 index 000000000000..70a2f51176dd --- /dev/null +++ b/dev-build/meson/meson-1.6.0_rc1.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 +} |