GNU bug report logs - #60369
[PATCH] gnu: Add eweouz.

Previous Next

Package: guix-patches;

Reported by: Simon Josefsson <simon <at> josefsson.org>

Date: Tue, 27 Dec 2022 22:48:02 UTC

Severity: normal

Tags: patch

Done: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>

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 60369 in the body.
You can then email your comments to 60369 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


Report forwarded to guix-patches <at> gnu.org:
bug#60369; Package guix-patches. (Tue, 27 Dec 2022 22:48:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Simon Josefsson <simon <at> josefsson.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Tue, 27 Dec 2022 22:48:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Simon Josefsson <simon <at> josefsson.org>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: Add eweouz.
Date: Tue, 27 Dec 2022 23:47:13 +0100
[Message part 1 (text/plain, inline)]
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
[0001-gnu-Add-eweouz.patch (text/x-patch, inline)]
From 52b0ad49ef0436346f53bebee4690961fba9cf90 Mon Sep 17 00:00:00 2001
From: Simon Josefsson <simon <at> 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(+)

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 <at> ngraves.fr>
 ;;; Copyright © 2022 Thiago Jung Bauermann <bauermann <at> kolabnow.com>
 ;;; Copyright © 2022 Joeke de Graaf <joeke <at> posteo.net>
+;;; Copyright © 2022 Simon Josefsson <simon <at> 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

