Subject: [bug#39878] gnu: add emacs-bookmarks+

From: "Amar M. Singh" <[email-masked]>
Date: Wed, 29 Jul 2020 01:32:36 +0000

On July 25, 2020 7:49:37 PM UTC, Oleg Pykhalov <[email-masked]> wrote:

> Hi,
> 
> So much time was passed, but maybe we could get this to work if the
> package still helpful for Emacs users.
> 
> [email-masked] (Amar M. Singh) writes:
> 
> […]
> 
>> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
>> index be0e6a84c2..1ac5f77bb7 100644
>> --- a/gnu/packages/emacs-xyz.scm
>> +++ b/gnu/packages/emacs-xyz.scm
>> @@ -21536,3 +21536,39 @@ Values are stored in a directory in
> 
> @code{user-emacs-directory}, using
>> one file per value. This makes it easy to delete or remove unused
>> variables.")
>> (license license:gpl3+)))
>> +
>> +(define-public emacs-bookmark+
>> + (package
>> + (name "emacs-bookmark+")
>> + (version "2020.01.22")
>> + (source (origin
>> + (method url-fetch)
>> + (uri (map (lambda (x)
>> + (string-append
>> +
> 
> "https://www.emacswiki.org/emacs/download" x))
>> + `("bookmark+.el"
>> + "bookmark+-mac.el"
>> + "bookmark+-bmu.el"
>> + "bookmark+-key.el"
>> + "bookmark+-lit.el"
>> + "bookmark+-1.el")))
> 
> ‘bookmarks+-mac.el’ and other files are missing because this ‘(origin
> ...)’ returns only a single file:
> --8<---------------cut here---------------start------------->8---
> $ ./pre-inst-env guix build --no-grafts --no-offload 'emacs-bookmark+'
> -S
> /gnu/store/p0lvca4zr1rh4bs9fd281hjh15ck28x8-bookmark+.el
> --8<---------------cut here---------------end--------------->8---
> 
> You could use ‘(origin ...)’ inside ‘(inputs ...)’ to fetch all the
> files, but in that case we could have an issue with more hashes as
> described bellow.
> 
> To fix issue with hashes I think we could use url-fetch on
> https://github.com/emacsmirror/emacswiki.org/blob/f2f216389097ada0172ebbfaaf594e397930682e/bookmark+
> el
> and other files.
> 
>> + (sha256
>> + (base32
>> +
> 
> "1dkpszmflik3yhv05w8rvi6vz1mzgapncb5y231r6mwy40rphyhi"))))
> 
> The hash was changed, even the version is the same.
> 
>> + (build-system emacs-build-system)
>> + (arguments
>> + `(#:phases
>> + (modify-phases %standard-phases
>> + (add-before 'build 'build-mac
>> + (lambda* (#:key outputs #:allow-other-keys)
>> + (let ((out (assoc-ref outputs "out")))
>> + (invoke "emacs" "-Q" "--batch"
>> + "--eval='(byte-compile-file
> 
> \"bookmark+-mac.el\"'")))))))
> 
> ‘emacs-build-system’ provides a byte compilation AFAIK, so don't need
> this ‘(arguments ...)’.
> 
>> + (home-page "https://www.emacswiki.org/emacs/bookmark+.el")
>> + (synopsis "Bookmark+: extensions to standard library
> 
> `bookmark.el'")
> 
> Rather “@code{bookmark}”.
> 
> Oleg.

hello Oleg,

Thanks, great pointers. Clearly, a guix expert unlike me. But I don't think this needs to be
packaged. Don't want it.
You can close the issue.

Sorry, thanks.
Amar