From 882da0cba8b76f9927f97f72850b875380de1e02 Mon Sep 17 00:00:00 2001 From: CentOS Buildsys Date: Aug 22 2013 19:21:07 +0000 Subject: import libffi-3.0.13-7.el7.src.rpm --- diff --git a/.libffi.metadata b/.libffi.metadata new file mode 100644 index 0000000..bbab390 --- /dev/null +++ b/.libffi.metadata @@ -0,0 +1 @@ +f5230890dc0be42fb5c58fbf793da253155de106 SOURCES/libffi-3.0.13.tar.gz diff --git a/README.md b/README.md deleted file mode 100644 index 0e7897f..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 - -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/ffi-multilib.h b/SOURCES/ffi-multilib.h new file mode 100644 index 0000000..50a6226 --- /dev/null +++ b/SOURCES/ffi-multilib.h @@ -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 diff --git a/SOURCES/ffitarget-multilib.h b/SOURCES/ffitarget-multilib.h new file mode 100644 index 0000000..b2ed545 --- /dev/null +++ b/SOURCES/ffitarget-multilib.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 diff --git a/SOURCES/libffi-3.0.13-fix-include-path.patch b/SOURCES/libffi-3.0.13-fix-include-path.patch new file mode 100644 index 0000000..4502333 --- /dev/null +++ b/SOURCES/libffi-3.0.13-fix-include-path.patch @@ -0,0 +1,34 @@ +diff -up libffi-3.0.13/include/Makefile.am.fixpath libffi-3.0.13/include/Makefile.am +--- libffi-3.0.13/include/Makefile.am.fixpath 2013-05-25 22:11:25.983889342 -0400 ++++ libffi-3.0.13/include/Makefile.am 2013-05-25 22:12:12.337890037 -0400 +@@ -5,5 +5,5 @@ AUTOMAKE_OPTIONS=foreign + DISTCLEANFILES=ffitarget.h + EXTRA_DIST=ffi.h.in ffi_common.h + +-includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include ++includesdir = $(includedir)/ + nodist_includes_HEADERS = ffi.h ffitarget.h +diff -up libffi-3.0.13/include/Makefile.in.fixpath libffi-3.0.13/include/Makefile.in +--- libffi-3.0.13/include/Makefile.in.fixpath 2013-05-25 22:12:56.259890696 -0400 ++++ libffi-3.0.13/include/Makefile.in 2013-05-25 22:13:12.101890934 -0400 +@@ -250,7 +250,7 @@ top_srcdir = @top_srcdir@ + AUTOMAKE_OPTIONS = foreign + DISTCLEANFILES = ffitarget.h + EXTRA_DIST = ffi.h.in ffi_common.h +-includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include ++includesdir = $(includedir)/ + nodist_includes_HEADERS = ffi.h ffitarget.h + all: all-am + +diff -up libffi-3.0.13/libffi.pc.in.fixpath libffi-3.0.13/libffi.pc.in +--- libffi-3.0.13/libffi.pc.in.fixpath 2013-05-25 22:14:21.037891968 -0400 ++++ libffi-3.0.13/libffi.pc.in 2013-05-25 22:14:31.652892128 -0400 +@@ -1,7 +1,7 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ + libdir=@libdir@ +-includedir=${libdir}/@PACKAGE_NAME@-@PACKAGE_VERSION@/include ++includedir=@includedir@ + + Name: @PACKAGE_NAME@ + Description: Library supporting Foreign Function Interfaces diff --git a/SPECS/libffi.spec b/SPECS/libffi.spec new file mode 100644 index 0000000..6b8c3a6 --- /dev/null +++ b/SPECS/libffi.spec @@ -0,0 +1,213 @@ +%global multilib_arches %{ix86} ppc %{power64} s390 s390x x86_64 + +Name: libffi +Version: 3.0.13 +Release: 7%{?dist} +Summary: A portable foreign function interface library + +Group: System Environment/Libraries +License: MIT and Public Domain +URL: http://sourceware.org/libffi +Source0: ftp://sourceware.org/pub/libffi/libffi-%{version}.tar.gz +# part of upstream commit 5feacad4 +Source1: ffi-multilib.h +Source2: ffitarget-multilib.h +Patch0: libffi-3.0.13-fix-include-path.patch +# part of upstream commit 5feacad4 +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +%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} +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires: pkgconfig +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + + +%prep +%setup -q +%patch0 -p1 -b .fixpath + + +%build +%configure --disable-static +make %{?_smp_mflags} + + +%install +rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT +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 + +%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 + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%post -p /sbin/ldconfig + +%post devel +/sbin/install-info --info-dir=%{_infodir} %{_infodir}/libffi.info.gz + +%preun devel +if [ $1 = 0 ] ;then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libffi.info.gz +fi + +%postun -p /sbin/ldconfig + + +%files +%defattr(-,root,root,-) +%doc LICENSE README +%{_libdir}/*.so.* + +%files devel +%defattr(-,root,root,-) +%{_libdir}/pkgconfig/*.pc +%{_includedir}/ffi*.h +%{_libdir}/*.so +%{_mandir}/man3/*.gz +%{_infodir}/libffi.info.gz + +%changelog +* Thu Aug 22 2013 Deepak Bhole - 3.0.13-7 +- Removed temporarily introduced compat package for OpenJDk6 bootstrap + +* Wed Aug 21 2013 Deepak Bhole - 3.0.13-6 +- Temporarily build with a .so.5 compat package to allow OpenJDK6 bootstrap + +* Mon Jul 15 2013 Jon VanAlten - 3.0.13-5 +- Correct spec license + +* Tue May 28 2013 Tom Callaway - 3.0.13-4 +- fix typos in wrapper headers + +* Mon May 27 2013 Tom Callaway - 3.0.13-3 +- make header files multilib safe + +* Sat May 25 2013 Tom Callaway - 3.0.13-2 +- fix incorrect header pathing (and .pc file) + +* Wed Mar 20 2013 Anthony Green - 3.0.13-1 +- update to 3.0.13 + +* Thu Feb 14 2013 Fedora Release Engineering - 3.0.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Mon Jan 14 2013 Dennis Gilmore - 3.0.11-1 +- update to 3.0.11 + +* Fri Nov 02 2012 Deepak Bhole - 3.0.10-4 +- Fixed source location + +* Fri Aug 10 2012 Dennis Gilmore - 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 - 3.0.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Apr 13 2012 Anthony Green - 3.0.11-1 +- Upgrade to 3.0.11. + +* Fri Jan 13 2012 Fedora Release Engineering - 3.0.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Aug 23 2011 Anthony Green - 3.0.10-1 +- Upgrade to 3.0.10. + +* Fri Mar 18 2011 Dan HorĂ¡k - 3.0.9-3 +- added patch for being careful when defining relatively generic symbols + +* Mon Feb 07 2011 Fedora Release Engineering - 3.0.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Dec 29 2009 Anthony Green - 3.0.9-1 +- Upgrade + +* Fri Jul 24 2009 Fedora Release Engineering - 3.0.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Feb 25 2009 Fedora Release Engineering - 3.0.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Tue Jul 08 2008 Anthony Green 3.0.5-1 +- Upgrade to 3.0.5 + +* Fri Feb 15 2008 Anthony Green 3.0.1-1 +- Upgrade to 3.0.1 + +* Fri Feb 15 2008 Anthony Green 2.99.9-1 +- Upgrade to 2.99.9 +- Require pkgconfig for the devel package. +- Update summary. + +* Fri Feb 15 2008 Anthony Green 2.99.8-1 +- Upgrade to 2.99.8 + +* Thu Feb 14 2008 Anthony Green 2.99.7-1 +- Upgrade to 2.99.7 + +* Thu Feb 14 2008 Anthony Green 2.99.6-1 +- Upgrade to 2.99.6 + +* Thu Feb 14 2008 Anthony Green 2.99.4-1 +- Upgrade to 2.99.4 + +* Thu Feb 14 2008 Anthony Green 2.99.3-1 +- Upgrade to 2.99.3 + +* Thu Feb 14 2008 Anthony Green 2.99.2-1 +- Created.