From 7431edea5b6eb4d1c67ddf9971efdfdbc65fc349 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 4 Oct 2015 00:51:21 +0200 Subject: gnu: qt-4: Disable webkit build. * gnu/packages/qt.scm (qt-4)[source]: Add snippet to remove the webkit code and drop one patch used previously for webkit. [arguments]: Add configure flag to disable building the webkit module. * gnu/packages/patches/qt4-tests.patch: Delete file. * gnu-system.am (dist_patch_DATA): Unregister patch. Partially fixes . --- gnu/packages/qt.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index ce5ab656a5..c2c3f9abcd 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -243,7 +243,11 @@ developers using C++ or QML, a CSS & JavaScript like language.") (base32 "183fca7n7439nlhxyg1z7aky0izgbyll3iwakw4gwivy16aj5272")) (patches (map search-patch - '("qt4-ldflags.patch" "qt4-tests.patch"))))) + '("qt4-ldflags.patch"))) + (modules '((guix build utils))) + (snippet + ;; Remove webkit module, which is not built. + '(delete-file-recursively "src/3rdparty/webkit")))) (inputs `(,@(alist-delete "harfbuzz" (alist-delete "libjpeg" (package-inputs qt))) ("libjepg" ,libjpeg-8) @@ -288,6 +292,9 @@ developers using C++ or QML, a CSS & JavaScript like language.") "-confirm-license" ;; explicitly link with dbus instead of dlopening it "-dbus-linked" + ;; Skip the webkit module; it fails to build on armhf + ;; and, apart from that, may pose security risks. + "-no-webkit" ;; drop special machine instructions not supported ;; on all instances of the target ,@(if (string-prefix? "x86_64" -- cgit v1.2.3 From 14bcc1e1cd85d38db59b6b6089d63d429fb76b57 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 4 Oct 2015 12:56:45 +0200 Subject: 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 . --- gnu-system.am | 1 - gnu/packages/patches/qt5-runpath.patch | 27 --------------------------- gnu/packages/qt.scm | 27 ++++++++++----------------- 3 files changed, 10 insertions(+), 45 deletions(-) delete mode 100644 gnu/packages/patches/qt5-runpath.patch (limited to 'gnu/packages/qt.scm') diff --git a/gnu-system.am b/gnu-system.am index 8eb268f752..577c6e8c07 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -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 \ diff --git a/gnu/packages/patches/qt5-runpath.patch b/gnu/packages/patches/qt5-runpath.patch deleted file mode 100644 index d045d39aaa..0000000000 --- a/gnu/packages/patches/qt5-runpath.patch +++ /dev/null @@ -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=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"', { diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index c2c3f9abcd..398e42c543 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -108,7 +108,16 @@ X11 (yet).") (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 @@ X11 (yet).") `(("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 @@ X11 (yet).") (("/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 @@ X11 (yet).") "-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" -- cgit v1.2.3 From bc554b43d6ed26b6601ce881e9171cb31c082231 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 4 Oct 2015 19:08:13 +0200 Subject: gnu: qt: Compile with system harfbuzz. * gnu/packages/qt.scm (qt)[source]: Add a snippet to remove one of the two bundled copies of harfbuzz. [arguments]: Pass a configure flag to use harfbuzz from the system. Partially fixes . --- gnu/packages/qt.scm | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 398e42c543..4f23b6398c 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -110,14 +110,18 @@ X11 (yet).") "1by2l8wxbqwvs7anb5ggmqhn2cfmhyw3a23bp1yyd240rdpa38ky")) (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")))) + '(begin + ;; 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") + ;; Remove one of the two bundled harfbuzz copies in addition + ;; to passing "-system-harfbuzz". + (delete-file-recursively "qtbase/src/3rdparty/harfbuzz-ng"))))) (build-system gnu-build-system) (propagated-inputs `(("mesa" ,mesa))) @@ -190,7 +194,10 @@ X11 (yet).") "-prefix" out "-opensource" "-confirm-license" + ;; Most "-system-..." are automatic, but some use + ;; the bundled copy by default. "-system-sqlite" + "-system-harfbuzz" ;; explicitly link with openssl instead of dlopening it "-openssl-linked" ;; explicitly link with dbus instead of dlopening it -- cgit v1.2.3 From 9c32e1fef1a1a0f1be1cb93b2149b9d4eb47ab42 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 4 Oct 2015 20:00:28 +0200 Subject: gnu: qt: Remove bundled copy of sqlite. * gnu/packages/qt.scm (qt)[source]: Add snippet to remove the bundled copy of sqlite. Partially fixes . --- gnu/packages/qt.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 4f23b6398c..ab390d37de 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -121,7 +121,10 @@ X11 (yet).") (delete-file-recursively "qtwebengine") ;; Remove one of the two bundled harfbuzz copies in addition ;; to passing "-system-harfbuzz". - (delete-file-recursively "qtbase/src/3rdparty/harfbuzz-ng"))))) + (delete-file-recursively "qtbase/src/3rdparty/harfbuzz-ng") + ;; Remove the bundled sqlite copy in addition to + ;; passing "-system-sqlite". + (delete-file-recursively "qtbase/src/3rdparty/sqlite"))))) (build-system gnu-build-system) (propagated-inputs `(("mesa" ,mesa))) -- cgit v1.2.3