Merge lp:~bzoltan/kubuntu-packaging/qt5-qmake-cross-armhf into lp:~kubuntu-packagers/kubuntu-packaging/qtbase-opensource-src

Proposed by Zoltan Balogh
Status: Merged
Merged at revision: 199
Proposed branch: lp:~bzoltan/kubuntu-packaging/qt5-qmake-cross-armhf
Merge into: lp:~kubuntu-packagers/kubuntu-packaging/qtbase-opensource-src
Diff against target: 223 lines (+173/-0)
5 files modified
debian/control (+27/-0)
debian/patches/qt5-qmake-cross-armhf (+100/-0)
debian/patches/series (+1/-0)
debian/qt5-qmake-cross-armhf.install (+1/-0)
debian/rules (+44/-0)
To merge this branch: bzr merge lp:~bzoltan/kubuntu-packaging/qt5-qmake-cross-armhf
Reviewer Review Type Date Requested Status
PS Jenkins bot continuous-integration Needs Fixing
Timo Jyrinki Pending
Review via email: mp+241568@code.launchpad.net

Commit message

[ Zoltan Balogh ]
* Add qmake cross-compilation package qt5-qmake-cross-armhf
* debian/patches/qt5-qmake-cross-armhf:
  - Add mkspec needed for the cross-qmake
* debian/rules: on amd64+i386, build the second qmake first

Description of the change

Create a new qt5-qmake-cross-armhf package what distributes a binary with the same name to support qmake projects in x86 chroots with armhf target development environment.

To post a comment you must log in.
Revision history for this message
Zoltan Balogh (bzoltan) wrote :

