Subject: [bug#59767] KDE diff tools

From: Maxim Cournoyer <[email-masked]>
Date: Tue, 21 Mar 2023 10:05:26 -0400

Hi,

phodina <[email-masked]> writes:

> Hi,
>
> these 2 patches add KDE diff tools. However, only the kdiff3 is
> working. Kcompare shows dialog with message: Could not load
> KcompareViewPart.
>
> Not sure how to fix that error atm.
>
> ----
> Petr
> From 6915606982b0944c96e49bce8970614860a1149d Mon Sep 17 00:00:00 2001
> From: Petr Hodina <[email-masked]>
> Date: Fri, 2 Dec 2022 09:06:53 +0100
> Subject: [PATCH 2/2] !gnu: Add kompare.
>
> * gnu/packages/kde-utils.scm (kompare): New variable.
>
> diff --git a/gnu/packages/kde-utils.scm b/gnu/packages/kde-utils.scm
> index 8348ece735..0232b660c1 100644
> --- a/gnu/packages/kde-utils.scm
> +++ b/gnu/packages/kde-utils.scm
> @@ -705,6 +705,28 @@ (define-public kirogi
>        (license ;GPL for programs, LGPL for libraries
>                 (list license:gpl2+ license:lgpl2.0)))))
>  
> +(define-public kompare
> +  (package
> +    (name "kompare")
> +    (version "22.08.1")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> +			  "https://invent.kde.org/sdk/kompare/-/archive/v" version "/kompare-v" version
> +			  ".tar.gz"))
> +              (sha256
> +               (base32
> +                "0fkdfkdfmfidxsjd9ygs09ncijpbnnczr4ixq4csgkr8rpbpmlf4"))))
> +	(build-system qt-build-system)
> +	(native-inputs (list extra-cmake-modules kdoctools))
> +	(inputs (list kcoreaddons kcodecs kiconthemes
> +  kjobwidgets kservice kconfig kparts ktexteditor kwidgetsaddons libkomparediff2))
> +	(home-page "https://invent.kde.org/sdk/kompare")
> +    (synopsis "Graphical File Differences Tool")
> +    (description "This package provides tool to show diffrences in
                                              ^tools    ^differences
> +files.")
> +(license license:gpl2+)))

Please run 'guix style' on this.  Also, at run time,  I get:

--8<---------------cut here---------------start------------->8---
$ /gnu/store/j2gp8aqd9xiwpwybwf5zj1zrc92mf8y1-kompare-22.08.1/bin/kompare 
kf.service.services: The desktop entry file "/run/current-system/profile/share/applications/qemu.desktop" has Type= "Application" but no Exec line
kf.service.sycoca: Invalid Service :  "/run/current-system/profile/share/applications/qemu.desktop"
kf.service.services: The desktop entry file "/home/maxim/.guix-profile/share/applications/qemu.desktop" has Type= "Application" but no Exec line
kf.service.sycoca: Invalid Service :  "/home/maxim/.guix-profile/share/applications/qemu.desktop"
kf.service.services: KServiceTypeTrader: serviceType "KParts/ReadOnlyPart" not found
--8<---------------cut here---------------end--------------->8---

and cannot use it.  Is it expected to only work inside a KDE
environment?

>  (define-public kontrast
>    (package
>      (name "kontrast")
> -- 
> 2.38.1
>
>
> From 1f25afd32d1ad6d4d242fd0abdf8d8626a8b72a8 Mon Sep 17 00:00:00 2001
> From: Petr Hodina <[email-masked]>
> Date: Fri, 2 Dec 2022 09:06:20 +0100
> Subject: [PATCH 1/2] gnu: Add kdiff3.
>
> * gnu/packages/kde-utils.scm (kdiff3): New variable.
>
> diff --git a/gnu/packages/kde-utils.scm b/gnu/packages/kde-utils.scm
> index 2742d6b846..8348ece735 100644
> --- a/gnu/packages/kde-utils.scm
> +++ b/gnu/packages/kde-utils.scm
> @@ -31,6 +31,7 @@ (define-module (gnu packages kde-utils)
>    #:use-module (gnu packages)
>    #:use-module (gnu packages backup)
>    #:use-module (gnu packages bash)
> +  #:use-module (gnu packages boost)
>    #:use-module (gnu packages cmake)
>    #:use-module (gnu packages compression)
>    #:use-module (gnu packages crypto)
> @@ -426,6 +427,33 @@ (define-public kdebugsettings
>       "This package allows to select which QLoggingCategory are displayed.")
>      (license license:lgpl2.0+)))
>  
> +(define-public kdiff3
> +  (package
 > +    (name "kdiff3")
> +    (version "1.9.6")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> +                    "https://invent.kde.org/sdk/kdiff3/-/archive/" version
> +                    "/kdiff3-" version ".tar.gz"))
> +              (sha256
> +               (base32
> +                "024pwjanxdxyd6iiknw5wf05mw5zg0bcarf8pgcj6mgkaq12qrqk"))))
> +    (build-system qt-build-system)
> +    (native-inputs (list extra-cmake-modules kdoctools))
> +    (inputs (list boost
> +                  breeze-icons
> +                  ki18n
> +                  kcoreaddons
> +                  kcrash
> +                  kparts
> +                  kwidgetsaddons))
> +    (home-page "https://invent.kde.org/sdk/kompare")
> +    (synopsis "Utility for comparing and merging files and directories")
> +    (description "This package provides utility to compare and mege file as
                                           ^utilities             ^merge files
> +well as directories.")
> +    (license license:gpl2+)))

This one appears to run fine on my side.

Could you address the issues here (at least the typos and guix style),
but hopefully add a comment explaining the environment requirements for
kcompare to run and send a v2, or even a fix! :-)

-- 
Thanks,
Maxim