SHA256
1
0
forked from pool/meson

Accepting request 505969 from devel:tools:building

1

OBS-URL: https://build.opensuse.org/request/show/505969
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/meson?expand=0&rev=19
This commit is contained in:
Dominique Leuenberger 2017-06-30 16:38:48 +00:00 committed by Git OBS Bridge
commit 58e12954ce
14 changed files with 588 additions and 104 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:890ce46e713ea0d061f8203c99fa7d38645354a62e4c207c38ade18db852cbf5
size 584611

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEElRgfTu0U/fTkG1GNO/RpO/7rlCgFAlkDiasACgkQO/RpO/7r
lCiP4w/8DUgDaNjIyPxxH44m1BGRMO7Qa23BVRNm6iHCHmaTnXrVUT2YPXibxG+X
QFkMe4f+tEKPJECJZvzUceGLysYfe4Ssu7RcQdOK385NgtCiwzVBDJL/e6CnTdew
5lIRAznyPo9jQ5c7QXfSkjvHc0Mxei+04HFtlN43l4/ysSLEGbRXOWssrQ83dgBz
Xm5c8lX1DZWhlfkD0Qi93sMaNGdTlyhRUvE9iT5vmFGEbaqo6/IJ5z6ffmGzKrY2
CuSPZgsd8O8qZbKa/68Wk35zMD4pRTTuXIo/oJC8QmLAcIV1P/LyANlMbKgGhFC6
NXPRF1S2rPdtZZ68GyyOWQ7z7lDcmdln2017I90P5A0pMNDZ1mraB2jkE9yMCt77
ZiJ6496PKBDOtgfQI8aCePk/XC18Ez2U/M5HdSzmWljU720+J0HJnznuxiV8J3NS
edoIF1FRJC74YQiTmE9BPF13lcq9qAfh2bWNzhUoxIdLuOaN406l025obgjndRzz
p/iZ+jn5yBYaKl0VEd1ci1nJ5F46YCXpCZKQRbpP3EQ3usZddBf2jjMBJueWTESb
3NEjC5HchL4JmV5Ox4mr/8SmdazbcybvLU/CSuWLwj74cqObeDw4mNOWLdYZjy+x
wHrjJyAM9XZ0pkQjmYEY2ok4Q75flrDbekiisxh+CVqiOMwVzZQ=
=XGeZ
-----END PGP SIGNATURE-----

3
meson-0.41.1.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3d160b0514ff3d25f0a47975c6f70fd82b76c589876d10413efc5e01df43e0c2
size 1012865

16
meson-0.41.1.tar.gz.asc Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEElRgfTu0U/fTkG1GNO/RpO/7rlCgFAllIPOgACgkQO/RpO/7r
lChKgw//SXl9EN1ZZVr5MwH3lnndIOn13DcPFyZm42tZbkp0UDQ8eYGkaUuH6jll
8CnpeXT4TPnl9bksDR58Qhss+rtPkxHPu2zgKHCXlrBn5rAx76cXefEvN5e/zDIh
m00RelllmtA+K5IDEHWh3otIGPZdTig3k4QY5XnWS7qPNErwH38cy0/pWeDUF9Mm
hjmTdxIoLVLeredSNphGQVquXM4iIRHFwBL6Bqt2B2l3fWMYB2n/eSPjDy/hFf3Z
W3ru+6t9UILz5UtiMs2MpbQoYrDW3L9k2VOGnvu0SG5pqNn3eZ4E+ARaLr/Qzwe5
dtwz8mjMm1kBgL02iXQP+zKGBlRkdXcc1bgvRd1WyYi1EYchYFvWke4+jkl3pnBk
W4wEN3GepXJodx3l9QC+LRKrge9VmHu7uuAADeodSYr02UjvHU6gpoZJrgpGyjN1
713lMjMM2NeTlm7cvMrcgLTsWOSXe+5QCHyXA6K7409nbdnAqL8En4IBJ88p+9LD
LVzEQiLAnzsFIDRAChMaNUIoAqkaMu3uZN4vmio+0p/UGg4yzYn7DSEaiLmmGiNa
kEspxoifsBrRKvyO270khtoMlifmy7Uwxiin/Z5kMFeZ8awx8kBhA6L28WXXG9pq
0jHote5vfzN+MzUEdeA00L3c9oqpJFdOW8UYLSJtmCBjieRtFCo=
=o0tQ
-----END PGP SIGNATURE-----

View File

@ -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

View File

