gnu: Add emacs-casual.

Obsolete the several different available casual-* packages by a single
main one, in its most recent release.

* gnu/packages/emacs (emacs-casual): New package.
(emacs-casual-avy, emacs-casual-lib, emacs-casual-calc)
(emacs-casual-dired, emacs-casual-info): Deprecate in favor of
‘emacs-casual’.

Change-Id: Ie556c2aeaba873a0d12ac3890e60ef17f4b5ed02
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
This commit is contained in:
Cayetano Santos 2025-07-08 21:19:26 +02:00 committed by Liliana Marie Prikler
parent be0986a0d9
commit 1a37374599
No known key found for this signature in database
GPG key ID: 442A84B8C70E2F87

View file

@ -36873,140 +36873,69 @@ You might want to use this to globally set dir-local variables that apply to
all of your projects, then override or add variables on a per-project basis.") all of your projects, then override or add variables on a per-project basis.")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public emacs-casual-avy (define-public emacs-casual
(package (package
(name "emacs-casual-avy") (name "emacs-casual")
(version "2.0.1") (version "2.7.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/kickingvegas/casual-avy") (url "https://github.com/kickingvegas/casual/")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0p4ljzgcr51wpcfs4r0nnpv4rgaivzcq4lbcyr9sfvgqhr1yr271")))) (base32 "1jf12j92h88a624lg9vg82xf3djij3xkac9ycj5vavkypb6jnih2"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
(list (list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'build-info-manual
(lambda _
(invoke "emacs"
"--batch"
"--eval=(require 'ox-texinfo)"
"--eval=(find-file \"../docs/casual.org\")"
"--eval=(org-texinfo-export-to-info)")
(rename-file "../docs/casual.info" "casual.info")))
;; FIXME: Remove when included in pr upstream. See: #261.
(add-after 'unpack 'patch-casual-lib-dir
(lambda _
(substitute* "Makefile--defines.make"
(("^CASUAL_LIB_DIR.*")
"CASUAL_LIB_DIR?=$(CASUAL_BASE_DIR)/casual\n"))))
;; FIXME: These tests fail.
(add-before 'check 'remove-problematic-tests
(lambda _
(substitute* "Makefile"
(("editkit-tests.*")
"# editkit-tests")))))
#:lisp-directory "lisp" #:lisp-directory "lisp"
#:test-command #~(list "make" "tests") #:test-command #~(list "make" "tests"
;; Tests require “casual-lib-test-utils”, which are not installed. (string-append " CASUAL_LIB_DIR=" (getcwd)
#:tests? #f)) "/source"))))
(propagated-inputs (list emacs-casual-lib emacs-avy)) (native-inputs (list texinfo))
(home-page "https://github.com/kickingvegas/casual-avy") ;; Casual relies on the latest stable release of `transient' which may
(synopsis "Transient-based porcelain for avy") ;; differ from the version that is preinstalled as a built-in.
(propagated-inputs (list emacs-magit emacs-transient))
(home-page "https://github.com/kickingvegas/casual/")
(synopsis "Transient user interfaces for various modes")
(description (description
"Casual Avy is an opinionated Transient-based porcelain for Emacs Avy.") "Casual is a collection of opinionated Transient-based keyboard driven
user interfaces for various built-in modes.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-casual-calc (define-public emacs-casual-calc
(package (deprecated-package "emacs-casual-calc" emacs-casual))
(name "emacs-casual-calc")
(version "3.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kickingvegas/casual-calc")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1zn281rr2z557ja5c9xvwhzx4isxkma4v6shl7acnqhczb8kpnr4"))))
(build-system emacs-build-system)
(arguments
(list
#:lisp-directory "lisp"
;; Tests require “casual-lib-test-utils”, which are not installed.
#:tests? #f))
(propagated-inputs (list emacs-casual-lib))
(home-page "https://github.com/kickingvegas/casual-calc")
(synopsis "Transient-based porcelain for calc")
(description
"Casual Calc is an opinionated Transient-based porcelain for Emacs Calc.")
(license license:gpl3+)))
(define-public emacs-casual-dired (define-public emacs-casual-dired
(package (deprecated-package "emacs-casual-dired" emacs-casual))
(name "emacs-casual-dired")
(version "2.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kickingvegas/casual-dired")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0p4k626svcy6jc1mpsiifpsbacrz7nsgyrb2m0icvi65nxcysj9q"))))
(build-system emacs-build-system)
(arguments
(list
#:lisp-directory "lisp"
;; Tests require “casual-lib-test-utils”, which are not installed.
#:tests? #f))
(propagated-inputs (list emacs-casual-lib))
(home-page "https://github.com/kickingvegas/casual-dired")
(synopsis "Transient-based porcelain for Dired")
(description
"Casual Dired is an opinionated Transient-based porcelain for Emacs Dired.")
(license license:gpl3+)))
(define-public emacs-casual-info (define-public emacs-casual-info
(package (deprecated-package "emacs-casual-info" emacs-casual))
(name "emacs-casual-info")
(version "2.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kickingvegas/casual-info")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1q8yk71xv2v2ls94dc834c988aj2hfq1jv6nbddjxy0qn2hwxd2n"))))
(build-system emacs-build-system)
(arguments
(list
#:lisp-directory "lisp"
;; Tests require “casual-lib-test-utils”, which are not installed.
#:tests? #f))
(propagated-inputs (list emacs-casual-lib))
(home-page "https://github.com/kickingvegas/casual-info")
(synopsis "Transient-based porcelain for info reader")
(description
"Casual Info is an opinionated Transient-based porcelain for Emacs Info reader.")
(license license:gpl3+)))
(define-public emacs-casual-lib (define-public emacs-casual-lib
(package (deprecated-package "emacs-casual-lib" emacs-casual))
(name "emacs-casual-lib") (define-public emacs-casual-avy
(version "2.0.0") (deprecated-package "emacs-casual-avy" emacs-casual))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kickingvegas/casual-lib")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1hmr0zzwm3f88786j8p8x39jn5b8jja37x1iww4vd83dsvkksbpa"))))
(build-system emacs-build-system)
(arguments
(list #:test-command #~(list "make" "tests")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'move-source-files
(lambda _
(let ((el-files (find-files "./lisp" ".*\\.el$")))
(for-each (lambda (f) (copy-file f (basename f)))
el-files)))))))
(native-inputs (list python-minimal))
(home-page "https://github.com/kickingvegas/casual-lib")
(synopsis "Library package for the Emacs Casual porcelains")
(description
"Casual Lib is a library package used to support the Casual porcelains.")
(license license:gpl3+)))
(define-public emacs-calibredb (define-public emacs-calibredb
(package (package