summaryrefslogtreecommitdiffstats
path: root/distro/pkg/rpm/libyang.spec
diff options
context:
space:
mode:
Diffstat (limited to 'distro/pkg/rpm/libyang.spec')
-rw-r--r--distro/pkg/rpm/libyang.spec125
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