diff options
Diffstat (limited to 'distro/pkg/rpm/libyang.spec')
-rw-r--r-- | distro/pkg/rpm/libyang.spec | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/distro/pkg/rpm/libyang.spec b/distro/pkg/rpm/libyang.spec new file mode 100644 index 0000000..bef1596 --- /dev/null +++ b/distro/pkg/rpm/libyang.spec @@ -0,0 +1,125 @@ +%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 |