diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-03-19 06:50:06 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-03-19 06:50:06 +0000 |
commit | 06617f385b21ef2262c88f17869c15c424e67d21 (patch) | |
tree | 3f6ea6fba81d85145b37641fb93140f3c70f57c9 /dev-build/meson | |
parent | 2c18b7f7fb2885d27960657c60906ef0bac0681e (diff) |
gentoo auto-resync : 19:03:2024 - 06:50:06
Diffstat (limited to 'dev-build/meson')
-rw-r--r-- | dev-build/meson/Manifest | 6 | ||||
-rw-r--r-- | dev-build/meson/meson-1.3.1-r1.ebuild | 2 | ||||
-rw-r--r-- | dev-build/meson/meson-1.4.0-r1.ebuild | 179 | ||||
-rw-r--r-- | dev-build/meson/meson-9999.ebuild | 76 |
4 files changed, 249 insertions, 14 deletions
diff --git a/dev-build/meson/Manifest b/dev-build/meson/Manifest index 659380bedf68..e9d7b5587e78 100644 --- a/dev-build/meson/Manifest +++ b/dev-build/meson/Manifest @@ -23,11 +23,13 @@ DIST meson-1.3.2.tar.gz 2223798 BLAKE2B 72b061598a0cb22517460de4df25394a9dfbddb5 DIST meson-1.3.2.tar.gz.asc 833 BLAKE2B b11ae2be4e9cb0278be9cafd304146432e606a5fd23379d08116943676286f240fb8cc1d5f897cbd4c2bacfe298802afb1a847e447d71250f58cee5dec38083b SHA512 0cb9575fb599cba4ae77c1954599a24b1f079c46cf255bb8d581ef434598503db6e08af6a95b7c00bc54c165ec8fd9834310e2d4874afe01c5d44e72cef496b3 DIST meson-1.4.0.tar.gz 2224663 BLAKE2B 7f742ef870c182e552c1ff3508d65f251009d610def6a08e01fddb6c6a4ed6d608ead0d52cf8ca7d66b5bd7a4732dccd7ab5d98f141a4a61e275398885f79486 SHA512 2787941fbc77d5ad95011753df52fe39812929a06d84dbce8bdc965c9c1e62fd6bfa819712eb1f5934c2ebe6919a65f7874ecac2caf40d111ea024343108cfbd DIST meson-1.4.0.tar.gz.asc 833 BLAKE2B 6e4002303da16bcaa3d1d3c76a3485b23174074de2d29bd34347a4671d7fb0f1c0767559ed9267e0f0b52c02638b85a11a5980f4ee188e7e4d35c733b0821c62 SHA512 ea73e72d929bf30d28c033f103fd1d26bac7cef175aabbf9b3a24c7b336682c28f5aae184e04d2189731cf80dd7571939cb02de642bb5b412cea996ca30dfdad +DIST meson-reference-1.4.0.3 339324 BLAKE2B 8ad24592c1a9100832dead97a55d4cb358892fc1cd6aee641f9610cb6a5df211831e6cfc42e047d5e835ed53de1bb9c7d711dd1a0a8cfe18a0f85e92a1a3f925 SHA512 8df06f63db6db01a6c8c0a5b4a8b26c868bb027f26580d290288b1067429a526fb654fae01a45085c1f20ee8dab1b5325e8b2fd285faf175d2fcfc2c704b4768 EBUILD meson-1.1.1.ebuild 3287 BLAKE2B d449d5e7511b47baf4d26aae0359183d4ef9ea21bf163d5af5fbe6cc78c44bd9788d5c807486f106be3a8abfb07cc1d34782616cffed333e94dd4225f6650056 SHA512 9fca53429ebd722f91084a4796bc1c466216b2021cb6b88e76cdaa559fefa17651d76e744e32c3126b2bad5b4ca36f5b17d402cec57a764340406610e7c97dae EBUILD meson-1.2.3.ebuild 3285 BLAKE2B f937d7add71afbfb05e1ce2f7a07c9077a76b8018d6cc3e7e5ebc029419aa45e57cb98f0b05e7236500bfdcee35a35ddbedad9c3c00133817c4b0867cea71730 SHA512 e8415edf199ad281e253331e72e7ed4e2398c658d006b54a7a89b24b9e2ce3950fb6d750c8a6b728849e973af7e576e9d95b7510d3aa27a320fc38614ec439bc EBUILD meson-1.3.0-r2.ebuild 3565 BLAKE2B 45aebd9f7f4978385d339588d5177418e3fc6e77878b3b5f095e95d30b0b237e5481f94225c651043888ab4af27510315de5f747eec45566e9b018dd5f2e9c22 SHA512 89646f67dbc7182a5808664125bc6d370b280f298fe3359a8837ebda3320b2e244adfbe39742c530da0a342f74aed5d3ba1d9b476440f393fd09a4af2babff85 -EBUILD meson-1.3.1-r1.ebuild 3707 BLAKE2B 226db24d4109bb63b65a8b15eb3aeb2824e4f6cafc93b2478f9d18c31f74ff4bde7a32aa36bdf63398cc90391b6b680ea20186d713670143209adf80f7bae93c SHA512 edc1096b30e6c4fd2bbf9d87fdd04ab4ac278ae007a1bb722f4905b663977d6448c3e0a5cba923c20db9dd13307b8499852cd9de73850ed738c6ccc554e4b591 +EBUILD meson-1.3.1-r1.ebuild 3706 BLAKE2B b7ba27a07e480500a8876d56286a4be4fc734011f253deb05465147e3babc99d81b70a54c0918c8db79179327eb92bd7e16a7758552ed92a42e53de29500cebc SHA512 e065666d6a70bdcc83040911cc6dcc8c4fd0e994509356a1cff13d6a64f2165e5e5a5b16c27361537a0c7b8eb7381cf19a9a6ad50551ff4b42702744ce6c971e EBUILD meson-1.3.2.ebuild 3425 BLAKE2B 05c2379e5d969467428bfd4ffe4c338aeefb7397b1b43f9adcebf514a4d4e069a77c62d8f075e7424921635cd8d2929c468c17e7cbceef76835a82bc09ddc290 SHA512 ad181c8f23d6fdde31ce37f0faacf83c1466faace2b7be9775b06f4a71388e55e2b85502eb1ae09c253f760aabd9c77f450ddb49c5d26ab90371220fad0ae503 +EBUILD meson-1.4.0-r1.ebuild 4542 BLAKE2B 279470e8ffbfe591a212836ba1957ca9b53614328253bc0303691cea8de742512e26804160befa0c49aca0f0d57cb12cd7d8f798362b72c1c7099ecb2f62e8a9 SHA512 95b0c7bd599572fcd65d0144186a433410d5cca9427c93ad20c1f18112b3f720a2bedd581728208b8aa72b7b3fd0d1370719d1f6aca67bd39a422d3efd36af81 EBUILD meson-1.4.0.ebuild 3451 BLAKE2B f7b685c9f0c03b9f0205a8be9e14827bcc54f7bef8131607001711b3b70419d9b88ef0f3d27c14d9a503e5e2cd3c7763f00c0061393a1e53ace5a09f779b9ddc SHA512 3b9609b4eb8ed93ba48bed4d9916ce082a318484b6a9dface0c200c79896b7001b5c4e35dce5cd56ef8dbb66c24b0e9e943e0c169c9142be249595ee83126126 -EBUILD meson-9999.ebuild 3235 BLAKE2B a70383fb27538f5539c16d0ca07f1cff24def033d6bde05053657c8c5217798ce65c3e15f599aa15f54f173b7ddcceefc4debb5af4ab53284cf75900a1e97152 SHA512 6d6afb4820807ef0d852ea7d7284ca574d089767917a4f1157726505e98aad1e4c485701023bbb99d7bec174dda802ccb16375237d5e05c874b59f058eceda43 +EBUILD meson-9999.ebuild 4542 BLAKE2B 279470e8ffbfe591a212836ba1957ca9b53614328253bc0303691cea8de742512e26804160befa0c49aca0f0d57cb12cd7d8f798362b72c1c7099ecb2f62e8a9 SHA512 95b0c7bd599572fcd65d0144186a433410d5cca9427c93ad20c1f18112b3f720a2bedd581728208b8aa72b7b3fd0d1370719d1f6aca67bd39a422d3efd36af81 MISC metadata.xml 472 BLAKE2B 559073667cf007cd507f379014c8d0d494908742f606ca5eeb2a0cef3b5a8cb63cea4e9aa33b228163211dff8f794d178cbcd6c91bb283f894e6b072db28bacc SHA512 9232fe05900dca57d21f41023255c9a6fba57b213737ac8842ea180681488d9a2a306c8fbeba66cf02204f4523192e64af745aa65db946beac723cfe271e4fd5 diff --git a/dev-build/meson/meson-1.3.1-r1.ebuild b/dev-build/meson/meson-1.3.1-r1.ebuild index 6bbfeaeaa0e0..8a1bba292f2a 100644 --- a/dev-build/meson/meson-1.3.1-r1.ebuild +++ b/dev-build/meson/meson-1.3.1-r1.ebuild @@ -24,7 +24,7 @@ else VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi fi diff --git a/dev-build/meson/meson-1.4.0-r1.ebuild b/dev-build/meson/meson-1.4.0-r1.ebuild new file mode 100644 index 000000000000..76daad8a812e --- /dev/null +++ b/dev-build/meson/meson-1.4.0-r1.ebuild @@ -0,0 +1,179 @@ +# Copyright 2016-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} 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 ~ia64 ~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=" + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.2.1-python-path.patch +) + +src_unpack() { + if [[ ${PV} = *9999* ]]; then + git-r3_src_unpack + else + default + 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/_&/' + ) + + 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 + + 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-${PV}.3 meson-reference.3 + fi +} diff --git a/dev-build/meson/meson-9999.ebuild b/dev-build/meson/meson-9999.ebuild index 4e7497b5c819..76daad8a812e 100644 --- a/dev-build/meson/meson-9999.ebuild +++ b/dev-build/meson/meson-9999.ebuild @@ -6,9 +6,17 @@ EAPI=8 PYTHON_COMPAT=( python3_{10..12} 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 git-r3 + inherit ninja-utils git-r3 + + BDEPEND=" + ${NINJA_DEPEND} + $(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') + " + else inherit verify-sig @@ -19,6 +27,7 @@ else 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 @@ -28,8 +37,6 @@ else fi fi -inherit bash-completion-r1 distutils-r1 toolchain-funcs - DESCRIPTION="Open source build system" HOMEPAGE="https://mesonbuild.com/" @@ -52,6 +59,19 @@ RDEPEND=" virtual/pkgconfig " +PATCHES=( + "${FILESDIR}"/${PN}-1.2.1-python-path.patch +) + +src_unpack() { + if [[ ${PV} = *9999* ]]; then + git-r3_src_unpack + else + default + 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 @@ -61,12 +81,6 @@ python_prepare_all() { # ASAN is unsupported on some targets # https://bugs.gentoo.org/692822 -e 's/test_pch_with_address_sanitizer/_&/' - - # https://github.com/mesonbuild/meson/issues/7203 - -e 's/test_templates/_&/' - - # Broken due to python2 wrapper - -e 's/test_python_module/_&/' ) sed -i "${disable_unittests[@]}" unittests/*.py || die @@ -77,6 +91,31 @@ python_prepare_all() { 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 @@ -88,6 +127,16 @@ src_test() { 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 @@ -107,8 +156,7 @@ python_test() { # value in JAVA_HOME, and the tests should get skipped. export JAVA_HOME=$(java-config -O 2>/dev/null) - # Call python3 instead of EPYTHON to satisfy test_meson_uninstalled. - python3 run_tests.py + ${EPYTHON} -u run_tests.py ) || die "Testing failed with ${EPYTHON}" } @@ -122,4 +170,10 @@ python_install_all() { 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-${PV}.3 meson-reference.3 + fi } |