From 48e6f7d6ce7a9b7f80cde98a75de631cb3174bef Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Sun, 24 Nov 2013 17:27:53 +0100 Subject: [PATCH] - new --- libsolv.spec | 274 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 274 insertions(+) create mode 100644 libsolv.spec diff --git a/libsolv.spec b/libsolv.spec new file mode 100644 index 0000000..9991335 --- /dev/null +++ b/libsolv.spec @@ -0,0 +1,274 @@ +# +# Conditional build: +%bcond_without static_libs # static libraries +%bcond_without python3 # Python 3.x bindings +# +%include /usr/lib/rpm/macros.perl +Summary: Package dependency solver +Summary(pl.UTF-8): Biblioteka do rozwiązywania zależności pakietów +Name: libsolv +%define snap 20131123 +Version: 0.4.0 +Release: 0.%{snap}.1 +License: BSD +Group: Libraries +# git clone https://github.com/openSUSE/libsolv.git +Source0: libsolv.tar.xz +# Source0-md5: af4c85d44954f8f5e2375ecad744d1f2 +URL: https://github.com/openSUSE/libsolv +BuildRequires: bzip2-devel +BuildRequires: cmake >= 2.4 +BuildRequires: db-devel +BuildRequires: expat-devel +BuildRequires: rpm-devel >= 5 +BuildRequires: swig-perl +BuildRequires: swig-python +BuildRequires: swig-ruby +BuildRequires: perl-devel +BuildRequires: pkgconfig +BuildRequires: python-devel >= 2 +%{?with_python3:BuildRequires: python3-devel >= 3} +BuildRequires: rpm-perlprov +BuildRequires: rpm-pythonprov +BuildRequires: rpm-rubyprov +BuildRequires: rpmbuild(macros) >= 1.219 +BuildRequires: ruby-devel +BuildRequires: tar >= 1:1.22 +BuildRequires: xz +BuildRequires: xz-devel +BuildRequires: zlib-devel +BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) + +%description +A free package dependency solver using a satisfiability algorithm. The +library is based on two major, but independent, blocks: + +- Using a dictionary approach to store and retrieve package and + dependency information. + +- Using satisfiability, a well known and researched topic, for + resolving package dependencies. + +%description -l pl.UTF-8 +Wolnodostępna biblioteka do rozwiązywania zależności pakietów przy +użyciu algorytmu spełnialności. Biblioteka jest podzielona na dwa +główne, niezależne bloki: + +- wykorzystanie podejścia słownikowego do przechowywania i + odtwarzania informacji o pakietach i zależnościach, + +- wykorzystanie spełnialności - dobrze znanego i zbadanego tematu do + rozwiązywania zależności pakietów. + +%package devel +Summary: Header files for libsolv libraries +Summary(pl.UTF-8): Pliki nagłówkowe bibliotek libsolv +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires: rpm-devel >= 5 + +%description devel +Development files for libsolv. + +%description devel -l pl.UTF-8 +Pliki programistyczne biblioetk libsolv. + +%package static +Summary: Static libsolv libraries +Summary(pl.UTF-8): Statyczne biblioteki libsolv +Group: Development/Libraries +Requires: %{name}-devel = %{version}-%{release} + +%description static +Static libsolv libraries. + +%description static -l pl.UTF-8 +Statyczne biblioteki libsolv. + +%package tools +Summary: Package dependency solver tools +Summary(pl.UTF-8): Narzędzia do rozwiązywania zależności pakietów +Group: Applications/System +Requires: %{name} = %{version}-%{release} +Requires: bzip2 +Requires: coreutils +Requires: gzip + +%description tools +Package dependency solver tools. + +%description tools -l pl.UTF-8 +Narzędzia do rozwiązywania zależności pakietów. + +%package -n perl-solv +Summary: Perl bindings for the libsolv libraries +Summary(pl.UTF-8): Wiązania Perla do bibliotek libsolv +Group: Development/Languages/Perl +Requires: %{name} = %{version}-%{release} + +%description -n perl-solv +Perl bindings for the libsolv libraries. + +%description -n perl-solv -l pl.UTF-8 +Wiązania Perla do bibliotek libsolv. + +%package -n python-solv +Summary: Python 2.x bindings for the libsolv library +Summary(pl.UTF-8): Wiązania Pythona 2.x do bibliotek libsolv +Group: Development/Languages/Python +Requires: %{name} = %{version}-%{release} +Requires: python-libs + +%description -n python-solv +Python 2.x bindings for the libsolv library. + +%description -n python-solv -l pl.UTF-8 +Wiązania Pythona 2.x do bibliotek libsolv. + +%package -n python3-solv +Summary: Python 3.x bindings for the libsolv library +Summary(pl.UTF-8): Wiązania Pythona 2.x do bibliotek libsolv +Group: Development/Languages/Python +Requires: %{name} = %{version}-%{release} +Requires: python-libs + +%description -n python3-solv +Python 3.x bindings for the libsolv library. + +%description -n python3-solv -l pl.UTF-8 +Wiązania Pythona 3.x do bibliotek libsolv. + +%package -n ruby-solv +Summary: Ruby bindings for the libsolv libraries +Summary(pl.UTF-8): Wiązania języka Ruby do bibliotek libsolv +Group: Development/Languages +Requires: %{name} = %{version}-%{release} + +%description -n ruby-solv +Ruby bindings for the libsolv libraries. + +%description -n ruby-solv -l pl.UTF-8 +Wiązania języka Ruby do bibliotek libsolv. + +%prep +%setup -q -n libsolv + +%build +install -d build %{?with_python3:build-py3} +cd build +%cmake .. \ + -DENABLE_APPDATA=ON \ + -DENABLE_BZIP2_COMPRESSON=ON \ + -DENABLE_LZMA_COMPRESSON=ON \ + -DENABLE_PERL=ON \ + -DENABLE_PUBKEY=ON \ + -DENABLE_PYTHON=ON \ + -DENABLE_RPMDB=ON \ + -DENABLE_RPMDB_BYRPMHEADER=ON \ + -DENABLE_RPMMD=ON \ + -DENABLE_RUBY=ON \ + %{?with_static_libs:-DENABLE_STATIC=ON} \ + -DPythonLibs_FIND_VERSION=2 \ + -DRPM5=ON \ + -DUSE_VENDORDIRS=ON + +%{__make} +%if %{with python3} +cd ../build-py3 +%cmake .. \ + -DENABLE_APPDATA=ON \ + -DENABLE_BZIP2_COMPRESSON=ON \ + -DENABLE_LZMA_COMPRESSON=ON \ + -DENABLE_PUBKEY=ON \ + -DENABLE_PYTHON=ON \ + -DENABLE_RPMDB=ON \ + -DENABLE_RPMMD=ON \ + -DENABLE_RPMDB_BYRPMHEADER=ON \ + -DPythonLibs_FIND_VERSION=3 \ + -DRPM5=ON + +%{__make} +%endif + +%install +rm -rf $RPM_BUILD_ROOT + +%if %{with python3} +%{__make} -C build-py3/bindings/python install \ + DESTDIR=$RPM_BUILD_ROOT +%endif + +%{__make} -C build install \ + DESTDIR=$RPM_BUILD_ROOT + +%py_comp $RPM_BUILD_ROOT%{py_sitedir} +%py_ocomp $RPM_BUILD_ROOT%{py_sitedir} +%py_postclean + +%clean +rm -rf $RPM_BUILD_ROOT + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%defattr(644,root,root,755) +%doc BUGS CREDITS LICENSE.BSD README +%attr(755,root,root) %{_libdir}/libsolv.so.0 +%attr(755,root,root) %{_libdir}/libsolvext.so.0 + +%files devel +%defattr(644,root,root,755) +%doc examples/solv.c +%attr(755,root,root) %{_libdir}/libsolv.so +%attr(755,root,root) %{_libdir}/libsolvext.so +%{_includedir}/solv +%{_datadir}/cmake/Modules/FindLibSolv.cmake +%{_mandir}/man3/libsolv*.3* + +%if %{with static_libs} +%files static +%defattr(644,root,root,755) +%{_libdir}/libsolv.a +%{_libdir}/libsolvext.a +%endif + +%files tools +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/deltainfoxml2solv +%attr(755,root,root) %{_bindir}/dumpsolv +%attr(755,root,root) %{_bindir}/installcheck +%attr(755,root,root) %{_bindir}/mergesolv +%attr(755,root,root) %{_bindir}/repo2solv.sh +%attr(755,root,root) %{_bindir}/repomdxml2solv +%attr(755,root,root) %{_bindir}/rpmdb2solv +%attr(755,root,root) %{_bindir}/rpmmd2solv +%attr(755,root,root) %{_bindir}/rpms2solv +%attr(755,root,root) %{_bindir}/solv +%attr(755,root,root) %{_bindir}/testsolv +%attr(755,root,root) %{_bindir}/updateinfoxml2solv + +%files -n perl-solv +%defattr(644,root,root,755) +%doc examples/p5solv +%attr(755,root,root) %{perl_vendorarch}/solv.so +%{perl_vendorarch}/solv.pm + +%files -n python-solv +%defattr(644,root,root,755) +%doc examples/pysolv +%attr(755,root,root) %{py_sitedir}/_solv.so +%{py_sitedir}/solv.py[co] + +%if %{with python3} +%files -n python3-solv +%defattr(644,root,root,755) +%doc examples/pysolv +%attr(755,root,root) %{py3_sitedir}/_solv.so +%{py3_sitedir}/solv.py +%endif + +%files -n ruby-solv +%defattr(644,root,root,755) +%doc examples/rbsolv +%attr(755,root,root) %{ruby_vendorarchdir}/solv.so -- 2.44.0