X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=libplist.spec;h=a5b604c45d2e72d6ce2d667c856870c8ef7b9ee1;hb=HEAD;hp=7fd47468b8557a2d0b1e19134216e803f3e17638;hpb=9517982e7f266be5d6609eee55ebf44af9a6257d;p=packages%2Flibplist.git diff --git a/libplist.spec b/libplist.spec index 7fd4746..a5b604c 100644 --- a/libplist.spec +++ b/libplist.spec @@ -1,36 +1,42 @@ -# TODO -# - python3 package # # Conditional build: -%bcond_without cython # build with Cython +%bcond_without cython # Python modules (Cython based) +%bcond_without python3 # Python 3 module %bcond_without static_libs # static libraries +%if %{without cython} +%undefine with_python3 +%endif Summary: Library for manipulating Apple Property Lists Summary(pl.UTF-8): Biblioteka do manipulowania Apple Property Lists Name: libplist -Version: 1.12 +Version: 2.4.0 Release: 1 License: LGPL v2.1+ Group: Libraries -# Source0Download: http://www.libimobiledevice.org/ -Source0: http://www.libimobiledevice.org/downloads/%{name}-%{version}.tar.bz2 -# Source0-md5: 8b04b0f09f2398022dcd4fba75012997 -Patch0: %{name}-link.patch -URL: http://www.libimobiledevice.org/ -BuildRequires: autoconf >= 2.61 +# Source0Download: https://libimobiledevice.org/ +Source0: https://github.com/libimobiledevice/libplist/releases/download/%{version}/%{name}-%{version}.tar.bz2 +# Source0-md5: 56b7892151b72ea0cfbf3ef785ffbc82 +Patch0: %{name}-sh.patch +Patch1: %{name}-link.patch +URL: https://libimobiledevice.org/ +BuildRequires: autoconf >= 2.68 BuildRequires: automake BuildRequires: libstdc++-devel -BuildRequires: libtool -BuildRequires: libxml2-devel >= 1:2.7.8 +BuildRequires: libtool >= 2:2 BuildRequires: pkgconfig BuildRequires: rpmbuild(macros) >= 1.600 %if %{with cython} BuildRequires: python-Cython >= 0.17.0 BuildRequires: python-devel >= 1:2.3 BuildRequires: python-modules >= 1:2.3 +%if %{with python3} +BuildRequires: python3-Cython >= 0.17.0 +BuildRequires: python3-devel >= 1:3.2 +BuildRequires: python3-modules >= 1:3.2 +%endif BuildRequires: rpm-pythonprov %endif -Requires: libxml2 >= 1:2.7.8 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -46,7 +52,6 @@ Summary: Header file for libplist library Summary(pl.UTF-8): Plik nagłówkowy biblioteki libplist Group: Development/Libraries Requires: %{name} = %{version}-%{release} -Requires: libxml2-devel >= 1:2.7.8 %description devel Header file for libplist library. @@ -105,16 +110,28 @@ Static libplist++ library. Statyczna biblioteka libplist++. %package -n python-plist -Summary: libplist Python bindings -Summary(pl.UTF-8): Wiązania libplist dla Pythona +Summary: Python 2 bindings for libplist +Summary(pl.UTF-8): Wiązania libplist dla Pythona 2 Group: Development/Languages/Python Requires: %{name} = %{version}-%{release} %description -n python-plist -libplist Python bindings. +Python 2 bindings for libplist. %description -n python-plist -l pl.UTF-8 -Wiązania libplist dla Pythona. +Wiązania libplist dla Pythona 2. + +%package -n python3-plist +Summary: Python 3 bindings for libplist +Summary(pl.UTF-8): Wiązania libplist dla Pythona 3 +Group: Development/Languages/Python +Requires: %{name} = %{version}-%{release} + +%description -n python3-plist +Python 3 bindings for libplist. + +%description -n python3-plist -l pl.UTF-8 +Wiązania libplist dla Pythona 3. %package -n python-plist-devel Summary: Cython header file for Python libplist binding @@ -122,7 +139,6 @@ Summary(pl.UTF-8): Plik nagłówkowy Cythona dla wiązania Pythona do biblioteki Group: Development/Libraries Requires: %{name}-devel = %{version}-%{release} Requires: python-Cython >= 0.17.0 -Requires: python-plist = %{version}-%{release} %description -n python-plist-devel Cython header file for Python libplist binding. @@ -133,6 +149,7 @@ Plik nagłówkowy Cythona dla wiązania Pythona do biblioteki libplist. %prep %setup -q %patch0 -p1 +%patch1 -p1 touch cython/*.py[xh] @@ -142,7 +159,10 @@ touch cython/*.py[xh] %{__autoconf} %{__autoheader} %{__automake} -%configure \ +install -d build +cd build +../%configure \ + ac_cv_path_CYTHON=/usr/bin/cython \ --disable-silent-rules \ %{!?with_static_libs:--disable-static} \ %{!?with_cython:--without-cython} @@ -150,24 +170,42 @@ touch cython/*.py[xh] # make -j1 due: # make[2]: *** No rule to make target '../src/libplist.la', needed by 'libplist++.la'. Stop. %{__make} -j1 +cd .. + +%if %{with python3} +topdir=$(pwd) +install -d build-py3 +cd build-py3 +../%configure \ + PYTHON=%{__python3} \ + ac_cv_path_CYTHON=/usr/bin/cython3 \ + --disable-silent-rules + +%{__make} -C cython \ + top_builddir="${topdir}/build" +%endif %install rm -rf $RPM_BUILD_ROOT -%{__make} install \ + +%{__make} -C build install \ DESTDIR=$RPM_BUILD_ROOT # obsoleted by .pc %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la %if %{with cython} -%py_comp $RPM_BUILD_ROOT%{py_sitedir} -%py_ocomp $RPM_BUILD_ROOT%{py_sitedir} -%py_postclean - install -d $RPM_BUILD_ROOT%{_includedir}/plist/cython cp -p cython/plist.pxd $RPM_BUILD_ROOT%{_includedir}/plist/cython/plist.pxd -%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/plist.la \ - %{?with_static_libs:$RPM_BUILD_ROOT%{py_sitedir}/plist.a} +%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/plist.la + +%if %{with python3} +%{__make} -C build-py3/cython install \ + DESTDIR=$RPM_BUILD_ROOT \ + top_builddir="$(pwd)/build" + +%{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/plist.la +%endif %endif %clean @@ -181,32 +219,33 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) -%doc AUTHORS NEWS README +%doc AUTHORS NEWS README.md %attr(755,root,root) %{_bindir}/plistutil -%attr(755,root,root) %{_libdir}/libplist.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libplist.so.3 +%attr(755,root,root) %{_libdir}/libplist-2.0.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libplist-2.0.so.4 +%{_mandir}/man1/plistutil.1* %files devel %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libplist.so +%attr(755,root,root) %{_libdir}/libplist-2.0.so %dir %{_includedir}/plist %{_includedir}/plist/plist.h -%{_pkgconfigdir}/libplist.pc +%{_pkgconfigdir}/libplist-2.0.pc %if %{with static_libs} %files static %defattr(644,root,root,755) -%{_libdir}/libplist.a +%{_libdir}/libplist-2.0.a %endif %files c++ %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libplist++.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libplist++.so.3 +%attr(755,root,root) %{_libdir}/libplist++-2.0.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libplist++-2.0.so.4 %files c++-devel %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libplist++.so +%attr(755,root,root) %{_libdir}/libplist++-2.0.so %{_includedir}/plist/Array.h %{_includedir}/plist/Boolean.h %{_includedir}/plist/Data.h @@ -220,12 +259,12 @@ rm -rf $RPM_BUILD_ROOT %{_includedir}/plist/Structure.h %{_includedir}/plist/Uid.h %{_includedir}/plist/plist++.h -%{_pkgconfigdir}/libplist++.pc +%{_pkgconfigdir}/libplist++-2.0.pc %if %{with static_libs} %files c++-static %defattr(644,root,root,755) -%{_libdir}/libplist++.a +%{_libdir}/libplist++-2.0.a %endif %if %{with cython} @@ -233,6 +272,12 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %attr(755,root,root) %{py_sitedir}/plist.so +%if %{with cython} +%files -n python3-plist +%defattr(644,root,root,755) +%attr(755,root,root) %{py3_sitedir}/plist.so +%endif + %files -n python-plist-devel %defattr(644,root,root,755) %{_includedir}/plist/cython