Summary: Open Programmable Acceleration Engine (OPAE) SDK Name: opae Version: 1.4.1 Release: 11%{?dist} License: BSD and MIT ExclusiveArch: x86_64 URL: https://github.com/OPAE/%{name}-sdk Source0: https://github.com/OPAE/opae-sdk/releases/download/%{version}-1/%{name}-%{version}-1.tar.gz Patch01: 0001-Do-not-install-static-libraries.patch Patch02: improve-library-link.patch Patch03: 0001-Reinclude-fpgaport-in-tools.patch Patch04: 0002-Add-support-for-public-dfl-driver-to-fpgaport.patch Patch05: 0001-Import-fpgad-from-opae-legacy.patch Patch06: 0001-Fix-possible-buffer-overflow.patch BuildRequires: gcc, gcc-c++ BuildRequires: cmake, make BuildRequires: python3-devel BuildRequires: json-c-devel BuildRequires: libuuid-devel BuildRequires: rpm-build BuildRequires: hwloc-devel BuildRequires: doxygen %description Open Programmable Acceleration Engine (OPAE) is a software framework for managing and accessing programmable accelerators (FPGAs). Its main parts are: * OPAE Software Development Kit (OPAE SDK) (this package) * OPAE Linux driver for Intel(R) Xeon(R) CPU with Integrated FPGAs and Intel(R) PAC with Arria(R) 10 GX FPGA * Basic Building Block (BBB) library for accelerating AFU OPAE SDK is a collection of libraries and tools to facilitate the development of software applications and accelerators using OPAE. It provides a library implementing the OPAE C API for presenting a streamlined and easy-to-use interface for software applications to discover, access, and manage FPGA devices and accelerators using the OPAE software stack. %package devel Summary: OPAE headers, sample source, and documentation Requires: libuuid-devel, %{name}%{?_isa} = %{version}-%{release} %description devel OPAE headers, tools, sample source, and documentation %prep %setup -q -n %{name}-%{version}-1 %patch01 -p1 %patch02 -p1 %patch03 -p1 %patch04 -p1 %patch05 -p1 %patch06 -p1 # Remove hidden .clang-format rm opae-libs/tests/xfpga/.clang-format rm tests/.clang-format rm tools/argsfilter/.clang-format %build mkdir -p _build cd _build %cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DOPAE_PRESERVE_REPOS=ON %make_build %install mkdir -p %{buildroot}%{_datadir}/opae cp ./RELEASE_NOTES.md %{buildroot}%{_datadir}/opae/RELEASE_NOTES.md cp ./LICENSE %{buildroot}%{_datadir}/opae/LICENSE cp ./COPYING %{buildroot}%{_datadir}/opae/COPYING # cmake modules mkdir -p %{buildroot}%{_usr}/src/opae/cmake/modules for s in FindSphinx.cmake do cp "cmake/${s}" %{buildroot}%{_usr}/src/opae/cmake/ done mkdir -p %{buildroot}%{_usr}/src/opae/opae-libs/cmake/modules for s in FindHwloc.cmake \ OPAE.cmake \ FindUUID.cmake \ Findjson-c.cmake \ OPAECompiler.cmake \ OPAEGit.cmake \ OPAEPackaging.cmake do cp "opae-libs/cmake/modules/${s}" %{buildroot}%{_usr}/src/opae/opae-libs/cmake/modules done # Samples mkdir -p %{buildroot}%{_usr}/src/opae/samples mkdir -p %{buildroot}%{_usr}/src/opae/samples/hello_fpga/ cp samples/hello_fpga/hello_fpga.c %{buildroot}%{_usr}/src/opae/samples/hello_fpga/ %make_install -C _build %files %dir %{_datadir}/opae %doc %{_datadir}/opae/RELEASE_NOTES.md %license %{_datadir}/opae/LICENSE %license %{_datadir}/opae/COPYING %{_libdir}/libbitstream.so.%{version} %{_libdir}/libbitstream.so.1 %{_libdir}/libfpgad-api.so.%{version} %{_libdir}/libfpgad-api.so.1 %{_libdir}/libopae-c.so.%{version} %{_libdir}/libopae-c.so.1 %{_libdir}/libopae-c-ase.so.%{version} %{_libdir}/libopae-c-ase.so.1 %{_libdir}/libopae-cxx-core.so.%{version} %{_libdir}/libopae-cxx-core.so.1 %post devel %systemd_post fpgad.service %preun devel %systemd_preun fpgad.service %files devel %dir %{_includedir}/opae %dir %{_libdir}/opae %dir %{_usr}/src/opae %dir %{_usr}/src/opae/cmake/ %dir %{_usr}/src/opae/opae-libs/cmake/modules/ %dir %{_usr}/src/opae/samples %config(noreplace) %{_sysconfdir}/opae/fpgad.cfg* %config(noreplace) %{_sysconfdir}/sysconfig/fpgad.conf* %{_bindir}/fpgaconf %{_bindir}/fpgad %{_bindir}/fpgainfo %{_bindir}/fpgaport %{_bindir}/mmlink %{_bindir}/userclk %{_bindir}/hello_fpga %{_bindir}/hello_cxxcore %{_bindir}/afu_json_mgr %{_bindir}/packager %{_includedir}/opae/* %{_libdir}/libbitstream.so %{_libdir}/libfpgad-api.so %{_libdir}/libopae-c.so %{_libdir}/libopae-c-ase.so %{_libdir}/libopae-cxx-core.so %{_libdir}/opae/libboard_rc.so %{_libdir}/opae/libboard_vc.so %{_libdir}/opae/libfpgad-vc.so %{_libdir}/opae/libfpgad-xfpga.so %{_libdir}/opae/libmodbmc.so %{_libdir}/opae/libxfpga.so %{_usr}/share/opae/* %{_usr}/src/opae/samples/hello_fpga/hello_fpga.c %{_usr}/src/opae/cmake/* %{_usr}/src/opae/opae-libs/cmake/modules/* %{_unitdir}/fpgad.service %changelog * Tue Jun 2 2020 Tom Rix - 1.4.1-11 - Changelog date * Tue Jun 2 2020 Tom Rix - 1.4.1-10 - Changelog date * Tue Jun 2 2020 Tom Rix - 1.4.1-9 - Add gating * Thu May 19 2020 Tom Rix - 1.4.1-8 - Fix buffer overflow * Thu May 14 2020 Tom Rix - 1.4.1-7 - Import fpgad from opae-legacy * Wed May 13 2020 Tom Rix - 1.4.1-6 - Import fpgaport from 1.4.0 - Generalize to work with public and intel drivers. * Tue Apr 21 2020 Björn Esser - 1.4.1-5 - Rebuild (json-c) * Tue Apr 21 2020 Tom Rix 1.4.1-4 - Update the sources file * Tue Apr 21 2020 Tom Rix 1.4.1-3 - Update the sources file * Mon Apr 20 2020 Tom Rix 1.4.1-2 - Disable broken documents - Do not install static libs - Improve linking of libopae-cxx-core * Fri Apr 17 2020 Korde Nakul 1.4.1-1 - OPAE git repository layout changes. - Removed Safe String module dependency. - Various bug fixes. - Ported python tools to python3.6. - Various Static code scan bug fixes. - Removed pybind11 3rd component from OPAE source repository. * Tue Mar 10 2020 Tom Rix 1.4.0-6 - Add make as a dependency * Fri Mar 6 2020 Tom Rix 1.4.0-5 - Use make_install macro - Use license tag correctly * Tue Mar 3 2020 Tom Rix 1.4.0-4 - Add libraries to link of libopae-cxx-core libopae-c++-utils - Remove unneeded build flag _smp_mflags * Thu Feb 27 2020 Tom Rix 1.4.0-3 - Remove ldconfig from post and postun - Append dist tag to release tag - Change libsafestr to shared library - Set license tag to location of license files - Remove phython3-sphnix build dependency. - Consolidate samples,tools,tools-extra pkgs into devel - Improve pkg created dir specification - Set x86_64 as ExclusiveArch - Change to runtime to implicit dependency on build *-devel - Remove preun rm of opae-c.conf - Use systemd rpm macros - Add _smp_mflags to build - Use unitdir for fpgad.service path - Distribute the license and copying files * Mon Feb 24 2020 Tom Rix 1.4.0-2 - Change to python3 - Remove release tag from upstream Source0 definition. - Improve requires tag for subpackages - Remove explicit root owner - Remove vendor tag - Remove group tag - Remove clean section * Tue Dec 17 2019 Korde Nakul 1.4.0-1 - Added support to FPGA Linux kernel Device Feature List (DFL) driver patch set2. - Increased test cases and test coverage - Various bug fixes - Various compiler warning fixes - Various memory leak fixes - Various Static code scan bug fixes - Added new FPGA MMIO API to write 512 bits