[PATCH] gnu: kdenlive: Update to 21.12.1.

OpenSubmitted by Vinicius Monego.
Details
4 participants
  • Ludovic Courtès
  • Nicolas Goaziou
  • Maxime Devos
  • Vinicius Monego
Owner
unassigned
Severity
normal
V
V
Vinicius Monego wrote on 17 Jan 00:57 +0100
(address . guix-patches@gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20220116235713.243223-1-monego@posteo.net
* gnu/packages/kde.scm (kdenlive): Update to 21.12.1.
---
gnu/packages/kde.scm | 149 +++++++++++++++++++++----------------------
1 file changed, 74 insertions(+), 75 deletions(-)

Toggle diff (176 lines)
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

base-commit: 36f4745dc10e5d0e8b2a62cd2c8439629debae4f
-- 
2.30.2
M
M
Maxime Devos wrote on 17 Jan 13:03 +0100
262d33b8dab79da8ff57a456944b858398ba22a1.camel@telenet.be
Hi,

Vinicius Monego schreef op zo 16-01-2022 om 23:57 [+0000]:
Toggle quote (10 lines)
> +    (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.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYeVbAhccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7p+SAP0feKhJyB5YKE7J9Jq68rUI/6HI
6vB9V14rRuZwN/mW0gD/WXIhqJQdjqFYSkcR+IpTvc4K8J65KepsKIuMT7gWsQ0=
=KjcN
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 17 Jan 13:27 +0100
4cdc6c79871e510b8f22b5d51647c42f537e551f.camel@telenet.be
Hi,

Vinicius Monego schreef op zo 16-01-2022 om 23:57 [+0000]:
Toggle quote (12 lines)
> -                 (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.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYeVgyhccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7iWmAQD8Xc7JVNmndv0wjN5m2RzDddGD
gc/6zD0TpoDjQcMIGgD/cYMS10tjWrwR2NLatsvSus01ORvQo3MWwos6/uitpQI=
=mn5g
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 24 Jan 10:24 +0100
control message for bug #53311
(address . control@debbugs.gnu.org)
87o841wkoh.fsf@gnu.org
tags 53311 + moreinfo
quit
N
N
Nicolas Goaziou wrote on 28 Jan 11:12 +0100
Re: [bug#53311] [PATCH] gnu: kdenlive: Update to 21.12.1.
(name . Vinicius Monego)(address . monego@posteo.net)(address . 53311@debbugs.gnu.org)
87mtjgtbhq.fsf@nicolasgoaziou.fr
Hello,

Vinicius Monego <monego@posteo.net> writes:

Toggle quote (2 lines)
> * gnu/packages/kde.scm (kdenlive): Update to 21.12.1.

LGTM!

Regards,
--
Nicolas Goaziou
V
V
Vinicius Monego wrote on 2 Feb 15:19 +0100
a9ee8938c3a297119a30c8903a2acbae4a7a483a.camel@posteo.net
Em seg, 2022-01-17 às 12:27 +0000, Maxime Devos escreveu:
Toggle quote (23 lines)
> 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.

Toggle quote (26 lines)
> '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.

Toggle quote (3 lines)
>
> Greetings,
> Maxime.
L
L
Ludovic Courtès wrote on 5 Apr 18:22 +0200
Re: bug#53311: [PATCH] gnu: kdenlive: Update to 21.12.1.
(name . Nicolas Goaziou)(address . mail@nicolasgoaziou.fr)
87k0c3lcu2.fsf_-_@gnu.org
Hi Vinicius,

Could you take a look and push this one?

TIA! :-)

Ludo’.

Nicolas Goaziou <mail@nicolasgoaziou.fr> skribis:

Toggle quote (9 lines)
> Hello,
>
> Vinicius Monego <monego@posteo.net> writes:
>
>> * gnu/packages/kde.scm (kdenlive): Update to 21.12.1.
>
> LGTM!
>
> Regards,
V
V
Vinicius Monego wrote on 5 Apr 19:37 +0200
(address . 53311@debbugs.gnu.org)
88d38eda68599844a3d14364aa58a6461a4139f2.camel@posteo.net
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:
Toggle quote (19 lines)
> 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,
L
L
Ludovic Courtès wrote on 6 Apr 10:14 +0200
(name . Vinicius Monego)(address . monego@posteo.net)
87zgkyhbmq.fsf@gnu.org
Hi,

Vinicius Monego <monego@posteo.net> skribis:

Toggle quote (5 lines)
> 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’.
?