From fb0e5874ec70db1e135e74bdcaf56146de45133d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 24 Jun 2021 23:40:27 +0200 Subject: gnu: vlc: Update to 3.0.16. * gnu/packages/video.scm (vlc): Update to 3.0.16. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/video.scm') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index fbc468eab7..33d0bcff08 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1770,7 +1770,7 @@ videoformats depend on the configuration flags of ffmpeg.") (define-public vlc (package (name "vlc") - (version "3.0.14") + (version "3.0.16") (source (origin (method url-fetch) (uri (string-append @@ -1779,7 +1779,7 @@ videoformats depend on the configuration flags of ffmpeg.") "/vlc-" version ".tar.xz")) (sha256 (base32 - "19imhm6wd85nm2r4xwa7g500rmya021aj93b1q33gany6ddkxfa9")))) + "1xhhjhwihkz74dag25r5fscvw1v2byy4c8qxaxsw29gncky3bbpz")))) (build-system gnu-build-system) (native-inputs `(("flex" ,flex) -- cgit v1.2.3 From 43b87b4a05a754b7c7aed1f8ddc74f32125d4f3d Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Sat, 26 Jun 2021 14:05:09 -0400 Subject: gnu: youtube-dl-gui: Update to 4.0. This new version requires gettext and twodict. * gnu/packages/video.scm (youtube-dl-gui)[version]: Update to 4.0. [native-inputs]: Add gettext-minimal. [inputs]: Add python2-twodict. --- gnu/packages/video.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'gnu/packages/video.scm') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 33d0bcff08..b8b8dfcc60 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -2284,14 +2284,14 @@ YouTube.com and many more sites.") (define-public youtube-dl-gui (package (name "youtube-dl-gui") - (version "0.3.8") + (version "0.4") (source (origin (method url-fetch) (uri (pypi-uri "Youtube-DLG" version)) (sha256 (base32 - "0napxwzgls5ik1bxbp99vly32l23xpc4ng5kr24hfhf21ypjyadb")))) + "1bvq2wyn6az59vpdy04dh68fs8m2qzz948xhphibbcpwpcdk00cd")))) (build-system python-build-system) (arguments ;; In Guix, wxpython has not yet been packaged for Python 3. @@ -2365,8 +2365,11 @@ YouTube.com and many more sites.") Type=Application~@ Categories=AudioVideo;Audio;Video;Network~%"))) #t)))))) + (native-inputs + `(("gettext-minimal" ,gettext-minimal))) (inputs - `(("python2-wxpython" ,python2-wxpython) + `(("python2-twodict" ,python2-twodict) + ("python2-wxpython" ,python2-wxpython) ("youtube-dl" ,youtube-dl))) (home-page "https://github.com/MrS0m30n3/youtube-dl-gui") (synopsis -- cgit v1.2.3 From 98a85c78afad67a6bdc763725b7ea0a4ca60d6ac Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 28 Jun 2021 19:46:42 +0200 Subject: gnu: libass: Update to 0.15.1. * gnu/packages/video.scm (libass): Update to 0.15.1. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/video.scm') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index b8b8dfcc60..0de106be6c 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1207,7 +1207,7 @@ designed to encode video or images into an H.265 / HEVC encoded bitstream.") (define-public libass (package (name "libass") - (version "0.15.0") + (version "0.15.1") (source (origin (method url-fetch) (uri (string-append @@ -1215,7 +1215,7 @@ designed to encode video or images into an H.265 / HEVC encoded bitstream.") version "/libass-" version ".tar.xz")) (sha256 (base32 - "0cz8v6kh3f2j5rdjrra2z0h715fa16vjm7kambvqx9hak86262cz")))) + "0lwfmdizzrr4gcq3fgw4j8g9pkrqgx6h0f3pgrrnxc07s34kkp8w")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static"))) -- cgit v1.2.3 From c6171420bf491ca5d3df6f5f70966dea9b55741b Mon Sep 17 00:00:00 2001 From: Andrew Tropin Date: Wed, 30 Jun 2021 08:12:35 +0300 Subject: gnu: obs: Update to 27.0.1 * gnu/packages/video.scm (obs): Update to 27.0.1. [inputs]: Add glib, pipewire, wayland, wayland-protocol. Some plugins now comes as submodules, so recursive? added. Signed-off-by: Efraim Flashner --- gnu/packages/video.scm | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'gnu/packages/video.scm') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 0de106be6c..ae2f406e23 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -3119,23 +3119,27 @@ be used for realtime video capture via Linux-specific APIs.") (define-public obs (package (name "obs") - (version "26.1.2") + (version "27.0.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/obsproject/obs-studio") - (commit version))) + (commit version) + (recursive? #t))) (file-name (git-file-name name version)) (sha256 (base32 - "1k1asqiqw757v59ayx0w029ril947hs0lcp8n91knzjl891fr4nc")) + "04fzsr9yizmxy0r7z2706crvnsnybpnv5kgfn77znknxxjacfhkn")) (patches (search-patches "obs-modules-location.patch")))) (build-system cmake-build-system) (arguments `(#:configure-flags (list (string-append "-DOBS_VERSION_OVERRIDE=" ,version) - "-DENABLE_UNIT_TESTS=TRUE") + "-DENABLE_UNIT_TESTS=TRUE" + ;; Browser plugin requires cef, but it is not packaged yet. + ;; + "-DBUILD_BROWSER=FALSE") #:phases (modify-phases %standard-phases (add-after 'install 'wrap-executable @@ -3164,18 +3168,22 @@ be used for realtime video capture via Linux-specific APIs.") ("ffmpeg" ,ffmpeg) ("fontconfig" ,fontconfig) ("freetype" ,freetype) + ("glib" ,glib) ("jack" ,jack-1) ("jansson" ,jansson) ("libx264" ,libx264) ("libxcomposite" ,libxcomposite) ("mbedtls" ,mbedtls-apache) ("mesa" ,mesa) + ("pipewire" ,pipewire-0.3) ("pulseaudio" ,pulseaudio) ("qtbase" ,qtbase-5) ("qtsvg" ,qtsvg) ("qtx11extras" ,qtx11extras) ("speexdsp" ,speexdsp) ("v4l-utils" ,v4l-utils) + ("wayland" ,wayland) + ("wayland-protocols" ,wayland-protocols) ("zlib" ,zlib))) (synopsis "Live streaming software") (description "Open Broadcaster Software provides a graphical interface for -- cgit v1.2.3 From 7e24e1e58d6f53d9c77f6015229d0c35f7e66bca Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Fri, 25 Dec 2020 23:02:18 +0100 Subject: guix: qt-build-system, qt-utils: Unify wrapping of qt-programs. Unify (guix qt-build-system wrap-all-programs) and (guix qt-utils wrap-qt-program), so both behave the same. The functions now reside in qt-utils to make them easily available for packages not using the qt-build-system. * guix/build/qt-build-system.scm (variables-for-wrapping, wrap-all-programs): Move from here ... * guix/build/qt-utils.scm (variables-for-wrapping, wrap-all-qt-programs): ... to here. Base the later on (wrap-qt-program*): New function, carved out from old wrap-all-programs. (wrap-qt-program): Base on wrap-qt-program*, change arguments in an incompatible way. * gnu/packages/bittorrent.scm (qbittorrent)[arguments]{wrap-qt}: Adjust to new interface of wrap-qt-program. * gnu/packages/finance.scm (electron-cash): Likewise. * gnu/packages/geo.scm (qgis): Likewise. * gnu/packages/password-utils.scm (qtpass): Likewise. * gnu/packages/video.scm (openshot): Likewise. * gnu/packages/web-browsers.scm (kristall): Likewise. --- gnu/packages/bittorrent.scm | 6 ++- gnu/packages/finance.scm | 8 +-- gnu/packages/geo.scm | 7 +-- gnu/packages/password-utils.scm | 6 ++- gnu/packages/video.scm | 6 ++- gnu/packages/web-browsers.scm | 5 +- guix/build-system/qt.scm | 1 + guix/build/qt-build-system.scm | 68 ++------------------------ guix/build/qt-utils.scm | 105 ++++++++++++++++++++++++++++++++-------- 9 files changed, 113 insertions(+), 99 deletions(-) (limited to 'gnu/packages/video.scm') diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 5d6a780aab..0ca60d607c 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2018 Nam Nguyen ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2019, 2020 Brett Gilio +;;; Copyright © 2020 Hartmut Goebel ;;; ;;; This file is part of GNU Guix. ;;; @@ -448,8 +449,9 @@ desktops.") #:phases (modify-phases %standard-phases (add-after 'install 'wrap-qt - (lambda* (#:key outputs #:allow-other-keys) - (wrap-qt-program (assoc-ref outputs "out") "qbittorrent") + (lambda* (#:key outputs inputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-qt-program "qbittorrent" #:output out #:inputs inputs)) #t))))) (native-inputs `(("pkg-config" ,pkg-config) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index b3a8e2b732..76bf0dc28d 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015, 2016 Andreas Enge ;;; Copyright © 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2016 Alex Griffin -;;; Copyright © 2016 Hartmut Goebel +;;; Copyright © 2016, 2020 Hartmut Goebel ;;; Copyright © 2017 Carlo Zancanaro ;;; Copyright © 2017 Theodoros Foradis ;;; Copyright © 2017 Vasile Dumitrascu @@ -618,8 +618,10 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (assoc-ref inputs "libsecp256k1") "/lib/libsecp256k1.so.0'"))))) (add-after 'install 'wrap-qt - (lambda* (#:key outputs #:allow-other-keys) - (wrap-qt-program (assoc-ref outputs "out") "electron-cash")))))) + (lambda* (#:key outputs inputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-qt-program "electron-cash" #:output out #:inputs inputs)) + #t))))) (home-page "https://electroncash.org/") (synopsis "Bitcoin Cash wallet") (description diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 1b4df7bc51..f07606aad9 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant ;;; Copyright © 2019, 2020, 2021 Efraim Flashner ;;; Copyright © 2019 Wiktor Żelazny -;;; Copyright © 2019 Hartmut Goebel +;;; Copyright © 2019, 2020 Hartmut Goebel ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020 Christopher Baines ;;; Copyright © 2020, 2021 Felix Gruber @@ -2241,8 +2241,9 @@ growing set of geoscientific methods.") (add-after 'install 'wrap-python (assoc-ref python:%standard-phases 'wrap)) (add-after 'wrap-python 'wrap-qt - (lambda* (#:key outputs #:allow-other-keys) - (wrap-qt-program (assoc-ref outputs "out") "qgis") + (lambda* (#:key outputs inputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-qt-program "qgis" #:output out #:inputs inputs)) #t)) (add-after 'wrap-qt 'wrap-gis (lambda* (#:key inputs outputs #:allow-other-keys) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 9c8912c5e8..b79701851f 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -31,6 +31,7 @@ ;;; Copyright © 2020 Vinicius Monego ;;; Copyright © 2021 Stefan Reichör ;;; Copyright © 2021 Xinglu Chen +;;; Copyright © 2020 Hartmut Goebel ;;; ;;; This file is part of GNU Guix. ;;; @@ -682,8 +683,9 @@ key URIs using the standard otpauth:// scheme.") (install-file "qtpass.1" man) #t))) (add-after 'install 'wrap-qt - (lambda* (#:key outputs #:allow-other-keys) - (wrap-qt-program (assoc-ref outputs "out") "qtpass") + (lambda* (#:key outputs inputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-qt-program "qtpass" #:output out #:inputs inputs)) #t)) (add-before 'check 'check-setup ;; Make Qt render "offscreen", required for tests. diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index ae2f406e23..74c8d3b253 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -51,6 +51,7 @@ ;;; Copyright © 2021 Andrew Tropin ;;; Copyright © 2021 David Wilson ;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2020 Hartmut Goebel ;;; ;;; This file is part of GNU Guix. ;;; @@ -4609,9 +4610,10 @@ API. It includes bindings for Python, Ruby, and other languages.") (setenv "HOME" "/tmp") #t)) (add-after 'install 'wrap-program - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key outputs inputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) - (wrap-qt-program out "openshot-qt")) + (wrap-qt-program "openshot-qt" + #:output out #:inputs inputs)) #t))))) (home-page "https://www.openshot.org/") (synopsis "Video editor") diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 9c6d9b1fd8..69844d71b3 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2021 Cage ;;; Copyright © 2021 Benoit Joly ;;; Copyright © 2021 Alexander Krotov +;;; Copyright © 2020 Hartmut Goebel ;;; ;;; This file is part of GNU Guix. ;;; @@ -449,9 +450,9 @@ access.") "/share/fonts/truetype/NotoColorEmoji"))) #t)) (add-after 'install 'wrap-program - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key outputs inputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) - (wrap-qt-program out "kristall")) + (wrap-qt-program "kristall" #:output out #:inputs inputs)) #t))))) (native-inputs `(("breeze-stylesheet" diff --git a/guix/build-system/qt.scm b/guix/build-system/qt.scm index 118022ec45..1bd89bfa4d 100644 --- a/guix/build-system/qt.scm +++ b/guix/build-system/qt.scm @@ -53,6 +53,7 @@ (define %qt-build-system-modules ;; Build-side modules imported and used by default. `((guix build qt-build-system) + (guix build qt-utils) ,@%cmake-build-system-modules)) (define (default-cmake) diff --git a/guix/build/qt-build-system.scm b/guix/build/qt-build-system.scm index 005157b0a4..a6955ce4c2 100644 --- a/guix/build/qt-build-system.scm +++ b/guix/build/qt-build-system.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014 Federico Beffa ;;; Copyright © 2014, 2015 Ludovic Courtès ;;; Copyright © 2018 Mark H Weaver -;;; Copyright © 2019, 2020 Hartmut Goebel +;;; Copyright © 2019, 2020, 2021 Hartmut Goebel ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,6 +22,7 @@ (define-module (guix build qt-build-system) #:use-module ((guix build cmake-build-system) #:prefix cmake:) #:use-module (guix build utils) + #:use-module (guix build qt-utils) #:use-module (ice-9 match) #:use-module (ice-9 regex) #:use-module (ice-9 ftw) @@ -47,73 +48,10 @@ (setenv "CTEST_OUTPUT_ON_FAILURE" "1") #t) -(define (variables-for-wrapping base-directories) - - (define (collect-sub-dirs base-directories subdirectory) - (filter-map - (lambda (dir) - (let ((directory (string-append dir subdirectory))) - (if (directory-exists? directory) directory #f))) - base-directories)) - - (filter - (lambda (var-to-wrap) (not (null? (last var-to-wrap)))) - (map - (lambda (var-spec) - `(,(first var-spec) = ,(collect-sub-dirs base-directories (last var-spec)))) - (list - ;; these shall match the search-path-specification for Qt and KDE - ;; libraries - '("XDG_DATA_DIRS" "/share") - '("XDG_CONFIG_DIRS" "/etc/xdg") - '("QT_PLUGIN_PATH" "/lib/qt5/plugins") - '("QML2_IMPORT_PATH" "/lib/qt5/qml"))))) - -(define* (wrap-all-programs #:key inputs outputs - (qt-wrap-excluded-outputs '()) - #:allow-other-keys) - "Implement phase \"qt-wrap\": look for GSettings schemas and -gtk+-v.0 libraries and create wrappers with suitably set environment variables -if found. - -Wrapping is not applied to outputs whose name is listed in -QT-WRAP-EXCLUDED-OUTPUTS. This is useful when an output is known not -to contain any Qt binaries, and where wrapping would gratuitously -add a dependency of that output on Qt." - (define (find-files-to-wrap directory) - (append-map - (lambda (dir) - (if (directory-exists? dir) (find-files dir ".*") (list))) - (list (string-append directory "/bin") - (string-append directory "/sbin") - (string-append directory "/libexec") - (string-append directory "/lib/libexec")))) - - (define input-directories - ;; FIXME: Filter out unwanted inputs, e.g. cmake - (match inputs - (((_ . dir) ...) - dir))) - - (define handle-output - (match-lambda - ((output . directory) - (unless (member output qt-wrap-excluded-outputs) - (let ((bin-list (find-files-to-wrap directory)) - (vars-to-wrap (variables-for-wrapping - (append (list directory) - input-directories)))) - (when (not (null? vars-to-wrap)) - (for-each (cut apply wrap-program <> vars-to-wrap) - bin-list))))))) - - (for-each handle-output outputs) - #t) - (define %standard-phases (modify-phases cmake:%standard-phases (add-before 'check 'check-setup check-setup) - (add-after 'install 'qt-wrap wrap-all-programs))) + (add-after 'install 'qt-wrap wrap-all-qt-programs))) (define* (qt-build #:key inputs (phases %standard-phases) #:allow-other-keys #:rest args) diff --git a/guix/build/qt-utils.scm b/guix/build/qt-utils.scm index d2486ee86c..3fbdb6be61 100644 --- a/guix/build/qt-utils.scm +++ b/guix/build/qt-utils.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 David Craven +;;; Copyright © 2019, 2020, 2021 Hartmut Goebel ;;; ;;; This file is part of GNU Guix. ;;; @@ -18,23 +19,87 @@ (define-module (guix build qt-utils) #:use-module (guix build utils) - #:export (wrap-qt-program)) - -(define (wrap-qt-program out program) - (define (suffix env-var path) - (let ((env-val (getenv env-var))) - (if env-val (string-append env-val ":" path) path))) - - (let ((qml-path (suffix "QML2_IMPORT_PATH" - (string-append out "/lib/qt5/qml"))) - (plugin-path (suffix "QT_PLUGIN_PATH" - (string-append out "/lib/qt5/plugins"))) - (xdg-data-path (suffix "XDG_DATA_DIRS" - (string-append out "/share"))) - (xdg-config-path (suffix "XDG_CONFIG_DIRS" - (string-append out "/etc/xdg")))) - (wrap-program (string-append out "/bin/" program) - `("QML2_IMPORT_PATH" = (,qml-path)) - `("QT_PLUGIN_PATH" = (,plugin-path)) - `("XDG_DATA_DIRS" = (,xdg-data-path)) - `("XDG_CONFIG_DIRS" = (,xdg-config-path))))) + #:use-module (ice-9 match) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:export (wrap-qt-program + wrap-all-qt-programs)) + + +(define (variables-for-wrapping base-directories) + + (define (collect-sub-dirs base-directories subdirectory) + (filter-map + (lambda (dir) + (let ((directory (string-append dir subdirectory))) + (if (directory-exists? directory) directory #f))) + base-directories)) + + (filter + (lambda (var-to-wrap) (not (null? (last var-to-wrap)))) + (map + (lambda (var-spec) + `(,(first var-spec) = ,(collect-sub-dirs base-directories (last var-spec)))) + (list + ;; these shall match the search-path-specification for Qt and KDE + ;; libraries + '("XDG_DATA_DIRS" "/share") + '("XDG_CONFIG_DIRS" "/etc/xdg") + '("QT_PLUGIN_PATH" "/lib/qt5/plugins") + '("QML2_IMPORT_PATH" "/lib/qt5/qml"))))) + + +(define* (wrap-qt-program* program #:key inputs output-dir) + + (define input-directories + ;; FIXME: Filter out unwanted inputs, e.g. cmake + (match inputs + (((_ . dir) ...) + dir))) + + (let ((vars-to-wrap (variables-for-wrapping + (cons output-dir input-directories)))) + (when (not (null? vars-to-wrap)) + (apply wrap-program program vars-to-wrap)))) + + +(define* (wrap-qt-program program-name #:key inputs output) + "Wrap the specified programm (which must reside in the OUTPUT's \"/bin\" +directory) with suitably set environment variables. + +This is like qt-build-systems's phase \"qt-wrap\", but only the named program +is wrapped." + (wrap-qt-program* (string-append output "/bin/" program-name) + #:output-dir output #:inputs inputs)) + + +(define* (wrap-all-qt-programs #:key inputs outputs + (qt-wrap-excluded-outputs '()) + #:allow-other-keys) + "Implement qt-build-systems's phase \"qt-wrap\": look for executables in +\"bin\", \"sbin\" and \"libexec\" of all outputs and create wrappers with +suitably set environment variables if found. + +Wrapping is not applied to outputs whose name is listed in +QT-WRAP-EXCLUDED-OUTPUTS. This is useful when an output is known not +to contain any Qt binaries, and where wrapping would gratuitously +add a dependency of that output on Qt." + (define (find-files-to-wrap output-dir) + (append-map + (lambda (dir) + (if (directory-exists? dir) (find-files dir ".*") (list))) + (list (string-append output-dir "/bin") + (string-append output-dir "/sbin") + (string-append output-dir "/libexec") + (string-append output-dir "/lib/libexec")))) + + (define handle-output + (match-lambda + ((output . output-dir) + (unless (member output qt-wrap-excluded-outputs) + (for-each (cut wrap-qt-program* <> + #:output-dir output-dir #:inputs inputs) + (find-files-to-wrap output-dir)))))) + + (for-each handle-output outputs) + #t) -- cgit v1.2.3 From 88761285cfba437ee649b5092b380b7888c4087a Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Tue, 22 Jun 2021 10:58:51 -0400 Subject: gnu: Add pipe-viewer. * gnu/packages/video.scm (pipe-viewer): New variable. --- gnu/packages/video.scm | 109 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) (limited to 'gnu/packages/video.scm') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 74c8d3b253..f2c4335079 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -52,6 +52,7 @@ ;;; Copyright © 2021 David Wilson ;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2020 Hartmut Goebel +;;; Copyright © 2021 Raghav Gururajan ;;; ;;; This file is part of GNU Guix. ;;; @@ -179,6 +180,7 @@ #:use-module (gnu packages vulkan) #:use-module (gnu packages web) #:use-module (gnu packages webkit) + #:use-module (gnu packages wget) #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xiph) @@ -1021,6 +1023,113 @@ H.264 (MPEG-4 AVC) video streams.") (@command{mkvmerge}).") (license license:gpl2))) +(define-public pipe-viewer + (package + (name "pipe-viewer") + (version "0.1.2") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/trizen/pipe-viewer") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1d2gfkd3nc0c4ah67250lqskkd85wpljrikw8a378ni398ngaq14")))) + (build-system perl-build-system) + (arguments + `(#:imported-modules + ((guix build copy-build-system) + ,@%perl-build-system-modules) + #:modules + (((guix build copy-build-system) + #:prefix copy:) + (guix build perl-build-system) + (guix build utils) + (srfi srfi-26)) + #:module-build-flags + (list + "--gtk3") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda* (#:key inputs #:allow-other-keys) + (substitute* (find-files "." ".*-viewer$") + (("'ffmpeg'") + (format #f "'~a/bin/ffmpeg'" + (assoc-ref inputs "ffmpeg"))) + (("'wget'") + (format #f "'~a/bin/wget'" + (assoc-ref inputs "wget"))) + (("'xdg-open'") + (format #f "'~a/bin/xdg-open'" + (assoc-ref inputs "xdg-utils"))) + (("'youtube-dl'") + (format #f "'~a/bin/youtube-dl'" + (assoc-ref inputs "youtube-dl")))))) + (add-after 'install 'install-xdg + (lambda args + (apply (assoc-ref copy:%standard-phases 'install) + #:install-plan + '(("share/icons" "share/pixmaps") + ("share" "share/applications" + #:include-regexp ("\\.desktop$"))) + args))) + (add-after 'install-xdg 'wrap-programs + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin-dir (string-append out "/bin/")) + (site-dir (string-append out "/lib/perl5/site_perl/")) + (perl-lib (getenv "PERL5LIB")) + (gi-typelib (getenv "GI_TYPELIB_PATH"))) + (for-each + (cut wrap-program <> + `("PERL5LIB" ":" prefix (,perl-lib ,site-dir)) + `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib))) + (find-files bin-dir)))))))) + (native-inputs + `(("perl-module-build" ,perl-module-build) + ("perl-test-pod" ,perl-test-pod) + ("perl-test-simple" ,perl-test-simple))) + (inputs + `(("perl-data-dump" ,perl-data-dump) + ("perl-digest-md5" ,perl-digest-md5) + ("perl-encode" ,perl-encode) + ("ffmpeg" ,ffmpeg) + ("perl-file-path" ,perl-file-path) + ("perl-file-sharedir" ,perl-file-sharedir) + ("perl-getopt-long" ,perl-getopt-long) + ("perl-gtk3" ,perl-gtk3) + ("perl-http-message" ,perl-http-message) + ("perl-json" ,perl-json) + ("perl-json-xs" ,perl-json-xs) + ("perl-libwww" ,perl-libwww) + ("perl-lwp-protocol-https" ,perl-lwp-protocol-https) + ("perl-lwp-useragent-cached" ,perl-lwp-useragent-cached) + ("perl-memoize" ,perl-memoize) + ("perl-mime-base64" ,perl-mime-base64) + ("perl-pathtools" ,perl-pathtools) + ("perl-scalar-list-utils" ,perl-scalar-list-utils) + ("perl-storable" ,perl-storable) + ("perl-term-ansicolor" ,perl-term-ansicolor) + ("perl-term-readline-gnu" ,perl-term-readline-gnu) + ("perl-text-parsewords" ,perl-text-parsewords) + ("perl-text-tabs+wrap" ,perl-text-tabs+wrap) + ("perl-unicode-linebreak" ,perl-unicode-linebreak) + ("perl-uri-escape" ,perl-uri-escape) + ("wget" ,wget) + ("xdg-utils" ,xdg-utils) + ("youtube-dl" ,youtube-dl))) + (propagated-inputs + `(("dconf" ,dconf))) + (home-page "https://github.com/trizen/pipe-viewer") + (synopsis "CLI+GUI YouTube Client") + (description "Pipe-Viewer is a lightweight application for searching and +playing videos from YouTube. It parses the YouTube website directly and relies +on the Invidious instances only as a fallback method.") + (license license:artistic2.0))) + (define-public straw-viewer (package (name "straw-viewer") -- cgit v1.2.3 From e1fb55ab67e35d80da4af84516c086b84f316d58 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 24 Jun 2021 10:00:41 -0400 Subject: gnu: straw-viewer: Deprecate package. Upstream has replaced straw-viewer with pipe-viewer. Reference https://github.com/trizen/straw-viewer/commit/dc2dfe82 * gnu/packages/video.scm (straw-viewer): Deprecate in favour of pipe-viewer. --- gnu/packages/video.scm | 83 +------------------------------------------------- 1 file changed, 1 insertion(+), 82 deletions(-) (limited to 'gnu/packages/video.scm') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index f2c4335079..c02938db08 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1131,88 +1131,7 @@ on the Invidious instances only as a fallback method.") (license license:artistic2.0))) (define-public straw-viewer - (package - (name "straw-viewer") - (version "0.1.3") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/trizen/straw-viewer") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1n21byn7hqykpm94jmmnir1fwsskq6dp9wgj0bd2qf0qx5nq33cl")))) - (build-system perl-build-system) - (native-inputs - `(("perl-module-build" ,perl-module-build) - ("perl-test-pod" ,perl-test-pod))) - (inputs - `(("perl-data-dump" ,perl-data-dump) - ("perl-json" ,perl-json) - ("perl-libwww" ,perl-libwww) - ("perl-lwp-protocol-https" ,perl-lwp-protocol-https) - ("perl-lwp-useragent-cached" ,perl-lwp-useragent-cached) - ("perl-mozilla-ca" ,perl-mozilla-ca) - ("perl-term-readline-gnu" ,perl-term-readline-gnu) - ("perl-unicode-linebreak" ,perl-unicode-linebreak) - ("xdg-utils" ,xdg-utils))) - ;; Required only when building the graphical interface (--gtk). - ;;("perl-file-sharedir" ,perl-file-sharedir) - - ;; Some videos play without youtube-dl, but others silently fail to. - (propagated-inputs - `(("youtube-dl" ,youtube-dl))) - (arguments - `(#:modules ((guix build perl-build-system) - (guix build utils) - (srfi srfi-26)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'refer-to-inputs - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "lib/WWW/StrawViewer.pm" - (("'youtube-dl'") - (format #f "'~a/bin/youtube-dl'" - (assoc-ref inputs "youtube-dl")))) - (substitute* "bin/gtk-straw-viewer" - (("'xdg-open'") - (format #f "'~a/bin/xdg-open'" - (assoc-ref inputs "xdg-utils")))) - #t)) - ;; (add-after 'install 'install-desktop - ;; (lambda* (#:key outputs #:allow-other-keys) - ;; (let* ((out (assoc-ref outputs "out")) - ;; (sharedir (string-append out "/share"))) - ;; (install-file "share/gtk-straw-viewer.desktop" - ;; (string-append sharedir "/applications")) - ;; (install-file "share/icons/gtk-straw-viewer.png" - ;; (string-append sharedir "/pixmaps")) - ;; #t))) - (add-after 'install 'wrap-program - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin-dir (string-append out "/bin/")) - (site-dir (string-append out "/lib/perl5/site_perl/")) - (lib-path (getenv "PERL5LIB"))) - (for-each (cut wrap-program <> - `("PERL5LIB" ":" prefix (,lib-path ,site-dir))) - (find-files bin-dir)) - #t)))))) - (synopsis - "Light-weight application for searching and streaming videos from YouTube") - (description - "Straw-viewer searches for YouTube videos using @uref{https://invidio.us/, -invidio.us} and plays them locally in a native media player like @command{vlc} -or @command{mpv}. - -You can search for videos, playlists, and/or channels. The videos are streamed -directly to the player at the best chosen resolution and with closed captions if -available.") - ;; XXX Add #:module-build-flags '("--gtk") dependencies and this sentence. - ;; Both a command-line and a graphical interface are available. - (home-page "https://github.com/trizen/youtube-viewer") - (license license:perl-license))) + (deprecated-package "straw-viewer" pipe-viewer)) (define-public x265 (package -- cgit v1.2.3 From 0913843efc6531bdbed414321ad418a092ced7f6 Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Tue, 6 Jul 2021 18:36:25 +0000 Subject: gnu: mlt: Rename to mlt-6. * gnu/packages/video.scm (mlt): Rename to mlt-6. [build-system]: Use cmake-build-system. [arguments]: Remove #:make-flags. Adjust 'override-LDFLAGS phase. {#:configure-flags}: Remove --enable-gpl3 and --enable-gpl. Set "GTK2_GDKCONFIG_INCLUDE_DIR" and "GTK2_GLIBCONFIG_INCLUDE_DIR". (shotcut): Use mlt-6. * gnu/packages/animation.scm (synfig): Use mlt-6. * gnu/packages/kde.scm (kdenlive): Use mlt-6. This change is to add MLT 7 which will be done in the next commit. Signed-off-by: Leo Famulari --- gnu/packages/animation.scm | 2 +- gnu/packages/kde.scm | 2 +- gnu/packages/video.scm | 31 +++++++++++++++---------------- 3 files changed, 17 insertions(+), 18 deletions(-) (limited to 'gnu/packages/video.scm') diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm index bf44f3b8a9..653f37f1a7 100644 --- a/gnu/packages/animation.scm +++ b/gnu/packages/animation.scm @@ -178,7 +178,7 @@ C++ @dfn{Standard Template Library} (STL).") ("imagemagick" ,imagemagick) ("libxml++" ,libxml++) ("libsigc++" ,libsigc++) - ("mlt" ,mlt) + ("mlt" ,mlt-6) ("openexr" ,openexr) ("pango" ,pango))) (native-inputs diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index ebbae237f8..e81abc3abe 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -242,7 +242,7 @@ browser for easy news reading.") ("frei0r-plugins" ,frei0r-plugins) ("ffmpeg" ,ffmpeg) ("rttr" ,rttr) - ("mlt" ,mlt) + ("mlt" ,mlt-6) ("qtbase" ,qtbase-5) ("qtscript" ,qtscript) ("qtsvg" ,qtsvg) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index c02938db08..de69ff1c8b 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -3014,7 +3014,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.") "This package provides a command-line interface for Twitch.tv") (license license:gpl3+)))) -(define-public mlt +(define-public mlt-6 (package (name "mlt") (version "6.26.1") @@ -3027,25 +3027,24 @@ from sites like Twitch.tv and pipes them into a video player of choice.") (sha256 (base32 "1gz79xvs5jrzqhwhfk0dqdd3xiavnjp4q957h7nb02rij32byb39")))) - (build-system gnu-build-system) + (build-system cmake-build-system) (arguments - `(#:tests? #f ; no tests - #:make-flags '(,(string-append "CC=" (cc-for-target)) - ,(string-append "CXX=" (cxx-for-target))) + `(#:tests? #f ;no tests #:configure-flags - (list "--enable-gpl3" - "--enable-gpl") + (list (string-append "-DGTK2_GDKCONFIG_INCLUDE_DIR=" + (assoc-ref %build-inputs "gtk+") + "/lib/gtk-2.0/include") + (string-append "-DGTK2_GLIBCONFIG_INCLUDE_DIR=" + (assoc-ref %build-inputs "glib") + "/lib/glib-2.0/include")) #:phases (modify-phases %standard-phases - (add-after - 'configure 'override-LDFLAGS + (add-before 'configure 'override-LDFLAGS (lambda* (#:key outputs #:allow-other-keys) - (substitute* "config.mak" - (("LDFLAGS\\+=") - (string-append "LDFLAGS+=-Wl,-rpath=" - (assoc-ref outputs "out") - "/lib "))) - #t))))) + (setenv "LDFLAGS" + (string-append + "-Wl,-rpath=" + (assoc-ref outputs "out") "/lib"))))))) (inputs `(("alsa-lib" ,alsa-lib) ("alsa-plugins" ,alsa-plugins "pulseaudio") @@ -4705,7 +4704,7 @@ transitions, and effects and then export your film to many common formats.") ("lame" ,lame) ("libvpx" ,libvpx) ("libx264" ,libx264) - ("mlt" ,mlt) + ("mlt" ,mlt-6) ("pulseaudio" ,pulseaudio) ("qtbase" ,qtbase-5) ("qtdeclarative" ,qtdeclarative) -- cgit v1.2.3 From 37ce56af34c5067edae77e172e3d8409321650d8 Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Tue, 6 Jul 2021 18:36:26 +0000 Subject: gnu: Add MLT 7. * gnu/packages/video.scm (mlt): New variable. (mlt-6): Inherit from above. Signed-off-by: Leo Famulari --- gnu/packages/video.scm | 60 +++++++++++++++++++++++++++++++++----------------- 1 file changed, 40 insertions(+), 20 deletions(-) (limited to 'gnu/packages/video.scm') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index de69ff1c8b..5503bebe17 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -3014,29 +3014,22 @@ from sites like Twitch.tv and pipes them into a video player of choice.") "This package provides a command-line interface for Twitch.tv") (license license:gpl3+)))) -(define-public mlt-6 +(define-public mlt (package (name "mlt") - (version "6.26.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/mltframework/mlt") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1gz79xvs5jrzqhwhfk0dqdd3xiavnjp4q957h7nb02rij32byb39")))) + (version "7.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mltframework/mlt") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "13c5miph9jjbz69dhy0zvbkk5zbb05dr3vraaci0d5fdbrlhyscf")))) (build-system cmake-build-system) (arguments - `(#:tests? #f ;no tests - #:configure-flags - (list (string-append "-DGTK2_GDKCONFIG_INCLUDE_DIR=" - (assoc-ref %build-inputs "gtk+") - "/lib/gtk-2.0/include") - (string-append "-DGTK2_GLIBCONFIG_INCLUDE_DIR=" - (assoc-ref %build-inputs "glib") - "/lib/glib-2.0/include")) + `(#:tests? #f ;requires "Kwalify" #:phases (modify-phases %standard-phases (add-before 'configure 'override-LDFLAGS @@ -3052,7 +3045,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.") ("fftw" ,fftw) ("frei0r-plugins" ,frei0r-plugins) ("gdk-pixbuf" ,gdk-pixbuf) - ("gtk+" ,gtk+-2) + ("gtk+" ,gtk+) ("libxml2" ,libxml2) ("jack" ,jack-1) ("ladspa" ,ladspa) @@ -3081,6 +3074,33 @@ functionality of the system is provided via an assortment of ready to use tools, XML authoring components, and an extensible plug-in based API.") (license license:lgpl2.1+))) +(define-public mlt-6 + (package + (inherit mlt) + (name "mlt") + (version "6.26.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mltframework/mlt") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1gz79xvs5jrzqhwhfk0dqdd3xiavnjp4q957h7nb02rij32byb39")))) + (arguments + `(#:configure-flags + (list (string-append "-DGTK2_GDKCONFIG_INCLUDE_DIR=" + (assoc-ref %build-inputs "gtk+") + "/lib/gtk-2.0/include") + (string-append "-DGTK2_GLIBCONFIG_INCLUDE_DIR=" + (assoc-ref %build-inputs "glib") + "/lib/glib-2.0/include")) + ,@(package-arguments mlt))) + (inputs + `(("gtk+", gtk+-2) + ,@(alist-delete "gtk+" (package-inputs mlt)))))) + (define-public v4l-utils (package (name "v4l-utils") -- cgit v1.2.3 From 2252abce0525a5ce0921e5feb0872d982515f77c Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Tue, 6 Jul 2021 18:36:27 +0000 Subject: gnu: shotcut: Update to 21.06.29. * gnu/packages/video.scm (shotcut): Update to 21.06.29. [arguments]{#:phases}: Don't return #t. [inputs]: Use MLT 7. Signed-off-by: Leo Famulari --- gnu/packages/video.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'gnu/packages/video.scm') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 5503bebe17..2dc6fecb49 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -4672,7 +4672,7 @@ transitions, and effects and then export your film to many common formats.") (define-public shotcut (package (name "shotcut") - (version "21.03.21") + (version "21.06.29") (source (origin (method git-fetch) @@ -4681,7 +4681,7 @@ transitions, and effects and then export your film to many common formats.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0jb488vynn0vmq22z51bg4hb4617732nva9rg52lzl89v5n8gmsi")))) + (base32 "0384iv2129mpalia39x8mn5xlbgx9ip994700jzjjxdqfq23a9qm")))) (build-system qt-build-system) (arguments `(#:tests? #f ;there are no tests @@ -4710,8 +4710,7 @@ transitions, and effects and then export your film to many common formats.") `("FREI0R_PATH" ":" = (,(string-append frei0r "/lib/frei0r-1/"))) `("MLT_PREFIX" ":" = - (,(assoc-ref inputs "mlt"))))) - #t))))) + (,(assoc-ref inputs "mlt")))))))))) (native-inputs `(("pkg-config" ,pkg-config) ("python" ,python-wrapper) @@ -4724,7 +4723,7 @@ transitions, and effects and then export your film to many common formats.") ("lame" ,lame) ("libvpx" ,libvpx) ("libx264" ,libx264) - ("mlt" ,mlt-6) + ("mlt" ,mlt) ("pulseaudio" ,pulseaudio) ("qtbase" ,qtbase-5) ("qtdeclarative" ,qtdeclarative) -- cgit v1.2.3 From 7db8fd6e7290d16b94ea05f567222ce2b5ef2593 Mon Sep 17 00:00:00 2001 From: Jack Hill Date: Wed, 14 Jul 2021 16:06:29 -0400 Subject: gnu: ffmpeg: Enable vaapi. * gnu/packages/video.scm (ffmpeg)[arguments]: Add --enable-vaapi to configure-flags. Signed-off-by: Leo Famulari --- gnu/packages/video.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu/packages/video.scm') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 2dc6fecb49..f19bdc7ef6 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1598,6 +1598,7 @@ operate properly.") "--enable-openal" "--enable-opengl" "--enable-libdrm" + "--enable-vaapi" "--enable-runtime-cpudetect" -- cgit v1.2.3