summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-util/meson/Manifest1
-rw-r--r--dev-util/meson/files/0.53.1-remove-asan-ld_preload.patch27
-rw-r--r--dev-util/meson/files/0.53.1-remove-asan.patch27
-rw-r--r--dev-util/meson/meson-0.53.1.ebuild84
4 files changed, 139 insertions, 0 deletions
diff --git a/dev-util/meson/Manifest b/dev-util/meson/Manifest
index ace970ee088b..6200ecdf855d 100644
--- a/dev-util/meson/Manifest
+++ b/dev-util/meson/Manifest
@@ -1,2 +1,3 @@
DIST meson-0.52.1.tar.gz 1507764 BLAKE2B 8daf43d84186905d5c32629ab6a250955bdffda502d2d79f991111d0ae7e3a21b3f9bc09ef5258f709eee4e17b09c6f09e7685a72153efcf8daaaec2645eef8a SHA512 fea3e85191782999de3a9431ec1d2cfacea32cf9598205443855042dca50ddac92eb3e74be4dd6a62bd80a606b73e76a04877b2c8efb275d9de5f87e3f9f8f41
DIST meson-0.53.0.tar.gz 1548138 BLAKE2B 42340645f3417930856e05da9b479e9352e1fe3ea567929215f433a04fe3b0216d6de8693428be058048d2bd9c8d21031b19d0d5599a99e8f61aa9b6da689bf7 SHA512 e79a093aba5df137d463ac1334199833b8374689b2aba1cfd935fc484fff524d84bf6c2b3fcd9371b67daade0e18d1fe5e47dccdb7cf416932e86b83f49fec73
+DIST meson-0.53.1.tar.gz 1552121 BLAKE2B 3f0bbbeba6307397dfe5e49c1f978d6246d8e18317d0361b6f013f5c2ba55ad7cba53c985418686c20db159b7790b45a0c2e05d86f861cd0280fb07afdbeb847 SHA512 0c96c354bcd7e6945473c7df0ddff929ef2bae9c2dfc7b48c6c6174c7f2be4f798398929f9c4d5986aa5fc882305ff76371ad0d65a499f058b33b05ff7025859
diff --git a/dev-util/meson/files/0.53.1-remove-asan-ld_preload.patch b/dev-util/meson/files/0.53.1-remove-asan-ld_preload.patch
new file mode 100644
index 000000000000..4ee11829904d
--- /dev/null
+++ b/dev-util/meson/files/0.53.1-remove-asan-ld_preload.patch
@@ -0,0 +1,27 @@
+From 75f2d7a004387edc7a7e73da5097bf01daf38769 Mon Sep 17 00:00:00 2001
+From: William Hubbs <w.d.hubbs@gmail.com>
+Date: Sat, 15 Feb 2020 12:24:42 -0600
+Subject: [PATCH 1/2] remove asan ld_preload
+
+ASAN and sandbox both want control over LD_PRELOAD
+https://bugs.gentoo.org/673016
+---
+ run_unittests.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/run_unittests.py b/run_unittests.py
+index 676604f4..1c9aaf0c 100755
+--- a/run_unittests.py
++++ b/run_unittests.py
+@@ -4985,7 +4985,7 @@ class LinuxlikeTests(BasePlatformTests):
+ r'Run-time dependency qt5 \(modules: Core\) found: YES 5.* \(pkg-config\)\n')
+
+ @skip_if_not_base_option('b_sanitize')
+- def test_generate_gir_with_address_sanitizer(self):
++ def _test_generate_gir_with_address_sanitizer(self):
+ if is_cygwin():
+ raise unittest.SkipTest('asan not available on Cygwin')
+ if is_openbsd():
+--
+2.24.1
+
diff --git a/dev-util/meson/files/0.53.1-remove-asan.patch b/dev-util/meson/files/0.53.1-remove-asan.patch
new file mode 100644
index 000000000000..4cc2aead0ba6
--- /dev/null
+++ b/dev-util/meson/files/0.53.1-remove-asan.patch
@@ -0,0 +1,27 @@
+From 9ddb289ca9611281a45734d92fdfd2d5fb83f050 Mon Sep 17 00:00:00 2001
+From: William Hubbs <w.d.hubbs@gmail.com>
+Date: Sat, 15 Feb 2020 12:28:35 -0600
+Subject: [PATCH 2/2] remove asan
+
+ASAN is unsupported on some targets
+https://bugs.gentoo.org/692822
+---
+ run_unittests.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/run_unittests.py b/run_unittests.py
+index 1c9aaf0c..171ee0f0 100755
+--- a/run_unittests.py
++++ b/run_unittests.py
+@@ -5475,7 +5475,7 @@ class LinuxlikeTests(BasePlatformTests):
+ self.assertEqual(install_rpath, 'baz')
+
+ @skip_if_not_base_option('b_sanitize')
+- def test_pch_with_address_sanitizer(self):
++ def _test_pch_with_address_sanitizer(self):
+ if is_cygwin():
+ raise unittest.SkipTest('asan not available on Cygwin')
+ if is_openbsd():
+--
+2.24.1
+
diff --git a/dev-util/meson/meson-0.53.1.ebuild b/dev-util/meson/meson-0.53.1.ebuild
new file mode 100644
index 000000000000..0d8071675585
--- /dev/null
+++ b/dev-util/meson/meson-0.53.1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 2016-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7,8} )
+DISTUTILS_USE_SETUPTOOLS="rdepend"
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/mesonbuild/meson"
+ inherit git-r3
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+fi
+
+inherit distutils-r1 toolchain-funcs
+
+DESCRIPTION="Open source build system"
+HOMEPAGE="http://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
+ )
+"
+
+PATCHES=(
+ # ASAN and sandbox both want control over LD_PRELOAD
+ # https://bugs.gentoo.org/673016
+ "${FILESDIR}"/0.53.1-remove-asan-ld_preload.patch
+ # ASAN is unsupported on some targets
+ # https://bugs.gentoo.org/692822
+ "${FILESDIR}"/0.53.1-remove-asan.patch
+ )
+
+python_prepare_all() {
+
+ # 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
+ # https://bugs.gentoo.org/687792
+ unset PKG_CONFIG
+ distutils-r1_src_test
+ fi
+}
+
+python_test() {
+ (
+ # test_meson_installed
+ unset PYTHONDONTWRITEBYTECODE
+
+ # test_cross_file_system_paths
+ unset XDG_DATA_HOME
+
+ ${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
+}