mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
gnu: emacs-emacsql: Update to 3.1.1-0.e1baaf2.
There is an issue in release version, which affects sqlite based packages like org-roam, forge, etc. https://github.com/magit/emacsql/issues/68 * gnu/packages/emacs-xyz.scm (emacs-emacsql): Update to 3.1.1-0.e1baaf2. [arguments]<#:phases>{remove-sqlite-builtin}: New phase.
This commit is contained in:
parent
c3e50c731d
commit
7cea27a8d5
1 changed files with 68 additions and 60 deletions
|
|
@ -20406,69 +20406,77 @@ object has been freed.")
|
||||||
(license license:unlicense)))
|
(license license:unlicense)))
|
||||||
|
|
||||||
(define-public emacs-emacsql
|
(define-public emacs-emacsql
|
||||||
(package
|
(let ((commit "e1baaf2f874df7f9259a8ecca978e03d3ddae5b5")
|
||||||
(name "emacs-emacsql")
|
(revision "0"))
|
||||||
(version "3.1.1")
|
(package
|
||||||
(source
|
(name "emacs-emacsql")
|
||||||
(origin
|
(version (git-version "3.1.1" revision commit))
|
||||||
(method git-fetch)
|
(source
|
||||||
(uri (git-reference
|
(origin
|
||||||
(url "https://github.com/magit/emacsql")
|
(method git-fetch)
|
||||||
(commit (string-append version))))
|
(uri (git-reference
|
||||||
(file-name (git-file-name name version))
|
(url "https://github.com/magit/emacsql")
|
||||||
(sha256
|
(commit commit)))
|
||||||
(base32 "1xpmji2qgr9r38cdhws65x9s9jy7fk93q8g1j2fm7j8kcfjh9x3g"))))
|
(file-name (git-file-name name version))
|
||||||
(build-system emacs-build-system)
|
(sha256
|
||||||
(arguments
|
(base32 "0dvqs1jg5zqn0i3r67sn1a40h5rm961q9vxvmqxbgvdhkjvip8fn"))))
|
||||||
(list
|
(build-system emacs-build-system)
|
||||||
#:tests? #true
|
(arguments
|
||||||
#:test-command #~(list "emacs" "-Q" "--batch"
|
(list
|
||||||
"-L" "tests"
|
#:tests? #true
|
||||||
"-L" "."
|
#:test-command #~(list "emacs" "-Q" "--batch"
|
||||||
"-l" "tests/emacsql-tests.el"
|
"-L" "tests"
|
||||||
"-f" "ert-run-tests-batch-and-exit")
|
"-L" "."
|
||||||
#:modules '((guix build emacs-build-system)
|
"-l" "tests/emacsql-tests.el"
|
||||||
(guix build utils)
|
"-f" "ert-run-tests-batch-and-exit")
|
||||||
(guix build emacs-utils)
|
#:modules '((guix build emacs-build-system)
|
||||||
(srfi srfi-26))
|
(guix build utils)
|
||||||
#:phases
|
(guix build emacs-utils)
|
||||||
#~(modify-phases %standard-phases
|
(srfi srfi-26))
|
||||||
(add-before 'install 'patch-elisp-shell-shebangs
|
#:phases
|
||||||
(lambda _
|
#~(modify-phases %standard-phases
|
||||||
(substitute* (find-files "." "\\.el")
|
(add-before 'install 'remove-sqlite-builtin
|
||||||
(("/bin/sh") (which "sh")))))
|
;; Current emacs 28.2 doesn't have sqlite feature and compilation
|
||||||
(add-after 'patch-elisp-shell-shebangs 'setenv-shell
|
;; of this file fails. This phase should be removed, when emacs
|
||||||
(lambda _
|
;; package is updated to 29.
|
||||||
(setenv "SHELL" "sh")))
|
(lambda _
|
||||||
(add-after 'setenv-shell 'build-emacsql-sqlite
|
(delete-file "emacsql-sqlite-builtin.el")))
|
||||||
(lambda _
|
(add-before 'install 'patch-elisp-shell-shebangs
|
||||||
(invoke "make" "binary" (string-append "CC=" #$(cc-for-target)))))
|
(lambda _
|
||||||
(add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
|
(substitute* (find-files "." "\\.el")
|
||||||
;; This build phase installs emacs-emacsql binary.
|
(("/bin/sh") (which "sh")))))
|
||||||
(lambda _
|
(add-after 'patch-elisp-shell-shebangs 'setenv-shell
|
||||||
(install-file "sqlite/emacsql-sqlite"
|
(lambda _
|
||||||
(string-append #$output "/bin"))))
|
(setenv "SHELL" "sh")))
|
||||||
(add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
|
(add-after 'setenv-shell 'build-emacsql-sqlite
|
||||||
;; This build phase removes interactive prompts
|
(lambda _
|
||||||
;; and makes sure Emacs look for binaries in the right places.
|
(invoke "make" "binary" (string-append "CC=" #$(cc-for-target)))))
|
||||||
(lambda _
|
(add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
|
||||||
(emacs-substitute-variables "emacsql-sqlite.el"
|
;; This build phase installs emacs-emacsql binary.
|
||||||
("emacsql-sqlite-executable"
|
(lambda _
|
||||||
(string-append #$output "/bin/emacsql-sqlite"))
|
(install-file "sqlite/emacsql-sqlite"
|
||||||
;; Make sure Emacs looks for ‘GCC’ binary in the right place.
|
(string-append #$output "/bin"))))
|
||||||
("emacsql-sqlite-c-compilers"
|
(add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
|
||||||
`(list ,(which "gcc")))))))))
|
;; This build phase removes interactive prompts
|
||||||
(inputs
|
;; and makes sure Emacs look for binaries in the right places.
|
||||||
(list emacs-minimal `(,mariadb "dev") `(,mariadb "lib") postgresql))
|
(lambda _
|
||||||
(propagated-inputs
|
(emacs-substitute-variables "emacsql-sqlite.el"
|
||||||
(list emacs-finalize emacs-pg))
|
("emacsql-sqlite-executable"
|
||||||
(home-page "https://github.com/magit/emacsql")
|
(string-append #$output "/bin/emacsql-sqlite"))
|
||||||
(synopsis "Emacs high-level SQL database front-end")
|
;; Make sure Emacs looks for ‘GCC’ binary in the right place.
|
||||||
(description "Any readable Lisp value can be stored as a value in EmacSQL,
|
("emacsql-sqlite-c-compilers"
|
||||||
|
`(list ,(which "gcc")))))))))
|
||||||
|
(inputs
|
||||||
|
(list emacs-minimal `(,mariadb "dev") `(,mariadb "lib") postgresql))
|
||||||
|
(propagated-inputs
|
||||||
|
(list emacs-finalize emacs-pg emacs-sqlite3-api))
|
||||||
|
(home-page "https://github.com/magit/emacsql")
|
||||||
|
(synopsis "Emacs high-level SQL database front-end")
|
||||||
|
(description "Any readable Lisp value can be stored as a value in EmacSQL,
|
||||||
including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
|
including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
|
||||||
has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
|
has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
|
||||||
object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
|
object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
|
||||||
(license license:gpl3+)))
|
(license license:gpl3+))))
|
||||||
|
|
||||||
(define-public emacs-emacsql-sqlite3
|
(define-public emacs-emacsql-sqlite3
|
||||||
(package
|
(package
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue