gnu: Add lexilla.

* gnu/packages/text-editors.scm (lexilla): New variable.
This commit is contained in:
Maxim Cournoyer 2023-06-14 15:01:58 -04:00
parent 1eac587fa6
commit 10186bc291
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -23,6 +23,7 @@
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2022 Andy Tai <atai@atai.org>
;;; Copyright © 2023 Eidvilas Markevičius <markeviciuseidvilas@gmail.com>
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1044,6 +1045,66 @@ (define-public scintilla
and multiple fonts.")
(license license:hpnd)))
(define-public lexilla
(package
(name "lexilla")
(version "5.2.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.scintilla.org/lexilla"
(string-delete #\. version) ".tgz"))
(sha256
(base32
"0sc3z6y82h1vq8aaydp119kymzvrv0p1xvy56r5j996jl6zxikk4"))))
(build-system gnu-build-system)
(arguments
(list
#:make-flags #~(list (string-append "CXX=" #$(cxx-for-target))
(string-append "SCINTILLA_INCLUDE="
#$(this-package-input "scintilla")
"/include"))
#:test-target "test"
#:phases
#~(modify-phases %standard-phases
(replace 'build
(lambda args
(with-directory-excursion "src"
(apply (assoc-ref %standard-phases 'build) args))))
(add-after 'build 'patch-more-shebangs
(lambda _
;; Patch these bash shebangs to avoid them failing the tests.
(substitute* '("test/examples/bash/x.bsh.folded"
"test/examples/bash/x.bsh.styled")
(("/usr/bin/env bash")
(which "bash")))))
(replace 'check
(lambda args
(with-directory-excursion "test"
(apply (assoc-ref %standard-phases 'check) args))))
(add-after 'unpack 'fix-deps.mak
(lambda _
(substitute* "src/deps.mak"
(("../../scintilla")
#$(this-package-input "scintilla")))))
(delete 'configure) ;no configure script
(replace 'install
;; Upstream provides no install script.
(lambda _
(let ((lib (string-append #$output "/lib"))
(inc (string-append #$output "/include")))
(for-each (lambda (f) (install-file f lib))
(find-files "bin/" "\\.so$"))
(for-each (lambda (f) (install-file f inc))
(find-files "include/" "\\.h$"))))))))
(native-inputs (list python))
(inputs (list scintilla))
(home-page "https://www.scintilla.org/Lexilla.html")
(synopsis "Language lexers for Scintilla")
(description "Lexilla is a library of language lexers that can be
used with the Scintilla editing component.")
(license license:hpnd)))
(define-public geany
(package
(name "geany")