From b4359e8bf97799f83dc1ca62744db7cfcc81bc87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Andriot?= Date: Mon, 24 Jun 2013 19:50:32 +0200 Subject: RPM Packaging: rename directories --- ...pykdeextensions-3.5.13-do_not_link_stdc++.patch | 31 +++ ...kdeextensions-3.5.13-fix_extra_module_dir.patch | 19 ++ .../pykdeextensions-3.5.13-fix_include_dir.patch | 11 ++ .../pykdeextensions-3.5.13-fix_libsuffix.patch | 53 +++++ .../pykdeextensions-3.5.13-fix_libtool.patch | 20 ++ ...eextensions-3.5.13.1-fix_extra_module_dir.patch | 18 ++ ...eextensions-3.5.13.1-fix_libgcc_detection.patch | 62 ++++++ .../trinity-pykdeextensions-3.5.13.1.spec | 212 ++++++++++++++++++++ .../trinity-pykdeextensions-3.5.13.spec | 215 +++++++++++++++++++++ 9 files changed, 641 insertions(+) create mode 100644 redhat/libraries/pytdeextensions/pykdeextensions-3.5.13-do_not_link_stdc++.patch create mode 100644 redhat/libraries/pytdeextensions/pykdeextensions-3.5.13-fix_extra_module_dir.patch create mode 100644 redhat/libraries/pytdeextensions/pykdeextensions-3.5.13-fix_include_dir.patch create mode 100644 redhat/libraries/pytdeextensions/pykdeextensions-3.5.13-fix_libsuffix.patch create mode 100644 redhat/libraries/pytdeextensions/pykdeextensions-3.5.13-fix_libtool.patch create mode 100644 redhat/libraries/pytdeextensions/pykdeextensions-3.5.13.1-fix_extra_module_dir.patch create mode 100644 redhat/libraries/pytdeextensions/pykdeextensions-3.5.13.1-fix_libgcc_detection.patch create mode 100644 redhat/libraries/pytdeextensions/trinity-pykdeextensions-3.5.13.1.spec create mode 100644 redhat/libraries/pytdeextensions/trinity-pykdeextensions-3.5.13.spec (limited to 'redhat/libraries/pytdeextensions') diff --git a/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13-do_not_link_stdc++.patch b/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13-do_not_link_stdc++.patch new file mode 100644 index 000000000..40177c2e2 --- /dev/null +++ b/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13-do_not_link_stdc++.patch @@ -0,0 +1,31 @@ +--- pykdeextensions/src/kdedistutils.py.ori 2012-08-05 09:04:21.430039677 +0000 ++++ pykdeextensions/src/kdedistutils.py 2012-08-05 09:04:33.013847354 +0000 +@@ -820,7 +820,7 @@ + linklist.append("-L"+self.kde_lib_dir); linklist.append("-L/opt/trinity/lib"); linklist.append("-lkdecore"); linklist.append("-lpythonize") + linklist.append("-L"+self.qt_lib_dir); linklist.append("-lqt-mt") + linklist.append("-lm") +- linklist.append("-lstdc++") ++# linklist.append("-lstdc++") + linklist.append("-lc") + linklist.append(self.clib) + +@@ -1734,7 +1734,7 @@ + linklist.append("-L"+self.kde_lib_dir); linklist.append("-L/opt/trinity/lib"); linklist.append("-lkdecore"); linklist.append("-lpythonize") + linklist.append("-L"+self.qt_lib_dir); linklist.append("-lqt-mt") + linklist.append("-lm") +- linklist.append("-lstdc++") ++# linklist.append("-lstdc++") + linklist.append("-lc") + linklist.append(self.clib) + +--- pykdeextensions/setup.py.ORI 2012-08-05 09:07:01.588332389 +0000 ++++ pykdeextensions/setup.py 2012-08-05 09:07:07.795225579 +0000 +@@ -223,7 +223,7 @@ + linklist.extend(sysconfig.get_config_var("LIBS").split()) + + linklist.append("-lm") +- linklist.append("-lstdc++") ++# linklist.append("-lstdc++") + linklist.append("-lc") + linklist.append(self.clib) + diff --git a/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13-fix_extra_module_dir.patch b/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13-fix_extra_module_dir.patch new file mode 100644 index 000000000..3b89e2422 --- /dev/null +++ b/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13-fix_extra_module_dir.patch @@ -0,0 +1,19 @@ +--- pykdeextensions/src/kdedistutils.py.libtool 2012-05-11 23:45:11.738618661 +0200 ++++ pykdeextensions/src/kdedistutils.py 2012-05-11 23:46:11.469447204 +0200 +@@ -712,6 +712,7 @@ + + # Build the 'stub' code. + cppcode = self.cpptemplate % {"moduledir": self.data_dir, ++ "extramodule": os.getenv("EXTRA_MODULE_DIR"), + "modulename": modulename, + "factoryfunction": factoryfunction, + "python_version": python_version} +@@ -855,7 +856,7 @@ + #include + + #define MODULE_DIR "%(moduledir)s" +-#define EXTRA_MODULE_DIR "/opt/trinity/share/python-support/kde-guidance-trinity" ++#define EXTRA_MODULE_DIR "%(extramodule)s" + #define EXTRA_MODULE_DIR_TWO "/opt/trinity/share/python-support/guidance-backends-trinity" + #define EXTRA_MODULE_DIR_THREE "/opt/trinity/share/python-support/kde-guidance-powermanager-trinity" + #define MODULE_NAME "%(modulename)s" diff --git a/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13-fix_include_dir.patch b/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13-fix_include_dir.patch new file mode 100644 index 000000000..05ac80b79 --- /dev/null +++ b/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13-fix_include_dir.patch @@ -0,0 +1,11 @@ +--- pykdeextensions/src/kdedistutils.py.ORI 2012-08-27 22:10:18.873738368 +0200 ++++ pykdeextensions/src/kdedistutils.py 2012-08-27 22:10:50.234094262 +0200 +@@ -539,7 +539,7 @@ + canidatepaths.append(os.path.join(kdedir,"include")) + canidatepaths.append(os.path.join(install.prefix,"include")) + canidatepaths.append('/opt/trinity/include') +- canidatepaths.append('/opt/kde/include') ++ canidatepaths.append('/opt/trinity/include/kde') + self.kde_inc_dir = FindFileInPaths('kapplication.h',canidatepaths) + if self.kde_inc_dir is None: + raise SystemExit, "Failed to find the KDE header file directory." diff --git a/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13-fix_libsuffix.patch b/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13-fix_libsuffix.patch new file mode 100644 index 000000000..b7db0c21c --- /dev/null +++ b/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13-fix_libsuffix.patch @@ -0,0 +1,53 @@ +commit 32d597f993f2566f7bdfec8a29c916b4c9b1a803 +Author: Darrell Anderson +Date: 1339639807 -0500 + + Reverse an old Debian-specific patch that prevents building on + some 64-bit systems. Add text to help with basic debugging. + +diff --git a/setup.py b/setup.py +index e51f0fa..e7ec147 100755 +--- a/setup.py ++++ b/setup.py +@@ -135,7 +135,7 @@ class BuildLibpythonize(Command): + if self.clib!=None: + self.clib = glob.glob(os.path.join(self.clib,'libgcc*.a'))[0] + if self.clib is None: +- raise SystemExit, "Failed to find a suitable libgcc library" ++ raise SystemExit, "setup.py: Failed to find a suitable libgcc library" + self.announce("Using %s for clib" % self.clib) + + # Make a list of places to look for python .so modules +diff --git a/src/kdedistutils.py b/src/kdedistutils.py +index b8b3743..b8e23f3 100644 +--- a/src/kdedistutils.py ++++ b/src/kdedistutils.py +@@ -660,7 +660,7 @@ class BuildKControlModule(Command): + if self.clib!=None: + self.clib = glob.glob(os.path.join(self.clib,'libgcc*.a'))[0] + if self.clib is None: +- raise SystemExit, "Failed to find a suitable libgcc library" ++ raise SystemExit, "kdedistutils.py (1): Failed to find a suitable libgcc library" + self.announce("Using %s for clib" % self.clib) + + # Make a list of places to look for python .so modules +@@ -1591,7 +1591,7 @@ class BuildKioslave(Command): + if self.clib!=None: + self.clib = glob.glob(os.path.join(self.clib,'libgcc*.a'))[0] + if self.clib is None: +- raise SystemExit, "Failed to find a suitable libgcc library" ++ raise SystemExit, "kdedistutils.py (2): Failed to find a suitable libgcc library" + self.announce("Using %s for clib" % self.clib) + + # Make a list of places to look for python .so modules +@@ -2229,7 +2229,7 @@ def compile_qtdesigner(ui_files, + + ########################################################################### + def get_libdir_name(): +- #if os.uname()[4] in ['x86_64','mips64','ppc64','sparc64','s390x']: +- # return 'lib64' +- #else: ++ if os.uname()[4] in ['x86_64','mips64','ppc64','sparc64','s390x']: ++ return 'lib64' ++ else: + return 'lib' diff --git a/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13-fix_libtool.patch b/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13-fix_libtool.patch new file mode 100644 index 000000000..44c50bd06 --- /dev/null +++ b/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13-fix_libtool.patch @@ -0,0 +1,20 @@ +--- pykdeextensions/src/kdedistutils.py.libtool 2011-08-21 23:01:12.000000000 +0200 ++++ pykdeextensions/src/kdedistutils.py 2012-05-11 23:41:07.326232457 +0200 +@@ -790,6 +791,8 @@ + cmdlist.append(sysconfig.get_config_var("LDSHARED").split()[0]) + # link_flags + cmdlist.append("-module") ++ cmdlist.append("-avoid-version") ++ cmdlist.append("-shared") + cmdlist.append("-export-dynamic") + # object + cmdlist.append(outputfile) +@@ -1703,6 +1705,8 @@ + cmdlist.append(sysconfig.get_config_var("LDSHARED").split()[0]) + # link_flags + cmdlist.append("-module") ++ cmdlist.append("-avoid-version") ++ cmdlist.append("-shared") + cmdlist.append("-export-dynamic") + # object + cmdlist.append(outputfile) diff --git a/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13.1-fix_extra_module_dir.patch b/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13.1-fix_extra_module_dir.patch new file mode 100644 index 000000000..2a1cfee6c --- /dev/null +++ b/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13.1-fix_extra_module_dir.patch @@ -0,0 +1,18 @@ +--- pykdeextensions-3.5.13.1/src/kdedistutils.py.extramodule 2012-09-08 17:33:05.000000000 +0000 ++++ pykdeextensions-3.5.13.1/src/kdedistutils.py 2012-10-02 19:19:40.185384207 +0000 +@@ -712,6 +712,7 @@ + + # Build the 'stub' code. + cppcode = self.cpptemplate % {"moduledir": self.data_dir, ++ "extramodule": os.getenv("EXTRA_MODULE_DIR"), + "modulename": modulename, + "factoryfunction": factoryfunction, + "python_version": python_version} +@@ -854,6 +855,7 @@ + #include + + #define MODULE_DIR "%(moduledir)s" ++#define EXTRA_MODULE_DIR "%(extramodule)s" + #define MODULE_NAME "%(modulename)s" + #define FACTORY "%(factoryfunction)s" + #define CPP_FACTORY %(factoryfunction)s diff --git a/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13.1-fix_libgcc_detection.patch b/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13.1-fix_libgcc_detection.patch new file mode 100644 index 000000000..720b8bdc3 --- /dev/null +++ b/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13.1-fix_libgcc_detection.patch @@ -0,0 +1,62 @@ +--- pykdeextensions-3.5.13.1/setup.py.libgcc 2012-09-08 11:59:03.000000000 +0200 ++++ pykdeextensions-3.5.13.1/setup.py 2012-10-06 12:52:03.768762713 +0200 +@@ -126,7 +126,7 @@ + + # Find the C library (libgcc, libgcc_s or some other variation). + if self.clib is None: +- canidatepaths = ["/usr/"+kdedistutils.get_libdir_name(), "/usr/local/"+kdedistutils.get_libdir_name() ] ++ canidatepaths = ["/usr/"+kdedistutils.get_libdir_name(), "/usr/local/"+kdedistutils.get_libdir_name(), "/usr/lib" ] + self.clib = kdedistutils.FindFileInPaths("libgcc*.so",canidatepaths) + if self.clib!=None: + self.clib = glob.glob(os.path.join(self.clib,'libgcc*.so'))[0] +--- pykdeextensions-3.5.13.1/src/kdedistutils.py.libgcc 2012-10-06 13:29:31.920413352 +0200 ++++ pykdeextensions-3.5.13.1/src/kdedistutils.py 2012-10-06 13:31:23.440538658 +0200 +@@ -564,6 +564,9 @@ + # Qt inc dir + if self.qt_inc_dir is None: + canidatepaths = [] ++ qtinc = os.getenv("QTINC") ++ if qtinc != None: ++ canidatepaths.append(qtinc) + qtdir = os.getenv("QTDIR") + if qtdir != None: + canidatepaths.append(os.path.join(qtdir,"include")) +@@ -585,6 +588,9 @@ + # Qt lib dir + if self.qt_lib_dir is None: + canidatepaths = [] ++ qtlib = os.getenv("QTLIB") ++ if qtlib != None: ++ canidatepaths.append(qtlib) + qtdir = os.getenv("QTDIR") + if qtdir != None: + canidatepaths.append(os.path.join(qtdir,get_libdir_name())) +@@ -634,7 +640,7 @@ + + # Find the C library (libgcc, libgcc_s or some other variation). + if self.clib is None: +- canidatepaths = ["/usr/"+get_libdir_name(), "/usr/local/"+get_libdir_name() ] ++ canidatepaths = ["/usr/"+get_libdir_name(), "/usr/local/"+get_libdir_name(), "/usr/lib" ] + self.clib = FindFileInPaths("libgcc*.so",canidatepaths) + if self.clib!=None: + self.clib = glob.glob(os.path.join(self.clib,'libgcc*.so'))[0] +@@ -1481,6 +1487,9 @@ + # Qt inc dir + if self.qt_inc_dir is None: + canidatepaths = [] ++ qtinc = os.getenv("QTINC") ++ if qtinc != None: ++ canidatepaths.append(qtinc) + qtdir = os.getenv("QTDIR") + if qtdir != None: + canidatepaths.append(os.path.join(qtdir,"include")) +@@ -1501,6 +1510,9 @@ + # Qt lib dir + if self.qt_lib_dir is None: + canidatepaths = [] ++ qtlib = os.getenv("QTLIB") ++ if qtlib != None: ++ canidatepaths.append(qtlib) + qtdir = os.getenv("QTDIR") + if qtdir != None: + canidatepaths.append(os.path.join(qtdir,get_libdir_name())) diff --git a/redhat/libraries/pytdeextensions/trinity-pykdeextensions-3.5.13.1.spec b/redhat/libraries/pytdeextensions/trinity-pykdeextensions-3.5.13.1.spec new file mode 100644 index 000000000..377e55360 --- /dev/null +++ b/redhat/libraries/pytdeextensions/trinity-pykdeextensions-3.5.13.1.spec @@ -0,0 +1,212 @@ +%{!?python_sitearch:%global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} + +# If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt". +%if "%{?tde_prefix}" != "/usr" +%define _variant .opt +%endif + +# TDE 3.5.13 specific building variables +%define tde_bindir %{tde_prefix}/bin +%define tde_datadir %{tde_prefix}/share +%define tde_docdir %{tde_datadir}/doc +%define tde_includedir %{tde_prefix}/include +%define tde_libdir %{tde_prefix}/%{_lib} +%define tde_mandir %{tde_datadir}/man +%define tde_appdir %{tde_datadir}/applications + +%define tde_tdeappdir %{tde_appdir}/kde +%define tde_tdedocdir %{tde_docdir}/tde +%define tde_tdeincludedir %{tde_includedir}/tde +%define tde_tdelibdir %{tde_libdir}/trinity + +%define _docdir %{tde_docdir} + + + +Name: trinity-pytdeextensions +Summary: Python packages to support TDE applications (scripts) [Trinity] +Version: 0.4.0 +Release: 3%{?dist}%{?_variant} + +License: GPLv2+ +Group: Applications/Utilities + +Vendor: Trinity Project +Packager: Francois Andriot +URL: http://www.simonzone.com/software/pykdeextensions + +Prefix: %{tde_prefix} +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Source0: pykdeextensions-3.5.13.1.tar.gz + + + + +# [pykdeextensions] Fix hardcoded path to Guidance python libraries [Bug #999] +Patch2: pykdeextensions-3.5.13.1-fix_extra_module_dir.patch +# [pykdeextensions] Fix include directory search location +Patch5: pykdeextensions-3.5.13-fix_include_dir.patch +# [pykdeextensions] Fix 'libgcc' search location +Patch6: pykdeextensions-3.5.13.1-fix_libgcc_detection.patch + +BuildRequires: trinity-tqtinterface-devel >= 3.5.13.1 +BuildRequires: trinity-arts-devel >= 3.5.13.1 +BuildRequires: trinity-tdelibs-devel >= 3.5.13.1 +BuildRequires: desktop-file-utils +BuildRequires: gettext + +BuildRequires: python-trinity-devel + +%if 0%{?mgaversion} || 0%{?mdkversion} +BuildRequires: python-qt +%else +%if 0%{?rhel} == 5 || 0%{?suse_version} +BuildRequires: trinity-PyQt-devel +%else +BuildRequires: PyQt-devel +%endif +%endif + +Requires: trinity-libpythonize0 = %{version}-%{release} + +Obsoletes: trinity-pykdeextensions < %{version}-%{release} +Provides: trinity-pykdeextensions = %{version}-%{release} + + +%description +PyKDE Extensions is a collection of software and Python packages +to support the creation and installation of KDE applications. + + +%package -n trinity-libpythonize0 +Summary: Python packages to support KDE applications (library) [Trinity] +Group: Environment/Libraries + +%description -n trinity-libpythonize0 +PyKDE Extensions is a collection of software and Python packages +to support the creation and installation of KDE applications. + +This package contains the libpythonize library files. + + +%package -n trinity-libpythonize0-devel +Summary: Python packages to support KDE applications (development) [Trinity] +Group: Development/Libraries +Requires: trinity-libpythonize0 = %{version}-%{release} + +%description -n trinity-libpythonize0-devel +PyKDE Extensions is a collection of software and Python packages +to support the creation and installation of KDE applications. + +This package contains the libpythonize development files. + + +%if 0%{?suse_version} || 0%{?pclinuxos} +%debug_package +%endif + + +%prep +%setup -q -n pykdeextensions-3.5.13.1 +%patch2 -p1 -b .extramodule +%patch5 -p1 -b .incdir +%patch6 -p1 -b .libgcc + +# Changes library directory to 'lib64' +for f in src/*.py; do + %__sed -i "${f}" \ + -e "s|%{tde_prefix}/lib/|%{tde_libdir}/|g" \ + -e "s|/usr/lib/pyshared/python\*|%{python_sitearch}|g" \ + -e "s|'pykde-dir=',None,|'pykde-dir=','%{python_sitearch}',|g" \ + -e "s|self.pykde_dir = None|self.pykde_dir = \"%{python_sitearch}\"|g" \ + -e "s|/usr/include/tqt|%{tde_includedir}/tqt|g" \ + -e "s|%{tde_includedir}/kde|%{tde_tdeincludedir}|g" \ + -e 's|"/kde"|"/tde"|' +done + +%build +unset QTDIR; . /etc/profile.d/qt3.sh +export PATH="%{tde_bindir}:${PATH}" +export LDFLAGS="-L%{tde_libdir} -I%{tde_includedir}" +export PYTHONPATH=%{python_sitearch}/trinity-sip:%{python_sitearch}/trinity-PyQt +export KDEDIR=%{tde_prefix} + +%__mkdir_p build +./setup.py build_libpythonize + +%install +unset QTDIR; . /etc/profile.d/qt3.sh +export PATH="%{tde_bindir}:${PATH}" +export PYTHONPATH=%{python_sitearch}/trinity-sip:%{python_sitearch}/trinity-PyQt + +# Avoids 'error: byte-compiling is disabled.' on Mandriva/Mageia +export PYTHONDONTWRITEBYTECODE= + +%__rm -rf %{buildroot} + +./setup.py install \ + --root=%{buildroot} \ + --prefix=%{tde_prefix} \ + --install-clib=%{tde_libdir} \ + --install-cheaders=%{tde_tdeincludedir} + +# Removes BUILDROOT directory reference in installed files +for f in \ + %{buildroot}%{tde_libdir}/libpythonize.la \ + %{buildroot}%{tde_datadir}/apps/pykdeextensions/app_templates/kcontrol_module/src/KcontrolModuleWidgetUI.py \ + %{buildroot}%{tde_datadir}/apps/pykdeextensions/app_templates/kdeutility/src/KDEUtilityDialogUI.py \ +; do + %__sed -i "${f}" -e "s|%{buildroot}||g" +: +done + +# Moves PYTHON libraries to distribution directory +%__mkdir_p %{buildroot}%{python_sitearch} +%__mv -f %{buildroot}%{tde_prefix}/lib/python*/site-packages/* %{buildroot}%{python_sitearch} +%__rm -rf %{buildroot}%{tde_prefix}/lib/python*/site-packages + +# Removes useless files +%__rm -rf %{?buildroot}%{tde_libdir}/*.a + +# Fix permissions on include files +%__chmod 644 %{?buildroot}%{tde_tdeincludedir}/*.h + +%clean +%__rm -rf %{buildroot} + + +%post -n trinity-libpythonize0 +/sbin/ldconfig + +%postun -n trinity-libpythonize0 +/sbin/ldconfig + +%post -n trinity-libpythonize0-devel +/sbin/ldconfig + +%postun -n trinity-libpythonize0-devel +/sbin/ldconfig + + +%files +%defattr(-,root,root,-) +%doc AUTHORS ChangeLog COPYING NEWS README TODO +%{tde_datadir}/apps/pykdeextensions +%{tde_tdedocdir}/HTML/en/pykdeextensions +%{python_sitearch}/* + +%files -n trinity-libpythonize0 +%defattr(-,root,root,-) +%{tde_libdir}/libpythonize.so.* + +%files -n trinity-libpythonize0-devel +%defattr(-,root,root,-) +%{tde_tdeincludedir}/*.h +%{tde_libdir}/libpythonize.la +%{tde_libdir}/libpythonize.so + + +%Changelog +* Tue Oct 02 2012 Francois Andriot - 0.4.0-3 +- Initial release for TDE 3.5.13.1 diff --git a/redhat/libraries/pytdeextensions/trinity-pykdeextensions-3.5.13.spec b/redhat/libraries/pytdeextensions/trinity-pykdeextensions-3.5.13.spec new file mode 100644 index 000000000..18de0507e --- /dev/null +++ b/redhat/libraries/pytdeextensions/trinity-pykdeextensions-3.5.13.spec @@ -0,0 +1,215 @@ +%{!?python_sitearch:%global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} + +# If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt". +%if "%{?tde_prefix}" != "/usr" +%define _variant .opt +%endif + +# TDE 3.5.13 specific building variables +%define tde_bindir %{tde_prefix}/bin +%define tde_datadir %{tde_prefix}/share +%define tde_docdir %{tde_datadir}/doc +%define tde_includedir %{tde_prefix}/include +%define tde_libdir %{tde_prefix}/%{_lib} +%define tde_mandir %{tde_datadir}/man +%define tde_appdir %{tde_datadir}/applications + +%define tde_tdeappdir %{tde_appdir}/kde +%define tde_tdedocdir %{tde_docdir}/kde +%define tde_tdeincludedir %{tde_includedir}/kde +%define tde_tdelibdir %{tde_libdir}/trinity + +%define _docdir %{tde_docdir} + + + +Name: trinity-pytdeextensions +Summary: Python packages to support TDE applications (scripts) [Trinity] +Version: 0.4.0 +Release: 2%{?dist}%{?_variant} + +License: GPLv2+ +Group: Applications/Utilities + +Vendor: Trinity Project +Packager: Francois Andriot +URL: http://www.simonzone.com/software/pykdeextensions + +Prefix: %{tde_prefix} +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Source0: pykdeextensions-3.5.13.tar.gz + + + + +# [pykdeextensions] Fix KCM modules versioning [Bug #999] +Patch1: pykdeextensions-3.5.13-fix_libtool.patch +# [pykdeextensions] Fix hardcoded path to Guidance python libraries [Bug #999] +Patch2: pykdeextensions-3.5.13-fix_extra_module_dir.patch +# [pykdeextensions] Reverse an old Debian-specific patch that prevents building on +# some 64-bit systems. Add text to help with basic debugging. [Commit #32d597f9] +Patch3: pykdeextensions-3.5.13-fix_libsuffix.patch +# [pykdeextensions] Do not link with stdc++ +Patch4: pykdeextensions-3.5.13-do_not_link_stdc++.patch +# [pykdeextensions] Fix include directory search location +Patch5: pykdeextensions-3.5.13-fix_include_dir.patch + +BuildRequires: tqtinterface-devel +BuildRequires: trinity-tdelibs-devel +BuildRequires: trinity-tdebase-devel +BuildRequires: desktop-file-utils +BuildRequires: gettext + +BuildRequires: python-trinity-devel + +%if 0%{?mgaversion} || 0%{?mdkversion} +BuildRequires: python-qt +%else +%if 0%{?rhel} == 5 +BuildRequires: trinity-PyQt-devel +%else +BuildRequires: PyQt-devel +%endif +%endif + +Requires: trinity-libpythonize0 = %{version}-%{release} + +Obsoletes: trinity-pykdeextensions < %{version}-%{release} +Provides: trinity-pykdeextensions = %{version}-%{release} + + +%description +PyKDE Extensions is a collection of software and Python packages +to support the creation and installation of KDE applications. + + +%package -n trinity-libpythonize0 +Summary: Python packages to support KDE applications (library) [Trinity] +Group: Environment/Libraries + +%description -n trinity-libpythonize0 +PyKDE Extensions is a collection of software and Python packages +to support the creation and installation of KDE applications. + +This package contains the libpythonize library files. + + +%package -n trinity-libpythonize0-devel +Summary: Python packages to support KDE applications (development) [Trinity] +Group: Development/Libraries +Requires: trinity-libpythonize0 = %{version}-%{release} + +%description -n trinity-libpythonize0-devel +PyKDE Extensions is a collection of software and Python packages +to support the creation and installation of KDE applications. + +This package contains the libpythonize development files. + + +%prep +%setup -q -n libraries/pykdeextensions +%patch1 -p1 -b .libtool +%patch2 -p1 -b .extramodule +%patch3 -p1 -b .libsuffix +%patch4 -p1 -b .stdc++ +%patch5 -p1 -b .incdir + +# Changes library directory to 'lib64' +for f in src/*.py; do + %__sed -i "${f}" \ + -e "s|%{tde_prefix}/lib/|%{tde_libdir}/|g" \ + -e "s|/usr/lib/pyshared/python2.6|%{python_sitearch}|g" \ + -e "s|'pykde-dir=',None,|'pykde-dir=','%{python_sitearch}',|g" \ + -e "s|self.pykde_dir = None|self.pykde_dir = \"%{python_sitearch}\"|g" \ + -e "s|/usr/include/tqt|%{tde_includedir}/tqt|g" +done + +%build +unset QTDIR; . /etc/profile.d/qt.sh +export PATH="%{tde_bindir}:${PATH}" +export LDFLAGS="-L%{tde_libdir} -I%{tde_includedir}" +export PYTHONPATH=%{python_sitearch}/trinity-sip:%{python_sitearch}/trinity-PyQt + +./setup.py build_libpythonize + +%install +unset QTDIR; . /etc/profile.d/qt.sh +export PATH="%{tde_bindir}:${PATH}" +export PYTHONPATH=%{python_sitearch}/trinity-sip:%{python_sitearch}/trinity-PyQt + +# Avoids 'error: byte-compiling is disabled.' on Mandriva/Mageia +export PYTHONDONTWRITEBYTECODE= + +%__rm -rf %{buildroot} + + +./setup.py install \ + --root=%{buildroot} \ + --prefix=%{tde_prefix} \ + --install-clib=%{tde_libdir} \ + --install-cheaders=%{tde_tdeincludedir} + +# Removes BUILDROOT directory reference in installed files +for f in \ + %{buildroot}%{tde_libdir}/libpythonize.la \ + %{buildroot}%{tde_datadir}/apps/pykdeextensions/app_templates/kcontrol_module/src/KcontrolModuleWidgetUI.py \ + %{buildroot}%{tde_datadir}/apps/pykdeextensions/app_templates/kdeutility/src/KDEUtilityDialogUI.py \ +; do + %__sed -i "${f}" -e "s|%{buildroot}||g" +: +done + +# Moves PYTHON libraries to distribution directory +%__mkdir_p %{buildroot}%{python_sitearch} +%__mv -f %{buildroot}%{tde_prefix}/lib/python*/site-packages/* %{buildroot}%{python_sitearch} +%__rm -rf %{buildroot}%{tde_prefix}/lib/python*/site-packages + +# Removes useless files +%__rm -rf %{?buildroot}%{tde_libdir}/*.a + +# Fix permissions on include files +%__chmod 644 %{?buildroot}%{tde_tdeincludedir}/*.h + +%clean +%__rm -rf %{buildroot} + + +%post -n trinity-libpythonize0 +/sbin/ldconfig + +%postun -n trinity-libpythonize0 +/sbin/ldconfig + +%post -n trinity-libpythonize0-devel +/sbin/ldconfig + +%postun -n trinity-libpythonize0-devel +/sbin/ldconfig + + +%files +%defattr(-,root,root,-) +%doc AUTHORS ChangeLog COPYING NEWS README TODO +%{tde_datadir}/apps/pykdeextensions +%{tde_tdedocdir}/HTML/en/pykdeextensions +%{python_sitearch}/* + +%files -n trinity-libpythonize0 +%defattr(-,root,root,-) +%{tde_libdir}/libpythonize.so.* + +%files -n trinity-libpythonize0-devel +%defattr(-,root,root,-) +%{tde_tdeincludedir}/*.h +%{tde_libdir}/libpythonize.la +%{tde_libdir}/libpythonize.so + + +%Changelog +* Fri May 11 2012 Francois Andriot - 0.4.0-2 +- Fix KCM modules versioning [Bug #999] +- Fix hardcoded path to Guidance python libraries [Bug #999] + +* Thu Dec 01 2011 Francois Andriot - 0.4.0-1 +- Initial build for RHEL 5, RHEL 6, Fedora 15, Fedora 16 -- cgit v1.2.3