unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* PyQt in core-updates
@ 2023-03-18 15:19 Andreas Enge
  0 siblings, 0 replies; 4+ messages in thread
From: Andreas Enge @ 2023-03-18 15:19 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1747 bytes --]

Hello,

the attached patch seems to be necessary to start configuring python-pyqt
in core-updates.

But then the configure step still fails. The error message of "guix build"
is not helpful, but running the configure step in the result of "guix build -K"
shows the following:
...
The interpreter used by pyuic5 is
/gnu/store/82nin1sk01l31p5vpnz9c2ki76qka9b0-python-wrapper-3.10.7/bin/python.
Generating the C++ source for the QtCore module...
Error: Unable to create the C++ code.

A search seems to indicate that sip does not do its job, but the exact same
error with this PyQt version does not show up.

The error message comes from the function
def generate_sip_module_code
in configure.py, which creates a command that is run with run_command.
Precisely, the command is
/gnu/store/zd8nrmc0207l90vscnf7dlswd6z16aas-python-sip-5.5.0/bin/sip5 -w -n PyQt5.sip -t WS_X11 -t Qt_5_15_0 -f -P -o -y QtCore.pyi -c /tmp/guix-build-python-pyqt-5.15.8.drv-2/PyQt5-5.15.8/QtCore -I sip -I /tmp/guix-build-python-pyqt-5.15.8.drv-2/PyQt5-5.15.8/sip /tmp/guix-build-python-pyqt-5.15.8.drv-2/PyQt5-5.15.8/sip/QtCore/QtCoremod.sip

If I run it by hand, it prints
.sip5-real: /tmp/guix-build-python-pyqt-5.15.8.drv-1/PyQt5-5.15.8/sip/QtCore/QtCoremod.sip:23: syntax error
This line 23 is very simple:
%Module(name=PyQt5.QtCore, call_super_init=True, default_VirtualErrorHandler=PyQt5, keyword_arguments="Optional", use_limited_api=True, py_ssize_t_clean=True)

And anyway, it is part of the source code...

There is a version 5.15.9 of PyQt (interestingly enough, not related to a
corresponding Qt version), with NEWS stating "Bug fixes", but what I have
written above is still valid.

At this point, I have to give up for lack of knowledge about sip.

Andreas


[-- Attachment #2: 0001-gnu-python-pyqt-Set-variable-in-configure-script.patch --]
[-- Type: text/plain, Size: 2518 bytes --]

From 82cb67b324e9ef63bb105caae5b778467aedf894 Mon Sep 17 00:00:00 2001
From: Andreas Enge <andreas@enge.fr>
Date: Sat, 18 Mar 2023 15:48:48 +0100
Subject: [PATCH] gnu: python-pyqt: Set variable in configure script.

* gnu/packages/patches/pyqt-minimum-sip-version.patch: New file.
* gnu/packages/qt.scm (python-pyqt): Add patch.
* gnu/local.mk (dist_patch_DATA): Register patch.
---
 gnu/local.mk                                       |  1 +
 .../patches/pyqt-minimum-sip-version.patch         | 14 ++++++++++++++
 gnu/packages/qt.scm                                |  3 ++-
 3 files changed, 17 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/pyqt-minimum-sip-version.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 43b7e4ceb3..d81f8ee0f8 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1707,6 +1707,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/pybugz-stty.patch			\
   %D%/packages/patches/pygpgme-disable-problematic-tests.patch  \
   %D%/packages/patches/pyqt-configure.patch			\
+  %D%/packages/patches/pyqt-minimum-sip-version.patch           \
   %D%/packages/patches/python-2-deterministic-build-info.patch	\
   %D%/packages/patches/python-2.7-adjust-tests.patch		\
   %D%/packages/patches/python-2.7-expat-compat.patch		\
diff --git a/gnu/packages/patches/pyqt-minimum-sip-version.patch b/gnu/packages/patches/pyqt-minimum-sip-version.patch
new file mode 100644
index 0000000000..abcb4113e8
--- /dev/null
+++ b/gnu/packages/patches/pyqt-minimum-sip-version.patch
@@ -0,0 +1,14 @@
+Set the MinimumSipVersion to something, namely the currently available one.
+
+diff -u PyQt5-5.15.8.alt/configure.py PyQt5-5.15.8/configure.py
+--- PyQt5-5.15.8.alt/configure.py
++++ PyQt5-5.15.8/configure.py
+@@ -29,7 +29,7 @@ import sys
+ 
+ # Initialise the constants.
+ PYQT_VERSION_STR = "5.15.8"
+-SIP_MIN_VERSION = '@MinimumSipVersion@'
++SIP_MIN_VERSION = "5.5.0"
+ 
+ 
+ class ModuleMetadata:
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 22a33341bf..45d99c241c 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3294,7 +3294,8 @@ (define-public python-pyqt
         (sha256
          (base32
           "0q53xn1ax2kpfqwxkasby787ryq5a21chmw1p345cp0kp7py71dw"))
-        (patches (search-patches "pyqt-configure.patch"))))
+        (patches (search-patches "pyqt-configure.patch"
+                                 "pyqt-minimum-sip-version.patch"))))
     (build-system gnu-build-system)
     (native-inputs
      (list qtbase-5)) ; for qmake
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* PyQt in core-updates
  2023-03-30  9:57                 ` Python Lars-Dominik Braun
@ 2023-04-03 17:29                   ` Andreas Enge
  2023-04-04  7:55                     ` Lars-Dominik Braun
  0 siblings, 1 reply; 4+ messages in thread
From: Andreas Enge @ 2023-04-03 17:29 UTC (permalink / raw)
  To: Lars-Dominik Braun; +Cc: guix-devel

Hello,

Am Thu, Mar 30, 2023 at 11:57:53AM +0200 schrieb Lars-Dominik Braun:
> python-pyqt and python-pyqtwebengine should build on core-updates
> now. I’ve tested qutebrowser, which works. Other packages depending
> on python-pyqt fail due to unrelated problems.

I have just fixed calibre. It failed to build because .sip fails are
now in a subdirectory /lib/python3.10/site-packages/PyQt5/bindings
instead of /share/sip (or maybe before, they were in both directories).

Just as a potential hint for other packages.

Andreas



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: PyQt in core-updates
  2023-04-03 17:29                   ` PyQt in core-updates Andreas Enge
