[PATCH] gnu: Add eweouz.

  • Done
  • quality assurance status badge
Details
3 participants
  • Ludovic Courtès
  • Nicolas Goaziou
  • Simon Josefsson
Owner
unassigned
Submitted by
Simon Josefsson
Severity
normal
S
S
Simon Josefsson wrote on 27 Dec 2022 23:47
(address . guix-patches@gnu.org)
871qok1n2m.fsf@josefsson.org
Hi. This adds a GNOME Evolution Data Server interface to Emacs. Test
it by adding a contact to the EDS address book (e.g., through GNOME
Contacts) and then do 'emacs -q' and M-x eweouz RET and search for parts
of the name of the contact.

While the package builds and works for me, I would appreciate a review
so I can learn -- I wrote this without understanding anything of what I
was doing, but merely pattern-matched things against other existing
packages that looked relevant.

/Simon
From 52b0ad49ef0436346f53bebee4690961fba9cf90 Mon Sep 17 00:00:00 2001
From: Simon Josefsson <simon@josefsson.org>
Date: Tue, 27 Dec 2022 23:38:33 +0100
Subject: [PATCH] gnu: Add eweouz.

* gnu/packages/emacs-xyz.scm (eweouz): New variable.
---
gnu/packages/emacs-xyz.scm | 66 ++++++++++++++++++++++++++++++++++++++
1 file changed, 66 insertions(+)

