summaryrefslogtreecommitdiff
path: root/dev-util/meson
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-12-27 19:39:54 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-12-27 19:39:54 +0000
commit249ae8c1a241b514fc83737660927ee175091346 (patch)
treea2a02c05fda158e709612d8ca505847b441412db /dev-util/meson
parent99995c94c01b6d74165c7ee31be36275846b14b8 (diff)
gentoo auto-resync : 27:12:2023 - 19:39:54
Diffstat (limited to 'dev-util/meson')
-rw-r--r--dev-util/meson/Manifest4
-rw-r--r--dev-util/meson/files/0001-Revert-clike-Deduplicate-rpath-linker-flags.patch55
-rw-r--r--dev-util/meson/meson-1.3.1.ebuild133
3 files changed, 192 insertions, 0 deletions
diff --git a/dev-util/meson/Manifest b/dev-util/meson/Manifest
index 03c9acdcbfbe..31e9e0a3240d 100644
--- a/dev-util/meson/Manifest
+++ b/dev-util/meson/Manifest
@@ -1,4 +1,5 @@
AUX 0001-Only-convert-boolean-values-for-cmake-formats.patch 1094 BLAKE2B 3c65ba28fab604a1c63e195650a88a9ae7539a04d373e46d48fb742f372efdcebcb68977a669e7d6ceacec98db02c21b6daec45c1fea569c9cec29728ef83e6f SHA512 b6e4ee780969f858f5bd8a92998b012988df5aa6deba4666108dbed8bc77012c224499a3b09ce5278e67c41f7eaabe2cfa1452ece8877509f05241a3d5e2d7c2
+AUX 0001-Revert-clike-Deduplicate-rpath-linker-flags.patch 2283 BLAKE2B e90a39bcfbdb5695eafce58d4e2a458d61377228a8b37352862fee7e15c14137ea508d325e76eff8ca65bbba13c5d1fdbb5d51064299d8652394d79a34b85560 SHA512 095a9fd8960616a12aa1bbc3a89ff2792eb18c5c7e9b482e50fe2d39d825d073128aa77d56745ac98cefbb8de72d8f125972503ef3377bd743a6b296308951e7
AUX 0001-ninja-backend-don-t-hide-all-compiler-warnings-for-t.patch 12301 BLAKE2B 44875bf6aa6e18de99e9c7202cd931f95a43dc29dac69a83cfa1cefbdf5442bc292920bd46b2479e39f150a534afe9f8db72022eb029c344b4c3e5f59a7274a6 SHA512 f106bf93bdedb82d079061715178bb0cbdf333113555ca0f61da0d0112ca6eff08135585d7e442d16a85b65232ff501a33e5ad208d230ea6d9fa10b30271f247
AUX 1.2.2/0001-python-dependency-ensure-that-setuptools-doesn-t-inj.patch 1547 BLAKE2B 4a61642466aa4ed4eee39fce2e796832b8325938f8ca15ea86a5d4f255dbe65be837ccbcf82ebb1a766d0ff5e7d8a69e93b7676f3af421bbc6907fec0e6ca231 SHA512 efdd2b0cb9fac0188b5c21cb3f98152d488c5299820a055031f2f75598bc0a8811988511091dfc7f99440b48defdf7e80a783cb7c374ccbba2a1e4d20a9065e3
AUX 1.2.2/0002-python-module-stop-using-distutils-schemes-on-suffic.patch 2799 BLAKE2B 1806655c247c4f009b41062e5ae5c90cb7ea3150c311bbdbc768e37a1d6e4a4599568584c1cd00a06315159422150ea953cda2325e97aae761bf6c7fb8b4b89e SHA512 3654092cd93f54af7ec7ea89f396c0e947d00b6a626037b827be589926502f37ecf3795c01d514b97a9990d95c6b5050f1304ba1de2ae867a86b3ca73a163893
@@ -20,6 +21,8 @@ DIST meson-1.2.3.tar.gz 2184484 BLAKE2B 7d76c54bddba249ab97ebd5dd0afc448177ff9fa
DIST meson-1.2.3.tar.gz.asc 833 BLAKE2B 1416c49302aab80b5f647cc1d6cd18c36f6199e79c7d13ea284143b2423267b5823850218578626937c14589ebcdf19069b310394c63bc762ab8f59d7ebe3780 SHA512 852c031ecfe032cb48d284bb270597d114294b7d1be5dd0df6ec2f78a62e1a5ba82711bc14ae410e47ced54f99a639055a1628b0acf7aa07a3a80034fce5ebc9
DIST meson-1.3.0.tar.gz 2222383 BLAKE2B cb9ac8e00fe924df67166938687584a9de35e784e1e52bff281649d787695d37e3044ea3d6d5869181fe1e9676b5136548293dbd5cdbd091a6de0c449b8932f5 SHA512 fbcbdd9551ad12b7be84411b96357e01c7c0c38a8e9933093d2e71ed7e12bd4278245798684d389c332eb75dd50c99310affc9acb01cf8bedd45265335083a32
DIST meson-1.3.0.tar.gz.asc 833 BLAKE2B d83b819e75e732d694ac98412717af39a8115defc7371f1983e4619cf990b5cdfd7ab7c93911f2a8b6c7055c7252ebeba04d15f508f4278b506e326fa1801a25 SHA512 8c72bfe5f3bdec9c9f787dd5a7186599bb44079a89d0a87a535a6e890adb7718cbf570b2ac74583b72b92aa05160823a8571ca530384787c428e49d6fbe095ba
+DIST meson-1.3.1.tar.gz 2222386 BLAKE2B 64d53eddc8cb321a4e2dabaa4b7499798a7b68764b1a7a5182bfa21d081dc07105acab616119b88ff610e5d75504f03d1c0aefee3602ddf538fc491ff3d0204a SHA512 6e694beb70329535faca9405358c04e2fd5a490b0c0d2678d5831b7de3477e0fcf4f6a242f1bc6218da04ac4f6e096ee53cdf273c6b6a38a35d370e8c16694ba
+DIST meson-1.3.1.tar.gz.asc 833 BLAKE2B 1db7aabe3b7d491dfcd288a780d10784517a73e07348f2d5b98d1fa347dd08b2afa210511c7f5ff867b10ecd3ce470ea764b5ce6907aa7dcaa4d619f705e339c SHA512 0f652d375fa7700f3048266330d783664593c08da47d4f0d87af0be5d8b5e21113521651fb923c6a1cfe88aef7067ebd85b27946f19e71133d7c9805839fc873
EBUILD meson-1.1.1.ebuild 3279 BLAKE2B 1421e17fd17c8f94f75632f24222134bbc866c4691af6894875b4e7aa88e8cc624f5bbc0ad17fd89baf31568d82d20ed758c22e4a3539f1d1e348c87cf11008c SHA512 f5058d9eb3aad90043ca8f53cf7bdfa010609aec21b9510cd2751bb6ff9151364546302bc157ec41143b11d817a1c33bd475f82b0e8d347b48b86ffc08b2c4cc
EBUILD meson-1.2.1-r1.ebuild 3270 BLAKE2B 9f630906fac0060bfc185988e65279ef626cb11f0c9624341898fc28d569cc06aca9cdffd75296a06e3802af5e0465f405b2d1f27f27d3ee6035c2723792fab8 SHA512 38da9d8af6c46a63c6f39cd291a273f13d5440ad90ce8c2d63ea6bf9d017786e84e4102a190936ba65a82afed42b45445dde897e75f0da6245cc0f0a3d9d2260
EBUILD meson-1.2.1-r2.ebuild 3312 BLAKE2B 4e36e20e3585b7db4ba1744311af7788f22be2b5d3b6585bb65adf16c6c986474a257c91efbda5967ec33843e45a0ff105da570bf63c6b7c788e18ef00a1e22f SHA512 ae47ca6a07e8deee3cd3cf2e05a2de7a300044d2fb3770f2fe2c18376af5cdbb701a66bb92d75d0f371482d4266913bfe039034b11b1b6c40ecfc1d3e719be03
@@ -28,5 +31,6 @@ EBUILD meson-1.2.2.ebuild 3285 BLAKE2B 1b38a024705bc9a5046a19ed80f2ba126ff984112
EBUILD meson-1.2.3.ebuild 3277 BLAKE2B 8a19cba268c31b8adc4f4852eca184639f0d6344934c321279a7dd48f5e3de02ce63bd4f3cff5814d8e42beff6733c9cf52c3742c254b051fa1d7a07d1885c33 SHA512 7fa82018c0f7d0179e1ccd5df33651e0e59561d2a35ccb189a32f7dc298cbe25bdfe4fd5db0eaf314a22b181ed111b74d957e240ab77cad62e2de9b3be9be512
EBUILD meson-1.3.0-r1.ebuild 3402 BLAKE2B 86c1be84d1a2a95ef3a2c325754d773502fc38e0e689f8eb449c4a26e1498148383f608612d3f82fe223402b6d09b58a7f38f52c24211e1285512c7f134b9fa0 SHA512 28e238d500cfcd0afc8b01f1bb22c957fc86c0d85b3c17814861e2ffc4dee2024a022cb08b991dd73d32e0fef1c01ab411a2db6df6595851bbf70e1211e51aa0
EBUILD meson-1.3.0-r2.ebuild 3565 BLAKE2B b88c922ff1d15321edb90011528ca0ba2464bdc2b665d7ded1d9f9d39cf62482bd60c8753713c9536bda0515f2e832750839cb85d4ed27e3f531fb7e8332eddb SHA512 6e215fe8b4a40ecd73b866e0735812fa6a80e55d01e90f2b4d91aaf0ccc05d0dea3f78014e8462683dbc5b3faa0c0210a783e5f76d5355964746156bb6f5f5b6
+EBUILD meson-1.3.1.ebuild 3580 BLAKE2B 1dd390f3ca0606952cf5bd2c10ccbed5f1b1c69fe179ecd70dffd73d8e9b7a81f8d5002129c4fc365af9554c848df17099e6c45559f85f6f155d6d8de55e38bc SHA512 cc92c6aa97b7005dc5f3865b74b1e432391a43e114e28239e7b36d5ac7ec1852dc75fdd10cbdca2e0d494b4e50e759b48da7def6d7f2357939a205176241d5b2
EBUILD meson-9999.ebuild 3227 BLAKE2B 8c8e99032af1d188ca7a8a227c992a4f53676523bcbdb5d7a0b44e254f897f6c2ed597bc6bd8472ddcf67f27e0d9117129fe93ebb452b80603dddf2d1664023e SHA512 a483a7433c22951f9da4d82c13eaff36f94b3772324641483129a4d7a138438382d6b349079808579d4fee22d59631f00a20759a8ac01f73a506c73f7e077218
MISC metadata.xml 472 BLAKE2B 559073667cf007cd507f379014c8d0d494908742f606ca5eeb2a0cef3b5a8cb63cea4e9aa33b228163211dff8f794d178cbcd6c91bb283f894e6b072db28bacc SHA512 9232fe05900dca57d21f41023255c9a6fba57b213737ac8842ea180681488d9a2a306c8fbeba66cf02204f4523192e64af745aa65db946beac723cfe271e4fd5
diff --git a/dev-util/meson/files/0001-Revert-clike-Deduplicate-rpath-linker-flags.patch b/dev-util/meson/files/0001-Revert-clike-Deduplicate-rpath-linker-flags.patch
new file mode 100644
index 000000000000..3d40616fec1f
--- /dev/null
+++ b/dev-util/meson/files/0001-Revert-clike-Deduplicate-rpath-linker-flags.patch
@@ -0,0 +1,55 @@
+From 2fbc7b5ce3aced483b196dd10ca9eee1713b7494 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Tue, 26 Dec 2023 15:06:12 -0500
+Subject: [PATCH] Revert "clike: Deduplicate rpath linker flags"
+
+This reverts commit 53ea59ad8455277797117d225f326851fe7d369c.
+
+This breaks at least:
+- frameworks/17 mpi
+- frameworks/30 scalapack
+
+The problem is that openmpi's pkg-config emitted link arguments
+includes:
+
+```
+-Wl,-rpath -Wl,/path/to/libdir
+```
+
+The deduplication logic in meson doesn't contain sufficient information
+to tell when the compiler is passing an argument that requires values,
+and definitely cannot tell when that argument is split across argv. But
+for arguments that *can* do this, it is not possible to deduplicate a
+single argument as standalone, because it is not standalone.
+
+The argument for deduplicating rpath here was that if you have multiple
+dependencies that all add the same rpath, the Apple ld64 emits a
+non-fatal warning "duplicate -rpath ignored". Since this is non-fatal,
+it's not a major issue. A major issue is when builds fatally error out
+with:
+
+```
+FAILED: scalapack_c
+cc -o scalapack_c scalapack_c.p/main.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group /usr/lib64/libscalapack.so /usr/lib64/liblapack.so /usr/lib64/libblas.so -Wl,-rpath -Wl,/usr/lib64 -Wl,/usr/lib64 -Wl,--enable-new-dtags /usr/lib64/libmpi.so -Wl,--end-group
+/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: error: /usr/lib64: read: Is a directory
+```
+---
+ mesonbuild/compilers/mixins/clike.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mesonbuild/compilers/mixins/clike.py b/mesonbuild/compilers/mixins/clike.py
+index b3fc96cec..76c8e0413 100644
+--- a/mesonbuild/compilers/mixins/clike.py
++++ b/mesonbuild/compilers/mixins/clike.py
+@@ -54,7 +54,7 @@ class CLikeCompilerArgs(arglist.CompilerArgs):
+
+ # NOTE: not thorough. A list of potential corner cases can be found in
+ # https://github.com/mesonbuild/meson/pull/4593#pullrequestreview-182016038
+- dedup1_prefixes = ('-l', '-Wl,-l', '-Wl,--export-dynamic', '-Wl,-rpath')
++ dedup1_prefixes = ('-l', '-Wl,-l', '-Wl,--export-dynamic')
+ dedup1_suffixes = ('.lib', '.dll', '.so', '.dylib', '.a')
+ dedup1_args = ('-c', '-S', '-E', '-pipe', '-pthread')
+
+--
+2.41.0
+
diff --git a/dev-util/meson/meson-1.3.1.ebuild b/dev-util/meson/meson-1.3.1.ebuild
new file mode 100644
index 000000000000..0ae70d840991
--- /dev/null
+++ b/dev-util/meson/meson-1.3.1.ebuild
@@ -0,0 +1,133 @@
+# Copyright 2016-2023 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
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/mesonbuild/meson"
+ inherit git-r3
+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 )
+ "
+ 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
+
+inherit bash-completion-r1 distutils-r1 toolchain-funcs
+
+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
+ dev-util/ninja
+ dev-vcs/git
+ sys-libs/zlib[static-libs(+)]
+ virtual/pkgconfig
+ )
+"
+RDEPEND="
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.2.1-python-path.patch
+
+ # backport fix for hiding compiler warnings (such as Modern C) in vala and cython
+ "${FILESDIR}"/0001-ninja-backend-don-t-hide-all-compiler-warnings-for-t.patch
+
+ # backport revert for broken rpath changes: https://github.com/mesonbuild/meson/pull/12672
+ "${FILESDIR}"/0001-Revert-clike-Deduplicate-rpath-linker-flags.patch
+)
+
+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
+}
+
+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() {
+ (
+ # 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
+}