From a9c4040710f469762abd9a9c4683b9ed37ee281a Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Wed, 28 Sep 2022 10:48:47 +0200 Subject: gnu: Add python-qt.py. * gnu/packages/qt.scm (python-qt.py): New variable. --- gnu/packages/qt.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index cb7f72e698..8c94d613d6 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -3229,6 +3229,25 @@ (define-public python-qtpy (PyQt5, PyQt4 and PySide) and additional custom QWidgets.") (license license:expat))) +(define-public python-qt.py + (package + (name "python-qt.py") + (version "1.3.7") + (source + (origin + (method url-fetch) + (uri (pypi-uri "Qt.py" version)) + (sha256 + (base32 "07rvfwzjl378j75j2va0c6xylwx16icxa6dycsjgjc329pgpng40")))) + (build-system python-build-system) + (native-inputs (list python-pyqt)) + (home-page "https://github.com/mottosso/Qt.py") + (synopsis "Abstraction layer for Python Qt bindings") + (description + "This package provides an abstraction layer on top of the various Qt +bindings (PySide, PySide2, PyQt4 and PyQt5).") + (license license:expat))) + (define-public qscintilla (package (name "qscintilla") -- cgit v1.2.3 From 034f68bac3940420d6776f58522d6380023bb407 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Thu, 29 Sep 2022 21:53:35 +0800 Subject: gnu: qtwayland: Rename to qtwayland-5. Automated via: git grep -l qtwayland | xargs sed 's/\qtwayland\b/\0-5/g' -i git checkout NEWS Signed-off-by: Maxim Cournoyer --- gnu/packages/kde-frameworks.scm | 2 +- gnu/packages/kde-plasma.scm | 2 +- gnu/packages/qt.scm | 4 ++-- gnu/packages/telegram.scm | 2 +- gnu/packages/video.scm | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 61cbf19bc4..059667ee5d 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -1068,7 +1068,7 @@ (define-public kwayland (native-inputs (list extra-cmake-modules pkg-config)) (inputs - (list qtbase-5 qtwayland wayland wayland-protocols)) + (list qtbase-5 qtwayland-5 wayland wayland-protocols)) (arguments `(#:tests? #f ; FIXME tests require weston to run ; weston requires wayland flags in mesa diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm index 39716187fd..064f5f7278 100644 --- a/gnu/packages/kde-plasma.scm +++ b/gnu/packages/kde-plasma.scm @@ -177,7 +177,7 @@ (define-public layer-shell-qt (list libxkbcommon qtbase-5 qtdeclarative-5 - qtwayland + qtwayland-5 wayland wayland-protocols)) (home-page "https://invent.kde.org/plasma/layer-shell-qt") diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 8c94d613d6..f6e5a37472 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -220,7 +220,7 @@ (define-public materialdecoration (list cmake-shared extra-cmake-modules pkg-config)) (inputs `(("qtbase" ,qtbase-5) - ("qtwayland" ,qtwayland) + ("qtwayland" ,qtwayland-5) ("wayland" ,wayland) ("xkbcommon" ,libxkbcommon))) (synopsis "Material Decoration for Qt") @@ -1450,7 +1450,7 @@ (define-public qtmultimedia set of plugins for interacting with pulseaudio and GStreamer.") (license (package-license qtbase)))) -(define-public qtwayland +(define-public qtwayland-5 (package (inherit qtsvg-5) (name "qtwayland") (version "5.15.2") diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm index 2df68ccca7..82c9227ba8 100644 --- a/gnu/packages/telegram.scm +++ b/gnu/packages/telegram.scm @@ -502,7 +502,7 @@ (define-public telegram-desktop qtbase-5 qtimageformats qtsvg-5 - qtwayland + qtwayland-5 range-v3 rlottie-for-telegram-desktop rnnoise diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 01c9ae186a..ca6148b078 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -3385,7 +3385,7 @@ (define-public obs qtbase-5 qtsvg-5 qtx11extras - qtwayland + qtwayland-5 speexdsp v4l-utils wayland -- cgit v1.2.3 From a70c67cfe75031746d1f73ba76b6d83b95ea1cf7 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Thu, 29 Sep 2022 21:53:55 +0800 Subject: gnu: Add qtwayland, version 6.3.1. * gnu/packages/qt.scm (qtwayland): New variable. Signed-off-by: Maxim Cournoyer --- gnu/packages/qt.scm | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index f6e5a37472..6e30980505 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1500,6 +1500,56 @@ (define-public qtwayland-5 (description "The Qt Wayland module provides the QtWayland client and compositor libraries."))) +(define-public qtwayland + (package + (name "qtwayland") + (version "6.3.1") + (source + (origin + (method url-fetch) + (uri (qt-urls name version)) + (sha256 + (base32 "1w60p1did7awdlzq5k8vnq2ncpskb07cpvz31cbv99bjs6igw53g")))) + (build-system cmake-build-system) + (arguments + (list #:configure-flags #~(list "-DQT_BUILD_TESTS=ON") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'disable-failing-tests + (lambda _ + ;; FIXME: tst_seatv4::animatedCursor() fails here. + ;; See also: + (substitute* "tests/auto/client/seatv4/tst_seatv4.cpp" + (((string-append + "QVERIFY\\(!cursorSurface\\(\\)->" + "m_waitingFrameCallbacks\\.empty\\(\\)\\);")) "") + (("QTRY_COMPARE\\(bufferSpy\\.count\\(\\), 1\\);") "")))) + (add-before 'check 'set-test-environment + (lambda _ + ;; Do not fail just because /etc/machine-id is missing. + (setenv "DBUS_FATAL_WARNINGS" "0") + ;; Make Qt render "offscreen", required for tests. + (setenv "QT_QPA_PLATFORM" "offscreen")))))) + (native-inputs (list glib perl pkg-config qtdeclarative)) + (inputs + (list fontconfig + freetype + libx11 + libxcomposite + libxext + libxkbcommon + libxrender + mesa + mtdev + qtbase + vulkan-headers + wayland)) + (synopsis "Qt Wayland module") + (description "The Qt Wayland module provides the QtWayland client and +compositor libraries.") + (home-page (package-home-page qtbase)) + (license (package-license qtbase)))) + (define-public qtserialport (package (inherit qtsvg-5) (name "qtserialport") -- cgit v1.2.3 From faa03d1ace931714210b937cefdf8c629b638529 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Tue, 1 Nov 2022 16:55:41 -0700 Subject: gnu: Shorten package synopsis. * gnu/packages/crates-io.scm (rust-inflections-1): Shorten synopsis. (rust-clap-conf-0.1): Likewise. * gnu/packages/gtk.scm (volctl): Likewise. * gnu/packages/haskell-xyz.scm (ghc-unliftio): Likewise. * gnu/packages/kde-pim.scm (korganizer): Likewise. * gnu/packages/kde.scm (kuserfeedback): Likewise. * gnu/packages/pascal.scm (p2c): Likewise. * gnu/packages/python-xyz.scm (python-ttystatus): Likewise. * gnu/packages/qt.scm (qtwebplugin): Likewise. --- gnu/packages/crates-io.scm | 4 ++-- gnu/packages/gtk.scm | 2 +- gnu/packages/haskell-xyz.scm | 2 +- gnu/packages/kde-pim.scm | 2 +- gnu/packages/kde.scm | 2 +- gnu/packages/pascal.scm | 3 +-- gnu/packages/python-xyz.scm | 2 +- gnu/packages/qt.scm | 2 +- 8 files changed, 9 insertions(+), 10 deletions(-) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 0c15b23b93..89d353cee4 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -68211,7 +68211,7 @@ (define-public rust-inflections-1 (build-system cargo-build-system) (home-page #f) (synopsis - "High performance inflection transformation library for changing properties of words like the case") + "Inflection transformation library for changing properties of words") (description "High performance inflection transformation library for changing properties of words like the case.") (license license:expat))) @@ -68382,7 +68382,7 @@ (define-public rust-clap-conf-0.1 (home-page "https://github.com/storyfeet/clap_conf") (synopsis - "Library to unify commandline arguments with config files and environment variables. And make it easier for users to tell your program how to behave across the three main input sources") + "Library to unify commandline arguments, config files and environment variables") (description "This package provides a library to unify commandline arguments with config files and environment variables. And make it easier for users to tell your program how to behave across the three main input sources") (license license:expat))) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 972064182d..56104b2124 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -2926,7 +2926,7 @@ (define-public volctl (propagated-inputs (list python-click python-pycairo python-pygobject python-pyyaml)) (home-page "https://buzz.github.io/volctl/") - (synopsis "Per-application volume control and on-screen display (OSD) for graphical desktops") + (synopsis "Per-application volume control and on-screen display for graphical desktops") (description "Volctl is a PulseAudio-enabled tray icon volume control and OSD applet for graphical desktops. It's not meant to be an replacement for a full-featured mixer application. If you're looking for that check out the diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index e00d8c5abe..2b92600806 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -13854,7 +13854,7 @@ (define-public ghc-unliftio (native-inputs (list ghc-hspec)) (home-page "https://github.com/fpco/unliftio") (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to -IO (batteries included)") +IO") (description "This Haskell package provides the core @code{MonadUnliftIO} typeclass, a number of common instances, and a collection of common functions working with it.") diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm index fc3e7069f1..73edce6c33 100644 --- a/gnu/packages/kde-pim.scm +++ b/gnu/packages/kde-pim.scm @@ -1506,7 +1506,7 @@ (define-public korganizer (invoke "dbus-launch" "ctest"))))))) (home-page "https://apps.kde.org/korganizer/") (synopsis "Organizational assistant, providing calendars and other similar -functionality to help you organize your life") +functionality") (description "KOrganizer is the calendar and scheduling component of Kontact. It provides management of events and tasks, alarm notification, web export, network transparent handling of data, group scheduling, import and diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 420d2a657e..12498c38d1 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -1256,7 +1256,7 @@ (define-public kuserfeedback (arguments `(#:tests? #f)) ;; 4/17 fail (home-page "https://api.kde.org/frameworks/kuserfeedback/html/") - (synopsis "Framework for collecting feedback from application users via + (synopsis "Framework for collecting application feedback via telemetry and targeted surveys") (description "This framework consists of the following components: @itemize diff --git a/gnu/packages/pascal.scm b/gnu/packages/pascal.scm index af7857f084..90d0ca5b5d 100644 --- a/gnu/packages/pascal.scm +++ b/gnu/packages/pascal.scm @@ -267,8 +267,7 @@ (define-public p2c #t))))) (native-inputs (list perl which)) - (synopsis "p2c converts Pascal programs to C programs--which you can then -compile using gcc") + (synopsis "p2c converts Pascal programs to C programs") (description "This package provides @command{p2c}, a program to convert Pascal source code to C source code, and @command{p2cc}, a compiler for Pascal programs.") diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 42a1270562..6a792ba73a 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -19667,7 +19667,7 @@ (define-public python-ttystatus (add-before 'build 'check (lambda _ (invoke "make" "check")))))) (home-page "https://liw.fi/ttystatus/") - (synopsis "Python library for showing progress reporting and + (synopsis "Python library for progress reporting and status updates on terminals") (description "@code{ttystatus} is a Python library for showing progress reporting and status updates on terminals, for command line programs. diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 134215ebeb..193ec390c1 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1680,7 +1680,7 @@ (define-public qtwebglplugin (native-inputs '()) (inputs (list mesa qtbase-5 qtdeclarative-5 qtwebsockets-5 zlib)) - (synopsis "QPA plugin for running an application via a browser using + (synopsis "QPA plugin for running applications via a browser using streamed WebGL commands") (description "Qt back end that uses WebGL for rendering. It allows Qt applications (with some limitations) to run in a web browser that supports -- cgit v1.2.3 From 2b1cf6906d521d74802577f5c691bba0bb9b4088 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 4 Nov 2022 19:56:02 -0400 Subject: gnu: qtwebengine: Fix build. The package was not really building; the build phase was failing silently and no libraries were installed to the output. * gnu/packages/qt.scm (qtwebengine) [native-inputs]: Replace node by node-lts, instead of simply appending it. --- gnu/packages/qt.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 193ec390c1..8ad9dd4cc0 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -2794,7 +2794,7 @@ (define (delete-unwanted-files child stat flag base level) #:configure-flags ;; Use the CMake ninja generator, otherwise the build fails (see: ;; https://bugreports.qt.io/browse/QTBUG-96897). - #~(list "-GNinja" ; + #~(list "-GNinja" ;; Manually add the NSS library prefix to the linker ;; search path, otherwise it fails to be linked (see: ;; https://bugreports.qt.io/browse/QTBUG-105053). @@ -2875,9 +2875,9 @@ (define (delete-unwanted-files child stat flag base level) (native-inputs (modify-inputs (package-native-inputs qtwebengine-5) (delete "python2" "python2-six") + (replace "node" node-lts) (append clang-14 lld-as-ld-wrapper - node-lts python-wrapper python-html5lib))) (inputs -- cgit v1.2.3 From bd0ff2d39bc7d3b497d74c3431ef77a1cf2515c4 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 19 Nov 2022 18:06:36 +0100 Subject: gnu: Remove coin3D@3. * gnu/packages/graphics.scm (coin3D): Take the body from ... (coin3D-4): ... this now-deprecated variable. * gnu/packages/engineering.scm (freecad)[inputs]: Change from COIN3D-4 to COIN3D. * gnu/packages/python-xyz.scm (python-pivy)[inputs]: Likewise. * gnu/packages/qt.scm (soqt)[inputs]: Likewise. --- gnu/packages/engineering.scm | 2 +- gnu/packages/graphics.scm | 118 ++++++++++++++----------------------------- gnu/packages/python-xyz.scm | 2 +- gnu/packages/qt.scm | 2 +- 4 files changed, 40 insertions(+), 84 deletions(-) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 6388c64101..21569b07c9 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -2463,7 +2463,7 @@ (define-public freecad swig)) (inputs (list boost - coin3D-4 + coin3D double-conversion eigen fontconfig diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 54637fa55a..60c6a979c5 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -134,6 +134,7 @@ (define-module (gnu packages graphics) #:use-module (guix hg-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module (guix deprecation) #:use-module (guix utils)) (define-public mmm @@ -1799,102 +1800,57 @@ (define-public opencsg (license license:gpl2)))) (define-public coin3D - ;; The ‘4.0.0’ zip archive isn't stable, nor in fact a release. See: - ;; https://bitbucket.org/Coin3D/coin/issues/179/coin-400-srczip-has-been-modified - (let ((revision 1) - (changeset "ab8d0e47a4de3230a8137feb39c142d6ba45f97d")) - (package - (name "coin3D") - (version - (simple-format #f "3.1.3-~A-~A" revision (string-take changeset 7))) - (source - (origin - (method hg-fetch) - (uri (hg-reference - (url "https://bitbucket.org/Coin3D/coin") - (changeset changeset))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1ff44jz6lg4rylljvy69n1hcjh9y6achbv9jpn1cv2sf8cxn3r2j")) - (modules '((guix build utils))) - (snippet - '(begin - (for-each delete-file - '("cfg/csubst.exe" - "cfg/wrapmsvc.exe")) - #t)))) - (build-system cmake-build-system) - (native-inputs - (list doxygen graphviz)) - (inputs - (list boost freeglut glew)) - (arguments - `(#:configure-flags - (list - "-DCOIN_BUILD_DOCUMENTATION_MAN=ON" - (string-append "-DBOOST_ROOT=" - (assoc-ref %build-inputs "boost"))))) - (home-page "https://bitbucket.org/Coin3D/coin/wiki/Home") - (synopsis - "High-level 3D visualization library with Open Inventor 2.1 API") - (description - "Coin is a 3D graphics library with an Application Programming Interface -based on the Open Inventor 2.1 API. For those who are not familiar with -Open Inventor, it is a scene-graph based retain-mode rendering and model -interaction library, written in C++, which has become the de facto -standard graphics library for 3D visualization and visual simulation -software in the scientific and engineering community.") - (license license:bsd-3)))) - -(define-public coin3D-4 - (package + (package (name "coin3D") (version "4.0.0") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/coin3d/coin") - (commit (string-append "Coin-" version)) - (recursive? #t))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1ayg0hl8wanhadahm5xbghghxw1qjwqbrs3dl3ngnff027hsyf8p")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Delete binaries - (for-each delete-file - '("cfg/csubst.exe" - "cfg/wrapmsvc.exe")) - ;; Delete references to packaging tool cpack. Otherwise the build - ;; fails with "add_subdirectory given source "cpack.d" which is not - ;; an existing directory." - (substitute* "CMakeLists.txt" - ((".*cpack.d.*") "")) - #t)))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/coin3d/coin") + (commit (string-append "Coin-" version)) + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ayg0hl8wanhadahm5xbghghxw1qjwqbrs3dl3ngnff027hsyf8p")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete binaries + (for-each delete-file + '("cfg/csubst.exe" + "cfg/wrapmsvc.exe")) + ;; Delete references to packaging tool cpack. Otherwise the build + ;; fails with "add_subdirectory given source "cpack.d" which is not + ;; an existing directory." + (substitute* "CMakeLists.txt" + ((".*cpack.d.*") "")) + #t)))) (build-system cmake-build-system) (native-inputs - (list doxygen graphviz)) + (list doxygen graphviz)) (inputs - (list boost freeglut glew)) + (list boost freeglut glew)) (arguments - `(#:configure-flags - (list - "-DCOIN_BUILD_DOCUMENTATION_MAN=ON" - (string-append "-DBOOST_ROOT=" - (assoc-ref %build-inputs "boost"))))) + `(#:configure-flags + (list + "-DCOIN_BUILD_DOCUMENTATION_MAN=ON" + (string-append "-DBOOST_ROOT=" + (assoc-ref %build-inputs "boost"))))) (home-page "https://github.com/coin3d/coin") (synopsis - "High-level 3D visualization library with Open Inventor 2.1 API") + "High-level 3D visualization library with Open Inventor 2.1 API") (description - "Coin is a 3D graphics library with an Application Programming Interface + "Coin is a 3D graphics library with an Application Programming Interface based on the Open Inventor 2.1 API. For those who are not familiar with Open Inventor, it is a scene-graph based retain-mode rendering and model interaction library, written in C++, which has become the de facto standard graphics library for 3D visualization and visual simulation software in the scientific and engineering community.") - (license license:bsd-3))) + (license license:bsd-3))) + +(define-deprecated coin3D-4 coin3D) +(export coin3D-4) (define-public skia ;; Releases follow those of Chromium, about every 6 weeks. The release diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 93e17c3f1a..b0bf16e3da 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -28118,7 +28118,7 @@ (define-public python-pivy libice soqt glew - coin3D-4)) + coin3D)) (home-page "https://github.com/coin3d/pivy") (synopsis "Python bindings to Coin3D") (description diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 8ad9dd4cc0..5ed8ec2c8e 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -4234,7 +4234,7 @@ (define-public soqt (native-inputs (list pkg-config cmake)) (inputs - (list qtbase-5 coin3D-4)) + (list qtbase-5 coin3D)) (home-page "https://github.com/coin3d/soqt") (synopsis "Qt GUI component toolkit library for Coin") (description "SoQt is a Qt GUI component toolkit library for Coin. It is -- cgit v1.2.3 From 3258eae9ee2864cca312ba6f6de9e5b5179218b8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 20 Nov 2022 14:05:45 +0100 Subject: gnu: qtcolorwidgets: Update to 2.2.0. * gnu/packages/qt.scm (qtcolorwidgets): Update to 2.2.0. --- gnu/packages/qt.scm | 49 +++++++++++++++++++++++-------------------------- 1 file changed, 23 insertions(+), 26 deletions(-) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 5ed8ec2c8e..8cbb2c6a07 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -3741,35 +3741,32 @@ (define-public dotherside @end itemize\n") (license license:lgpl3))) ;version 3 only (+ exception) -;; There have been no public releases yet. (define-public qtcolorwidgets - (let ((commit "a95f72e935fe9e046061a1d1c3930cbfbcb533e0") - (revision "1")) - (package - (name "qtcolorwidgets") - (version (git-version "0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/mattia.basaglia/Qt-Color-Widgets") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0dkiwlqh2gwhlp78c1fmchj3shl4p9inspcl96ya5aa8mn6kydy8")))) - (build-system cmake-build-system) - (arguments `(#:tests? #f)) ; There are no tests - (native-inputs - (list qttools-5)) - (inputs - (list qtbase-5)) - (home-page "https://gitlab.com/mattia.basaglia/Qt-Color-Widgets") - (synopsis "Color management widgets") - (description "QtColorWidgets provides a Qt color dialog that is more + (package + (name "qtcolorwidgets") + (version "2.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/mattia.basaglia/Qt-Color-Widgets") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1fp7sr5a56bjp2abc6ng331q0bwvk6mf2nxdga81aj6cd9afs22q")))) + (build-system cmake-build-system) + (arguments '(#:tests? #f)) ;there are no tests + (native-inputs + (list qttools-5)) + (inputs + (list qtbase-5)) + (home-page "https://gitlab.com/mattia.basaglia/Qt-Color-Widgets") + (synopsis "Color management widgets") + (description "QtColorWidgets provides a Qt color dialog that is more user-friendly than the default @code{QColorDialog} and several other color-related widgets.") - ;; Includes a license exception for combining with GPL2 code. - (license license:lgpl3+)))) + ;; Includes a license exception for combining with GPL2 code. + (license license:lgpl3+))) (define-public qcustomplot (package -- cgit v1.2.3 From fd5d0309ea1ce58dc8403bcd0a41f7f0febba504 Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Wed, 28 Sep 2022 11:14:35 +0200 Subject: gnu: materialdecoration: Remove input labels. * gnu/packages/qt.scm (materialdecoration): Remove input labels. Signed-off-by: Marius Bakke --- gnu/packages/qt.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 8cbb2c6a07..c37e718ba1 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -219,10 +219,10 @@ (define-public materialdecoration (native-inputs (list cmake-shared extra-cmake-modules pkg-config)) (inputs - `(("qtbase" ,qtbase-5) - ("qtwayland" ,qtwayland-5) - ("wayland" ,wayland) - ("xkbcommon" ,libxkbcommon))) + (list qtbase-5 + qtwayland-5 + wayland + libxkbcommon)) (synopsis "Material Decoration for Qt") (description "MaterialDecoration is a client-side decoration for Qt applications on Wayland.") -- cgit v1.2.3 From c48f2ea27b719471698e904cb6a3235ebb90c38d Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Wed, 28 Sep 2022 11:22:15 +0200 Subject: gnu: QT: Remove trailing booleans. * gnu/packages/qt.scm (qite, grantlee, single-application-qt5, python-pyqt, python-pyqtwebengine, python-qscintilla, python-pyqt+qscintilla, qtsolutions, qwt, python-shiboken-2, python-shiboken-6, python-pyside-2, python-pyside-6 python-pyside-2-tools, kdsoap): Remove trailing booleans. Signed-off-by: Marius Bakke --- gnu/packages/qt.scm | 56 +++++++++++++++++++---------------------------------- 1 file changed, 20 insertions(+), 36 deletions(-) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index c37e718ba1..faac5e75d4 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -140,8 +140,7 @@ (define-public qite (modify-phases %standard-phases (add-after 'unpack 'chdir (lambda _ - (chdir "libqite") - #t))))) + (chdir "libqite")))))) (inputs (list qtbase-5 qtmultimedia-5)) (home-page "https://github.com/Ri0n/qite/") @@ -254,8 +253,7 @@ (define-public grantlee (add-before 'check 'check-setup (lambda _ ;; make Qt render "offscreen", required for tests - (setenv "QT_QPA_PLATFORM" "offscreen") - #t))))) + (setenv "QT_QPA_PLATFORM" "offscreen")))))) (home-page "https://github.com/steveire/grantlee") (synopsis "Libraries for text templating with Qt") (description "Grantlee Templates can be used for theming and generation of @@ -2941,8 +2939,7 @@ (define-public single-application-qt5 (string-append source "/" file) (string-append out "/include"))) '("SingleApplication" - "singleapplication.h" "singleapplication_p.h")) - #t)))))) + "singleapplication.h" "singleapplication_p.h")))))))) (inputs (list qtbase-5)) (home-page "https://github.com/itay-grudev/SingleApplication") @@ -3088,9 +3085,7 @@ (define-public python-pyqt (let* ((qtbase (assoc-ref inputs "qtbase")) (qtprinter.h (string-append "\"" qtbase "/include/qt5/QtPrintSupport/qprinter.h\""))) (substitute* "sip/QtPrintSupport/qprinter.sip" - (("") - qtprinter.h)) - #t))) + (("") qtprinter.h))))) (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -3215,8 +3210,7 @@ (define-public python-pyqtwebengine (lambda _ (display " from pkgutil import extend_path __path__ = extend_path(__path__, __name__) -"))) - #t)))))) +"))))))))) (home-page "https://www.riverbankcomputing.com/software/pyqtwebengine/intro") (synopsis "Python bindings for QtWebEngine") (description @@ -3376,8 +3370,7 @@ (define-public python-qscintilla (string-append out "/lib"))) ;; And fix the installed.txt file (substitute* "installed.txt" - (("/gnu/store/[^/]+") out))) - #t))))) + (("/gnu/store/[^/]+") out)))))))) (inputs `(("qscintilla" ,qscintilla) ("python" ,python) @@ -3405,8 +3398,7 @@ (define-public python-pyqt+qscintilla (match %build-inputs (((names . directories) ...) (union-build (assoc-ref %outputs "out") - directories) - #t))))) + directories)))))) (inputs `(("python-pyqt" ,python-pyqt) ("python-qscintilla" ,python-qscintilla))) @@ -3484,8 +3476,7 @@ (define-public qtsolutions (("#include \"qtlockedfile.*\\.cpp\"") "") ;; Unwrap namespace added in the vendoring process. (("QtLP_Private::QtLockedFile") - "QtLockedFile"))) - #t)))) + "QtLockedFile"))))))) (build-system gnu-build-system) (arguments `(#:tests? #f ; No target @@ -3509,8 +3500,7 @@ (define-public qtsolutions (("SUBDIRS\\+=examples") "")) ;; Fix deprecated functions. (substitute* "qtsoap/src/qtsoap.cpp" - (("toAscii") "toUtf8")) - #t)) + (("toAscii") "toUtf8")))) (replace 'configure (lambda _ (for-each (lambda (solution) @@ -3518,16 +3508,14 @@ (define-public qtsolutions (invoke "./configure" "-library") (invoke "qmake"))) '("qtlockedfile" "qtpropertybrowser" "qtservice" - "qtsingleapplication" "qtsoap")) - #t)) + "qtsingleapplication" "qtsoap")))) (replace 'build (lambda _ (for-each (lambda (solution) (with-directory-excursion solution (invoke "make"))) '("qtlockedfile" "qtpropertybrowser" "qtservice" - "qtsingleapplication" "qtsoap")) - #t)) + "qtsingleapplication" "qtsoap")))) (replace 'install (lambda args (for-each (lambda (solution) @@ -3607,8 +3595,7 @@ (define-public qwt ;; Remove some incomplete manual pages. (for-each delete-file (find-files "doc/man/man3" "^_tmp.*")) (mkdir-p man) - (copy-recursively "doc/man" man) - #t)))))) + (copy-recursively "doc/man" man))))))) (home-page "http://qwt.sourceforge.net") (synopsis "Qt widgets for plots, scales, dials and other technical software GUI components") @@ -3850,7 +3837,7 @@ (define-public python-shiboken-2 #:phases #~(modify-phases %standard-phases (add-after 'unpack 'use-shiboken-dir-only - (lambda _ (chdir "sources/shiboken2") #t)) + (lambda _ (chdir "sources/shiboken2"))) (add-before 'configure 'make-files-writable-and-update-timestamps (lambda _ ;; The build scripts need to modify some files in @@ -3861,13 +3848,11 @@ (define-public python-shiboken-2 (for-each (lambda (file) (make-file-writable file) (utime file circa-1980 circa-1980)) - (find-files "."))) - #t)) + (find-files "."))))) (add-before 'configure 'set-build-env (lambda _ (let ((llvm #$(this-package-input "clang-toolchain"))) - (setenv "CLANG_INSTALL_DIR" llvm) - #t)))))) + (setenv "CLANG_INSTALL_DIR" llvm))))))) (home-page "https://wiki.qt.io/Qt_for_Python") (synopsis "Shiboken generates bindings for C++ libraries using CPython source code") @@ -3905,7 +3890,7 @@ (define-public python-shiboken-6 ((#:phases p) #~(modify-phases #$p (replace 'use-shiboken-dir-only - (lambda _ (chdir "sources/shiboken6") #t)))) + (lambda _ (chdir "sources/shiboken6"))))) ((#:configure-flags flags) #~(cons* ;; The RUNPATH of shibokenmodule contains the entry in build @@ -3959,7 +3944,7 @@ (define-public python-pyside-2 #:phases #~(modify-phases %standard-phases (add-after 'unpack 'go-to-source-dir - (lambda _ (chdir "sources/pyside2") #t)) + (lambda _ (chdir "sources/pyside2"))) (add-after 'go-to-source-dir 'fix-qt-module-detection (lambda _ ;; Activate qt module support even if it not in the same @@ -4054,7 +4039,7 @@ (define-public python-pyside-6 #:phases #~(modify-phases %standard-phases (add-after 'unpack 'go-to-source-dir - (lambda _ (chdir "sources/pyside6") #t)) + (lambda _ (chdir "sources/pyside6"))) (add-after 'go-to-source-dir 'fix-qt-module-detection (lambda _ (substitute* "cmake/PySideHelpers.cmake" @@ -4114,7 +4099,7 @@ (define-public python-pyside-2-tools #:phases #~(modify-phases %standard-phases (add-after 'unpack 'go-to-source-dir - (lambda _ (chdir "sources/pyside2-tools") #t))))) + (lambda _ (chdir "sources/pyside2-tools")))))) (home-page "https://wiki.qt.io/Qt_for_Python") (synopsis "Command line tools for PySide2") @@ -4291,8 +4276,7 @@ (define-public kdsoap (lambda* (#:key tests? #:allow-other-keys) (when tests? (invoke "ctest" "-E" ;; These tests try connect to the internet. - "(kdsoap-webcalls|kdsoap-webcalls_wsdl|kdsoap-test_calc)")) - #t))))) + "(kdsoap-webcalls|kdsoap-webcalls_wsdl|kdsoap-test_calc)"))))))) (home-page "https://www.kdab.com/development-resources/qt-tools/kd-soap/") (synopsis "Qt SOAP component") (description "KD SOAP is a tool for creating client applications for web -- cgit v1.2.3 From 75236e98a3e9178951ffda4509b99197417c0272 Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Wed, 28 Sep 2022 13:30:00 +0200 Subject: gnu: qtgamepad: Remove input labels. * gnu/packages/qt.scm (qtgamepad): Remove input labels. Signed-off-by: Marius Bakke --- gnu/packages/qt.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index faac5e75d4..9d1c0f6b5f 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1915,12 +1915,12 @@ (define-public qtgamepad (native-inputs (list perl pkg-config)) (inputs - `(("fontconfig" ,fontconfig) - ("freetype" ,freetype) - ("libxrender" ,libxrender) - ("sdl2" ,sdl2) - ("qtbase" ,qtbase-5) - ("qtdeclarative-5" ,qtdeclarative-5))) + (list fontconfig + freetype + libxrender + sdl2 + qtbase-5 + qtdeclarative-5)) (synopsis "Qt Gamepad module") (description "The Qt Gamepad module is an add-on library that enables Qt applications to support the use of gamepad hardware and in some cases remote -- cgit v1.2.3 From 293ab255b24d9a3abb709611af604a59249322f9 Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Thu, 18 Aug 2022 01:52:33 +0200 Subject: gnu: Add signond. * gnu/packages/qt.scm (signond): New variable. Signed-off-by: Marius Bakke --- gnu/packages/qt.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 9d1c0f6b5f..757a920056 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -4284,6 +4284,51 @@ (define-public kdsoap web server.") (license (list license:gpl2 license:gpl3)))) +(define-public signond + (package + (name "signond") + (version "8.61") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/accounts-sso/signond") + (commit (string-append "VERSION_" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0k6saz5spys4a4p6ws0ayrjks2gqdqvz7zfmlhdpz5axha0gbqq4")))) + (build-system qt-build-system) + (native-inputs (list doxygen pkg-config qtbase-5 qttools-5)) + (inputs (list dbus glib libaccounts-glib)) + (arguments + (list #:tests? #f ; Figure out how to run tests + #:phases + #~(modify-phases %standard-phases + (delete 'validate-runpath) + (replace 'configure + (lambda _ + (substitute* "src/signond/signond.pro" + (("/etc/") + (string-append #$output "/etc/"))) + (substitute* + '("tests/extensions/extensions.pri" + "tests/signond-tests/mock-ac-plugin/plugin.pro" + "tests/signond-tests/identity-tool.pro" + "tests/signond-tests/mock-ac-plugin/identity-ac-helper.pro" + "tests/libsignon-qt-tests/libsignon-qt-tests.pro" + "tests/signond-tests/signond-tests.pri") + (("QMAKE_RPATHDIR = \\$\\$\\{QMAKE_LIBDIR\\}") + (string-append "QMAKE_RPATHDIR = " + #$output "/lib:" + #$output "/lib/signon"))) + (invoke "qmake" + (string-append "PREFIX=" #$output) + (string-append "LIBDIR=" #$output "/lib"))))))) + (home-page "http://accounts-sso.gitlab.io/signond/index.html") + (synopsis "Perform user authentication over D-Bus") + (description "This package provides a D-Bus service which performs user +authentication on behalf of its clients.") + (license license:lgpl2.1+))) ;;; ;;; Avoid adding new packages to the end of this file. To reduce the chances ;;; of a merge conflict, place them above by existing packages with similar -- cgit v1.2.3 From c7b97cb44b1f55c9317b86f2a894eb1f9da5cff6 Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Sun, 28 Aug 2022 23:54:23 +0200 Subject: gnu: Add signon-plugin-oauth2. * gnu/packages/qt.scm (signon-plugin-oauth2): New variable. Signed-off-by: Marius Bakke --- gnu/packages/qt.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 757a920056..925bcc8f35 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -4329,6 +4329,42 @@ (define-public signond (description "This package provides a D-Bus service which performs user authentication on behalf of its clients.") (license license:lgpl2.1+))) + +(define-public signon-plugin-oauth2 + (package + (name "signon-plugin-oauth2") + (version "0.25") + (home-page "https://gitlab.com/accounts-sso/signon-plugin-oauth2") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "VERSION_" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "16aslnyk8jdg03zcg97rp6qzd0gmclj14hyhliksz8jgfz1l0w7c")))) + (build-system qt-build-system) + (native-inputs (list doxygen pkg-config)) + (inputs (list signond)) + (arguments + (list #:tests? #f ;no tests + #:make-flags #~(list (string-append "INSTALL_ROOT=" #$output)) + #:phases + #~(modify-phases %standard-phases + (replace 'configure + (lambda _ + (substitute* "common-project-config.pri" + (("-Werror") + "")) + (invoke "qmake" + (string-append "PREFIX=" #$output) + (string-append "LIBDIR=" #$output "/lib"))))))) + (synopsis "OAuth 2 plugin for signon") + (description + "This plugin for the Accounts-SSO SignOn daemon handles the OAuth +1.0 and 2.0 authentication protocols.") + (license license:lgpl2.1+))) ;;; ;;; Avoid adding new packages to the end of this file. To reduce the chances ;;; of a merge conflict, place them above by existing packages with similar -- cgit v1.2.3 From df66bede3e5beba471ec95a916fa63c3fa464918 Mon Sep 17 00:00:00 2001 From: Brendan Tildesley Date: Sat, 5 Mar 2022 11:46:47 +1100 Subject: gnu: Add libaccounts-qt. * gnu/packages/qt.scm (libaccounts-qt): New variable. Signed-off-by: Marius Bakke --- gnu/packages/qt.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 925bcc8f35..bbfb4759c2 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -25,6 +25,7 @@ ;;; Copyright © 2021 Nicolò Balzarotti ;;; Copyright © 2022 Foo Chuan Wei ;;; Copyright © 2022 Zhu Zihao +;;; Copyright © 2022 Petr Hodina ;;; ;;; This file is part of GNU Guix. ;;; @@ -4284,6 +4285,47 @@ (define-public kdsoap web server.") (license (list license:gpl2 license:gpl3)))) +(define-public libaccounts-qt + (package + (name "libaccounts-qt") + (version "1.16") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/accounts-sso/libaccounts-qt") + (commit (string-append "VERSION_" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1vmpjvysm0ld8dqnx8msa15hlhrkny02cqycsh4k2azrnijg0xjz")))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ;TODO + #:phases + #~(modify-phases %standard-phases + (replace 'configure + (lambda _ + (substitute* "tests/tst_libaccounts.pro" + (("QMAKE_RPATHDIR = \\$\\$\\{QMAKE_LIBDIR\\}") + (string-append "QMAKE_RPATHDIR =" + #$output "/lib"))) + (invoke "qmake" + (string-append "PREFIX=" #$output) + (string-append "LIBDIR=" #$output "/lib"))))))) + ;; * SignOnQt5 (required version >= 8.55), D-Bus service which performs + ;; user authentication on behalf of its clients, + ;; + (native-inputs (list doxygen pkg-config qtbase-5 qttools-5)) + (inputs (list glib signond libaccounts-glib)) + (home-page "https://accounts-sso.gitlab.io/") + (synopsis "Qt5 bindings for libaccounts-glib") + (description + "Accounts SSO is a framework for application developers who +wish to acquire, use and store web account details and credentials. It +handles the authentication process of an account and securely stores the +credentials and service-specific settings.") + (license license:lgpl2.1+))) + (define-public signond (package (name "signond") -- cgit v1.2.3 From 7bc1fe06560ae1e74d42deee23df85d805870be4 Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Thu, 18 Aug 2022 01:53:40 +0200 Subject: gnu: Add libsignon-glib. * gnu/packages/qt.scm (libsignon-glib): New variable. Signed-off-by: Marius Bakke --- gnu/packages/qt.scm | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index bbfb4759c2..e6afbf4ac4 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -49,6 +49,7 @@ (define-module (gnu packages qt) #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (guix build-system trivial) #:use-module (guix build-system python) #:use-module (guix build-system qt) @@ -60,6 +61,7 @@ (define-module (gnu packages qt) #:use-module (gnu packages bash) #:use-module (gnu packages base) #:use-module (gnu packages bison) + #:use-module (gnu packages check) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages cups) @@ -4326,6 +4328,52 @@ (define-public libaccounts-qt credentials and service-specific settings.") (license license:lgpl2.1+))) +(define-public libsignon-glib + (package + (name "libsignon-glib") + (version "2.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/accounts-sso/libsignon-glib") + (commit (string-append "VERSION_" version)) + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0gnx9gqsh0hcfm1lk7w60g64mkn1iicga5f5xcy1j9a9byacsfd0")))) + (build-system meson-build-system) + (arguments + (list #:tests? #f ;TODO: ninja: no work to do. + #:imported-modules `((guix build python-build-system) + ,@%meson-build-system-modules) + #:modules '(((guix build python-build-system) + #:select (python-version)) + (guix build meson-build-system) + (guix build utils)) + #:configure-flags + #~(list "-Dtests=true" + (string-append "-Dpy-overrides-dir=" + #$output "/lib/python" + (python-version #$(this-package-input + "python")) + "/site-packages/gi/overrides")))) + (native-inputs (list dbus + dbus-test-runner + `(,glib "bin") + gobject-introspection + gtk-doc + pkg-config + vala)) + (inputs (list check signond python python-pygobject)) + (propagated-inputs (list glib)) + (home-page "https://accounts-sso.gitlab.io/libsignon-glib/") + (synopsis "Single signon authentication library for GLib applications") + (description + "This package provides single signon authentication library for +GLib applications.") + (license license:lgpl2.1+))) + (define-public signond (package (name "signond") -- cgit v1.2.3 From fc85a45aecd64556e1f3ec82e66de54665684933 Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Mon, 12 Sep 2022 05:25:02 +0200 Subject: gnu: Add packagekit-qt5. * gnu/packages/qt.scm (packagekit-qt5): New variable. Signed-off-by: Marius Bakke --- gnu/packages/qt.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index e6afbf4ac4..f37392f199 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -4374,6 +4374,30 @@ (define-public libsignon-glib GLib applications.") (license license:lgpl2.1+))) +(define-public packagekit-qt5 + (package + (name "packagekit-qt5") + (version "1.0.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hughsie/PackageKit-Qt") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1d20r503msw1vix3nb6a8bmdqld7fj8k9jk33bkqsc610a2zsms6")))) + (build-system cmake-build-system) + (arguments '(#:tests? #f)) ;no test suite + (native-inputs (list pkg-config)) + (inputs (list packagekit qtbase-5)) + (home-page "https://www.freedesktop.org/software/PackageKit/pk-intro.html") + (synopsis "Qt5 bindings for PackageKit") + (description "Provides Qt5 bindings to PackageKit which is a DBUS +abstraction layer that allows the session user to manage packages in +a secure way.") + (license license:lgpl2.1+))) + (define-public signond (package (name "signond") -- cgit v1.2.3 From 9f7040cf7413ba2cfe9dcf50d6ad61c330a32187 Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Sun, 25 Sep 2022 10:17:37 +0200 Subject: gnu: Add qt3d-5. * gnu/packages/qt.scm (qt3d-5): New variable. Signed-off-by: Marius Bakke --- gnu/packages/qt.scm | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index f37392f199..30bf429897 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -821,6 +821,69 @@ (define-public qtbase (variable "XDG_CONFIG_DIRS") (files '("etc/xdg"))))))) +(define-public qt3d-5 + (package + (inherit qtbase-5) + (name "qt3d") + (version "5.15.5") + (source (origin + (method url-fetch) + (uri (qt-urls name version)) + (sha256 + (base32 + "1m3y7d58crn0qgfwkimxcggssn2pbs8nj5b9diwns6rwqg4aqk20")))) + (propagated-inputs `()) + (native-inputs (list perl)) + (inputs (list mesa qtbase-5 vulkan-headers zlib)) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-before 'configure 'configure-qmake + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((tmpdir (string-append (getenv "TMPDIR"))) + (qmake (string-append tmpdir "/qmake")) + (qt.conf (string-append tmpdir "/qt.conf"))) + (symlink (which "qmake") qmake) + (setenv "PATH" + (string-append tmpdir ":" + (getenv "PATH"))) + (with-output-to-file qt.conf + (lambda () + (format #t "[Paths] +Prefix=~a +ArchData=lib/qt5 +Data=share/qt5 +Documentation=share/doc/qt5 +Headers=include/qt5 +Libraries=lib +LibraryExecutables=lib/qt5/libexec +Binaries=bin +Tests=tests +Plugins=lib/qt5/plugins +Imports=lib/qt5/imports +Qml2Imports=lib/qt5/qml +Translations=share/qt5/translations +Settings=etc/xdg +Examples=share/doc/qt5/examples +HostPrefix=~a +HostData=lib/qt5 +HostBinaries=bin +HostLibraries=lib + +[EffectiveSourcePaths] +HostPrefix=~a +HostData=lib/qt5" + #$output #$output #$(this-package-input + "qtbase"))))))) + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (invoke "qmake" + "QT_BUILD_PARTS = libs tools tests"))) + (add-before 'check 'set-display + (lambda _ + (setenv "QT_QPA_PLATFORM" "offscreen")))))) + (synopsis "Qt module for 3D") + (description "The Qt3d module provides classes for displaying 3D."))) + (define-public qt5compat (package (name "qt5compat") -- cgit v1.2.3 From 9381e14536cf4370ab1f567839636f21c3eb9f12 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 8 Nov 2022 20:56:04 -0500 Subject: gnu: Add qttranslations. * gnu/packages/qt.scm (qttranslations): New variable. --- gnu/packages/qt.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 30bf429897..3784d01eaf 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1878,6 +1878,27 @@ (define-public qttools ;; LICENSES/Qt-GPL-exception-1.0.txt). (license (list license:gpl3)))) +(define-public qttranslations + (package + (name "qttranslations") + (version "6.3.1") + (source (origin + (method url-fetch) + (uri (qt-urls name version)) + (sha256 + (base32 + "15yvvxw1vngnjlly6cady05ljamg01qiaqn2vh0xkph855gdbgfp")))) + (build-system cmake-build-system) + (arguments (list #:tests? #f)) + (native-inputs (list qtbase qttools)) + (home-page (package-home-page qtbase)) + (synopsis "Qt translation catalogs") + (description "This package contains the translations for Qt contributed by +the Qt community.") + ;; GPL 3 only with Qt GPL exception 1.0 (see: + ;; LICENSES/Qt-GPL-exception-1.0.txt). + (license (list license:gpl3)))) + (define-public qtscript (package (inherit qtsvg-5) (name "qtscript") -- cgit v1.2.3 From d1dc2c47fef2102a479f797244e542af6eaf9865 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 9 Nov 2022 09:00:40 -0500 Subject: gnu: Add clazy. * gnu/packages/qt.scm (clazy): New variable. --- gnu/packages/qt.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 3784d01eaf..009626d6d9 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -4563,6 +4563,31 @@ (define-public signon-plugin-oauth2 "This plugin for the Accounts-SSO SignOn daemon handles the OAuth 1.0 and 2.0 authentication protocols.") (license license:lgpl2.1+))) + +(define-public clazy + (package + (name "clazy") + (version "1.11") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/KDE/clazy") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1y0n1jknq566z1rifkgdm1yqb0mw564lp51jidfz7q9w91spijci")))) + (build-system cmake-build-system) + (native-inputs (list python)) + (inputs (list clang llvm)) + (home-page "https://github.com/KDE/clazy/") + (synopsis "Qt-oriented static code analyzer") + (description "clazy is a compiler plugin which allows @command{clang} to +understand Qt semantics. It can emit more than fifty (50) Qt-related compiler +warnings, ranging from unneeded memory allocations to misuses of the API, +including @i{fix-its} for automatic refactoring.") + (license license:lgpl2.0+))) + ;;; ;;; Avoid adding new packages to the end of this file. To reduce the chances ;;; of a merge conflict, place them above by existing packages with similar -- cgit v1.2.3 From 085831010cc389888facb9f30fb10c5faff18ec9 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 10 Nov 2022 12:40:38 -0500 Subject: gnu: qttools: Add clang-15 as input. * gnu/packages/qt.scm (qttools) [inputs]: Add clang-15, so that the qdoc command can be built. [phases] {sanity-check}: New phase, to guard against a problem that proved difficult to isolate. --- gnu/packages/qt.scm | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 009626d6d9..2e44a6256a 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1866,9 +1866,22 @@ (define-public qttools (list ;; The build system attempts to fetch online resources and fails when ;; building the test suite. - #:configure-flags #~(list "-DQT_BUILD_TESTS=OFF"))) + #:configure-flags #~(list "-DQT_BUILD_TESTS=OFF") + #:phases #~(modify-phases %standard-phases + (add-after 'install 'sanity-check + (lambda* (#:key outputs #:allow-other-keys) + ;; This validation exists to validate that the dynamic + ;; library for Clang works as intended; there was + ;; originally problems due to left-overs patching the + ;; value of BUILD_SHARED_LIBS in CLANG-FROM-LLVM that + ;; would cause the following error: "CommandLine Error: + ;; Option 'filter' registered more than once!" + (invoke/quiet (search-input-file outputs "bin/qdoc") + "--help")))))) (native-inputs (list perl qtdeclarative vulkan-headers)) - (inputs (list libxkbcommon mesa qtbase)) + ;; Use clang-15, which is built using as a single shared library, which is + ;; what the build system of qttools expects. + (inputs (list clang-15 libxkbcommon mesa qtbase)) (home-page (package-home-page qtbase)) (synopsis "Qt Tools and Designer modules") (description "The Qt Tools module provides a set of applications to browse -- cgit v1.2.3 From 4c9e94a453fc377fc9f2344d9644df422a0ed315 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 8 Nov 2022 15:23:04 -0500 Subject: gnu: Add qt-creator. * gnu/packages/qt.scm (qt-creator): New variable. wip --- gnu/packages/qt.scm | 129 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 2e44a6256a..7694334a2c 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -64,15 +64,18 @@ (define-module (gnu packages qt) #:use-module (gnu packages check) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) + #:use-module (gnu packages cpp) #:use-module (gnu packages cups) #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages documentation) + #:use-module (gnu packages elf) #:use-module (gnu packages enchant) #:use-module (gnu packages fontutils) #:use-module (gnu packages flex) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gcc) + #:use-module (gnu packages gdb) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages glib) @@ -4601,6 +4604,132 @@ (define-public clazy including @i{fix-its} for automatic refactoring.") (license license:lgpl2.0+))) +(define-public qt-creator + (package + (name "qt-creator") + (version "9.0.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://download.qt.io/official_releases/qtcreator/" + (version-major+minor version) "/" version + "/qt-creator-opensource-src-" version ".tar.gz")) + (modules '((guix build utils))) + (snippet '(begin + (for-each + delete-file-recursively + ;; Remove bundled libraries, where supported. + ;; TODO: package and unbundle litehtml + '("src/libs/3rdparty/yaml-cpp" + "src/shared/qbs/src/shared/qtscript/src/3rdparty" + "tests/unit/unittest/3rdparty" + ;; Marketplace recommends nonfree extensions; + ;; remove it. + "src/plugins/marketplace")) + (substitute* "src/plugins/CMakeLists.txt" + (("add_subdirectory\\(marketplace).*") "")) + (substitute* "src/plugins/plugins.qbs" + ((".*marketplace/marketplace.qbs.*") "")))) + (sha256 + (base32 + "1adyxs0cnqx14gwzkvh909c52449ia6y87n1r4qf6wwydhch43cs")))) + (build-system qt-build-system) + (arguments + (list + #:qtbase qtbase + #:configure-flags + #~(list "-DWITH_DOCS=ON" + "-DBUILD_DEVELOPER_DOCS=ON" + "-DCMAKE_VERBOSE_MAKEFILE=ON" + "-DWITH_TESTS=ON" + ;; Extend the RUNPATH with lib/qtcreator, which contains + ;; multiple shared objects. + (string-append "-DCMAKE_SHARED_LINKER_FLAGS=-Wl,-rpath=" + #$output "/lib/qtcreator")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-tests-build + (lambda _ + ;; Add a missing link directive (see: + ;; https://bugreports.qt.io/browse/QTCREATORBUG-28434). + (substitute* "src/libs/tracing/CMakeLists.txt" + (("DEPENDS Utils Qt5::Qml Qt5::Quick") + "DEPENDS Utils Qt5::Quick") + (("PUBLIC_DEPENDS Qt5::Widgets") + "PUBLIC_DEPENDS Qt5::Widgets Qt5::Qml")))) + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* '("src/libs/utils/commandline.cpp" + "src/libs/utils/deviceshell.cpp") + (("/bin/sh") + (search-input-file inputs "bin/sh"))) + (substitute* "src/libs/utils/qtcprocess.cpp" + (("/usr/bin/env") + (search-input-file inputs "bin/env"))) + (substitute* "tests/auto/utils/qtcprocess/tst_qtcprocess.cpp" + (("/bin/sh") + (which "sh"))))) + (add-before 'build 'build-doc + (lambda _ + (invoke "cmake" "--build" "." "--target=docs" "-v"))) + (add-after 'build-doc 'install-doc + (lambda _ + (invoke "cmake" "--install" "." "--prefix" #$output + "--component=qch_docs") + (invoke "cmake" "--install" "." "--prefix" #$output + "--component=html_docs"))) + (replace 'check + ;; Loosely based on .github/workflows/build_cmake.yml. + (lambda* (#:key tests? parallel-tests? #:allow-other-keys) + (when tests? + (invoke "xvfb-run" ;for the 'renderpass' tests + "ctest" "-j" (if parallel-tests? + (number->string (parallel-job-count)) + "1") + "--label-exclude" "exclude_from_precheck" + "--exclude-regex" "tst_perfdata")))) + (add-after 'qt-wrap 'wrap-bin + ;; Make a few well-integrated tools readily available. + (lambda* (#:key inputs outputs #:allow-other-keys) + (wrap-program (search-input-file outputs "bin/qtcreator") + `("PATH" suffix ,(map (lambda (c) + (dirname (search-input-file inputs c))) + '("bin/clang-tidy" + "bin/clazy-standalone" + "bin/gdb" + "bin/valgrind"))))))))) + (native-inputs + (list googletest + pkg-config + python + qttools + qttranslations + vulkan-headers + xvfb-run)) + (inputs + (list bash-minimal + coreutils-minimal + clang + clazy + elfutils + gdb + libxkbcommon + llvm + qt5compat + qtdeclarative + qtshadertools + qtsvg + yaml-cpp + valgrind + vulkan-loader + `(,zstd "lib"))) + (home-page "https://www.qt.io/") + (synopsis "Integrated development environment (IDE) for Qt") + (description "Qt Creator is an IDE tailored to the needs of Qt developers. +It includes features such as an advanced code editor, a visual debugger and a +@acronym{GUI, Graphical User Interface} designer.") + (license license:gpl3+))) ;with the Qt Company GPL Exception 1.0 + ;;; ;;; Avoid adding new packages to the end of this file. To reduce the chances ;;; of a merge conflict, place them above by existing packages with similar -- cgit v1.2.3 From 3ecd59f08cb1371077472b01f12a8d389bb210bd Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 27 Nov 2022 19:26:18 +0100 Subject: gnu: QtWebEngine: Propagate required dependencies. * gnu/packages/qt.scm (qtwebengine-5)[inputs]: Move QTBASE-5, QTDECLARATIVE-5, and QTWEBCHANNEL-5 ... [propagated-inputs]: ... here. (qtwebengine)[inputs, propagated-inputs]: Adjust accordingly. --- gnu/packages/qt.scm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 7694334a2c..a0ced6451b 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -2579,16 +2579,16 @@ (define (delete-unwanted-files child stat flag base level) pciutils protobuf pulseaudio - qtbase-5 - qtdeclarative-5 qtmultimedia-5 - qtwebchannel-5 re2 snappy eudev valgrind vulkan-headers xcb-util)) + (propagated-inputs + ;; Required by Qt5WebEngineCoreConfig.cmake. + (list qtbase-5 qtdeclarative-5 qtwebchannel-5)) (arguments (substitute-keyword-arguments (package-arguments qtsvg-5) ((#:modules modules '()) @@ -2983,11 +2983,13 @@ (define (delete-unwanted-files child stat flag base level) python-html5lib))) (inputs (modify-inputs (package-inputs qtwebengine-5) - (replace "qtbase" qtbase) - (replace "qtdeclarative" qtdeclarative) (replace "qtmultimedia" qtmultimedia) - (replace "qtwebchannel" qtwebchannel) (append libxkbfile xkeyboard-config))) + (propagated-inputs + (modify-inputs (package-propagated-inputs qtwebengine-5) + (replace "qtbase" qtbase) + (replace "qtdeclarative" qtdeclarative) + (replace "qtwebchannel" qtwebchannel))) (native-search-paths (list (search-path-specification (file-type 'regular) -- cgit v1.2.3 From 9252f147223969a524e7a07f8da4524b2e10d7e5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 28 Nov 2022 04:59:35 +0100 Subject: gnu: qtwebengine@6: Fix third-party code removal snippet. * gnu/packages/qt.scm (qtwebengine-5)[source](snippet): Move code to delete third-party files out to ... (remove-third-party-files): ... this new variable. (qtwebengine)[source](snippet): Use that variable instead of the broken duplicate implementation. Adjust PRESERVED-THIRD-PARTY-FILES accordingly. [native-inputs]: Add PYTHON-BEAUTIFULSOUP4. --- gnu/packages/qt.scm | 241 +++++++++++++++++++++++++++------------------------- 1 file changed, 126 insertions(+), 115 deletions(-) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index a0ced6451b..31acacff80 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2018, 2020, 2022 Nicolas Goaziou ;;; Copyright © 2018 Hartmut Goebel ;;; Copyright © 2018 Eric Bavier -;;; Copyright © 2019, 2020 Marius Bakke +;;; Copyright © 2019, 2020, 2022 Marius Bakke ;;; Copyright © 2018 John Soo ;;; Copyright © 2020 Mike Rosset ;;; Copyright © 2020 Jakub Kądziołka @@ -2280,6 +2280,67 @@ (define-public qtspell ;; COPYING file specify GPL3, but source code files all refer to GPL2+. (license license:gpl2+))) +(define remove-third-party-files + #~(begin + (define preserved-club + ;; Prefix exceptions with ./ for comparison with ftw. + (map (lambda (member) + (string-append "./" member)) + preserved-third-party-files)) + (define protected (make-regexp "\\.(gn|gyp)i?$")) + (define (empty? dir) + (equal? (scandir dir) '("." ".."))) + (define (third-party? file) + (string-contains file "/third_party/")) + (define (useless? file) + (any (cute string-suffix? <> file) + '(".zip" ".so" ".dll" ".exe" ".jar"))) + (define (parents child) + ;; Return all parent directories of CHILD up to and including + ;; the closest "third_party". + (let* ((dirs (match (string-split child #\/) + ((dirs ... last) dirs))) + (closest (list-index (lambda (dir) + (string=? "third_party" dir)) + (reverse dirs))) + (delim (- (length dirs) closest))) + (fold (lambda (dir prev) + (cons (string-append (car prev) "/" dir) + prev)) + (list (string-join (list-head dirs delim) "/")) + (list-tail dirs delim)))) + (define (remove-loudly file) + (format #t "deleting ~a...~%" file) + (force-output) + (delete-file file)) + (define (delete-unwanted-files child stat flag base level) + (match flag + ((or 'regular 'symlink 'stale-symlink) + (when (third-party? child) + (unless (or (member child preserved-club) + (any (cute member <> preserved-club) + (parents child)) + (regexp-exec protected child)) + (remove-loudly child))) + (when (and (useless? child) (file-exists? child)) + (remove-loudly child)) + #t) + ('directory-processed + (when (empty? child) + (rmdir child)) + #t) + (_ #t))) + + (nftw "." delete-unwanted-files 'depth 'physical) + + ;; Assert that each preserved item is present to catch + ;; removals. + (for-each (lambda (third-party) + (unless (file-exists? third-party) + (error (format #f "~s does not exist!~%" + third-party)))) + preserved-club))) + (define-public qtwebengine-5 (package (inherit qtsvg-5) @@ -2298,7 +2359,7 @@ (define-public qtwebengine-5 (srfi srfi-26) (guix build utils))) (snippet - '(begin + #~(begin (let ((preserved-third-party-files '("base/third_party/double_conversion" "base/third_party/cityhash" @@ -2434,54 +2495,7 @@ (define-public qtwebengine-5 "v8/src/third_party/valgrind" "v8/src/third_party/siphash" "v8/third_party/v8/builtins" - "v8/third_party/inspector_protocol")) - (protected (make-regexp "\\.(gn|gyp)i?$"))) - (define preserved-club - (map (lambda (member) - (string-append "./" member)) - preserved-third-party-files)) - (define (empty? dir) - (equal? (scandir dir) '("." ".."))) - (define (third-party? file) - (string-contains file "third_party/")) - (define (useless? file) - (any (cute string-suffix? <> file) - '(".zip" ".so" ".dll" ".exe" ".jar"))) - (define (parents child) - ;; Return all parent directories of CHILD up to and including - ;; the closest "third_party". - (let* ((dirs (match (string-split child #\/) - ((dirs ... last) dirs))) - (closest (list-index (lambda (dir) - (string=? "third_party" dir)) - (reverse dirs))) - (delim (- (length dirs) closest))) - (fold (lambda (dir prev) - (cons (string-append (car prev) "/" dir) - prev)) - (list (string-join (list-head dirs delim) "/")) - (list-tail dirs delim)))) - (define (remove-loudly file) - (format #t "deleting ~a...~%" file) - (force-output) - (delete-file file)) - (define (delete-unwanted-files child stat flag base level) - (match flag - ((or 'regular 'symlink 'stale-symlink) - (when (third-party? child) - (unless (or (member child preserved-club) - (any (cute member <> preserved-club) - (parents child)) - (regexp-exec protected child)) - (remove-loudly child))) - (when (and (useless? child) (file-exists? child)) - (remove-loudly child)) - #t) - ('directory-processed - (when (empty? child) - (rmdir child)) - #t) - (_ #t))) + "v8/third_party/inspector_protocol"))) (with-directory-excursion "src/3rdparty" ;; TODO: Try removing "gn" too for future versions of qtwebengine-5. @@ -2490,13 +2504,7 @@ (define (delete-unwanted-files child stat flag base level) (with-directory-excursion "chromium" ;; Delete bundled software and binaries that were not explicitly ;; preserved above. - (nftw "." delete-unwanted-files 'depth 'physical) - - ;; Assert that each preserved item is present to catch removals. - (for-each (lambda (third-party) - (unless (file-exists? third-party) - (error (format #f "~s does not exist!~%" third-party)))) - preserved-club) + #$remove-third-party-files ;; Use relative header locations instead of hard coded ones. (substitute* @@ -2676,7 +2684,7 @@ (define-public qtwebengine (srfi srfi-26) (guix build utils))) (snippet - '(begin + #~(begin (let ((preserved-third-party-files '("base/third_party/double_conversion" "base/third_party/cityhash" @@ -2698,12 +2706,25 @@ (define-public qtwebengine "third_party/angle/src/common/third_party/base" "third_party/angle/src/common/third_party/smhasher" "third_party/angle/src/common/third_party/xxhash" + "third_party/angle/src/third_party/trace_event" + "third_party/angle/src/third_party/volk" "third_party/axe-core" "third_party/blink" "third_party/boringssl" "third_party/boringssl/src/third_party/fiat" "third_party/breakpad" "third_party/brotli" + "third_party/catapult" + "third_party/catapult/common/py_vulcanize/third_party/rcssmin" + "third_party/catapult/common/py_vulcanize/third_party/rjsmin" + "third_party/catapult/third_party/polymer" + "third_party/catapult/tracing/third_party/d3/d3.min.js" + "third_party/catapult/tracing/third_party/gl-matrix/dist/gl-matrix-min.js" + "third_party/catapult/tracing/third_party/jpeg-js/jpeg-js-decoder.js" + "third_party/catapult/tracing/third_party/jszip/jszip.min.js" + "third_party/catapult/tracing/third_party/mannwhitneyu/mannwhitneyu.js" + "third_party/catapult/tracing/third_party/oboe/dist" + "third_party/catapult/tracing/third_party/pako/pako.min.js" "third_party/ced" "third_party/cld_3" "third_party/closure_compiler" @@ -2713,13 +2734,28 @@ (define-public qtwebengine "third_party/crc32c" "third_party/dav1d" "third_party/dawn" + "third_party/dawn/third_party/tint" "third_party/devtools-frontend" + "third_party/devtools-frontend/src/front_end/third_party/i18n" + "third_party/devtools-frontend/src/front_end/third_party/acorn" + "third_party/devtools-frontend/src/front_end/third_party/acorn-loose" + "third_party/devtools-frontend/src/front_end/third_party/axe-core" + "third_party/devtools-frontend/src/front_end/third_party/chromium" + "third_party/devtools-frontend/src/front_end/third_party/codemirror" + "third_party/devtools-frontend/src/front_end/third_party/diff" + "third_party/devtools-frontend/src/front_end/third_party/intl-messageformat" "third_party/devtools-frontend/src/front_end/third_party/lighthouse" + "third_party/devtools-frontend/src/front_end/third_party/lit-html" + "third_party/devtools-frontend/src/front_end/third_party/marked" "third_party/devtools-frontend/src/front_end/third_party/wasmparser" + "third_party/devtools-frontend/src/third_party/typescript" "third_party/emoji-segmenter" + "third_party/fdlibm" "third_party/ffmpeg" + "third_party/freetype" "third_party/googletest" - "third_party/harfbuzz-ng/utils" + "third_party/harfbuzz-ng" + "third_party/highway" "third_party/hunspell" "third_party/iccjpeg" "third_party/icu" @@ -2730,19 +2766,30 @@ (define-public qtwebengine "third_party/khronos" "third_party/leveldatabase" "third_party/libaddressinput" + "third_party/libaom" + "third_party/libaom/source/libaom/third_party/fastfeat" + "third_party/libaom/source/libaom/third_party/vector" + "third_party/libaom/source/libaom/third_party/x86inc" + "third_party/libavif" + "third_party/libgav1" "third_party/libgifcodec" "third_party/libjingle_xmpp" "third_party/libjpeg_turbo" + "third_party/libjxl" "third_party/libpng" "third_party/libsrtp" "third_party/libsync" "third_party/libudev" + "third_party/liburlpattern" "third_party/libvpx" "third_party/libwebm" "third_party/libwebp" + "third_party/libx11" + "third_party/libxcb-keysyms" "third_party/libxml" "third_party/libxslt" "third_party/libyuv" + "third_party/lottie" "third_party/lss" "third_party/mako" "third_party/markupsafe" @@ -2750,18 +2797,23 @@ (define-public qtwebengine "third_party/metrics_proto" "third_party/modp_b64" "third_party/nasm" + "third_party/node" "third_party/one_euro_filter" - "third_party/openh264/src/codec/api/svc" + "third_party/openh264" "third_party/opus" "third_party/ots" "third_party/pdfium" "third_party/pdfium/third_party/agg23" "third_party/pdfium/third_party/base" + "third_party/pdfium/third_party/bigint" "third_party/pdfium/third_party/freetype" "third_party/pdfium/third_party/lcms" "third_party/pdfium/third_party/libopenjpeg20" + "third_party/pdfium/third_party/libpng16" + "third_party/pdfium/third_party/libtiff" "third_party/pdfium/third_party/skia_shared" "third_party/perfetto" + "third_party/perfetto/protos/third_party/chromium" "third_party/pffft" "third_party/ply" "third_party/polymer" @@ -2777,9 +2829,18 @@ (define-public qtwebengine "third_party/skia/third_party/vulkanmemoryallocator" "third_party/smhasher" "third_party/snappy" + "third_party/speech-dispatcher" "third_party/sqlite" "third_party/usb_ids" "third_party/usrsctp" + "third_party/vulkan-deps/glslang" + "third_party/vulkan-deps/spirv-headers" + "third_party/vulkan-deps/spirv-tools" + "third_party/vulkan-deps/vulkan-headers" + "third_party/vulkan-deps/vulkan-loader" + "third_party/vulkan-deps/vulkan-tools" + "third_party/vulkan-deps/vulkan-validation-layers" + "third_party/vulkan_memory_allocator" "third_party/web-animations-js" "third_party/webrtc" "third_party/webrtc/common_audio/third_party/ooura" @@ -2793,58 +2854,15 @@ (define-public qtwebengine "third_party/widevine/cdm/widevine_cdm_common.h" "third_party/widevine/cdm/widevine_cdm_version.h" "third_party/woff2" + "third_party/wuffs" + "third_party/x11proto" "third_party/zlib" "url/third_party/mozilla" "v8/src/third_party/utf8-decoder" "v8/src/third_party/valgrind" "v8/src/third_party/siphash" "v8/third_party/v8/builtins" - "v8/third_party/inspector_protocol")) - (protected (make-regexp "\\.(gn|gyp)i?$"))) - (define preserved-club - (map (lambda (member) - (string-append "./" member)) - preserved-third-party-files)) - (define (empty? dir) - (equal? (scandir dir) '("." ".."))) - (define (third-party? file) - (string-contains file "third_party/")) - (define (useless? file) - (any (cute string-suffix? <> file) - '(".zip" ".so" ".dll" ".exe" ".jar"))) - (define (parents child) - ;; Return all parent directories of CHILD up to and including - ;; the closest "third_party". - (let* ((dirs (match (string-split child #\/) - ((dirs ... last) dirs))) - (closest (list-index (lambda (dir) - (string=? "third_party" dir)) - (reverse dirs))) - (delim (- (length dirs) closest))) - (fold (lambda (dir prev) - (cons (string-append (car prev) "/" dir) - prev)) - (list (string-join (list-head dirs delim) "/")) - (list-tail dirs delim)))) - (define (remove-loudly file) - (format #t "deleting ~a...~%" file) - (force-output) - (delete-file file)) - (define (delete-unwanted-files child stat flag base level) - (match flag - ((or 'regular 'symlink 'stale-symlink) - (when (third-party? child) - (unless (or (member child preserved-club) - (any (cute member <> preserved-club) - (parents child)) - (regexp-exec protected child)) - (remove-loudly child))) - (when (and (useless? child) (file-exists? child)) - (remove-loudly child))) - ('directory-processed - (when (empty? child) - (rmdir child))) - (_ #t))) + "v8/third_party/inspector_protocol"))) (with-directory-excursion "src/3rdparty" (delete-file-recursively "ninja") @@ -2852,15 +2870,7 @@ (define (delete-unwanted-files child stat flag base level) (with-directory-excursion "chromium" ;; Delete bundled software and binaries that were not ;; explicitly preserved above. - (nftw "." delete-unwanted-files 'depth 'physical) - - ;; Assert that each preserved item is present to catch - ;; removals. - (for-each (lambda (third-party) - (unless (file-exists? third-party) - (error (format #f "~s does not exist!~%" - third-party)))) - preserved-club) + #$remove-third-party-files ;; Use relative header locations instead of hard coded ones. (substitute* @@ -2980,6 +2990,7 @@ (define (delete-unwanted-files child stat flag base level) (append clang-14 lld-as-ld-wrapper python-wrapper + python-beautifulsoup4 python-html5lib))) (inputs (modify-inputs (package-inputs qtwebengine-5) -- cgit v1.2.3 From 84c577d7a7046c2d675d674c301ae1f4684a80bd Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 28 Nov 2022 05:02:05 +0100 Subject: gnu: QtWebEngine: Simplify code to remove third-party files. * gnu/packages/qt.scm (remove-third-party-files): Simplify some procedures. --- gnu/packages/qt.scm | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 31acacff80..0f5e1c3530 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -2284,8 +2284,7 @@ (define remove-third-party-files #~(begin (define preserved-club ;; Prefix exceptions with ./ for comparison with ftw. - (map (lambda (member) - (string-append "./" member)) + (map (cut string-append "./" <>) preserved-third-party-files)) (define protected (make-regexp "\\.(gn|gyp)i?$")) (define (empty? dir) @@ -2298,17 +2297,12 @@ (define (useless? file) (define (parents child) ;; Return all parent directories of CHILD up to and including ;; the closest "third_party". - (let* ((dirs (match (string-split child #\/) - ((dirs ... last) dirs))) - (closest (list-index (lambda (dir) - (string=? "third_party" dir)) - (reverse dirs))) - (delim (- (length dirs) closest))) - (fold (lambda (dir prev) - (cons (string-append (car prev) "/" dir) - prev)) - (list (string-join (list-head dirs delim) "/")) - (list-tail dirs delim)))) + (let loop ((parent (dirname child)) + (parents '())) + (if (string=? "third_party" (basename parent)) + (cons parent parents) + (loop (dirname parent) + (cons parent parents))))) (define (remove-loudly file) (format #t "deleting ~a...~%" file) (force-output) -- cgit v1.2.3 From 2066ae53f1a8c370dc81e83eb9cd52f75355b819 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 1 Dec 2022 17:16:50 +0100 Subject: gnu: QtWebEngine: Use more system libraries. * gnu/packages/qt.scm (qtwebengine)[source](snippet): Remove more files. [arguments]: Pass QT_FEATURES_system_foo for all supported libraries. [inputs]: Replace "harfbuzz" with HARFBUZZ-5. --- gnu/packages/qt.scm | 50 +++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 41 insertions(+), 9 deletions(-) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 0f5e1c3530..519a7d1548 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -2745,14 +2745,22 @@ (define-public qtwebengine "third_party/devtools-frontend/src/third_party/typescript" "third_party/emoji-segmenter" "third_party/fdlibm" - "third_party/ffmpeg" + "third_party/ffmpeg/libavcodec/avcodec.h" + "third_party/ffmpeg/libavcodec/packet.h" + "third_party/ffmpeg/libavformat/avformat.h" + "third_party/ffmpeg/libavformat/avio.h" + "third_party/ffmpeg/libavutil/avutil.h" + "third_party/ffmpeg/libavutil/imgutils.h" + "third_party/ffmpeg/libavutil/log.h" + "third_party/ffmpeg/libavutil/mathematics.h" + "third_party/ffmpeg/libavutil/opt.h" "third_party/freetype" "third_party/googletest" "third_party/harfbuzz-ng" "third_party/highway" "third_party/hunspell" "third_party/iccjpeg" - "third_party/icu" + "third_party/icu" ;TODO: make pdfium use system version "third_party/inspector_protocol" "third_party/jinja2" "third_party/jsoncpp" @@ -2770,18 +2778,23 @@ (define-public qtwebengine "third_party/libjingle_xmpp" "third_party/libjpeg_turbo" "third_party/libjxl" - "third_party/libpng" + "third_party/libpng" ;TODO: make pdfium use system version "third_party/libsrtp" "third_party/libsync" "third_party/libudev" "third_party/liburlpattern" "third_party/libvpx" "third_party/libwebm" - "third_party/libwebp" + "third_party/libwebp/src/webp/decode.h" + "third_party/libwebp/src/webp/demux.h" + "third_party/libwebp/src/webp/encode.h" + "third_party/libwebp/src/webp/format_constants.h" + "third_party/libwebp/src/webp/mux.h" + "third_party/libwebp/src/webp/mux_types.h" + "third_party/libwebp/src/webp/types.h" "third_party/libx11" "third_party/libxcb-keysyms" - "third_party/libxml" - "third_party/libxslt" + "third_party/libxml/chromium" "third_party/libyuv" "third_party/lottie" "third_party/lss" @@ -2794,7 +2807,11 @@ (define-public qtwebengine "third_party/node" "third_party/one_euro_filter" "third_party/openh264" - "third_party/opus" + "third_party/opus/src/include/opus.h" + "third_party/opus/src/include/opus_custom.h" + "third_party/opus/src/include/opus_defines.h" + "third_party/opus/src/include/opus_multistream.h" + "third_party/opus/src/include/opus_types.h" "third_party/ots" "third_party/pdfium" "third_party/pdfium/third_party/agg23" @@ -2850,7 +2867,7 @@ (define-public qtwebengine "third_party/woff2" "third_party/wuffs" "third_party/x11proto" - "third_party/zlib" + "third_party/zlib" ;TODO: make pdfium use system version "url/third_party/mozilla" "v8/src/third_party/utf8-decoder" "v8/src/third_party/valgrind" @@ -2914,15 +2931,29 @@ (define-public qtwebengine "-DQT_FEATURE_webengine_printing_and_pdf=OFF" "-DQT_FEATURE_webengine_pepper_plugins=OFF" ;widevine "-DQT_FEATURE_system_ffmpeg=ON" + ;; Do not artificially limit codec support; video decoding is ;; done by ffmpeg. "-DQT_FEATURE_webengine_proprietary_codecs=ON" + + ;; Use system libraries where possible (see src/core/CMakeLists.txt). "-DQT_FEATURE_webengine_system_alsa=ON" + "-DQT_FEATURE_webengine_system_ffmpeg=ON" + "-DQT_FEATURE_webengine_system_freetype=ON" + "-DQT_FEATURE_webengine_system_harfbuzz=ON" "-DQT_FEATURE_webengine_system_icu=ON" - "-DQT_FEATURE_webengine_system_libxml=ON" + "-DQT_FEATURE_webengine_system_lcms2=ON" + "-DQT_FEATURE_webengine_system_libevent=ON" + "-DQT_FEATURE_webengine_system_libjpeg=ON" "-DQT_FEATURE_webengine_system_libpci=ON" "-DQT_FEATURE_webengine_system_libpng=ON" + "-DQT_FEATURE_webengine_system_libwebp=ON" + "-DQT_FEATURE_webengine_system_libxml=ON" + "-DQT_FEATURE_webengine_system_libxslt=ON" + "-DQT_FEATURE_webengine_system_minizip=ON" + "-DQT_FEATURE_webengine_system_opus=ON" "-DQT_FEATURE_webengine_system_pulseaudio=ON" + "-DQT_FEATURE_webengine_system_re2=ON" "-DQT_FEATURE_webengine_system_zlib=ON") #:phases #~(modify-phases %standard-phases @@ -2989,6 +3020,7 @@ (define-public qtwebengine (inputs (modify-inputs (package-inputs qtwebengine-5) (replace "qtmultimedia" qtmultimedia) + (replace "harfbuzz" harfbuzz-5) (append libxkbfile xkeyboard-config))) (propagated-inputs (modify-inputs (package-propagated-inputs qtwebengine-5) -- cgit v1.2.3 From 79564bf9977ebba0b31d8dc291eb039142f51f68 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 12 Dec 2022 14:27:05 +0100 Subject: gnu: ffmpeg: Promote version 5 to the default. * gnu/packages/video.scm (ffmpeg): Alias to FFMPEG-5. (mlt-6)[inpust]: Replace "ffmpeg" with FFMPEG-4. (transcode, libquicktime, ffmpegthumbnailer, mplayer, obs, simplescreenrecorder, handbrake, ffms2, libopenshot, wlstream)[inputs]: Change from FFMPEG to FFMPEG-4. * gnu/packages/arcan.scm (arcan)[inputs]: Likewise. * gnu/packages/astronomy.scm (stackistry, libskry)[inputs]: Likewise. * gnu/packages/audio.scm (aubio, bs1770gain)[inputs]: Likewise. * gnu/packages/education.scm (openboard)[inputs]: Likewise. * gnu/packages/emulators.scm (dolphin-emu, retroarch, pcsxr, ppsspp)[inputs]: Likewise. * gnu/packages/game-development.scm (warsow-qfusion)[inputs]: Likewise. * gnu/packages/games.scm (oshu, hedgewars)[inputs]: Likewise. * gnu/packages/gnunet.scm (libextractor)[inputs]: Likewise. * gnu/packages/graphics.scm (openscenegraph)[inputs]: Likewise. * gnu/packages/image-processing.scm (opencv, paraview-5.9)[inputs]: Likewise. * gnu/packages/julia-jll.scm (julia-ffmpeg-jll)[inputs]: Likewise. * gnu/packages/kde-multimedia.scm (kid3)[inputs]: Likewise. * gnu/packages/kodi.scm (kodi)[inputs]: Likewise. * gnu/packages/linphone.scm (mediastreamer2)[inputs]: Likewise. * gnu/packages/linux.scm (pipewire)[inputs]: Likewise. (pipewire-0.3)[inputs]: Replace "ffmpeg" with FFMPEG. * gnu/packages/mp3.scm (chromaprint)[inputs]: Change from FFMPEG to FFMPEG-4. * gnu/packages/music.scm (musikcube)[inputs]: Likewise. * gnu/packages/rdesktop.scm (freerdp)[inputs]: Likewise. * gnu/packages/qt.scm (qtwebengine-5)[inputs]: Likewise. --- gnu/packages/arcan.scm | 2 +- gnu/packages/astronomy.scm | 4 ++-- gnu/packages/audio.scm | 8 ++++++-- gnu/packages/education.scm | 2 +- gnu/packages/emulators.scm | 8 ++++---- gnu/packages/game-development.scm | 2 +- gnu/packages/games.scm | 4 ++-- gnu/packages/gnunet.scm | 2 +- gnu/packages/graphics.scm | 2 +- gnu/packages/image-processing.scm | 4 ++-- gnu/packages/julia-jll.scm | 2 +- gnu/packages/kde-multimedia.scm | 2 +- gnu/packages/kodi.scm | 2 +- gnu/packages/linphone.scm | 2 +- gnu/packages/linux.scm | 3 ++- gnu/packages/mp3.scm | 2 +- gnu/packages/music.scm | 2 +- gnu/packages/qt.scm | 2 +- gnu/packages/rdesktop.scm | 2 +- gnu/packages/video.scm | 23 ++++++++++++----------- 20 files changed, 43 insertions(+), 37 deletions(-) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/arcan.scm b/gnu/packages/arcan.scm index c25d64903c..7483777ff0 100644 --- a/gnu/packages/arcan.scm +++ b/gnu/packages/arcan.scm @@ -123,7 +123,7 @@ (define-public arcan (files '("share/arcan/scripts"))))) (inputs `(("apr" ,apr) - ("ffmpeg" ,ffmpeg) + ("ffmpeg" ,ffmpeg-4) ("freetype" ,freetype) ("glib" ,glib) ("glu" ,glu) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index c59f4d02a4..f99dbcbf06 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -813,7 +813,7 @@ (define-public stackistry (native-inputs (list pkg-config)) (inputs - (list gtkmm-3 libskry ffmpeg)) + (list gtkmm-3 libskry ffmpeg-4)) (home-page "https://github.com/GreatAttractor/stackistry") (synopsis "Astronomical lucky imaging/image stacking tool") (description @@ -1714,7 +1714,7 @@ (define-public libskry (copy-recursively "include" include)) #t))))) (inputs - (list ffmpeg)) + (list ffmpeg-4)) (home-page "https://github.com/GreatAttractor/libskry") (synopsis "Astronimical lucky imaging library") (description diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index e480ce9e58..5e471d34e9 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -603,7 +603,11 @@ (define-public aubio "--enable-samplerate" "--enable-avcodec"))) (inputs - (list jack-1 libsndfile libsamplerate fftwf ffmpeg)) ; for libavcodec + (list jack-1 + libsndfile + libsamplerate + ffmpeg-4 ;for libavcodec + fftwf)) (native-inputs (list pkg-config)) (home-page "https://aubio.org/") @@ -4442,7 +4446,7 @@ (define-public bs1770gain ,home-page)) #t)))) (build-system gnu-build-system) - (inputs (list ffmpeg sox)) + (inputs (list ffmpeg-4 sox)) (synopsis "Tool to adjust loudness of media files") (description "BS1770GAIN is a loudness scanner compliant with ITU-R BS.1770 and its diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index c0f7778c1c..0e3dd08c23 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -547,7 +547,7 @@ (define-public openboard (inputs (list alsa-lib coreutils-minimal ;for patched 'env' shebang - ffmpeg + ffmpeg-4 freetype lame libass diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 5054ae3da5..11d1cda46f 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -323,7 +323,7 @@ (define-public dolphin-emu bluez curl eudev - ffmpeg + ffmpeg-4 font-wqy-microhei freetype glew @@ -1471,7 +1471,7 @@ (define-public retroarch "--disable-builtinminiupnpc"))))))) (inputs `(("alsa-lib" ,alsa-lib) - ("ffmpeg" ,ffmpeg) + ("ffmpeg" ,ffmpeg-4) ("freetype" ,freetype) ("libxinerama" ,libxinerama) ("libxkbcommon" ,libxkbcommon) @@ -2035,7 +2035,7 @@ (define-public pcsxr (list libcdio sdl2 gtk+ - ffmpeg + ffmpeg-4 libxv libarchive pulseaudio)) @@ -2322,7 +2322,7 @@ (define-public ppsspp (native-inputs (list pkg-config python)) (inputs (list bash cityhash - ffmpeg + ffmpeg-4 glew glslang libpng diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 4a0435045b..8fec474d0b 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -2665,7 +2665,7 @@ (define-public warsow-qfusion `(("alsa-lib" ,alsa-lib) ("curl" ,curl) ("freetype" ,freetype) - ("ffmpeg" ,ffmpeg) + ("ffmpeg" ,ffmpeg-4) ("libjpeg" ,libjpeg-turbo) ("libogg" ,libogg) ("libpng" ,libpng) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index d8c5a34a41..4c5f28a55c 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -8478,7 +8478,7 @@ (define-public oshu (native-inputs (list pkg-config)) (inputs - (list cairo ffmpeg pango sdl2 sdl2-image)) + (list cairo ffmpeg-4 pango sdl2 sdl2-image)) (home-page "https://github.com/fmang/oshu/") (synopsis "Rhythm game in which you click on circles") (description "@i{oshu!} is a minimalist variant of the @i{osu!} rhythm game, @@ -9318,7 +9318,7 @@ (define-public hedgewars (string-append "../hedgewars-src-" #$version) (install-file "misc/hedgewars.png" icons)))))))) (inputs - (list ffmpeg + (list ffmpeg-4 freeglut ghc-entropy ghc-hslogger diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index b477fee537..c98ceefad7 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -100,7 +100,7 @@ (define-public libextractor `(("exiv2" ,exiv2) ("bzip2" ,bzip2) ("flac" ,flac) - ("ffmpeg" ,ffmpeg) + ("ffmpeg" ,ffmpeg-4) ("file" ,file) ;libmagic, for the MIME plug-in ("glib" ,glib) ("giflib" ,giflib) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index efe1deede4..4642dfbe36 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -1308,7 +1308,7 @@ (define-public openscenegraph ("jasper" ,jasper) ("librsvg" ,librsvg) ("libxrandr" ,libxrandr) - ("ffmpeg" ,ffmpeg) + ("ffmpeg" ,ffmpeg-4) ("mesa" ,mesa))) (synopsis "High-performance real-time graphics toolkit") (description diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index fb45e9b141..ab796d7719 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -620,7 +620,7 @@ (define-public opencv (sha256 (base32 "0ga0l4ranp1834gxgp487ll1amvmssa02l2nk5ja5w0rx4d8hh26")))))) (inputs - (list ffmpeg + (list ffmpeg-4 gtk+ gtkglext hdf5 @@ -925,7 +925,7 @@ (define-public paraview-5.9 double-conversion eigen expat - ffmpeg + ffmpeg-4 freetype gdal gl2ps diff --git a/gnu/packages/julia-jll.scm b/gnu/packages/julia-jll.scm index 594c36b6ce..2b0f644736 100644 --- a/gnu/packages/julia-jll.scm +++ b/gnu/packages/julia-jll.scm @@ -254,7 +254,7 @@ (define-public julia-ffmpeg-jll ;; There's a Julia file for each platform, override them all (find-files "src/wrappers/" "\\.jl$"))))))) (inputs - (list ffmpeg)) + (list ffmpeg-4)) (propagated-inputs (list julia-jllwrappers julia-bzip2-jll diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm index 9fb3572909..d635eca26d 100644 --- a/gnu/packages/kde-multimedia.scm +++ b/gnu/packages/kde-multimedia.scm @@ -334,7 +334,7 @@ (define-public kid3 (native-inputs (list docbook-xsl extra-cmake-modules - ffmpeg + ffmpeg-4 kdoctools libxslt python-wrapper diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index 402ee221c5..18791359f2 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -399,7 +399,7 @@ (define-public kodi ("dcadec" ,dcadec) ("dbus" ,dbus) ("eudev" ,eudev) - ("ffmpeg" ,ffmpeg) + ("ffmpeg" ,ffmpeg-4) ("flac" ,flac) ("flatbuffers" ,flatbuffers) ("fmt" ,fmt-7) diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm index 7b5efeb588..130097ef40 100644 --- a/gnu/packages/linphone.scm +++ b/gnu/packages/linphone.scm @@ -645,7 +645,7 @@ (define-public mediastreamer2 ("bcg729" ,bcg729) ("bcmatroska2" ,bcmatroska2) ("bctoolbox" ,bctoolbox) - ("ffmpeg" ,ffmpeg) + ("ffmpeg" ,ffmpeg-4) ("glew" ,glew) ("glu" ,glu) ("glx" ,mesa-utils) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index c476940eed..9ea77069ca 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -8991,7 +8991,7 @@ (define-public pipewire (list alsa-lib dbus eudev - ffmpeg + ffmpeg-4 gstreamer gst-plugins-base libva @@ -9035,6 +9035,7 @@ (define-public pipewire-0.3 (modify-inputs (package-native-inputs pipewire) (prepend python-docutils))) (inputs (modify-inputs (package-inputs pipewire) + (replace "ffmpeg" ffmpeg) (prepend avahi bluez jack-2 diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index e2b112832b..03e4485618 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -643,7 +643,7 @@ (define-public chromaprint (inputs ;; requires one of FFmpeg (prefered), FFTW3 or vDSP ;; use the same ffmpeg version as for acoustid-fingerprinter - (list ffmpeg boost)) + (list ffmpeg-4 boost)) (home-page "https://acoustid.org/chromaprint") (synopsis "Audio fingerprinting library") (description "Chromaprint is a library for calculating audio diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 026bb22770..e3cb67b413 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -6806,7 +6806,7 @@ (define-public musikcube (list alsa-lib boost curl - ffmpeg + ffmpeg-4 lame libev libmicrohttpd diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 519a7d1548..6406fd5c49 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -2546,7 +2546,7 @@ (define-public qtwebengine-5 cups-minimal curl dbus - ffmpeg + ffmpeg-4 fontconfig harfbuzz icu4c diff --git a/gnu/packages/rdesktop.scm b/gnu/packages/rdesktop.scm index 12a1d3e9eb..84a07e6ba9 100644 --- a/gnu/packages/rdesktop.scm +++ b/gnu/packages/rdesktop.scm @@ -101,7 +101,7 @@ (define-public freerdp (inputs `(("alsa-lib" ,alsa-lib) ("cups" ,cups) - ("ffmpeg" ,ffmpeg) + ("ffmpeg" ,ffmpeg-4) ("libjpeg" ,libjpeg-turbo) ("libusb" ,libusb) ("libx11" ,libx11) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index a2cbc53f8c..a15c86ee07 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -273,7 +273,7 @@ (define-public transcode python-wrapper)) (inputs (list alsa-lib - ffmpeg + ffmpeg-4 freetype imagemagick lame @@ -450,7 +450,7 @@ (define-public libquicktime (list gettext-minimal doxygen pkg-config)) (inputs (list alsa-lib - ffmpeg + ffmpeg-4 gtk+-2 lame libdv @@ -1876,7 +1876,7 @@ (define-public ffmpeg-2.8 (format #t "setting LD_LIBRARY_PATH to ~s~%" path) (setenv "LD_LIBRARY_PATH" path))))))))) -(define-public ffmpeg ffmpeg-4) +(define-public ffmpeg ffmpeg-5) (define-public ffmpeg-for-stepmania (hidden-package @@ -1923,7 +1923,7 @@ (define-public ffmpegthumbnailer (native-inputs (list pkg-config)) (inputs - (list ffmpeg libjpeg-turbo libpng gvfs)) + (list ffmpeg-4 libjpeg-turbo libpng gvfs)) (arguments `(#:configure-flags (list "-DENABLE_GIO=ON" "-DENABLE_THUMBNAILER=ON"))) (home-page "https://github.com/dirkvdb/ffmpegthumbnailer") @@ -2102,7 +2102,7 @@ (define-public mplayer (inputs `(("alsa-lib" ,alsa-lib) ("cdparanoia" ,cdparanoia) - ("ffmpeg" ,ffmpeg) + ("ffmpeg" ,ffmpeg-4) ("fontconfig" ,fontconfig) ("freetype" ,freetype) ("giflib" ,giflib) @@ -3296,6 +3296,7 @@ (define-public mlt-6 ,@(package-arguments mlt))) (inputs (modify-inputs (package-inputs mlt) + (replace "ffmpeg" ffmpeg-4) (replace "gtk+" gtk+-2))))) (define-public v4l-utils @@ -3409,7 +3410,7 @@ (define-public obs bash-minimal curl eudev - ffmpeg + ffmpeg-4 fontconfig freetype glib @@ -3679,7 +3680,7 @@ (define-public simplescreenrecorder ;; As a result, they are omitted. Please add them back if problems appear. (inputs (list alsa-lib - ffmpeg + ffmpeg-4 glu jack-1 libxi @@ -3872,7 +3873,7 @@ (define-public handbrake (inputs `(("bzip2" ,bzip2) ("dbus-glib" ,dbus-glib) - ("ffmpeg" ,ffmpeg) + ("ffmpeg" ,ffmpeg-4) ("fontconfig" ,fontconfig) ("freetype" ,freetype) ("glib" ,glib) @@ -4313,7 +4314,7 @@ (define-public ffms2 (inputs (list zlib)) (propagated-inputs - (list ffmpeg)) + (list ffmpeg-4)) (native-inputs (list pkg-config)) (synopsis "Cross-platform wrapper around ffmpeg/libav") @@ -4743,7 +4744,7 @@ (define-public libopenshot (list alsa-lib zlib)) (propagated-inputs ;all referenced in installed headers (list cppzmq - ffmpeg + ffmpeg-4 imagemagick jsoncpp libopenshot-audio @@ -4968,7 +4969,7 @@ (define-public wlstream "01qbcgfl3g9kfwn1jf1z9pdj3bvf5lmg71d1vwkcllc2az24bjqp")))) (build-system meson-build-system) (native-inputs (list libdrm pkg-config)) - (inputs (list ffmpeg pulseaudio wayland wayland-protocols)) + (inputs (list ffmpeg-4 pulseaudio wayland wayland-protocols)) (home-page "https://github.com/atomnuker/wlstream") (synopsis "Screen capture tool for Wayland sessions") (description "Wlstream is a screen capture tool for recording audio and -- cgit v1.2.3 From a43c5242522f19bca67a6762916f236004d569df Mon Sep 17 00:00:00 2001 From: Andrew Tropin Date: Wed, 18 Jan 2023 14:16:31 +0400 Subject: gnu: qtwayland: Fix crashes from excessive number of frame callbacks. QWaylandWindow::handleUpdate could create thousands of pending frame callbacks, causing compositor to terminate client connection. https://bugreports.qt.io/browse/QTBUG-81504 * gnu/packages/patches/qtwayland-dont-recreate-callbacks.patch: New file. * gnu/packages/patches/qtwayland-cleanup-callbacks.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/qt.scm (qtwayland)[source](patches): Add patches. --- gnu/local.mk | 2 + .../patches/qtwayland-cleanup-callbacks.patch | 52 +++++++++++++++ .../qtwayland-dont-recreate-callbacks.patch | 76 ++++++++++++++++++++++ gnu/packages/qt.scm | 4 +- 4 files changed, 133 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/qtwayland-cleanup-callbacks.patch create mode 100644 gnu/packages/patches/qtwayland-dont-recreate-callbacks.patch (limited to 'gnu/packages/qt.scm') diff --git a/gnu/local.mk b/gnu/local.mk index dfe0d92a2f..408f7c376b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1775,6 +1775,8 @@ dist_patch_DATA = \ %D%/packages/patches/quagga-reproducible-build.patch \ %D%/packages/patches/quickswitch-fix-dmenu-check.patch \ %D%/packages/patches/qtwayland-gcc-11.patch \ + %D%/packages/patches/qtwayland-dont-recreate-callbacks.patch \ + %D%/packages/patches/qtwayland-cleanup-callbacks.patch \ %D%/packages/patches/qtwebkit-pbutils-include.patch \ %D%/packages/patches/qtwebkit-fix-building-with-bison-3.7.patch \ %D%/packages/patches/qtwebkit-fix-building-with-python-3.9.patch \ diff --git a/gnu/packages/patches/qtwayland-cleanup-callbacks.patch b/gnu/packages/patches/qtwayland-cleanup-callbacks.patch new file mode 100644 index 0000000000..b7618432cb --- /dev/null +++ b/gnu/packages/patches/qtwayland-cleanup-callbacks.patch @@ -0,0 +1,52 @@ +From 42cdc61a93cf2acb09936aebb5e431fdbc0a26c6 Mon Sep 17 00:00:00 2001 +From: Georges Basile Stavracas Neto +Date: Thu, 27 May 2021 20:02:53 -0300 +Subject: [PATCH] Client: Always destroy frame callback in the actual callback + +It's good hygiene to destroy all frame callbacks. Destroy the +frame callback and cleanup the mFrameCallback class member in +the callback itself. The callback destruction happens before +calling handleFrameCallback() to avoid the theoretical case +where another frame callback is queued by handleFrameCallback(), +and then immediately destroyed in the callback handler. + +Change-Id: Ide6dc95e3402932c58bfc088a9d471fda821e9a1 +Reviewed-by: Eskil Abrahamsen Blomfeldt +--- + src/client/qwaylandwindow.cpp | 14 +++++--------- + 1 file changed, 5 insertions(+), 9 deletions(-) + +diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp +index d83d51695..5561f58f7 100644 +--- a/src/client/qwaylandwindow.cpp ++++ b/src/client/qwaylandwindow.cpp +@@ -659,9 +659,13 @@ void QWaylandWindow::commit() + + const wl_callback_listener QWaylandWindow::callbackListener = { + [](void *data, wl_callback *callback, uint32_t time) { +- Q_UNUSED(callback); + Q_UNUSED(time); + auto *window = static_cast(data); ++ ++ Q_ASSERT(callback == window->mFrameCallback); ++ wl_callback_destroy(callback); ++ window->mFrameCallback = nullptr; ++ + window->handleFrameCallback(); + } + }; +@@ -1366,11 +1370,6 @@ void QWaylandWindow::handleUpdate() + if (!mSurface) + return; + +- if (mFrameCallback) { +- wl_callback_destroy(mFrameCallback); +- mFrameCallback = nullptr; +- } +- + QMutexLocker locker(mFrameQueue.mutex); + struct ::wl_surface *wrappedSurface = reinterpret_cast(wl_proxy_create_wrapper(mSurface->object())); + wl_proxy_set_queue(reinterpret_cast(wrappedSurface), mFrameQueue.queue); +-- +2.38.1 + diff --git a/gnu/packages/patches/qtwayland-dont-recreate-callbacks.patch b/gnu/packages/patches/qtwayland-dont-recreate-callbacks.patch new file mode 100644 index 0000000000..dda2b99844 --- /dev/null +++ b/gnu/packages/patches/qtwayland-dont-recreate-callbacks.patch @@ -0,0 +1,76 @@ +From cbc74ba6d7186457d8d07183272e952dee5f34f9 Mon Sep 17 00:00:00 2001 +From: Georges Basile Stavracas Neto +Date: Thu, 27 May 2021 19:55:04 -0300 +Subject: [PATCH] Client: Don't always recreate frame callbacks + +The main QWaylandWindow method that is executed when handling updates is +QWaylandWindow::handleUpdate(). This method always, unconditionally queues +a frame callback, regardless of whether any other one is already queued. + +On some circumstances, e.g. when a window is hidden or completely obscured +by other windows, it stops receiving frame callbacks from the compositor. +However, QWaylandWindow would continue to request for them, which eventually +fills up the Wayland socket, and causes the application to crash. + +This can be avoided by checking if the platform window is already waiting +for a frame callback, before queueing another one. + +In QWaylandWindow::handleUpdate(), check if mWaitingForFrameCallback is true +before queueing frame callbacks, and early return if that's the case. + +The XDG-shell test needed to be updated for this: The mock compositor is +not responding to any frame callbacks, so the window will be unexposed, +no longer get paint events and therefore not trigger any commit. This +worked by accident before because we were issuing updates quickly enough +to reset the timer before it had a chance to unexpose the window. The +easiest fix is just to disable the dependency on frame callbacks in +this test, since that is clearly not what it's testing. + +Task-number: QTBUG-81504 +Change-Id: Ieacb05c7d5a5fcf662243d9177ebcc308cb9ca84 +Reviewed-by: Qt CI Bot +Reviewed-by: Georges Basile Stavracas Neto +Reviewed-by: Eskil Abrahamsen Blomfeldt +--- + src/client/qwaylandwindow.cpp | 4 ++++ + tests/auto/client/xdgshell/tst_xdgshell.cpp | 2 ++ + 2 files changed, 6 insertions(+) + +diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp +index a708afce..d83d5169 100644 +--- a/src/client/qwaylandwindow.cpp ++++ b/src/client/qwaylandwindow.cpp +@@ -1357,6 +1357,10 @@ void QWaylandWindow::requestUpdate() + void QWaylandWindow::handleUpdate() + { + qCDebug(lcWaylandBackingstore) << "handleUpdate" << QThread::currentThread(); ++ ++ if (mWaitingForFrameCallback) ++ return; ++ + // TODO: Should sync subsurfaces avoid requesting frame callbacks? + QReadLocker lock(&mSurfaceLock); + if (!mSurface) +diff --git a/tests/auto/client/xdgshell/tst_xdgshell.cpp b/tests/auto/client/xdgshell/tst_xdgshell.cpp +index 1d2a2014..962093c7 100644 +--- a/tests/auto/client/xdgshell/tst_xdgshell.cpp ++++ b/tests/auto/client/xdgshell/tst_xdgshell.cpp +@@ -138,6 +138,7 @@ void tst_xdgshell::configureSize() + + void tst_xdgshell::configureStates() + { ++ QVERIFY(qputenv("QT_WAYLAND_FRAME_CALLBACK_TIMEOUT", "0")); + QRasterWindow window; + window.resize(64, 48); + window.show(); +@@ -186,6 +187,7 @@ void tst_xdgshell::configureStates() + QCOMPARE(window.windowStates(), Qt::WindowNoState); + QCOMPARE(window.frameGeometry().size(), windowedSize); + // QCOMPARE(window.frameGeometry().topLeft(), QPoint()); // TODO: this doesn't currently work when window decorations are enabled ++ QVERIFY(qunsetenv("QT_WAYLAND_FRAME_CALLBACK_TIMEOUT")); + } + + void tst_xdgshell::popup() +-- +2.38.1 + diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 6406fd5c49..14fc73ef28 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1522,7 +1522,9 @@ (define-public qtwayland-5 (source (origin (method url-fetch) (uri (qt-urls name version)) - (patches (search-patches "qtwayland-gcc-11.patch")) + (patches (search-patches "qtwayland-gcc-11.patch" + "qtwayland-dont-recreate-callbacks.patch" + "qtwayland-cleanup-callbacks.patch")) (sha256 (base32 "0yy8qf9kn15iqsxi2r7jbcsc0vsdyfz7bbxmfn4i9qmz1yvg0jgr")))) -- cgit v1.2.3 From 60ef511147a33afc317aeeb0f2c8650c6699fdb1 Mon Sep 17 00:00:00 2001 From: Yash Tiwari Date: Thu, 24 Nov 2022 11:47:48 +0530 Subject: gnu: Add kvantum. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/qt.scm (kvantum): New variable. Signed-off-by: 宋文武 --- gnu/packages/qt.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 14fc73ef28..7a1d60a2e5 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -26,6 +26,7 @@ ;;; Copyright © 2022 Foo Chuan Wei ;;; Copyright © 2022 Zhu Zihao ;;; Copyright © 2022 Petr Hodina +;;; Copyright © 2022 Yash Tiwari ;;; ;;; This file is part of GNU Guix. ;;; @@ -188,6 +189,49 @@ (define-public qt5ct (home-page "https://qt5ct.sourceforge.io/") (license license:bsd-2))) +(define-public kvantum + (package + (name "kvantum") + (version "1.0.7") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/tsujan/Kvantum/releases/download/V" + version "/Kvantum-" version ".tar.xz")) + (sha256 + (base32 + "0zwxswbgd3wc7al3fhrl5qc0fmmb6mkygywjh1spbqpl7s8jw5s3")))) + (build-system qt-build-system) + (arguments + (list + #:tests? #f ;no tests + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "Kvantum"))) + (add-after 'chdir 'patch-style-dir + (lambda _ + (substitute* "style/CMakeLists.txt" + (("\\$\\{KVANTUM_STYLE_DIR\\}") + (string-append #$output + "/lib/qt5/plugins/styles")))))))) + (native-inputs (list qttools-5)) + (inputs (list + kwindowsystem + libx11 + libxext + qtbase-5 + qtsvg-5 + qtx11extras)) + (synopsis "SVG-based theme engine for Qt") + (description + "Kvantum is an SVG-based theme engine for Qt, +tuned to KDE and LXQt, with an emphasis on elegance, usability and +practicality.") + (home-page "https://github.com/tsujan/Kvantum") + (license license:gpl3+))) + (define-public materialdecoration (let ((commit "6a5de23f2e5162fbee39d16f938473ff970a2ec0") (revision "9")) -- cgit v1.2.3