add qt local package
authorKonrad Rosenbaum <konrad@silmor.de>
Sat, 14 Apr 2012 15:45:04 +0000 (17:45 +0200)
committerKonrad Rosenbaum <konrad@silmor.de>
Sat, 14 Apr 2012 15:45:04 +0000 (17:45 +0200)
qt-local/Makefile [new file with mode: 0644]
qt-local/build.sh [new file with mode: 0755]
qt-local/configure [new file with mode: 0755]
qt-local/debian/compat [new file with mode: 0644]
qt-local/debian/control [new file with mode: 0644]
qt-local/debian/copyright [new file with mode: 0644]
qt-local/debian/docs [new file with mode: 0644]
qt-local/debian/rules [new file with mode: 0755]
qt-local/debian/source/format [new file with mode: 0644]
qt-local/gcc4.7.patch [new file with mode: 0644]

diff --git a/qt-local/Makefile b/qt-local/Makefile
new file mode 100644 (file)
index 0000000..7235ced
--- /dev/null
@@ -0,0 +1,36 @@
+all: build
+
+CPUS=$(shell expr `cat /proc/cpuinfo |grep ^processor |tail -1|cut -f 2 -d :` + 1)
+JOPT=$(shell test $(CPUS) -gt 1 && expr $(CPUS) + 1 || echo $(CPUS))
+
+config:
+       cd source ; ./configure -nomake demos -nomake examples -opensource -confirm-license -prefix /usr/local/qt
+
+build:
+       cd source ; make -j $(JOPT)
+
+install:
+       make -C source INSTALL_ROOT=`pwd`/debian/qt4-local-dev install
+       mkdir -p debian/qt4-local/usr/local/qt/bin
+       mkdir -p debian/qt4-local/usr/local/qt/lib
+       mkdir -p debian/qt4-local-doc/usr/local/qt
+       -mv debian/qt4-local-dev/usr/local/qt/lib/libQt*.so* debian/qt4-local/usr/local/qt/lib
+       -mv debian/qt4-local-dev/usr/local/qt/bin/assistant debian/qt4-local/usr/local/qt/bin
+       -mv debian/qt4-local-dev/usr/local/qt/bin/qml* debian/qt4-local/usr/local/qt/bin
+       -mv debian/qt4-local-dev/usr/local/qt/bin/qtconfig debian/qt4-local/usr/local/qt/bin
+       -mv debian/qt4-local-dev/usr/local/qt/bin/xml* debian/qt4-local/usr/local/qt/bin
+       -mv debian/qt4-local-dev/usr/local/qt/plugins debian/qt4-local/usr/local/qt/
+       -mv debian/qt4-local-dev/usr/local/qt/translations debian/qt4-local/usr/local/qt/
+       -mv debian/qt4-local-dev/usr/local/qt/imports debian/qt4-local/usr/local/qt/
+       -mv debian/qt4-local-dev/usr/local/qt/doc debian/qt4-local-doc/usr/local/qt/
+       mkdir -p debian/qt4-local/usr/local/bin
+       cd debian/qt4-local/usr/local/bin ; ln -sf ../qt/bin/* .
+       mkdir -p debian/qt4-local-dev/usr/local/bin
+       cd debian/qt4-local-dev/usr/local/bin ; ln -sf ../qt/bin/* .
+
+distclean clean:
+       make -C source/. $@
+
+%:
+       @echo "Making empty rule" $@
+       @echo 'Should I be worried?'
diff --git a/qt-local/build.sh b/qt-local/build.sh
new file mode 100755 (executable)
index 0000000..1962d9f
--- /dev/null
@@ -0,0 +1,56 @@
+#!/bin/bash
+
+set -e
+
+test $# -lt 1 && { echo "Usage: $0 tarfile" ; exit 1 ; }
+
+opt=x
+
+#ends in gz?
+test $1 != ${1%.gz} && opt=xz
+test $1 != ${1%.bz2} && opt=xj
+
+tgt=`basename $1`
+tgt=${tgt%.tar*}
+
+ver=$(echo $tgt|tr - ' ')
+ver=$(echo $ver|cut -f `echo $ver|wc -w` -d ' ')
+
+echo -n "Version number of Qt [$ver]: "
+read v2
+test x$v2 != x && ver=$v2
+
+#unpack
+echo "Deleting old directories"
+fakeroot debian/rules clean
+rm -rf source $tgt
+echo "Unpacking Qt $ver from file $1 into $tgt ..."
+cat $1 | ( cd `dirname $0` ; tar $opt ; )
+
+#patch
+echo "Patching Qt..."
+(
+ cd $tgt
+ patch -p1 <../gcc4.7.patch
+)
+
+#debian changelog
+cd `dirname $0`
+echo "Creating changelog"
+CL=debian/changelog
+echo 'qt4-local ('$ver') unstable; urgency=low' >$CL
+echo >>$CL
+echo '  * packaging upstream/local Qt' $ver >>$CL
+echo '  * wrapper package by konrad@silmor.de' >>$CL
+echo >>$CL
+lnam="`logname`"
+test "x$lnam" == x && lnam="`whoami`"
+rnam="$(grep ^`logname`: </etc/passwd | cut -f 5 -d : | cut -f 1 -d ,)"
+test "x$rnam" == x && rnam="$lnam"
+echo ' --' $rnam '<'$lnam'@'`hostname -f`'> ' `date --rfc-822` >>$CL
+
+#build
+echo "Calling debhelper to build..."
+ln -s $tgt source
+fakeroot debian/rules binary
+
diff --git a/qt-local/configure b/qt-local/configure
new file mode 100755 (executable)
index 0000000..e77db8d
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/bash
+exec make config
diff --git a/qt-local/debian/compat b/qt-local/debian/compat
new file mode 100644 (file)
index 0000000..7f8f011
--- /dev/null
@@ -0,0 +1 @@
+7
diff --git a/qt-local/debian/control b/qt-local/debian/control
new file mode 100644 (file)
index 0000000..ac3f9e0
--- /dev/null
@@ -0,0 +1,72 @@
+Source: qt4-local
+Section: unknown
+Priority: extra
+Maintainer: Konrad Rosenbaum <konrad@silmor.de>
+Build-Depends: debhelper (>= 7.0.50~), gcc-local,
+               flex,
+               libasound2-dev [linux-any],
+               libaudio-dev,
+               libcups2-dev,
+               libdbus-1-dev,
+               libfreetype6-dev,
+               libgl1-mesa-dev,
+               libglib2.0-dev,
+               libglu1-mesa-dev,
+               libice-dev,
+               libjpeg-dev,
+               libmng-dev,
+               libpam0g-dev,
+               libpng-dev,
+               libsm-dev,
+               libssl-dev,
+               libtiff4-dev,
+               libx11-dev,
+               libxcursor-dev,
+               libxext-dev,
+               libxft-dev,
+               libxi-dev,
+               libxinerama-dev,
+               libxmu-dev,
+               libxrandr-dev,
+               libxrender-dev,
+               libxslt1-dev,
+               libxt-dev,
+               libxtst-dev,
+               libxv-dev,
+               zlib1g-dev
+Standards-Version: 3.8.4
+Homepage: http://www.qt-project.org
+#Vcs-Git: git://git.debian.org/collab-maint/qt4-local.git
+#Vcs-Browser: http://git.debian.org/?p=collab-maint/qt4-local.git;a=summary
+
+Package: qt4-local
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Suggests: qt4-local-doc
+Description: A local installation of Qt4
+ This package provides the upstream Qt 4.x in /usr/local/qt.
+ The Qt version this package provides may be newer or older than the one
+ provided directly by the distribution.
+ .
+ It does not interfere much with the distributions' Qt or a Qt that you build 
+ yourself, since it is installed in /usr/local/qt - you can control which one 
+ you use by including or excluding /usr/local/bin from your PATH variable.
+ .
+ This package also depends on gcc-local in order to switch on C++11 features
+ per default.
+ .
+ This package is geared towards users of the newest C++ features.
+
+Package: qt4-local-doc
+Architecture: all
+Description: documentation for qt4-local
+ This package contains the documentation for the local installation of Qt4.
+
+Package: qt4-local-dev
+Architecture: any
+Depends: qt4-local,
+Recommends: gcc-local, qt4-local-doc
+Suggests: libgl1-mesa-dev, libglu1-mesa-dev,
+Description: development package for local Qt4 installation
+ This package contains all development files and tools for the local
+ Qt 4 installation.
\ No newline at end of file
diff --git a/qt-local/debian/copyright b/qt-local/debian/copyright
new file mode 100644 (file)
index 0000000..cf98cf0
--- /dev/null
@@ -0,0 +1,37 @@
+This work was packaged for Debian by:
+
+    Konrad Rosenbaum <konrad@devant.devant.lan.local> on Wed, 11 Apr 2012 18:26:45 +0200
+
+It was downloaded from:
+
+    <url://example.com>
+
+Upstream Author(s):
+
+    <put author's name and email here>
+    <likewise for another author>
+
+Copyright:
+
+    <Copyright (C) YYYY Firstname Lastname>
+    <likewise for another author>
+
+License:
+
+    <Put the license of the package here indented by 4 spaces>
+
+The Debian packaging is:
+
+    Copyright (C) 2012 Konrad Rosenbaum <konrad@devant.devant.lan.local>
+
+# Please chose a license for your packaging work. If the program you package
+# uses a mainstream license, using the same license is the safest choice.
+# Please avoid to pick license terms that are more restrictive than the
+# packaged work, as it may make Debian's contributions unacceptable upstream.
+# If you just want it to be GPL version 3, leave the following lines in.
+
+and is licensed under the GPL version 3,
+see "/usr/share/common-licenses/GPL-3".
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
diff --git a/qt-local/debian/docs b/qt-local/debian/docs
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qt-local/debian/rules b/qt-local/debian/rules
new file mode 100755 (executable)
index 0000000..c30bbdb
--- /dev/null
@@ -0,0 +1,21 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+#
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+#
+# Modified to make a template file for a multi-binary package with separated
+# build-arch and build-indep targets  by Bill Allombert 2001
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+# This has to be exported to make some magic below work.
+export DH_OPTIONS
+
+
+%:
+       dh $@ 
diff --git a/qt-local/debian/source/format b/qt-local/debian/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/qt-local/gcc4.7.patch b/qt-local/gcc4.7.patch
new file mode 100644 (file)
index 0000000..573f04d
--- /dev/null
@@ -0,0 +1,28 @@
+diff -up qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h.me qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h
+--- qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h.me  2012-01-24 11:24:14.729942043 +0100
++++ qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h     2012-01-24 14:28:39.848109534 +0100
+@@ -57,9 +57,7 @@ namespace JSC {
+     
+     class JSGlobalObject : public JSVariableObject {
+     protected:
+-        using JSVariableObject::JSVariableObjectData;
+-
+-        struct JSGlobalObjectData : public JSVariableObjectData {
++        struct JSGlobalObjectData : public JSVariableObject::JSVariableObjectData {
+             // We use an explicit destructor function pointer instead of a
+             // virtual destructor because we want to avoid adding a vtable
+             // pointer to this struct. Adding a vtable pointer would force the
+diff -up qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h.me qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h
+--- qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h.me     2012-01-24 11:40:07.167856677 +0100
++++ qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h        2012-01-24 14:28:34.640306629 +0100
+@@ -32,8 +32,7 @@ namespace JSC{
+     
+     class JSStaticScopeObject : public JSVariableObject {
+     protected:
+-        using JSVariableObject::JSVariableObjectData;
+-        struct JSStaticScopeObjectData : public JSVariableObjectData {
++        struct JSStaticScopeObjectData : public JSVariableObject::JSVariableObjectData {
+             JSStaticScopeObjectData()
+                 : JSVariableObjectData(&symbolTable, &registerStore + 1)
+             {
+