diff mbox series

[bug#53311] gnu: kdenlive: Update to 21.12.1.

Message ID 20220116235713.243223-1-monego@posteo.net
State Accepted
Headers show
Series [bug#53311] gnu: kdenlive: Update to 21.12.1. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Vinicius Monego Jan. 16, 2022, 11:57 p.m. UTC
* gnu/packages/kde.scm (kdenlive): Update to 21.12.1.
---
 gnu/packages/kde.scm | 149 +++++++++++++++++++++----------------------
 1 file changed, 74 insertions(+), 75 deletions(-)


base-commit: 36f4745dc10e5d0e8b2a62cd2c8439629debae4f

Comments

M Jan. 17, 2022, 12:03 p.m. UTC | #1
Hi,

Vinicius Monego schreef op zo 16-01-2022 om 23:57 [+0000]:
> +    (synopsis "Non-linear video editor")
> +    (description "Kdenlive is an acronym for KDE Non-Linear Video Editor.
>  
>  Non-linear video editing is much more powerful than beginner's (linear)
>  editors, hence it requires a bit more organization before starting.  However,
>  it is not reserved to specialists and can be used for small personal
>  projects.")
> -      (license license:gpl2+))))
> +    (license license:gpl2+)))

Looking at ./data/resourceproviders/freesound.json and
./src/onlineresources/providermodel.cpp, kdenlive sometimes accesses
the network, possibly using TLS.  Because the Qt stack uses OpenSSL,
SSL_CERT_DIR or SSL_CERT_FILE would need to be added to
native-search-paths to make "guix shell --pure kdenlive nss-certs" work
(untested).

That seems to be a bug in the original package definition though.

Greetings,
Maxime.
M Jan. 17, 2022, 12:27 p.m. UTC | #2
Hi,

