Accepting request 934175 from home:dirkmueller:Factory

- update to 3.4.2:
  * Add static trampoline support for Linux on x86_64 and ARM64.
  * Add support for Alibaba's CSKY architecture.
  * Add support for Kalray's KVX architecture.
  * Add support for Intel Control-flow Enforcement Technology (CET).
  * Add support for ARM Pointer Authentication (PA).
  * Fix 32-bit PPC regression.
  * Fix MIPS soft-float problem.
  * Enable tmpdir override with the $LIBFFI_TMPDIR environment variable.
  * Enable compatibility with MSVC runtime stack checking.
  * Reject float and small integer argument in ffi_prep_cif_var().
  * Callers must promote these types themselves. 
- drop aarch64.patch: fixed upstream differently
- drop info dependency, uses file triggers now

OBS-URL: https://build.opensuse.org/request/show/934175
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libffi?expand=0&rev=21
This commit is contained in:
Richard Biener 2021-11-29 09:53:30 +00:00 committed by Git OBS Bridge
parent 1bc1343f47
commit bd630d9f13
6 changed files with 38 additions and 68 deletions

View File

@ -1,15 +0,0 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="scm">git</param>
<param name="url">https://github.com/libffi/libffi</param>
<param name="revision">master</param>
<param name="filename">libffi</param>
<param name="parent-tag">v3.3</param>
<param name="versionformat">3.3.git@TAG_OFFSET@</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="disabled"/>
</services>

View File

@ -1,14 +0,0 @@
diff -purN libffi-3.2.1.git505.orig/src/aarch64/ffi.c libffi-3.2.1.git505/src/aarch64/ffi.c
--- libffi-3.2.1.git505.orig/src/aarch64/ffi.c 2019-08-07 20:57:45.000000000 +0200
+++ libffi-3.2.1.git505/src/aarch64/ffi.c 2019-10-11 08:45:42.702088832 +0200
@@ -815,7 +815,8 @@ ffi_prep_closure_loc (ffi_closure *closu
#else
unsigned char *tramp_code = ffi_data_to_code_pointer (tramp);
#endif
- ffi_clear_cache (tramp_code, tramp_code + FFI_TRAMPOLINE_SIZE);
+ if (tramp_code != NULL)
+ ffi_clear_cache (tramp_code, tramp_code + FFI_TRAMPOLINE_SIZE);
#endif
closure->cif = cif;

View File

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

3
libffi-3.4.2.tar.gz Normal file
View File

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

View File

@ -1,3 +1,21 @@
-------------------------------------------------------------------
Fri Nov 26 21:41:22 UTC 2021 - Dirk Müller <dmueller@suse.com>
- update to 3.4.2:
* Add static trampoline support for Linux on x86_64 and ARM64.
* Add support for Alibaba's CSKY architecture.
* Add support for Kalray's KVX architecture.
* Add support for Intel Control-flow Enforcement Technology (CET).
* Add support for ARM Pointer Authentication (PA).
* Fix 32-bit PPC regression.
* Fix MIPS soft-float problem.
* Enable tmpdir override with the $LIBFFI_TMPDIR environment variable.
* Enable compatibility with MSVC runtime stack checking.
* Reject float and small integer argument in ffi_prep_cif_var().
* Callers must promote these types themselves.
- drop aarch64.patch: fixed upstream differently
- drop info dependency, uses file triggers now
-------------------------------------------------------------------
Tue Mar 10 09:57:24 UTC 2020 - Richard Biener <rguenther@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file for package libffi
#
# Copyright (c) 2020 SUSE LLC
# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,28 +17,21 @@
%define libffi_sover 8
Name: libffi
Version: 3.3.git30
Version: 3.4.2
Release: 0
Summary: Foreign Function Interface Library
License: MIT
Group: Development/Languages/C and C++
URL: https://github.com/libffi/
Source: %name-%version.tar.xz
URL: https://sourceware.org/libffi/
Source: https://github.com/libffi/libffi/releases/download/v%{version}/libffi-%{version}.tar.gz
Source99: baselibs.conf
# Workaround from https://github.com/libffi/libffi/issues/498
Patch3: aarch64.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: makeinfo
BuildRequires: pkg-config
# for make check
BuildRequires: dejagnu
BuildRequires: expect
BuildRequires: gcc-c++
BuildRequires: makeinfo
BuildRequires: pkgconfig
%description
The libffi library provides a portable, high level programming
@ -46,12 +39,10 @@ interface to various calling conventions. This allows a programmer to
call any function specified by a call interface description at run
time.
%package devel
Summary: Include files for development with libffi
Group: Development/Languages/C and C++
Requires: libffi%{libffi_sover} = %{version}
PreReq: %{install_info_prereq}
%description devel
The libffi library provides a portable, high level programming
@ -59,12 +50,6 @@ interface to various calling conventions. This allows a programmer to
call any function specified by a call interface description at run
time.
%post devel
%install_info --info-dir=%{_infodir} %{_infodir}/libffi.info.gz
%preun devel
%install_info_delete --info-dir=%{_infodir} %{_infodir}/libffi.info.gz
%package -n libffi%{libffi_sover}
Summary: Foreign Function Interface Library
Group: System/Libraries
@ -80,37 +65,33 @@ time.
%prep
%setup -q
%patch3 -p1
%build
./autogen.sh
%configure
make %{?_smp_mflags}
%make_build
%check
# do not disable "make check", FIX THE BUGS!
make %{?_smp_mflags} check
%make_build check
%install
make DESTDIR=%{buildroot} install
%make_install
# do not package the static library
rm %{buildroot}%{_libdir}/libffi.a
rm %{buildroot}%{_libdir}/libffi.la
%files devel
%defattr(-,root,root)
%{_libdir}/libffi.so
%{_prefix}/include/ffi.h
%{_prefix}/include/ffitarget.h
%{_includedir}/ffi.h
%{_includedir}/ffitarget.h
%{_libdir}/pkgconfig/libffi.pc
%doc %{_mandir}/man3/ffi.3.gz
%doc %{_mandir}/man3/ffi_call.3.gz
%doc %{_mandir}/man3/ffi_prep_cif.3.gz
%doc %{_mandir}/man3/ffi_prep_cif_var.3.gz
%doc %{_infodir}/libffi.info.gz
%{_mandir}/man3/ffi.3%{?ext_man}
%{_mandir}/man3/ffi_call.3%{?ext_man}
%{_mandir}/man3/ffi_prep_cif.3%{?ext_man}
%{_mandir}/man3/ffi_prep_cif_var.3%{?ext_man}
%{_infodir}/libffi.info%{?ext_info}
%files -n libffi%{libffi_sover}
%defattr(-,root,root)
%license LICENSE
%{_libdir}/libffi.so.%{libffi_sover}*