Subject: [PATCH] gnu: poedit: Update to 3.4.2 and wrap executable.
From: [email-masked]
To: [email-masked]
Cc: Marco Rimoldi <[email-masked]>
Date: Mon, 26 Feb 2024 17:51:10 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

From: Marco Rimoldi <[email-masked]>

Hello, see the bug reported here:  https://issues.guix.gnu.org/58046

gettext-minimal is now both in inputs and native-inputs, does it makes sense? :D

Anyway the program runs and opens .po files alright. Have not attempted cross-compilation.

Also guix style'd.

cheers
Marco 

* gnu/packages/poedit.scm (poedit): Update to 3.4.2.
[arguments]: Use G-expressions throughout.
<phases>: Wrap the program with gettext binaries in PATH so that it does not crash.
[inputs]: Add gettext-minimal (see above), nlohmann-json, python-minimal (needed for utility scripts).

Change-Id: I09976a81ad93fa7850a4d414dbcbaa98eb778ece
---
 gnu/packages/poedit.scm | 73 ++++++++++++++++++++++++-----------------
 1 file changed, 42 insertions(+), 31 deletions(-)

diff --git a/gnu/packages/poedit.scm b/gnu/packages/poedit.scm
index fd8ed06c83..617daaefdb 100644
--- a/gnu/packages/poedit.scm
+++ b/gnu/packages/poedit.scm
@@ -21,16 +21,20 @@ (define-module (gnu packages poedit)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (gnu packages)
   #:use-module (guix packages)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages boost)
+  #:use-module (gnu packages cpp)
   #:use-module (gnu packages enchant)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages rdf)
   #:use-module (gnu packages wxwidgets)
   #:use-module (gnu packages xml))
@@ -38,41 +42,48 @@ (define-module (gnu packages poedit)
 (define-public poedit
   (package
     (name "poedit")
-    (version "2.2.4")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                     (url "https://github.com/vslavik/poedit")
-                     (commit (string-append "v" version "-oss"))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "147jiiab4n0nbhzp1vw1jn8ykhy7qh6zf02654ppi0imdfvfnjss"))
-             (modules '((guix build utils)))
-             (snippet
-              '(begin
-                 (delete-file-recursively "deps")
-                 #t))))
+    (version "3.4.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/vslavik/poedit")
+             (commit (string-append "v" version "-oss"))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1nhbc127k2n1pnrmg2yjrzrxp19vmsv08x7hyfj62y3kliy9dw09"))
+       (modules '((guix build utils)))
+       (snippet '(begin
+                   (delete-file-recursively "deps") #t))))
     (build-system gnu-build-system)
     (arguments
-     `(#:configure-flags
-       (list (string-append "--with-boost-libdir="
-                            (assoc-ref %build-inputs "boost")
-                            "/lib"))))
-    (native-inputs
-     (list autoconf automake gettext-minimal pkg-config))
-    (inputs
-     (list boost
-           enchant
-           gtk+
-           gtkspell3
-           icu4c
-           lucene++
-           pugixml
-           wxwidgets))
+     (list
+      #:configure-flags #~(list (string-append "--with-boost-libdir="
+                                               #$boost "/lib"))
+      #:phases #~(modify-phases %standard-phases
+                   (add-after 'install 'wrap-executable
+                     (lambda _
+                       (wrap-program (string-append #$output "/bin/poedit")
+                         `("PATH" prefix
+                           ,(list (string-append #$gettext-minimal "/bin")))))))))
+
+    (native-inputs (list autoconf automake gettext-minimal pkg-config))
+    (inputs (list bash-minimal
+                  boost
+                  enchant
+                  gettext-minimal
+                  gtk+
+                  gtkspell3
+                  icu4c
+                  lucene++
+                  nlohmann-json
+                  python-minimal
+                  pugixml
+                  wxwidgets))
     (home-page "https://poedit.net/")
     (synopsis "Gettext catalog editing tool")
-    (description "Poedit is a GUI frontend to the GNU gettext utilities and
+    (description
+     "Poedit is a GUI frontend to the GNU gettext utilities and
 a catalog editor/source code parser.  It helps with translating applications
 into other languages.")
     (license license:expat)))

base-commit: bf17a01e06abc100651ed643f2d5c7fea07d37ba
-- 
2.41.0