[bug#76015] gnu: haruna: Fix finding yt-dlp.

Message ID 496405a5240077ac386b932d2498d6ebbe4d0af2.1738512741.git.sughosha@disroot.org
State New
Headers
Series [bug#76015] gnu: haruna: Fix finding yt-dlp. |

Commit Message

Sughosha Feb. 2, 2025, 4:12 p.m. UTC
* gnu/packages/kde-multimedia.scm (yt-dlp)[arguments]<#:phases>: Add wrap-path.

Change-Id: I4f2f7303b02441399c042d4bdd8e7586adfd9fe3
---
 gnu/packages/kde-multimedia.scm | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)


base-commit: 070c073d508d3197f0235adc424aec287e7dd916
  

Comments

Z572 Feb. 6, 2025, 5:17 p.m. UTC | #1
Sughosha via Guix-patches via <guix-patches@gnu.org> writes:

> * gnu/packages/kde-multimedia.scm (yt-dlp)[arguments]<#:phases>: Add wrap-path.
>
> Change-Id: I4f2f7303b02441399c042d4bdd8e7586adfd9fe3
> ---
>  gnu/packages/kde-multimedia.scm | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
> index ad0b504268..4d859cdedb 100644
> --- a/gnu/packages/kde-multimedia.scm
> +++ b/gnu/packages/kde-multimedia.scm
> @@ -156,7 +156,15 @@ (define-public haruna
>                 (base32 "0gvwsxlrwn2s6i4agmwa0r1lq1fybfyxv933g2z3n76qnn9mkbrb"))))
>      (build-system qt-build-system)
>      (arguments
> -     (list #:qtbase qtbase))
> +     (list #:qtbase qtbase
> +           #:phases
> +           #~(modify-phases %standard-phases
> +               (add-after 'qt-wrap 'wrap-path
> +                 (lambda _
> +                   (wrap-program (string-append #$output "/bin/haruna")
> +                     `("PATH" ":" prefix
> +                       (,(string-append #$(this-package-input "yt-dlp")
> +                                       "/bin")))))))))

see src/application.cpp
QString Application::youtubeDlExecutable()
{
    auto ytDlp = QStandardPaths::findExecutable(u"yt-dlp"_s);
    if (!ytDlp.isEmpty()) {
        return ytDlp;
    }

    auto youtubeDl = QStandardPaths::findExecutable(u"youtube-dl"_s);
    if (!youtubeDl.isEmpty()) {
        return youtubeDl;
    }

    return QString();
}

It is better to replace findExecutable(u"yt-dlp"_s) with
findExecutable(u"/gnu/store/xxxx/bin/yt-dlp"_s)

>      (native-inputs
>       (list extra-cmake-modules))
>      (inputs
>
> base-commit: 070c073d508d3197f0235adc424aec287e7dd916
  

Patch

diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index ad0b504268..4d859cdedb 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -156,7 +156,15 @@  (define-public haruna
                (base32 "0gvwsxlrwn2s6i4agmwa0r1lq1fybfyxv933g2z3n76qnn9mkbrb"))))
     (build-system qt-build-system)
     (arguments
-     (list #:qtbase qtbase))
+     (list #:qtbase qtbase
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'qt-wrap 'wrap-path
+                 (lambda _
+                   (wrap-program (string-append #$output "/bin/haruna")
+                     `("PATH" ":" prefix
+                       (,(string-append #$(this-package-input "yt-dlp")
+                                       "/bin")))))))))
     (native-inputs
      (list extra-cmake-modules))
     (inputs