all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Oleg Pykhalov <go.wigust@gmail.com>
Cc: 30884@debbugs.gnu.org
Subject: [bug#30884] [PATCH 4/6] gnu: Add emacs-emacsql.
Date: Wed, 04 Apr 2018 14:37:24 +0200	[thread overview]
Message-ID: <87woxnb117.fsf@gnu.org> (raw)
In-Reply-To: <20180320163310.11955-4-go.wigust@gmail.com> (Oleg Pykhalov's message of "Tue, 20 Mar 2018 19:33:08 +0300")

Oleg Pykhalov <go.wigust@gmail.com> skribis:

> * gnu/packages/emacs.scm (emacs-emacsql): New public variable.

[...]

> +         (add-after 'patch-elisp-shell-shebangs 'setenv-emacsloadpath
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             (define (el-dir store-dir)
> +               (match (find-files store-dir "\\.el$")
> +                 ((f1 f2 ...) (dirname f1))
> +                 (_ "")))
> +             (define emacs-prefix? (cut string-prefix? "emacs-" <>))
> +             (let* ((emacs-load-paths
> +                     (map (match-lambda
> +                            (((? emacs-prefix? name) . dir)
> +                             (string-append (el-dir dir) ":"))
> +                            (_ ""))
> +                          inputs))
> +                    (emacs-load-path-value
> +                     (string-concatenate emacs-load-paths)))
> +               (format #t "environment variable `EMACSLOADPATH' set to ~a\n"
> +                       emacs-load-path-value)
> +               (setenv "EMACSLOADPATH" emacs-load-path-value))

Now that there’s a new ‘set-emacs-load-path’, I suspect this phase can
be removed.  Can you confirm, Maxim?

> +         (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (install-file "sqlite/emacsql-sqlite"
> +                           (string-append (assoc-ref outputs "out")
> +                                          "/bin"))
> +             #t))
> +         (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (let ((file "emacsql-sqlite.el"))
> +               (chmod file #o644)
> +               (emacs-substitute-sexps file
> +                 ("(defvar emacsql-sqlite-user-prompted" 't)
> +                 ("(executable-find" (which "gcc"))
> +                 ("(defvar emacsql-sqlite-executable"
> +                  (string-append (assoc-ref outputs "out")
> +                                 "/bin/emacsql-sqlite"))))))

Please add short comments explaining what’s going on in these phases.

> +    (home-page "https://github.com/skeeto/emacsql")
> +    (synopsis "Emacs high-level SQL database front-end")
> +    (description "EmacSQL provides a high-level Emacs Lisp front-end for
> +SQLite (primarily), PostgreSQL, MySQL, and potentially other SQL databases.")

I would add this, taken from their README:

  Any readable Lisp value can be stored as a value in 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
  object @code{nil} corresponds 1:1 with @code{NULL} in the database.

Otherwise LGTM, thanks!

Ludo’.

  reply	other threads:[~2018-04-04 12:38 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-20 16:29 [bug#30884] [PATCH 0/6] gnu: Add emacs-epkg Oleg Pykhalov
2018-03-20 16:33 ` [bug#30884] [PATCH 1/6] gnu: Add emacs-pg Oleg Pykhalov
2018-03-20 16:33   ` [bug#30884] [PATCH 2/6] gnu: Add emacs-cl-generic Oleg Pykhalov
2018-04-04 12:32     ` Ludovic Courtès
2018-03-20 16:33   ` [bug#30884] [PATCH 3/6] gnu: Add emacs-finalize Oleg Pykhalov
2018-04-04 12:33     ` Ludovic Courtès
2018-03-20 16:33   ` [bug#30884] [PATCH 4/6] gnu: Add emacs-emacsql Oleg Pykhalov
2018-04-04 12:37     ` Ludovic Courtès [this message]
2018-03-20 16:33   ` [bug#30884] [PATCH 5/6] gnu: Add emacs-closql Oleg Pykhalov
2018-04-04 12:38     ` Ludovic Courtès
2018-03-20 16:33   ` [bug#30884] [PATCH 6/6] gnu: Add emacs-epkg Oleg Pykhalov
2018-04-04 12:39     ` Ludovic Courtès
2018-04-04 12:32   ` [bug#30884] [PATCH 1/6] gnu: Add emacs-pg Ludovic Courtès
2018-03-20 16:43 ` [bug#30884] guix lint produces warnings Oleg Pykhalov
2018-04-14 17:50 ` [bug#30884] Status: [PATCH 0/6] gnu: Add emacs-epkg Oleg Pykhalov
2018-04-16 14:08   ` bug#30884: " Oleg Pykhalov
2018-04-19  1:09   ` [bug#30884] " Maxim Cournoyer
2018-04-19  2:07     ` Maxim Cournoyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87woxnb117.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=30884@debbugs.gnu.org \
    --cc=go.wigust@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.