guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/22: gnu: python-sip: Update to 5.5.0. Add python-sip-4


From: guix-commits
Subject: 01/22: gnu: python-sip: Update to 5.5.0. Add python-sip-4
Date: Fri, 9 Apr 2021 16:12:05 -0400 (EDT)

lfam pushed a commit to branch master
in repository guix.

commit c990604cb044dacf9c52fa33ec63b660329d4cb6
Author: Brendan Tildesley <mail@brendan.scot>
AuthorDate: Mon Feb 22 21:15:21 2021 +1100

    gnu: python-sip: Update to 5.5.0. Add python-sip-4
    
    * gnu/packages/qt.scm (python-sip): Update to 5.5.0.
    (python-sip-4): New variable. Rename the old python-sip to python-sip-4.
    (python2-sip): Inherit from python-sip-4.
    * gnu/packages/maths.scm (veusz)[native-inputs]: Use python-sip-4.
    * gnu/packages/pdf.scm (python-poppler-qt5): Use python-sip-4.
    * gnu/packages/geo.scm (qgis)[arguments]: Fix build for python-sip@5.
---
 gnu/packages/geo.scm   | 16 ++++++++++++++-
 gnu/packages/maths.scm |  3 ++-
 gnu/packages/pdf.scm   |  2 +-
 gnu/packages/qt.scm    | 54 +++++++++++++++++++++++++++++++++++++-------------
 4 files changed, 58 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index bc5e682..c4bdb6a 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -2082,7 +2082,21 @@ growing set of geoscientific methods.")
                (("sip_dir = cfg.default_sip_dir")
                 (string-append "sip_dir = \""
                                (assoc-ref inputs "python-pyqt+qscintilla")
-                               "/share/sip\"")))
+                               "/share/sip\""))
+               ;; Fix building with python-sip@5.
+               ;;
+               ;; The reason for this is that python-sip@5 introduces some
+               ;; changes such as a new build system 'sip-build' as well as the
+               ;; use of the path "/lib/pythonX.X/site-packages/*/bindings/"
+               ;; instead of "/share/sip/" for .sip files. However, we do not
+               ;; actually use that those yet. QGIS detects SIP5 and assumes we
+               ;; are, messing up the build. The long term solution is to fully
+               ;; upgrade SIP, use sip-build and fix all failing packages, but
+               ;; for now I just want to get the build working.
+               ((".pyqt_sip_dir...os.path.join.*,")
+                (string-append "'pyqt_sip_dir': \""
+                               (assoc-ref inputs "python-pyqt+qscintilla")
+                               "/share/sip"  "\",")))
              (substitute* (list "scripts/prepare_commit.sh"
                                 "scripts/qstringfixup.sh"
                                 "scripts/release.pl"
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index ff1b46f..c1c29bc 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2290,7 +2290,8 @@ ASCII text files using Gmsh's own scripting language.")
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ;;("python-astropy" ,python-astropy) ;; FIXME: Package this.
-       ("qttools" ,qttools)))
+       ("qttools" ,qttools)
+       ("python-sip" ,python-sip-4)))
     (inputs
      `(("ghostscript" ,ghostscript) ;optional, for EPS/PS output
        ("python-dbus" ,python-dbus)
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index cbbdf68..689d03a 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -339,7 +339,7 @@ When present, Poppler is able to correctly render CJK and 
Cyrillic text.")
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (inputs
-     `(("python-sip" ,python-sip)
+     `(("python-sip" ,python-sip-4)
        ("python-pyqt" ,python-pyqt)
        ("poppler-qt5" ,poppler-qt5)
        ("qtbase" ,qtbase)))
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 21ccf15..83501b8 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -20,6 +20,7 @@
 ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
 ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
 ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -88,6 +89,7 @@
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages protobuf)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-build)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages regex)
   #:use-module (gnu packages ruby)
@@ -1807,6 +1809,42 @@ and binaries removed, and adds modular support for using 
system libraries.")
 (define-public python-sip
   (package
     (name "python-sip")
+    (version "5.5.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (list (pypi-uri "sip" version)
+                   (string-append "https://www.riverbankcomputing.com/static/";
+                                  "Downloads/sip/" version
+                                  "/sip-" version ".tar.gz")))
+        (sha256
+         (base32
+          "1idaivamp1jvbbai9yzv471c62xbqxhaawccvskaizihkd0lq0jx"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python" ,python-wrapper)))
+    (propagated-inputs
+     `(("python-toml" ,python-toml)
+       ("python-packaging" ,python-packaging)))
+    (home-page "https://www.riverbankcomputing.com/software/sip/intro";)
+    (synopsis "Python binding creator for C and C++ libraries")
+    (description
+     "SIP is a tool to create Python bindings for C and C++ libraries.  It
+was originally developed to create PyQt, the Python bindings for the Qt
+toolkit, but can be used to create bindings for any C or C++ library.
+
+SIP comprises a code generator and a Python module.  The code generator
+processes a set of specification files and generates C or C++ code, which
+is then compiled to create the bindings extension module.  The SIP Python
+module provides support functions to the automatically generated code.")
+    ;; There is a choice between a python like license, gpl2 and gpl3.
+    ;; For compatibility with pyqt, we need gpl3.
+    (license license:gpl3)))
+
+(define-public python-sip-4
+  (package
+    (inherit python-sip)
+    (name "python-sip")
     (version "4.19.24")
     (source
       (origin
@@ -1821,6 +1859,7 @@ and binaries removed, and adds modular support for using 
system libraries.")
     (build-system gnu-build-system)
     (native-inputs
      `(("python" ,python-wrapper)))
+    (propagated-inputs `())
     (arguments
      `(#:tests? #f ; no check target
        #:imported-modules ((guix build python-build-system)
@@ -1843,23 +1882,10 @@ and binaries removed, and adds modular support for 
using system libraries.")
                        "--bindir" bin
                        "--destdir" lib
                        "--incdir" include)))))))
-    (home-page "https://www.riverbankcomputing.com/software/sip/intro";)
-    (synopsis "Python binding creator for C and C++ libraries")
-    (description
-     "SIP is a tool to create Python bindings for C and C++ libraries.  It
-was originally developed to create PyQt, the Python bindings for the Qt
-toolkit, but can be used to create bindings for any C or C++ library.
-
-SIP comprises a code generator and a Python module.  The code generator
-processes a set of specification files and generates C or C++ code, which
-is then compiled to create the bindings extension module.  The SIP Python
-module provides support functions to the automatically generated code.")
-    ;; There is a choice between a python like license, gpl2 and gpl3.
-    ;; For compatibility with pyqt, we need gpl3.
     (license license:gpl3)))
 
 (define-public python2-sip
-  (package/inherit python-sip
+  (package/inherit python-sip-4
     (name "python2-sip")
     (native-inputs
      `(("python" ,python-2)))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]