summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz93@gmail.com>2024-06-24 21:16:02 -0400
committerSam James <sam@gentoo.org>2024-06-25 02:31:30 +0100
commitf6bad1b3b58baf4bc1f73b515926b3e8306a2cfd (patch)
tree79f44021883001b0dbe4f2c10faad26dee24a663 /dev-build
parentdev-build/meson: enable py3.13 in live (diff)
downloadgentoo-f6bad1b3b58baf4bc1f73b515926b3e8306a2cfd.tar.gz
gentoo-f6bad1b3b58baf4bc1f73b515926b3e8306a2cfd.tar.bz2
gentoo-f6bad1b3b58baf4bc1f73b515926b3e8306a2cfd.zip
dev-build/meson: add 1.5.0_rc1
Includes py3.13 support. Signed-off-by: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-build')
-rw-r--r--dev-build/meson/Manifest3
-rw-r--r--dev-build/meson/meson-1.5.0_rc1.ebuild180
2 files changed, 183 insertions, 0 deletions
diff --git a/dev-build/meson/Manifest b/dev-build/meson/Manifest
index 60c78060b987..f1863f8dda4f 100644
--- a/dev-build/meson/Manifest
+++ b/dev-build/meson/Manifest
@@ -12,5 +12,8 @@ DIST meson-1.4.0.tar.gz 2224663 BLAKE2B 7f742ef870c182e552c1ff3508d65f251009d610
DIST meson-1.4.0.tar.gz.asc 833 BLAKE2B 6e4002303da16bcaa3d1d3c76a3485b23174074de2d29bd34347a4671d7fb0f1c0767559ed9267e0f0b52c02638b85a11a5980f4ee188e7e4d35c733b0821c62 SHA512 ea73e72d929bf30d28c033f103fd1d26bac7cef175aabbf9b3a24c7b336682c28f5aae184e04d2189731cf80dd7571939cb02de642bb5b412cea996ca30dfdad
DIST meson-1.4.1.tar.gz 2235558 BLAKE2B 1eb83ad34d9e0a80eaf667a5edf04cf40ff043c0b9e8c78c5bd553eb2dae372b4c0dc8e30760da0321b7c33d331304c21c7f51d2133681c9fa66d551039952f3 SHA512 2616bcca70d5554407d4852aa3494e05e53aa8a33f58859ada42750221922fcb6ea7f3452844883f4800d77eed4a7289b061324871218f052219b3caa02dcc9e
DIST meson-1.4.1.tar.gz.asc 833 BLAKE2B cbdac6620111acbb8c1e07a017a9f5f1cea2cfee62dc7ebf77a9dba7a578e43f8706923e4054ae8458c27a43112c634811c1a0d698f693f2e40744288ce586ea SHA512 bfc4f52a5e21684012aeef95dafba74a6d730efe88bc81bc410c183c253605f119dacd9684c3742ce1d3abf798a4443172526e535523531443beb0ca8c1c3633
+DIST meson-1.5.0rc1.tar.gz 2253455 BLAKE2B 1e0d9e350532a75c8db8295dba4e12527eca9be21cf9dfd55f86fb4f063c618e93c5f579c23ddebf322a3c2e29fbad41ce9051565bd997c3b234d7eb6c3a0f60 SHA512 d19168bf32a1c758c63d08cf8eb0b8c3b63b22e8bdef1ccccf2b7d6970cc1a4ea9400b0ee593765ad579c8184cfa6b731138a040d2aad6ebe9943c8c7778da13
+DIST meson-1.5.0rc1.tar.gz.asc 833 BLAKE2B 256058d06f2e13eab8b2a82211d78f7fd2fc70ec65f7e97a1441311a6df5ca82a7950f06b4523af6494951a4a49bba5ed69c8cefc95b56fe7913e2c17a300b31 SHA512 260052a143ea050ada19673d622a459c36717d6bedf56c699c2afbf287ad78d01572c50d510d875537f4ad81442a5caed5639b9f5c25b015ca4041335f92b1d7
DIST meson-reference-1.4.0.3 339324 BLAKE2B 8ad24592c1a9100832dead97a55d4cb358892fc1cd6aee641f9610cb6a5df211831e6cfc42e047d5e835ed53de1bb9c7d711dd1a0a8cfe18a0f85e92a1a3f925 SHA512 8df06f63db6db01a6c8c0a5b4a8b26c868bb027f26580d290288b1067429a526fb654fae01a45085c1f20ee8dab1b5325e8b2fd285faf175d2fcfc2c704b4768
DIST meson-reference-1.4.1.3 339324 BLAKE2B a0ea6a1dd599c0a559dae64772f730ac7cad7df3ea63acc8355ff933152873567803efff012e6ea0a4c75ef9c8be023a8d927411a49e43de20bbfc69b1263488 SHA512 fc94aa95df3cd04af49ab2f27050c3ef206407a2ccb3b61d9c8660deba55eae3fb627d83713de62f3e1216a1a33a88e989bf5b557b7e17adbb73a57d5f2ad11a
+DIST meson-reference-1.5.0rc1.3 341787 BLAKE2B aaa8b32db40cfcb91fab2a147e7d4ca77e934606f630eda3362adeaa2f25df25ee4393876a4c4e5a6320ec4c4c689dcb2f8d0560d74b694c61d9449da44fd508 SHA512 4cb6ca649f167b477fc26f45bde9eb3e7fe9b322efe55146578ddc42ad075737a3d15ca3d6724d2ffa52131d5f4bb3b480d02eda20a38bfffd326910de0d5f92
diff --git a/dev-build/meson/meson-1.5.0_rc1.ebuild b/dev-build/meson/meson-1.5.0_rc1.ebuild
new file mode 100644
index 000000000000..b65657a09c33
--- /dev/null
+++ b/dev-build/meson/meson-1.5.0_rc1.ebuild
@@ -0,0 +1,180 @@
+# 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 ~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="
+ !<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/_&/'
+ )
+
+ 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
+}