diff --git a/pykde4.spec b/pykde4.spec index 60b1dd2..fc937ca 100644 --- a/pykde4.spec +++ b/pykde4.spec @@ -15,7 +15,7 @@ Name: pykde4 Version: 4.14.3 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Python bindings for KDE4 # http://techbase.kde.org/Policies/Licensing_Policy @@ -29,6 +29,8 @@ URL: http://developer.kde.org/language-bindings/ %endif Source0: http://download.kde.org/%{stable}/%{version}/src/%{name}-%{version}.tar.xz +Source2: pykdeuic4.sh + # Revert https://reviewboard.kde.org/r/101903 # hard-codes sip path to /usr/share/sip, instead of respecting system path Patch1: pykde4-4.13.97-use_system_sip_dir.patch @@ -192,11 +194,6 @@ make install/fast DESTDIR=%{buildroot} -C %{_target_cpu}-python3 # omit conflict with base kpythonpluginfactory rm -fv %{buildroot}%{_kde4_libdir}/kde4/kpythonpluginfactory.so -# HACK: fix multilib conflict, similar to PyQt4's http://bugzilla.redhat.com/509415 -rm -fv %{buildroot}%{_bindir}/pykdeuic4-%{python3_version} -cp -a %{buildroot}%{python3_sitearch}/PyQt4/uic/pykdeuic4.py \ - %{buildroot}%{_bindir}/pykdeuic4-%{python3_version} - # install pykde4 examples under correct dir mkdir -p %{buildroot}%{_docdir}/python3-pykde4 rm -fv %{buildroot}%{_kde4_appsdir}/pykde4/examples/*.py? @@ -205,17 +202,20 @@ mv %{buildroot}%{_kde4_appsdir}/pykde4/examples/ %{buildroot}%{_docdir}/python3- make install/fast DESTDIR=%{buildroot} -C %{_target_cpu} -# HACK: fix multilib conflict, similar to PyQt4's http://bugzilla.redhat.com/509415 -rm -fv %{buildroot}%{_bindir}/pykdeuic4{,-%{python2_version}} -cp -a %{buildroot}%{python2_sitearch}/PyQt4/uic/pykdeuic4.py \ - %{buildroot}%{_bindir}/pykdeuic4-%{python2_version} -ln -s pykdeuic4-%{python2_version} %{buildroot}%{_bindir}/pykdeuic4 - # install pykde4 examples under correct dir mkdir -p %{buildroot}%{_docdir}/pykde4 rm -fv %{buildroot}%{_kde4_appsdir}/pykde4/examples/*.py? mv %{buildroot}%{_kde4_appsdir}/pykde4/examples/ %{buildroot}%{_docdir}/pykde4/ +# install pyuic4 wrapper to support both python2/python3 +rm -fv %{buildroot}%{_bindir}/pykdeuic4{,-%{python2_version},-%{python3_version}} +install -p -m755 -D %{SOURCE2} \ + %{buildroot}%{_bindir}/pykdeuic4 +sed -i \ + -e "s|@PYTHON3@|%{__python3}|g" \ + -e "s|@PYTHON2@|%{__python2}|g" \ + %{buildroot}%{_bindir}/pykdeuic4 + %files %dir %{python2_sitearch}/PyKDE4/ @@ -236,7 +236,7 @@ mv %{buildroot}%{_kde4_appsdir}/pykde4/examples/ %{buildroot}%{_docdir}/pykde4/ %{python2_sitearch}/PyKDE4/pykdeconfig.py* %{python2_sitearch}/PyKDE4/solid.so %{python2_sitearch}/PyKDE4/soprano.so -%{python2_sitearch}/PyQt4/uic/widget-plugins/* +%{python2_sitearch}/PyQt4/uic/ %dir %{_docdir}/pykde4 %{_kde4_libdir}/kde4/kpythonpluginfactory.so @@ -245,8 +245,6 @@ mv %{buildroot}%{_kde4_appsdir}/pykde4/examples/ %{buildroot}%{_docdir}/pykde4/ %files devel %{_kde4_bindir}/pykdeuic4 -%{_kde4_bindir}/pykdeuic4-%{python2_version} -%{python2_sitearch}/PyQt4/uic/pykdeuic4.py* %{_docdir}/pykde4/examples/ %{_datadir}/sip/PyKDE4/ %{_datadir}/sip/PyKDE4/pykde_config.sip @@ -273,16 +271,14 @@ mv %{buildroot}%{_kde4_appsdir}/pykde4/examples/ %{buildroot}%{_docdir}/pykde4/ %{python3_sitearch}/PyKDE4/pykdeconfig.py %{python3_sitearch}/PyKDE4/solid.so %{python3_sitearch}/PyKDE4/soprano.so -%{python3_sitearch}/PyQt4/uic/widget-plugins/* +%{python3_sitearch}/PyQt4/uic/ %dir %{_docdir}/python3-pykde4/ %files -n python3-pykde4-akonadi %{python3_sitearch}/PyKDE4/akonadi.so %files -n python3-pykde4-devel -%{_kde4_bindir}/pykdeuic4-%{python3_version} -%{python3_sitearch}/PyQt4/uic/pykdeuic4.py* -%{python3_sitearch}/PyQt4/uic/__pycache__/ +%{_kde4_bindir}/pykdeuic4 %{_docdir}/python3-pykde4/examples/ %{_datadir}/python3-sip/PyKDE4/ %{_datadir}/python3-sip/PyKDE4/pykde_config.sip @@ -290,6 +286,9 @@ mv %{buildroot}%{_kde4_appsdir}/pykde4/examples/ %{buildroot}%{_docdir}/pykde4/ %changelog +* Fri Jun 05 2015 Rex Dieter 4.14.3-5 +- -devel/python3-pykde4-devel: use pykdeuic4 wrapper (see also #1193107) + * Sat May 02 2015 Kalev Lember - 4.14.3-4 - Rebuilt for GCC 5 C++11 ABI change diff --git a/pykdeuic4.sh b/pykdeuic4.sh new file mode 100644 index 0000000..95e7494 --- /dev/null +++ b/pykdeuic4.sh @@ -0,0 +1,7 @@ +#!/bin/sh +python3 -c "import PyKDE4" &> /dev/null +if [ $? -eq 0 ]; then + exec python3 -m PyQt4.uic.pykdeuic4 ${1+"$@"} +else + exec python2 -m PyQt4.uic.pykdeuic4 ${1+"$@"} +fi