Vinicius Monego schreef op zo 16-01-2022 om 23:57 [+0000]:
> -                 (wrap-program (string-append out "/bin/kdenlive")
> -                   `("PATH" ":" prefix
> -                     ,(list (string-append ffmpeg "/bin")))
> -                   [...]
> [...]
> +               (wrap-program (string-append out "/bin/kdenlive")
> +                 `("PATH" ":" prefix
> +                   ,(list (string-append ffmpeg "/bin")))
> +                 [...]
> 
> 

'data/scripts/checkvosk.py' (called from
'src/dialogs/kdenlivesettingsdialog.cpp') has a call to 'python -m pip
install', can it be neutralised?

There are a few python scripts, are we missing 'python' in inputs?

'ffmpeg' is invoked from a few Python scripts and from C++ code, using
ffmpegpath.  So FWIW, the absolute path to 'ffmpeg' can be baked in
with a few substitute* and by adding a line to the following code
in src/core.cpp:

    if (isAppImage) {
        QString appPath = qApp->applicationDirPath();
        KdenliveSettings::setFfmpegpath(QDir::cleanPath(appPath + QStringLiteral("/ffmpeg")));
        KdenliveSettings::setFfplaypath(QDir::cleanPath(appPath + QStringLiteral("/ffplay")));
        KdenliveSettings::setFfprobepath(QDir::cleanPath(appPath + QStringLiteral("/ffprobe")));
        KdenliveSettings::setRendererpath(QDir::cleanPath(appPath + QStringLiteral("/melt")));
        m_mainWindow->init(QDir::cleanPath(appPath + QStringLiteral("/../share/mlt/profiles")));
    } else {
        // Open connection with Mlt
        m_mainWindow->init(MltPath);
        // setFfmpegpath and the like can be set here!
    }

YMMW whether this is an improvement or not.

Greetings,
Maxime.
Nicolas Goaziou Jan. 28, 2022, 10:12 a.m. UTC | #3
Hello,

Vinicius Monego <monego@posteo.net> writes:

> * gnu/packages/kde.scm (kdenlive): Update to 21.12.1.

LGTM!

Regards,
Vinicius Monego Feb. 2, 2022, 2:19 p.m. UTC | #4
Em seg, 2022-01-17 às 12:27 +0000, Maxime Devos escreveu:
> Hi,
> 
> Vinicius Monego schreef op zo 16-01-2022 om 23:57 [+0000]:
> > -                 (wrap-program (string-append out "/bin/kdenlive")
> > -                   `("PATH" ":" prefix
> > -                     ,(list (string-append ffmpeg "/bin")))
> > -                   [...]
> > [...]
> > +               (wrap-program (string-append out "/bin/kdenlive")
> > +                 `("PATH" ":" prefix
> > +                   ,(list (string-append ffmpeg "/bin")))
> > +                 [...]
> > 
> > 
> 
> 'data/scripts/checkvosk.py' (called from
> 'src/dialogs/kdenlivesettingsdialog.cpp') has a call to 'python -m
> pip
> install', can it be neutralised?
> 
> There are a few python scripts, are we missing 'python' in inputs?
> 

The python scripts are related to Vosk. The feature can be accessed
from Settings => Configure Kdenlive => Speech to Text. It contains a
warning and a button "Install missing dependencies", and nothing
happens when it's clicked. Nothing relevant in the logs. This feature
can't be enabled as is, so the files won't do anything.

> 'ffmpeg' is invoked from a few Python scripts and from C++ code,
> using
> ffmpegpath.  So FWIW, the absolute path to 'ffmpeg' can be baked in
> with a few substitute* and by adding a line to the following code
> in src/core.cpp:
> 
>     if (isAppImage) {
>         QString appPath = qApp->applicationDirPath();
>         KdenliveSettings::setFfmpegpath(QDir::cleanPath(appPath +
> QStringLiteral("/ffmpeg")));
>         KdenliveSettings::setFfplaypath(QDir::cleanPath(appPath +
> QStringLiteral("/ffplay")));
>         KdenliveSettings::setFfprobepath(QDir::cleanPath(appPath +
> QStringLiteral("/ffprobe")));
>         KdenliveSettings::setRendererpath(QDir::cleanPath(appPath +
> QStringLiteral("/melt")));
>         m_mainWindow->init(QDir::cleanPath(appPath +
> QStringLiteral("/../share/mlt/profiles")));
>     } else {
>         // Open connection with Mlt
>         m_mainWindow->init(MltPath);
>         // setFfmpegpath and the like can be set here!
>     }
> 
> YMMW whether this is an improvement or not.

I'm not sure where kdenlive calls ffmpeg, but rendering a project works
via 'melt', with the correct path being displayed in the logs.

I tested this build again and it's segfaulting when I try drag an
effect into the video, which doesn't happen in 21.08.3.

Seems that this package needs some work before it's production ready. I
will keep this issue open while I investigate.

> 
> Greetings,
> Maxime.
Ludovic Courtès April 5, 2022, 4:22 p.m. UTC | #5
Hi Vinicius,

Could you take a look and push this one?

TIA! :-)

Ludo’.

Nicolas Goaziou <mail@nicolasgoaziou.fr> skribis:

> Hello,
>
> Vinicius Monego <monego@posteo.net> writes:
>
>> * gnu/packages/kde.scm (kdenlive): Update to 21.12.1.
>
> LGTM!
>
> Regards,
Vinicius Monego April 5, 2022, 5:37 p.m. UTC | #6
Hi Ludo,

I pushed an update to 21.12.3 a while ago which fixes the issues I
reported in this thread. I left this open because of Maxime's
suggestions about SSL_CERT_DIR and Vosk, I wanted to hear more opinions
on it. If the package is fine as is, it's safe to close this issue.

Em ter, 2022-04-05 às 18:22 +0200, Ludovic Courtès escreveu:
> Hi Vinicius,
> 
> Could you take a look and push this one?
> 
> TIA! :-)
> 
> Ludo’.
> 
> Nicolas Goaziou <mail@nicolasgoaziou.fr> skribis:
> 
> > Hello,
> > 
> > Vinicius Monego <monego@posteo.net> writes:
> > 
> > > * gnu/packages/kde.scm (kdenlive): Update to 21.12.1.
> > 
> > LGTM!
> > 
> > Regards,
Ludovic Courtès April 6, 2022, 8:14 a.m. UTC | #7
Hi,

