aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/pretty-print.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/pretty-print.scm')
-rw-r--r--gnu/packages/pretty-print.scm135
1 files changed, 89 insertions, 46 deletions
diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm
index 89e5de6278..5d15b160f3 100644
--- a/gnu/packages/pretty-print.scm
+++ b/gnu/packages/pretty-print.scm
@@ -10,6 +10,7 @@
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -51,7 +52,8 @@
#:use-module (gnu packages lua)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
- #:use-module (gnu packages swig))
+ #:use-module (gnu packages swig)
+ #:use-module (gnu packages qt))
(define-public a2ps
(package
@@ -350,55 +352,96 @@ seen in a terminal.")
(define-public highlight
(package
(name "highlight")
- (version "3.62")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "http://www.andre-simon.de/zip/highlight-"
- version ".tar.bz2"))
- (sha256
- (base32 "088di7qxd6b2r22qljllhnly0r9a0lfnwnfqswjn23s09awjbl6p"))))
+ (version "4.7")
+ (outputs (list "out" "gui"))
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.andre-simon.de/zip/highlight-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "1cl21qpgy92w1x53vrn1bgq84mkh6fgayc9k38mz4xmz2yw01nv1"))
+ (patches (search-patches "highlight-gui-data-dir.patch"))))
(build-system gnu-build-system)
(arguments
- `(#: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 _
- (substitute* "src/makefile"
- (("(LUA_PKG_NAME=).*" _ assignment)
- (string-append assignment "lua-" ,(version-major+minor
- (package-version lua))
- "\n")))
- (substitute* "extras/swig/makefile"
- (("lua") (string-append "lua-" ,(version-major+minor
- (package-version lua)))))
- #t))
- (add-after 'install 'install-perl-bindings
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((perldir (string-append (assoc-ref outputs "out")
- "/lib/perl5/site_perl/"
- ,(package-version perl)))
- (autodir (string-append perldir "/auto/highlight")))
- (with-directory-excursion "extras/swig"
- (invoke "make" "perl")
- (invoke "perl" "-I" "." "testmod.pl")
- (install-file "highlight.pm" perldir)
- (install-file "highlight.so" autodir))
- #t))))))
- (inputs
- (list lua boost perl))
- (native-inputs
- (list pkg-config swig))
+ (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))))))))
+ (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")
(synopsis "Convert code to documents with syntax highlighting")
- (description "Highlight converts source code to HTML, XHTML, RTF, LaTeX,
+ (description
+ "Highlight converts source code to HTML, XHTML, RTF, LaTeX,
TeX, SVG, BBCode and terminal escape sequences with colored syntax
highlighting. Language definitions and color themes are customizable.")
(license gpl3+)))