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
|
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.
|
# 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
|
%define _name mesonbuild
|
||||||
Name: meson
|
Name: meson%{name_ext}
|
||||||
Version: 0.41.1
|
Version: 0.41.1
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Python-based build system
|
Summary: Python-based build system
|
||||||
License: Apache-2.0
|
License: Apache-2.0
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Url: http://mesonbuild.com/
|
Url: http://mesonbuild.com/
|
||||||
Source: https://github.com/%{_name}/%{name}/releases/download/%{version}/%{name}-%{version}.tar.gz
|
Source: https://github.com/%{_name}/meson/releases/download/%{version}/meson-%{version}.tar.gz
|
||||||
Source1: https://github.com/%{_name}/%{name}/releases/download/%{version}/%{name}-%{version}.tar.gz.asc
|
Source1: https://github.com/%{_name}/meson/releases/download/%{version}/meson-%{version}.tar.gz.asc
|
||||||
Source2: %{name}.keyring
|
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.
|
# 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
|
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.
|
# 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
|
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
|
# 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
|
||||||
Patch2: meson-disable-untested-code.patch
|
Patch100: meson-test-installed-bin.patch
|
||||||
|
BuildRequires: python3 >= 3.4
|
||||||
|
%if %{testsuite}
|
||||||
BuildRequires: bison
|
BuildRequires: bison
|
||||||
BuildRequires: boost-devel
|
BuildRequires: boost-devel
|
||||||
BuildRequires: flex
|
BuildRequires: flex
|
||||||
@ -42,24 +52,33 @@ BuildRequires: gcc-obj-c++
|
|||||||
BuildRequires: gcc-objc
|
BuildRequires: gcc-objc
|
||||||
BuildRequires: gettext
|
BuildRequires: gettext
|
||||||
BuildRequires: git
|
BuildRequires: git
|
||||||
|
BuildRequires: gnustep-make
|
||||||
|
BuildRequires: googletest-devel
|
||||||
BuildRequires: gtk-doc
|
BuildRequires: gtk-doc
|
||||||
BuildRequires: itstool
|
BuildRequires: itstool
|
||||||
BuildRequires: llvm-devel
|
BuildRequires: llvm-devel
|
||||||
|
BuildRequires: meson
|
||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
BuildRequires: ninja
|
BuildRequires: ninja
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
BuildRequires: python3 >= 3.4
|
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
BuildRequires: python3-gobject
|
BuildRequires: python3-gobject
|
||||||
BuildRequires: python3-setuptools
|
BuildRequires: python3-setuptools
|
||||||
BuildRequires: vala
|
BuildRequires: vala
|
||||||
|
BuildRequires: cmake(Qt5Core)
|
||||||
|
BuildRequires: cmake(Qt5Gui)
|
||||||
|
BuildRequires: cmake(Qt5Widgets)
|
||||||
BuildRequires: pkgconfig(glib-2.0)
|
BuildRequires: pkgconfig(glib-2.0)
|
||||||
BuildRequires: pkgconfig(gobject-introspection-1.0)
|
BuildRequires: pkgconfig(gobject-introspection-1.0)
|
||||||
|
BuildRequires: pkgconfig(gtk+-3.0)
|
||||||
|
BuildRequires: pkgconfig(sdl2)
|
||||||
BuildRequires: pkgconfig(zlib)
|
BuildRequires: pkgconfig(zlib)
|
||||||
|
%else
|
||||||
Requires: ninja
|
Requires: ninja
|
||||||
# meson-gui was last used in openSUSE Leap 42.1.
|
# meson-gui was last used in openSUSE Leap 42.1.
|
||||||
Provides: %{name}-gui = %{version}
|
Provides: meson-gui = %{version}
|
||||||
Obsoletes: %{name}-gui < %{version}
|
Obsoletes: meson-gui < %{version}
|
||||||
|
%endif
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -71,51 +90,59 @@ Java, Rust. Build definitions are written in a non-turing complete
|
|||||||
Domain Specific Language.
|
Domain Specific Language.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q -n meson-%{version}
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%patch1 -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
|
# We do not have gmock available at this moment - can't run the test suite for it
|
||||||
# but considering the GNOME stack is the main driver for meson and the GNOME team is maintaining
|
rm -rf "test cases/frameworks/3 gmock" \
|
||||||
# also this build system, we will see issues in GNOME soon enough too
|
"test cases/objc/2 nsstring"
|
||||||
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"
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
# If this is the test suite, we don't need anything else but the meson package
|
||||||
|
%if ! %{testsuite}
|
||||||
python3 setup.py build
|
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
|
%install
|
||||||
|
# If this is the test suite, we don't need anything else but the meson package
|
||||||
|
%if ! %{testsuite}
|
||||||
python3 setup.py install \
|
python3 setup.py install \
|
||||||
--root=%{buildroot} --prefix=%{_prefix}
|
--root=%{buildroot} --prefix=%{_prefix}
|
||||||
|
|
||||||
install -Dpm 0644 data/macros.%{name} \
|
install -Dpm 0644 data/macros.meson \
|
||||||
%{buildroot}%{_rpmconfigdir}/macros.d/macros.%{name}
|
%{buildroot}%{_rpmconfigdir}/macros.d/macros.meson
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{testsuite}
|
||||||
%check
|
%check
|
||||||
|
export LANG=C.UTF-8
|
||||||
export MESON_PRINT_TEST_OUTPUT=1
|
export MESON_PRINT_TEST_OUTPUT=1
|
||||||
export SUSE_ASNEEDED=0
|
export SUSE_ASNEEDED=0
|
||||||
python3 run_tests.py
|
python3 run_tests.py
|
||||||
|
%endif
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%doc contributing.txt COPYING
|
%doc contributing.txt COPYING
|
||||||
%{_bindir}/%{name}
|
%if !%{testsuite}
|
||||||
%{_bindir}/%{name}conf
|
%{_bindir}/meson
|
||||||
%{_bindir}/%{name}introspect
|
%{_bindir}/mesonconf
|
||||||
%{_bindir}/%{name}test
|
%{_bindir}/mesonintrospect
|
||||||
|
%{_bindir}/mesontest
|
||||||
%{_bindir}/wraptool
|
%{_bindir}/wraptool
|
||||||
%{python3_sitelib}/%{_name}/
|
%{python3_sitelib}/%{_name}/
|
||||||
%{python3_sitelib}/%{name}-*
|
%{python3_sitelib}/meson-*
|
||||||
%{_rpmconfigdir}/macros.d/macros.%{name}
|
%{_rpmconfigdir}/macros.d/macros.meson
|
||||||
%{_mandir}/man1/%{name}.1%{?ext_man}
|
%{_mandir}/man1/meson.1%{?ext_man}
|
||||||
%{_mandir}/man1/%{name}conf.1%{?ext_man}
|
%{_mandir}/man1/mesonconf.1%{?ext_man}
|
||||||
%{_mandir}/man1/%{name}introspect.1%{?ext_man}
|
%{_mandir}/man1/mesonintrospect.1%{?ext_man}
|
||||||
%{_mandir}/man1/%{name}test.1%{?ext_man}
|
%{_mandir}/man1/mesontest.1%{?ext_man}
|
||||||
%{_mandir}/man1/wraptool.1%{?ext_man}
|
%{_mandir}/man1/wraptool.1%{?ext_man}
|
||||||
|
%endif
|
||||||
|
|
||||||
%changelog
|
%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