Vinicius Monego <monego@posteo.net> skribis:

> I pushed an update to 21.12.3 a while ago which fixes the issues I
> reported in this thread. I left this open because of Maxime's
> suggestions about SSL_CERT_DIR and Vosk, I wanted to hear more opinions
> on it. If the package is fine as is, it's safe to close this issue.

Oops, sorry for the confusion.  For clarity, I think it’s best to close
it and to open a separate issue if there’s one.

Thanks!

Ludo’.
Vinicius Monego Aug. 21, 2022, 10:28 p.m. UTC | #8
Em qua, 2022-04-06 às 10:14 +0200, Ludovic Courtès escreveu:
> Hi,
> 
> Vinicius Monego <monego@posteo.net> skribis:
> 
> > I pushed an update to 21.12.3 a while ago which fixes the issues I
> > reported in this thread. I left this open because of Maxime's
> > suggestions about SSL_CERT_DIR and Vosk, I wanted to hear more
> > opinions
> > on it. If the package is fine as is, it's safe to close this issue.
> 
> Oops, sorry for the confusion.  For clarity, I think it’s best to
> close
> it and to open a separate issue if there’s one.
> 
> Thanks!
> 
> Ludo’.
> 

OK, closing this one now.

Vinicius
diff mbox series

Patch

diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 8dfcba1388..5379082f49 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -14,7 +14,7 @@ 
 ;;; Copyright © 2020, 2021, 2022 Zheng Junjie <873216071@qq.com>
 ;;; Copyright © 2021 Alexandros Theodotou <alex@zrythm.org>
 ;;; Copyright © 2021 la snesne <lasnesne@lagunposprasihopre.org>
