forked from pool/meson
Accepting request 419793 from devel:tools:building
OBS-URL: https://build.opensuse.org/request/show/419793 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/meson?expand=0&rev=9
This commit is contained in:
commit
5f23055880
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2e8c06136da01607364cbcd8a719f0f60441a9a4c5f1426e88a3c6a8444331ac
|
||||
size 468346
|
@ -1,17 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v1
|
||||
|
||||
iQIcBAABAgAGBQJXVIdDAAoJEDv0aTv+65QoVYcQAKI8inZYCRHs2djglRrypK8o
|
||||
IXAxXI3Y0jti59Amw7OQ0iMsqCxe5gmQ8rLW0DqYXB3FMuNrl00gylt0y0CqIBGA
|
||||
C7F+6yNRSbdLXNa5/jreobbTAOTBGNbGVFggO5bjsFMh6soYRvEmPts0SMcoPFuf
|
||||
AHUR17fFkQvZccDbx6xPFS5to8zHxp3UDklfW+3VxK86FB+nEelYqJ39Ir79F9tf
|
||||
HBVPVcWkszO8M+UEgni99wi/zebK0vOvpnxwDcVTcNKdSuQunj7E1Hcv5D1vKjRP
|
||||
jZ6bh7Aw3dmVM/X/lBVvJ7IAhNRnjN0mYxdusMqiAAgQFWJZPMx1YwswodlU3ofc
|
||||
A7dS1uMrk6ms7OQmg7P4CeucOK/SkRzeksW4i5/9tIvgF1mfcb9KhBHCJ1hcQGcA
|
||||
oO/S8Gw3L3zfPSSo522jATzqyRnyr7zbzschQ7Bm0NLL1p3gcCza1H7m3KJWMCsk
|
||||
sQcmWgvu6N0DIZqFwilow84zee37xf7xKqENJKaEdmUSHLG6kV4bSDH9mDkh7PaL
|
||||
TPtwg8BckfIsvp1sU6WSj9BjjPybOiqdPvirL9Hat6lCTBgBovItK7nxS9cdYs1A
|
||||
YoIlFfefQWiVJBbbGb5yxMrplLrXs0V2Mte0EBFFmSCkDOw1Pi2967QrJWQhaZmp
|
||||
hXFQJgzTu/2Y9gOwj2Ki
|
||||
=jWu7
|
||||
-----END PGP SIGNATURE-----
|
3
meson-0.33.0.tar.gz
Normal file
3
meson-0.33.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c3a5bfe863b3a041469bccee9ad5b4fd7c8d451d633381fe40102731cec5b294
|
||||
size 482217
|
17
meson-0.33.0.tar.gz.asc
Normal file
17
meson-0.33.0.tar.gz.asc
Normal file
@ -0,0 +1,17 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v1
|
||||
|
||||
iQIcBAABAgAGBQJXnQE5AAoJEDv0aTv+65QoRTIQAJ5FNydWlg/fH+ClJ8EqAffE
|
||||
pejBz8/gxnp87z2nWsvJQNqz2oCk2HJx6VmcaZv5RUvWpyz3aq6R4OR8m8F0HMLU
|
||||
hSAXten62GlEy9jz2zL9k+VmC+kxnBWMqAD5zSbddVRDeeJqt6/iSq/XK1lhE1ol
|
||||
YSz2uhxZ3diouKlE9YCTq2kBpEnC6G1Q4p7F5QIfLkxLJvhHaE/toMrn/eijTev6
|
||||
zMvSSgCNzdjl61xYj0kaur04wM2B1RlHeZ7UOa2Q1g5dHjf16WLKMAwr8B3rxDwj
|
||||
SNIyEO9ytOP2BD/Oa+Vcp71ym+euJqSj+NmUvi77CtHVWH7hF+DfAkw7ccZx0NrC
|
||||
XyA/xLI3QlW9nUW1CDo5PVwTuRx5WJ1kHyUHtwKjGEFfEB2Z+FPu53JkubRLEuMv
|
||||
hUCLg0NVAZA7HtdxbA0yJl1DJ78LRRRM2mt3Gsn4sYUClUml1jybTqfPT4ydT2z7
|
||||
2dsix1/y/lRvLklSkWoXMQu6vzLYKEnVm/PRTx7+KO+wmNDupWByVlU0pPvHzFRm
|
||||
3ci2rMaX4gwVbwd5OVGqtvsH3MU4g6Sh572NfQk4ARHoSN+Mf31wvVGUC5FMLR6k
|
||||
OLinhO8PbmIHnCr9uOGsuRqoDsWUYvk+6cy7SZW8HG18l/Qq/EkTeVTE5RUpi7/j
|
||||
k+S5sef2G0zSDGY3Cgx2
|
||||
=+Twl
|
||||
-----END PGP SIGNATURE-----
|
96
meson-633.patch
Normal file
96
meson-633.patch
Normal file
@ -0,0 +1,96 @@
|
||||
From 3671c40a4b8ea0c0e7899caf27074f604cb95bcf Mon Sep 17 00:00:00 2001
|
||||
From: Jussi Pakkanen <jpakkane@gmail.com>
|
||||
Date: Tue, 2 Aug 2016 21:45:45 +0300
|
||||
Subject: [PATCH] Handle both DT_RPATH as well as DT_RUNPATH when fixing rpath
|
||||
settings.
|
||||
|
||||
---
|
||||
mesonbuild/scripts/depfixer.py | 30 +++++++++++++++++++++++-------
|
||||
1 file changed, 23 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/mesonbuild/scripts/depfixer.py b/mesonbuild/scripts/depfixer.py
|
||||
index 8ff0dd1..cb136f4 100644
|
||||
--- a/mesonbuild/scripts/depfixer.py
|
||||
+++ b/mesonbuild/scripts/depfixer.py
|
||||
@@ -20,6 +20,7 @@
|
||||
SHT_STRTAB = 3
|
||||
DT_NEEDED = 1
|
||||
DT_RPATH = 15
|
||||
+DT_RUNPATH = 29
|
||||
DT_STRTAB = 5
|
||||
DT_SONAME = 14
|
||||
|
||||
@@ -211,21 +212,29 @@ def print_soname(self):
|
||||
self.bf.seek(strtab.val + soname.val)
|
||||
print(self.read_str())
|
||||
|
||||
- def get_rpath_offset(self):
|
||||
+ def get_entry_offset(self, entrynum):
|
||||
sec = self.find_section(b'.dynstr')
|
||||
for i in self.dynamic:
|
||||
- if i.d_tag == DT_RPATH:
|
||||
+ if i.d_tag == entrynum:
|
||||
return sec.sh_offset + i.val
|
||||
return None
|
||||
|
||||
def print_rpath(self):
|
||||
- offset = self.get_rpath_offset()
|
||||
+ offset = self.get_entry_offset(DT_RPATH)
|
||||
if offset is None:
|
||||
print("This file does not have an rpath.")
|
||||
else:
|
||||
self.bf.seek(offset)
|
||||
print(self.read_str())
|
||||
|
||||
+ def print_runpath(self):
|
||||
+ offset = self.get_entry_offset(DT_RUNPATH)
|
||||
+ if offset is None:
|
||||
+ print("This file does not have a runpath.")
|
||||
+ else:
|
||||
+ self.bf.seek(offset)
|
||||
+ print(self.read_str())
|
||||
+
|
||||
def print_deps(self):
|
||||
sec = self.find_section(b'.dynstr')
|
||||
deps = []
|
||||
@@ -257,9 +266,15 @@ def fix_deps(self, prefix):
|
||||
self.bf.write(newname)
|
||||
|
||||
def fix_rpath(self, new_rpath):
|
||||
+ # The path to search for can be either rpath or runpath.
|
||||
+ # Fix both of them to be sure.
|
||||
+ self.fix_rpathtype_entry(new_rpath, DT_RPATH)
|
||||
+ self.fix_rpathtype_entry(new_rpath, DT_RUNPATH)
|
||||
+
|
||||
+ def fix_rpathtype_entry(self, new_rpath, entrynum):
|
||||
if isinstance(new_rpath, str):
|
||||
new_rpath = new_rpath.encode('utf8')
|
||||
- rp_off = self.get_rpath_offset()
|
||||
+ rp_off = self.get_entry_offset(entrynum)
|
||||
if rp_off is None:
|
||||
if self.verbose:
|
||||
print('File does not have rpath. It should be a fully static executable.')
|
||||
@@ -272,12 +287,12 @@ def fix_rpath(self, new_rpath):
|
||||
self.bf.write(new_rpath)
|
||||
self.bf.write(b'\0'*(len(old_rpath) - len(new_rpath) + 1))
|
||||
if len(new_rpath) == 0:
|
||||
- self.remove_rpath_entry()
|
||||
+ self.remove_rpath_entry(entrynum)
|
||||
|
||||
- def remove_rpath_entry(self):
|
||||
+ def remove_rpath_entry(self, entrynum):
|
||||
sec = self.find_section(b'.dynamic')
|
||||
for (i, entry) in enumerate(self.dynamic):
|
||||
- if entry.d_tag == DT_RPATH:
|
||||
+ if entry.d_tag == entrynum:
|
||||
rpentry = self.dynamic[i]
|
||||
rpentry.d_tag = 0
|
||||
self.dynamic = self.dynamic[:i] + self.dynamic[i+1:] + [rpentry]
|
||||
@@ -296,6 +311,7 @@ def run(args):
|
||||
e = Elf(args[0])
|
||||
if len(args) == 1:
|
||||
e.print_rpath()
|
||||
+ e.print_runpath()
|
||||
else:
|
||||
new_rpath = args[1]
|
||||
e.fix_rpath(new_rpath)
|
27
meson-typelib-install.patch
Normal file
27
meson-typelib-install.patch
Normal file
@ -0,0 +1,27 @@
|
||||
From 660c872422be4ed7fb4499d1263793fb0e976141 Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Mon, 4 Jul 2016 12:29:56 +0200
|
||||
Subject: [PATCH] gnome.py: typelib files should be installed in libdir
|
||||
|
||||
The typelib files should be installed in libdir, even on debian (which
|
||||
has them in /usr/lib/x86_64-linux-gnu/girepository-1.0/).
|
||||
---
|
||||
mesonbuild/modules/gnome.py | 4 +---
|
||||
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||
|
||||
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
|
||||
index 2c37655..037b1f5 100644
|
||||
--- a/mesonbuild/modules/gnome.py
|
||||
+++ b/mesonbuild/modules/gnome.py
|
||||
@@ -228,9 +228,7 @@ def generate_gir(self, state, args, kwargs):
|
||||
|
||||
kwargs['output'] = typelib_output
|
||||
kwargs['command'] = typelib_cmd
|
||||
- # Note that this can't be libdir, because e.g. on Debian it points to
|
||||
- # lib/x86_64-linux-gnu but the girepo dir is always under lib.
|
||||
- kwargs['install_dir'] = 'lib/girepository-1.0'
|
||||
+ kwargs['install_dir'] = os.path.join(state.environment.get_libdir(), 'girepository-1.0')
|
||||
typelib_target = TypelibTarget(typelib_output, state.subdir, kwargs)
|
||||
return [scan_target, typelib_target]
|
||||
|
||||
|
@ -1,3 +1,16 @@
|
||||
-------------------------------------------------------------------
|
||||
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
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
%define _name mesonbuild
|
||||
Name: meson
|
||||
Version: 0.32.0
|
||||
Version: 0.33.0
|
||||
Release: 0
|
||||
Summary: High productivity build system
|
||||
License: Apache-2.0
|
||||
@ -27,6 +27,10 @@ Url: http://mesonbuild.com/
|
||||
Source: https://github.com/%{_name}/%{name}/releases/download/%{version}/%{name}-%{version}.tar.gz
|
||||
Source1: https://github.com/%{_name}/%{name}/releases/download/%{version}/%{name}-%{version}.tar.gz.asc
|
||||
Source2: %{name}.keyring
|
||||
# PATCH-FIX-UPSTREAM meson-633.patch dimstar@opensuse.org -- Handle both DT_RPATH as well as DT_RUNPATH when fixing rpath settings
|
||||
Patch0: meson-633.patch
|
||||
# PATCH-FIX-UPSTREAM meson-typelib-install.patch dimstar@opensuse.org -- Correct install path for gi typelibs, taken from upstream git
|
||||
Patch1: meson-typelib-install.patch
|
||||
BuildRequires: bison
|
||||
BuildRequires: boost-devel
|
||||
BuildRequires: flex
|
||||
@ -68,6 +72,8 @@ and the like.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
|
||||
# Lack of gtest, gmock, gnustep.
|
||||
rm -rf "test cases/frameworks/2 gtest" \
|
||||
|
Loading…
Reference in New Issue
Block a user