forked from pool/meson
Accepting request 505966 from home:dimstar:branches:devel:tools:building
Rebased submission with the test suite split out into a 2nd spec file OBS-URL: https://build.opensuse.org/request/show/505966 OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/meson?expand=0&rev=48
This commit is contained in:
parent
6f65f9811f
commit
511b7124fa
@ -1,13 +0,0 @@
|
||||
Index: meson-0.39.1/test cases/frameworks/7 gnome/resources/meson.build
|
||||
===================================================================
|
||||
--- meson-0.39.1.orig/test cases/frameworks/7 gnome/resources/meson.build
|
||||
+++ meson-0.39.1/test cases/frameworks/7 gnome/resources/meson.build
|
||||
@@ -29,7 +29,7 @@ gnome.compile_resources('simple-resource
|
||||
)
|
||||
test('simple resource test (gresource)', find_program('resources.py'))
|
||||
|
||||
-if glib.version() >= '2.52.0'
|
||||
+if glib.version() >= '9.99.9'
|
||||
# This test cannot pass if GLib version is older than 9.99.9.
|
||||
# Meson will raise an error if the user tries to use the 'dependencies'
|
||||
# argument and the version of GLib is too old for generated resource
|
26
meson-test-installed-bin.patch
Normal file
26
meson-test-installed-bin.patch
Normal file
@ -0,0 +1,26 @@
|
||||
Index: meson-0.41.0/run_unittests.py
|
||||
===================================================================
|
||||
--- meson-0.41.0.orig/run_unittests.py
|
||||
+++ meson-0.41.0/run_unittests.py
|
||||
@@ -414,7 +414,7 @@ class BasePlatformTests(unittest.TestCas
|
||||
# Get the backend
|
||||
# FIXME: Extract this from argv?
|
||||
self.backend = getattr(Backend, os.environ.get('MESON_UNIT_TEST_BACKEND', 'ninja'))
|
||||
- self.meson_args = [os.path.join(src_root, 'meson.py'), '--backend=' + self.backend.name]
|
||||
+ self.meson_args = ['/usr/bin/meson', '--backend=' + self.backend.name]
|
||||
self.meson_command = [sys.executable] + self.meson_args
|
||||
self.mconf_command = [sys.executable, os.path.join(src_root, 'mesonconf.py')]
|
||||
self.mintro_command = [sys.executable, os.path.join(src_root, 'mesonintrospect.py')]
|
||||
Index: meson-0.41.0/run_project_tests.py
|
||||
===================================================================
|
||||
--- meson-0.41.0.orig/run_project_tests.py
|
||||
+++ meson-0.41.0/run_project_tests.py
|
||||
@@ -125,7 +125,7 @@ print_debug = 'MESON_PRINT_TEST_OUTPUT'
|
||||
do_debug = not {'MESON_PRINT_TEST_OUTPUT', 'TRAVIS', 'APPVEYOR'}.isdisjoint(os.environ)
|
||||
no_meson_log_msg = 'No meson-log.txt found.'
|
||||
|
||||
-meson_command = os.path.join(os.getcwd(), 'meson')
|
||||
+meson_command = '/usr/bin/meson'
|
||||
if not os.path.exists(meson_command):
|
||||
meson_command += '.py'
|
||||
if not os.path.exists(meson_command):
|
255
meson-testsuite.changes
Normal file
255
meson-testsuite.changes
Normal file
@ -0,0 +1,255 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 23 21:47:40 UTC 2017 - dimstar@opensuse.org
|
||||
|
||||
- Split testsuite into an own package, in order to keep the build
|
||||
dep chain of meson minimal.
|
||||
- Drop meson-disable-untested-code.patch: no longer required.
|
||||
- Add meson-test-installed-bin.patch: use /usr/bin/meson instead of
|
||||
meson.py from the source tarball. We want to test the meson
|
||||
binary package we produced, not the sources directly.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 23 19:27:31 UTC 2017 - dimstar@opensuse.org
|
||||
|
||||
- Update to version 0.41.1:
|
||||
+ wxwidgets: Fix usage of multiple dependency() calls.
|
||||
+ Make external library no-op when used with incompatible
|
||||
target (gh#mesonbuild/meson#1941).
|
||||
+ Failing test for -D dedupping.
|
||||
+ Preserve standalone -D arguments always.
|
||||
+ Handle both pkg-config and pkgconf argument order
|
||||
(gh#mesonbuild/meson#1934).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 23 13:56:37 UTC 2017 - dimstar@opensuse.org
|
||||
|
||||
- Update meson-suse-ify-macros.patch: export LANG for all macros.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 19 12:35:49 UTC 2017 - rpm@fthiessen.de
|
||||
|
||||
- Update to version 0.41.0:
|
||||
* Native support for linking against LLVM using
|
||||
the dependency function.
|
||||
* Pkgconfig support for custom variables.
|
||||
* A target for creating tarballs using 'ninja dist'.
|
||||
* Support for passing arguments to Rust compiler.
|
||||
* All known issues regarding reproducible builds are fixed.
|
||||
* Extended template substitution in configure_file
|
||||
for @BASENAME@ and @PLAINNAME@ .
|
||||
* Support for capturing stdout of a command in configure_file.
|
||||
- Removed SDL2 test to reduce dependencies (smaller build footprint)
|
||||
- Dropped upstreamed patch meson-handle-skipped-tests.patch
|
||||
- Rebased meson-suse-ify-macros.patch and meson-fix-gcc48.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 6 13:08:19 UTC 2017 - dimstar@opensuse.org
|
||||
|
||||
- Make the build footprint smaller to enter ring1: This means we
|
||||
skip a couple tests though. Removed BuildRequires: java-devel,
|
||||
libqt5-qtbase-devel, mono-core, mono-devel, wxWidgets-devel,
|
||||
pkgconfig(protobuf) and pkgconfig(gtk+-3.0).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 17 20:26:25 UTC 2017 - dimstar@opensuse.org
|
||||
|
||||
- Add meson-handle-skipped-tests.patch: Actually do skip tests that
|
||||
are marked as MESON_SKIP_TEST (gh#mesonbuild/meson#1804).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 8 07:53:20 UTC 2017 - dimstar@opensuse.org
|
||||
|
||||
- Update to version 0.40.1:
|
||||
+ Outputs of generators can be used in custom targets in the VS
|
||||
backend.
|
||||
+ Visual Studio 2017 support.
|
||||
+ Automatic initialization of subprojects that are git
|
||||
submodules.
|
||||
+ No download mode for wraps.
|
||||
+ Overriding options per target.
|
||||
+ Compiler object get define.
|
||||
+ Cygwin support.
|
||||
+ Multiple install directories.
|
||||
+ Can specify method of obtaining dependencies.
|
||||
+ Link whole contents of static libraries.
|
||||
+ Unity builds only for subprojects.
|
||||
+ Running mesonintrospect from scripts.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 20 11:21:10 UTC 2017 - dimstar@opensuse.org
|
||||
|
||||
- Add meson-disable-untested-code.patch: meson has code in the test
|
||||
suite that assumes different behaviour between glib 2.51.5 (rc)
|
||||
and 2.52.0 (final); this must be a wrong assumption to start with
|
||||
and the test suite fails with 2.52.0. When this was added by
|
||||
upstream 4 months before glib-2.52.0 was released, there must
|
||||
have been no way at all to test this. We revert back to a state
|
||||
like with the previous glib verison, where this test was simply
|
||||
skipped (gh#mesonbuild/meson#1480).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 16 11:04:13 UTC 2017 - sor.alexei@meowr.ru
|
||||
|
||||
- Update to version 0.39.1 (changes since 0.38.1):
|
||||
* Allow specifying extra arguments for tests.
|
||||
* Bug fixes and minor polishes.
|
||||
- Add meson-fix-gcc48.patch: fix GCC 4.8 handling for
|
||||
openSUSE Leap 42.x.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Mar 4 14:50:28 UTC 2017 - dimstar@opensuse.org
|
||||
|
||||
- Update to version 0.38.1:
|
||||
+ New Uninstall target.
|
||||
+ Support for arbitrary test setups.
|
||||
+ Intel C/C++ compiler support.
|
||||
+ Get values from configuration data objects.
|
||||
+ Python 3 module support simplified.
|
||||
+ Default options to subprojects.
|
||||
+ Set targets to be built (or not) by default.
|
||||
+ Add option to mesonconf to wipe cached data.
|
||||
+ Can specify file permissions and owner when installing data.
|
||||
+ has_header() checks are now faster.
|
||||
+ Array indexing now supports fallback values.
|
||||
+ Silent mode for Mesontest.
|
||||
- Rebase meson-suse-ify-macros.patch.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 10 16:14:32 UTC 2017 - dimstar@opensuse.org
|
||||
|
||||
- Add meson-suse-ify-macros.patch: Make the meson macros also work
|
||||
on openSUSE. We do not (yet?) have separate macros for CFLAGS,
|
||||
CXXFLAGS, FFLAGS and LDFLAGS, but only carry optflags. This is no
|
||||
issue, since openSUSE so far only added flags that work accross
|
||||
compilers/languages. This might change in the future, making the
|
||||
patch obsolete.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jan 1 12:51:36 UTC 2017 - sor.alexei@meowr.ru
|
||||
|
||||
- Update to version 0.37.1:
|
||||
* No changelog available.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jan 1 11:38:34 UTC 2017 - jengelh@inai.de
|
||||
|
||||
- Trim boasting words from descriptions. Add to description two
|
||||
points from the feature list.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 19 05:55:00 UTC 2016 - dev@antergos.com
|
||||
|
||||
- Update to version 0.37.0:
|
||||
* Mesontest: a new testing tool that allows you to run your
|
||||
tests in many different ways.
|
||||
* New shared_module function allows shared modules creation.
|
||||
* GNOME module now detects required programs and prints useful
|
||||
errors if any are missing.
|
||||
* GNOME module uses depfile support available in GLib >= 2.52.0.
|
||||
* i18n module has a new merge_file() function for creating
|
||||
translated files.
|
||||
* LLVM IR compilation is now supported.
|
||||
* .wrap files for subprojects can now include a separate push
|
||||
URL to allow developers to push changes directly from a
|
||||
subproject git checkout.
|
||||
* Multiple version restrictions while searching for pkg-config
|
||||
dependencies is now supported.
|
||||
* Support for localstatedir has been added.
|
||||
* You can now pass arguments to install scripts added with
|
||||
meson.add_install_script().
|
||||
* Added new options sbindir and infodir that can be used for
|
||||
installation.
|
||||
- Remove meson-0.36.0-fix-old-pkgconfig-test.patch.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Dec 10 20:38:23 UTC 2016 - sor.alexei@meowr.ru
|
||||
|
||||
- Add meson-0.36.0-fix-old-pkgconfig-test.patch: tests/common/51:
|
||||
Skip validate if pkg-config is too old (commit 2f804e9).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 22 15:04:05 UTC 2016 - dimstar@opensuse.org
|
||||
|
||||
- Update to version 0.36.0:
|
||||
+ Add option to run under gdb.
|
||||
+ Always specify installed data with a File object
|
||||
(gh#mesonbuild/meson#858).
|
||||
+ Made has_function survive optimization flags
|
||||
(gh#mesonbuild/meson#1053).
|
||||
+ Can give many alternative names to find_program to simplify
|
||||
searching.
|
||||
+ Can set compiler arguments in Java.
|
||||
- Export SUSE_ASNEEDED=0 when running the test suite: linking the
|
||||
test libraries/binaries is not done optimally.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 18 20:43:34 UTC 2016 - sor.alexei@meowr.ru
|
||||
|
||||
- Update to version 0.35.1:
|
||||
* No changelog available.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 14 20:46:56 UTC 2016 - zaitor@opensuse.org
|
||||
|
||||
- Update to version 0.35.0:
|
||||
+ No changelog available from upstream.
|
||||
- Changes from version 0.34.0:
|
||||
+ No changelog available from upstream.
|
||||
- Drop meson-633.patch and meson-typelib-install.patch : Fixed
|
||||
upstream.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 17 15:43:57 UTC 2016 - dimstar@opensuse.org
|
||||
|
||||
- Update to version 0.33.0:
|
||||
+ Correctly install .typelib files to libdir.
|
||||
+ Add option for as-needed link option.
|
||||
+ Print the CFLAGS/LDFLAGS/etc inherited from the environment.
|
||||
+ Only append compile flags to the link flags when appropriate.
|
||||
- Add meson-633.patch: Handle both DT_RPATH as well as DT_RUNPATH
|
||||
when fixing rpath settings (gh#mesonbuild/meson#663).
|
||||
- Add meson-typelib-install.patch: Fix installation path for
|
||||
gpobject introspection typelib files.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jul 23 16:15:39 UTC 2016 - sor.alexei@meowr.ru
|
||||
|
||||
- Update to version 0.32.0:
|
||||
* No changelog available.
|
||||
- Remove meson-gui package: GUI was removed upstream.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 9 16:47:26 UTC 2016 - jengelh@inai.de
|
||||
|
||||
- Avoid unnecessary bashism in %install script (run with /bin/sh)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat May 7 07:12:54 UTC 2016 - sor.alexei@meowr.ru
|
||||
|
||||
- Update to version 0.31.0.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 11 16:26:54 UTC 2016 - sor.alexei@meowr.ru
|
||||
|
||||
- Update to 0.29.0.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 29 05:32:40 UTC 2015 - sor.alexei@meowr.ru
|
||||
|
||||
- Update to 0.28.0.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Dec 4 10:29:26 UTC 2015 - sor.alexei@meowr.ru
|
||||
|
||||
- Update to 0.27.0.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Sep 13 10:21:57 UTC 2015 - sor.alexei@meowr.ru
|
||||
|
||||
- Update to 0.26.0.
|
||||
- Use signed tarball.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jul 12 21:02:38 UTC 2015 - sor.alexei@meowr.ru
|
||||
|
||||
- Initial package based on the work of Igor Gnatenko.
|
148
meson-testsuite.spec
Normal file
148
meson-testsuite.spec
Normal file
@ -0,0 +1,148 @@
|
||||
#
|
||||
# spec file for package meson-testsuite
|
||||
#
|
||||
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%define testsuite 1
|
||||
|
||||
%if %{testsuite}
|
||||
%define name_ext -testsuite
|
||||
%else
|
||||
%define name_ext %nil
|
||||
%endif
|
||||
|
||||
%define _name mesonbuild
|
||||
Name: meson%{name_ext}
|
||||
Version: 0.41.1
|
||||
Release: 0
|
||||
Summary: Python-based build system
|
||||
License: Apache-2.0
|
||||
Group: Development/Tools/Building
|
||||
Url: http://mesonbuild.com/
|
||||
Source: https://github.com/%{_name}/meson/releases/download/%{version}/meson-%{version}.tar.gz
|
||||
Source1: https://github.com/%{_name}/meson/releases/download/%{version}/meson-%{version}.tar.gz.asc
|
||||
Source2: meson.keyring
|
||||
# PATCH-FIX-OPENSUSE meson-suse-ify-macros.patch dimstar@opensuse.org -- Make the macros non-RedHat specific: so far there are no separate {C,CXX,F}FLAGS.
|
||||
Patch0: meson-suse-ify-macros.patch
|
||||
# PATCH-FIX-OPENSUSE meson-fix-gcc48.patch sor.alexei@meowr.ru -- Fix GCC 4.8 handling for openSUSE Leap 42.x.
|
||||
Patch1: meson-fix-gcc48.patch
|
||||
# PATCH-FIX-OPENSUSE meson-test-installed-bin.patch dimstar@opensuse.org -- We want the test suite to run against /usr/bin/meson coming from our meson package
|
||||
Patch100: meson-test-installed-bin.patch
|
||||
BuildRequires: python3 >= 3.4
|
||||
%if %{testsuite}
|
||||
BuildRequires: bison
|
||||
BuildRequires: boost-devel
|
||||
BuildRequires: flex
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gcc-fortran
|
||||
BuildRequires: gcc-obj-c++
|
||||
BuildRequires: gcc-objc
|
||||
BuildRequires: gettext
|
||||
BuildRequires: git
|
||||
BuildRequires: gnustep-make
|
||||
BuildRequires: googletest-devel
|
||||
BuildRequires: gtk-doc
|
||||
BuildRequires: itstool
|
||||
BuildRequires: llvm-devel
|
||||
BuildRequires: meson
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: ninja
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-gobject
|
||||
BuildRequires: python3-setuptools
|
||||
BuildRequires: vala
|
||||
BuildRequires: cmake(Qt5Core)
|
||||
BuildRequires: cmake(Qt5Gui)
|
||||
BuildRequires: cmake(Qt5Widgets)
|
||||
BuildRequires: pkgconfig(glib-2.0)
|
||||
BuildRequires: pkgconfig(gobject-introspection-1.0)
|
||||
BuildRequires: pkgconfig(gtk+-3.0)
|
||||
BuildRequires: pkgconfig(sdl2)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
%else
|
||||
Requires: ninja
|
||||
# meson-gui was last used in openSUSE Leap 42.1.
|
||||
Provides: meson-gui = %{version}
|
||||
Obsoletes: meson-gui < %{version}
|
||||
%endif
|
||||
BuildArch: noarch
|
||||
|
||||
%description
|
||||
Meson is a build system designed to optimise programmer productivity.
|
||||
It aims to do this by providing support for software development
|
||||
tools and practices, such as unit tests, coverage reports, Valgrind,
|
||||
CCache and the like. Supported languages include C, C++, Fortran,
|
||||
Java, Rust. Build definitions are written in a non-turing complete
|
||||
Domain Specific Language.
|
||||
|
||||
%prep
|
||||
%setup -q -n meson-%{version}
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch100 -p1
|
||||
|
||||
# We do not have gmock available at this moment - can't run the test suite for it
|
||||
rm -rf "test cases/frameworks/3 gmock" \
|
||||
"test cases/objc/2 nsstring"
|
||||
|
||||
%build
|
||||
# If this is the test suite, we don't need anything else but the meson package
|
||||
%if ! %{testsuite}
|
||||
python3 setup.py build
|
||||
%else
|
||||
# When running the test suite, we want to be sure to use the installed meson version
|
||||
rm -rf meson.py mesonbuild
|
||||
%endif
|
||||
|
||||
%install
|
||||
# If this is the test suite, we don't need anything else but the meson package
|
||||
%if ! %{testsuite}
|
||||
python3 setup.py install \
|
||||
--root=%{buildroot} --prefix=%{_prefix}
|
||||
|
||||
install -Dpm 0644 data/macros.meson \
|
||||
%{buildroot}%{_rpmconfigdir}/macros.d/macros.meson
|
||||
%endif
|
||||
|
||||
%if %{testsuite}
|
||||
%check
|
||||
export LANG=C.UTF-8
|
||||
export MESON_PRINT_TEST_OUTPUT=1
|
||||
export SUSE_ASNEEDED=0
|
||||
python3 run_tests.py
|
||||
%endif
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%doc contributing.txt COPYING
|
||||
%if !%{testsuite}
|
||||
%{_bindir}/meson
|
||||
%{_bindir}/mesonconf
|
||||
%{_bindir}/mesonintrospect
|
||||
%{_bindir}/mesontest
|
||||
%{_bindir}/wraptool
|
||||
%{python3_sitelib}/%{_name}/
|
||||
%{python3_sitelib}/meson-*
|
||||
%{_rpmconfigdir}/macros.d/macros.meson
|
||||
%{_mandir}/man1/meson.1%{?ext_man}
|
||||
%{_mandir}/man1/mesonconf.1%{?ext_man}
|
||||
%{_mandir}/man1/mesonintrospect.1%{?ext_man}
|
||||
%{_mandir}/man1/mesontest.1%{?ext_man}
|
||||
%{_mandir}/man1/wraptool.1%{?ext_man}
|
||||
%endif
|
||||
|
||||
%changelog
|
@ -1,3 +1,13 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 23 21:47:40 UTC 2017 - dimstar@opensuse.org
|
||||
|
||||
- Split testsuite into an own package, in order to keep the build
|
||||
dep chain of meson minimal.
|
||||
- Drop meson-disable-untested-code.patch: no longer required.
|
||||
- Add meson-test-installed-bin.patch: use /usr/bin/meson instead of
|
||||
meson.py from the source tarball. We want to test the meson
|
||||
binary package we produced, not the sources directly.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 23 19:27:31 UTC 2017 - dimstar@opensuse.org
|
||||
|
||||
|
93
meson.spec
93
meson.spec
@ -1,5 +1,5 @@
|
||||
#
|
||||
# spec file for package meson
|
||||
# spec file for package meson-testsuite
|
||||
#
|
||||
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
#
|
||||
@ -16,23 +16,33 @@
|
||||
#
|
||||
|
||||
|
||||
%define testsuite 0
|
||||
|
||||
%if %{testsuite}
|
||||
%define name_ext -testsuite
|
||||
%else
|
||||
%define name_ext %nil
|
||||
%endif
|
||||
|
||||
%define _name mesonbuild
|
||||
Name: meson
|
||||
Name: meson%{name_ext}
|
||||
Version: 0.41.1
|
||||
Release: 0
|
||||
Summary: Python-based build system
|
||||
License: Apache-2.0
|
||||
Group: Development/Tools/Building
|
||||
Url: http://mesonbuild.com/
|
||||
Source: https://github.com/%{_name}/%{name}/releases/download/%{version}/%{name}-%{version}.tar.gz
|
||||
Source1: https://github.com/%{_name}/%{name}/releases/download/%{version}/%{name}-%{version}.tar.gz.asc
|
||||
Source2: %{name}.keyring
|
||||
Source: https://github.com/%{_name}/meson/releases/download/%{version}/meson-%{version}.tar.gz
|
||||
Source1: https://github.com/%{_name}/meson/releases/download/%{version}/meson-%{version}.tar.gz.asc
|
||||
Source2: meson.keyring
|
||||
# PATCH-FIX-OPENSUSE meson-suse-ify-macros.patch dimstar@opensuse.org -- Make the macros non-RedHat specific: so far there are no separate {C,CXX,F}FLAGS.
|
||||
Patch0: meson-suse-ify-macros.patch
|
||||
# PATCH-FIX-OPENSUSE meson-fix-gcc48.patch sor.alexei@meowr.ru -- Fix GCC 4.8 handling for openSUSE Leap 42.x.
|
||||
Patch1: meson-fix-gcc48.patch
|
||||
# PATCH-FIX-UPSTREAM meson-disable-untested-code.patch gh#mesonbuild/meson#1480 dimstar@opensuse.org -- Do not assume that the untested meson test works with glib 2.52.0
|
||||
Patch2: meson-disable-untested-code.patch
|
||||
# PATCH-FIX-OPENSUSE meson-test-installed-bin.patch dimstar@opensuse.org -- We want the test suite to run against /usr/bin/meson coming from our meson package
|
||||
Patch100: meson-test-installed-bin.patch
|
||||
BuildRequires: python3 >= 3.4
|
||||
%if %{testsuite}
|
||||
BuildRequires: bison
|
||||
BuildRequires: boost-devel
|
||||
BuildRequires: flex
|
||||
@ -42,24 +52,33 @@ BuildRequires: gcc-obj-c++
|
||||
BuildRequires: gcc-objc
|
||||
BuildRequires: gettext
|
||||
BuildRequires: git
|
||||
BuildRequires: gnustep-make
|
||||
BuildRequires: googletest-devel
|
||||
BuildRequires: gtk-doc
|
||||
BuildRequires: itstool
|
||||
BuildRequires: llvm-devel
|
||||
BuildRequires: meson
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: ninja
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: python3 >= 3.4
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-gobject
|
||||
BuildRequires: python3-setuptools
|
||||
BuildRequires: vala
|
||||
BuildRequires: cmake(Qt5Core)
|
||||
BuildRequires: cmake(Qt5Gui)
|
||||
BuildRequires: cmake(Qt5Widgets)
|
||||
BuildRequires: pkgconfig(glib-2.0)
|
||||
BuildRequires: pkgconfig(gobject-introspection-1.0)
|
||||
BuildRequires: pkgconfig(gtk+-3.0)
|
||||
BuildRequires: pkgconfig(sdl2)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
%else
|
||||
Requires: ninja
|
||||
# meson-gui was last used in openSUSE Leap 42.1.
|
||||
Provides: %{name}-gui = %{version}
|
||||
Obsoletes: %{name}-gui < %{version}
|
||||
Provides: meson-gui = %{version}
|
||||
Obsoletes: meson-gui < %{version}
|
||||
%endif
|
||||
BuildArch: noarch
|
||||
|
||||
%description
|
||||
@ -71,51 +90,59 @@ Java, Rust. Build definitions are written in a non-turing complete
|
||||
Domain Specific Language.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%setup -q -n meson-%{version}
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch100 -p1
|
||||
|
||||
# Lack of gtest, gmock, gnustep, for the vala test, we'd need gtk3 which causes a build cycle
|
||||
# but considering the GNOME stack is the main driver for meson and the GNOME team is maintaining
|
||||
# also this build system, we will see issues in GNOME soon enough too
|
||||
rm -rf "test cases/frameworks/2 gtest" \
|
||||
"test cases/frameworks/3 gmock/" \
|
||||
"test cases/frameworks/4 qt" \
|
||||
"test cases/frameworks/16 sdl2" \
|
||||
"test cases/objc/2 nsstring" \
|
||||
"test cases/vala/14 target glib version and gresources"
|
||||
# We do not have gmock available at this moment - can't run the test suite for it
|
||||
rm -rf "test cases/frameworks/3 gmock" \
|
||||
"test cases/objc/2 nsstring"
|
||||
|
||||
%build
|
||||
# If this is the test suite, we don't need anything else but the meson package
|
||||
%if ! %{testsuite}
|
||||
python3 setup.py build
|
||||
%else
|
||||
# When running the test suite, we want to be sure to use the installed meson version
|
||||
rm -rf meson.py mesonbuild
|
||||
%endif
|
||||
|
||||
%install
|
||||
# If this is the test suite, we don't need anything else but the meson package
|
||||
%if ! %{testsuite}
|
||||
python3 setup.py install \
|
||||
--root=%{buildroot} --prefix=%{_prefix}
|
||||
|
||||
install -Dpm 0644 data/macros.%{name} \
|
||||
%{buildroot}%{_rpmconfigdir}/macros.d/macros.%{name}
|
||||
install -Dpm 0644 data/macros.meson \
|
||||
%{buildroot}%{_rpmconfigdir}/macros.d/macros.meson
|
||||
%endif
|
||||
|
||||
%if %{testsuite}
|
||||
%check
|
||||
export LANG=C.UTF-8
|
||||
export MESON_PRINT_TEST_OUTPUT=1
|
||||
export SUSE_ASNEEDED=0
|
||||
python3 run_tests.py
|
||||
%endif
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%doc contributing.txt COPYING
|
||||
%{_bindir}/%{name}
|
||||
%{_bindir}/%{name}conf
|
||||
%{_bindir}/%{name}introspect
|
||||
%{_bindir}/%{name}test
|
||||
%if !%{testsuite}
|
||||
%{_bindir}/meson
|
||||
%{_bindir}/mesonconf
|
||||
%{_bindir}/mesonintrospect
|
||||
%{_bindir}/mesontest
|
||||
%{_bindir}/wraptool
|
||||
%{python3_sitelib}/%{_name}/
|
||||
%{python3_sitelib}/%{name}-*
|
||||
%{_rpmconfigdir}/macros.d/macros.%{name}
|
||||
%{_mandir}/man1/%{name}.1%{?ext_man}
|
||||
%{_mandir}/man1/%{name}conf.1%{?ext_man}
|
||||
%{_mandir}/man1/%{name}introspect.1%{?ext_man}
|
||||
%{_mandir}/man1/%{name}test.1%{?ext_man}
|
||||
%{python3_sitelib}/meson-*
|
||||
%{_rpmconfigdir}/macros.d/macros.meson
|
||||
%{_mandir}/man1/meson.1%{?ext_man}
|
||||
%{_mandir}/man1/mesonconf.1%{?ext_man}
|
||||
%{_mandir}/man1/mesonintrospect.1%{?ext_man}
|
||||
%{_mandir}/man1/mesontest.1%{?ext_man}
|
||||
%{_mandir}/man1/wraptool.1%{?ext_man}
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
|
5
pre_checkin.sh
Normal file
5
pre_checkin.sh
Normal file
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
sed meson.spec -e "s:%define testsuite 0:%define testsuite 1:" > meson-testsuite.spec
|
||||
cp meson.changes meson-testsuite.changes
|
||||
|
Loading…
Reference in New Issue
Block a user