libmetal/libmetal.spec

94 lines
2.8 KiB
RPMSpec
Raw Normal View History

#
# spec file for package libmetal
#
# Copyright (c) 2018 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#
Name: libmetal
Version: 2018.04
Release: 1
License: BSD-3-Clause
Summary: Bare metal interaction APIs
Url: https://github.com/OpenAMP/libmetal
Group: System/Libraries
Source: https://github.com/OpenAMP/libmetal/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
BuildRequires: graphviz
BuildRequires: doxygen
BuildRequires: sysfsutils-devel
BuildRequires: cmake
BuildRequires: libhugetlbfs-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: x86_64 %arm aarch64
%description
Libmetal provides common user APIs to access devices, handle device interrupts
and request memory across the following operating environments:
* Linux user space (based on UIO and VFIO support in the kernel)
* RTOS (with and without virtual memory)
* Bare-metal environments
%package -n libmetal0
Summary: Bare metal interaction APIs
Group: Development/Libraries/C and C++
Provides: %{name} = %{version}
%description -n libmetal0
Libmetal provides common user APIs to access devices, handle device interrupts
and request memory across the following operating environments:
* Linux user space (based on UIO and VFIO support in the kernel)
* RTOS (with and without virtual memory)
* Bare-metal environments
%package devel
Summary: Include Files and Libraries mandatory for Development
Group: Development/Languages/C and C++
Requires: libmetal0 = %{version}
%description devel
This package contains all necessary include files and libraries needed
to develop applications that require these.
%prep
%setup -q -n libmetal-%{version}
%ifarch armv6l armv6hl
ln -s arm lib/processor/armv6l
%endif
%ifarch armv7l armv7hl
ln -s arm lib/processor/armv7l
%endif
%build
%cmake
%make_jobs
%install
%cmake_install
rm -rf %{?buildroot}/usr/bin/test-metal*
mv %{?buildroot}%_datadir/doc/{metal,libmetal}
%post -n libmetal0 -p /sbin/ldconfig
%postun -n libmetal0 -p /sbin/ldconfig
%files -n libmetal0
%defattr(-,root,root)
%doc %_datadir/doc/libmetal/
%license %_datadir/doc/libmetal/LICENSE.md
%{_libdir}/*.so.*
%files devel
%defattr(-,root,root)
%{_includedir}/metal/
%{_libdir}/*.so
%{_libdir}/*.a