[packages/QtSingleApplication] - pl - added install patch, use make install and single source dir with split build dirs - release 5

qboosh qboosh at pld-linux.org
Mon Dec 31 18:41:37 CET 2018


commit 5174eaa4b5fc623c5dea9a6be0232c22affc2c1e
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Mon Dec 31 18:46:08 2018 +0100

    - pl
    - added install patch, use make install and single source dir with split build dirs
    - release 5

 QtSingleApplication.spec          | 147 ++++++++++++++++++++++++--------------
 qtsingleapplication-install.patch |  32 +++++++++
 2 files changed, 127 insertions(+), 52 deletions(-)
---
diff --git a/QtSingleApplication.spec b/QtSingleApplication.spec
index cc21813..8e051d6 100644
--- a/QtSingleApplication.spec
+++ b/QtSingleApplication.spec
@@ -6,10 +6,11 @@
 # last commit to qtsingleapplication subdir in
 # https://qt.gitorious.org/qt-solutions/qt-solutions/
 %define	commit	ad9bc4600ce769a8b3ad10910803cd555811b70c
-Summary:	Qt library to start applications only once per user
+Summary:	Qt 4 library to start applications only once per user
+Summary(pl.UTF-8):	Biblioteka Qt 4 do uruchamiania pojedynczej instancji aplikacji na użytkownika
 Name:		QtSingleApplication
 Version:	2.6.1
-Release:	4
+Release:	5
 License:	GPL v3 or LGPL v2 with exceptions
 Group:		Libraries
 Source0:	https://github.com/qtproject/qt-solutions/archive/%{commit}/%{name}-%{commit}.tar.gz
@@ -20,23 +21,24 @@ Patch0:		qtsingleapplication-build.diff
 Patch1:		qtlockedfile.patch
 Patch2:		clementine.patch
 Patch3:		version.patch
+Patch4:		qtsingleapplication-install.patch
 URL:		http://doc.qt.digia.com/solutions/4/qtsingleapplication/qtsingleapplication.html
 BuildRequires:	glibc-misc
 BuildRequires:	libstdc++-devel
 %if %{with qt4}
-BuildRequires:	QtGui-devel
+BuildRequires:	QtGui-devel >= 4
 BuildRequires:	QtLockedFile-devel
-BuildRequires:	QtNetwork-devel
-BuildRequires:	qt4-build
-BuildRequires:	qt4-qmake
+BuildRequires:	QtNetwork-devel >= 4
+BuildRequires:	qt4-build >= 4
+BuildRequires:	qt4-qmake >= 4
 %endif
 %if %{with qt5}
-BuildRequires:	Qt5Core-devel
-BuildRequires:	Qt5Gui-devel
+BuildRequires:	Qt5Core-devel >= 5.4
+BuildRequires:	Qt5Gui-devel >= 5.4
 BuildRequires:	Qt5LockedFile-devel
-BuildRequires:	Qt5Network-devel
-BuildRequires:	Qt5Widgets-devel
-BuildRequires:	qt5-build
+BuildRequires:	Qt5Network-devel >= 5.4
+BuildRequires:	Qt5Widgets-devel >= 5.4
+BuildRequires:	qt5-build >= 5.4
 BuildRequires:	qt5-qmake >= 5.4
 %endif
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -56,17 +58,37 @@ 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.
 
+%description -l pl.UTF-8
+Dla niektórych aplikacji przydatne, lub nawet krytyczne, jest to, aby
+uruchamiane były tylko w jednej instancji na użytkownika. Kolejne
+próby uruchomienia powinny aktywować już działającą instancję i
+ewentualnie wyjonywać żądane akcje, np. załadowanie pliku w tej
+instancji.
+
+Klasa QtSingleApplication udostępnia interfejs do wykrywania
+działającej instancji i wysyłania do niej łańcuchów poleceń.
+
+Dla aplikacji konsolowych (bez GUI) udostępniony jest wariant
+QtSingleCoreApplication, który nie ma zależności od QtGui.
+
 %package devel
 Summary:	Development files for QtSingleApplication
+Summary(pl.UTF-8):	Pliki programistyczne biblioteki QtSingleApplication
 Group:		Development/Libraries
 Requires:	%{name} = %{version}-%{release}
+Requires:	QtCore-devel >= 4
 
 %description devel
-This package contains libraries and header files for developing
-applications that use QtSingleApplication.
+This package contains header files for developing applications that
+use QtSingleApplication.
+
+%description devel -l pl.UTF-8
+Ten pakiet zawiera pliki nagłówkowe do tworzenia aplikacji
+wykorzystujących QtSingleApplication.
 
 %package -n Qt5SingleApplication
-Summary:	Qt library to start applications only once per user
+Summary:	Qt 5 library to start applications only once per user
+Summary(pl.UTF-8):	Biblioteka Qt 5 do uruchamiania pojedynczej instancji aplikacji na użytkownika
 Group:		Libraries
 
 %description -n Qt5SingleApplication
@@ -81,89 +103,110 @@ 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.
 
