Accepting request 805585 from devel:tools:building

OBS-URL: https://build.opensuse.org/request/show/805585
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/meson?expand=0&rev=57
This commit is contained in:
Dominique Leuenberger 2020-05-16 20:23:00 +00:00 committed by Git OBS Bridge
commit 2c00d94332
3 changed files with 50 additions and 4 deletions

36
meson-gcc10.patch Normal file
View File

@ -0,0 +1,36 @@
From 92102a911d3af9c69d33a386cc32f150bc14ba18 Mon Sep 17 00:00:00 2001
From: Nirbheek Chauhan <nirbheek@centricular.com>
Date: Thu, 14 May 2020 09:41:12 +0530
Subject: [PATCH] gfortran: Fix has_header implementation with GCC 10
__has_include is not accepted as a pre-processor directive in Fortran
code since GCC 10.
Closes https://github.com/mesonbuild/meson/issues/7017
---
mesonbuild/compilers/fortran.py | 12 ++++++++++++
1 file changed, 12 insertions(+)
Index: meson-0.54.1/mesonbuild/compilers/fortran.py
===================================================================
--- meson-0.54.1.orig/mesonbuild/compilers/fortran.py
+++ meson-0.54.1/mesonbuild/compilers/fortran.py
@@ -208,6 +208,18 @@ class GnuFortranCompiler(GnuCompiler, Fo
def language_stdlib_only_link_flags(self):
return ['-lgfortran', '-lm']
+ def has_header(self, hname, prefix, env, *, extra_args=None, dependencies=None, disable_cache=False):
+ '''
+ Derived from mixins/clike.py:has_header, but without C-style usage of
+ __has_include which breaks with GCC-Fortran 10:
+ https://github.com/mesonbuild/meson/issues/7017
+ '''
+ fargs = {'prefix': prefix, 'header': hname}
+ code = '{prefix}\n#include <{header}>'
+ return self.compiles(code.format(**fargs), env, extra_args=extra_args,
+ dependencies=dependencies, mode='preprocess', disable_cache=disable_cache)
+
+
class ElbrusFortranCompiler(GnuFortranCompiler, ElbrusCompiler):
def __init__(self, exelist, version, for_machine: MachineChoice,
is_cross, info: 'MachineInfo', exe_wrapper=None,

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Thu May 14 07:32:14 UTC 2020 - Dominique Leuenberger <dimstar@opensuse.org>
- Add meson-gcc10.patch: Fix test suite when using gcc 10.
-------------------------------------------------------------------
Wed May 13 16:58:09 UTC 2020 - Michael Gorse <mgorse@suse.com>
- Remove is_opensuse conditional and enable mono tests on SLE
(jsc#SLE-11721).
-------------------------------------------------------------------
Mon Apr 27 10:11:58 UTC 2020 - Dominique Leuenberger <dimstar@opensuse.org>

View File

@ -49,6 +49,8 @@ Patch3: meson-suse-fix-llvm-3.8.patch
Patch4: meson-fix-gcc48.patch
# PATCH-FEATURE-OPENSUSE meson-distutils.patch tchvatal@suse.com -- build and install using distutils instead of full setuptools
Patch5: meson-distutils.patch
# PATCH-FIX-UPSTREAM dimstar@opensuse.org -- Fix test suite with GCC 10
Patch6: meson-gcc10.patch
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildRequires: python3-base
@ -125,15 +127,11 @@ BuildRequires: rust
BuildRequires: wxWidgets-any-devel
# csharp is not on s390 machines
%ifnarch s390x
%if 0%{?is_opensuse}
BuildRequires: mono(csharp)
%endif
%endif
%else
BuildRequires: boost-devel
%if 0%{?is_opensuse}
BuildRequires: mono-core
%endif
BuildRequires: wxWidgets-devel
%endif
%endif
@ -175,6 +173,7 @@ This package provides support for meson.build files in Vim.
%if !%{with setuptools}
%patch5 -p1
%endif
%patch6 -p1
# We do not have gmock available at this moment - can't run the test suite for it
rm -r "test cases/frameworks/3 gmock" \