From 69b71323cf8907e7209529d2ba14e20db2ae5ec8a13b557e0f0e8eccd6170d85 Mon Sep 17 00:00:00 2001 From: Alexei Sorokin Date: Wed, 21 Mar 2018 21:19:07 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/meson?expand=0&rev=84 --- _multibuild | 3 - meson-testsuite.changes | 511 ++++++++++++++++++++++++++++++++++++++++ meson-testsuite.spec | 218 +++++++++++++++++ meson.changes | 1 - meson.spec | 8 +- 5 files changed, 732 insertions(+), 9 deletions(-) delete mode 100644 _multibuild create mode 100644 meson-testsuite.changes create mode 100644 meson-testsuite.spec diff --git a/_multibuild b/_multibuild deleted file mode 100644 index 964176c..0000000 --- a/_multibuild +++ /dev/null @@ -1,3 +0,0 @@ - - testsuite - diff --git a/meson-testsuite.changes b/meson-testsuite.changes new file mode 100644 index 0000000..c59183a --- /dev/null +++ b/meson-testsuite.changes @@ -0,0 +1,511 @@ +------------------------------------------------------------------- +Wed Mar 21 10:20:37 UTC 2018 - sor.alexei@meowr.ru + +- Fix meson-fix-gcc48.patch. +- Add meson-restore-python3.4.patch: Restore Python 3.4 support for + SLE 12 and openSUSE Leap 42.x. +- Add meson-suse-fix-llvm-3.8.patch: Fix LLVM 3.8 tests for SLE 12 + and openSUSE Leap 42.x.. + +------------------------------------------------------------------- +Mon Mar 12 22:04:53 UTC 2018 - dimstar@opensuse.org + +- Add libjpeg-devel BuildRequires to test testsuite. + +------------------------------------------------------------------- +Mon Mar 5 17:00:19 UTC 2018 - dimstar@opensuse.org + +- Update to version 0.45.0: + + Config-Tool based dependencies can be specified in a cross + file. + + Visual Studio C# compiler support. + + Removed two deprecated features: + - The standalone find_library function has been a no-op for a + long time. From now on it's an error. + - There used to be a keywordless version of run_target, which + is no longer valid. + + Experimental FPGA support. + + Generator outputs can preserve directory structure. + + Hexadecimal string literals. + + install_data()` defaults to `{datadir}/{projectname}`. + + install_subdir() supports strip_directory. + + Integer options. + + New method meson.project_license(). + + Rust cross-compilation. + + Rust compiler-private library disambiguation. + + Project templates. + + Improve test setup selection. + + Yielding subproject option to superproject. +- Rebase meson-suse-ify-macros.patch. + +------------------------------------------------------------------- +Thu Feb 22 10:36:33 UTC 2018 - dimstar@opensuse.org + +- Update to version 0.44.1: + + Support running out-of-tree tests against a meson in PATH. + + Don't add rpaths to system libraries. + + Fix meson location detection from other meson tools. + + Various boost, pkg-config and vala related fixes. +- Testsuite changes: Remove mesonbuild directory and meson.py + again before running the test: ensure we test meson as it was + installed onto the system. + +------------------------------------------------------------------- +Mon Feb 5 15:06:54 UTC 2018 - dimstar@opensuse.org + +- Update to version 0.44.0: + + New features: + - Added warning function. + - Adds support for additional Qt5-Module keyword + moc_extra_arguments. + - Prefix-dependent defaults for sysconfdir, localstatedir and + sharedstatedir. + - An array type for user options. + - LLVM dependency supports both dynamic and static linking. + - Added if_found to subdir. + - get_unquoted() method for the configuration data object. + - Added disabler object. + - Config-Tool based dependencies gained a method to get + arbitrary options. + - Embedded Python in Windows MSI packages. +- Rebase meson-suse-ify-macros.patch, meson-fix-gcc48.patch and + meson-test-installed-bin.patch. +- Testsuite changes: + + Disable tests for static llvm: we don't ship the static libs. + + Add cmake(Qt5LinguistTools), libwmf-devel BuildRequires and + zlib-devel-static: new dependencies for various tests. + +------------------------------------------------------------------- +Wed Nov 22 17:47:29 UTC 2017 - sor.alexei@meowr.ru + +- Require python3-xml: mesonbuild/modules/qt5.py imports the xml + module (boo#1068818). + +------------------------------------------------------------------- +Mon Oct 23 12:30:03 UTC 2017 - dimstar@opensuse.org + +- Setup MPI runtime environment before running the test suite. +- Remove tests for static boost libraries from + test\ cases/frameworks/1\ boost/meson.build. + +------------------------------------------------------------------- +Thu Oct 19 15:00:49 UTC 2017 - badshah400@gmail.com + +- Update to version 0.43.0: + + Generator learned capture: Generators can now be configured to + capture the standard output. + + Can index CustomTarget objects: The CustomTarget object can + now be indexed like an array. The resulting object can be used + as a source file for other Targets, this will create a + dependency on the original CustomTarget, but will only insert + the generated file corresponding to the index value of the + CustomTarget's output keyword. + + The cross file can now be used for overriding the result of + find_program. Then issuing the command find_program('objdump') + will return the version specified in the cross file. + + Easier handling of supported compiler arguments. + + Better support for shared libraries in non-system paths: This + release adds feature parity to shared libraries that are + either in non-standard system paths or shipped as part of your + project. On systems that support rpath, Meson automatically + adds rpath entries to built targets using manually found + external libraries. + + The Wrap dependency system now supports Subversion (svn). This + support is rudimentary. The repository url has to point to a + specific (sub)directory containing the meson.build file + (typically trunk/). However, providing a revision is + supported. +- Rebase meson-test-installed-bin.patch. +- Run sed to strip the hashbang from a non-executable file; this + prevents an rpmlint warning. + +------------------------------------------------------------------- +Wed Oct 11 15:43:16 UTC 2017 - sor.alexei@meowr.ru + +- Don't use obsolete boost-devel for openSUSE Leap 15.0 and newer + (boo#1062785). + +------------------------------------------------------------------- +Mon Oct 2 14:53:40 CEST 2017 - jdelvare@suse.com + +- Update to version 0.42.1. This is a stable update with various + bug fixes. + +------------------------------------------------------------------- +Fri Sep 8 12:22:38 UTC 2017 - sor.alexei@meowr.ru + +- Rebase meson-fix-gcc48.patch (boo#1057701). + +------------------------------------------------------------------- +Tue Aug 15 11:00:02 UTC 2017 - dimstar@opensuse.org + +- Extend meson-test-installed-bin.patch: catch some more cases + where the test suite referenced meson.py from the source + directory. +- Add vulkan-devel and libpcap-devel BuildRequires for the test + suite: new dependencies. + +------------------------------------------------------------------- +Tue Aug 15 09:35:51 UTC 2017 - zaitor@opensuse.org + +- Update to version 0.42.0: + + Distribution tarballs from Mercurial repositories. Creating + distribution tarballs can now be made out of projects based on + Mercurial. As before, this remains possible only with the Ninja + backend. + + Keyword argument verification. Meson will now check the keyword + arguments used when calling any function and print a warning if + any of the keyword arguments is not known. In the future this + will become a hard error. + + Add support for Genie to Vala compiler. The Vala compiler has + an alternative syntax, Genie, that uses the .gs file extension. + Meson now recognises and uses Genie files. + + Pkgconfig support for additional cflags. The Pkgconfig module + object can add arbitrary extra cflags to the Cflags value in + the .pc file, using the "extra_cflags" keyword. + + Base options accessible via get_option(). Base options are now + accessible via the get_option() function. + + Allow crate type configuration for Rust compiler. Rust targets + now take an optional rust_crate_type keyword, allowing you to + set the crate type of the resulting artifact. Valid crate types + are dylib or cdylib for shared libraries, and rlib or staticlib + for static libraries. For more, see Rust's linkage reference. + + Simultaneous use of Address- and Undefined Behavior Sanitizers. + Both the address- and undefined behavior sanitizers can now be + used simultaneously by passing -Db_sanitize=address,undefined + to Meson. + + Unstable SIMD module. A new experimental module to compile code + with many different SIMD instruction sets and selecting the + best one at runtime. This module is unstable, meaning it's API + is subject to change in later releases. It might also be + removed altogether. + + Import libraries for executables on Windows. The new keyword + implib to executable() allows generation of an import library + for the executable. + + Added build_rpath keyword argument. You can specify + build_rpath: '/foo/bar' in build targets and the given path + will get added to the target's rpath in the build tree. It is + removed during the install step. + + Meson will print a warning when the user tries to add an rpath + linker flag manually, e.g. via link_args to a target. This is + not recommended because having multiple rpath causes them to + stomp on each other. This warning will become a hard error in + some future release. + + Vulkan dependency module. Vulkan can now be used as native + dependency. The dependency module will detect the VULKAN_SDK + environment variable or otherwise try to receive the vulkan + library and header via pkgconfig or from the system. + + Limiting the maximum number of linker processes. With the Ninja + backend it is now possible to limit the maximum number of + concurrent linker processes. This is usually only needed for + projects that have many large link steps that cause the system + to run out of memory if they are run in parallel. This limit + can be set with the new backend_max_links option. + + Disable implicit include directories. By default Meson adds the + current source and build directories to the header search path. + On some rare occasions this is not desired. Setting the + implicit_include_directories keyword argument to false these + directories are not used. + + Support for MPI dependency. MPI is now supported as a + dependency. Because dependencies are language-specific, you + must specify the requested language with the language keyword, + i.e., dependency('mpi', language='c') will request the C MPI + headers and libraries. See the MPI dependency for more + information. + + Allow excluding files or directories from install_subdir. The + install_subdir command accepts the new exclude_files and + exclude_directories keyword arguments that allow specified + files or directories to be excluded from the installed + subdirectory. + + Make all Meson functionality invokable via the main executable. + Previously Meson had multiple executables such as + mesonintrospect and mesontest. They are now invokable via the + main Meson executable like this: meson configure # + equivalent to mesonconf meson test # + equivalent to mesontest The old commands are still + available but they are deprecated and will be removed in some + future release. + + Pcap dependency detector. Meson will automatically obtain + dependency information for pcap using the pcap-config tool. It + is used like any other dependency. + + GNOME module mkenums_simple() addition. Most libraries and + applications use the same standard templates for glib-mkenums. + There is now a new mkenums_simple() convenience method that + passes those default templates to glib-mkenums and allows some + tweaks such as optional function decorators or leading + underscores. +- Rebase meson-fix-gcc48.patch and meson-test-installed-bin.patch. + +------------------------------------------------------------------- +Sat Jul 22 13:55:52 UTC 2017 - mailaender@opensuse.org + +- Update to version 0.41.2: + + Various gtkdoc fixes. + + Fix how rpath directories are handled. + + pkgconfig: avoid appending slash at Cflags. + + Fix a missing path issue causing Python traceback. + + Qt4 support. + + Skip handling non-available dependencies. + + vala: Only add --use-header for unity builds regression. + + Tag functions in asm properly. + +------------------------------------------------------------------- +Tue Jun 27 14:19:46 UTC 2017 - rodrigo.z.lourenco@tecnico.ulisboa.pt + +- Add a vim subpackage to add Meson support to Vim. + +------------------------------------------------------------------- +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. diff --git a/meson-testsuite.spec b/meson-testsuite.spec new file mode 100644 index 0000000..93a67e3 --- /dev/null +++ b/meson-testsuite.spec @@ -0,0 +1,218 @@ +# +# spec file for package meson-testsuite +# +# Copyright (c) 2018 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.45.0 +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-POENSUSE meson-restore-python3.4.patch -- Restore Python 3.4 support (reverts commit 0538009). +Patch2: meson-restore-python3.4.patch +# PATCH-FIX-OPENSUSE meson-suse-fix-llvm-3.8.patch -- Fix LLVM 3.8 tests. +Patch3: meson-suse-fix-llvm-3.8.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 +BuildArch: noarch +%if %{testsuite} +BuildRequires: bison +BuildRequires: cups-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: libjpeg-devel +BuildRequires: libpcap-devel +BuildRequires: libwmf-devel +BuildRequires: llvm-devel +BuildRequires: meson = %{version} +BuildRequires: ncurses-devel +BuildRequires: ninja +BuildRequires: openmpi-devel +BuildRequires: pkgconfig +BuildRequires: python3-devel >= 3.4 +BuildRequires: python3-gobject +BuildRequires: python3-setuptools +BuildRequires: vala +BuildRequires: vulkan-devel +BuildRequires: zlib-devel-static +BuildRequires: cmake(Qt5Core) +BuildRequires: cmake(Qt5Gui) +BuildRequires: cmake(Qt5LinguistTools) +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) +%if 0%{?suse_version} >= 1500 +BuildRequires: libboost_log-devel +BuildRequires: libboost_system-devel +BuildRequires: libboost_test-devel +BuildRequires: libboost_thread-devel +%else +BuildRequires: boost-devel +%endif +%else +Requires: ninja +Requires: python3-xml +# meson-gui was last used in openSUSE Leap 42.1. +Provides: meson-gui = %{version} +Obsoletes: meson-gui < %{version} +%endif + +%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. + +%package vim +%{!?vim_data_dir:%global vim_data_dir %{_datadir}/vim} +Summary: Vim support for meson.build files +Group: Productivity/Text/Editors +Requires: vim +Supplements: packageand(vim:%{name}) +BuildArch: noarch + +%description vim +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. + +This package provides support for meson.build files in Vim. + +%prep +%setup -q -n meson-%{version} +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch100 -p1 +# Remove static boost tests from test cases/frameworks/1 boost (can't use patch due to spaces in dirname) +sed -i "/static/d" test\ cases/frameworks/1\ boost/meson.build + +# Disable test of llvm-static libs: openSUSE does not package/ship them +sed -i "s/foreach static : \[true, false\]/foreach static : \[false\]/" test\ cases/frameworks/15\ llvm/meson.build + +# 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" + +# Remove hashbang from non-exec script +sed -i '1{/\/usr\/bin\/env/d;}' ./mesonbuild/rewriter.py + +%build +# If this is the test suite, we don't need anything else but the meson package +%if !%{testsuite} +python3 setup.py build +%else +# Ensure we have no mesonbuild / meson in CWD, thus guaranteeing we use meson in $PATH +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 + +install -Dpm 0644 data/syntax-highlighting/vim/ftdetect/meson.vim \ + -t %{buildroot}%{vim_data_dir}/site/ftdetect +install -Dpm 0644 data/syntax-highlighting/vim/indent/meson.vim \ + -t %{buildroot}%{vim_data_dir}/site/indent +install -Dpm 0644 data/syntax-highlighting/vim/syntax/meson.vim \ + -t %{buildroot}%{vim_data_dir}/site/syntax +%endif + +%if %{testsuite} +%check +export LANG=C.UTF-8 +export MESON_PRINT_TEST_OUTPUT=1 +export SUSE_ASNEEDED=0 +source %{_libdir}/mpi/gcc/openmpi/bin/mpivars.sh +python3 run_tests.py +%endif + +%files +%if 0%{?suse_version} >= 1500 +%license COPYING +%else +%doc COPYING +%endif +%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 + +%if !%{testsuite} +%files vim +%doc data/syntax-highlighting/vim/README +%dir %{vim_data_dir} +%dir %{vim_data_dir}/site +%dir %{vim_data_dir}/site/ftdetect +%dir %{vim_data_dir}/site/indent +%dir %{vim_data_dir}/site/syntax +%{vim_data_dir}/site/ftdetect/meson.vim +%{vim_data_dir}/site/indent/meson.vim +%{vim_data_dir}/site/syntax/meson.vim +%endif + +%changelog diff --git a/meson.changes b/meson.changes index 47c722f..c59183a 100644 --- a/meson.changes +++ b/meson.changes @@ -1,7 +1,6 @@ ------------------------------------------------------------------- Wed Mar 21 10:20:37 UTC 2018 - sor.alexei@meowr.ru -- Move from pre_checkin.sh to _multibuild. - Fix meson-fix-gcc48.patch. - Add meson-restore-python3.4.patch: Restore Python 3.4 support for SLE 12 and openSUSE Leap 42.x. diff --git a/meson.spec b/meson.spec index 200eff0..092d7a6 100644 --- a/meson.spec +++ b/meson.spec @@ -1,5 +1,5 @@ # -# spec file for package meson +# spec file for package meson-testsuite # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # @@ -16,12 +16,10 @@ # -%define flavor @BUILD_FLAVOR@ -%if "%{flavor}" == "testsuite" -%define testsuite 1 +%define testsuite 0 +%if %{testsuite} %define name_ext -testsuite %else -%define testsuite 0 %define name_ext %{nil} %endif %define _name mesonbuild