diff options
Diffstat (limited to 'dev-build/meson')
-rw-r--r-- | dev-build/meson/Manifest | 4 | ||||
-rw-r--r-- | dev-build/meson/meson-1.7.1.ebuild | 227 |
2 files changed, 231 insertions, 0 deletions
diff --git a/dev-build/meson/Manifest b/dev-build/meson/Manifest index 744ce01f9d2c..65b2a194d22b 100644 --- a/dev-build/meson/Manifest +++ b/dev-build/meson/Manifest @@ -15,10 +15,13 @@ DIST meson-1.6.1.tar.gz 2276144 BLAKE2B 7ccdb3bf3f701fc787fabf91413db8301a8658b8 DIST meson-1.6.1.tar.gz.asc 833 BLAKE2B 6666eca8e5506b8692fc29ba66dc3ee9d725a7d720a7b43db720098f7e00671e71993586606c187d8314e3919474f5733d64a8d052be6552cbcf013a872905ab SHA512 543cf396de0a58998c3587aa05580fa9a56734db40b74fc5fbb22cd56124531804a5360d6b9acb9baa71753ac04c343364da4d78a0d366d8e8bc760030ebf8d3 DIST meson-1.7.0.tar.gz 2293975 BLAKE2B 64465b33c2358fddc3594807ee5d251dc6bcc1030ed3559d2d5dc33b7092a512b8a3d3b75cc7152812dbc62631d3b9fba596cd105654ae3ff38f01be8ada5232 SHA512 a5d1f00b193ca37ae64f85c9dfc29a2661c167d82d9953b9acd1393b222b05fa5fc03ffdf00fd1ae7a2014da3a7366c35f70bf02e3204e929b74f7b00c17c840 DIST meson-1.7.0.tar.gz.asc 833 BLAKE2B 34783968262e5ce54cca7f4878b09e7611670ede620b8588ac915bb55fed7f4051e151d789b10e9bd650241149dc9930c14b356c3ce436682d496eeabc805672 SHA512 85ec14f080d0d1492922c971909dc734ab1cd4914a567afbfeff5dc00d19a9a72e6e0668280fc045f270c49389ea03059b9eeb831788b2154fb39116b38f6e5e +DIST meson-1.7.1.tar.gz 2295198 BLAKE2B a1eda88cc349f74ab00e367daf5f27452875f483d95d7dcad2255b5df040efd39019dd6b1b61a58709662193c3dce28c6f378e80f7c15a4b9be694ed4173f59d SHA512 bad913c59f540b701a0d234a868bd88615ccfcdc09931f8dea7b4da48bcc3a3c3c7e9cdeeff5abfcd48c6b2b25e5c60590811125b7156da36b714e00b35813c6 +DIST meson-1.7.1.tar.gz.asc 833 BLAKE2B 1e854c5f026471d1fa1f9f9ca26a8be06518564694b92ba8a751f2c05fa430359c5f6c9b636c0df9a2db338f61a9750e4080d60171a0e3bef49163c416166ef6 SHA512 266de0d34828688491ad3167bb3b88f489b579af1bbbb20a28e3ccfc342fa04659970d4db5e10a0470a5c52d37f4b04f718d7af4c3c3e9e1e67c69c10f3c4662 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 DIST meson-reference-1.7.0.3 344764 BLAKE2B 615c70325b6ca3b964bf2827f20f07845150943b6cd95a0599b0392299e2a9338921b52bbe3613fc03fa931c28fb2121801bdb74880f2bd4fecb051b7f1fcb4b SHA512 9d9a3862602251ca780acdf18cee4ab9cd14404481e216b557eafc88b23561ecf481836898b78cbc4ee3539869b5578c649a5c71f32b3074d8125b867ea4751d +DIST meson-reference-1.7.1.3 344764 BLAKE2B f4b6a5eb80f143310e9aae3fe512b5146b39df4e74e589c571d3f58ddfcb3298d1accff417c055e46a4ad61fc0557723eb4d89607a4793d1bcc134f1e83ab3eb SHA512 f36e4adcf7eab70738c71c48c87328bc436168dc605c0931b746d4b48915269dc9245215a4aa968046e4cb0f5167f595da1cf2acd96d87ed47aea9b34b63a652 EBUILD meson-1.1.1.ebuild 3281 BLAKE2B f66b4bab03d4692c4818444dbe24982451eac1378f7c3b4a1fb88568b5be78b8ff959566489328ed843aa21d7810062529a8656d2fedf9ad20f62166ad4070cc SHA512 c192a3c1ad7d78da4505c96e253acb7761ecdb920d786de9c08b1eacdfa11c977d28e97c1f3f225a8a077674a8a954e659651f6fa9d5822c3300e2d599d69909 EBUILD meson-1.2.3.ebuild 3279 BLAKE2B faf4ee6ad678f436ce37af1ec074207eee2f2033ca5d8cece4944070e741f36966ac288bb282949c40e8b4e858c741ba14d3d32f0cee46a98fdf91d2650792d4 SHA512 ebd47115b9a6808cf3ebcc31f87671c6cd660f922bc7b5e1fae0c2a0b3cb79093d7f85e30d0fa745e2ac590457e744312127d2d0a6e8f8f1034664ae1e47eca0 EBUILD meson-1.3.2.ebuild 3411 BLAKE2B 71d25e070379acab0e87c57fab8226afb5f7939e7761317f4351a3f3fa6b47fba484c08cc33ca63eaec3e070d7b4760a4c6fc0bcf1370002c35926c73f339e78 SHA512 c2e470732e9b2598f8c9ce30d635e17b4cacfc2ce1be280c0d5f1ece91ec392078f6ab2f50e09e228b28cc2d3ce7cae7c98b20b9f4f3fe68713b162be8dc9c4f @@ -26,5 +29,6 @@ EBUILD meson-1.4.2.ebuild 5079 BLAKE2B 71538d46f5f2d0f34ae4ae2082ff5fa1d37413b76 EBUILD meson-1.5.2.ebuild 4924 BLAKE2B a3598d55c0e9b01de353d65c3ad38b6eaf24fa925d63cf5a139384110fc51166f7e7775bd28f0c0744aa24b02f832d28622f66cb0c4240862db9fa5dc38bbe11 SHA512 8454f814170720760d82d0e3ad9e6b23932f011518e53ad3f6da19d17007a2e7437d0c75339c0dc811dc699987d588f35d8be5d717f5853ae8d1202200e16a83 EBUILD meson-1.6.1.ebuild 5636 BLAKE2B 849765d4247676edc472ecede3c23cec90ab37b6085c189dbeabfdbdda6e9d0ded6d0ccb6821730b8018a53d7ee492419436acf637db688fa82f427324c2a71c SHA512 ecc37d0290061659e7e53dde3d612c63e7d9914284a4db1a524d9f8607d075fef5af290d5b26b419d7e97995811fd8f8e58603af54b6e0e25b866e645ccf36ab EBUILD meson-1.7.0.ebuild 5645 BLAKE2B 210681b0c2a15a556579c4625170764d0ba3f464fdc66d8453488387058ab106f7a5892dd5386a5cab651e2d714d99708d76d419d78928bcbf1be640ece16b54 SHA512 2efe70a2de6560efdd0e9a42f716f6647b568c482cc54101d2ec9ac4e4bc6656d3b39b4ce40dcfcb46ed8dd47345ce43aa56fc46b9179ed6384e5460cf81b41e +EBUILD meson-1.7.1.ebuild 5653 BLAKE2B 3e798e7da36d5eaf4eabfd18a6f6afbfb671f493373c395fad3bc167f063b3ce5194606e7483fcdf976394ab86bcf78044c3de3738273b2028f0a66aaf8ec4d8 SHA512 5de5de66e1ffbb48eec59b9c86f0a8a069a31ef7e06c1b7f9a5e3220fc224d8359d7c7b0cb2e7149bd4d30cfc75cd21b502c0375b2bc195367e905888e28d1d2 EBUILD meson-9999.ebuild 5653 BLAKE2B 3e798e7da36d5eaf4eabfd18a6f6afbfb671f493373c395fad3bc167f063b3ce5194606e7483fcdf976394ab86bcf78044c3de3738273b2028f0a66aaf8ec4d8 SHA512 5de5de66e1ffbb48eec59b9c86f0a8a069a31ef7e06c1b7f9a5e3220fc224d8359d7c7b0cb2e7149bd4d30cfc75cd21b502c0375b2bc195367e905888e28d1d2 MISC metadata.xml 542 BLAKE2B 9d1667f9893c64c33e7a86a7b92c9dd85007d3e513608ec615c217e6ca58b3161c789f816e89d25f75d2ef17ed9336b4640d058bfd0e5c574d0d386755debb1d SHA512 2ab3497c1509db6687f250344eabf49dd09062b69bceda96f3e61c1cbb26f9c2ed0c7c9366dc3ea7b64df1e35214b486656af85b96b7100ce856cc1eb41df6c2 diff --git a/dev-build/meson/meson-1.7.1.ebuild b/dev-build/meson/meson-1.7.1.ebuild new file mode 100644 index 000000000000..05aa3dd4f8d0 --- /dev/null +++ b/dev-build/meson/meson-1.7.1.ebuild @@ -0,0 +1,227 @@ +# 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 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 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 +) + +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 +} |