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,117 +232,112 @@ 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") (package
(revision "8")) (name "lem")
(package (version "2.3.0")
(name "lem") (source
(version (git-version "2.2.0" revision commit)) (origin
(source (method git-fetch)
(origin (uri (git-reference
(method git-fetch) (url "https://github.com/lem-project/lem/")
(uri (git-reference (commit (string-append "v" version))))
(url "https://github.com/lem-project/lem/") (sha256
(commit commit))) (base32 "0qkgs6xnbbnyjh9i1zp9l5iw6zj4hlb2b42b272pbmxw6pd3zp4a"))
(sha256 (file-name (git-file-name name version))
(base32 "06hd0n66q69nr15ypdmwlwl6m9l2pzj6fym7dm8v2zp165pgr7s1")) (snippet #~(begin
(file-name (git-file-name name version)) (use-modules (guix build utils))
(snippet (delete-file-recursively "roswell")
#~(begin ;; Delete precompiled shared object files.
(use-modules (guix build utils)) (delete-file-recursively "extensions/terminal/lib")))))
(delete-file-recursively "roswell") (build-system asdf-build-system/sbcl)
;; Delete precompiled shared object files. (arguments
(delete-file-recursively "extensions/terminal/lib"))))) (list
(build-system asdf-build-system/sbcl) #:phases
(arguments #~(modify-phases %standard-phases
(list (add-after 'unpack 'patch-shared-object-files
#:phases (lambda* (#:key inputs outputs #:allow-other-keys)
#~(modify-phases %standard-phases (let* ((libvterm-lib (assoc-ref inputs "libvterm"))
(add-after 'unpack 'patch-shared-object-files (lib-dir (string-append libvterm-lib "/lib"))
(lambda* (#:key inputs outputs #:allow-other-keys) (shared-lib-dir (string-append (assoc-ref outputs "out")
(let* ((libvterm-lib (assoc-ref inputs "libvterm")) "/lib"))
(lib-dir (string-append libvterm-lib "/lib")) (shared-lib (string-append shared-lib-dir "/terminal.so")))
(shared-lib-dir (string-append (assoc-ref outputs "out") (substitute* "extensions/terminal/ffi.lisp"
"/lib")) (("terminal.so")
(shared-lib (string-append shared-lib-dir shared-lib)))))
"/terminal.so"))) (add-after 'create-asdf-configuration 'build-program
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "extensions/terminal/ffi.lisp" (build-program (string-append (assoc-ref outputs "out")
(("terminal.so") shared-lib))))) "/bin/lem")
(add-after 'create-asdf-configuration 'build-program outputs
(lambda* (#:key outputs #:allow-other-keys) #:dependencies '("lem-ncurses" "lem-sdl2")
(build-program #:entry-program '((lem:main)
(string-append (assoc-ref outputs "out") "/bin/lem") 0))))
outputs (add-after 'build 'build-terminal-library
#:dependencies '("lem-ncurses" "lem-sdl2") (lambda* (#:key inputs outputs #:allow-other-keys)
#:entry-program '((lem:main) 0)))) (let* ((libvterm-lib (assoc-ref inputs "libvterm"))
(add-after 'build 'build-terminal-library (lib-dir (string-append libvterm-lib "/lib"))
(lambda* (#:key inputs outputs #:allow-other-keys) (shared-lib-dir (string-append (assoc-ref outputs "out")
(let* ((libvterm-lib (assoc-ref inputs "libvterm")) "/lib"))
(lib-dir (string-append libvterm-lib "/lib")) (shared-lib (string-append shared-lib-dir "/terminal.so")))
(shared-lib-dir (string-append (assoc-ref outputs "out") (mkdir-p shared-lib-dir)
"/lib")) (invoke #$(cc-for-target)
(shared-lib (string-append shared-lib-dir "extensions/terminal/terminal.c"
"/terminal.so"))) "-L"
(mkdir-p shared-lib-dir) lib-dir
(invoke #$(cc-for-target) "-lvterm"
"extensions/terminal/terminal.c" "-Wl,-Bdynamic"
"-L" lib-dir "-lvterm" "-o"
"-Wl,-Bdynamic" shared-lib
"-o" shared-lib "-shared"
"-shared" "-fPIC"
"-fPIC" "-lutil")))))))
"-lutil"))))))) (native-inputs (list sbcl-cl-ansi-text sbcl-rove
(native-inputs sbcl-trivial-package-local-nicknames))
(list sbcl-cl-ansi-text (inputs (list libvterm
sbcl-rove sbcl-alexandria
sbcl-trivial-package-local-nicknames)) sbcl-trivia
(inputs sbcl-trivial-gray-streams
(list sbcl-trivial-types
libvterm sbcl-cl-ppcre
sbcl-alexandria sbcl-closer-mop
sbcl-trivia sbcl-iterate
sbcl-trivial-gray-streams sbcl-lem-mailbox
sbcl-trivial-types sbcl-inquisitor
sbcl-cl-ppcre sbcl-babel
sbcl-closer-mop sbcl-bordeaux-threads
sbcl-iterate sbcl-yason
sbcl-lem-mailbox sbcl-log4cl
sbcl-inquisitor sbcl-split-sequence
sbcl-babel sbcl-cl-str
sbcl-bordeaux-threads sbcl-dexador
sbcl-yason sbcl-3bmd
sbcl-log4cl sbcl-micros
sbcl-split-sequence sbcl-lisp-preprocessor
sbcl-cl-str sbcl-trivial-ws
sbcl-dexador sbcl-trivial-open-browser
sbcl-3bmd sbcl-sdl2
sbcl-micros sbcl-sdl2-ttf
sbcl-lisp-preprocessor sbcl-sdl2-image
sbcl-trivial-ws sbcl-trivial-main-thread
sbcl-trivial-open-browser sbcl-cffi
sbcl-sdl2 sbcl-cl-charms
sbcl-sdl2-ttf sbcl-cl-setlocale
sbcl-sdl2-image sbcl-log4cl
sbcl-trivial-main-thread sbcl-jsonrpc
sbcl-cffi sbcl-usocket
sbcl-cl-charms sbcl-quri
sbcl-cl-setlocale sbcl-cl-change-case
sbcl-log4cl sbcl-async-process
sbcl-jsonrpc sbcl-cl-iconv
sbcl-usocket sbcl-esrap
sbcl-quri sbcl-parse-number
sbcl-cl-change-case sbcl-cl-package-locks
sbcl-async-process sbcl-slime-swank
sbcl-cl-iconv sbcl-trivial-utf-8))
sbcl-esrap (home-page "http://lem-project.github.io/")
sbcl-parse-number (synopsis "Integrated IDE/editor for Common Lisp")
sbcl-cl-package-locks (description "Lem is a Common Lisp editor/IDE with high expansibility.")
sbcl-slime-swank (license license:expat)))
sbcl-trivial-utf-8))
(home-page "http://lem-project.github.io/")
(synopsis "Integrated IDE/editor for Common Lisp")
(description "Lem is a Common Lisp editor/IDE with high expansibility.")
(license license:expat))))
(define-public vis (define-public vis
(package (package