Toggle diff (86 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index fb4c9b70f9..adb0689df1 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -119,6 +119,7 @@
;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2022 Thiago Jung Bauermann <bauermann@kolabnow.com>
;;; Copyright © 2022 Joeke de Graaf <joeke@posteo.net>
+;;; Copyright © 2022 Simon Josefsson <simon@josefsson.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3053,6 +3054,71 @@ (define-public emacs-bbdb-vcard
(BBDB). Version 2.1 vCards are converted into version 3.0 on import.")
(license license:gpl2+))))
+(define-public eweouz
+ (package
+ (name "eweouz")
+ (version "0.12")
+ (source
+ (origin
+ (method url-fetch)
+ ;; README's git://git.err.no/eweouz is gone
+ (uri (string-append "mirror://debian/pool/main/e/eweouz/"
+ "eweouz_" version ".tar.xz"))
+ (file-name (string-append name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "192zl3dyphhvcrvn65bqsrc4h6zks8b747lp6pqbpbmsqy4g4mr8"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #: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))
+ #:configure-flags
+ (list (string-append "--with-lispdir="
+ (emacs:elpa-directory %output)))
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'bootstrap
+ (lambda _ (invoke "autoreconf" "-vif") #t))
+ (add-after 'compress-documentation 'enter-lisp-dir
+ (lambda _ (chdir "lisp/")))
+ (add-after 'enter-lisp-dir 'emacs-patch-variables
+ (lambda* (#:key outputs #:allow-other-keys)
+ (make-file-writable "eweouz.el")
+ (substitute* "eweouz.el"
+ (("\\(setq eweouz-helper-dirs '\\(")
+ (format #f "(setq eweouz-helper-dirs '(~s "
+ (string-append (assoc-ref outputs "out")
+ "/libexec/eweouz"))))))
+ (add-after 'emacs-patch-variables 'emacs-expand-load-path
+ (assoc-ref emacs:%standard-phases 'expand-load-path))
+ (add-after 'emacs-expand-load-path 'emacs-add-install-to-native-load-path
+ (assoc-ref emacs:%standard-phases 'add-install-to-native-load-path))
+ (add-after 'emacs-add-install-to-native-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
+ (list autoconf
+ automake
+ emacs-minimal
+ pkg-config))
+ (inputs
+ (list evolution-data-server))
+ (home-page "https://tracker.debian.org/pkg/eweouz")
+ (synopsis "Emacs interface to Evolution Data Server")
+ (description
+ "eweouz is an tool for looking up contacts from Evolution Data Server
+from Emacs. It is similar to BBDB, except much, much simpler.")
+ (license license:gpl2)))
+
(define-public emacs-beacon
(package
(name "emacs-beacon")
--
2.38.1
-----BEGIN PGP SIGNATURE-----

iIoEARYIADIWIQSjzJyHC50xCrrUzy9RcisI/kdFogUCY6t18RQcc2ltb25Aam9z
ZWZzc29uLm9yZwAKCRBRcisI/kdFoqrmAPsF8U5PZ/etuWm9EKDJZ/8JGa8mCSsr
jZhpxqSqVsHlwAD/UwriKvfe9MkMRB7J2HlZFZ6tU9eLVrickE5Kn0Fi4AM=
=PH9t
-----END PGP SIGNATURE-----

L
L
Ludovic Courtès wrote on 31 Jan 2023 23:42
(name . Simon Josefsson)(address . simon@josefsson.org)(address . 60369@debbugs.gnu.org)
877cx2s4vl.fsf@gnu.org
Hi Simon,

Simon Josefsson <simon@josefsson.org> skribis:

Toggle quote (5 lines)
> While the package builds and works for me, I would appreciate a review
> so I can learn -- I wrote this without understanding anything of what I
> was doing, but merely pattern-matched things against other existing
> packages that looked relevant.

Let’s see.

Toggle quote (7 lines)
> From 52b0ad49ef0436346f53bebee4690961fba9cf90 Mon Sep 17 00:00:00 2001
> From: Simon Josefsson <simon@josefsson.org>
> Date: Tue, 27 Dec 2022 23:38:33 +0100
> Subject: [PATCH] gnu: Add eweouz.
>
> * gnu/packages/emacs-xyz.scm (eweouz): New variable.

[...]

Toggle quote (4 lines)
> +(define-public eweouz
> + (package
> + (name "eweouz")

Rather “emacs-eweouz” (info "(guix) Package Naming").

Toggle quote (4 lines)
> + (build-system gnu-build-system)
> + (arguments
> + `(#:tests? #f

Please add a short comment saying why tests are disabled.

Toggle quote (4 lines)
> + (modify-phases %standard-phases
> + (replace 'bootstrap
> + (lambda _ (invoke "autoreconf" "-vif") #t))

Is this needed? The default ‘bootstrap’ phase does that, roughly. You
can omit the trailing #t too.

Toggle quote (6 lines)
> + (synopsis "Emacs interface to Evolution Data Server")
> + (description
> + "eweouz is an tool for looking up contacts from Evolution Data Server
> +from Emacs. It is similar to BBDB, except much, much simpler.")
> + (license license:gpl2)))

Might be ‘gpl2+’, unless it explicitly states “version 2 only”.

That’s all I have to say! Overall it’s looking good. :-)

Could you send an updated patch?

Thanks,
Ludo’.
S
S
Simon Josefsson wrote on 5 Feb 2023 18:08
Re: [bug#60369] [PATCH v2] gnu: Add eweouz.
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 60369@debbugs.gnu.org)
87bkm859at.fsf_-_@josefsson.org
Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (11 lines)
> Hi Simon,
>
> Simon Josefsson <simon@josefsson.org> skribis:
>
>> While the package builds and works for me, I would appreciate a review
>> so I can learn -- I wrote this without understanding anything of what I
>> was doing, but merely pattern-matched things against other existing
>> packages that looked relevant.
>
> Let’s see.

Hi. Thank you for reviewing this.

Toggle quote (6 lines)
>> +(define-public eweouz
>> + (package
>> + (name "eweouz")
>
> Rather “emacs-eweouz” (info "(guix) Package Naming").

Okay. The package provides non-emacs tools too, but I agree
emacs-eweouz is more appropriate since few are likely to use the tools
outside of the Emacs context.

Toggle quote (6 lines)
>> + (build-system gnu-build-system)
>> + (arguments
>> + `(#:tests? #f
>
> Please add a short comment saying why tests are disabled.

I re-enabled the tests now. Upstream doesn't ship any tests, but at
least we shouldn't disable them in case there is ever a new version that
adds self-test.

Toggle quote (6 lines)
>> + (modify-phases %standard-phases
>> + (replace 'bootstrap
>> + (lambda _ (invoke "autoreconf" "-vif") #t))
>
> Is this needed? The default ‘bootstrap’ phase does that, roughly.

It appears to be needed. The eweouz tarball contains autogen.sh:

aclocal
autoheader
automake --copy --add-missing --foreign
autoconf
./configure --enable-maintainer-mode "$@"

And guix build seems to prefer invoking autogen.sh over autoreconf,
which causes this failure:

starting phase `bootstrap'
running './autogen.sh'
patch-shebang: ./autogen.sh: changing `/bin/sh' to `/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/sh'
configure.ac:10: installing './compile'
configure.ac:4: installing './install-sh'
configure.ac:4: installing './missing'
src/Makefile.am: installing './depcomp'
./autogen.sh: ./configure: /bin/sh: bad interpreter: No such file or directory
error: in phase 'bootstrap': uncaught exception:
%exception #<&invoke-error program: "./autogen.sh" arguments: () exit-status: 126 term-signal: #f stop-signal: #f>
phase `bootstrap' failed after 0.6 seconds
command "./autogen.sh" failed with status 126

Toggle quote (2 lines)
> You can omit the trailing #t too.

Nice catch, fixed.

Toggle quote (8 lines)
>> + (synopsis "Emacs interface to Evolution Data Server")
>> + (description
>> + "eweouz is an tool for looking up contacts from Evolution Data Server
>> +from Emacs. It is similar to BBDB, except much, much simpler.")
>> + (license license:gpl2)))
>
> Might be ‘gpl2+’, unless it explicitly states “version 2 only”.

The majority is GPLv2-only. The essential files in eweouz are the
following:

src/eweouz-dump-addressbook.c GPLv2-only
src/eweouz-write-addressbook.c GPLv2-only
lisp/eweouz.el GPLv2-only
lisp/vcard.el GPLv2+

Is there a way to express that? I can't seem to find any documentation
for the (license...) clause (or am I missing it?), but I added both
licenses now and a comment.

Toggle quote (4 lines)
> That’s all I have to say! Overall it’s looking good. :-)
>
> Could you send an updated patch?

See attached.

/Simon
From 24f79d8bd21fc7e4687c89bc920b33d6bf62cba9 Mon Sep 17 00:00:00 2001
From: Simon Josefsson <simon@josefsson.org>
Date: Sun, 5 Feb 2023 18:06:08 +0100
Subject: [PATCH] gnu: Add eweouz.

* gnu/packages/emacs-xyz.scm (eweouz): New variable.
---
gnu/packages/emacs-xyz.scm | 66 ++++++++++++++++++++++++++++++++++++++
1 file changed, 66 insertions(+)

Toggle diff (86 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index d30696c7be..17d09a858d 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -122,6 +122,7 @@
;;; Copyright © 2023 Simon Streit <simon@netpanic.org>
;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net>
+;;; Copyright © 2022-2023 Simon Josefsson <simon@josefsson.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3155,6 +3156,71 @@ (define-public emacs-bbdb-vcard
(BBDB). Version 2.1 vCards are converted into version 3.0 on import.")
(license license:gpl2+))))
+(define-public emacs-eweouz
+ (package
+ (name "emacs-eweouz")
+ (version "0.12")
+ (source
+ (origin
+ (method url-fetch)
+ ;; README's git://git.err.no/eweouz is gone
+ (uri (string-append "mirror://debian/pool/main/e/eweouz/"
+ "eweouz_" version ".tar.xz"))
+ (file-name (string-append name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "192zl3dyphhvcrvn65bqsrc4h6zks8b747lp6pqbpbmsqy4g4mr8"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#: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))
+ #:configure-flags
+ (list (string-append "--with-lispdir="
+ (emacs:elpa-directory %output)))
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'bootstrap
+ (lambda _ (invoke "autoreconf" "-vif")))
+ (add-after 'compress-documentation 'enter-lisp-dir
+ (lambda _ (chdir "lisp/")))
+ (add-after 'enter-lisp-dir 'emacs-patch-variables
+ (lambda* (#:key outputs #:allow-other-keys)
+ (make-file-writable "eweouz.el")
+ (substitute* "eweouz.el"
+ (("\\(setq eweouz-helper-dirs '\\(")
+ (format #f "(setq eweouz-helper-dirs '(~s "
+ (string-append (assoc-ref outputs "out")
+ "/libexec/eweouz"))))))
+ (add-after 'emacs-patch-variables 'emacs-expand-load-path
+ (assoc-ref emacs:%standard-phases 'expand-load-path))
+ (add-after 'emacs-expand-load-path 'emacs-add-install-to-native-load-path
+ (assoc-ref emacs:%standard-phases 'add-install-to-native-load-path))
+ (add-after 'emacs-add-install-to-native-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
+ (list autoconf
+ automake
+ emacs-minimal
+ pkg-config))
+ (inputs
+ (list evolution-data-server))
+ (home-page "https://tracker.debian.org/pkg/eweouz")
+ (synopsis "Emacs interface to Evolution Data Server")
+ (description
+ "eweouz is an tool for looking up contacts from Evolution Data Server
+from Emacs. It is similar to BBDB, except much, much simpler.")
+ ;; Most things are GPLv2-only although lisp/vcard.el is GPLv2+.
+ (license (list license:gpl2 license:gpl2+))))
+
(define-public emacs-beacon
(package
(name "emacs-beacon")
--
2.38.1
-----BEGIN PGP SIGNATURE-----

iIoEARYIADIWIQSjzJyHC50xCrrUzy9RcisI/kdFogUCY9/iqhQcc2ltb25Aam9z
ZWZzc29uLm9yZwAKCRBRcisI/kdFoiGDAPwKfcp1yJXctSO9XKLesyxnjobPIre9
3ChuccEn5JFlygEAlTxjT2W0j9HvxgXAqRTcO8hM+BQYTqTV7hMr1V3nswY=
=rAQ4
-----END PGP SIGNATURE-----

S
S
Simon Josefsson wrote on 28 Apr 2023 10:35
(name . Simon Josefsson via Guix-patches via)(address . guix-patches@gnu.org)
877ctw8kv2.fsf@kaka.sjd.se
Does anyone have further feedback on the second version of this patch?

/Simon
-----BEGIN PGP SIGNATURE-----

iIoEARYIADIWIQSjzJyHC50xCrrUzy9RcisI/kdFogUCZEuFYRQcc2ltb25Aam9z
ZWZzc29uLm9yZwAKCRBRcisI/kdFoq//AP90SMhXi3F0wr++ZkoBP0rzruYxCUmz
/hdds6aSC6k8mwEAj4GYDchGQl73p/XgLCcD0Y40QiBx84rXOiu9BuVlZA0=
=FYr0
-----END PGP SIGNATURE-----

N
N
Nicolas Goaziou wrote on 3 May 2023 14:59
(name . Simon Josefsson via Guix-patches via)(address . guix-patches@gnu.org)
87a5ylvadx.fsf@nicolasgoaziou.fr
Hello,

Thank you.

Toggle quote (2 lines)
> + (arguments

You should use G-expressions from here:

(list
#:modules '(...)
#:imported-modules `(...)
#:configure-flags
#~(list (string-append ... (emacs:elpa-directory #$output))))
#:phases
#~(modify-phases ...)

Toggle quote (3 lines)
> + (add-after 'enter-lisp-dir 'emacs-patch-variables
> + (lambda* (#:key outputs #:allow-other-keys)

This is not necessary: lambda _

Toggle quote (2 lines)
> + (make-file-writable "eweouz.el")

I think you can remove this line.

Toggle quote (6 lines)
> + (substitute* "eweouz.el"
> + (("\\(setq eweouz-helper-dirs '\\(")
> + (format #f "(setq eweouz-helper-dirs '(~s "
> + (string-append (assoc-ref outputs "out")
> + "/libexec/eweouz"))))))

You should use emacs:emacs-substitute-variables here.

Toggle quote (23 lines)
> + (add-after 'emacs-patch-variables 'emacs-expand-load-path
> + (assoc-ref emacs:%standard-phases 'expand-load-path))
> + (add-after 'emacs-expand-load-path 'emacs-add-install-to-native-load-path
> + (assoc-ref emacs:%standard-phases 'add-install-to-native-load-path))
> + (add-after 'emacs-add-install-to-native-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
> + (list autoconf
> + automake
> + emacs-minimal
> + pkg-config))
> + (inputs
> + (list evolution-data-server))
> + (home-page "https://tracker.debian.org/pkg/eweouz")
> + (synopsis "Emacs interface to Evolution Data Server")
> + (description
> + "eweouz is an tool for looking up contacts from Evolution Data
> Server

Typo and capitalization: Eweouz is a tool...

Toggle quote (2 lines)
> +from Emacs. It is similar to BBDB, except much, much simpler.")

You should separate sentences with two spaces.

Toggle quote (3 lines)
> + ;; Most things are GPLv2-only although lisp/vcard.el is GPLv2+.
> + (license (list license:gpl2 license:gpl2+))))

Could you send an updated patch?

Regards,
--
Nicolas Goaziou
S
S
Simon Josefsson wrote on 5 May 2023 11:11
Re: [bug#60369] [PATCH v3] gnu: Add eweouz.
(name . Nicolas Goaziou)(address . mail@nicolasgoaziou.fr)
87r0rvjg6h.fsf_-_@josefsson.org
Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:

Toggle quote (4 lines)
> Hello,
>
> Thank you.

Hi Nicolas. Thank you for your feedback!

Toggle quote (12 lines)
>> + (arguments
>
> You should use G-expressions from here:
>
> (list
> #:modules '(...)
> #:imported-modules `(...)
> #:configure-flags
> #~(list (string-append ... (emacs:elpa-directory #$output))))
> #:phases
> #~(modify-phases ...)

Fixed.

Toggle quote (5 lines)
>> + (add-after 'enter-lisp-dir 'emacs-patch-variables
>> + (lambda* (#:key outputs #:allow-other-keys)
>
> This is not necessary: lambda _

I don't understand what you mean. There is no lambda _ above -- did you
mean this snippet:

(replace 'bootstrap
(lambda _ (invoke "autoreconf" "-vif")))
(add-after 'compress-documentation 'enter-lisp-dir
(lambda _ (chdir "lisp/")))

If so, how to improve that?

Toggle quote (4 lines)
>> + (make-file-writable "eweouz.el")
>
> I think you can remove this line.

Fixed. I got permission errors earlier, but it seems to have gone away.

Toggle quote (9 lines)
>
>> + (substitute* "eweouz.el"
>> + (("\\(setq eweouz-helper-dirs '\\(")
>> + (format #f "(setq eweouz-helper-dirs '(~s "
>> + (string-append (assoc-ref outputs "out")
>> + "/libexec/eweouz"))))))
>
> You should use emacs:emacs-substitute-variables here.

I used emacs-substitute-sexp now. It seems emacs-substitute-variables
only works on def*, and here it was setq.

Toggle quote (9 lines)
>> + "eweouz is an tool for looking up contacts from Evolution Data
>> Server
>
> Typo and capitalization: Eweouz is a tool...
>
>> +from Emacs. It is similar to BBDB, except much, much simpler.")
>
> You should separate sentences with two spaces.

Fixed.

Toggle quote (5 lines)
>> + ;; Most things are GPLv2-only although lisp/vcard.el is GPLv2+.
>> + (license (list license:gpl2 license:gpl2+))))
>
> Could you send an updated patch?

Please see below!

/Simon
From 38e0cccb53eec629d05b0cbd469411907a4e39c7 Mon Sep 17 00:00:00 2001
Message-Id: <38e0cccb53eec629d05b0cbd469411907a4e39c7.1683277790.git.simon@josefsson.org>
From: Simon Josefsson <simon@josefsson.org>
Date: Fri, 5 May 2023 11:04:41 +0200
Subject: [PATCH v3] gnu: Add eweouz.

* gnu/packages/emacs-xyz.scm (eweouz): New variable.
---
gnu/packages/emacs-xyz.scm | 65 ++++++++++++++++++++++++++++++++++++++
1 file changed, 65 insertions(+)

Toggle diff (87 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index f9a14a5c9c..77432409eb 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -128,6 +128,7 @@
;;; Copyright © 2023 Juliana Sims <juli@incana.org>
;;; Copyright © 2023 Evgeny Pisemsky <evgeny@pisemsky.com>
;;; Copyright © 2023 Gabriel Wicki <gabriel@erlikon.ch>
+;;; Copyright © 2022-2023 Simon Josefsson <simon@josefsson.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3359,6 +3360,70 @@ (define-public emacs-bbdb-vcard
(BBDB). Version 2.1 vCards are converted into version 3.0 on import.")
(license license:gpl2+))))
+(define-public emacs-eweouz
+ (package
+ (name "emacs-eweouz")
+ (version "0.12")
+ (source
+ (origin
+ (method url-fetch)
+ ;; README's git://git.err.no/eweouz is gone
+ (uri (string-append "mirror://debian/pool/main/e/eweouz/"
+ "eweouz_" version ".tar.xz"))
+ (file-name (string-append name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "192zl3dyphhvcrvn65bqsrc4h6zks8b747lp6pqbpbmsqy4g4mr8"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #: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))
+ #:configure-flags
+ #~(list (string-append "--with-lispdir="
+ (emacs:elpa-directory #$output)))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'bootstrap
+ (lambda _ (invoke "autoreconf" "-vif")))
+ (add-after 'compress-documentation 'enter-lisp-dir
+ (lambda _ (chdir "lisp/")))
+ (add-after 'enter-lisp-dir 'emacs-patch-variables
+ (lambda* (#:key outputs #:allow-other-keys)
+ (emacs-substitute-sexps "eweouz.el"
+ ("eweouz-helper-dirs"
+ `(list ,(string-append (assoc-ref outputs "out")
+ "/libexec/eweouz"))))))
+ (add-after 'emacs-patch-variables 'emacs-expand-load-path
+ (assoc-ref emacs:%standard-phases 'expand-load-path))
+ (add-after 'emacs-expand-load-path 'emacs-add-install-to-native-load-path
+ (assoc-ref emacs:%standard-phases 'add-install-to-native-load-path))
+ (add-after 'emacs-add-install-to-native-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
+ (list autoconf
+ automake
+ emacs-minimal
+ pkg-config))
+ (inputs
+ (list evolution-data-server))
+ (home-page "https://tracker.debian.org/pkg/eweouz")
+ (synopsis "Emacs interface to Evolution Data Server")
+ (description
+ "Eweouz is an tool for looking up contacts from Evolution Data Server
+from Emacs. It is similar to BBDB, except much, much simpler.")
+ ;; Most things are GPLv2-only although lisp/vcard.el is GPLv2+.
+ (license (list license:gpl2 license:gpl2+))))
+
(define-public emacs-beacon
(package
(name "emacs-beacon")

base-commit: cf44fb964e6216b153ab898002f2f2ab889532ce
--
2.39.2
-----BEGIN PGP SIGNATURE-----

iIoEARYIADIWIQSjzJyHC50xCrrUzy9RcisI/kdFogUCZFTIVhQcc2ltb25Aam9z
ZWZzc29uLm9yZwAKCRBRcisI/kdFortyAP9Tlt4wecg6SouYAnRiYSCk+UoMtCJq
kPtgS7KY4PnTbgD/e/QHko+GHl/LS54+cU34IHLSDh9Kub4CwL9b7i3K6QM=
=MCgO
-----END PGP SIGNATURE-----

N
N
Nicolas Goaziou wrote on 8 May 2023 19:24
(name . Simon Josefsson via Guix-patches via)(address . guix-patches@gnu.org)
874jomybwb.fsf@nicolasgoaziou.fr
Hello,

Simon Josefsson via Guix-patches via <guix-patches@gnu.org> writes:
Toggle quote (4 lines)
> Subject: [PATCH v3] gnu: Add eweouz.
>
> * gnu/packages/emacs-xyz.scm (eweouz): New variable.

Changed name to emacs-ewouz in the commit message and applied your
patch. Thank you.

Toggle quote (6 lines)
> + (lambda* (#:key outputs #:allow-other-keys)
> + (emacs-substitute-sexps "eweouz.el"
> + ("eweouz-helper-dirs"
> + `(list ,(string-append (assoc-ref outputs "out")
> + "/libexec/eweouz"))))))

Here, I used (lambda _ ...) and #$output instead of (assoc-ref …)

Regards,
--
Nicolas Goaziou
S
S
Simon Josefsson wrote on 9 May 2023 09:21
Re: bug#60369: [PATCH v3] gnu: Add eweouz.
(address . 60369@debbugs.gnu.org)(address . mail@nicolasgoaziou.fr)
87zg6eynor.fsf@kaka.sjd.se
Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:

Toggle quote (10 lines)
> Hello,
>
> Simon Josefsson via Guix-patches via <guix-patches@gnu.org> writes:
>> Subject: [PATCH v3] gnu: Add eweouz.
>>
>> * gnu/packages/emacs-xyz.scm (eweouz): New variable.
>
> Changed name to emacs-ewouz in the commit message and applied your
> patch. Thank you.

Thank you!

Toggle quote (8 lines)
>> + (lambda* (#:key outputs #:allow-other-keys)
>> + (emacs-substitute-sexps "eweouz.el"
>> + ("eweouz-helper-dirs"
>> + `(list ,(string-append (assoc-ref outputs "out")
>> + "/libexec/eweouz"))))))
>
> Here, I used (lambda _ ...) and #$output instead of (assoc-ref …)

Now I understood what you meant earlier, thanks for fixing that.

/Simon
-----BEGIN PGP SIGNATURE-----

iIoEARYIADIWIQSjzJyHC50xCrrUzy9RcisI/kdFogUCZFn0lBQcc2ltb25Aam9z
ZWZzc29uLm9yZwAKCRBRcisI/kdFoiu0AQCZd0mt4Cuh+LgWhZmspaWVR1yAWI66
fF7YHoTA7tsg8wEAsXEOmL+SLQjzQ4V8y3AME4Eu0AFOo8e42JskFxbjRQE=
=qfGU
-----END PGP SIGNATURE-----

?