126 lines
2.7 KiB
RPMSpec
126 lines
2.7 KiB
RPMSpec
|
%if 0%{?rhel} == 8
|
||
|
%undefine __cmake_in_source_build
|
||
|
%endif
|
||
|
|
||
|
Name: libyang
|
||
|
Version: {{ version }}
|
||
|
Release: {{ release }}%{?dist}
|
||
|
Summary: YANG data modeling language library
|
||
|
Url: https://github.com/CESNET/libyang
|
||
|
Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||
|
License: BSD
|
||
|
|
||
|
BuildRequires: cmake
|
||
|
BuildRequires: doxygen
|
||
|
BuildRequires: gcc
|
||
|
BuildRequires: cmake(cmocka) >= 1.0.1
|
||
|
BuildRequires: make
|
||
|
BuildRequires: pkgconfig(libpcre2-8) >= 10.21
|
||
|
|
||
|
%package modules
|
||
|
Summary: YANG modules for libyang
|
||
|
|
||
|
%package devel
|
||
|
Summary: Development files for libyang
|
||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||
|
Requires: pcre2-devel
|
||
|
|
||
|
%package devel-doc
|
||
|
Summary: Documentation of libyang API
|
||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||
|
|
||
|
%package tools
|
||
|
Summary: YANG validator tools
|
||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||
|
# This was not properly split out before
|
||
|
Conflicts: %{name} < 1.0.225-3
|
||
|
|
||
|
%description modules
|
||
|
YANG modules for libyang.
|
||
|
|
||
|
%description devel
|
||
|
Headers of libyang library.
|
||
|
|
||
|
%description devel-doc
|
||
|
Documentation of libyang API.
|
||
|
|
||
|
%description tools
|
||
|
YANG validator tools.
|
||
|
|
||
|
%description
|
||
|
Libyang is YANG data modeling language parser and toolkit
|
||
|
written (and providing API) in C.
|
||
|
|
||
|
%prep
|
||
|
%autosetup -p1
|
||
|
%if 0%{?rhel} && 0%{?rhel} < 8
|
||
|
mkdir build
|
||
|
%endif
|
||
|
|
||
|
%build
|
||
|
%if 0%{?rhel} && 0%{?rhel} < 8
|
||
|
cd build
|
||
|
cmake \
|
||
|
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
|
||
|
-DCMAKE_BUILD_TYPE:String="Release" \
|
||
|
-DCMAKE_C_FLAGS="${RPM_OPT_FLAGS}" \
|
||
|
-DCMAKE_CXX_FLAGS="${RPM_OPT_FLAGS}" \
|
||
|
..
|
||
|
make
|
||
|
%else
|
||
|
%cmake -DCMAKE_BUILD_TYPE=RELWITHDEBINFO
|
||
|
%cmake_build
|
||
|
%if "x%{?suse_version}" == "x"
|
||
|
cd %{__cmake_builddir}
|
||
|
%endif
|
||
|
%endif
|
||
|
make doc
|
||
|
|
||
|
%check
|
||
|
%if ( 0%{?rhel} == 0 ) || 0%{?rhel} > 7
|
||
|
%if "x%{?suse_version}" == "x"
|
||
|
cd %{__cmake_builddir}
|
||
|
%endif
|
||
|
%endif
|
||
|
ctest --output-on-failure -V %{?_smp_mflags}
|
||
|
|
||
|
%install
|
||
|
mkdir -m0755 -p %{buildroot}/%{_docdir}/libyang
|
||
|
%if 0%{?rhel} && 0%{?rhel} < 8
|
||
|
cd build
|
||
|
make DESTDIR=%{buildroot} install
|
||
|
%else
|
||
|
%cmake_install
|
||
|
cp -a doc/html %{buildroot}/%{_docdir}/libyang/html
|
||
|
%endif
|
||
|
|
||
|
%files
|
||
|
%license LICENSE
|
||
|
%{_libdir}/libyang.so.3
|
||
|
%{_libdir}/libyang.so.3.*
|
||
|
|
||
|
%files modules
|
||
|
%{_datadir}/yang/modules/libyang/*.yang
|
||
|
%dir %{_datadir}/yang/
|
||
|
%dir %{_datadir}/yang/modules/
|
||
|
%dir %{_datadir}/yang/modules/libyang/
|
||
|
|
||
|
%files tools
|
||
|
%{_bindir}/yanglint
|
||
|
%{_bindir}/yangre
|
||
|
%{_datadir}/man/man1/yanglint.1.gz
|
||
|
%{_datadir}/man/man1/yangre.1.gz
|
||
|
|
||
|
%files devel
|
||
|
%{_libdir}/libyang.so
|
||
|
%{_libdir}/pkgconfig/libyang.pc
|
||
|
%{_includedir}/libyang/*.h
|
||
|
%dir %{_includedir}/libyang/
|
||
|
|
||
|
%files devel-doc
|
||
|
%{_docdir}/libyang
|
||
|
|
||
|
%changelog
|
||
|
* {{ now }} Jakub Ružička <jakub.ruzicka@nic.cz> - {{ version }}-{{ release }}
|
||
|
- upstream package
|