Backport fixes to RPM macros
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
This commit is contained in:
parent
41d08ee3d2
commit
b44b0b0af2
@ -0,0 +1,66 @@
|
||||
From dcd3c217121fbb09be8acecd2d866219e85ad9bd Mon Sep 17 00:00:00 2001
|
||||
From: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
||||
Date: Tue, 13 Dec 2016 11:59:52 +0100
|
||||
Subject: [PATCH 1/2] rpm: use meson's syntax to specify sourcedir and builddir
|
||||
|
||||
When user uses %meson -Denable_cool_feature=true current macro fails
|
||||
because RPM adds flag after popd:
|
||||
...
|
||||
pushd x86_64-redhat-linux-gnu
|
||||
/usr/bin/meson ... $OLDPWD/.
|
||||
popd -Denable_cool_feature
|
||||
|
||||
Since meson can accept $srcdir and $builddir arugments we don't have
|
||||
this problem with pushd/popd. It also simplifies things a bit.
|
||||
|
||||
Reported-by: Richard Hughes <richard@hughsie.com>
|
||||
References: https://bugzilla.redhat.com/show_bug.cgi?id=1401062
|
||||
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
||||
---
|
||||
data/macros.meson | 30 ++++++++++++++----------------
|
||||
1 file changed, 14 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/data/macros.meson b/data/macros.meson
|
||||
index 97d8a23f..5250c348 100644
|
||||
--- a/data/macros.meson
|
||||
+++ b/data/macros.meson
|
||||
@@ -8,22 +8,20 @@
|
||||
export FFLAGS="%{optflags} -I%{_fmoddir}" \
|
||||
export FCFLAGS="%{optflags} -I%{_fmoddir}" \
|
||||
export LDFLAGS="%{?__global_ldflags}" \
|
||||
- mkdir -p %{__builddir} \
|
||||
- pushd %{__builddir} \
|
||||
- %{__meson} \\\
|
||||
- --buildtype=plain \\\
|
||||
- --prefix=%{_prefix} \\\
|
||||
- --libdir=%{_libdir} \\\
|
||||
- --libexecdir=%{_libexecdir} \\\
|
||||
- --bindir=%{_bindir} \\\
|
||||
- --includedir=%{_includedir} \\\
|
||||
- --datadir=%{_datadir} \\\
|
||||
- --mandir=%{_mandir} \\\
|
||||
- --localedir=%{_datadir}/locale \\\
|
||||
- --sysconfdir=%{_sysconfdir} \\\
|
||||
- --localstatedir=%{_localstatedir} \\\
|
||||
- $OLDPWD/%{__sourcedir} \
|
||||
- popd
|
||||
+ %{__meson} \\\
|
||||
+ --buildtype=plain \\\
|
||||
+ --prefix=%{_prefix} \\\
|
||||
+ --libdir=%{_libdir} \\\
|
||||
+ --libexecdir=%{_libexecdir} \\\
|
||||
+ --bindir=%{_bindir} \\\
|
||||
+ --includedir=%{_includedir} \\\
|
||||
+ --datadir=%{_datadir} \\\
|
||||
+ --mandir=%{_mandir} \\\
|
||||
+ --localedir=%{_datadir}/locale \\\
|
||||
+ --sysconfdir=%{_sysconfdir} \\\
|
||||
+ --localstatedir=%{_localstatedir} \\\
|
||||
+ %{__sourcedir} %{__builddir} \\\
|
||||
+ %{nil}
|
||||
|
||||
%meson_build \
|
||||
%ninja_build -C %{__builddir}
|
||||
--
|
||||
2.11.0
|
||||
|
44
0002-rpm-use-__global_-flags.patch
Normal file
44
0002-rpm-use-__global_-flags.patch
Normal file
@ -0,0 +1,44 @@
|
||||
From 0121faf16873b500274b36955a08c6994e7f6f76 Mon Sep 17 00:00:00 2001
|
||||
From: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
||||
Date: Tue, 13 Dec 2016 12:29:28 +0100
|
||||
Subject: [PATCH 2/2] rpm: use __global_*flags
|
||||
|
||||
Using RPM's %{optflags} is definitely nice, but not enough. LDFLAGS
|
||||
are not there, and idea of optflags is too generic. It is supposed
|
||||
to work under CC and CXX, but apparently someone forgot that there
|
||||
is difference between these two.
|
||||
|
||||
%__global_*flags is not part of RPM itself, it's coming within
|
||||
redhat-rpm-config which makes our macros file not that portable,
|
||||
but anyway we already have %__global_ldflags and %ninja_build and
|
||||
no one complained.
|
||||
|
||||
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
||||
---
|
||||
data/macros.meson | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/data/macros.meson b/data/macros.meson
|
||||
index 5250c348..4eb1ab9a 100644
|
||||
--- a/data/macros.meson
|
||||
+++ b/data/macros.meson
|
||||
@@ -3,11 +3,11 @@
|
||||
%__builddir %{_target_platform}
|
||||
|
||||
%meson \
|
||||
- export CFLAGS="%{optflags}" \
|
||||
- export CXXFLAGS="%{optflags}" \
|
||||
- export FFLAGS="%{optflags} -I%{_fmoddir}" \
|
||||
- export FCFLAGS="%{optflags} -I%{_fmoddir}" \
|
||||
- export LDFLAGS="%{?__global_ldflags}" \
|
||||
+ export CFLAGS="${CFLAGS:-%__global_cflags}" \
|
||||
+ export CXXFLAGS="${CXXFLAGS:-%__global_cxxflags}" \
|
||||
+ export FFLAGS="${FFLAGS:-%__global_fflags}" \
|
||||
+ export FCFLAGS="${FCFLAGS:-%__global_fcflags}" \
|
||||
+ export LDFLAGS="${LDFLAGS:-%__global_ldflags}" \
|
||||
%{__meson} \\\
|
||||
--buildtype=plain \\\
|
||||
--prefix=%{_prefix} \\\
|
||||
--
|
||||
2.11.0
|
||||
|
@ -2,12 +2,14 @@
|
||||
|
||||
Name: meson
|
||||
Version: 0.36.0
|
||||
Release: 2%{?dist}
|
||||
Release: 3%{?dist}
|
||||
Summary: High productivity build system
|
||||
|
||||
License: ASL 2.0
|
||||
URL: http://mesonbuild.com/
|
||||
Source0: https://github.com/mesonbuild/meson/archive/%{version}/%{name}-%{version}.tar.gz
|
||||
Patch0001: 0001-rpm-use-meson-s-syntax-to-specify-sourcedir-and-buil.patch
|
||||
Patch0002: 0002-rpm-use-__global_-flags.patch
|
||||
BuildArch: noarch
|
||||
Obsoletes: %{name}-gui < 0.31.0-3
|
||||
|
||||
@ -90,6 +92,9 @@ export MESON_PRINT_TEST_OUTPUT=1
|
||||
%{rpmmacrodir}/macros.%{name}
|
||||
|
||||
%changelog
|
||||
* Tue Dec 13 2016 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.36.0-3
|
||||
- Backport fixes to RPM macros
|
||||
|
||||
* Sat Dec 03 2016 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.36.0-2
|
||||
- Print test output during build
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user