diff options
| author | Palica <palica+gitlab@liguros.net> | 2020-06-23 22:35:08 +0200 |
|---|---|---|
| committer | Palica <palica+gitlab@liguros.net> | 2020-06-23 22:35:08 +0200 |
| commit | ecdac123787b96ce6649f0f91da12ea6458cc2b1 (patch) | |
| tree | b89c74d9e6fe6e8aebc4c77bcbeb4ab73214127d /dev-util/meson | |
| parent | 1be72aa41cf41dedadeecf59dca9f01de6381f5e (diff) | |
| download | srcux-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.gz srcux-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.xz srcux-ecdac123787b96ce6649f0f91da12ea6458cc2b1.zip | |
Updating liguros repo
Diffstat (limited to 'dev-util/meson')
| -rw-r--r-- | dev-util/meson/Manifest | 6 | ||||
| -rw-r--r-- | dev-util/meson/files/0.52.1-test_pkgconfig_gen_deps.patch | 46 | ||||
| -rw-r--r-- | dev-util/meson/files/0.53.1-remove-asan-ld_preload.patch | 27 | ||||
| -rw-r--r-- | dev-util/meson/files/0.53.1-remove-asan.patch | 27 | ||||
| -rw-r--r-- | dev-util/meson/files/0.54.2-multilib-clang.patch | 181 | ||||
| -rw-r--r-- | dev-util/meson/files/0.54.2-prefix-dont-strip-rpath.patch | 25 | ||||
| -rw-r--r-- | dev-util/meson/meson-0.52.1.ebuild | 86 | ||||
| -rw-r--r-- | dev-util/meson/meson-0.53.1.ebuild | 84 | ||||
| -rw-r--r-- | dev-util/meson/meson-0.54.0.ebuild | 67 | ||||
| -rw-r--r-- | dev-util/meson/meson-0.54.1.ebuild | 82 | ||||
| -rw-r--r-- | dev-util/meson/meson-0.54.2.ebuild | 98 | ||||
| -rw-r--r-- | dev-util/meson/meson-0.54.3.ebuild | 98 | ||||
| -rw-r--r-- | dev-util/meson/meson-9999.ebuild | 94 | ||||
| -rw-r--r-- | dev-util/meson/metadata.xml | 16 |
14 files changed, 937 insertions, 0 deletions
diff --git a/dev-util/meson/Manifest b/dev-util/meson/Manifest new file mode 100644 index 000000000000..5252e89d8cec --- /dev/null +++ b/dev-util/meson/Manifest @@ -0,0 +1,6 @@ +DIST meson-0.52.1.tar.gz 1507764 BLAKE2B 8daf43d84186905d5c32629ab6a250955bdffda502d2d79f991111d0ae7e3a21b3f9bc09ef5258f709eee4e17b09c6f09e7685a72153efcf8daaaec2645eef8a SHA512 fea3e85191782999de3a9431ec1d2cfacea32cf9598205443855042dca50ddac92eb3e74be4dd6a62bd80a606b73e76a04877b2c8efb275d9de5f87e3f9f8f41 +DIST meson-0.53.1.tar.gz 1552121 BLAKE2B 3f0bbbeba6307397dfe5e49c1f978d6246d8e18317d0361b6f013f5c2ba55ad7cba53c985418686c20db159b7790b45a0c2e05d86f861cd0280fb07afdbeb847 SHA512 0c96c354bcd7e6945473c7df0ddff929ef2bae9c2dfc7b48c6c6174c7f2be4f798398929f9c4d5986aa5fc882305ff76371ad0d65a499f058b33b05ff7025859 +DIST meson-0.54.0.tar.gz 1683491 BLAKE2B 3016beb44c4401672947afa898253b69769f998e18e00baedc3bcb525a9923b9154d7db79cfa4c38fcf66eeaee8137f47917689fdde33674b1f0483b21923393 SHA512 e3c97ffd9409a543e45c8be7b12d4e8437de8dbd0cd236fbe092952d7d0833728d46ff6b679c8a73dae4c4016fdf38b43b56f3959a95968a29db109ebfe254e7 +DIST meson-0.54.1.tar.gz 1687532 BLAKE2B 5bd355b35a4aa037e490615629480a194c04821fb18b137f090af89f6c33c700d0756bb2d7e9e608ecf4873886be10493bfeddce55fef3d905793ad3ccccfa68 SHA512 dbc3fed326ba208f5a6eee7e3106d07450e7a3569d425013fba8c51e7cfd6485f9b083836dc74be49bc9839bd640ce54741d9335097cbd28f6a320d5fec7ecfe +DIST meson-0.54.2.tar.gz 1691270 BLAKE2B c1ba552b5d56e0b6b73de46ec6bc90fb520665688d2f5c809baf84749d3bb1dec1fe0131136e1539369fa666ae2427c8fccd5928cbda0b8e3e1edb4a5dc8abbc SHA512 ad5ec826879d3d85088ca40d768599a4c8e66983f2a6a7ebe8ab12051cad18b4ade9a2afd30fe543b0a75900822992c8ef7161d369489e2211dd7a1a8ccc32ed +DIST meson-0.54.3.tar.gz 1690919 BLAKE2B 5d71731fb33397f470e2440d4d45f828d28d56351843a35b575f8b386f0b1c90faf654289e22ba7c2c4bf6c3be72d3dc8a2257d4a688bcbf9a1f2522394e7728 SHA512 2e62bf992bf337ae5a01f7a0fb842ea0cefcdbc81f5675235e41d8182f37df2e003b0a8a90d650c6cca4ff79898f7888474f75e5103a48d7ca14f51a024e4f2b diff --git a/dev-util/meson/files/0.52.1-test_pkgconfig_gen_deps.patch b/dev-util/meson/files/0.52.1-test_pkgconfig_gen_deps.patch new file mode 100644 index 000000000000..ec753e00230a --- /dev/null +++ b/dev-util/meson/files/0.52.1-test_pkgconfig_gen_deps.patch @@ -0,0 +1,46 @@ +From 1ce668f9163e1c912382eeb0e6ae40d123c0cca9 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert <floppym@gentoo.org> +Date: Mon, 13 Jan 2020 23:46:09 -0500 +Subject: [PATCH] test_pkgconfig_gen_deps: set + PKG_CONFIG_SYSTEM_LIBRARY_PATH=/usr/lib + +pkgconf automatically prunes "system library paths" from its output. The +system library paths depend on the system toolchain. A common value on a +64-bit system is as follows: + +/lib64:/usr/lib64:/usr/local/lib64 + +So, if -L/usr/lib64 appears in the Libs section, it will be pruned from +the output of pkg-config --libs. + +The pc files generated for this test contain something like this: + +libdir=/usr/lib +Libs: -L${libdir} ... + +pkgconf may not consider /usr/lib to be a system library path, so it is +not pruned as the test expects. To work around this, override the +compiled-in list of paths via the PKG_CONFIG_SYSTEM_LIBRARY_PATH +environment variable. + +Fixes: https://github.com/mesonbuild/meson/issues/6004 +--- + run_unittests.py | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/run_unittests.py b/run_unittests.py +index 898f05e54d..5a60b9b6a4 100755 +--- a/run_unittests.py ++++ b/run_unittests.py +@@ -4832,7 +4832,10 @@ def test_pkgconfig_gen_deps(self): + privatedir2 = self.privatedir + + os.environ +- env = {'PKG_CONFIG_LIBDIR': os.pathsep.join([privatedir1, privatedir2])} ++ env = { ++ 'PKG_CONFIG_LIBDIR': os.pathsep.join([privatedir1, privatedir2]), ++ 'PKG_CONFIG_SYSTEM_LIBRARY_PATH': '/usr/lib', ++ } + self._run(['pkg-config', 'dependency-test', '--validate'], override_envvars=env) + + # pkg-config strips some duplicated flags so we have to parse the 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/files/0.54.2-multilib-clang.patch b/dev-util/meson/files/0.54.2-multilib-clang.patch new file mode 100644 index 000000000000..b3aa3693e697 --- /dev/null +++ b/dev-util/meson/files/0.54.2-multilib-clang.patch @@ -0,0 +1,181 @@ +From 9dc3ca2c1c9fbb47e731551c6432df144f725261 Mon Sep 17 00:00:00 2001 +From: Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com> +Date: Thu, 21 May 2020 18:58:47 +0300 +Subject: [PATCH] compilers: add fetching of define list for clang + +Simmilar to gcc, the list of pre-processor defines can be fetched with +`-dM -E` option. The way cpu_family is determined on linux relies on +this list. + +Fixes incorrect value of cpu_family on linux, when crosscompiling: + +``` +CC="clang -m32" meson ./build +``` + +Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com> +Co-authored-by: Dylan Baker <dylan@pnwbakers.com> +--- + mesonbuild/compilers/c.py | 5 +++-- + mesonbuild/compilers/cpp.py | 5 +++-- + mesonbuild/compilers/fortran.py | 2 +- + mesonbuild/compilers/mixins/clang.py | 9 ++++++++- + mesonbuild/compilers/objc.py | 2 +- + mesonbuild/compilers/objcpp.py | 2 +- + mesonbuild/environment.py | 26 +++++++++++++++++++++++++- + 7 files changed, 42 insertions(+), 9 deletions(-) + +diff --git a/mesonbuild/compilers/c.py b/mesonbuild/compilers/c.py +index 1bc9e84998..aac99b4269 100644 +--- a/mesonbuild/compilers/c.py ++++ b/mesonbuild/compilers/c.py +@@ -86,9 +86,10 @@ class ClangCCompiler(ClangCompiler, CCompiler): + _C18_VERSION = '>=8.0.0' + + def __init__(self, exelist, version, for_machine: MachineChoice, +- is_cross, info: 'MachineInfo', exe_wrapper=None, **kwargs): ++ is_cross, info: 'MachineInfo', exe_wrapper=None, ++ defines: T.Optional[T.List[str]] = None, **kwargs): + CCompiler.__init__(self, exelist, version, for_machine, is_cross, info, exe_wrapper, **kwargs) +- ClangCompiler.__init__(self) ++ ClangCompiler.__init__(self, defines) + default_warn_args = ['-Wall', '-Winvalid-pch'] + self.warn_args = {'0': [], + '1': default_warn_args, +diff --git a/mesonbuild/compilers/cpp.py b/mesonbuild/compilers/cpp.py +index f4bcfa9f89..478a68c13c 100644 +--- a/mesonbuild/compilers/cpp.py ++++ b/mesonbuild/compilers/cpp.py +@@ -155,10 +155,11 @@ def _find_best_cpp_std(self, cpp_std): + + class ClangCPPCompiler(ClangCompiler, CPPCompiler): + def __init__(self, exelist, version, for_machine: MachineChoice, +- is_cross, info: 'MachineInfo', exe_wrapper=None, **kwargs): ++ is_cross, info: 'MachineInfo', exe_wrapper=None, ++ defines : T.Optional[T.List[str]] = None, **kwargs): + CPPCompiler.__init__(self, exelist, version, for_machine, is_cross, + info, exe_wrapper, **kwargs) +- ClangCompiler.__init__(self) ++ ClangCompiler.__init__(self, defines) + default_warn_args = ['-Wall', '-Winvalid-pch', '-Wnon-virtual-dtor'] + self.warn_args = {'0': [], + '1': default_warn_args, +diff --git a/mesonbuild/compilers/fortran.py b/mesonbuild/compilers/fortran.py +index c155b5b4f3..af83c0e564 100644 +--- a/mesonbuild/compilers/fortran.py ++++ b/mesonbuild/compilers/fortran.py +@@ -424,7 +424,7 @@ def __init__(self, exelist, version, for_machine: MachineChoice, + **kwargs): + FortranCompiler.__init__(self, exelist, version, for_machine, + is_cross, info, exe_wrapper, **kwargs) +- ClangCompiler.__init__(self) ++ ClangCompiler.__init__(self, []) + self.id = 'flang' + default_warn_args = ['-Minform=inform'] + self.warn_args = {'0': [], +diff --git a/mesonbuild/compilers/mixins/clang.py b/mesonbuild/compilers/mixins/clang.py +index 1c0ee452f4..0ee10ad5d5 100644 +--- a/mesonbuild/compilers/mixins/clang.py ++++ b/mesonbuild/compilers/mixins/clang.py +@@ -42,9 +42,10 @@ + } # type: T.Dict[str, T.List[str]] + + class ClangCompiler(GnuLikeCompiler): +- def __init__(self): ++ def __init__(self, defines: T.Optional[T.Dict[str, str]]): + super().__init__() + self.id = 'clang' ++ self.defines = defines or {} + self.base_options.append('b_colorout') + # TODO: this really should be part of the linker base_options, but + # linkers don't have base_options. +@@ -56,6 +57,12 @@ def __init__(self): + def get_colorout_args(self, colortype: str) -> T.List[str]: + return clang_color_args[colortype][:] + ++ def has_builtin_define(self, define: str) -> bool: ++ return define in self.defines ++ ++ def get_builtin_define(self, define: str) -> T.Optional[str]: ++ return self.defines.get(define) ++ + def get_optimization_args(self, optimization_level: str) -> T.List[str]: + return clang_optimization_args[optimization_level] + +diff --git a/mesonbuild/compilers/objc.py b/mesonbuild/compilers/objc.py +index 52d258dcdb..d351c8826a 100644 +--- a/mesonbuild/compilers/objc.py ++++ b/mesonbuild/compilers/objc.py +@@ -86,7 +86,7 @@ def __init__(self, exelist, version, for_machine: MachineChoice, + **kwargs): + ObjCCompiler.__init__(self, exelist, version, for_machine, is_cross, + info, exe_wrapper, **kwargs) +- ClangCompiler.__init__(self) ++ ClangCompiler.__init__(self, []) + default_warn_args = ['-Wall', '-Winvalid-pch'] + self.warn_args = {'0': [], + '1': default_warn_args, +diff --git a/mesonbuild/compilers/objcpp.py b/mesonbuild/compilers/objcpp.py +index c8b422b35d..10555b4551 100644 +--- a/mesonbuild/compilers/objcpp.py ++++ b/mesonbuild/compilers/objcpp.py +@@ -84,7 +84,7 @@ def __init__(self, exelist, version, for_machine: MachineChoice, + is_cross, info: 'MachineInfo', exe_wrapper=None, + **kwargs): + ObjCPPCompiler.__init__(self, exelist, version, for_machine, is_cross, info, exe_wrapper, **kwargs) +- ClangCompiler.__init__(self) ++ ClangCompiler.__init__(self, []) + default_warn_args = ['-Wall', '-Winvalid-pch', '-Wnon-virtual-dtor'] + self.warn_args = {'0': [], + '1': default_warn_args, +diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py +index 8fad6288b1..cb6ae7d514 100644 +--- a/mesonbuild/environment.py ++++ b/mesonbuild/environment.py +@@ -726,6 +726,28 @@ def get_lcc_version_from_defines(defines): + minor = defines.get('__LCC_MINOR__', '0') + return dot.join((generation, major, minor)) + ++ @staticmethod ++ def get_clang_compiler_defines(compiler): ++ """ ++ Get the list of Clang pre-processor defines ++ """ ++ args = compiler + ['-E', '-dM', '-'] ++ p, output, error = Popen_safe(args, write='', stdin=subprocess.PIPE) ++ if p.returncode != 0: ++ raise EnvironmentException('Unable to get clang pre-processor defines:\n' + output + error) ++ defines = {} ++ for line in output.split('\n'): ++ if not line: ++ continue ++ d, *rest = line.split(' ', 2) ++ if d != '#define': ++ continue ++ if len(rest) == 1: ++ defines[rest] = True ++ if len(rest) == 2: ++ defines[rest[0]] = rest[1] ++ return defines ++ + def _get_compilers(self, lang, for_machine): + ''' + The list of compilers is detected in the exact same way for +@@ -1043,6 +1065,8 @@ def sanitize(p): + if 'clang' in out: + linker = None + ++ defines = self.get_clang_compiler_defines(compiler) ++ + # Even if the for_machine is darwin, we could be using vanilla + # clang. + if 'Apple' in out: +@@ -1063,7 +1087,7 @@ def sanitize(p): + + return cls( + ccache + compiler, version, for_machine, is_cross, info, +- exe_wrap, full_version=full_version, linker=linker) ++ exe_wrap, defines, full_version=full_version, linker=linker) + + if 'Intel(R) C++ Intel(R)' in err: + version = search_version(err) diff --git a/dev-util/meson/files/0.54.2-prefix-dont-strip-rpath.patch b/dev-util/meson/files/0.54.2-prefix-dont-strip-rpath.patch new file mode 100644 index 000000000000..1fe2e1ac4cc1 --- /dev/null +++ b/dev-util/meson/files/0.54.2-prefix-dont-strip-rpath.patch @@ -0,0 +1,25 @@ +https://bz-attachments.freebsd.org/attachment.cgi?id=204611 +https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=238128 + +Stripping RPATH on Prefix is really bad, because it means the default +RPATH entries disappear, and any installed binaries don't work (get +kernel traps). + +Extracted the minstall patch from the FreeBSD full patch. + +--- a/mesonbuild/minstall.py ++++ b/mesonbuild/minstall.py +@@ -488,8 +488,11 @@ + printed_symlink_error = True + if os.path.isfile(outname): + try: +- depfixer.fix_rpath(outname, install_rpath, final_path, +- install_name_mappings, verbose=False) ++ if install_rpath: ++ depfixer.fix_rpath(outname, install_rpath, final_path, ++ install_name_mappings, verbose=False) ++ else: ++ print("RPATH changes at install time disabled") + except SystemExit as e: + if isinstance(e.code, int) and e.code == 0: + pass diff --git a/dev-util/meson/meson-0.52.1.ebuild b/dev-util/meson/meson-0.52.1.ebuild new file mode 100644 index 000000000000..077d7508af29 --- /dev/null +++ b/dev-util/meson/meson-0.52.1.ebuild @@ -0,0 +1,86 @@ +# 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 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +fi + +inherit 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 + ) +" + +python_prepare_all() { + local PATCHES=( + "${FILESDIR}"/0.52.1-test_pkgconfig_gen_deps.patch + ) + + # ASAN and sandbox both want control over LD_PRELOAD + # https://bugs.gentoo.org/673016 + sed -i -e 's/test_generate_gir_with_address_sanitizer/_&/' run_unittests.py || die + + # ASAN is unsupported on some targets + # https://bugs.gentoo.org/692822 + sed -i -e 's/test_pch_with_address_sanitizer/_&/' run_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 + # 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 +} 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..a0802ef4fcb5 --- /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 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +fi + +inherit 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 + ) +" + +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 +} diff --git a/dev-util/meson/meson-0.54.0.ebuild b/dev-util/meson/meson-0.54.0.ebuild new file mode 100644 index 000000000000..77f6244e6e29 --- /dev/null +++ b/dev-util/meson/meson-0.54.0.ebuild @@ -0,0 +1,67 @@ +# 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 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +fi + +inherit 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 + ) +" + +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 +} diff --git a/dev-util/meson/meson-0.54.1.ebuild b/dev-util/meson/meson-0.54.1.ebuild new file mode 100644 index 000000000000..053a12bbeb2f --- /dev/null +++ b/dev-util/meson/meson-0.54.1.ebuild @@ -0,0 +1,82 @@ +# 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 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +fi + +inherit 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 + ) +" + +python_prepare_all() { + # ASAN and sandbox both want control over LD_PRELOAD + # https://bugs.gentoo.org/673016 + sed -i -e 's/test_generate_gir_with_address_sanitizer/_&/' run_unittests.py || die + + # ASAN is unsupported on some targets + # https://bugs.gentoo.org/692822 + sed -i -e 's/test_pch_with_address_sanitizer/_&/' run_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 + # 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 +} diff --git a/dev-util/meson/meson-0.54.2.ebuild b/dev-util/meson/meson-0.54.2.ebuild new file mode 100644 index 000000000000..eee417491e84 --- /dev/null +++ b/dev-util/meson/meson-0.54.2.ebuild @@ -0,0 +1,98 @@ +# 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 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +fi + +inherit 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 + ) +" + +PATCHES=( + "${FILESDIR}"/0.54.2-multilib-clang.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/_&/' + + # 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[@]}" run_unittests.py || die + + # Broken due to python2 script created by python_wrapper_setup + rm -r "test cases/frameworks/1 boost" || die + + use prefix && eapply "${FILESDIR}"/0.54.2-prefix-dont-strip-rpath.patch + + 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 +} diff --git a/dev-util/meson/meson-0.54.3.ebuild b/dev-util/meson/meson-0.54.3.ebuild new file mode 100644 index 000000000000..f29fb08b500f --- /dev/null +++ b/dev-util/meson/meson-0.54.3.ebuild @@ -0,0 +1,98 @@ +# 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 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +fi + +inherit 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 + ) +" + +PATCHES=( + "${FILESDIR}"/0.54.2-multilib-clang.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/_&/' + + # 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[@]}" run_unittests.py || die + + # Broken due to python2 script created by python_wrapper_setup + rm -r "test cases/frameworks/1 boost" || die + + use prefix && eapply "${FILESDIR}"/0.54.2-prefix-dont-strip-rpath.patch + + 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 +} diff --git a/dev-util/meson/meson-9999.ebuild b/dev-util/meson/meson-9999.ebuild new file mode 100644 index 000000000000..edbd30f51167 --- /dev/null +++ b/dev-util/meson/meson-9999.ebuild @@ -0,0 +1,94 @@ +# 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 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +fi + +inherit 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 + ) +" + +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/_&/' + + # 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[@]}" run_unittests.py || die + + # Broken due to python2 script created by python_wrapper_setup + rm -r "test cases/frameworks/1 boost" || die + + use prefix && eapply "${FILESDIR}"/0.54.2-prefix-dont-strip-rpath.patch + + 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 +} diff --git a/dev-util/meson/metadata.xml b/dev-util/meson/metadata.xml new file mode 100644 index 000000000000..e1630e9e5c9d --- /dev/null +++ b/dev-util/meson/metadata.xml @@ -0,0 +1,16 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>floppym@gentoo.org</email> + <name>Mike Gilbert</name> + </maintainer> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <upstream> + <remote-id type="pypi">meson</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata> |
