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