Subject: [bug#78197] [PATCH v2] gnu: Add kasts.

From: Z572 <[email-masked]>
Date: Fri, 02 May 2025 02:12:23 +0800

Sergio Pastor Pérez <[email-masked]> writes:

> * gnu/packages/kde.scm (kasts): New variable.
>
> Change-Id: I2ae98c73b91bbdd34a60f2180c59257f26728321
> ---
>  gnu/packages/kde.scm | 69 +++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 68 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
> index cf9b0a5298..5e46e322e1 100644
> --- a/gnu/packages/kde.scm
> +++ b/gnu/packages/kde.scm
> @@ -80,7 +80,7 @@ (define-module (gnu packages kde)
>    #:use-module (gnu packages gnome)
>    #:use-module (gnu packages gperf)
>    #:use-module (gnu packages gps)
> -  #:use-module (gnu packages graphics)
> +  #:use-module (gnu packages gstreamer)
>    #:use-module (gnu packages gtk)
>    #:use-module (gnu packages image)
>    #:use-module (gnu packages image-processing)
> @@ -115,6 +115,7 @@ (define-module (gnu packages kde)
>    #:use-module (gnu packages tls)
>    #:use-module (gnu packages unicode)
>    #:use-module (gnu packages version-control)
> +  #:use-module (gnu packages vulkan)
>    #:use-module (gnu packages video)
>    #:use-module (gnu packages xdisorg)
>    #:use-module (gnu packages xml)
> @@ -572,6 +573,72 @@ (define-public kapptemplate
>  @end itemize")
>      (license license:gpl2+)))
>  
> +(define-public kasts
> +  (package
> +    (name "kasts")
> +    (version "25.03.90")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url "https://invent.kde.org/multimedia/kasts")

Between multimedia/kasts
I think it might be better to put it in (gnu packages kde-multimedia)

> +             (commit (string-append "v" version))))
> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32 "094q0yc8ljpkryd0vwwh4ljvk101qr63siwxacm1dgmhyi95262k"))))
> +    (build-system qt-build-system)
> +    (native-inputs (list pkg-config extra-cmake-modules))
> +    (inputs (list bash-minimal
> +                  breeze-icons
> +                  gstreamer
> +                  kcolorscheme
> +                  kcoreaddons
> +                  kcrash
> +                  kdbusaddons
> +                  ki18n
> +                  kiconthemes
> +                  kirigami
> +                  kirigami-addons
> +                  kwindowsystem
> +                  libxkbcommon
> +                  python
> +                  qqc2-desktop-style
> +                  qtdeclarative
> +                  qtkeychain-qt6
> +                  qtmultimedia
> +                  qtsvg
> +                  sonnet
> +                  syndication
> +                  taglib
> +                  threadweaver
> +                  vlc
> +                  vulkan-headers
> +                  vulkan-loader))
> +    (arguments
> +     (list
> +      #:qtbase qtbase
> +      #:phases
> +      #~(modify-phases %standard-phases
> +          (add-after 'install 'wrap-program
> +            (lambda _
> +              (wrap-program (string-append #$output "/bin/kasts")
> +                `("QML_IMPORT_PATH" ":" prefix
> +                  ,(list (string-append #$output "/lib/qt6/qml")))))))))
why need it? I remember qt-wrap phase will do this.

> +    (home-page "https://apps.kde.org/kasts")
> +    (synopsis "Convergent podcast client")
> +    (description
> +     "Kasts is a convergent podcast application that looks good on
> +desktop and mobile.
> +
> +Its main features are:
> +- Episode management through play queue
> +- Sync playback positions with other clients through gpodder.net or
> +  gpodder-nextcloud
> +- Variable playback speed
> +- Search for podcasts
> +- Full system integration: e.g. inhibit system suspend while listening")
> +    (license license:gpl2)))

It seems to be lgpl2.1+ and gpl2+. 

Haven't tested, but the others look good.

> +
>  (define-public kdevelop
>    (package
>      (name "kdevelop")