2 # - python bindings fail in both cython and swig mode:
3 # $ python -c "import plist" # cython
4 # Traceback (most recent call last):
5 # File "<string>", line 1, in <module>
6 # ImportError: dynamic module does not define init function (initplist)
7 # $ python -c "import plist" # swig
8 # Traceback (most recent call last):
9 # File "<string>", line 1, in <module>
10 # File "/usr/lib64/python2.7/site-packages/plist/__init__.py", line 3, in <module>
11 # File "/usr/lib64/python2.7/site-packages/plist/plist.py", line 26, in <module>
12 # File "/usr/lib64/python2.7/site-packages/plist/plist.py", line 22, in swig_import_helper
13 # ImportError: dynamic module does not define init function (init_plist)
16 %bcond_with swig # build with Swig
17 %bcond_without cython # build with Cython
19 Summary: Library for manipulating Apple Property Lists
20 Summary(pl.UTF-8): Biblioteka do manipulowania Apple Property Lists
26 # Source0Download: http://www.libimobiledevice.org/
27 Source0: http://www.libimobiledevice.org/downloads/%{name}-%{version}.tar.bz2
28 # Source0-md5: fe642d0c8602d70c408994555c330dd1
29 URL: http://www.libimobiledevice.org/
30 BuildRequires: cmake >= 2.8.2-2
31 BuildRequires: glib2-devel >= 1:2.14.1
32 BuildRequires: libstdc++-devel
33 BuildRequires: libxml2-devel >= 1:2.6.30
34 BuildRequires: pkgconfig
35 %{?with_cython:BuildRequires: python-Cython}
36 BuildRequires: python-devel
37 BuildRequires: python-modules
38 BuildRequires: rpm-pythonprov
39 BuildRequires: rpmbuild(macros) >= 1.600
40 %{?with_swig:BuildRequires: swig-python}
41 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44 Library for manipulating Apple Property Lists in binary and XML
47 %description -l pl.UTF-8
48 Biblioteka do manipulowania Apple Property Lists w formacie binarnym i
52 Summary: Header files for libplist library
53 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libplist
54 Group: Development/Libraries
55 Requires: %{name} = %{version}-%{release}
56 Requires: glib2-devel >= 1:2.14.1
57 Requires: libxml2-devel >= 1:2.6.30
60 Header files for libplist library.
62 %description devel -l pl.UTF-8
63 Pliki nagłówkowe biblioteki libplist.
65 %package -n python-plist
66 Summary: libplist Python bindings
67 Summary(pl.UTF-8): Wiązania libplist dla Pythona
68 Group: Development/Languages/Python
69 Requires: %{name} = %{version}-%{release}
71 %description -n python-plist
72 libplist Python bindings.
74 %description -n python-plist -l pl.UTF-8
75 Wiązania libplist dla Pythona.
86 -DENABLE_SWIG=%{!?with_swig:NO}%{?with_swig:YES} \
87 -DENABLE_CYTHON=%{!?with_cython:NO}%{?with_cython:YES} \
93 rm -rf $RPM_BUILD_ROOT
95 %{__make} -C build install \
96 DESTDIR=$RPM_BUILD_ROOT
98 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
99 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
102 # cmake sucks, fix perms
104 chmod a+x $RPM_BUILD_ROOT%{py_sitedir}/plist.so
105 cp -p cython/plist.pxd $RPM_BUILD_ROOT%{py_sitedir}
108 chmod a+x $RPM_BUILD_ROOT%{py_sitedir}/plist/_plist.so
112 rm -rf $RPM_BUILD_ROOT
114 %post -p /sbin/ldconfig
115 %postun -p /sbin/ldconfig
118 %defattr(644,root,root,755)
119 %doc AUTHORS NEWS README
120 %attr(755,root,root) %{_bindir}/plistutil*
121 %attr(755,root,root) %{_libdir}/libplist++.so.*.*.*
122 %attr(755,root,root) %ghost %{_libdir}/libplist++.so.1
123 %attr(755,root,root) %{_libdir}/libplist.so.*.*.*
124 %attr(755,root,root) %ghost %{_libdir}/libplist.so.1
127 %defattr(644,root,root,755)
128 %attr(755,root,root) %{_libdir}/libplist++.so
129 %attr(755,root,root) %{_libdir}/libplist.so
131 %{_pkgconfigdir}/libplist++.pc
132 %{_pkgconfigdir}/libplist.pc
134 %if %{with cython} || %{with swig}
135 %files -n python-plist
136 %defattr(644,root,root,755)
139 %attr(755,root,root) %{py_sitedir}/plist.so
140 %{py_sitedir}/plist.pxd
144 %dir %{py_sitedir}/plist
145 %attr(755,root,root) %{py_sitedir}/plist/_plist.so
146 %{py_sitedir}/plist/*.py[co]