[packages/QtSingleApplication] add qt5 packages

glen glen at pld-linux.org
Mon Feb 23 08:40:34 CET 2015


commit 97b6f0355c86e32d3724aede1e1e53196a9721f7
Author: Elan Ruusamäe <glen at delfi.ee>
Date:   Mon Feb 23 09:40:27 2015 +0200

    add qt5 packages

 QtSingleApplication.spec | 108 +++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 104 insertions(+), 4 deletions(-)
---
diff --git a/QtSingleApplication.spec b/QtSingleApplication.spec
index 68e9904..1557ffb 100644
--- a/QtSingleApplication.spec
+++ b/QtSingleApplication.spec
@@ -1,3 +1,8 @@
+#
+# Conditional build:
+%bcond_with	qt4		# build Qt4
+%bcond_without	qt5		# build Qt5
+
 # last commit to qtsingleapplication subdir in
 # https://qt.gitorious.org/qt-solutions/qt-solutions/
 %define	commit	841982ceec9d30a7ab7324979a0fd5c9c36fd121
@@ -18,15 +23,27 @@ Patch0:		qtsingleapplication-build.diff
 Patch1:		qtlockedfile.patch
 Patch2:		clementine.patch
 URL:		http://doc.qt.digia.com/solutions/4/qtsingleapplication/qtsingleapplication.html
+%if %{with qt4}
 BuildRequires:	QtCore-devel
 BuildRequires:	QtGui-devel
 BuildRequires:	QtLockedFile-devel
 BuildRequires:	QtNetwork-devel
 BuildRequires:	qt4-build
 BuildRequires:	qt4-qmake
+%endif
+%if %{with qt5}
+BuildRequires:	Qt5Core-devel
+BuildRequires:	Qt5Gui-devel
+BuildRequires:	Qt5LockedFile-devel
+BuildRequires:	Qt5Network-devel
+BuildRequires:	Qt5Widgets-devel
+BuildRequires:	qt5-build
+BuildRequires:	qt5-qmake
+%endif
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define		qt4dir	%{_datadir}/qt4
+%define		qt5dir	%{_libdir}/qt5
 
 %description
 For some applications it is useful or even critical that they are
@@ -51,6 +68,33 @@ Requires:	qt4-qmake
 This package contains libraries and header files for developing
 applications that use QtSingleApplication.
 
+%package -n Qt5SingleApplication
+Summary:	Qt library to start applications only once per user
+Group:		Libraries
+
+%description -n Qt5SingleApplication
+For some applications it is useful or even critical that they are
+started only once by any user. Future attempts to start the
+application should activate any already running instance, and possibly
+perform requested actions, e.g. loading a file, in that instance.
+
+The QtSingleApplication class provides an interface to detect a
+running instance, and to send command strings to that instance.
+
+For console (non-GUI) applications, the QtSingleCoreApplication
+variant is provided, which avoids dependency on QtGui.
+
+%package -n Qt5SingleApplication-devel
+Summary:	Development files for Qt5SingleApplication library
+Group:		Development/Libraries
+Requires:	Qt5SingleApplication = %{version}-%{release}
+Requires:	qt5-build
+Requires:	qt5-qmake
+
+%description -n Qt5SingleApplication-devel
+This package contains libraries and header files for developing
+applications that use QtSingleApplication.
+
 %prep
 %setup -qc
 %patch0 -p0
@@ -61,20 +105,51 @@ applications that use QtSingleApplication.
 # But just to make sure:
 rm src/{QtLocked,qtlocked}*
 
+set -- *
+install -d build-qt{4,5}
+cp -al "$@" build-qt4
+cp -al "$@" build-qt5
+
+%{__sed} -i -e 's/QtSolutions/Qt5Solutions/' build-qt5/common.pri
+
 %build
+%if %{with qt4}
+cd build-qt4
 # Does not use GNU configure
-./configure \
-	-library
+./configure -library
 qmake-qt4
 %{__make}