Create a new qt5-qmake-cross-armhf package what distributes a binary with the same name to support qmake projects in x86 chroots with armhf target development environment.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/control'
2--- debian/control 2014-10-09 05:07:08 +0000
3+++ debian/control 2014-11-12 15:38:21 +0000
4@@ -364,6 +364,33 @@
5 .
6 This package contains also these platform specifications.
7
8+Package: qt5-qmake-cross-armhf
9+Architecture: amd64 i386
10+Multi-Arch: same
11+Section: devel
12+Depends: qtchooser, ${misc:Depends}, ${shlibs:Depends}
13+Description: Qt 5 qmake-cross-armhf Makefile generator tool
14+ Qt is a cross-platform C++ application framework. Qt's primary feature
15+ is its rich set of widgets that provide standard GUI functionality.
16+ .
17+ This package contains the Qt 5 qmake-cross-armhf, a tool that helps
18+ simplify the build process for development project across different
19+ platforms.
20+ qmake-cross-armhf automates the generation of Makefiles so that only
21+ a few lines of information are needed to create each Makefile.
22+ qmake can be used for any software project, whether it is written
23+ using Qt or not.
24+ .
25+ Qt 5 qmake-cross-armhf requires a platform and compiler description
26+ file which contains many default values used to generate appropriate
27+ Makefiles.
28+ .
29+ This package contains also these platform specifications.
30+ .
31+ The qmake-cross-armhf is made for creating Makefile in multiarch build
32+ environment. It can be used for example in a i386 chroot with armhf
33+ development packages.
34+
35 Package: qtbase5-examples
36 Architecture: any
37 Multi-Arch: foreign
38
39=== added file 'debian/patches/qt5-qmake-cross-armhf'
40--- debian/patches/qt5-qmake-cross-armhf 1970-01-01 00:00:00 +0000
41+++ debian/patches/qt5-qmake-cross-armhf 2014-11-12 15:38:21 +0000
42@@ -0,0 +1,100 @@
43+Description: Add mkspec for the qt5-qmake-cross-armhf build
44+ .
45+ qtbase-opensource-src (5.3.0+dfsg-3ubuntu1) utopic; urgency=medium
46+ .
47+ * Add qt5-qmake-cross-armhf to support qmake projects in multiarch
48+ crossbuilders
49+Author: Zoltán Balogh <zoltan@bakter.hu>
50+
51+---
52+The information above should follow the Patch Tagging Guidelines, please
53+checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
54+are templates for supplementary fields that you might want to add:
55+
56+Origin: <vendor|upstream|other>, <url of original patch>
57+Bug: <url in upstream bugtracker>
58+Bug-Debian: https://bugs.debian.org/<bugnumber>
59+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
60+Forwarded: <no|not-needed|url proving that it has been forwarded>
61+Reviewed-By: <name and email of someone who approved the patch>
62+Last-Update: <YYYY-MM-DD>
63+
64+--- /dev/null
65++++ qtbase-opensource-src/mkspecs/ubuntu-arm-gnueabihf-g++/qmake.conf
66+@@ -0,0 +1,31 @@
67++#
68++# qmake configuration for building with arm-linux-gnueabi-g++
69++#
70++
71++MAKEFILE_GENERATOR = UNIX
72++CONFIG += incremental
73++QMAKE_INCREMENTAL_STYLE = sublib
74++
75++include(../common/linux.conf)
76++include(../common/gcc-base-unix.conf)
77++include(../common/g++-unix.conf)
78++
79++# modifications to g++.conf
80++QMAKE_CC = arm-linux-gnueabihf-gcc
81++QMAKE_CXX = arm-linux-gnueabihf-g++
82++QMAKE_LINK = arm-linux-gnueabihf-g++
83++QMAKE_LINK_SHLIB = arm-linux-gnueabihf-g++
84++QMAKE_CFLAGS_APP -= -fPIE
85++QMAKE_CFLAGS_APP += -fPIC
86++QMAKE_CXXFLAGS_APP -= -fPIE
87++QMAKE_CXXFLAGS_APP += -fPIC
88++
89++# modifications to linux.conf
90++QMAKE_AR = arm-linux-gnueabihf-ar cqs
91++QMAKE_OBJCOPY = arm-linux-gnueabihf-objcopy
92++QMAKE_NM = arm-linux-gnueabihf-nm -P
93++QMAKE_STRIP = arm-linux-gnueabihf-strip
94++QMAKE_LIBDIR = /usr/lib/arm-linux-gnueabihf
95++
96++load(qt_config)
97++QMAKE_DEFAULT_INCDIRS = /usr/include/arm-linux-gnueabihf/c++/4.9 /usr/include/arm-linux-gnueabihf/c++/4.9/backward /usr/include/arm-linux-gnueabihf
98+--- /dev/null
99++++ qtbase-opensource-src/mkspecs/ubuntu-arm-gnueabihf-g++/qplatformdefs.h
100+@@ -0,0 +1,42 @@
101++/****************************************************************************
102++**
103++** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
104++** Contact: http://www.qt-project.org/legal
105++**
106++** This file is part of the qmake spec of the Qt Toolkit.
107++**
108++** $QT_BEGIN_LICENSE:LGPL$
109++** Commercial License Usage
110++** Licensees holding valid commercial Qt licenses may use this file in
111++** accordance with the commercial license agreement provided with the
112++** Software or, alternatively, in accordance with the terms contained in
113++** a written agreement between you and Digia. For licensing terms and
114++** conditions see http://qt.digia.com/licensing. For further information
115++** use the contact form at http://qt.digia.com/contact-us.
116++**
117++** GNU Lesser General Public License Usage
118++** Alternatively, this file may be used under the terms of the GNU Lesser
119++** General Public License version 2.1 as published by the Free Software
120++** Foundation and appearing in the file LICENSE.LGPL included in the
121++** packaging of this file. Please review the following information to
122++** ensure the GNU Lesser General Public License version 2.1 requirements
123++** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
124++**
125++** In addition, as a special exception, Digia gives you certain additional
126++** rights. These rights are described in the Digia Qt LGPL Exception
127++** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
128++**
129++** GNU General Public License Usage
130++** Alternatively, this file may be used under the terms of the GNU
131++** General Public License version 3.0 as published by the Free Software
132++** Foundation and appearing in the file LICENSE.GPL included in the
133++** packaging of this file. Please review the following information to
134++** ensure the GNU General Public License version 3.0 requirements will be
135++** met: http://www.gnu.org/copyleft/gpl.html.
136++**
137++**
138++** $QT_END_LICENSE$
139++**
140++****************************************************************************/
141++
142++#include "../linux-g++/qplatformdefs.h"
143
144=== modified file 'debian/patches/series'
145--- debian/patches/series 2014-10-09 05:07:08 +0000
146+++ debian/patches/series 2014-11-12 15:38:21 +0000
147@@ -14,6 +14,7 @@
148 # Ubuntu specific.
149 disable_overlay_scrollbars.diff
150 load_testability_from_env_var.patch
151+qt5-qmake-cross-armhf
152
153 Add-workaround-for-GL-on-Android-emulator.patch
154
155
156=== added file 'debian/qt5-qmake-cross-armhf.install'
157--- debian/qt5-qmake-cross-armhf.install 1970-01-01 00:00:00 +0000
158+++ debian/qt5-qmake-cross-armhf.install 2014-11-12 15:38:21 +0000
159@@ -0,0 +1,1 @@
160+usr/bin/qt5-qmake-cross-armhf
161
162=== modified file 'debian/rules'
163--- debian/rules 2014-09-26 07:51:46 +0000
164+++ debian/rules 2014-11-12 15:38:21 +0000
165@@ -94,7 +94,45 @@
166 %:
167 dh $@ --parallel --with pkgkde_symbolshelper
168
169+x86_architectures := i386 amd64
170+
171 override_dh_auto_configure:
172+ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH), $(x86_architectures)))
173+ ./configure -v -confirm-license \
174+ -prefix "/usr" \
175+ -bindir "/usr/lib/x86_64-linux-gnu/qt5/bin" \
176+ -libdir "/usr/lib/arm-linux-gnueabihf" \
177+ -docdir "/usr/share/qt5/doc" \
178+ -headerdir "/usr/include/arm-linux-gnueabihf/qt5" \
179+ -datadir "/usr/share/qt5" \
180+ -archdatadir "/usr/lib/arm-linux-gnueabihf/qt5" \
181+ -hostdatadir "/usr/share/qt5" \
182+ -plugindir "/usr/lib/arm-linux-gnueabihf/qt5/plugins" \
183+ -importdir "/usr/lib/arm-linux-gnueabihf/qt5/imports" \
184+ -translationdir "/usr/share/qt5/translations" \
185+ -hostdatadir "/usr/lib/arm-linux-gnueabihf/qt5" \
186+ -sysconfdir "/etc/xdg" \
187+ -examplesdir "/usr/lib/arm-linux-gnueabihf/qt5/examples" \
188+ -opensource \
189+ --no-dbus \
190+ --no-libjpeg \
191+ --no-glib \
192+ -platform linux-g++ \
193+ -qt-zlib \
194+ -no-rpath \
195+ -verbose \
196+ -optimized-qmake \
197+ -no-strip \
198+ -no-separate-debug-info \
199+ -qpa xcb \
200+ -xcb \
201+ -no-icu \
202+ -accessibility \
203+ -no-directfb \
204+ -no-sql-ibase -no-pch -no-opengl \
205+ -xplatform ubuntu-arm-gnueabihf-g++ || file $(CURDIR)/bin/qmake;
206+ mv $(CURDIR)/bin/qmake $(CURDIR)/bin/qt5-qmake-cross-armhf
207+endif
208 ./configure -confirm-license \
209 -prefix "/usr" \
210 -bindir "/usr/lib/$(DEB_HOST_MULTIARCH)/qt5/bin" \
211@@ -266,6 +304,12 @@
212 ln -s /usr/share/qtchooser/qt5-$(DEB_HOST_MULTIARCH).conf $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/qtchooser/qt5.conf
213 ln -s /usr/share/qtchooser/qt5-$(DEB_HOST_MULTIARCH).conf $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/qtchooser/default.conf
214
215+ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH), $(x86_architectures)))
216+ # ship the qt5-qmake-cross-armhf in /usr/bin
217+ mkdir -p $(CURDIR)/debian/tmp/usr/bin
218+ cp $(CURDIR)/bin/qt5-qmake-cross-armhf $(CURDIR)/debian/tmp/usr/bin
219+endif
220+
221 # Remove leftover directories
222 find $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/qt5 -depth -type d \( -false \
223 -o -name .moc\* \

Subscribers

People subscribed via source and target branches