From: Andreas Enge <andreas@enge.fr>
To: Efraim Flashner <efraim@flashner.co.il>
Cc: 24404@debbugs.gnu.org, "help-guix@gnu.org" <help-guix@gnu.org>
Subject: Re: "calibre" package fails to build.
Date: Sun, 22 Jul 2018 11:49:14 +0200 [thread overview]
Message-ID: <20180722094914.GA31191@jurong> (raw)
In-Reply-To: <20180721204211.GA29877@jurong>
[-- Attachment #1: Type: text/plain, Size: 1069 bytes --]
Hello,
I ended up disabling tests (see comments in the patch).
Now the package builds, but tries to install into the Qt directory; at the
end of the cmake phase, it prints:
-- Installing in the same prefix as Qt, adopting their path scheme.
The previous version of the package contains a phase to adapt this,
but the .pri files to be modified do not exist any more.
I also tried to inherit from qtsvg like other qt* packages; but the
gnu-build-system does not work any more for qtwebkit, the build finishes
in a few seconds creating only the documentation and not compiling the code...
At this point, I am giving up; it would be nice if someone else could take
a look, I am attaching the current patch.
If there is no progress during the next few days, I would suggest to re-add
pyqt@5.9 for calibre. What do you think?
Andreas
PS: There is a thread from 2016 in which the Calibre author states that he
will stick with qtwebkit and in the worst case take over the maintenance
of a fork:
https://www.mobileread.com/forums/showthread.php?t=270258
[-- Attachment #2: 0001-gnu-qtwebkit-Update-to-5.212.0-alpha2.patch --]
[-- Type: text/plain, Size: 8879 bytes --]
From 3fe25c8153e28823411d045251e7458c82e62421 Mon Sep 17 00:00:00 2001
From: Andreas Enge <andreas@enge.fr>
Date: Sun, 22 Jul 2018 11:38:58 +0200
Subject: [PATCH] gnu: qtwebkit: Update to 5.212.0-alpha2.
* gnu/packages/qt.scm (qtwebkit): Update to 5.212.0-alpha2.
* gnu/packages/patches/qtwebkit-pbutils-include.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register the patch.
---
gnu/local.mk | 1 +
.../patches/qtwebkit-pbutils-include.patch | 15 ++++
gnu/packages/qt.scm | 87 +++----------------
3 files changed, 30 insertions(+), 73 deletions(-)
create mode 100644 gnu/packages/patches/qtwebkit-pbutils-include.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index e55c2bf3b..066b9fb42 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1092,6 +1092,7 @@ dist_patch_DATA = \
%D%/packages/patches/qtbase-use-TZDIR.patch \
%D%/packages/patches/qtoctave-qt-5.11-fix.patch \
%D%/packages/patches/qtscript-disable-tests.patch \
+ %D%/packages/patches/qtwebkit-pbutils-include.patch \
%D%/packages/patches/quagga-reproducible-build.patch \
%D%/packages/patches/quassel-qt-5.11.patch \
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \
diff --git a/gnu/packages/patches/qtwebkit-pbutils-include.patch b/gnu/packages/patches/qtwebkit-pbutils-include.patch
new file mode 100644
index 000000000..57961e7a5
--- /dev/null
+++ b/gnu/packages/patches/qtwebkit-pbutils-include.patch
@@ -0,0 +1,15 @@
+Patch taken from Nix:
+ https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/qt-5/5.11/qtwebkit.patch
+
+diff --git a/Source/WebKit2/PlatformQt.cmake b/Source/WebKit2/PlatformQt.cmake
+--- a/Source/WebKit2/PlatformQt.cmake
++++ b/Source/WebKit2/PlatformQt.cmake
+@@ -261,6 +261,7 @@
+ list(APPEND WebKit2_SYSTEM_INCLUDE_DIRECTORIES
+ ${GLIB_INCLUDE_DIRS}
+ ${GSTREAMER_INCLUDE_DIRS}
++ ${GSTREAMER_PBUTILS_INCLUDE_DIRS}
+ ${Qt5Quick_INCLUDE_DIRS}
+ ${Qt5Quick_PRIVATE_INCLUDE_DIRS}
+ ${SQLITE_INCLUDE_DIR}
+
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index a15d6453c..5386fc6d0 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -1991,18 +1991,16 @@ different kinds of sliders, and much more.")
(define-public qtwebkit
(package
(name "qtwebkit")
- (version "5.9.1")
+ (version "5.212.0-alpha2")
(source
(origin
(method url-fetch)
- (uri (string-append "https://download.qt.io/official_releases/qt/"
- (version-major+minor version) "/" version
- "/submodules/" name "-opensource-src-"
- version ".tar.xz"))
+ (uri "https://github.com/annulen/webkit/releases/download/qtwebkit-5.212.0-alpha2/qtwebkit-5.212.0-alpha2.tar.xz")
(sha256
(base32
- "1ksjn1vjbfhdm4y4rg08ag4krk87ahp7qcdcpwll42l0rnz61998"))))
- (build-system gnu-build-system)
+ "12lg7w00d8wsj672s1y5z5gm0xdcgs16nas0b5bgq4byavg03ygq"))
+ (patches (search-patches "qtwebkit-pbutils-include.patch"))))
+ (build-system cmake-build-system)
(native-inputs
`(("perl" ,perl)
("python" ,python-2.7)
@@ -2013,6 +2011,8 @@ different kinds of sliders, and much more.")
("pkg-config" ,pkg-config)))
(inputs
`(("icu" ,icu4c)
+ ("glib" ,glib)
+ ("gst-plugins-base" ,gst-plugins-base)
("libjpeg" ,libjpeg)
("libpng" ,libpng)
("libwebp" ,libwebp)
@@ -2021,85 +2021,26 @@ different kinds of sliders, and much more.")
("libxrender" ,libxrender)
("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)
+ ("qtlocation" ,qtlocation)
("qtmultimedia" ,qtmultimedia)
+ ("qtsensors" ,qtsensors)
+ ("qtwebchannel" ,qtwebchannel)
("libxml2" ,libxml2)
("libxslt" ,libxslt)
("libx11" ,libx11)
("libxcomposite" ,libxcomposite)))
(arguments
- `(#:phases
+ `(#:tests? #f ; no apparent tests; it might be necessary to set
+ ; ENABLE_API_TESTS, see CMakeLists.txt
+ #:phases
(modify-phases %standard-phases
- (add-before 'configure 'fix-qmlwebkit-plugins-rpath
- (lambda _
- (substitute* "Source/WebKit/qt/declarative/experimental/experimental.pri"
- (("RPATHDIR_RELATIVE_TO_DESTDIR = \\.\\./\\.\\./lib")
- "RPATHDIR_RELATIVE_TO_DESTDIR = ../../../../../lib"))
- (substitute* "Source/WebKit/qt/declarative/public.pri"
- (("RPATHDIR_RELATIVE_TO_DESTDIR = \\.\\./\\.\\./lib")
- "RPATHDIR_RELATIVE_TO_DESTDIR = ../../../../lib"))
- #t))
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(setenv "QMAKEPATH"
(string-append (getcwd) "/Tools/qmake:"
(getenv "QMAKEPATH")))
- (system* "qmake"))))
- ;; prevent webkit from trying to install into the qtbase store directory,
- ;; and replace references to the build directory in linker options:
- (add-before 'build 'patch-installpaths
- (lambda* (#:key outputs inputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (qtbase (assoc-ref inputs "qtbase"))
- (builddir (getcwd))
- (linkbuild (string-append "-L" builddir))
- (linkout (string-append "-L" out))
- (makefiles
- (map-in-order
- (lambda (i)
- (let* ((in (car i))
- (mf (string-append (dirname in) "/"
- (cdr i))))
- ;; by default, these Makefiles are
- ;; generated during install, but we need
- ;; to generate them now
- (system* "qmake" in "-o" mf)
- mf))
- '(("Source/api.pri" . "Makefile.api")
- ("Source/widgetsapi.pri"
- . "Makefile.widgetsapi")
- ("Source/WebKit2/WebProcess.pro"
- . "Makefile.WebProcess")
- ("Source/WebKit2/PluginProcess.pro"
- . "Makefile.PluginProcess")
- ("Source/WebKit/qt/declarative/public.pri"
- . "Makefile.declarative.public")
- ("Source/WebKit/qt/declarative/experimental/experimental.pri"
- . "Makefile.declarative.experimental")
- ("Source/WebKit/qt/examples/platformplugin/platformplugin.pro"
- . "Makefile")))))
- ;; Order of qmake calls and substitutions matters here.
- (system* "qmake" "-prl" "Source/widgetsapi.pri"
- "-o" "Source/Makefile")
- (substitute* (find-files "lib" "libQt5.*\\.prl")
- ((linkbuild) linkout))
- (substitute* (find-files "lib"
- "libQt5WebKit.*\\.la")
- (("libdir='.*'")
- (string-append "libdir='" out "/lib'"))
- ((linkbuild) linkout))
- (substitute* (find-files "lib/pkgconfig"
- "Qt5WebKit.*\\.pc")
- (((string-append "prefix=" qtbase))
- (string-append "prefix=" out))
- ((linkbuild) linkout))
- ;; Makefiles must be modified after .prl/.la/.pc
- ;; files, lest they get rebuilt:
- (substitute* makefiles
- (((string-append "\\$\\(INSTALL_ROOT\\)" qtbase))
- out )
- (((string-append "-Wl,-rpath," builddir))
- (string-append "-Wl,-rpath," out)))))))))
+ (system* "qmake")))))))
(home-page "https://www.webkit.org")
(synopsis "Web browser engine and classes to render and interact with web
content")
--
2.18.0
next prev parent reply other threads:[~2018-07-22 9:49 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-28 22:01 "calibre" package fails to build Matthew Brooks
2018-07-21 17:32 ` Andreas Enge
2018-07-21 18:13 ` bug#24404: " Andreas Enge
2018-07-21 18:13 ` Andreas Enge
2018-07-21 18:19 ` bug#24404: " Andreas Enge
2018-07-21 18:19 ` Andreas Enge
2018-07-21 18:38 ` Efraim Flashner
2018-07-21 18:38 ` Efraim Flashner
2018-07-21 18:48 ` Andreas Enge
2018-07-21 18:52 ` Efraim Flashner
2018-07-21 20:34 ` bug#24404: " Andreas Enge
2018-07-21 20:34 ` Andreas Enge
2018-07-21 20:42 ` bug#24404: " Andreas Enge
2018-07-22 9:49 ` Andreas Enge
2018-07-22 9:49 ` Andreas Enge [this message]
2018-08-01 10:17 ` Efraim Flashner
2018-08-01 10:17 ` Efraim Flashner
2018-08-01 12:46 ` bug#24404: " Brendan Tildesley
2018-08-01 16:41 ` Efraim Flashner
2018-08-02 12:30 ` Andreas Enge
2018-08-02 15:00 ` Efraim Flashner
2018-08-02 15:07 ` Andreas Enge
2018-08-02 16:22 ` Andreas Enge
2018-08-02 16:49 ` Andreas Enge
2018-08-02 17:04 ` Andreas Enge
2018-08-02 17:23 ` Andreas Enge
2018-08-02 16:31 ` Andreas Enge
2018-08-05 7:44 ` Matthew Brooks
2018-08-07 2:27 ` Chris Marusich
2018-08-11 16:46 ` Andreas Enge
2018-07-21 18:52 ` bug#24404: " Efraim Flashner
2018-07-21 18:48 ` Andreas Enge
2019-02-19 22:25 ` bug#32238: Close Andreas Enge
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180722094914.GA31191@jurong \
--to=andreas@enge.fr \
--cc=24404@debbugs.gnu.org \
--cc=efraim@flashner.co.il \
--cc=help-guix@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.