gnu: qt: Remove the sources of qtwebengine.

* gnu/packages/qt.scm (qt)[source]: Add snippet to remove the qtwebengine
  code, which was already not built anymore, and drop one patch used
  previously only for qtwebengine.
  [arguments]: Drop the configuration flag "-skip qtwebengine", since
  deleted modules cannot be skipped.
* gnu/packages/patches/qt5-runpath.patch: Delete file.
* gnu-system.am (dist_patch_DATA): Unregister patch.

Partially fixes <http://bugs.gnu.org/21288>.
This commit is contained in:
Andreas Enge 2015-10-04 12:56:45 +02:00
parent 2b00a55064
commit 14bcc1e1cd
3 changed files with 10 additions and 45 deletions

View file

@ -611,7 +611,6 @@ dist_patch_DATA = \
gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
gnu/packages/patches/qemu-CVE-2015-6855.patch \
gnu/packages/patches/qt4-ldflags.patch \
gnu/packages/patches/qt5-runpath.patch \
gnu/packages/patches/ratpoison-shell.patch \
gnu/packages/patches/readline-link-ncurses.patch \
gnu/packages/patches/ripperx-missing-file.patch \

View file

@ -1,27 +0,0 @@
Allow the use of DT_RUNPATH. This fixes a bug whereby libQt5WebEngineCore.so
ends up having an empty RUNPATH.
diff -u -r qt-everywhere-opensource-src-5.5.0.orig/qtwebengine/src/3rdparty/chromium/build/common.gypi qt-everywhere-opensource-src-5.5.0/qtwebengine/src/3rdparty/chromium/build/common.gypi
--- qt-everywhere-opensource-src-5.5.0.orig/qtwebengine/src/3rdparty/chromium/build/common.gypi 2015-06-29 22:09:36.000000000 +0200
+++ qt-everywhere-opensource-src-5.5.0/qtwebengine/src/3rdparty/chromium/build/common.gypi 2015-07-25 15:32:57.999411191 +0200
@@ -4448,19 +4448,6 @@
'-B<!(cd <(DEPTH) && pwd -P)/<(binutils_dir)',
],
}],
- # Some binutils 2.23 releases may or may not have new dtags enabled,
- # but they are all compatible with --disable-new-dtags,
- # because the new dynamic tags are not created by default.
- ['binutils_version>=223', {
- # Newer binutils don't set DT_RPATH unless you disable "new" dtags
- # and the new DT_RUNPATH doesn't work without --no-as-needed flag.
- # FIXME(mithro): Figure out the --as-needed/--no-as-needed flags
- # inside this file to allow usage of --no-as-needed and removal of
- # this flag.
- 'ldflags': [
- '-Wl,--disable-new-dtags',
- ],
- }],
['gcc_version>=47 and clang==0', {
'target_conditions': [
['_toolset=="target"', {

View file

@ -108,7 +108,16 @@ (define-public qt
(sha256
(base32
"1by2l8wxbqwvs7anb5ggmqhn2cfmhyw3a23bp1yyd240rdpa38ky"))
(patches (list (search-patch "qt5-runpath.patch")))))
(modules '((guix build utils)))
(snippet
;; Remove qtwebengine, which relies on a bundled copy of
;; chromium. Not only does it fail compilation in qt 5.5:
;; 3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc:362:10:
;; error: cannot convert bool to boolean in return
;; it might also pose security problems.
;; Alternatively, we could use the "-skip qtwebengine"
;; configuration option.
'(delete-file-recursively "qtwebengine"))))
(build-system gnu-build-system)
(propagated-inputs
`(("mesa" ,mesa)))
@ -158,8 +167,6 @@ (define-public qt
`(("bison" ,bison)
("flex" ,flex)
("gperf" ,gperf)
;; Ninja is only needed for the disabled qtwebengine
;; ("ninja" ,ninja)
("perl" ,perl)
("pkg-config" ,pkg-config)
("python" ,python-2)
@ -175,14 +182,6 @@ (define-public qt
(("/bin/pwd") (which "pwd")))
(substitute* "qtbase/src/corelib/global/global.pri"
(("/bin/ls") (which "ls")))
;; commented out since qtwebengine is not built, but left in
;; for reference
;; (substitute* "qtwebengine/src/3rdparty/chromium/build/common.gypi"
;; (("/bin/echo") (which "echo")))
;; (substitute* "qtwebengine/src/3rdparty/chromium/third_party/\
;; WebKit/Source/build/scripts/scripts.gypi"
;; (("/usr/bin/gcc") (which "gcc")))
;; (setenv "NINJA_PATH" (which "ninja"))
;; do not pass "--enable-fast-install", which makes the
;; configure process fail
(zero? (system*
@ -196,12 +195,6 @@ (define-public qt
"-openssl-linked"
;; explicitly link with dbus instead of dlopening it
"-dbus-linked"
;; drop chromium module (qtwebengine); it fails
;; compilation in qt 5.5:
;; 3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc:362:10:
;; error: cannot convert bool to boolean in return
;; and might pose security problems.
"-skip" "qtwebengine"
;; drop special machine instructions not supported
;; on all instances of the target
,@(if (string-prefix? "x86_64"