[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#60369; Package guix-patches. (Tue, 31 Jan 2023 22:43:02 GMT) Full text and rfc822 format available.

Message #8 received at 60369 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Simon Josefsson <simon <at> josefsson.org>
Cc: 60369 <at> debbugs.gnu.org
Subject: Re: bug#60369: [PATCH] gnu: Add eweouz.
Date: Tue, 31 Jan 2023 23:42:22 +0100
Hi Simon,

Simon Josefsson <simon <at> 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.

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

[...]

> +(define-public eweouz
> +  (package
> +    (name "eweouz")

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

> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:tests? #f

Please add a short comment saying why tests are disabled.

> +       (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.

> +    (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’.




Information forwarded to guix-patches <at> gnu.org:
bug#60369; Package guix-patches. (Sun, 05 Feb 2023 17:10:01 GMT) Full text and rfc822 format available.

Message #11 received at 60369 <at> debbugs.gnu.org (full text, mbox):

From: Simon Josefsson <simon <at> josefsson.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 60369 <at> debbugs.gnu.org
Subject: Re: [bug#60369] [PATCH v2] gnu: Add eweouz.
Date: Sun, 05 Feb 2023 18:08:58 +0100
[Message part 1 (text/plain, inline)]
Ludovic Courtès <ludo <at> gnu.org> writes:

> Hi Simon,
>
> Simon Josefsson <simon <at> 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.

>> +(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.

>> +    (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.

>> +       (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

> You can omit the trailing #t too.

Nice catch, fixed.

>> +    (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.

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

See attached.

/Simon
[0001-gnu-Add-eweouz.patch (text/x-patch, inline)]
From 24f79d8bd21fc7e4687c89bc920b33d6bf62cba9 Mon Sep 17 00:00:00 2001
From: Simon Josefsson <simon <at> 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(+)

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 <at> netpanic.org>
 ;;; Copyright © 2023 John Kehayias <john.kehayias <at> protonmail.com>
 ;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan <at> selidor.net>
+;;; Copyright © 2022-2023 Simon Josefsson <simon <at> 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

[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#60369; Package guix-patches. (Fri, 28 Apr 2023 08:36:02 GMT) Full text and rfc822 format available.

Message #14 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Simon Josefsson <simon <at> josefsson.org>
To: Simon Josefsson via Guix-patches via <guix-patches <at> gnu.org>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 60369 <at> debbugs.gnu.org
Subject: Re: [bug#60369] [PATCH v2] gnu: Add eweouz.
Date: Fri, 28 Apr 2023 10:35:45 +0200
[Message part 1 (text/plain, inline)]
Does anyone have further feedback on the second version of this patch?

/Simon
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#60369; Package guix-patches. (Fri, 28 Apr 2023 08:36:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#60369; Package guix-patches. (Wed, 03 May 2023 13:00:02 GMT) Full text and rfc822 format available.

Message #20 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
To: Simon Josefsson via Guix-patches via <guix-patches <at> gnu.org>
Cc: Simon Josefsson <simon <at> josefsson.org>,
 Ludovic Courtès <ludo <at> gnu.org>, 60369 <at> debbugs.gnu.org
Subject: Re: [bug#60369] [PATCH v2] gnu: Add eweouz.
Date: Wed, 03 May 2023 14:59:22 +0200
Hello,

Thank you.

> +    (arguments

You should use G-expressions from here:

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

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

This is not necessary: lambda _

> +             (make-file-writable "eweouz.el")

I think you can remove this line.

> +             (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.

> +         (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...

> +from Emacs. It is similar to BBDB, except much, much simpler.")

You should separate sentences with two spaces.

> +    ;; 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




Information forwarded to guix-patches <at> gnu.org:
bug#60369; Package guix-patches. (Wed, 03 May 2023 13:00:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#60369; Package guix-patches. (Fri, 05 May 2023 09:12:02 GMT) Full text and rfc822 format available.

Message #26 received at 60369 <at> debbugs.gnu.org (full text, mbox):

From: Simon Josefsson <simon <at> josefsson.org>
To: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Cc: ludo <at> gnu.org, 60369 <at> debbugs.gnu.org
Subject: Re: [bug#60369] [PATCH v3] gnu: Add eweouz.
Date: Fri, 05 May 2023 11:11:50 +0200
[Message part 1 (text/plain, inline)]
Nicolas Goaziou <mail <at> nicolasgoaziou.fr> writes:

> Hello,
>
> Thank you.

Hi Nicolas.  Thank you for your feedback!

>> +    (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.

>> +         (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?

>> +             (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.

>
>> +             (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.

>> +     "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.

>> +    ;; 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
[0001-gnu-Add-eweouz.patch (text/x-patch, inline)]
From 38e0cccb53eec629d05b0cbd469411907a4e39c7 Mon Sep 17 00:00:00 2001
Message-Id: <38e0cccb53eec629d05b0cbd469411907a4e39c7.1683277790.git.simon <at> josefsson.org>
From: Simon Josefsson <simon <at> 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(+)

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 <at> incana.org>
 ;;; Copyright © 2023 Evgeny Pisemsky <evgeny <at> pisemsky.com>
 ;;; Copyright © 2023 Gabriel Wicki <gabriel <at> erlikon.ch>
+;;; Copyright © 2022-2023 Simon Josefsson <simon <at> 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

[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#60369; Package guix-patches. (Mon, 08 May 2023 17:25:01 GMT) Full text and rfc822 format available.

Message #29 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
To: Simon Josefsson via Guix-patches via <guix-patches <at> gnu.org>
Cc: Simon Josefsson <simon <at> josefsson.org>, ludo <at> gnu.org,
 60369-done <at> debbugs.gnu.org
Subject: Re: [bug#60369] [PATCH v3] gnu: Add eweouz.
Date: Mon, 08 May 2023 19:24:20 +0200
Hello,

Simon Josefsson via Guix-patches via <guix-patches <at> 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.

> +            (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




Reply sent to Nicolas Goaziou <mail <at> nicolasgoaziou.fr>:
You have taken responsibility. (Mon, 08 May 2023 17:25:02 GMT) Full text and rfc822 format available.

Notification sent to Simon Josefsson <simon <at> josefsson.org>:
bug acknowledged by developer. (Mon, 08 May 2023 17:25:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#60369; Package guix-patches. (Tue, 09 May 2023 07:23:02 GMT) Full text and rfc822 format available.

Message #37 received at 60369 <at> debbugs.gnu.org (full text, mbox):

From: Simon Josefsson <simon <at> josefsson.org>
To: 60369 <at> debbugs.gnu.org
Cc: mail <at> nicolasgoaziou.fr
Subject: Re: bug#60369: [PATCH v3] gnu: Add eweouz.
Date: Tue, 09 May 2023 09:21:56 +0200
[Message part 1 (text/plain, inline)]
Nicolas Goaziou <mail <at> nicolasgoaziou.fr> writes:

> Hello,
>
> Simon Josefsson via Guix-patches via <guix-patches <at> 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!

>> +            (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
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 06 Jun 2023 11:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 318 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.