@ 2023-04-04  7:55                     ` Lars-Dominik Braun
  2023-04-17  8:32                       ` Andreas Enge
  0 siblings, 1 reply; 4+ messages in thread
From: Lars-Dominik Braun @ 2023-04-04  7:55 UTC (permalink / raw)
  To: Andreas Enge; +Cc: guix-devel

Hi Andreas,

> I have just fixed calibre. It failed to build because .sip fails are
> now in a subdirectory /lib/python3.10/site-packages/PyQt5/bindings
> instead of /share/sip (or maybe before, they were in both directories).

no, it was definitely in /share/sip before, but the pyproject-based
build system does not expose any option to move it there :( If anyone
can figure out how to move it back *and* successfully compile pyqt,
please, change it back to /share/sip.

Lars



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: PyQt in core-updates
  2023-04-04  7:55                     ` Lars-Dominik Braun
@ 2023-04-17  8:32                       ` Andreas Enge
  0 siblings, 0 replies; 4+ messages in thread
From: Andreas Enge @ 2023-04-17  8:32 UTC (permalink / raw)
  To: Lars-Dominik Braun; +Cc: guix-devel

Am Tue, Apr 04, 2023 at 09:55:37AM +0200 schrieb Lars-Dominik Braun:
> > I have just fixed calibre. It failed to build because .sip fails are
> > now in a subdirectory /lib/python3.10/site-packages/PyQt5/bindings
> > instead of /share/sip (or maybe before, they were in both directories).
> no, it was definitely in /share/sip before, but the pyproject-based
> build system does not expose any option to move it there :( If anyone
> can figure out how to move it back *and* successfully compile pyqt,
> please, change it back to /share/sip.

Well, if we want to have files somewhere else, we could always add a phase
and move them from one place to the other. I wonder how other distributions
do it.

Andreas



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-04-17  8:32 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-18 15:19 PyQt in core-updates Andreas Enge
  -- strict thread matches above, loose matches on Subject: below --
2023-02-24 18:08 Python Lars-Dominik Braun
2023-02-25 15:15 ` Python Andreas Enge
2023-02-25 15:45   ` Python Lars-Dominik Braun
2023-02-25 16:39     ` Python Andreas Enge
2023-02-25 16:56       ` Python Lars-Dominik Braun
2023-03-15 13:49         ` Python Andreas Enge
2023-03-18  9:43           ` Python Lars-Dominik Braun
2023-03-18 19:37             ` Python Andreas Enge
2023-03-21 18:56               ` Python Lars-Dominik Braun
2023-03-30  9:57                 ` Python Lars-Dominik Braun
2023-04-03 17:29                   ` PyQt in core-updates Andreas Enge
2023-04-04  7:55                     ` Lars-Dominik Braun
2023-04-17  8:32                       ` Andreas Enge

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).