diff --git a/_service b/_service
deleted file mode 100644
index 1c7e09e..0000000
--- a/_service
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
- git
- https://github.com/libffi/libffi
- master
- libffi
- v3.3
- 3.3.git@TAG_OFFSET@
-
-
- *.tar
- xz
-
-
-
diff --git a/aarch64.patch b/aarch64.patch
deleted file mode 100644
index 8add6bc..0000000
--- a/aarch64.patch
+++ /dev/null
@@ -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;
-
diff --git a/libffi-3.3.git30.tar.xz b/libffi-3.3.git30.tar.xz
deleted file mode 100644
index 0583bba..0000000
--- a/libffi-3.3.git30.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7fe63972a44c8024d69959f1db11e3198d44721209cc1afd98b60da1ea7335e4
-size 383940
diff --git a/libffi-3.4.2.tar.gz b/libffi-3.4.2.tar.gz
new file mode 100644
index 0000000..188aeed
--- /dev/null
+++ b/libffi-3.4.2.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:540fb721619a6aba3bdeef7d940d8e9e0e6d2c193595bc243241b77ff9e93620
+size 1351355
diff --git a/libffi.changes b/libffi.changes
index 28dfbf6..0645966 100644
--- a/libffi.changes
+++ b/libffi.changes
@@ -1,3 +1,21 @@
+-------------------------------------------------------------------
+Fri Nov 26 21:41:22 UTC 2021 - Dirk Müller
+
+- 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
diff --git a/libffi.spec b/libffi.spec
index e647f1a..e0aaccb 100644
--- a/libffi.spec
+++ b/libffi.spec
@@ -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}*