Hi, So much time was passed, but maybe we could get this to work if the package still helpful for Emacs users. nly@disroot.org (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%2B.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%2b.el") > + (synopsis "Bookmark+: extensions to standard library `bookmark.el'") Rather “@code{bookmark}”. Oleg.