-;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2021, 2022 Vinicius Monego <monego@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -219,85 +219,84 @@  browser for easy news reading.")
     (license license:gpl2+)))
 
 (define-public kdenlive
-  (let ((version "21.08.3"))
-    (package
-      (name "kdenlive")
-      (version version)
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://invent.kde.org/multimedia/kdenlive")
-               (commit (string-append "v" version))))
-         (file-name (string-append name "-" version "-checkout"))
-         (sha256
-          (base32 "0lpspak5djkbn2xbmmbxls258310g45n3a08sghkjl08bx6ilvc9"))))
-      (build-system qt-build-system)
-      (native-inputs
-       (list extra-cmake-modules pkg-config qttools))
-      (inputs
-       (list breeze ; make dark them available easily
-             breeze-icons ; recommended icon set
-             ffmpeg
-             frei0r-plugins
-             karchive
-             kcrash
-             kdbusaddons
-             kdeclarative
-             kdoctools
-             kfilemetadata
-             kguiaddons
-             kiconthemes
-             knewstuff
-             knotifications
-             knotifyconfig
-             kparts
-             kplotting
-             mlt
-             purpose
-             qtbase-5
-             qtdeclarative
-             qtgraphicaleffects
-             qtmultimedia
-             qtnetworkauth
-             qtquickcontrols
-             qtquickcontrols2
-             qtscript
-             qtsvg
-             qtwebkit
-             shared-mime-info))
-      (arguments
-       ;; XXX: there is a single test that spawns other tests and
-       ;; 1/3 tests failed and 1/327 assertions failed.  It seems
-       ;; that individual tests can't be skipped.
-       `(#:configure-flags (list "-DBUILD_TESTING=off")
-         #:tests? #f
-         #:phases
-         (modify-phases %standard-phases
-           (add-after 'install 'wrap-executable
-             (lambda* (#:key inputs outputs #:allow-other-keys)
-               (let* ((out (assoc-ref outputs "out"))
-                      (qtbase (assoc-ref inputs "qtbase"))
-                      (frei0r (assoc-ref inputs "frei0r-plugins"))
-                      (ffmpeg (assoc-ref inputs "ffmpeg")))
-                 (wrap-program (string-append out "/bin/kdenlive")
-                   `("PATH" ":" prefix
-                     ,(list (string-append ffmpeg "/bin")))
-                   `("FREI0R_PATH" ":" =
-                     (,(string-append frei0r "/lib/frei0r-1/")))
-                   `("QT_QPA_PLATFORM_PLUGIN_PATH" ":" =
-                     (,(string-append qtbase "/lib/qt5/plugins/platforms")))
-                   `("MLT_PREFIX" ":" =
-                     (,(assoc-ref inputs "mlt"))))))))))
-      (home-page "https://kdenlive.org")
-      (synopsis "Non-linear video editor")
-      (description "Kdenlive is an acronym for KDE Non-Linear Video Editor.
+  (package
+    (name "kdenlive")
+    (version "21.12.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://invent.kde.org/multimedia/kdenlive")
+             (commit (string-append "v" version))))
+       (file-name (string-append name "-" version "-checkout"))
+       (sha256
+        (base32 "13pw4axqb750f3sl87kwxsvmhc3ydr9c8h7rmpvj7p72va9375s2"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules pkg-config qttools))
+    (inputs
+     (list breeze                       ; make dark them available easily
+           breeze-icons                 ; recommended icon set
+           ffmpeg
+           frei0r-plugins
+           karchive
+           kcrash
+           kdbusaddons
+           kdeclarative
+           kdoctools
+           kfilemetadata
+           kguiaddons
+           kiconthemes
+           knewstuff
+           knotifications
+           knotifyconfig
+           kparts
+           kplotting
+           mlt
+           purpose
+           qtbase-5
+           qtdeclarative
+           qtgraphicaleffects
+           qtmultimedia
+           qtnetworkauth
+           qtquickcontrols
+           qtquickcontrols2
+           qtscript
+           qtsvg
+           qtwebkit
+           shared-mime-info))
+    (arguments
+     ;; XXX: there is a single test that spawns other tests and
+     ;; 1/3 tests failed and 1/327 assertions failed.  It seems
+     ;; that individual tests can't be skipped.
+     `(#:configure-flags (list "-DBUILD_TESTING=off")
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'wrap-executable
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (qtbase (assoc-ref inputs "qtbase"))
+                    (frei0r (assoc-ref inputs "frei0r-plugins"))
+                    (ffmpeg (assoc-ref inputs "ffmpeg")))
+               (wrap-program (string-append out "/bin/kdenlive")
+                 `("PATH" ":" prefix
+                   ,(list (string-append ffmpeg "/bin")))
+                 `("FREI0R_PATH" ":" =
+                   (,(string-append frei0r "/lib/frei0r-1/")))
+                 `("QT_QPA_PLATFORM_PLUGIN_PATH" ":" =
+                   (,(string-append qtbase "/lib/qt5/plugins/platforms")))
+                 `("MLT_PREFIX" ":" =
+                   (,(assoc-ref inputs "mlt"))))))))))
+    (home-page "https://kdenlive.org")
+    (synopsis "Non-linear video editor")
+    (description "Kdenlive is an acronym for KDE Non-Linear Video Editor.
 
 Non-linear video editing is much more powerful than beginner's (linear)
 editors, hence it requires a bit more organization before starting.  However,
 it is not reserved to specialists and can be used for small personal
 projects.")
-      (license license:gpl2+))))
+    (license license:gpl2+)))
 
 (define-public kdevelop
   (package