+cd ..
+%endif
+
+%if %{with qt5}
+cd build-qt5
+./configure -library
+# XXX fix QtLockedFile package?
+qmake-qt5 INCLUDEPATH+=%{_includedir}/qt5/QtSolutions
+%{__make}
+cd ..
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
+%if %{with qt4}
+cd build-qt4
 install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}/qt4/QtSolutions,%{qt4dir}/mkspecs/features}
 cp -a lib/* $RPM_BUILD_ROOT%{_libdir}
 rm $RPM_BUILD_ROOT%{_libdir}/lib*.so.1.0
 cp -p src/qtsingle*application.h src/QtSingle*Application $RPM_BUILD_ROOT%{_includedir}/qt4/QtSolutions
 cp -p %{SOURCE1} %{SOURCE2} $RPM_BUILD_ROOT%{qt4dir}/mkspecs/features
+%endif
+
+%if %{with qt5}
+cd build-qt5
+install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}/qt5/QtSolutions,%{qt5dir}/mkspecs/features}
+cp -a lib/* $RPM_BUILD_ROOT%{_libdir}
+rm $RPM_BUILD_ROOT%{_libdir}/lib*.so.1.0
+cp -p src/qtsingle*application.h src/QtSingle*Application $RPM_BUILD_ROOT%{_includedir}/qt5/QtSolutions
+cp -p %{SOURCE1} %{SOURCE2} $RPM_BUILD_ROOT%{qt5dir}/mkspecs/features
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -82,6 +157,10 @@ rm -rf $RPM_BUILD_ROOT
 %post	-p /sbin/ldconfig
 %postun -p /sbin/ldconfig
 
+%post	-n Qt5SingleApplication -p /sbin/ldconfig
+%postun	-n Qt5SingleApplication -p /sbin/ldconfig
+
+%if %{with qt4}
 %files
 %defattr(644,root,root,755)
 %doc README.TXT
@@ -95,11 +174,32 @@ rm -rf $RPM_BUILD_ROOT
 %doc doc examples
 %{_libdir}/libQtSolutions_SingleApplication-2.6.so
 %{_libdir}/libQtSolutions_SingleCoreApplication-2.6.so
-# XXX dir shared dir
-%dir %{_includedir}/qt4/QtSolutions
 %{_includedir}/qt4/QtSolutions/QtSingleApplication
 %{_includedir}/qt4/QtSolutions/QtSingleCoreApplication
 %{_includedir}/qt4/QtSolutions/qtsingleapplication.h
 %{_includedir}/qt4/QtSolutions/qtsinglecoreapplication.h
 %{qt4dir}/mkspecs/features/qtsingleapplication.prf
 %{qt4dir}/mkspecs/features/qtsinglecoreapplication.prf
+%endif
+
+%if %{with qt5}
+%files -n Qt5SingleApplication
+%defattr(644,root,root,755)
+%doc README.TXT
+%attr(755,root,root) %{_libdir}/libQt5Solutions_SingleApplication-2.6.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQt5Solutions_SingleApplication-2.6.so.1
+%attr(755,root,root) %{_libdir}/libQt5Solutions_SingleCoreApplication-2.6.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQt5Solutions_SingleCoreApplication-2.6.so.1
+
+%files -n Qt5SingleApplication-devel
+%defattr(644,root,root,755)
+%doc doc examples
+%{_libdir}/libQt5Solutions_SingleApplication-2.6.so
+%{_libdir}/libQt5Solutions_SingleCoreApplication-2.6.so
+%{_includedir}/qt5/QtSolutions/QtSingleApplication
+%{_includedir}/qt5/QtSolutions/QtSingleCoreApplication
+%{_includedir}/qt5/QtSolutions/qtsingleapplication.h
+%{_includedir}/qt5/QtSolutions/qtsinglecoreapplication.h
+%{qt5dir}/mkspecs/features/qtsingleapplication.prf
+%{qt5dir}/mkspecs/features/qtsinglecoreapplication.prf
+%endif
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/QtSingleApplication.git/commitdiff/97b6f0355c86e32d3724aede1e1e53196a9721f7



More information about the pld-cvs-commit mailing list