aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrendan Tildesley <mail@brendan.scot>2021-02-22 21:15:21 +1100
committerLeo Famulari <leo@famulari.name>2021-04-09 16:09:23 -0400
commitc990604cb044dacf9c52fa33ec63b660329d4cb6 (patch)
tree1dd9368b26702d41063d563d0be5aacc6d7d5984
parent073b12d70d069680eda45b87d5a9bde506fe2b7e (diff)
downloadguix-c990604cb044dacf9c52fa33ec63b660329d4cb6.tar.gz
guix-c990604cb044dacf9c52fa33ec63b660329d4cb6.zip
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.
-rw-r--r--gnu/packages/geo.scm16
-rw-r--r--gnu/packages/maths.scm3
-rw-r--r--gnu/packages/pdf.scm2
-rw-r--r--gnu/packages/qt.scm54
4 files changed, 58 insertions, 17 deletions
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index bc5e6820f3..c4bdb6aca0 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 ff1b46f095..c1c29bc1d3 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 cbbdf68f5b..689d03afc8 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 21ccf15dc3..83501b82ca 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)))))