Subject: [bug#70047] [PATCH v2] gnu: highlight: Update to 4.11.

From: Dale Mellor <[email-masked]>
Date: Tue, 30 Apr 2024 10:39:28 +0100

From: chris <[email-masked]>

* gnu/packages/pretty-print.scm (highlight): Update to 4.11.
[source]: Switch to git-fetch.
[home-page]: Switch to html page.
[arguments]<#:make-flags>: Use #$output replace %output.
<#:phases>: Use ‘this-package-input‘ to find lua and perl.

Review:
  * guix build --check, guix build --source-check, guix lint all clean.
  * Changes look good.
  * It works for me on Guix system.
  * It does not work on foreign distribution (neither did the old version).

Reviewed-by: Dale Mellor <[email-masked]>
Change-Id: I0c402fcea5708c4882b52309b3e072301f0a5614
---
 gnu/packages/pretty-print.scm | 165 +++++++++++++++++-----------------
 1 file changed, 83 insertions(+), 82 deletions(-)

diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm
index 7eae40a220..220761fc07 100644
--- a/gnu/packages/pretty-print.scm
+++ b/gnu/packages/pretty-print.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2022 Zhu Zihao  <[email-masked]>
 ;;; Copyright © 2022, 2023 Maxim Cournoyer  <[email-masked]>
 ;;; Copyright © 2023 gemmaro <[email-masked]>
+;;; Copyright © 2024 chris <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -352,93 +353,93 @@ (define-public source-highlight
 (define-public highlight
   (package
     (name "highlight")
-    (version "4.8")
+    (version "4.11")
     (outputs (list "out" "gui"))
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "http://www.andre-simon.de/zip/highlight-"
-                                  version ".tar.bz2"))
-              (sha256
-               (base32
-                "1iggdw4c8pfz1z1c51fyd6x79y1mnc82b6lfkg3vbb44739m5cjs"))
-              (patches (search-patches "highlight-gui-data-dir.patch"))))
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://gitlab.com/saalen/highlight")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0xb9jm7249qnbain4l94nakgxsmia4w4x246dagr669fkmffcdmg"))
+       (patches (search-patches "highlight-gui-data-dir.patch"))))
     (build-system gnu-build-system)
     (arguments
-     (list #:tests? #f ;no tests
-           #:make-flags #~(let ((confdir (string-append %output
-                                          "/share/highlight/config/")))
-                            (list (string-append "PREFIX=" %output)
-                                  (string-append "HL_CONFIG_DIR=" confdir)
-                                  (string-append "conf_dir=" confdir)))
-           #:phases #~(modify-phases %standard-phases
-                        (delete 'configure) ;no configure script
-                        (add-after 'unpack 'fix-search-for-lua
-                          (lambda _
-                            (let ((ver #$(version-major+minor (package-version
-                                                               lua))))
-                              (substitute* "src/makefile"
-                                (("(LUA_PKG_NAME=).*" _ assignment)
-                                 (string-append assignment "lua-" ver "\n")))
-                              (substitute* "src/gui-qt/highlight.pro"
-                                (("(PKGCONFIG \\+= lua)" _ assignment)
-                                 (string-append assignment "-" ver)))
-                              (substitute* "extras/swig/makefile"
-                                (("lua")
-                                 (string-append "lua-" ver))))))
-                        (add-after 'build 'build-gui
-                          (lambda* (#:key inputs outputs #:allow-other-keys)
-                            (let* ((out (assoc-ref outputs "out"))
-                                   (data (string-append out
-                                                        "/share/highlight/"))
-                                   (conf (string-append out "/etc/highlight/"))
-                                   (doc (string-append out
-                                         "/share/doc/highlight/"))
-                                   (gui (assoc-ref outputs "gui"))
-                                   (gui-data (string-append gui
-                                              "/share/highlight/")))
-                              ;; modified version of gui task in makefile
-                              (invoke "make"
-                                      "-C"
-                                      "./src"
-                                      "-f"
-                                      "./makefile"
-                                      (string-append "HL_DATA_DIR=" data)
-                                      (string-append "HL_CONFIG_DIR=" conf)
-                                      (string-append "HL_DOC_DIR=" doc)
-                                      (string-append "GUI_DATA_DIR=" gui-data)
-                                      "gui-qt"))))
-                        (replace 'install
-                          (lambda* (#:key outputs #:allow-other-keys)
-                            (let ((out (assoc-ref outputs "out")))
-                              (invoke "make" "install"
-                                      (string-append "PREFIX=" out)))))
-                        (add-after 'install 'install-perl-bindings
-                          (lambda* (#:key outputs #:allow-other-keys)
-                            (let* ((out (assoc-ref outputs "out"))
-                                   (data (string-append out
-                                                        "/share/highlight/"))
-                                   (conf (string-append out "/etc/highlight/"))
-                                   (perldir (string-append out
-                                             "/lib/perl5/site_perl/"
-                                             #$(package-version perl)))
-                                   (autodir (string-append perldir
-                                                           "/auto/highlight")))
-                              (with-directory-excursion "extras/swig"
-                                (invoke "make" "perl"
-                                        (string-append "hl_data_dir=" data)
-                                        (string-append "hl_conf_dir=" conf))
-                                (invoke "perl" "-I" "." "testmod.pl")
-                                (install-file "highlight.pm" perldir)
-                                (install-file "highlight.so" autodir)))))
-                        (add-after 'install 'install-gui
-                          (lambda* (#:key outputs #:allow-other-keys)
-                            (let ((gui (assoc-ref outputs "gui")))
-                              (mkdir-p (string-append gui "/bin"))
-                              (invoke "make" "install-gui"
-                                      (string-append "PREFIX=" gui))))))))
+     (list
+      #:tests? #f ;no tests
+      #:make-flags #~(let ((confdir (string-append #$output
+                                                   "/share/highlight/config/")))
+                       (list (string-append "PREFIX=" #$output)
+                             (string-append "HL_CONFIG_DIR=" confdir)
+                             (string-append "conf_dir=" confdir)))
+      #:phases #~(modify-phases %standard-phases
+                   (delete 'configure) ;no configure script
+                   (add-after 'unpack 'fix-search-for-lua
+                     (lambda _
+                       (let ((ver #$(version-major+minor
+                                     (package-version (this-package-input "lua")))))
+                         (substitute* "src/makefile"
+                           (("(LUA_PKG_NAME=).*" _ assignment)
+                            (string-append assignment "lua-" ver "\n")))
+                         (substitute* "src/gui-qt/highlight.pro"
+                           (("(PKGCONFIG \\+= lua)" _ assignment)
+                            (string-append assignment "-" ver)))
+                         (substitute* "extras/swig/makefile"
+                           (("lua")
+                            (string-append "lua-" ver))))))
+                   (add-after 'build 'build-gui
+                     (lambda* (#:key inputs outputs #:allow-other-keys)
+                       (let* ((out (assoc-ref outputs "out"))
+                              (data (string-append out "/share/highlight/"))
+                              (conf (string-append out "/etc/highlight/"))
+                              (doc (string-append out "/share/doc/highlight/"))
+                              (gui (assoc-ref outputs "gui"))
+                              (gui-data (string-append gui "/share/highlight/")))
+                         ;; modified version of gui task in makefile
+                         (invoke "make"
+                                 "-C"
+                                 "./src"
+                                 "-f"
+                                 "./makefile"
+                                 (string-append "HL_DATA_DIR=" data)
+                                 (string-append "HL_CONFIG_DIR=" conf)
+                                 (string-append "HL_DOC_DIR=" doc)
+                                 (string-append "GUI_DATA_DIR=" gui-data)
+                                 "gui-qt"))))
+                   (replace 'install
+                     (lambda* (#:key outputs #:allow-other-keys)
+                       (let ((out (assoc-ref outputs "out")))
+                         (invoke "make" "install"
+                                 (string-append "PREFIX=" out)))))
+                   (add-after 'install 'install-perl-bindings
+                     (lambda* (#:key outputs #:allow-other-keys)
+                       (let* ((out (assoc-ref outputs "out"))
+                              (data (string-append out "/share/highlight/"))
+                              (conf (string-append out "/etc/highlight/"))
+                              (perldir (string-append out
+                                                      "/lib/perl5/site_perl/"
+                                                      #$(package-version
+                                                         (this-package-input "perl"))))
+                              (autodir (string-append perldir
+                                                      "/auto/highlight")))
+                         (with-directory-excursion "extras/swig"
+                           (invoke "make" "perl"
+                                   (string-append "hl_data_dir=" data)
+                                   (string-append "hl_conf_dir=" conf))
+                           (invoke "perl" "-I" "." "testmod.pl")
+                           (install-file "highlight.pm" perldir)
+                           (install-file "highlight.so" autodir)))))
+                   (add-after 'install 'install-gui
+                     (lambda* (#:key outputs #:allow-other-keys)
+                       (let ((gui (assoc-ref outputs "gui")))
+                         (mkdir-p (string-append gui "/bin"))
+                         (invoke "make" "install-gui"
+                                 (string-append "PREFIX=" gui))))))))
     (inputs (list lua boost perl qtbase-5))
     (native-inputs (list pkg-config swig))
-    (home-page "http://www.andre-simon.de/doku/highlight/en/highlight.php")
+    (home-page "http://www.andre-simon.de/doku/highlight/en/highlight.html")
     (synopsis "Convert code to documents with syntax highlighting")
     (description
      "Highlight converts source code to HTML, XHTML, RTF, LaTeX,
-- 
2.41.0