summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/patches/qt4-tests.patch22
-rw-r--r--gnu/packages/qt.scm43
2 files changed, 65 insertions, 0 deletions
diff --git a/gnu/packages/patches/qt4-tests.patch b/gnu/packages/patches/qt4-tests.patch
new file mode 100644
index 0000000000..eb499ec76a
--- /dev/null
+++ b/gnu/packages/patches/qt4-tests.patch
@@ -0,0 +1,22 @@
+Drop tests requiring a running X server, but not starting any.
+
+diff -ru qt-everywhere-opensource-src-4.8.5.orig/src/3rdparty/webkit/Source/WebKit/qt/tests/tests.pro qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebKit/qt/tests/tests.pro
+--- qt-everywhere-opensource-src-4.8.5.orig/src/3rdparty/webkit/Source/WebKit/qt/tests/tests.pro	2013-10-12 13:15:47.000000000 +0200
++++ qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebKit/qt/tests/tests.pro	2013-10-12 13:20:15.000000000 +0200
+@@ -1,15 +1,4 @@
+ 
+ TEMPLATE = subdirs
+-SUBDIRS = qwebframe qwebpage qwebelement qgraphicswebview qwebhistoryinterface qwebview qwebhistory qwebinspector hybridPixmap
++SUBDIRS =
+ 
+-linux-* {
+-    # This test bypasses the library and links the tested code's object itself.
+-    # This stresses the build system in some corners so we only run it on linux.
+-    SUBDIRS += MIMESniffing
+-}
+-
+-contains(QT_CONFIG, declarative): SUBDIRS += qdeclarativewebview
+-SUBDIRS += benchmarks/painting benchmarks/loading
+-contains(DEFINES, ENABLE_WEBGL=1) {
+-    SUBDIRS += benchmarks/webgl
+-}
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index be953e2452..07bb4fdd39 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -21,6 +21,7 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages fontutils)
@@ -139,3 +140,45 @@ X11 (yet).")
     (description "Qt is a cross-platform application and UI framework for
 developers using C++ or QML, a CSS & JavaScript like language.")
     (license lgpl2.1)))
+
+(define-public qt-4
+  (package (inherit qt)
+    (version "4.8.5")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "http://download.qt-project.org/official_releases/qt/"
+                                 (string-copy version 0 (string-rindex version #\.))
+                                 "/" version
+                                 "/single/qt-everywhere-opensource-src-"
+                                 version ".tar.gz"))
+             (sha256
+              (base32
+               "0f51dbgn1dcck8pqimls2qyf1pfmsmyknh767cvw87c3d218ywpb"))
+             (patches (list (search-patch "qt4-tests.patch")))))
+    (arguments
+     `(#:phases
+         (alist-replace
+          'configure
+          (lambda* (#:key outputs #:allow-other-keys)
+            (let ((out (assoc-ref outputs "out")))
+              (substitute* '("configure")
+                           (("/bin/pwd") (which "pwd")))
+              ;; do not pass "--enable-fast-install", which makes the
+              ;; configure process fail
+              (zero? (system* "./configure"
+                              "-verbose"
+                              "-prefix" out
+                              "-opensource"
+                              "-confirm-license"
+                              ;; drop all special machine instructions
+                              "-no-mmx"
+                              "-no-3dnow"
+                              "-no-sse"
+                              "-no-sse2"
+                              "-no-sse3"
+                              "-no-ssse3"
+                              "-no-sse4.1"
+                              "-no-sse4.2"
+                              "-no-avx"
+                              "-no-neon"))))
+          %standard-phases)))))