Hello, First of all thank you for a contribution! Could you split this patch to make a single patch per package, please? Also several notes about current patch below. TK writes: > Empty Message > From 73a918c84f1a25c2def96b6830e68b3b6368e06e Mon Sep 17 00:00:00 2001 > From: =?UTF-8?q?Todor=20Kondi=C4=87?= > Date: Tue, 4 Jun 2019 13:15:52 +0200 > Subject: [PATCH] gnu: Add emacs-excorporate > > * gnu/packages/emacs-xyz.scm (emacs-ntlm, emacs-ntlm): New variables. > (emacs-url-http-ntlm, emacs-soap-client): New variables. > (emacs-fsm,emacs-excorporate): New variables. This could be in a single (emacs-ntlm, emacs-url-http-ntlm, emacs-soap-client, &): New variables., but after splitting the patch it will be not relevant. > --- > gnu/packages/emacs-xyz.scm | 189 +++++++++++++++++++++++++++++++++++++ > 1 file changed, 189 insertions(+) > > diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm > index f9f0b2156f..81880886d3 100644 > --- a/gnu/packages/emacs-xyz.scm > +++ b/gnu/packages/emacs-xyz.scm > @@ -47,6 +47,7 @@ > ;;; Copyright © 2019 mikadoZero > ;;; Copyright © 2019 Gabriel Hondet > ;;; Copyright © 2019 LaFreniere, Joseph > +;;; Copyright © 2019 Todor Kondi‡ > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -15669,3 +15670,191 @@ verb commands which would are normally destructive (such as deletion) are > provided. Those alternative commands are and bound by default to their > corresponding Evil keys.") > (license license:expat)))) > + > + > +(define-public emacs-ntlm > + (package > + (name "emacs-ntlm") > + (version "2.1.0") > + (source > + (origin > + (method url-fetch) > + (uri (string-append > + "https://elpa.gnu.org/packages/ntlm-" > + version > + ".el")) Last three lines could be on a single line. > + (sha256 > + (base32 > + "01d0bcmh8a36qf871w6bc05kjk9bmnh843m9869xw06zyvqwg9mv")))) > + (build-system emacs-build-system) > + (home-page > + "http://elpa.gnu.org/packages/ntlm.html") Use https://elpa.gnu.org/packages/ntlm.html and on single line. > + (synopsis > + "NTLM (NT LanManager) authentication support") Could be one line. > + (description > + "This library is a direct translation of the Samba release 2.2.0 > +implementation of Windows NT and LanManager compatible password > +encryption.") > + (license license:gpl3+))) > + > +(define-public emacs-nadvice > + (package > + (name "emacs-nadvice") > + (version "0.3") > + (source > + (origin > + (method url-fetch) > + (uri (string-append > + "https://elpa.gnu.org/packages/nadvice-" > + version > + ".el")) One line. > + (sha256 > + (base32 > + "0gi3csnxbs8h7iy0scsl35sic3gv90swa89hhdjwb7qvpirfdcgw")))) > + (build-system emacs-build-system) > + (home-page > + "http://elpa.gnu.org/packages/nadvice.html") One line and https. > + (synopsis > + "Forward compatibility for Emacs-24.4's nadvice") One line. > + (description > + "This package tries to re-implement some of nadvice.el's functionality > +on top of the old defadvice system, to help users of defadvice > +move to the new advice system without dropping support for Emacs<24.4.") > + (license license:gpl3+))) > + > +(define-public emacs-url-http-ntlm > + (package > + (name "emacs-url-http-ntlm") > + (version "2.0.4") > + (source > + (origin > + (method url-fetch) > + (uri (string-append > + "https://elpa.gnu.org/packages/url-http-ntlm-" > + version > + ".el")) > + (sha256 > + (base32 > + "1cakq2ykraci7d1gl8rnpv4f2f5ffyaidhqb1282g7i72adwmb98")))) > + (build-system emacs-build-system) > + (propagated-inputs `(("emacs-ntlm" ,emacs-ntlm))) > + (home-page > + "http://elpa.gnu.org/packages/url-http-ntlm.html") One line and https. > + (synopsis > + "NTLM authentication for the url library") One line. > + (description > + "This package provides a NTLM handler for the URL package.") One line. > + (license license:gpl3+))) > + > +(define-public emacs-soap-client > + (package > + (name "emacs-soap-client") > + (version "3.1.5") > + (source > + (origin > + (method url-fetch) > + (uri (string-append > + "https://elpa.gnu.org/packages/soap-client-" > + version > + ".tar")) > + (sha256 > + (base32 > + "0nnf075ywxmsfd6vmzk2yg3khx6sycl5l6qrgp5rqqmw0wzhxlh0")))) > + (build-system emacs-build-system) > + (home-page > + "http://elpa.gnu.org/packages/soap-client.html") One line and https. > + (synopsis "Access SOAP web services") > + (description > + "To use the SOAP client, you first need to load the WSDL document for the > +service you want to access, using `soap-load-wsdl-from-url'. A WSDL > +document describes the available operations of the SOAP service, how their > +parameters and responses are encoded. To invoke operations, you use the > +`soap-invoke' method passing it the WSDL, the service name, the operation > +you wish to invoke and any required parameters. > + > +Ideally, the service you want to access will have some documentation about > +the operations it supports. If it does not, you can try using > +`soap-inspect' to browse the WSDL document and see the available operations > +and their parameters.") > + (license license:gpl3+))) I think we should replace this instruction with a package description instead, because we have the same tutorial in soap-client.el file. > +(define-public emacs-fsm > + (package > + (name "emacs-fsm") > + (version "0.2.1") > + (source > + (origin > + (method url-fetch) > + (uri (string-append > + "https://elpa.gnu.org/packages/fsm-" > + version > + ".el")) One line. > + (sha256 > + (base32 > + "1jyxyqdbfl8nv7c50q0sg3w5p7whp1sqgi7w921k5hfar4d11qqp")))) > + (build-system emacs-build-system) > + (home-page > + "http://elpa.gnu.org/packages/fsm.html") One line and https. > + (synopsis "state machine library") Linter has some warnings: $ ./pre-inst-env guix lint emacs-fsm gnu/packages/emacs-xyz.scm:15903:14: emacs-fsm@0.2.1: synopsis should start with an upper-case letter or digit Also, State machine Emacs library will be better for guix search. > + (description > + "fsm.el is an exercise in metaprogramming inspired by gen_fsm of > +Erlang/OTP. It aims to make asynchronous programming in Emacs Lisp > +easy and fun. I think it's enough for the description. gnu/packages/emacs-xyz.scm:15905:6: emacs-fsm@0.2.1: description should start with an upper-case letter or digit The warning above could be fixed by @code{fsm.el}. > By \"asynchronous\" I mean that long-lasting tasks don't interfer > with normal editing. > + > +Some people say that it would be nice if Emacs Lisp had threads > +and/or continuations. They are probably right, but there are few > +things that can't be made to run in the background using facilities > +already available: timers, filters and sentinels. As the code can > +become a bit messy when using such means, with callbacks everywhere > +and such things, it can be useful to structure the program as a > +state machine.") > > + (license license:gpl3+))) > + > +(define-public emacs-excorporate > + (package > + (name "emacs-excorporate") > + (version "0.8.1") > + (source > + (origin > + (method url-fetch) > + (uri (string-append > + "https://elpa.gnu.org/packages/excorporate-" > + version > + ".tar")) One line. > + (sha256 > + (base32 > + "1k89472x80wsn14y16km5bgynmmd2kbdfhylb3cc17jvdn1xr53y")))) > + (build-system emacs-build-system) > + (propagated-inputs > + `(("emacs-fsm" ,emacs-fsm) > + ("emacs-soap-client" ,emacs-soap-client) > + ("emacs-url-http-ntlm" ,emacs-url-http-ntlm) > + ("emacs-nadvice" ,emacs-nadvice))) > + (home-page > + "http://elpa.gnu.org/packages/excorporate.html") One line and https. > + (synopsis "Exchange integration") Maybe Exchange integration for Emacs as in description. > + (description > + "Excorporate provides Exchange integration for Emacs. That's enough, we will have the following after installing a package. > +To create a connection to a web service: > + > +M-x excorporate > + > +Excorporate will prompt for an email address that it will use to > +automatically discover settings. Then it will prompt you for your > +credentials two or three times depending on the server configuration. > + > +You should see a message indicating that the connection is ready > +either in the minibuffer or in the *Messages* buffer. > + > +Finally, run M-x calendar, and press @code{e} to show today's meetings. > + > +If autodiscovery fails, customize @code{excorporate-configuration} to skip > +autodiscovery. > + > +For further information including connection troubleshooting, see the > +Excorporate Info node at C-h i d m Excorporate. > +") > + (license license:gpl3+))) > + Regards, Oleg.