+%description -n Qt5SingleApplication -l pl.UTF-8
+Dla niektórych aplikacji przydatne, lub nawet krytyczne, jest to, aby
+uruchamiane były tylko w jednej instancji na użytkownika. Kolejne
+próby uruchomienia powinny aktywować już działającą instancję i
+ewentualnie wyjonywać żądane akcje, np. załadowanie pliku w tej
+instancji.
+
+Klasa QtSingleApplication udostępnia interfejs do wykrywania
+działającej instancji i wysyłania do niej łańcuchów poleceń.
+
+Dla aplikacji konsolowych (bez GUI) udostępniony jest wariant
+QtSingleCoreApplication, który nie ma zależności od QtGui.
+
 %package -n Qt5SingleApplication-devel
 Summary:	Development files for Qt5SingleApplication library
+Summary(pl.UTF-8):	Pliki programistyczne biblioteki Qt5SingleApplication
 Group:		Development/Libraries
 Requires:	Qt5SingleApplication = %{version}-%{release}
+Requires:	Qt5Core-devel >= 5
 
 %description -n Qt5SingleApplication-devel
-This package contains libraries and header files for developing
-applications that use Qt5SingleApplication.
+This package contains header files for developing applications that
+use Qt5SingleApplication.
+
+%description -n Qt5SingleApplication-devel -l pl.UTF-8
+Ten pakiet zawiera pliki nagłówkowe do tworzenia aplikacji
+wykorzystujących Qt5SingleApplication.
 
 %prep
 %setup -qc
