From 6581dc50b83f203d65eac61c00a159ab2a6ddb5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Andriot?= Date: Sat, 30 Jan 2021 14:34:02 +0100 Subject: RPM: massive update and cleanup --- ...eextensions-3.5.13.2-fix_extra_module_dir.patch | 41 ---- .../pykdeextensions-3.5.13.2-fix_include_dir.patch | 11 - .../pytdeextensions/pytdeextensions-14.0.0.spec | 239 ------------------- .../pytdeextensions/pytdeextensions-3.5.13.2.spec | 225 ------------------ .../libraries/pytdeextensions/pytdeextensions.spec | 261 +++++++++++++++++++++ 5 files changed, 261 insertions(+), 516 deletions(-) delete mode 100644 redhat/libraries/pytdeextensions/pykdeextensions-3.5.13.2-fix_extra_module_dir.patch delete mode 100644 redhat/libraries/pytdeextensions/pykdeextensions-3.5.13.2-fix_include_dir.patch delete mode 100644 redhat/libraries/pytdeextensions/pytdeextensions-14.0.0.spec delete mode 100644 redhat/libraries/pytdeextensions/pytdeextensions-3.5.13.2.spec create mode 100644 redhat/libraries/pytdeextensions/pytdeextensions.spec (limited to 'redhat/libraries/pytdeextensions') diff --git a/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13.2-fix_extra_module_dir.patch b/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13.2-fix_extra_module_dir.patch deleted file mode 100644 index e02d15f98..000000000 --- a/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13.2-fix_extra_module_dir.patch +++ /dev/null @@ -1,41 +0,0 @@ ---- 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,8 @@ - - # Build the 'stub' code. - cppcode = self.cpptemplate % {"moduledir": self.data_dir, -+ "extramodule": os.getenv("EXTRA_MODULE_DIR"), -+ "pyqt_dir": self.pyqt_dir, - "modulename": modulename, - "factoryfunction": factoryfunction, - "python_version": python_version} -@@ -854,6 +856,8 @@ - #include - - #define MODULE_DIR "%(moduledir)s" -+#define EXTRA_MODULE_DIR "%(extramodule)s" -+#define PYQT_DIR "%(pyqt_dir)s" - #define MODULE_NAME "%(modulename)s" - #define FACTORY "%(factoryfunction)s" - #define CPP_FACTORY %(factoryfunction)s ---- pykdeextensions-3.5.13.1/src/kdedistutils.py.ORI 2013-04-07 17:54:28.531813437 +0200 -+++ pykdeextensions-3.5.13.1/src/kdedistutils.py 2013-04-07 17:56:15.510529614 +0200 -@@ -903,6 +906,18 @@ - if(!pyize->appendToSysPath (path.latin1 ())) { - return report_error ("***Failed to set sys.path\n"); - } -+ -+ // Add the extra path to the python script to the interpreter search path. -+ TQString extrapath = TQString(EXTRA_MODULE_DIR); -+ if(!pyize->appendToSysPath (extrapath.latin1 ())) { -+ return report_error ("***Failed to set extra sys.path\n"); -+ } -+ -+ // Add the PYQT path to the python script to the interpreter search path. -+ TQString pyqt_dir = TQString(PYQT_DIR); -+ if(!pyize->appendToSysPath (pyqt_dir.latin1 ())) { -+ return report_error ("***Failed to set PYQT sys.path\n"); -+ } - - // Load the Python script. - PyObject *pyModule = pyize->importModule ((char *)script.latin1 ()); diff --git a/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13.2-fix_include_dir.patch b/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13.2-fix_include_dir.patch deleted file mode 100644 index 2d6863f65..000000000 --- a/redhat/libraries/pytdeextensions/pykdeextensions-3.5.13.2-fix_include_dir.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- 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/tde') - 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/pytdeextensions-14.0.0.spec b/redhat/libraries/pytdeextensions/pytdeextensions-14.0.0.spec deleted file mode 100644 index 88888da02..000000000 --- a/redhat/libraries/pytdeextensions/pytdeextensions-14.0.0.spec +++ /dev/null @@ -1,239 +0,0 @@ -# -# spec file for package pytdeextensions (version R14) -# -# Copyright (c) 2014 Trinity Desktop Environment -# -# All modifications and additions to the file contributed by third parties -# remain the property of their copyright owners, unless otherwise agreed -# upon. The license for this file, and modifications and additions to the -# file, is the same license as for the pristine package itself (unless the -# license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "Open Source License" is a -# license that conforms to the Open Source Definition (Version 1.9) -# published by the Open Source Initiative. -# -# Please submit bugfixes or comments via http://www.trinitydesktop.org/ -# - -%{!?python_sitearch:%global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} - -# TDE variables -%define tde_epoch 2 -%if "%{?tde_version}" == "" -%define tde_version 14.0.0 -%endif -%define tde_pkg pytdeextensions -%define tde_prefix /opt/trinity -%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_tdedocdir %{tde_docdir}/tde -%define tde_tdeincludedir %{tde_includedir}/tde - - -Name: trinity-%{tde_pkg} -Epoch: %{tde_epoch} -Version: 0.4.0 -Release: %{?tde_version}_%{?!preversion:1}%{?preversion:0_%{preversion}}%{?dist} -Summary: Python packages to support TDE applications (scripts) -Group: Development/Libraries/Python -URL: http://www.trinitydesktop.org/ -#URL: http://www.simonzone.com/software/pykdeextensions - -%if 0%{?suse_version} -License: GPL-2.0+ -%else -License: GPLv2+ -%endif - -#Vendor: Trinity Desktop -#Packager: Francois Andriot - -Prefix: %{tde_prefix} -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) - -Source0: %{name}-%{tde_version}%{?preversion:~%{preversion}}.tar.gz - -BuildRequires: trinity-tdelibs-devel >= %{tde_version} - -BuildRequires: desktop-file-utils -BuildRequires: gettext -BuildRequires: autoconf automake libtool m4 -BuildRequires: gcc-c++ - -BuildRequires: python-tqt-devel >= %{?epoch:%{epoch}:}3.18.1 -BuildRequires: trinity-python-trinity-devel -BuildRequires: trinity-pytqt-tools -Requires: python-tqt -Requires: trinity-python-trinity - -Requires: trinity-libpythonize0 = %{?epoch:%{epoch}:}%{version}-%{release} - -# SIP -BuildRequires: sip4-tqt-devel >= 4.10.5 -Requires: sip4-tqt >= 4.10.5 - - -Obsoletes: trinity-pykdeextensions < %{?epoch:%{epoch}:}%{version}-%{release} -Provides: trinity-pykdeextensions = %{?epoch:%{epoch}:}%{version}-%{release} - - -%description -PyTDE Extensions is a collection of software and Python packages -to support the creation and installation of TDE applications. - - -%files -%defattr(-,root,root,-) -%doc AUTHORS ChangeLog COPYING NEWS README TODO -%{tde_datadir}/apps/pytdeextensions/ -%{tde_tdedocdir}/HTML/en/pytdeextensions/ -%{python_sitearch}/* - -########## - -%package -n trinity-libpythonize0 -Summary: Python packages to support TDE applications (library) -Group: Development/Libraries/Python - -%description -n trinity-libpythonize0 -PyTDE Extensions is a collection of software and Python packages -to support the creation and installation of TDE applications. - -This package contains the libpythonize library files. - -%files -n trinity-libpythonize0 -%defattr(-,root,root,-) -%{tde_libdir}/libpythonize.so.* - -########## - -%package -n trinity-libpythonize-devel -Summary: Python packages to support TDE applications (development) -Group: Development/Libraries/Python -Requires: trinity-libpythonize0 = %{?epoch:%{epoch}:}%{version}-%{release} - -Obsoletes: trinity-libpythonize0-devel < %{?epoch:%{epoch}:}%{version}-%{release} -Provides: trinity-libpythonize0-devel = %{?epoch:%{epoch}:}%{version}-%{release} - -%description -n trinity-libpythonize-devel -PyTDE Extensions is a collection of software and Python packages -to support the creation and installation of TDE applications. - -This package contains the libpythonize development files. - -%files -n trinity-libpythonize-devel -%defattr(-,root,root,-) -%{tde_tdeincludedir}/*.h -%{tde_libdir}/libpythonize.la -%{tde_libdir}/libpythonize.so - -########## - -%package devel -Summary: Meta-package to install all pytdeextensions development files -Group: Development/Libraries/Python -Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} -Requires: trinity-libpythonize-devel = %{?epoch:%{epoch}:}%{version}-%{release} - -%description devel -This package is a meta-package to install all pytdeextensions development -files. - -%files devel - -########## - -%if 0%{?pclinuxos} || 0%{?suse_version} && 0%{?opensuse_bs} == 0 -%debug_package -%endif - -########## - -%prep -%setup -q -n %{name}-%{tde_version}%{?preversion:~%{preversion}} - -# Changes library directory to 'lib64' -# Also other fixes for distributions ... -for f in src/*.py; do - %__sed -i "${f}" \ - -e "s|'pytde-dir=',None,|'pytde-dir=','%{python_sitearch}',|g" \ - -e "s|self.pytde_dir = None|self.pytde_dir = \"%{python_sitearch}\"|g" \ - -e "s|'kde-lib-dir=',None,|'kde-lib-dir=','%{tde_libdir}',|g" \ - -e "s|self.kde_lib_dir = None|self.kde_lib_dir = \"%{tde_libdir}\"|g" \ - -e "s|'kde-kcm-lib-dir=',None,|'kde-kcm-lib-dir=','%{tde_libdir}/trinity',|g" \ - -e "s|self.kde_kcm_lib_dir = None|self.kde_kcm_lib_dir = \"%{tde_libdir}/trinity\"|g" \ - -e "s|%{tde_includedir}/tde|%{tde_tdeincludedir}|g" \ - -e 's|"/kde"|"/tde"|' \ - -e 's|"-I" + self.kde_inc_dir + "/tde"|"-I/opt/trinity/include"|' \ - -e "s|/usr/lib/pyshared/python\*|%{python_sitearch}|g" -done - -# Do not look for 'libpython2.x.so' (from -devel) package. -# Instead look for versioned runtime library. -LIBPYTHON="$(readlink %{_libdir}/libpython2.*.so)" -if [ -f "%{_libdir}/${LIBPYTHON}" ]; then - %__sed -i "src/tdedistutils.py" \ - -e "s|#define LIB_PYTHON \".*\"|#define LIB_PYTHON \"%{_libdir}/${LIBPYTHON}\"|" -fi - -# Fix FTBFS on RHEL 5 -%if 0%{?rhel} == 5 -%__sed -i "src/pythonize."* -e "s|const char \*object|char \*object|g" -%endif - - -%build -unset QTDIR QTINC QTLIB -export PATH="%{tde_bindir}:${PATH}" - -%__mkdir_p build -./setup.py build_libpythonize - - -%install -unset QTDIR QTINC QTLIB -export PATH="%{tde_bindir}:${PATH}" - -# 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} \ - -v - -# Removes BUILDROOT directory reference in installed files -for f in \ - %{buildroot}%{tde_libdir}/libpythonize.la \ - %{buildroot}%{tde_datadir}/apps/pytdeextensions/app_templates/kcontrol_module/src/KcontrolModuleWidgetUI.py \ - %{buildroot}%{tde_datadir}/apps/pytdeextensions/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} - - -%changelog diff --git a/redhat/libraries/pytdeextensions/pytdeextensions-3.5.13.2.spec b/redhat/libraries/pytdeextensions/pytdeextensions-3.5.13.2.spec deleted file mode 100644 index 069af8cec..000000000 --- a/redhat/libraries/pytdeextensions/pytdeextensions-3.5.13.2.spec +++ /dev/null @@ -1,225 +0,0 @@ -%{!?python_sitearch:%global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} - -%define tde_version 3.5.13.2 - -# TDE 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: %{?!preversion:5}%{?preversion:4_%{preversion}}%{?dist} - -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: %{name}-%{tde_version}%{?preversion:~%{preversion}}.tar.gz - - -# [pykdeextensions] Fix hardcoded path to Guidance python libraries [Bug #999] -Patch2: pykdeextensions-3.5.13.2-fix_extra_module_dir.patch -# [pykdeextensions] Fix include directory search location -Patch5: pykdeextensions-3.5.13.2-fix_include_dir.patch - -BuildRequires: trinity-tqtinterface-devel >= %{tde_version} -BuildRequires: trinity-arts-devel >= 1:1.5.10 -BuildRequires: trinity-tdelibs-devel >= %{tde_version} -BuildRequires: desktop-file-utils -BuildRequires: gettext - -# Python stuff -BuildRequires: python-qt3-devel -BuildRequires: trinity-python-trinity-devel - -Requires: trinity-libpythonize0 = %{version}-%{release} - -Obsoletes: trinity-pykdeextensions < %{version}-%{release} -Provides: trinity-pykdeextensions = %{version}-%{release} - - -%description -PyTDE Extensions is a collection of software and Python packages -to support the creation and installation of TDE applications. - - -%files -%defattr(-,root,root,-) -%doc AUTHORS ChangeLog COPYING NEWS README TODO -%{tde_datadir}/apps/pykdeextensions/ -%{tde_tdedocdir}/HTML/en/pykdeextensions/ -%{python_sitearch}/* - -########## - -%package -n trinity-libpythonize0 -Summary: Python packages to support KDE applications (library) [Trinity] -Group: Environment/Libraries - -%description -n trinity-libpythonize0 -PyTDE 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. - -%post -n trinity-libpythonize0 -/sbin/ldconfig - -%postun -n trinity-libpythonize0 -/sbin/ldconfig - -%files -n trinity-libpythonize0 -%defattr(-,root,root,-) -%{tde_libdir}/libpythonize.so.* - -########## - -%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 -PyTDE Extensions is a collection of software and Python packages -to support the creation and installation of TDE applications. - -This package contains the libpythonize development files. - -%post -n trinity-libpythonize0-devel -/sbin/ldconfig - -%postun -n trinity-libpythonize0-devel -/sbin/ldconfig - -%files -n trinity-libpythonize0-devel -%defattr(-,root,root,-) -%{tde_tdeincludedir}/*.h -%{tde_libdir}/libpythonize.la -%{tde_libdir}/libpythonize.so - -########## - -%package devel -Summary: Meta-package to install all pytdeextensions development files -Group: Development/Libraries -Requires: %{name}-devel = %{version}-%{release} -Requires: trinity-libpythonize0-devel = %{version}-%{release} - -%description devel -%{summary} - -%files devel - -########## - -%if 0%{?suse_version} || 0%{?pclinuxos} -%debug_package -%endif - -########## - -%prep -%setup -q -n %{name}-%{tde_version}%{?preversion:~%{preversion}} -%patch2 -p1 -b .extramodule -%patch5 -p1 -b .incdir - -# Changes library directory to 'lib64' -# Also other fixes for distributions ... -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|%{tde_includedir}/kde|%{tde_tdeincludedir}|g" \ - -e 's|"/kde"|"/tde"|' -done - -# Do not look for 'libpython2.x.so' (from -devel) package. -# Instead look for versioned runtime library. -LIBPYTHON="$(readlink %{_libdir}/libpython2.*.so)" -if [ -f "%{_libdir}/${LIBPYTHON}" ]; then - %__sed -i "src/kdedistutils.py" \ - -e "s|#define LIB_PYTHON \".*\"|#define LIB_PYTHON \"%{_libdir}/${LIBPYTHON}\"|" -fi - -# Set PyQt directory to actual directory -%__sed -i "src/kdedistutils.py" \ - -e "s|'pyqt-dir=','%{python_sitearch}'|'pyqt-dir=','%{python_sitearch}/python-qt3'|g" \ - -e "s|self.pyqt_dir = \"%{python_sitearch}\"|self.pyqt_dir = \"%{python_sitearch}/python-qt3\"|g" - - -%build -unset QTDIR QTINC QTLIB -. /etc/profile.d/qt3.sh -export PATH="%{tde_bindir}:${PATH}" -export PYTHONPATH=%{python_sitearch}/trinity-sip:%{python_sitearch}/python-qt3 - -%__mkdir_p build -./setup.py build_libpythonize - -%install -unset QTDIR QTINC QTLIB -. /etc/profile.d/qt3.sh -export PATH="%{tde_bindir}:${PATH}" -export PYTHONPATH=%{python_sitearch}/trinity-sip:%{python_sitearch}/python-qt3 - -# 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} \ - -v - -# 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} - - -%changelog diff --git a/redhat/libraries/pytdeextensions/pytdeextensions.spec b/redhat/libraries/pytdeextensions/pytdeextensions.spec new file mode 100644 index 000000000..e6c806fac --- /dev/null +++ b/redhat/libraries/pytdeextensions/pytdeextensions.spec @@ -0,0 +1,261 @@ +# +# spec file for package pytdeextensions (version R14) +# +# Copyright (c) 2014 Trinity Desktop Environment +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. +# +# Please submit bugfixes or comments via http://www.trinitydesktop.org/ +# + +# TDE variables +%define tde_epoch 2 +%if "%{?tde_version}" == "" +%define tde_version 14.1.0 +%endif +%define tde_pkg pytdeextensions +%define tde_prefix /opt/trinity +%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_tdedocdir %{tde_docdir}/tde +%define tde_tdeincludedir %{tde_includedir}/tde + + +Name: trinity-%{tde_pkg} +Epoch: %{tde_epoch} +Version: 0.4.0 +Release: %{?tde_version}_%{?!preversion:1}%{?preversion:0_%{preversion}}%{?dist} +Summary: Python packages to support TDE applications (scripts) +Group: Development/Libraries/Python +URL: http://www.trinitydesktop.org/ +#URL: http://www.simonzone.com/software/pykdeextensions + +%if 0%{?suse_version} +License: GPL-2.0+ +%else +License: GPLv2+ +%endif + +#Vendor: Trinity Desktop +#Packager: Francois Andriot + +Prefix: %{tde_prefix} +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Source0: %{name}-%{tde_version}%{?preversion:~%{preversion}}.tar.gz + +BuildRequires: trinity-tdelibs-devel >= %{tde_version} + +BuildRequires: desktop-file-utils +BuildRequires: gettext +BuildRequires: autoconf automake libtool m4 +BuildRequires: gcc-c++ + +BuildRequires: python-tqt-devel >= %{?epoch:%{epoch}:}3.18.1 +BuildRequires: trinity-python-trinity-devel +BuildRequires: trinity-pytqt-tools +Requires: python-tqt +Requires: trinity-python-trinity + +Requires: trinity-libpythonize0 = %{?epoch:%{epoch}:}%{version}-%{release} + +# SIP +BuildRequires: sip4-tqt-devel >= 4.10.5 +Requires: sip4-tqt >= 4.10.5 + +# PYTHON support +%if 0%{?rhel} >= 8 || 0%{?fedora} >= 31 || 0%{?suse_version} >= 1550 +%global python python2 +%global __python %__python2 +%global python_sitearch %{python2_sitearch} +%else +%global python python +%endif +%{!?python_sitearch:%global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} +BuildRequires: %{python} +BuildRequires: %{python}-devel + + +Obsoletes: trinity-pykdeextensions < %{?epoch:%{epoch}:}%{version}-%{release} +Provides: trinity-pykdeextensions = %{?epoch:%{epoch}:}%{version}-%{release} + + +%description +PyTDE Extensions is a collection of software and Python packages +to support the creation and installation of TDE applications. + + +%files +%defattr(-,root,root,-) +%doc AUTHORS ChangeLog COPYING NEWS README TODO +%{tde_datadir}/apps/pytdeextensions/ +%{tde_tdedocdir}/HTML/en/pytdeextensions/ +%{python_sitearch}/* + +########## + +%package -n trinity-libpythonize0 +Summary: Python packages to support TDE applications (library) +Group: Development/Libraries/Python + +%description -n trinity-libpythonize0 +PyTDE Extensions is a collection of software and Python packages +to support the creation and installation of TDE applications. + +This package contains the libpythonize library files. + +%files -n trinity-libpythonize0 +%defattr(-,root,root,-) +%{tde_libdir}/libpythonize.so.* + +########## + +%package -n trinity-libpythonize-devel +Summary: Python packages to support TDE applications (development) +Group: Development/Libraries/Python +Requires: trinity-libpythonize0 = %{?epoch:%{epoch}:}%{version}-%{release} + +Obsoletes: trinity-libpythonize0-devel < %{?epoch:%{epoch}:}%{version}-%{release} +Provides: trinity-libpythonize0-devel = %{?epoch:%{epoch}:}%{version}-%{release} + +%description -n trinity-libpythonize-devel +PyTDE Extensions is a collection of software and Python packages +to support the creation and installation of TDE applications. + +This package contains the libpythonize development files. + +%files -n trinity-libpythonize-devel +%defattr(-,root,root,-) +%{tde_tdeincludedir}/*.h +%{tde_libdir}/libpythonize.la +%{tde_libdir}/libpythonize.so + +########## + +%package devel +Summary: Meta-package to install all pytdeextensions development files +Group: Development/Libraries/Python +Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: trinity-libpythonize-devel = %{?epoch:%{epoch}:}%{version}-%{release} + +%description devel +This package is a meta-package to install all pytdeextensions development +files. + +%files devel + +########## + +%if 0%{?pclinuxos} || 0%{?suse_version} && 0%{?opensuse_bs} == 0 +%debug_package +%endif + +########## + +%prep +%setup -q -n %{name}-%{tde_version}%{?preversion:~%{preversion}} + +# Changes library directory to 'lib64' +# Also other fixes for distributions ... +for f in src/*.py; do + %__sed -i "${f}" \ + -e "s|'pytde-dir=',None,|'pytde-dir=','%{python_sitearch}',|g" \ + -e "s|self.pytde_dir = None|self.pytde_dir = \"%{python_sitearch}\"|g" \ + -e "s|'kde-lib-dir=',None,|'kde-lib-dir=','%{tde_libdir}',|g" \ + -e "s|self.kde_lib_dir = None|self.kde_lib_dir = \"%{tde_libdir}\"|g" \ + -e "s|'kde-kcm-lib-dir=',None,|'kde-kcm-lib-dir=','%{tde_libdir}/trinity',|g" \ + -e "s|self.kde_kcm_lib_dir = None|self.kde_kcm_lib_dir = \"%{tde_libdir}/trinity\"|g" \ + -e "s|%{tde_includedir}/tde|%{tde_tdeincludedir}|g" \ + -e 's|"/kde"|"/tde"|' \ + -e 's|"-I" + self.kde_inc_dir + "/tde"|"-I/opt/trinity/include"|' \ + -e "s|/usr/lib/pyshared/python\*|%{python_sitearch}|g" +done + +# Do not look for 'libpython2.x.so' (from -devel) package. +# Instead look for versioned runtime library. +LIBPYTHON="$(readlink %{_libdir}/libpython2.*.so)" +if [ -f "%{_libdir}/${LIBPYTHON}" ]; then + %__sed -i "src/tdedistutils.py" \ + -e "s|#define LIB_PYTHON \".*\"|#define LIB_PYTHON \"%{_libdir}/${LIBPYTHON}\"|" +fi + +# Fix FTBFS on RHEL 5 +%if 0%{?rhel} == 5 +%__sed -i "src/pythonize."* -e "s|const char \*object|char \*object|g" +%endif + +%if 0%{?fedora} >= 30 || 0%{?rhel} >= 8 +%__sed -i "app_templates/kcontrol_module/setup.py" \ + "app_templates/kcontrol_module/src/kcontrol_module.py" \ + "app_templates/kdeapp/setup.py" \ + "app_templates/kdeapp/src/kdeapp.py" \ + "app_templates/kdeutility/setup.py" \ + "app_templates/kdeutility/src/kdeutility.py" \ + "app_templates/tdeioslave/setup.py" \ + "app_templates/tdeioslave/src/tdeioslave.py" \ + -e "s|/usr/bin/python|/usr/bin/env python2|" +%endif + + +%build +unset QTDIR QTINC QTLIB +export PATH="%{tde_bindir}:${PATH}" + +%__mkdir_p build +%__python ./setup.py build_libpythonize + + +%install +unset QTDIR QTINC QTLIB +export PATH="%{tde_bindir}:${PATH}" + +# Avoids 'error: byte-compiling is disabled.' on Mandriva/Mageia +export PYTHONDONTWRITEBYTECODE= + +%__rm -rf %{buildroot} + +%__python ./setup.py install \ + --root=%{buildroot} \ + --prefix=%{tde_prefix} \ + --install-clib=%{tde_libdir} \ + --install-cheaders=%{tde_tdeincludedir} \ + -v + +# Removes BUILDROOT directory reference in installed files +for f in \ + %{buildroot}%{tde_libdir}/libpythonize.la \ + %{buildroot}%{tde_datadir}/apps/pytdeextensions/app_templates/kcontrol_module/src/KcontrolModuleWidgetUI.py \ + %{buildroot}%{tde_datadir}/apps/pytdeextensions/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} + + +%changelog -- cgit v1.2.1