gnu: lem: Update to 2.3.0.

* gnu/packages/text-editors.scm (lem): Update to 2.3.0.

Change-Id: I346cb298a9f6b0ebe3d53fc503fedf0bb63cf1a3
Signed-off-by: jgart <jgart@dismail.de>
This commit is contained in:
Ada Stevenson 2025-07-26 18:16:04 +08:00 committed by jgart
parent 8ede3a57ca
commit 61000e1179
No known key found for this signature in database
GPG key ID: A52AA2B477B6DD35

View file

@ -232,22 +232,19 @@ intuitive, while also taking advantage of the capabilities of modern terminals."
(license license:expat)))) (license license:expat))))
(define-public lem (define-public lem
(let ((commit "0025e1c196b50fbf6b8a97f8b9ef986f8d316cdf")
(revision "8"))
(package (package
(name "lem") (name "lem")
(version (git-version "2.2.0" revision commit)) (version "2.3.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/lem-project/lem/") (url "https://github.com/lem-project/lem/")
(commit commit))) (commit (string-append "v" version))))
(sha256 (sha256
(base32 "06hd0n66q69nr15ypdmwlwl6m9l2pzj6fym7dm8v2zp165pgr7s1")) (base32 "0qkgs6xnbbnyjh9i1zp9l5iw6zj4hlb2b42b272pbmxw6pd3zp4a"))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(snippet (snippet #~(begin
#~(begin
(use-modules (guix build utils)) (use-modules (guix build utils))
(delete-file-recursively "roswell") (delete-file-recursively "roswell")
;; Delete precompiled shared object files. ;; Delete precompiled shared object files.
@ -263,42 +260,40 @@ intuitive, while also taking advantage of the capabilities of modern terminals."
(lib-dir (string-append libvterm-lib "/lib")) (lib-dir (string-append libvterm-lib "/lib"))
(shared-lib-dir (string-append (assoc-ref outputs "out") (shared-lib-dir (string-append (assoc-ref outputs "out")
"/lib")) "/lib"))
(shared-lib (string-append shared-lib-dir (shared-lib (string-append shared-lib-dir "/terminal.so")))
"/terminal.so")))
(substitute* "extensions/terminal/ffi.lisp" (substitute* "extensions/terminal/ffi.lisp"
(("terminal.so") shared-lib))))) (("terminal.so")
shared-lib)))))
(add-after 'create-asdf-configuration 'build-program (add-after 'create-asdf-configuration 'build-program
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(build-program (build-program (string-append (assoc-ref outputs "out")
(string-append (assoc-ref outputs "out") "/bin/lem") "/bin/lem")
outputs outputs
#:dependencies '("lem-ncurses" "lem-sdl2") #:dependencies '("lem-ncurses" "lem-sdl2")
#:entry-program '((lem:main) 0)))) #:entry-program '((lem:main)
0))))
(add-after 'build 'build-terminal-library (add-after 'build 'build-terminal-library
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((libvterm-lib (assoc-ref inputs "libvterm")) (let* ((libvterm-lib (assoc-ref inputs "libvterm"))
(lib-dir (string-append libvterm-lib "/lib")) (lib-dir (string-append libvterm-lib "/lib"))
(shared-lib-dir (string-append (assoc-ref outputs "out") (shared-lib-dir (string-append (assoc-ref outputs "out")
"/lib")) "/lib"))
(shared-lib (string-append shared-lib-dir (shared-lib (string-append shared-lib-dir "/terminal.so")))
"/terminal.so")))
(mkdir-p shared-lib-dir) (mkdir-p shared-lib-dir)
(invoke #$(cc-for-target) (invoke #$(cc-for-target)
"extensions/terminal/terminal.c" "extensions/terminal/terminal.c"
"-L" lib-dir "-lvterm" "-L"
lib-dir
"-lvterm"
"-Wl,-Bdynamic" "-Wl,-Bdynamic"
"-o" shared-lib "-o"
shared-lib
"-shared" "-shared"
"-fPIC" "-fPIC"
"-lutil"))))))) "-lutil")))))))
(native-inputs (native-inputs (list sbcl-cl-ansi-text sbcl-rove
(list sbcl-cl-ansi-text
sbcl-rove
sbcl-trivial-package-local-nicknames)) sbcl-trivial-package-local-nicknames))
(inputs (inputs (list libvterm
(list
libvterm
sbcl-alexandria sbcl-alexandria
sbcl-trivia sbcl-trivia
sbcl-trivial-gray-streams sbcl-trivial-gray-streams
@ -342,7 +337,7 @@ intuitive, while also taking advantage of the capabilities of modern terminals."
(home-page "http://lem-project.github.io/") (home-page "http://lem-project.github.io/")
(synopsis "Integrated IDE/editor for Common Lisp") (synopsis "Integrated IDE/editor for Common Lisp")
(description "Lem is a Common Lisp editor/IDE with high expansibility.") (description "Lem is a Common Lisp editor/IDE with high expansibility.")
(license license:expat)))) (license license:expat)))
(define-public vis (define-public vis
(package (package