@ -1,6 +1,7 @@
--- a/mesonbuild/compilers.py diff -Nur meson-0.41.0/mesonbuild/compilers.py new/mesonbuild/compilers.py
+++ b/mesonbuild/compilers.py --- meson-0.41.0/mesonbuild/compilers.py 2017-06-12 20:30:20.000000000 +0200
@@ -2403,9 +2403,13 @@ class GnuCPPCompiler(GnuCompiler, CPPCom +++ new/mesonbuild/compilers.py 2017-06-19 13:43:25.771564616 +0200
@@ -2621,9 +2621,13 @@
'3': default_warn_args + ['-Wextra', '-Wpedantic']} '3': default_warn_args + ['-Wextra', '-Wpedantic']}
def get_options(self): def get_options(self):

View File

@ -1,24 +0,0 @@
From d3e0a58260226286c067a7c39f39b704f124813a Mon Sep 17 00:00:00 2001
From: Jussi Pakkanen <jpakkane@gmail.com>
Date: Wed, 17 May 2017 23:11:52 +0300
Subject: [PATCH] Skip unittests that request it rather than mark them as
failed. Closes #1804.
---
run_unittests.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/run_unittests.py b/run_unittests.py
index ec9d53b..2ef1be6 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -381,6 +381,8 @@ def _run(self, command, workdir=None):
output = p.communicate()[0]
print(output)
if p.returncode != 0:
+ if 'MESON_SKIP_TEST' in output:
+ raise unittest.SkipTest('Project requested skipping.')
raise subprocess.CalledProcessError(p.returncode, command)
return output

View File

@ -1,9 +1,10 @@
Index: meson-0.38.1/data/macros.meson Index: meson-0.41.0/data/macros.meson
=================================================================== ===================================================================
--- meson-0.38.1.orig/data/macros.meson --- meson-0.41.0.orig/data/macros.meson
+++ meson-0.38.1/data/macros.meson +++ meson-0.41.0/data/macros.meson
@@ -1,11 +1,13 @@ @@ -1,12 +1,14 @@
%__meson %{_bindir}/meson %__meson %{_bindir}/meson
%__meson_wrap_mode nodownload
+%_vpath_srcdir . +%_vpath_srcdir .
+%_vpath_builddir build +%_vpath_builddir build
@ -13,11 +14,25 @@ Index: meson-0.38.1/data/macros.meson
- export FFLAGS="${FFLAGS:-%__global_fflags}" \ - export FFLAGS="${FFLAGS:-%__global_fflags}" \
- export FCFLAGS="${FCFLAGS:-%__global_fcflags}" \ - export FCFLAGS="${FCFLAGS:-%__global_fcflags}" \
- export LDFLAGS="${LDFLAGS:-%__global_ldflags}" \ - export LDFLAGS="${LDFLAGS:-%__global_ldflags}" \
+ export LANG=C.UTF-8 \ + export LANG=C.UTF-8 \
+ export CFLAGS="${CFLAGS:-%optflags}" \ + export CFLAGS="${CFLAGS:-%optflags}" \
+ export CXXFLAGS="${CXXFLAGS:-%optflags}" \ + export CXXFLAGS="${CXXFLAGS:-%optflags}" \
+ export FFLAGS="${FFLAGS:-%optflags}" \ + export FFLAGS="${FFLAGS:-%optflags}" \
+ export FCFLAGS="${FCFLAGS:-%optflags}" \ + export FCFLAGS="${FCFLAGS:-%optflags}" \
%{__meson} \\\ %{__meson} \\\
--buildtype=plain \\\ --buildtype=plain \\\
--prefix=%{_prefix} \\\ --prefix=%{_prefix} \\\
@@ -27,10 +29,13 @@
%{nil}
%meson_build \
+ export LANG=C.UTF-8 \
%ninja_build -C %{_vpath_builddir}
%meson_install \
+ export LANG=C.UTF-8 \
%ninja_install -C %{_vpath_builddir}
%meson_test \
+ export LANG=C.UTF-8 \
%ninja_test -C %{_vpath_builddir}

View 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
View 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
View 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

View File

@ -1,3 +1,47 @@
-------------------------------------------------------------------
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 Tue Jun 6 13:08:19 UTC 2017 - dimstar@opensuse.org

View File

@ -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,25 +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.40.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
# PATCH-FIX-UPSTREAM meson-handle-skipped-tests.patch gh#mesonbuild/meson#1804 dimstar@opensuse.org -- Actually do skip tests that are marked as MESON_SKIP_TEST BuildRequires: python3 >= 3.4
Patch3: meson-handle-skipped-tests.patch %if %{testsuite}
BuildRequires: bison BuildRequires: bison
BuildRequires: boost-devel BuildRequires: boost-devel
BuildRequires: flex BuildRequires: flex
@ -44,22 +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: meson
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
%patch3 -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/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 authors.txt 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
View 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