gnu: Add emacs-edbi.

* gnu/packages/emacs-xyz.scm (emacs-edbi): New variable.
This commit is contained in:
Pierre Neidhardt 2019-01-17 12:20:08 +01:00
parent 8c98ce92b9
commit c010ec65ae
No known key found for this signature in database
GPG Key ID: 9BDCF497A4BBCC7F
1 changed files with 49 additions and 0 deletions

View File

@ -67,6 +67,7 @@
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system emacs) #:use-module (guix build-system emacs)
#:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system perl)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages admin) #:use-module (gnu packages admin)
@ -92,6 +93,7 @@
#:use-module (gnu packages llvm) #:use-module (gnu packages llvm)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages libevent)
#:use-module (gnu packages version-control) #:use-module (gnu packages version-control)
#:use-module (gnu packages imagemagick) #:use-module (gnu packages imagemagick)
#:use-module (gnu packages w3m) #:use-module (gnu packages w3m)
@ -12769,3 +12771,50 @@ Using this RPC stack, Emacs can communicate with the peer process
smoothly. Because the protocol employs S-expression encoding and consists of smoothly. Because the protocol employs S-expression encoding and consists of
asynchronous communications, the RPC response is fairly good.") asynchronous communications, the RPC response is fairly good.")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public emacs-edbi
(let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
(package
(name "emacs-edbi")
(version (git-version "0.1.3" "1" commit))
(home-page "https://github.com/kiwanami/emacs-edbi")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(sha256
(base32
"0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(inputs
`(("perl" ,perl)
("perl-rpc-epc-service" ,perl-rpc-epc-service)
("perl-dbi" ,perl-dbi)
;; TODO: Adding support for perl-dbd-mysql and others would
;; dramatically increase the closure size. Make several packages?
("perl-dbd-sqlite" ,perl-dbd-sqlite)))
(propagated-inputs
`(("emacs-e2wm" ,emacs-e2wm)
("emacs-epc" ,emacs-epc)))
(arguments
`(#:include '("\\.el$" "\\.pl$")
#:phases
(modify-phases %standard-phases
(add-after 'install 'patch-path
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((perl (assoc-ref inputs "perl"))
(dir (string-append (assoc-ref outputs "out")
"/share/emacs/site-lisp/guix.d/edbi-"
,version)))
(substitute* (string-append dir "/edbi.el")
(("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
(chmod (string-append dir "/edbi-bridge.pl") #o555)
(wrap-program (string-append dir "/edbi-bridge.pl")
`("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
#t))))))
(synopsis "Database Interface for Emacs Lisp")
(description "This program connects the database server through Perl's
DBI, and provides DB-accessing API and the simple management UI.")
(license license:gpl3+))))