gnu: Add emacs-sqlite3-api.
* gnu/packages/emacs-xyz.scm (emacs-sqlite3-api): New variable. Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
This commit is contained in:
parent
52e55b38f4
commit
24278280ca
@ -6233,6 +6233,64 @@ and retrieving information using the SQLite program through Elisp programming.
|
|||||||
It is not intended as a user interface.")
|
It is not intended as a user interface.")
|
||||||
(license license:gpl3+))))
|
(license license:gpl3+))))
|
||||||
|
|
||||||
|
(define-public emacs-sqlite3-api
|
||||||
|
(package
|
||||||
|
(name "emacs-sqlite3-api")
|
||||||
|
(version "0.16")
|
||||||
|
(source (origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/pekingduck/emacs-sqlite3-api")
|
||||||
|
(commit (string-append "v" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0yrfwb3yvhp1ib4izxh1ds68b3zw8gjkjhlk1kivarxnfjnjnly2"))))
|
||||||
|
(build-system emacs-build-system)
|
||||||
|
(arguments
|
||||||
|
(list
|
||||||
|
#:tests? (not (%current-target-system))
|
||||||
|
#:test-command #~(list "make" "test" "EMACS=emacs")
|
||||||
|
#:modules '((guix build emacs-build-system)
|
||||||
|
(guix build emacs-utils)
|
||||||
|
(guix build utils))
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'patch-module-load
|
||||||
|
(lambda _
|
||||||
|
(make-file-writable "sqlite3.el")
|
||||||
|
(emacs-substitute-sexps "sqlite3.el"
|
||||||
|
("(require 'sqlite3-api nil t)"
|
||||||
|
(string-append
|
||||||
|
"(module-load \"" #$output "/lib/sqlite3-api.so\")")))))
|
||||||
|
(add-before 'check 'build-emacs-module
|
||||||
|
(lambda _
|
||||||
|
;; Remove code that fetches constants from the SQLite website
|
||||||
|
;; and the call to generate a timestamp.
|
||||||
|
(invoke "sed" "--in-place" "3,4d;24,28d;31d" "tools/gen-consts.sh")
|
||||||
|
;; Remove filter logic from the script that generates the constants.
|
||||||
|
(invoke "sed" "--in-place" "7,11d;18,22d" "tools/gen-consts.py")
|
||||||
|
;; Generate the consts.c file.
|
||||||
|
(invoke "make" "--directory=tools")
|
||||||
|
;; Remove the SQLITE_STATIC and SQLITE_TRANSIENT
|
||||||
|
;; constants. They cause a compilation warning and would have
|
||||||
|
;; been removed by the original script.
|
||||||
|
(invoke "sed" "--in-place" "/ifdef SQLITE_STATIC/,+2d" "consts.c")
|
||||||
|
(invoke "sed" "--in-place" "/ifdef SQLITE_TRANSIENT/,+2d" "consts.c")
|
||||||
|
;; Compile the shared object file.
|
||||||
|
(invoke "make" #$(string-append "CC=" (cc-for-target)))
|
||||||
|
;; Move the shared object file into /lib.
|
||||||
|
(install-file "sqlite3-api.so"
|
||||||
|
(string-append #$output "/lib")))))))
|
||||||
|
(native-inputs (list python sed))
|
||||||
|
(inputs (list sqlite))
|
||||||
|
(home-page "https://github.com/pekingduck/emacs-sqlite3-api")
|
||||||
|
(synopsis "Dynamic module for Emacs to access the SQLite C interface")
|
||||||
|
(description "This package provides a dynamic module for Emacs that allows
|
||||||
|
direct access to the SQLite C interface. It only exposes a subset of the full
|
||||||
|
SQLite C interface, but should satisfy most user's needs.")
|
||||||
|
(license license:gpl3+)))
|
||||||
|
|
||||||
(define-public emacs-sr-speedbar
|
(define-public emacs-sr-speedbar
|
||||||
(let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
|
(let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
|
||||||
(revision "0"))
|
(revision "0"))
|
||||||
|
Loading…
Reference in New Issue
Block a user