]> git.pld-linux.org Git - packages/libplist.git/blobdiff - libplist.spec
- updated to 2.2.0 (note: new library name)
[packages/libplist.git] / libplist.spec
index b435a0a12b482f4404bdbe59abf7e09bcfa5799d..99c48a60971a72a127aabc43c6ea4a42050a31fa 100644 (file)
@@ -1,30 +1,41 @@
 #
 # Conditional build:
-%bcond_without swig    # build with Swig
-%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.8
-Release:       4
-License:       LGPL v2+
+Version:       2.2.0
+Release:       1
+License:       LGPL v2.1+
 Group:         Libraries
-#Source0-Download: http://www.libimobiledevice.org/
-Source0:       http://www.libimobiledevice.org/downloads/%{name}-%{version}.tar.bz2
-# Source0-md5: 2a9e0258847d50f9760dc3ece25f4dc6
-URL:           http://www.libimobiledevice.org/
-BuildRequires: cmake >= 2.8.2-2
-BuildRequires: glib2-devel >= 1:2.14.1
+# Source0Download: https://libimobiledevice.org/
+Source0:       https://github.com/libimobiledevice/libplist/releases/download/%{version}/%{name}-%{version}.tar.bz2
+# Source0-md5: 63cc49401521662c94cd4107898c744c
+Patch0:                %{name}-sh.patch
+URL:           https://libimobiledevice.org/
+BuildRequires: autoconf >= 2.64
+BuildRequires: automake
 BuildRequires: libstdc++-devel
-BuildRequires: libxml2-devel >= 1:2.6.30
+BuildRequires: libtool
 BuildRequires: pkgconfig
-%{?with_cython:BuildRequires:  python-Cython}
-BuildRequires: python-devel
-BuildRequires: python-modules
-BuildRequires: rpm-pythonprov
 BuildRequires: rpmbuild(macros) >= 1.600
-%{?with_swig:BuildRequires:    swig-python}
+%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
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -36,43 +47,139 @@ Biblioteka do manipulowania Apple Property Lists w formacie binarnym i
 XML.
 
 %package devel
-Summary:       Header files for libplist library
-Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki libplist
+Summary:       Header file for libplist library
+Summary(pl.UTF-8):     Plik nagłówkowy biblioteki libplist
 Group:         Development/Libraries
 Requires:      %{name} = %{version}-%{release}
-Requires:      glib2-devel >= 1:2.14.1
-Requires:      libxml2-devel >= 1:2.6.30
 
 %description devel
-Header files for libplist library.
+Header file for libplist library.
 
 %description devel -l pl.UTF-8
-Pliki nagłówkowe biblioteki libplist.
+Plik nagłówkowy biblioteki libplist.
+
+%package static
+Summary:       Static libplist library
+Summary(pl.UTF-8):     Statyczna biblioteka libplist
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{version}-%{release}
+
+%description static
+Static libplist library.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka libplist.
+
+%package c++
+Summary:       C++ binding for libplist library
+Summary(pl.UTF-8):     Wiązanie C++ do biblioteki libplist
+Group:         Libraries
+Requires:      %{name} = %{version}-%{release}
+
+%description c++
+C++ binding for libplist library.
+
+%description c++ -l pl.UTF-8
+Wiązanie C++ do biblioteki libplist.
+
+%package c++-devel
+Summary:       Header files for libplist++ library
+Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki libplist++
+Group:         Development/Libraries
+Requires:      %{name}-c++ = %{version}-%{release}
+Requires:      %{name}-devel = %{version}-%{release}
+Requires:      libstdc++-devel
+
+%description c++-devel
+Header files for libplist++ library.
+
+%description c++-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki libplist++.
+
+%package c++-static
+Summary:       Static libplist++ library
+Summary(pl.UTF-8):     Statyczna biblioteka libplist++
+Group:         Development/Libraries
+Requires:      %{name}-c++-devel = %{version}-%{release}
+
+%description c++-static
+Static libplist++ library.
+
+%description c++-static -l pl.UTF-8
+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
+Summary(pl.UTF-8):     Plik nagłówkowy Cythona dla wiązania Pythona do biblioteki libplist
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{version}-%{release}
+Requires:      python-Cython >= 0.17.0
+
+%description -n python-plist-devel
+Cython header file for Python libplist binding.
+
+%description -n python-plist-devel -l pl.UTF-8
+Plik nagłówkowy Cythona dla wiązania Pythona do biblioteki libplist.
 
 %prep
 %setup -q
+%patch0 -p1
+
+touch cython/*.py[xh]
 
 %build
+%{__libtoolize}
+%{__aclocal} -I m4
+%{__autoconf}
+%{__autoheader}
+%{__automake}
 install -d build
 cd build
-%cmake \
-       -DENABLE_SWIG=%{!?with_swig:NO}%{?with_swig:YES} \
-       -DENABLE_CYTHON=%{!?with_cython:NO}%{?with_cython:YES} \
-       ../
+../%configure \
+       --disable-silent-rules \
+       %{!?with_static_libs:--disable-static} \
+       %{!?with_cython:--without-cython}
 
-%{__make}
+# 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} \
+       --disable-silent-rules
+
+%{__make} -C cython \
+       top_builddir="${topdir}/build"
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -80,17 +187,23 @@ rm -rf $RPM_BUILD_ROOT
 %{__make} -C build install \
        DESTDIR=$RPM_BUILD_ROOT
 
-%py_comp $RPM_BUILD_ROOT%{py_sitedir}
-%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
-%py_postclean
+# obsoleted by .pc
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
 
-# cmake sucks, fix perms
 %if %{with cython}
-chmod a+x $RPM_BUILD_ROOT%{py_sitedir}/plist.so
-cp -p cython/plist.pxd $RPM_BUILD_ROOT%{py_sitedir}
+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}
+
+%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
+       %{?with_static_libs:$RPM_BUILD_ROOT%{py3_sitedir}/plist.a}
 %endif
-%if %{with swig}
-chmod a+x $RPM_BUILD_ROOT%{py_sitedir}/plist/_plist.so
 %endif
 
 %clean
@@ -99,33 +212,71 @@ rm -rf $RPM_BUILD_ROOT
 %post  -p /sbin/ldconfig
 %postun        -p /sbin/ldconfig
 
+%post  c++ -p /sbin/ldconfig
+%postun        c++ -p /sbin/ldconfig
+
 %files
 %defattr(644,root,root,755)
-%doc AUTHORS NEWS README
-%attr(755,root,root) %{_bindir}/plutil*
-%attr(755,root,root) %{_libdir}/libplist++.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libplist++.so.1
-%attr(755,root,root) %{_libdir}/libplist.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libplist.so.1
+%doc AUTHORS NEWS README.md
+%attr(755,root,root) %{_bindir}/plistutil
+%attr(755,root,root) %{_libdir}/libplist-2.0.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libplist-2.0.so.3
+%{_mandir}/man1/plistutil.1*
 
 %files devel
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libplist++.so
-%attr(755,root,root) %{_libdir}/libplist.so
-%{_includedir}/plist
-%{_pkgconfigdir}/libplist++.pc
-%{_pkgconfigdir}/libplist.pc
+%attr(755,root,root) %{_libdir}/libplist-2.0.so
+%dir %{_includedir}/plist
+%{_includedir}/plist/plist.h
+%{_pkgconfigdir}/libplist-2.0.pc
 
-%if %{with cython} || %{with swig}
-%files -n python-plist
+%if %{with static_libs}
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libplist-2.0.a
+%endif
+
+%files c++
 %defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libplist++-2.0.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libplist++-2.0.so.3
+
+%files c++-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libplist++-2.0.so
+%{_includedir}/plist/Array.h
+%{_includedir}/plist/Boolean.h
+%{_includedir}/plist/Data.h
+%{_includedir}/plist/Date.h
+%{_includedir}/plist/Dictionary.h
+%{_includedir}/plist/Integer.h
+%{_includedir}/plist/Key.h
+%{_includedir}/plist/Node.h
+%{_includedir}/plist/Real.h
+%{_includedir}/plist/String.h
+%{_includedir}/plist/Structure.h
+%{_includedir}/plist/Uid.h
+%{_includedir}/plist/plist++.h
+%{_pkgconfigdir}/libplist++-2.0.pc
+
+%if %{with static_libs}
+%files c++-static
+%defattr(644,root,root,755)
+%{_libdir}/libplist++-2.0.a
+%endif
+
 %if %{with cython}
+%files -n python-plist
+%defattr(644,root,root,755)
 %attr(755,root,root) %{py_sitedir}/plist.so
-%attr(755,root,root) %{py_sitedir}/plist.pxd
-%endif
-%if %{with swig}
-%dir %{py_sitedir}/plist
-%attr(755,root,root) %{py_sitedir}/plist/_plist.so
-%{py_sitedir}/plist/*.py[co]
+
+%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
 %endif
This page took 0.113211 seconds and 4 git commands to generate.