Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Backports:SLE-15-SP4:FactoryCandidates
opae
opae.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File opae.spec of Package opae
# # spec file for package opae # # Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define with_ase 0 %define with_tests 0 %define with_legacy 0 %define git_ver 1.0.776b2b2718f7 %define lib_opae_major 2 %define lib_hssi_major 1 %define lib_ase_major 1 %define lib_bitstream_major 2 %define lib_fpgad_major 1 %define lib_board_major 1 Name: opae Version: 2.0.0 Release: 0 Summary: Open Programmable Acceleration Engine License: Intel OR MIT Group: Development/Libraries/C and C++ URL: https://github.com/OPAE/opae-sdk Source0: %{name}-%{version}%{git_ver}.tar.bz2 Patch0: opae-missing-shebang.patch Patch1: opae-fix-linking-issue.patch Patch2: opae-support-OBS-build.patch Patch3: opae-libs-fix-macro-indentation.patch Patch4: opae-libs-xfpga-fix-strnlen-argument.patch Patch5: opae-fix-support-with-newer-spdlog.patch Patch6: opae-disable-FORTIFY_SOURCE.patch Patch7: Gcc-13-2858.patch Patch8: gcc14-fixes.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: boost-devel BuildRequires: cli11-devel BuildRequires: cmake BuildRequires: doxygen BuildRequires: fdupes BuildRequires: fdupes BuildRequires: fmt-devel BuildRequires: gcc-c++ BuildRequires: graphviz BuildRequires: hwloc-devel BuildRequires: libjson-c-devel BuildRequires: libuuid-devel BuildRequires: ncurses-devel BuildRequires: python-pybind11-common-devel BuildRequires: python3-devel BuildRequires: python3-pybind11-devel BuildRequires: spdlog-devel >= 1.0 BuildRequires: tbb-devel #Currently *only* builds on x86_64 ExclusiveArch: x86_64 %if 0%{?with_legacy} Requires: libhssi-io%{lib_hssi_major} = %{version} %endif Requires: libopae-c%{lib_opae_major} = %{version} %description OPAE is the Open Programmable Acceleration Engine, a software framework for managing and accessing programmable accelerators (FPGAs). 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: Development files for OPAE SDK Group: Development/Libraries/C and C++ Requires: opae = %{version} %description devel OPAE is the Open Programmable Acceleration Engine, a software framework for managing and accessing programmable accelerators (FPGAs). 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 -n libopae-c%{lib_opae_major} Summary: Open Programmable Acceleration Engine Libraries Group: System/Libraries %description -n libopae-c%{lib_opae_major} Libraries for the Open Programmable Acceleration Engine Libraries tools. %package -n libbitstream%{lib_bitstream_major} Summary: Open Programmable Acceleration Engine Libraries Group: System/Libraries %description -n libbitstream%{lib_bitstream_major} Libraries for the Open Programmable Acceleration Engine Libraries tools. %if 0%{?with_legacy} %package -n libhssi-io%{lib_hssi_major} Summary: Open Programmable Acceleration Engine Libraries Group: System/Libraries %description -n libhssi-io%{lib_hssi_major} Libraries for the Open Programmable Acceleration Engine Libraries tools. %endif %if 0%{?with_ase} %package ase Summary: OPAE AFU Simulation Environment Group: System/Base %description ase This package contains OPAE AFU Simulation Environment %package -n libase%{lib_ase_major} Summary: OPAE Simulation Environment Libraries Group: System/Libraries %description -n libase%{lib_ase_major} Libraries for the OPAE Simulation environment. %endif %if 0%{?with_tests} %package -n libfpgad-api%{lib_fpgad_major} Summary: Open Programmable Acceleration Engine Libraries Group: System/Libraries %description -n libfpgad-api%{lib_fpgad_major} Libraries for the Open Programmable Acceleration Engine Libraries tools. %endif %prep %autosetup -p0 -n %{name}-%{version}%{git_ver} %build export RPM_OPT_FLAGS %cmake -DCMAKE_BUILD_TYPE=Release \ -DPYTHON_EXECUTABLE=/usr/bin/python3 \ -DCMAKE_C_FLAGS="-Wno-format-truncation -Wno-address-of-packed-member" \ -DOPAE_PRESERVE_REPOS=ON -DOPAE_OBS_BUILD=ON %make_build all VERBOSE=1 %{?_smp_mflags} %install %cmake_install VERBOSE=1 V=1 rm -f %{buildroot}%{_libdir}/libsafestr.a rm -f %{buildroot}%{_libdir}/libargsfilter.a rm -Rf %{buildroot}%{_includedir}/safe_string # This is used by the other .so in libdir/opae/*.so but we do not need the static lib anymore rm -f %{buildroot}%{_libdir}/libboard_common.a # Fix install path for opae samples mkdir -p %{buildroot}%{_datarootdir}/opae/ mv %{buildroot}/usr/src/opae/samples %{buildroot}%{_datarootdir}/opae/ # Install cmake macros mkdir -p %{buildroot}%{_datarootdir}/cmake/Modules/OPAE for s in FindSphinx.cmake do install -m0644 "cmake/${s}" %{buildroot}%{_datarootdir}/cmake/Modules/OPAE done for s in FindHwloc.cmake \ OPAE.cmake \ FindUUID.cmake \ Findjson-c.cmake \ OPAECompiler.cmake \ OPAEGit.cmake \ OPAEPackaging.cmake do install -m0644 "opae-libs/cmake/modules/${s}" %{buildroot}%{_datarootdir}/cmake/Modules/OPAE done # Drop hidden travis file from python json rm -f %{buildroot}%{_datarootdir}/opae/python/jsonschema-*/.travis.yml %fdupes %{buildroot}/%{_prefix} %if 0%{?with_tests} # Direct install to sysconfig is forbidden mkdir -p %{buildroot}/%{_fillupdir} mv %{buildroot}%{_sysconfdir}/sysconfig/fpgad.conf %{buildroot}/%{_fillupdir}/sysconfig.fpgad # For some unfathomable reason with_ase script is installed twice through a hardlink. # Use some sed voodoo to force the files to be 'unlinked' sed -i ';' %{buildroot}/%{_bindir}/with_ase %endif %if !0%{?with_ase} # If ASE is not built, drop trhe compat library rm -f %{buildroot}/%{_libdir}/libopae-c-ase.so* %endif %post -n libopae-c%{lib_opae_major} -p /sbin/ldconfig %postun -n libopae-c%{lib_opae_major} -p /sbin/ldconfig %post -n libbitstream%{lib_bitstream_major} -p /sbin/ldconfig %postun -n libbitstream%{lib_bitstream_major} -p /sbin/ldconfig %if 0%{?with_legacy} %post -n libhssi-io%{lib_hssi_major} -p /sbin/ldconfig %postun -n libhssi-io%{lib_hssi_major} -p /sbin/ldconfig %endif %if 0%{?with_tests} %pre %service_add_pre fpgad.service %post %service_add_post fpgad.service %{fillup_only -n fpgad} %preun %service_del_preun fpgad.service %postun %service_del_postun fpgad.service %post -n libfpgad-api%{lib_fpgad_major} -p /sbin/ldconfig %postun -n libfpgad-api%{lib_fpgad_major} -p /sbin/ldconfig %endif %if 0%{?with_ase} %post -n libase%{lib_ase_major} -p /sbin/ldconfig %postun -n libase%{lib_ase_major} -p /sbin/ldconfig %endif %files %{_bindir}/* %if 0%{?with_ase} %exclude %{_bindir}/afu_sim_setup %exclude %{_bindir}/with_ase %endif %dir %{_libdir}/opae/ %{_libdir}/opae/*.so %license COPYING LICENSE %doc RELEASE_NOTES.md %dir %{_datarootdir}/opae %{_datarootdir}/opae/python %if 0%{?with_tests} %dir %{_sysconfdir}/opae %config(noreplace) %{_sysconfdir}/opae/fpgad.cfg %{_fillupdir}/sysconfig.fpgad %{_unitdir}/fpgad.service %endif %files devel %{_includedir}/opae %{_libdir}/*.so %dir %{_datarootdir}/opae %{_datarootdir}/opae/samples/ %{_datarootdir}/opae/platform %{_datarootdir}/cmake/Modules/OPAE %files -n libopae-c%{lib_opae_major} %{_libdir}/libopae-c.so.%{lib_opae_major} %{_libdir}/libopae-c.so.%{lib_opae_major}.* %{_libdir}/libopae-c++*.so.%{lib_opae_major} %{_libdir}/libopae-c++*.so.%{lib_opae_major}.* %{_libdir}/libopae-cxx-core*.so.%{lib_opae_major} %{_libdir}/libopae-cxx-core*.so.%{lib_opae_major}.* %files -n libbitstream%{lib_bitstream_major} %{_libdir}/libbitstream.so.%{lib_bitstream_major} %{_libdir}/libbitstream.so.%{lib_bitstream_major}.* %if 0%{?with_legacy} %files -n libhssi-io%{lib_hssi_major} %{_libdir}/libhssi-io*.so.%{lib_hssi_major} %{_libdir}/libhssi-io*.so.%{lib_hssi_major}.* %endif %if 0%{?with_tests} %files -n libfpgad-api%{lib_fpgad_major} %{_libdir}/libfpgad-api.so.%{lib_fpgda_major} %{_libdir}/libfpgad-api.so.%{lib_fpgad_major}.* %endif %if 0%{?with_ase} %files ase %{_bindir}/afu_sim_setup %{_bindir}/with_ase %license COPYING %dir %{_datarootdir}/opae %{_datarootdir}/opae/ase %files -n libase%{lib_ase_major} %{_libdir}/libase*.so.%{lib_ase_major} %{_libdir}/libase*.so.%{lib_ase_major}.* %endif %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor