diff options
Diffstat (limited to 'dev-build')
| -rw-r--r-- | dev-build/meson/Manifest | 3 | ||||
| -rw-r--r-- | dev-build/meson/meson-1.9.2.ebuild | 232 |
2 files changed, 235 insertions, 0 deletions
diff --git a/dev-build/meson/Manifest b/dev-build/meson/Manifest index b13eba3b12f4..114acfcd9744 100644 --- a/dev-build/meson/Manifest +++ b/dev-build/meson/Manifest @@ -18,6 +18,8 @@ DIST meson-1.8.5.tar.gz 5056050 BLAKE2B 4f67b140329d3b64dcc213e0c4e65d105dd98e03 DIST meson-1.8.5.tar.gz.asc 996 BLAKE2B ff8c1ffe8fd8488a00ffcc9d5d0c19dcadfca5216ad8c70daf44526f949c835d775dc558932237a891345e9d900385081ee1d7c76b41237aac423bf72b8f5f7b SHA512 da9ff37ac207dbfbe8bca511e6b8ee233aaaf89653bf00c43d2fed2ecaf0b59b0b11bd4efafa4f87a6f70c8ad11f23834d313c7d1ae07a77baa0d9cfbbe535aa DIST meson-1.9.1.tar.gz 5083044 BLAKE2B a4d1894636ee61fa0101153f07d53717d34ba9de620b69becf669e06dc09a85874b4c5d619a509347c97e4112502a431affecccc5faf96464b072b5563247b9e SHA512 e5a167ff035f1494d6b1df7d3bf6feb37aa6421222fd27bfbebb36de4c7c3083e327679b82b7d9d3d4a2cc4dc2a3babb7cbf03358e4a2784d47eb34502014a1c DIST meson-1.9.1.tar.gz.asc 992 BLAKE2B 5271c87e19da0f0776c01b1f9f71eef0540e532a9397dbbff3c09c9b3b7698b8ea650f46c8b7edab8e5fd72c1fce4445d556c310770cc23c8275ebf8f06241f6 SHA512 a621781134e4793ea557fd1487895b65a38de23b676a7b6d8d7ac779abcdf768bdf09f933ea7ecedee0cd78fa62ab6319a9108cdf39ffa2e5695cddf183fb903 +DIST meson-1.9.2.tar.gz 2382854 BLAKE2B f099352abbc0fa8d358cbe406955ddf817453cdc244b36f322e11b5b3020013641d162c68c9bce119cf866e8082a14a3f7db9930b66dfba15805afb32440f555 SHA512 3237e55bb8374f65f40dccd8a93493a42fc425337758b8600b377c5e9795a1bdc97942fc19fedd4c3cb697f87c1d54364a637110704a5dc1a391d712be1463bc +DIST meson-1.9.2.tar.gz.asc 833 BLAKE2B f161b2918c341172de5f141ac367d7d62a60f2d0eadd793f71fb6a19e8944b4ad6bbfbb25d233862066eec8e422295d46e03ce8aca26e1081f2bcb456b7c1057 SHA512 c8cace334e31d5ba3e4f2da687ed945182e3039dc8bbea94015caa82d373c4b4d96a425eccb7617793fd471040705711b00ab37705dcd2070be6ba089586652b DIST meson-reference-1.10.0rc2.3 365878 BLAKE2B 73f3647bbd9d8780d397b7666d9efe7fd7e34896759c0c5075d00fb422ea110236b588f7b44582accd96b0e83cad404ff214c6693bc660b79fbdd3165cb76d16 SHA512 64828b68101e6db8c59137909044129ec7073b92474928c495f36bb4906fe3fb151a86e49e14a806e19cff578b1838a4ec225ef84097206b8d561aa8a4e6b5e4 DIST meson-reference-1.4.2.3 339324 BLAKE2B 1a4fbd8c27a8cfba773777eabd2ebaa0f76ec0c61dcfe1c7b4483737b348ff9528d68f26e68d7d40b2e1875611eed5b9a31c1cf55fed8eabb42fc1e31d9ef14b SHA512 8b8ec43e812599203ec44c08805eb6818485805c45b9c69802261eaa35efc97846a96f6472c6b1ef5f6c703e7153fd957df7b805f173ca3400a2030dfbe002ca DIST meson-reference-1.5.2.3 341110 BLAKE2B 0d588b796f7f2da2dcb0e7822acde6a9a461930da4bfead3cf9148fa0fac18cd0ccbc6e891f555c973836f1c16b4eae299908a838a0b6843293de8815d30fc23 SHA512 64715ce2113e362e7d67179fe13566bc8f84ce7f4e6d795b836f42455a871173fee06e3e969e2996022d7e6c9b4b5379587a4c0c3d97b4bca527fb8902d3547f @@ -25,3 +27,4 @@ DIST meson-reference-1.6.1.3 343730 BLAKE2B 55df822192781a70e4bc44cfe14fb363e3f8 DIST meson-reference-1.7.2.3 344764 BLAKE2B 82de9a7a01c2f1b45a2b3432deb4713af3cfd3b2dc9af8802488b7d1b86dde9b6ac81f90b144006a79e90b313e1d4d23f9cc90e17255ce9573e5487d3e20c286 SHA512 d482a3b3bed671705d6316e106984ad2c2169fe890349437e512455705ee8dddb31a29d31f44402a4c7c5bd2f78595b75bfc5ad34d8c0337b66f40837b08ee56 DIST meson-reference-1.8.5.3 345964 BLAKE2B df514085c03c6cd84e31b1ea1aea18d34fdd5aebbcfa3ca96b31ca7dc97c89649f0b26e927288ed71beb3500a46d53cf6c42b740d9a8b3a22d75258cdf99c3c6 SHA512 ef8c4479b13bea4510dd57b0e18a4b86255853885763ae0a2ee19b3e0e846c6619bb6a646d656266650a58bc2afc7b1fa91b05bfc6f8fec9dcd73a7627a369fe DIST meson-reference-1.9.1.3 347286 BLAKE2B cae2e9a97bcb7fc6894723156280306ea0fb35d9cbe68d31785ac0678b17b8a4bdfdf2362834b9daf3c01e0ff8dd67c0f1d384595ef4e93858064bdad3e46840 SHA512 d79a772f4fdd55309acda104087d0bbdc707e8fd2816b516daf0b8d1c034892ddb0bec9a383d6f65184e9509a358e2a8b392a484b65ab9d26c0e68a02fd6db95 +DIST meson-reference-1.9.2.3 347286 BLAKE2B ece5e2075e1d1aabe9daf09e8dbdd4c22d0940b957cc61443c9ea0136e54c9f39244cc082f7a784209bb1bb81b116acae74f02501a9cd16df6d06ff9dcda08c0 SHA512 dbf57730e6c6ac6d3ebfba70f4c4b479d8e1a502854343c776f5ba0e9c7a4ba10bf75758b3434dd418041019ab7d704fe1424f49adaf41e260f652b58fd9cb23 diff --git a/dev-build/meson/meson-1.9.2.ebuild b/dev-build/meson/meson-1.9.2.ebuild new file mode 100644 index 000000000000..023b45efe14f --- /dev/null +++ b/dev-build/meson/meson-1.9.2.ebuild @@ -0,0 +1,232 @@ +# 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-eschwartz-20250723-r1 sec-keys/openpgp-keys-jpakkane )" + #VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/eschwartz.asc + 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-1.82.0-r2 + app-alternatives/ninja + dev-vcs/git + virtual/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[cxx,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 +} |
