Package: guix-patches;
Reported by: Oleg Pykhalov <go.wigust <at> gmail.com>
Date: Tue, 20 Mar 2018 16:31:01 UTC
Severity: normal
Tags: patch
Done: Oleg Pykhalov <go.wigust <at> gmail.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 30884 in the body.
You can then email your comments to 30884 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#30884
; Package guix-patches
.
(Tue, 20 Mar 2018 16:31:01 GMT) Full text and rfc822 format available.Oleg Pykhalov <go.wigust <at> gmail.com>
:guix-patches <at> gnu.org
.
(Tue, 20 Mar 2018 16:31:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Oleg Pykhalov <go.wigust <at> gmail.com> To: guix-patches <at> gnu.org Cc: Oleg Pykhalov <go.wigust <at> gmail.com> Subject: [PATCH 0/6] gnu: Add emacs-epkg. Date: Tue, 20 Mar 2018 19:29:56 +0300
Hello Guix, This patch provides an https://emacsmirror.net/ Emacs package viewer. Oleg Pykhalov (6): gnu: Add emacs-pg. gnu: Add emacs-cl-generic. gnu: Add emacs-finalize. gnu: Add emacs-emacsql. gnu: Add emacs-closql. gnu: Add emacs-epkg. gnu/packages/emacs.scm | 235 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 235 insertions(+) -- 2.16.2
guix-patches <at> gnu.org
:bug#30884
; Package guix-patches
.
(Tue, 20 Mar 2018 16:34:01 GMT) Full text and rfc822 format available.Message #8 received at 30884 <at> debbugs.gnu.org (full text, mbox):
From: Oleg Pykhalov <go.wigust <at> gmail.com> To: 30884 <at> debbugs.gnu.org Cc: Oleg Pykhalov <go.wigust <at> gmail.com> Subject: [PATCH 1/6] gnu: Add emacs-pg. Date: Tue, 20 Mar 2018 19:33:05 +0300
* gnu/packages/emacs.scm (emacs-pg): New public variable. --- gnu/packages/emacs.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index da366441b..77796b03f 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -7406,3 +7406,31 @@ the same values you get in a terminal.") "Deft is an Emacs mode for quickly browsing, filtering, and editing directories of plain text notes, inspired by Notational Velocity.") (license license:bsd-3))) + +(define-public emacs-pg + (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d")) + (package + (name "emacs-pg") + (version (git-version "0.1" "1" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cbbrowne/pg.el.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0")))) + (build-system emacs-build-system) + (home-page "https://github.com/cbbrowne/pg.el.git") + (synopsis "Emacs Lisp interface for PostgreSQL") + (description + "This package provides an Emacs Lisp interface for PostgreSQL. + +This module lets you access the PostgreSQL object-relational DBMS from Emacs, +using its socket-level frontend/backend protocol. The module is capable of +automatic type coercions from a range of SQL types to the equivalent Emacs +Lisp type. This is a low level API, and won't be useful to end users. Should +work with GNU Emacs 19.34 and up, and XEmacs 20 and up. Performance is very +poor when not byte-compiled.") + (license license:gpl3+)))) -- 2.16.2
guix-patches <at> gnu.org
:bug#30884
; Package guix-patches
.
(Tue, 20 Mar 2018 16:34:02 GMT) Full text and rfc822 format available.Message #11 received at 30884 <at> debbugs.gnu.org (full text, mbox):
From: Oleg Pykhalov <go.wigust <at> gmail.com> To: 30884 <at> debbugs.gnu.org Cc: Oleg Pykhalov <go.wigust <at> gmail.com> Subject: [PATCH 2/6] gnu: Add emacs-cl-generic. Date: Tue, 20 Mar 2018 19:33:06 +0300
* gnu/packages/emacs.scm (emacs-cl-generic): New public variable. --- gnu/packages/emacs.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 77796b03f..0553d683d 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -7434,3 +7434,23 @@ Lisp type. This is a low level API, and won't be useful to end users. Should work with GNU Emacs 19.34 and up, and XEmacs 20 and up. Performance is very poor when not byte-compiled.") (license license:gpl3+)))) + +(define-public emacs-cl-generic + (package + (name "emacs-cl-generic") + (version "0.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/cl-generic-" + version ".el")) + (sha256 + (base32 + "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq")))) + (build-system emacs-build-system) + (home-page "https://elpa.gnu.org/packages/seq.html") + (synopsis "Forward cl-generic compatibility for Emacs before version 25") + (description "This package provides a subset of the features of the +@code{cl-generic} package introduced in Emacs-25, for use on previous +@code{emacsen}.") + (license license:gpl3+))) -- 2.16.2
guix-patches <at> gnu.org
:bug#30884
; Package guix-patches
.
(Tue, 20 Mar 2018 16:34:02 GMT) Full text and rfc822 format available.Message #14 received at 30884 <at> debbugs.gnu.org (full text, mbox):
From: Oleg Pykhalov <go.wigust <at> gmail.com> To: 30884 <at> debbugs.gnu.org Cc: Oleg Pykhalov <go.wigust <at> gmail.com> Subject: [PATCH 3/6] gnu: Add emacs-finalize. Date: Tue, 20 Mar 2018 19:33:07 +0300
* gnu/packages/emacs.scm (emacs-finalize): New public variable. --- gnu/packages/emacs.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 0553d683d..41bb69914 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -7454,3 +7454,27 @@ poor when not byte-compiled.") @code{cl-generic} package introduced in Emacs-25, for use on previous @code{emacsen}.") (license license:gpl3+))) + +(define-public emacs-finalize + (package + (name "emacs-finalize") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/skeeto/elisp-finalize/archive/" + version ".tar.gz")) + (sha256 + (base32 + "077fycy3i5f0kjw5z3rhf4kld5lbk2idz690nkwhkz04vppk4q4x")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-cl-generic" ,emacs-cl-generic))) + (home-page "https://github.com/skeeto/elisp-finalize") + (synopsis "Finalizers for Emacs Lisp") + (description + "This package will allows to immediately run a callback (a finalizer) +after its registered lisp object has been garbage collected. This allows for +extra resources, such as buffers and processes, to be cleaned up after the +object has been freed.") + (license license:unlicense))) -- 2.16.2
guix-patches <at> gnu.org
:bug#30884
; Package guix-patches
.
(Tue, 20 Mar 2018 16:34:03 GMT) Full text and rfc822 format available.Message #17 received at 30884 <at> debbugs.gnu.org (full text, mbox):
From: Oleg Pykhalov <go.wigust <at> gmail.com> To: 30884 <at> debbugs.gnu.org Cc: Oleg Pykhalov <go.wigust <at> gmail.com> Subject: [PATCH 4/6] gnu: Add emacs-emacsql. Date: Tue, 20 Mar 2018 19:33:08 +0300
* gnu/packages/emacs.scm (emacs-emacsql): New public variable. --- gnu/packages/emacs.scm | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 41bb69914..83deb256f 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -64,6 +64,7 @@ #:use-module (gnu packages audio) #:use-module (gnu packages bash) #:use-module (gnu packages code) + #:use-module (gnu packages databases) #:use-module (gnu packages guile) #:use-module (gnu packages gtk) #:use-module (gnu packages gnome) @@ -7478,3 +7479,96 @@ after its registered lisp object has been garbage collected. This allows for extra resources, such as buffers and processes, to be cleaned up after the object has been freed.") (license license:unlicense))) + +(define-public emacs-emacsql + (package + (name "emacs-emacsql") + (version "2.0.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/skeeto/emacsql/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04hfjdgl1zc7jysgjc7d7d3xqpr7q1q9gsmzffjd91ii3hpqjgx6")))) + (build-system gnu-build-system) + (arguments + `(#:modules ((ice-9 match) + (srfi srfi-26) + ,@%gnu-build-system-modules + (guix build emacs-utils)) + #:imported-modules (,@%gnu-build-system-modules + (guix build emacs-utils)) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'patch-elisp-shell-shebangs + (lambda _ + (substitute* (find-files "." "\\.el") + (("/bin/sh") (which "sh"))) + #t)) + (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)) + #t)) + (add-after 'setenv-emacsloadpath 'setenv-shell + (lambda _ + (setenv "SHELL" "sh"))) + (add-after 'setenv-shell 'build-emacsql-sqlite + (lambda _ + (invoke "make" "binary" "CC=gcc"))) + (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")))))) + (delete 'check) ; No ‘check’ target in ‘./Makefile’. + (replace 'install ; No ‘install’ target in ‘./Makefile’. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (install-file "sqlite/emacsql-sqlite" + (string-append out "/bin")) + (for-each (cut install-file <> + (string-append out "/share/emacs/site-lisp")) + (find-files "." "\\.elc*$"))) + #t))))) + (inputs + `(("emacs-minimal" ,emacs-minimal) + ("mysql" ,mysql) + ("postgresql" ,postgresql))) + (propagated-inputs + `(("emacs-finalize" ,emacs-finalize) + ("emacs-pg" ,emacs-pg))) + (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.") + (license license:gpl3+))) -- 2.16.2
guix-patches <at> gnu.org
:bug#30884
; Package guix-patches
.
(Tue, 20 Mar 2018 16:34:03 GMT) Full text and rfc822 format available.Message #20 received at 30884 <at> debbugs.gnu.org (full text, mbox):
From: Oleg Pykhalov <go.wigust <at> gmail.com> To: 30884 <at> debbugs.gnu.org Cc: Oleg Pykhalov <go.wigust <at> gmail.com> Subject: [PATCH 5/6] gnu: Add emacs-closql. Date: Tue, 20 Mar 2018 19:33:09 +0300
* gnu/packages/emacs.scm (emacs-closql): New public variable. --- gnu/packages/emacs.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 83deb256f..0ade89d9f 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -7572,3 +7572,28 @@ object has been freed.") (description "EmacSQL provides a high-level Emacs Lisp front-end for SQLite (primarily), PostgreSQL, MySQL, and potentially other SQL databases.") (license license:gpl3+))) + +(define-public emacs-closql + (package + (name "emacs-closql") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/emacscollective/closql/archive/" + "v" version ".tar.gz")) + (sha256 + (base32 + "0wa6r0kgbb7f19039p5f3di4dvrvxfgpd8bkam94fca7jvzj536c")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-emacsql" ,emacs-emacsql))) + (home-page "https://github.com/emacscollective/closql") + (synopsis "store EIEIO objects using EmacSQL") + (description + "This package allows to store uniform EIEIO objects in an EmacSQL +database. SQLite is used as backend. This library imposes some restrictions +on what kind of objects can be stored; it isn't intended to store arbitrary +objects. All objects have to share a common superclass and subclasses cannot +add any additional instance slots.") + (license license:gpl3))) -- 2.16.2
guix-patches <at> gnu.org
:bug#30884
; Package guix-patches
.
(Tue, 20 Mar 2018 16:34:04 GMT) Full text and rfc822 format available.Message #23 received at 30884 <at> debbugs.gnu.org (full text, mbox):
From: Oleg Pykhalov <go.wigust <at> gmail.com> To: 30884 <at> debbugs.gnu.org Cc: Oleg Pykhalov <go.wigust <at> gmail.com> Subject: [PATCH 6/6] gnu: Add emacs-epkg. Date: Tue, 20 Mar 2018 19:33:10 +0300
* gnu/packages/emacs.scm (emacs-epkg): New public variable. --- gnu/packages/emacs.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 0ade89d9f..bcbbd012b 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -7597,3 +7597,47 @@ on what kind of objects can be stored; it isn't intended to store arbitrary objects. All objects have to share a common superclass and subclasses cannot add any additional instance slots.") (license license:gpl3))) + +(define-public emacs-epkg + ;; The release version is to old for the current database scheme. + (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e")) + (package + (name "emacs-epkg") + (version (git-version "3.0.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacscollective/epkg.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-closql" ,emacs-closql) + ("emacs-dash" ,emacs-dash))) + (home-page "https://emacsmirror.net") + (synopsis "Browse the Emacsmirror package database") + (description "This package provides access to a local copy of the +Emacsmirror package database. It provides low-level functions for querying +the database and a @file{package.el} user interface for browsing the database. +Epkg itself is not a package manager. + +Getting a local copy: + +@example +git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs +cd ~/.emacs.d/epkgs +git submodule init +git config --global url.https://github.com/.insteadOf git@@github.com: +git submodule update +@end example + +Some submodule may be missing. In this case Git will prompt for a GitHub user +name and password. To skip it press a @key{Return} key. + +You could get a Epkg package list by invoking @code{epkg-list-packages} in +Emacs.") + (license license:gpl3+)))) -- 2.16.2
guix-patches <at> gnu.org
:bug#30884
; Package guix-patches
.
(Tue, 20 Mar 2018 16:44:02 GMT) Full text and rfc822 format available.Message #26 received at 30884 <at> debbugs.gnu.org (full text, mbox):
From: Oleg Pykhalov <go.wigust <at> gmail.com> To: 30884 <at> debbugs.gnu.org Subject: guix lint produces warnings Date: Tue, 20 Mar 2018 19:43:24 +0300
Apologies, I forgot to invoke a ‘guix lint’. I'll fix those warnings: --8<---------------cut here---------------start------------->8--- gnu/packages/emacs.scm:7413:4: emacs-pg <at> 0.1-1.4f6516e: permanent redirect from https://github.com/cbbrowne/pg.el.git to https://github.com/cbbrowne/pg.el gnu/packages/emacs.scm:7464:4: emacs-finalize <at> 2.0.0: the source file name should contain the package name gnu/packages/emacs.scm:7581:5: emacs-closql <at> 0.5.1: the source file name should contain the package name gnu/packages/emacs.scm:7592:14: emacs-closql <at> 0.5.1: synopsis should start with an upper-case letter or digit --8<---------------cut here---------------end--------------->8--- Oleg.
guix-patches <at> gnu.org
:bug#30884
; Package guix-patches
.
(Wed, 04 Apr 2018 12:33:01 GMT) Full text and rfc822 format available.Message #29 received at 30884 <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Oleg Pykhalov <go.wigust <at> gmail.com> Cc: 30884 <at> debbugs.gnu.org Subject: Re: [bug#30884] [PATCH 1/6] gnu: Add emacs-pg. Date: Wed, 04 Apr 2018 14:32:19 +0200
Oleg Pykhalov <go.wigust <at> gmail.com> skribis: > * gnu/packages/emacs.scm (emacs-pg): New public variable. LGTM! > +This module lets you access the PostgreSQL object-relational DBMS from Emacs, > +using its socket-level frontend/backend protocol. The module is capable of > +automatic type coercions from a range of SQL types to the equivalent Emacs > +Lisp type. This is a low level API, and won't be useful to end users. Should > +work with GNU Emacs 19.34 and up, and XEmacs 20 and up. Performance is very > +poor when not byte-compiled.") I’d remove the last two sentences, which are unhelpful to Guix users. Thanks, Ludo’.
guix-patches <at> gnu.org
:bug#30884
; Package guix-patches
.
(Wed, 04 Apr 2018 12:33:02 GMT) Full text and rfc822 format available.Message #32 received at 30884 <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Oleg Pykhalov <go.wigust <at> gmail.com> Cc: 30884 <at> debbugs.gnu.org Subject: Re: [bug#30884] [PATCH 2/6] gnu: Add emacs-cl-generic. Date: Wed, 04 Apr 2018 14:32:50 +0200
Oleg Pykhalov <go.wigust <at> gmail.com> skribis: > * gnu/packages/emacs.scm (emacs-cl-generic): New public variable. [...] > + (synopsis "Forward cl-generic compatibility for Emacs before version 25") @code{cl-generic} Otherwise LGTM, thanks!
guix-patches <at> gnu.org
:bug#30884
; Package guix-patches
.
(Wed, 04 Apr 2018 12:34:01 GMT) Full text and rfc822 format available.Message #35 received at 30884 <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Oleg Pykhalov <go.wigust <at> gmail.com> Cc: 30884 <at> debbugs.gnu.org Subject: Re: [bug#30884] [PATCH 3/6] gnu: Add emacs-finalize. Date: Wed, 04 Apr 2018 14:33:07 +0200
Oleg Pykhalov <go.wigust <at> gmail.com> skribis: > * gnu/packages/emacs.scm (emacs-finalize): New public variable. LGTM!
guix-patches <at> gnu.org
:bug#30884
; Package guix-patches
.
(Wed, 04 Apr 2018 12:38:02 GMT) Full text and rfc822 format available.Message #38 received at 30884 <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Oleg Pykhalov <go.wigust <at> gmail.com> Cc: 30884 <at> debbugs.gnu.org, Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: Re: [bug#30884] [PATCH 4/6] gnu: Add emacs-emacsql. Date: Wed, 04 Apr 2018 14:37:24 +0200
Oleg Pykhalov <go.wigust <at> 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’.
guix-patches <at> gnu.org
:bug#30884
; Package guix-patches
.
(Wed, 04 Apr 2018 12:39:02 GMT) Full text and rfc822 format available.Message #41 received at 30884 <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Oleg Pykhalov <go.wigust <at> gmail.com> Cc: 30884 <at> debbugs.gnu.org Subject: Re: [bug#30884] [PATCH 5/6] gnu: Add emacs-closql. Date: Wed, 04 Apr 2018 14:38:27 +0200
Oleg Pykhalov <go.wigust <at> gmail.com> skribis: > * gnu/packages/emacs.scm (emacs-closql): New public variable. [...] > + (license license:gpl3))) ‘gpl3+’ Otherwise LGTM, modulo ‘guix lint’ warnings.
guix-patches <at> gnu.org
:bug#30884
; Package guix-patches
.
(Wed, 04 Apr 2018 12:40:01 GMT) Full text and rfc822 format available.Message #44 received at 30884 <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Oleg Pykhalov <go.wigust <at> gmail.com> Cc: 30884 <at> debbugs.gnu.org Subject: Re: [bug#30884] [PATCH 6/6] gnu: Add emacs-epkg. Date: Wed, 04 Apr 2018 14:39:19 +0200
Oleg Pykhalov <go.wigust <at> gmail.com> skribis: > * gnu/packages/emacs.scm (emacs-epkg): New public variable. LGTM, thanks! Ludo'.
guix-patches <at> gnu.org
:bug#30884
; Package guix-patches
.
(Sat, 14 Apr 2018 17:52:02 GMT) Full text and rfc822 format available.Message #47 received at 30884 <at> debbugs.gnu.org (full text, mbox):
From: Oleg Pykhalov <go.wigust <at> gmail.com> To: ludo <at> gnu.org (Ludovic Courtès) Cc: bug#30884 <30884 <at> debbugs.gnu.org> Subject: Re: Status: [PATCH 0/6] gnu: Add emacs-epkg. Date: Sat, 14 Apr 2018 20:50:47 +0300
[Message part 1 (text/plain, inline)]
Hello Ludovic, Thank you for review! I've applied all your suggestions except ‘set-emacs-load-path’. First of all this procedure is not exported. Another pitfall is ‘Invalid keyword’ error.
[Message part 2 (text/x-patch, inline)]
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 6258dbaed..d290a61b4 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -7733,7 +7733,8 @@ object has been freed.") ,@%gnu-build-system-modules (guix build emacs-utils)) #:imported-modules (,@%gnu-build-system-modules - (guix build emacs-utils)) + (guix build emacs-utils) + (guix build emacs-build-system)) #:phases (modify-phases %standard-phases (delete 'configure) @@ -7744,22 +7745,8 @@ object has been freed.") #t)) (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)) + ((@@ (guix build emacs-build-system) set-emacs-load-path) + inputs) #t)) (add-after 'setenv-emacsloadpath 'setenv-shell (lambda _
[Message part 3 (text/plain, inline)]
--8<---------------cut here---------------start------------->8--- ./pre-inst-env env GUIX_PACKAGE_PATH= guix build --no-grafts emacs-emacsql ;;; note: source file /home/natsu/src/guix/gnu/packages/emacs.scm ;;; newer than compiled /home/natsu/src/guix/gnu/packages/emacs.go ;;; note: source file /home/natsu/src/guix/gnu/packages/emacs.scm ;;; newer than compiled /home/natsu/.guix-profile/lib/guile/2.2/site-ccache/gnu/packages/emacs.go ;;; note: source file /home/natsu/src/guix/gnu/packages/emacs.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/emacs.go substitute: updating list of substitutes from 'https://berlin.guixsd.org'... 100.0% substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% substitute: updating list of substitutes from 'https://hydra.gnu.org'... 100.0% The following derivation will be built: /gnu/store/zjfh5lf4gaxrliwsihj9i80x9n15smkn-emacs-emacsql-2.0.3.drv @ build-started /gnu/store/zjfh5lf4gaxrliwsihj9i80x9n15smkn-emacs-emacsql-2.0.3.drv - x86_64-linux /var/log/guix/drvs/zj//fh5lf4gaxrliwsihj9i80x9n15smkn-emacs-emacsql-2.0.3.drv.bz2 starting phase `set-SOURCE-DATE-EPOCH' phase `set-SOURCE-DATE-EPOCH' succeeded after 0.0 seconds starting phase `set-paths' environment variable `PATH' set to `/gnu/store/k9slb2ysqp2n82pl6knb2isapav81dvx-tar-1.29/bin:/gnu/store/4r1g01m0isdfd4ahd8qigfp04276biv3-gzip-1.8/bin:/gnu/store/77l8sxh9py133cy1p9kypshji4q9wv0w-bzip2-1.0.6/bin:/gnu/store/kgaf671a9a76k0ql1pwwjxjbj80x22mj-xz-5.2.3/bin:/gnu/store/p7vdir85501lq7qsgrx5z2yrr0py26h1-file-5.32/bin:/gnu/store/rp61rxvajx4w1k0ci2nqi10y8xgds53b-diffutils-3.6/bin:/gnu/store/5gq1gn722zpz1crsnfmxij21zdxqj37x-patch-2.7.5/bin:/gnu/store/z24b9d81w7bfcyk3j73xixygwx2ymlhv-sed-4.4/bin:/gnu/store/0qxdnkyh0cqwflxhqa4v4vsjwff08j9p-findutils-4.6.0/bin:/gnu/store/1ymg8yf9imgw8ac4n3i611nsv1mb4643-gawk-4.1.4/bin:/gnu/store/5jhfm3r3h7cjl8qqc86rx70nw7bzizpf-grep-3.1/bin:/gnu/store/6i33ik7haav0hd5a797l3llkq04ghx6g-coreutils-8.28/bin:/gnu/store/vj24ah9a4kqsyhim2s4n6gvc4hsxhnli-make-4.2.1/bin:/gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgiml1-bash-minimal-4.4.12/bin:/gnu/store/37h89zknsp0p6nsszc1n4lyxc9s393ak-ld-wrapper-0/bin:/gnu/store/j7gsbkgq72qjas7plzvak40ymf0ybamq-binutils-2.28.1/bin:/gnu/store/cfdn69spjc44x4sd0acrwhxq6yay3rbc-gcc-5.5.0/bin:/gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d5379c/bin:/gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d5379c/sbin:/gnu/store/10sdmjxi2qv1z4v3pzsvhj7ycv62bi0n-emacs-minimal-25.3/bin:/gnu/store/vhdmylfq7vdfrpj0xqyf9kp833v6akbs-mysql-5.7.21/bin:/gnu/store/z0pyjzkv6c8mr3i9z6hmvnskf7471lbf-postgresql-10.3/bin' environment variable `BASH_LOADABLES_PATH' unset environment variable `C_INCLUDE_PATH' set to `/gnu/store/77l8sxh9py133cy1p9kypshji4q9wv0w-bzip2-1.0.6/include:/gnu/store/kgaf671a9a76k0ql1pwwjxjbj80x22mj-xz-5.2.3/include:/gnu/store/p7vdir85501lq7qsgrx5z2yrr0py26h1-file-5.32/include:/gnu/store/1ymg8yf9imgw8ac4n3i611nsv1mb4643-gawk-4.1.4/include:/gnu/store/vj24ah9a4kqsyhim2s4n6gvc4hsxhnli-make-4.2.1/include:/gnu/store/j7gsbkgq72qjas7plzvak40ymf0ybamq-binutils-2.28.1/include:/gnu/store/cfdn69spjc44x4sd0acrwhxq6yay3rbc-gcc-5.5.0/include:/gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d5379c/include:/gnu/store/vhdmylfq7vdfrpj0xqyf9kp833v6akbs-mysql-5.7.21/include:/gnu/store/z0pyjzkv6c8mr3i9z6hmvnskf7471lbf-postgresql-10.3/include:/gnu/store/yqahwgll57j88bq275m4xvifg9x3alsb-linux-libre-headers-4.9.59/include' environment variable `CPLUS_INCLUDE_PATH' set to `/gnu/store/77l8sxh9py133cy1p9kypshji4q9wv0w-bzip2-1.0.6/include:/gnu/store/kgaf671a9a76k0ql1pwwjxjbj80x22mj-xz-5.2.3/include:/gnu/store/p7vdir85501lq7qsgrx5z2yrr0py26h1-file-5.32/include:/gnu/store/1ymg8yf9imgw8ac4n3i611nsv1mb4643-gawk-4.1.4/include:/gnu/store/vj24ah9a4kqsyhim2s4n6gvc4hsxhnli-make-4.2.1/include:/gnu/store/j7gsbkgq72qjas7plzvak40ymf0ybamq-binutils-2.28.1/include:/gnu/store/cfdn69spjc44x4sd0acrwhxq6yay3rbc-gcc-5.5.0/include:/gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d5379c/include:/gnu/store/vhdmylfq7vdfrpj0xqyf9kp833v6akbs-mysql-5.7.21/include:/gnu/store/z0pyjzkv6c8mr3i9z6hmvnskf7471lbf-postgresql-10.3/include:/gnu/store/yqahwgll57j88bq275m4xvifg9x3alsb-linux-libre-headers-4.9.59/include' environment variable `LIBRARY_PATH' set to `/gnu/store/77l8sxh9py133cy1p9kypshji4q9wv0w-bzip2-1.0.6/lib:/gnu/store/kgaf671a9a76k0ql1pwwjxjbj80x22mj-xz-5.2.3/lib:/gnu/store/p7vdir85501lq7qsgrx5z2yrr0py26h1-file-5.32/lib:/gnu/store/1ymg8yf9imgw8ac4n3i611nsv1mb4643-gawk-4.1.4/lib:/gnu/store/j7gsbkgq72qjas7plzvak40ymf0ybamq-binutils-2.28.1/lib:/gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d5379c/lib:/gnu/store/hrhxx37z97j7pniyr437illc0b5qq9pa-glibc-2.26.105-g0890d5379c-static/lib:/gnu/store/q7jz2as54ycdvjg7zggxxjkxjrp6d5mr-glibc-utf8-locales-2.26.105-g0890d5379c/lib:/gnu/store/vhdmylfq7vdfrpj0xqyf9kp833v6akbs-mysql-5.7.21/lib:/gnu/store/z0pyjzkv6c8mr3i9z6hmvnskf7471lbf-postgresql-10.3/lib' environment variable `GUIX_LOCPATH' set to `/gnu/store/q7jz2as54ycdvjg7zggxxjkxjrp6d5mr-glibc-utf8-locales-2.26.105-g0890d5379c/lib/locale' environment variable `INFOPATH' set to `/gnu/store/k9slb2ysqp2n82pl6knb2isapav81dvx-tar-1.29/share/info:/gnu/store/4r1g01m0isdfd4ahd8qigfp04276biv3-gzip-1.8/share/info:/gnu/store/rp61rxvajx4w1k0ci2nqi10y8xgds53b-diffutils-3.6/share/info:/gnu/store/z24b9d81w7bfcyk3j73xixygwx2ymlhv-sed-4.4/share/info:/gnu/store/0qxdnkyh0cqwflxhqa4v4vsjwff08j9p-findutils-4.6.0/share/info:/gnu/store/1ymg8yf9imgw8ac4n3i611nsv1mb4643-gawk-4.1.4/share/info:/gnu/store/5jhfm3r3h7cjl8qqc86rx70nw7bzizpf-grep-3.1/share/info:/gnu/store/6i33ik7haav0hd5a797l3llkq04ghx6g-coreutils-8.28/share/info:/gnu/store/vj24ah9a4kqsyhim2s4n6gvc4hsxhnli-make-4.2.1/share/info:/gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgiml1-bash-minimal-4.4.12/share/info:/gnu/store/j7gsbkgq72qjas7plzvak40ymf0ybamq-binutils-2.28.1/share/info:/gnu/store/cfdn69spjc44x4sd0acrwhxq6yay3rbc-gcc-5.5.0/share/info:/gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d5379c/share/info:/gnu/store/10sdmjxi2qv1z4v3pzsvhj7ycv62bi0n-emacs-minimal-25.3/share/info' phase `set-paths' succeeded after 0.0 seconds starting phase `install-locale' using 'en_US.utf8' locale for category "LC_ALL" phase `install-locale' succeeded after 0.0 seconds starting phase `unpack' emacsql-2.0.3/ emacsql-2.0.3/.dir-locals.el emacsql-2.0.3/.gitignore emacsql-2.0.3/Makefile emacsql-2.0.3/README.md emacsql-2.0.3/UNLICENSE emacsql-2.0.3/emacsql-compiler.el emacsql-2.0.3/emacsql-mysql.el emacsql-2.0.3/emacsql-pg.el emacsql-2.0.3/emacsql-psql.el emacsql-2.0.3/emacsql-sqlite.el emacsql-2.0.3/emacsql-system.el emacsql-2.0.3/emacsql.el emacsql-2.0.3/sqlite/ emacsql-2.0.3/sqlite/.gitignore emacsql-2.0.3/sqlite/Makefile emacsql-2.0.3/sqlite/emacsql.c emacsql-2.0.3/sqlite/sqlite3.c emacsql-2.0.3/sqlite/sqlite3.h emacsql-2.0.3/tests/ emacsql-2.0.3/tests/.nosearch emacsql-2.0.3/tests/emacsql-compiler-tests.el emacsql-2.0.3/tests/emacsql-external-tests.el emacsql-2.0.3/tests/emacsql-tests.el phase `unpack' succeeded after 0.0 seconds starting phase `patch-usr-bin-file' phase `patch-usr-bin-file' succeeded after 0.0 seconds starting phase `patch-source-shebangs' phase `patch-source-shebangs' succeeded after 0.0 seconds starting phase `patch-generated-file-shebangs' phase `patch-generated-file-shebangs' succeeded after 0.0 seconds starting phase `patch-elisp-shell-shebangs' phase `patch-elisp-shell-shebangs' succeeded after 0.0 seconds starting phase `setenv-emacsloadpath' Backtrace: 5 (primitive-load "/gnu/store/qr6bdp56ccgnj02znamwngjvlpp…") In ice-9/eval.scm: 191:35 4 (_ #f) In srfi/srfi-1.scm: 863:16 3 (every1 #<procedure 92c860 at /gnu/store/dniwjwywb9lkd…> …) In /gnu/store/dniwjwywb9lkdxwa6sn3hcpm4bbm6r32-module-import/guix/build/gnu-build-system.scm: 711:27 2 (_ _) In ice-9/eval.scm: 619:8 1 (_ #(#(#<directory (guile-user) 7ce140>) (("s…" . #) …))) In /gnu/store/dniwjwywb9lkdxwa6sn3hcpm4bbm6r32-module-import/guix/build/emacs-build-system.scm: 77:0 0 (set-emacs-load-path #:inputs _) /gnu/store/dniwjwywb9lkdxwa6sn3hcpm4bbm6r32-module-import/guix/build/emacs-build-system.scm:77:0: In procedure set-emacs-load-path: Invalid keyword: (("source" . "/gnu/store/304az1rlv6nbmfq661yfv4r89y6z4dpb-emacs-emacsql-2.0.3.tar.gz") ("tar" . "/gnu/store/k9slb2ysqp2n82pl6knb2isapav81dvx-tar-1.29") ("gzip" . "/gnu/store/4r1g01m0isdfd4ahd8qigfp04276biv3-gzip-1.8") ("bzip2" . "/gnu/store/77l8sxh9py133cy1p9kypshji4q9wv0w-bzip2-1.0.6") ("xz" . "/gnu/store/kgaf671a9a76k0ql1pwwjxjbj80x22mj-xz-5.2.3") ("file" . "/gnu/store/p7vdir85501lq7qsgrx5z2yrr0py26h1-file-5.32") ("diffutils" . "/gnu/store/rp61rxvajx4w1k0ci2nqi10y8xgds53b-diffutils-3.6") ("patch" . "/gnu/store/5gq1gn722zpz1crsnfmxij21zdxqj37x-patch-2.7.5") ("sed" . "/gnu/store/z24b9d81w7bfcyk3j73xixygwx2ymlhv-sed-4.4") ("findutils" . "/gnu/store/0qxdnkyh0cqwflxhqa4v4vsjwff08j9p-findutils-4.6.0") ("gawk" . "/gnu/store/1ymg8yf9imgw8ac4n3i611nsv1mb4643-gawk-4.1.4") ("grep" . "/gnu/store/5jhfm3r3h7cjl8qqc86rx70nw7bzizpf-grep-3.1") ("coreutils" . "/gnu/store/6i33ik7haav0hd5a797l3llkq04ghx6g-coreutils-8.28") ("make" . "/gnu/store/vj24ah9a4kqsyhim2s4n6gvc4hsxhnli-make-4.2.1") ("bash" . "/gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgiml1-bash-minimal-4.4.12") ("ld-wrapper" . "/gnu/store/37h89zknsp0p6nsszc1n4lyxc9s393ak-ld-wrapper-0") ("binutils" . "/gnu/store/j7gsbkgq72qjas7plzvak40ymf0ybamq-binutils-2.28.1") ("gcc" . "/gnu/store/cfdn69spjc44x4sd0acrwhxq6yay3rbc-gcc-5.5.0") ("libc" . "/gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d5379c") ("libc:static" . "/gnu/store/hrhxx37z97j7pniyr437illc0b5qq9pa-glibc-2.26.105-g0890d5379c-static") ("locales" . "/gnu/store/q7jz2as54ycdvjg7zggxxjkxjrp6d5mr-glibc-utf8-locales-2.26.105-g0890d5379c") ("emacs-minimal" . "/gnu/store/10sdmjxi2qv1z4v3pzsvhj7ycv62bi0n-emacs-minimal-25.3") ("mysql" . "/gnu/store/vhdmylfq7vdfrpj0xqyf9kp833v6akbs-mysql-5.7.21") ("postgresql" . "/gnu/store/z0pyjzkv6c8mr3i9z6hmvnskf7471lbf-postgresql-10.3") ("emacs-finalize" . "/gnu/store/dz0glc49z7nlx37fcjdf3w9gd736cbib-emacs-finalize-2.0.0") ("emacs-pg" . "/gnu/store/jhqq4v9i6d9zl248z10nmdvk7l8m3h6g-emacs-pg-0.1-1.4f6516e") ("kernel-headers" . "/gnu/store/yqahwgll57j88bq275m4xvifg9x3alsb-linux-libre-headers-4.9.59") ("emacs-cl-generic" . "/gnu/store/d5lnalnrxa2ia2hjzbs2bqw4srlr9777-emacs-cl-generic-0.3")) builder for `/gnu/store/zjfh5lf4gaxrliwsihj9i80x9n15smkn-emacs-emacsql-2.0.3.drv' failed with exit code 1 @ build-failed /gnu/store/zjfh5lf4gaxrliwsihj9i80x9n15smkn-emacs-emacsql-2.0.3.drv - 1 builder for `/gnu/store/zjfh5lf4gaxrliwsihj9i80x9n15smkn-emacs-emacsql-2.0.3.drv' failed with exit code 1 guix build: error: build failed: build of `/gnu/store/zjfh5lf4gaxrliwsihj9i80x9n15smkn-emacs-emacsql-2.0.3.drv' failed --8<---------------cut here---------------end--------------->8--- I've fixed all linter warnings reported by this command: --8<---------------cut here---------------start------------->8--- ./pre-inst-env env GUIX_PACKAGE_PATH= guix lint $(PAGER= git log --oneline | head -n 6 | cut -d ' ' -f 4 | sed 's/\.//' | tr '\n' ' ') --8<---------------cut here---------------end--------------->8--- Also I've tested an Emacs ‘epkg-list-packages’ procedure inside: --8<---------------cut here---------------start------------->8--- ./pre-inst-env env GUIX_PACKAGE_PATH= guix environment --no-grafts --ad-hoc emacs-epkg emacs --8<---------------cut here---------------end--------------->8--- I could push a set of patches without ‘set-emacs-load-path’. WDYT? Oleg.
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#30884
; Package guix-patches
.
(Mon, 16 Apr 2018 14:09:02 GMT) Full text and rfc822 format available.Message #50 received at 30884 <at> debbugs.gnu.org (full text, mbox):
From: Oleg Pykhalov <go.wigust <at> gmail.com> To: ludo <at> gnu.org (Ludovic Courtès) Cc: 30884 <at> debbugs.gnu.org, 30884-done <at> debbugs.gnu.org Subject: Re: [bug#30884] Status: [PATCH 0/6] gnu: Add emacs-epkg. Date: Mon, 16 Apr 2018 17:08:07 +0300
[Message part 1 (text/plain, inline)]
Oleg Pykhalov <go.wigust <at> gmail.com> writes: > Hello Ludovic, > > Thank you for review! > > I've applied all your suggestions except ‘set-emacs-load-path’. Replacing ‘gnu-build-system’ with ‘emacs-build-system’ does the job. Pushed as: 452454e30 gnu: Add emacs-epkg. 93aba854d gnu: Add emacs-closql. 4d089b5e5 gnu: Add emacs-emacsql. 6c92b4406 gnu: Add emacs-finalize. 5b6d67476 gnu: Add emacs-cl-generic. 086bfb37a gnu: Add emacs-pg. […] I'll close the bug report. Oleg.
[signature.asc (application/pgp-signature, inline)]
Oleg Pykhalov <go.wigust <at> gmail.com>
:Oleg Pykhalov <go.wigust <at> gmail.com>
:guix-patches <at> gnu.org
:bug#30884
; Package guix-patches
.
(Thu, 19 Apr 2018 01:10:01 GMT) Full text and rfc822 format available.Message #58 received at 30884 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: Oleg Pykhalov <go.wigust <at> gmail.com> Cc: bug#30884 <30884 <at> debbugs.gnu.org>, Ludovic Courtès <ludo <at> gnu.org> Subject: Re: [bug#30884] Status: [PATCH 0/6] gnu: Add emacs-epkg. Date: Wed, 18 Apr 2018 21:09:06 -0400
Hi Oleg, Oleg Pykhalov <go.wigust <at> gmail.com> writes: > Hello Ludovic, > > Thank you for review! > > I've applied all your suggestions except ‘set-emacs-load-path’. First > of all this procedure is not exported. Phases are typically not exported individually, but as an alist of all the phases of the build system, as `%standard-phases'. > Another pitfall is ‘Invalid > keyword’ error. > > diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm > index 6258dbaed..d290a61b4 100644 > --- a/gnu/packages/emacs.scm > +++ b/gnu/packages/emacs.scm > @@ -7733,7 +7733,8 @@ object has been freed.") > ,@%gnu-build-system-modules > (guix build emacs-utils)) > #:imported-modules (,@%gnu-build-system-modules > - (guix build emacs-utils)) > + (guix build emacs-utils) > + (guix build emacs-build-system)) > #:phases > (modify-phases %standard-phases > (delete 'configure) > @@ -7744,22 +7745,8 @@ object has been freed.") > #t)) > (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)) > + ((@@ (guix build emacs-build-system) set-emacs-load-path) > + inputs) As `set-emacs-load-path' is a phase itself, it expects to be called as such, with keyworded arguments. It would be simpler to just insert the phase as in: --8<---------------cut here---------------start------------->8--- ;; Add this to the define-module top level definition: ;; (define-module (gnu packages emacs) ;; ... ;; #:use-module ((guix build emacs-build-system) #:prefix emacs:) ;; ... (add-after 'patch-elisp-shell-shebangs (assoc-ref emacs:%standard-phases 'set-emacs-load-path)) --8<---------------cut here---------------start------------->8--- HTH, Maxim
guix-patches <at> gnu.org
:bug#30884
; Package guix-patches
.
(Thu, 19 Apr 2018 02:09:01 GMT) Full text and rfc822 format available.Message #61 received at 30884 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: Oleg Pykhalov <go.wigust <at> gmail.com> Cc: bug#30884 <30884 <at> debbugs.gnu.org>, Ludovic Courtès <ludo <at> gnu.org> Subject: Re: [bug#30884] Status: [PATCH 0/6] gnu: Add emacs-epkg. Date: Wed, 18 Apr 2018 22:07:56 -0400
Hello again, Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes: > Hi Oleg, > > Oleg Pykhalov <go.wigust <at> gmail.com> writes: > >> Hello Ludovic, >> >> Thank you for review! >> >> I've applied all your suggestions except ‘set-emacs-load-path’. First >> of all this procedure is not exported. > > Phases are typically not exported individually, but as an alist of all > the phases of the build system, as `%standard-phases'. [...] > As `set-emacs-load-path' is a phase itself, it expects to be called as > such, with keyworded arguments. It would be simpler to just insert the > phase as in: > ;; Add this to the define-module top level definition: > ;; (define-module (gnu packages emacs) > ;; ... > ;; #:use-module ((guix build emacs-build-system) #:prefix emacs:) > ;; ... Actually, you don't want to import this at the top-level of the emacs.scm module but rather specify the import using the #:modules argument passed to the build system. Here's a complete example (not yet merged in master, currently under review): --8<---------------cut here---------------start------------->8--- (define-public emacs-pdf-tools (package (name "emacs-pdf-tools") (version "0.80") (source (origin (method url-fetch) (uri (string-append "https://github.com/politza/pdf-tools/archive/v" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "06imydn3a92vr57azpn1zhqc14kxyyslmyi9ldsyphan9b724gb6")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; there are no tests #:modules ((guix build gnu-build-system) ((guix build emacs-build-system) #:prefix emacs:) (guix build utils) (guix build emacs-utils)) #:imported-modules (,@%gnu-build-system-modules (guix build emacs-build-system) (guix build emacs-utils)) #:phases (modify-phases %standard-phases ;; Build server side using 'gnu-build-system'. (add-after 'unpack 'enter-server-dir (lambda _ (chdir "server") #t)) (add-after 'enter-server-dir 'autogen (lambda _ (zero? (system* "bash" "autogen.sh")))) ;; Build emacs side using 'emacs-build-system'. (add-after 'compress-documentation 'enter-lisp-dir (lambda _ (chdir "../lisp") #t)) (add-after 'enter-lisp-dir 'emacs-patch-variables (lambda* (#:key outputs #:allow-other-keys) ;; Set path to epdfinfo program. (emacs-substitute-variables "pdf-info.el" ("pdf-info-epdfinfo-program" (string-append (assoc-ref outputs "out") "/bin/epdfinfo"))) ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto ;; upgrading" that pdf-tools tries to perform. (emacs-substitute-variables "pdf-tools.el" ("pdf-tools-handle-upgrades" '())))) (add-after 'emacs-patch-variables 'set-emacs-load-path (assoc-ref emacs:%standard-phases 'set-emacs-load-path)) (add-after 'set-emacs-load-path 'emacs-install (assoc-ref emacs:%standard-phases 'install)) (add-after 'emacs-install 'emacs-build (assoc-ref emacs:%standard-phases 'build)) (add-after 'emacs-install 'emacs-make-autoloads (assoc-ref emacs:%standard-phases 'make-autoloads))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("pkg-config" ,pkg-config) ("emacs" ,emacs-minimal))) (inputs `(("poppler" ,poppler) ("cairo" ,cairo) ("glib" ,glib) ("libpng" ,libpng) ("zlib" ,zlib))) (propagated-inputs `(("tablist" ,emacs-tablist))) (synopsis "Emacs support library for PDF files") (description "PDF Tools is, among other things, a replacement of DocView for PDF files. The key difference is that pages are not pre-rendered by e.g. ghostscript and stored in the file-system, but rather created on-demand and stored in memory.") (home-page "https://github.com/politza/pdf-tools") (license license:gpl3+))) --8<---------------cut here---------------end--------------->8--- HTH, Maxim
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Thu, 17 May 2018 11:24:05 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.