-mv qt-solutions-* .qtsolutions
-mv .qtsolutions/qtsingleapplication/* .
+%{__mv} qt-solutions-* .qtsolutions
+%{__mv} .qtsolutions/qtsingleapplication/* .
 %patch0 -p0
 %patch1 -p0
 %patch2 -p1
 %patch3 -p1
+%patch4 -p1
 
 # We already disabled bundling this external library.
 # But just to make sure:
-rm src/{QtLocked,qtlocked}*
-
-set -- *
-install -d build-qt{4,5}
-cp -al "$@" build-qt4
-cp -al "$@" build-qt5
+%{__rm} src/{QtLocked,qtlocked}*
 
 %build
-%if %{with qt4}
-cd build-qt4
 # Does not use GNU configure
 ./configure -library
-qmake-qt4
+
+%if %{with qt4}
+install -d build-qt4
+cd build-qt4
+qmake-qt4 ../qtsingleapplication.pro \
+	QMAKE_CXX="%{__cxx}" \
+	QMAKE_CXXFLAGS_RELEASE="%{rpmcxxflags}" \
+	QMAKE_LFLAGS_RELEASE="%{rpmldflags}" \
+	INSTALL_LIBDIR=%{_libdir}
 %{__make}
 
 # ensure the it links to right version of LockedFile
 for l in SingleApplication SingleCoreApplication; do
 	f=libQtSolutions_$l-2.6.so
-	ldd lib/$f | grep libQtSolutions_LockedFile
+	ldd ../lib/$f | grep libQtSolutions_LockedFile
 done
 cd ..
 %endif
 
 %if %{with qt5}
+install -d build-qt5
 cd build-qt5
-./configure -library
-# XXX fix QtLockedFile package?
-qmake-qt5 INCLUDEPATH+=%{_includedir}/qt5/QtSolutions
-%{__make}
-# XXX: relink with proper version
-%{__sed} -i -e 's/QtSolutions/Qt5Solutions/' buildlib/Makefile*
-rm -r lib
+qmake-qt5 ../qtsingleapplication.pro \
+	QMAKE_CXX="%{__cxx}" \
+	QMAKE_CXXFLAGS_RELEASE="%{rpmcxxflags}" \
+	QMAKE_LFLAGS_RELEASE="%{rpmldflags}" \
+	INSTALL_LIBDIR=%{_libdir}
 %{__make}
 
 # ensure the it links to right version of LockedFile
 for l in SingleApplication SingleCoreApplication; do
 	f=libQt5Solutions_$l-2.6.so
-	ldd lib/$f | grep libQt5Solutions_LockedFile
+	ldd ../lib/$f | grep libQt5Solutions_LockedFile
 done
 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
+%{__make} -C build-qt4 install \
+	INSTALL_ROOT=$RPM_BUILD_ROOT
+
+install -d $RPM_BUILD_ROOT{%{_includedir}/qt4/QtSolutions,%{qt4dir}/mkspecs/features}
+%{__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
-cd ..
 %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
+%{__make} -C build-qt5 install \
+	INSTALL_ROOT=$RPM_BUILD_ROOT
+
+install -d $RPM_BUILD_ROOT{%{_includedir}/qt5/QtSolutions,%{qt5dir}/mkspecs/features}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.so.1.0
 cp -p src/qtsingle*application.h src/QtSingle*Application $RPM_BUILD_ROOT%{_includedir}/qt5/QtSolutions
-%{__sed} -e s/QtSolutions_SingleApplication-2.6/Qt5Solutions_SingleApplication-2.6/g %{SOURCE1} > $RPM_BUILD_ROOT%{qt5dir}/mkspecs/features/qtsingleapplication.prf
-%{__sed} -e s/QtSolutions_SingleCoreApplication-2.6/Qt5Solutions_SingleCoreApplication-2.6/g %{SOURCE2} > $RPM_BUILD_ROOT%{qt5dir}/mkspecs/features/qtsinglecoreapplication.prf
-cd ..
+%{__sed} -e 's/-lQtSolutions/-lQt5Solutions/g' %{SOURCE1} > $RPM_BUILD_ROOT%{qt5dir}/mkspecs/features/qtsingleapplication.prf
+%{__sed} -e 's/-lQtSolutions/-lQt5Solutions/g' %{SOURCE2} > $RPM_BUILD_ROOT%{qt5dir}/mkspecs/features/qtsinglecoreapplication.prf
 %endif
 
 %clean
@@ -187,8 +230,8 @@ rm -rf $RPM_BUILD_ROOT
 %files devel
 %defattr(644,root,root,755)
 %doc doc examples
-%{_libdir}/libQtSolutions_SingleApplication-2.6.so
-%{_libdir}/libQtSolutions_SingleCoreApplication-2.6.so
+%attr(755,root,root) %{_libdir}/libQtSolutions_SingleApplication-2.6.so
+%attr(755,root,root) %{_libdir}/libQtSolutions_SingleCoreApplication-2.6.so
 %{_includedir}/qt4/QtSolutions/QtSingleApplication
 %{_includedir}/qt4/QtSolutions/QtSingleCoreApplication
 %{_includedir}/qt4/QtSolutions/qtsingleapplication.h
@@ -209,8 +252,8 @@ rm -rf $RPM_BUILD_ROOT
 %files -n Qt5SingleApplication-devel
 %defattr(644,root,root,755)
 %doc doc examples
-%{_libdir}/libQt5Solutions_SingleApplication-2.6.so
-%{_libdir}/libQt5Solutions_SingleCoreApplication-2.6.so
+%attr(755,root,root) %{_libdir}/libQt5Solutions_SingleApplication-2.6.so
+%attr(755,root,root) %{_libdir}/libQt5Solutions_SingleCoreApplication-2.6.so
 %{_includedir}/qt5/QtSolutions/QtSingleApplication
 %{_includedir}/qt5/QtSolutions/QtSingleCoreApplication
 %{_includedir}/qt5/QtSolutions/qtsingleapplication.h
diff --git a/qtsingleapplication-install.patch b/qtsingleapplication-install.patch
new file mode 100644
index 0000000..7c875c2
--- /dev/null
+++ b/qtsingleapplication-install.patch
@@ -0,0 +1,32 @@
+--- QtSingleApplication-2.6.1/buildlib/buildlib.pro.orig	2015-06-29 15:40:53.000000000 +0200
++++ QtSingleApplication-2.6.1/buildlib/buildlib.pro	2018-12-31 18:20:11.008121897 +0100
+@@ -5,9 +5,12 @@
+ include(../src/qtsingleapplication.pri)
+ TARGET = $$QTSINGLEAPPLICATION_LIBNAME
+ DESTDIR = $$QTSINGLEAPPLICATION_LIBDIR
++isEmpty(INSTALL_LIBDIR) {
++  INSTALL_LIBDIR = $$QTSINGLEAPPLICATION_LIBDIR
++}
+ win32 {
+     DLLDESTDIR = $$[QT_INSTALL_BINS]
+     QMAKE_DISTCLEAN += $$[QT_INSTALL_BINS]\\$${QTSINGLEAPPLICATION_LIBNAME}.dll
+ }
+-target.path = $$DESTDIR
++target.path = $$INSTALL_LIBDIR
+ INSTALLS += target
+--- QtSingleApplication-2.6.1/buildlib/buildcorelib.pro.orig	2018-12-31 18:05:26.731465328 +0100
++++ QtSingleApplication-2.6.1/buildlib/buildcorelib.pro	2018-12-31 18:20:37.364788263 +0100
+@@ -5,9 +5,12 @@
+ include(../src/qtsinglecoreapplication.pri)
+ TARGET = $$QTSINGLECOREAPPLICATION_LIBNAME
+ DESTDIR = $$QTSINGLEAPPLICATION_LIBDIR
++isEmpty(INSTALL_LIBDIR) {
++  INSTALL_LIBDIR = $$QTSINGLEAPPLICATION_LIBDIR
++}
+ win32 {
+     DLLDESTDIR = $$[QT_INSTALL_BINS]
+     QMAKE_DISTCLEAN += $$[QT_INSTALL_BINS]\\$${QTSINGLECOREAPPLICATION_LIBNAME}.dll
+ }
+-target.path = $$DESTDIR
++target.path = $$INSTALL_LIBDIR
+ INSTALLS += target
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/QtSingleApplication.git/commitdiff/5174eaa4b5fc623c5dea9a6be0232c22affc2c1e



More information about the pld-cvs-commit mailing list