]> git.pld-linux.org Git - packages/libplist.git/blobdiff - libplist.spec
- updated to 2.4.0
[packages/libplist.git] / libplist.spec
index 7fd47468b8557a2d0b1e19134216e803f3e17638..a5b604c45d2e72d6ce2d667c856870c8ef7b9ee1 100644 (file)
@@ -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
This page took 0.091071 seconds and 4 git commands to generate.