summaryrefslogtreecommitdiff
path: root/gnu/packages/qt.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/qt.scm')
-rw-r--r--gnu/packages/qt.scm154
1 files changed, 149 insertions, 5 deletions
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 11e69ff5db..d718b520bd 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -105,6 +105,39 @@
#:use-module (gnu packages xml)
#:use-module (srfi srfi-1))
+(define-public qite
+ (let ((commit "75fb3b6bbd5c6a5a8fc35e08a6efbfb588ed546a")
+ (revision "74"))
+ (package
+ (name "qite")
+ (version (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/Ri0n/qite")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0jmmgy9pvk9hwwph1nwy7hxhczy8drhl4ymhnjjn6yx7bckssvsq"))))
+ (build-system qt-build-system)
+ (arguments
+ `(#:tests? #f ; no target
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "libqite")
+ #t)))))
+ (inputs
+ `(("qtbase" ,qtbase)
+ ("qtmultimedia" ,qtmultimedia)))
+ (home-page "https://github.com/Ri0n/qite/")
+ (synopsis "Qt Interactive Text Elements")
+ (description "Qite allows to manage interactive elements on QTextEdit.")
+ (license license:asl2.0))))
+
(define-public qt5ct
(package
(name "qt5ct")
@@ -2030,7 +2063,7 @@ module provides support functions to the automatically generated code.")
(license license:gpl3)))
(define-public python2-sip
- (package (inherit python-sip)
+ (package/inherit python-sip
(name "python2-sip")
(native-inputs
`(("python" ,python-2)))))
@@ -2215,13 +2248,13 @@ itself.")
;; Ultimately, it would be nicer to have a more modular set of python-pyqt-*
;; packages that could be used together.
(define-public python-pyqt-without-qtwebkit
- (package (inherit python-pyqt)
+ (package/inherit python-pyqt
(name "python-pyqt-without-qtwebkit")
(inputs
(alist-delete "qtwebkit" (package-inputs python-pyqt)))))
(define-public python2-pyqt
- (package (inherit python-pyqt)
+ (package/inherit python-pyqt
(name "python2-pyqt")
(propagated-inputs
`(("python-enum34" ,python2-enum34)
@@ -2367,7 +2400,7 @@ indicators, code completion and call tips.")
(license license:gpl3+)))
(define-public python-qscintilla
- (package (inherit qscintilla)
+ (package/inherit qscintilla
(name "python-qscintilla")
(arguments
`(#:configure-flags
@@ -2415,7 +2448,7 @@ This package provides the Python bindings.")))
;; variables such as PYTHONPATH, so we need to build a union package to make
;; it work.
(define-public python-pyqt+qscintilla
- (package (inherit python-pyqt)
+ (package/inherit python-pyqt
(name "python-pyqt+qscintilla")
(source #f)
(build-system trivial-build-system)
@@ -2473,6 +2506,117 @@ This package provides the Python bindings.")))
securely. It will not store any data unencrypted unless explicitly requested.")
(license license:bsd-3)))
+(define-public qtsolutions
+ (let ((commit "9568abd142d581b67b86a5f63d823a34b0612702")
+ (revision "53"))
+ (package
+ (name "qtsolutions")
+ (version (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/qtproject/qt-solutions")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "17fnmassflm3vxi0krpr6fff368jy38cby31a48rban4nqqmgx7n"))
+ (modules '((guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-1)))
+ (snippet
+ ;; Unvendor QtLockFile from QtSingleApplication.
+ '(begin
+ (with-directory-excursion "qtsingleapplication/src"
+ (for-each delete-file
+ (find-files "." "qtlockedfile.*\\.(h|cpp)"))
+ (substitute* "qtsingleapplication.pri"
+ ;; Add include path of LockedFile.
+ (("INCLUDEPATH \\+=")
+ "INCLUDEPATH += ../../qtlockedfile/src")
+ ;; Link library of LockedFile.
+ (("LIBS \\+=")
+ "LIBS += -lQtSolutions_LockedFile"))
+ (substitute* '("qtlocalpeer.h" "qtlocalpeer.cpp")
+ (("#include \"qtlockedfile.*\\.cpp\"") "")
+ ;; Unwrap namespace added in the vendoring process.
+ (("QtLP_Private::QtLockedFile")
+ "QtLockedFile")))
+ #t))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No target
+ #:imported-modules
+ ((guix build copy-build-system)
+ ,@%gnu-build-system-modules)
+ #:modules
+ (((guix build copy-build-system) #:prefix copy:)
+ (guix build gnu-build-system)
+ (guix build utils))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* (find-files "." "common.pri")
+ ;; Remove unnecessary prefixes/suffixes in library names.
+ (("qt5") "qt")
+ (("-head") ""))
+ ;; Disable building of examples.
+ (substitute* (find-files "." "\\.pro$")
+ (("SUBDIRS\\+=examples") ""))
+ ;; Fix deprecated functions.
+ (substitute* "qtsoap/src/qtsoap.cpp"
+ (("toAscii") "toUtf8"))
+ #t))
+ (replace 'configure
+ (lambda _
+ (for-each (lambda (solution)
+ (with-directory-excursion solution
+ (invoke "./configure" "-library")
+ (invoke "qmake")))
+ '("qtlockedfile" "qtpropertybrowser" "qtservice"
+ "qtsingleapplication" "qtsoap"))
+ #t))
+ (replace 'build
+ (lambda _
+ (for-each (lambda (solution)
+ (with-directory-excursion solution
+ (invoke "make")))
+ '("qtlockedfile" "qtpropertybrowser" "qtservice"
+ "qtsingleapplication" "qtsoap"))
+ #t))
+ (replace 'install
+ (lambda args
+ (for-each (lambda (solution)
+ (with-directory-excursion solution
+ (apply
+ (assoc-ref copy:%standard-phases 'install)
+ #:install-plan
+ '(("src" "include" #:include-regexp ("\\.h$"))
+ ("lib" "lib"))
+ args)))
+ '("qtlockedfile" "qtpropertybrowser" "qtservice"
+ "qtsingleapplication" "qtsoap")))))))
+ (inputs
+ `(("qtbase" ,qtbase)))
+ (synopsis "Collection of Qt extensions")
+ (description "QtSolutions is a set of components extending Qt.
+@itemize
+@item QtLockedFile: A class that extends QFile with advisory locking functions.
+@item QtPropertyBrowser: A framework that enables the user to edit a set of
+properties.
+@item QtService: A helper for writing services such as Unix daemons.
+@item QtSingleApplication: A component that provides support for applications
+that can be only started once per user.
+@item QtSoap: A component that provides basic web service support with version
+1.1 of the SOAP protocol.
+@end itemize\n")
+ (home-page "https://doc.qt.io/archives/qq/qq09-qt-solutions.html")
+ (license (list license:bsd-3
+ ;; QScriptParser and QScriptGrammar specifically allow
+ ;; redistribution under GPL3 or LGPL2.1
+ license:gpl3 license:lgpl2.1)))))
+
(define-public qwt
(package
(name "qwt")