Toshaan Bharvani
2 years ago
commit
c812460361
3 changed files with 359 additions and 0 deletions
@ -0,0 +1,23 @@ |
|||||||
|
/* This file is here to prevent a file conflict on multiarch systems. */ |
||||||
|
#ifdef ffi_wrapper_h |
||||||
|
#error "Do not define ffi_wrapper_h!" |
||||||
|
#endif |
||||||
|
#define ffi_wrapper_h |
||||||
|
|
||||||
|
#if defined(__i386__) |
||||||
|
#include "ffi-i386.h" |
||||||
|
#elif defined(__powerpc64__) |
||||||
|
#include "ffi-ppc64.h" |
||||||
|
#elif defined(__powerpc__) |
||||||
|
#include "ffi-ppc.h" |
||||||
|
#elif defined(__s390x__) |
||||||
|
#include "ffi-s390x.h" |
||||||
|
#elif defined(__s390__) |
||||||
|
#include "ffi-s390.h" |
||||||
|
#elif defined(__x86_64__) |
||||||
|
#include "ffi-x86_64.h" |
||||||
|
#else |
||||||
|
#error "The libffi-devel package is not usable with the architecture." |
||||||
|
#endif |
||||||
|
|
||||||
|
#undef ffi_wrapper_h |
@ -0,0 +1,23 @@ |
|||||||
|
/* This file is here to prevent a file conflict on multiarch systems. */ |
||||||
|
#ifdef ffitarget_wrapper_h |
||||||
|
#error "Do not define ffitarget_wrapper_h!" |
||||||
|
#endif |
||||||
|
#define ffitarget_wrapper_h |
||||||
|
|
||||||
|
#if defined(__i386__) |
||||||
|
#include "ffitarget-i386.h" |
||||||
|
#elif defined(__powerpc64__) |
||||||
|
#include "ffitarget-ppc64.h" |
||||||
|
#elif defined(__powerpc__) |
||||||
|
#include "ffitarget-ppc.h" |
||||||
|
#elif defined(__s390x__) |
||||||
|
#include "ffitarget-s390x.h" |
||||||
|
#elif defined(__s390__) |
||||||
|
#include "ffitarget-s390.h" |
||||||
|
#elif defined(__x86_64__) |
||||||
|
#include "ffitarget-x86_64.h" |
||||||
|
#else |
||||||
|
#error "The libffi-devel package is not usable with the architecture." |
||||||
|
#endif |
||||||
|
|
||||||
|
#undef ffitarget_wrapper_h |
@ -0,0 +1,313 @@ |
|||||||
|
%bcond_with bootstrap |
||||||
|
|
||||||
|
%global multilib_arches %{ix86} x86_64 |
||||||
|
|
||||||
|
Name: libffi |
||||||
|
Version: 3.4.2 |
||||||
|
Release: 7%{?dist} |
||||||
|
Summary: A portable foreign function interface library |
||||||
|
License: MIT |
||||||
|
URL: http://sourceware.org/libffi |
||||||
|
|
||||||
|
Source0: https://github.com/libffi/libffi/releases/download/v3.4.2/libffi-3.4.2.tar.gz |
||||||
|
Source1: ffi-multilib.h |
||||||
|
Source2: ffitarget-multilib.h |
||||||
|
|
||||||
|
BuildRequires: make |
||||||
|
BuildRequires: gcc |
||||||
|
%if %{without bootstrap} |
||||||
|
BuildRequires: gcc-c++ |
||||||
|
BuildRequires: dejagnu |
||||||
|
%endif |
||||||
|
|
||||||
|
%description |
||||||
|
Compilers for high level languages generate code that follow certain |
||||||
|
conventions. These conventions are necessary, in part, for separate |
||||||
|
compilation to work. One such convention is the "calling convention". |
||||||
|
The calling convention is a set of assumptions made by the compiler |
||||||
|
about where function arguments will be found on entry to a function. A |
||||||
|
calling convention also specifies where the return value for a function |
||||||
|
is found. |
||||||
|
|
||||||
|
Some programs may not know at the time of compilation what arguments |
||||||
|
are to be passed to a function. For instance, an interpreter may be |
||||||
|
told at run-time about the number and types of arguments used to call a |
||||||
|
given function. `Libffi' can be used in such programs to provide a |
||||||
|
bridge from the interpreter program to compiled code. |
||||||
|
|
||||||
|
The `libffi' library provides a portable, high level programming |
||||||
|
interface to various calling conventions. This allows a programmer to |
||||||
|
call any function specified by a call interface description at run time. |
||||||
|
|
||||||
|
FFI stands for Foreign Function Interface. A foreign function |
||||||
|
interface is the popular name for the interface that allows code |
||||||
|
written in one language to call code written in another language. The |
||||||
|
`libffi' library really only provides the lowest, machine dependent |
||||||
|
layer of a fully featured foreign function interface. A layer must |
||||||
|
exist above `libffi' that handles type conversions for values passed |
||||||
|
between the two languages. |
||||||
|
|
||||||
|
%package devel |
||||||
|
Summary: Development files for %{name} |
||||||
|
Requires: %{name} = %{version}-%{release} |
||||||
|
Requires: pkgconfig |
||||||
|
|
||||||
|
%description devel |
||||||
|
The %{name}-devel package contains libraries and header files for |
||||||
|
developing applications that use %{name}. |
||||||
|
|
||||||
|
%prep |
||||||
|
%setup -q |
||||||
|
|
||||||
|
%build |
||||||
|
# For now we disable the static templates to avoid ghc and |
||||||
|
# gobject-introspection failures: |
||||||
|
# https://gitlab.haskell.org/ghc/ghc/-/issues/20051 |
||||||
|
# https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/283 |
||||||
|
# We need to get these fixes into Fedora before we can reeanble them. |
||||||
|
%configure --disable-static --disable-exec-static-tramp |
||||||
|
%make_build |
||||||
|
|
||||||
|
%check |
||||||
|
%if %{without bootstrap} |
||||||
|
%make_build check |
||||||
|
%endif |
||||||
|
|
||||||
|
%install |
||||||
|
%make_install |
||||||
|
|
||||||
|
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' |
||||||
|
rm -f $RPM_BUILD_ROOT%{_infodir}/dir |
||||||
|
|
||||||
|
# Determine generic arch target name for multilib wrapper |
||||||
|
basearch=%{_arch} |
||||||
|
%ifarch %{ix86} |
||||||
|
basearch=i386 |
||||||
|
%endif |
||||||
|
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_includedir} |
||||||
|
%ifarch %{multilib_arches} |
||||||
|
# Do header file switcheroo to avoid file conflicts on systems where you |
||||||
|
# can have both a 32- and 64-bit version of the library, and they each need |
||||||
|
# their own correct-but-different versions of the headers to be usable. |
||||||
|
for i in ffi ffitarget; do |
||||||
|
mv $RPM_BUILD_ROOT%{_includedir}/$i.h $RPM_BUILD_ROOT%{_includedir}/$i-${basearch}.h |
||||||
|
done |
||||||
|
install -m644 %{SOURCE1} $RPM_BUILD_ROOT%{_includedir}/ffi.h |
||||||
|
install -m644 %{SOURCE2} $RPM_BUILD_ROOT%{_includedir}/ffitarget.h |
||||||
|
%endif |
||||||
|
|
||||||
|
%ldconfig_scriptlets |
||||||
|
|
||||||
|
%files |
||||||
|
%license LICENSE |
||||||
|
%doc README.md |
||||||
|
%{_libdir}/libffi.so.8 |
||||||
|
%{_libdir}/libffi.so.8.1.0 |
||||||
|
|
||||||
|
%files devel |
||||||
|
%{_libdir}/pkgconfig/*.pc |
||||||
|
%{_includedir}/ffi*.h |
||||||
|
%{_libdir}/*.so |
||||||
|
%{_mandir}/man3/*.gz |
||||||
|
%{_infodir}/libffi.info.* |
||||||
|
|
||||||
|
%changelog |
||||||
|
* Thu Aug 26 2021 Carlos O'Donell <codonell@redhat.com> - 3.4.2-7 |
||||||
|
- Remove compat-libffi3.1 subpackage to complete SONAME transition. |
||||||
|
Related: rhbz#1891914 |
||||||
|
|
||||||
|
* Wed Aug 18 2021 Carlos O'Donell <carlos@redhat.com> - 3.4.2-6 |
||||||
|
- Rebuilt for libffi 3.4.2 SONAME transition. Related: rhbz#1891914 |
||||||
|
|
||||||
|
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 3.4.2-5 |
||||||
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags |
||||||
|
Related: rhbz#1991688 |
||||||
|
|
||||||
|
* Thu Jul 29 2021 Carlos O'Donell <carlos@redhat.com> - 3.4.2-4 |
||||||
|
- Drop pkgconf support for compat-libffi3.1. |
||||||
|
|
||||||
|
* Tue Jul 27 2021 Carlos O'Donell <carlos@redhat.com> - 3.4.2-3 |
||||||
|
- Add temporary compat-libffi3.1 for library transition. |
||||||
|
|
||||||
|
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.2-2 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild |
||||||
|
|
||||||
|
* Mon Jun 28 2021 Carlos O'Donell <carlos@redhat.com> - 3.4.2-1 |
||||||
|
- Rebase to libffi 3.4.2. |
||||||
|
|
||||||
|
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 3.1-29 |
||||||
|
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 |
||||||
|
|
||||||
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-28 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild |
||||||
|
|
||||||
|
* Wed Dec 02 2020 Carlos O'Donell <carlos@redhat.com> - 3.1-27 |
||||||
|
- Use make macros |
||||||
|
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro |
||||||
|
|
||||||
|
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-26 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild |
||||||
|
|
||||||
|
* Thu Apr 30 2020 DJ Delorie <idj@redhat.com> - 3.1-25 |
||||||
|
- Add $LIBFFI_TMPDIR environment variable support (#1667620) |
||||||
|
|
||||||
|
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-24 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild |
||||||
|
|
||||||
|
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-23 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild |
||||||
|
|
||||||
|
* Tue Jul 9 2019 Florian Weimer <fweimer@redhat.com> - 3.1-22 |
||||||
|
- Run test suite during build (#1727088) |
||||||
|
|
||||||
|
* Wed Jun 19 2019 Anthony Green <green@redhat.com> - 3.1-21 |
||||||
|
- Fix license tag |
||||||
|
|
||||||
|
* Wed Apr 24 2019 Björn Esser <besser82@fedoraproject.org> - 3.1-20 |
||||||
|
- Remove hardcoded gzip suffix from GNU info pages |
||||||
|
|
||||||
|
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-19 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild |
||||||
|
|
||||||
|
* Sun Jul 22 2018 Peter Robinson <pbrobinson@fedoraproject.org> 3.1-28 |
||||||
|
- Fix FTBFS |
||||||
|
|
||||||
|
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-17 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild |
||||||
|
|
||||||
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-16 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild |
||||||
|
|
||||||
|
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.1-15 |
||||||
|
- Switch to %%ldconfig_scriptlets |
||||||
|
|
||||||
|
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-14 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild |
||||||
|
|
||||||
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-13 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild |
||||||
|
|
||||||
|
* Wed Jul 5 2017 Jens Petersen <petersen@redhat.com> - 3.1-12 |
||||||
|
- protect install-info in the rpm scriptlets |
||||||
|
https://fedoraproject.org/wiki/Packaging:Scriptlets#Texinfo |
||||||
|
|
||||||
|
* Tue Jun 20 2017 Anthony Green <green@redhat.com> - 3.1-11 |
||||||
|
- fix exec stack problem on aarch64 build |
||||||
|
|
||||||
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-10 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild |
||||||
|
|
||||||
|
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-9 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild |
||||||
|
|
||||||
|
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1-8 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild |
||||||
|
|
||||||
|
* Thu Jan 15 2015 Peter Robinson <pbrobinson@fedoraproject.org> 3.1-7 |
||||||
|
- Add patch to fix issues on aarch64 (rhbz 1174037) |
||||||
|
|
||||||
|
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1-6 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild |
||||||
|
|
||||||
|
* Thu Jul 17 2014 Tom Callaway <spot@fedoraproject.org> - 3.1-5 |
||||||
|
- fix license handling |
||||||
|
|
||||||
|
* Sun Jun 29 2014 Anthony Green <green@redhat.com> - 3.1-4 |
||||||
|
- fix exec stack problem on 32-bit build |
||||||
|
|
||||||
|
* Thu Jun 12 2014 Dan Horák <dan[at]danny.cz> - 3.1-3 |
||||||
|
- fix header path in pkgconfig file |
||||||
|
|
||||||
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1-2 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild |
||||||
|
|
||||||
|
* Mon May 19 2014 Anthony Green <green@redhat.com> - 3.1-1 |
||||||
|
- fix non-multiarch builds (arm). |
||||||
|
|
||||||
|
* Mon May 19 2014 Anthony Green <green@redhat.com> - 3.1-0 |
||||||
|
- update to 3.1. |
||||||
|
|
||||||
|
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.13-5 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild |
||||||
|
|
||||||
|
* Tue May 28 2013 Tom Callaway <spot@fedoraproject.org> - 3.0.13-4 |
||||||
|
- fix typos in wrapper headers |
||||||
|
|
||||||
|
* Mon May 27 2013 Tom Callaway <spot@fedoraproject.org> - 3.0.13-3 |
||||||
|
- make header files multilib safe |
||||||
|
|
||||||
|
* Sat May 25 2013 Tom Callaway <spot@fedoraproject.org> - 3.0.13-2 |
||||||
|
- fix incorrect header pathing (and .pc file) |
||||||
|
|
||||||
|
* Wed Mar 20 2013 Anthony Green <green@redhat.com> - 3.0.13-1 |
||||||
|
- update to 3.0.13 |
||||||
|
|
||||||
|
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.11-2 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild |
||||||
|
|
||||||
|
* Mon Jan 14 2013 Dennis Gilmore <dennis@ausil.us> - 3.0.11-1 |
||||||
|
- update to 3.0.11 |
||||||
|
|
||||||
|
* Fri Nov 02 2012 Deepak Bhole <dbhole@redhat.com> - 3.0.10-4 |
||||||
|
- Fixed source location |
||||||
|
|
||||||
|
* Fri Aug 10 2012 Dennis Gilmore <dennis@ausil.us> - 3.0.10-3 |
||||||
|
- drop back to 3.0.10, 3.0.11 was never pushed anywhere as the soname bump broke buildroots |
||||||
|
- as 3.0.11 never went out no epoch needed. |
||||||
|
|
||||||
|
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.11-2 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild |
||||||
|
|
||||||
|
* Fri Apr 13 2012 Anthony Green <green@redhat.com> - 3.0.11-1 |
||||||
|
- Upgrade to 3.0.11. |
||||||
|
|
||||||
|
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.10-2 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild |
||||||
|
|
||||||
|
* Tue Aug 23 2011 Anthony Green <green@redhat.com> - 3.0.10-1 |
||||||
|
- Upgrade to 3.0.10. |
||||||
|
|
||||||
|
* Fri Mar 18 2011 Dan Horák <dan[at]danny.cz> - 3.0.9-3 |
||||||
|
- added patch for being careful when defining relatively generic symbols |
||||||
|
|
||||||
|
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.9-2 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild |
||||||
|
|
||||||
|
* Tue Dec 29 2009 Anthony Green <green@redhat.com> - 3.0.9-1 |
||||||
|
- Upgrade |
||||||
|
|
||||||
|
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.5-3 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild |
||||||
|
|
||||||
|
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.5-2 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild |
||||||
|
|
||||||
|
* Tue Jul 08 2008 Anthony Green <green@redhat.com> 3.0.5-1 |
||||||
|
- Upgrade to 3.0.5 |
||||||
|
|
||||||
|
* Fri Feb 15 2008 Anthony Green <green@redhat.com> 3.0.1-1 |
||||||
|
- Upgrade to 3.0.1 |
||||||
|
|
||||||
|
* Fri Feb 15 2008 Anthony Green <green@redhat.com> 2.99.9-1 |
||||||
|
- Upgrade to 2.99.9 |
||||||
|
- Require pkgconfig for the devel package. |
||||||
|
- Update summary. |
||||||
|
|
||||||
|
* Fri Feb 15 2008 Anthony Green <green@redhat.com> 2.99.8-1 |
||||||
|
- Upgrade to 2.99.8 |
||||||
|
|
||||||
|
* Thu Feb 14 2008 Anthony Green <green@redhat.com> 2.99.7-1 |
||||||
|
- Upgrade to 2.99.7 |
||||||
|
|
||||||
|
* Thu Feb 14 2008 Anthony Green <green@redhat.com> 2.99.6-1 |
||||||
|
- Upgrade to 2.99.6 |
||||||
|
|
||||||
|
* Thu Feb 14 2008 Anthony Green <green@redhat.com> 2.99.4-1 |
||||||
|
- Upgrade to 2.99.4 |
||||||
|
|
||||||
|
* Thu Feb 14 2008 Anthony Green <green@redhat.com> 2.99.3-1 |
||||||
|
- Upgrade to 2.99.3 |
||||||
|
|
||||||
|
* Thu Feb 14 2008 Anthony Green <green@redhat.com> 2.99.2-1 |
||||||
|
- Created. |
Loading…
Reference in new issue