libffi/libffi.spec

238 lines
6.5 KiB
RPMSpec
Raw Normal View History

2019-09-30 10:56:03 -04:00
Name: libffi
Version: 3.4.2
Release: 9
2019-09-30 10:56:03 -04:00
Summary: A Portable Foreign Function Interface Library
License: MIT
URL: http://sourceware.org/libffi
2021-12-02 19:43:27 +08:00
Source0: https://github.com/libffi/libffi/releases/download/v%{version}/%{name}-%{version}.tar.gz
Source1: ffi-multilib.h
Source2: ffitarget-multilib.h
2019-09-30 10:56:03 -04:00
Patch0: backport-x86-64-Always-double-jump-table-slot-size-for-CET-71.patch
Patch1: backport-Fix-check-for-invalid-varargs-arguments-707.patch
Patch2: libffi-Add-sw64-architecture.patch
Patch3: backport-Fix-signed-vs-unsigned-comparison.patch
Patch4: riscv-extend-return-types-smaller-than-ffi_arg-680.patch
Patch5: fix-AARCH64EB-support.patch
Patch6: backport-fix-x86-ffi64-calls-with-6-gp-and-some-sse-registers.patch
Patch7: backport-Robustify-floating-point-comparison-in-test.patch
Patch8: backport-Fix-floating-point-compare.patch
BuildRequires: gcc gcc-c++ dejagnu
BuildRequires: make
2019-09-30 10:56:03 -04:00
%description
Compilers for high level languages generate code that follows 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 libffi
Requires: %{name} = %{version}-%{release}
Requires: pkgconfig
%description devel
The devel package with header files and libraries is for developing apps which needs libffi.
%package help
Summary: libffi help
Requires: info
BuildArch: noarch
%description help
The help package contains man files.
%prep
%autosetup -p1 -n %{name}-%{version}
2019-09-30 10:56:03 -04:00
%build
%configure \
%ifarch riscv64
--disable-multi-os-directory \
%endif
2021-12-02 19:43:27 +08:00
--disable-static --disable-exec-static-tramp
2020-01-08 16:24:31 +08:00
%make_build
2019-09-30 10:56:03 -04:00
%install
2020-01-08 16:24:31 +08:00
%make_install
%delete_la
2020-01-13 23:53:51 +08:00
2019-09-30 10:56:03 -04:00
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
%ldconfig_scriptlets
%check
2021-12-02 19:43:27 +08:00
%make_build check
2019-09-30 10:56:03 -04:00
%post help
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/libffi.info.gz || :
%preun help
if [ $1 = 0 ] ;then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libffi.info.gz || :
fi
%files
%license LICENSE
%{_libdir}/*.so.*
2020-01-13 23:53:51 +08:00
2019-09-30 10:56:03 -04:00
%files devel
%{_libdir}/pkgconfig/*.pc
%{_includedir}/ffi*.h
%{_libdir}/*.so
%files help
%{_mandir}/man3/*.gz
%{_infodir}/libffi.info.gz
%changelog
* Mon Jan 13 2025 shixuantong <shixuantong1@huawei.com> - 3.4.2-9
- Type:bugfix
- CVE:NA
- SUG:NA
- DESC:Fix x86/ffi64 calls with 6 gp and some sse registers
Robustify floating point comparison in test
Fix floating point compare
* Tue Nov 14 2023 zhangruifang<zhangruifang1@h-partners.com> - 3.4.2-8
- revert version to 3.4.2-8
- compatibility issues exist between versions
2023-10-26 10:32:48 +08:00
* Thu Oct 26 2023 zhangruifang<zhangruifang1@h-partners.com> - 3.4.4-1
- Type:enhancement
- CVE:NA
- SUG:NA
- DESC:update version to 3.4.4
* Mon Apr 10 2023 shixin <shixin21@huawei.com> - 3.4.2-8
- Type:bugfix
- CVE:NA
- SUG:NA
- DESC:Fix AARCH64EB support
* Wed Mar 29 2023 laokz <zhangkai@iscas.ac.cn> - 3.4.2-7
- Type:bugfix
- CVE:NA
- SUG:NA
- DESC:Backport upstream patch to fix riscv %check error
2023-03-23 11:16:16 +08:00
* Thu Mar 23 2023 fuanan <fuanan3@h-partners.com> - 3.4.2-6
- Type:bugfix
- CVE:NA
- SUG:NA
- DESC:backport patches from upstream
* Wed Dec 14 2022 yixiangzhike <yixiangzhike007@163.com> - 3.4.2-5
- Type:bugfix
- CVE:NA
- SUG:NA
- DESC:Add BuildRequires:make
* Fri Oct 21 2022 wuzx<wuzx1226@qq.com> - 3.4.2-4
- Type:feature
- CVE:NA
- SUG:NA
- DESC:Add sw64 architecture
* Sat Aug 27 2022 yixiangzhike <yixiangzhike007@163.com> - 3.4.2-3
- Type:bugfix
- CVE:NA
- SUG:NA
- DESC:backport patches from upstream
* Tue Mar 15 2022 panxiaohe<panxh.life@foxmail.com> - 3.4.2-2
- delete useless old version dynamic library
2021-12-02 19:43:27 +08:00
* Fri Dec 3 2021 panxiaohe<panxiaohe@huawei.com> - 3.4.2-1
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:update version to 3.4.2
2021-07-20 10:01:41 +08:00
* Thu Jul 22 2021 panxiaohe<panxiaohe@huawei.com> - 3.3-11
- remove unnecessary BuildRequires: gdb
* Wed Nov 25 2020 openeuler-ci-bot <noreply@gitee.com> - 3.3-10
- append patch file of upstream repository from <e70bf987daa7b7b5df2de7579d5c51a888e8bf7d> to <e70bf987daa7b7b5df2de7579d5c51a888e8bf7d>
* Thu Jul 23 2020 Zhipeng Xie<xiezhipeng1@huawei.com> - 3.3-9
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:fix URL
* Sat May 28 2020 whoisxxx<zhangxuzhou4@huawei.com> - 3.3-8
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:Disable multi os directory to avoid compile failure for RISC-V
2020-03-21 14:51:34 +08:00
* Sat Mar 21 2020 chengquan<chengquan3@huawei.com> - 3.3-7
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:add necessary BuildRequires
* Mon Jan 20 2020 chengquan<chengquan3@huawei.com> - 3.3-6
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:Remove temporary dynamic library solution
2020-01-15 05:45:05 +08:00
* Wed Jan 15 2020 chengquan<chengquan3@huawei.com> - 3.3-5
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:fixbug in python3 installation
* Wed Jan 15 2020 chengquan<chengquan3@huawei.com> - 3.3-4
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:remove dynamic library from main package
2020-01-14 22:48:29 +08:00
* Tue Jan 14 2020 chengquan<chengquan3@huawei.com> - 3.3-3
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:update dynamic library
* Tue Jan 14 2020 chengquan<chengquan3@huawei.com> - 3.3-2
2020-01-13 23:53:51 +08:00
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:fix bug in update dynamic library
2020-01-08 16:24:31 +08:00
* Wed Jan 8 2020 chengquan<chengquan3@huawei.com> - 3.3-1
- Type:enhancement
- ID:NA
- SUG:NA
2021-07-20 10:01:41 +08:00
- DESC:update software to 3.3
2020-01-08 16:24:31 +08:00
2019-11-06 19:38:19 +08:00
* Fri Oct 11 2019 hanzhijun<hanzhijun1@huawei.com> - 3.2.1-1
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:update to 3.2.1
2019-09-30 10:56:03 -04:00
* Mon Sep 09 2019 openEuler Buildteam <buildteam@openeuler.org> - 3.1-19
2021-07-20 10:01:41 +08:00
- Package init