Subject: bug#22550: (require 'magit) produces error: "no such file or directory" "dash"

From: myglc2 <[email-masked]>
Date: Fri, 25 Mar 2016 11:20:39 -0400

Alex Kost <[email-masked]> writes:

> Alex Kost (2016-03-07 12:14 +0300) wrote:
>
>> myglc2 (2016-03-06 17:47 +0300) wrote:
>>
[...]
>>
>> No, I mean it is fixed in the current master, but as I wrote¹ it will
>> take effect only after we update our "guix" package.  Currently it is
>> "guix-devel" package at commit c3f29bc², which is older then commit
>> 004ea62 (that fixed this issue).
>>
>> After we update "guix" package (either via updating "guix-devel"
>> snapshot or via pointing "guix" to "guix-0.9.1" after the new release),
>> this will be finally fixed.
>>
>> ¹ http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22550#38
>> ² http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/package-management.scm#n198
>
> This issue should be completely fixed now (after commit 092dd65¹).
> (Just to remind) the original issue is a request for auto-finding emacs
> packages installed globally (in a system profile).
>
> So, if you update your Emacs, it should automatically find emacs
> packages (magit, etc.) installed both in user and system profiles.
>
> To update Emacs, one need to:
>
> 1. If emacs is installed in a user profile:
>
>   $ guix pull
>   $ guix package --upgrade=emacs
>
> 2. If emacs is installed in a system profile:
>
>   # guix pull
>   # guix system reconfigure
>
> ¹ http://git.savannah.gnu.org/cgit/guix.git/commit/?id=092dd6541fc75ed19ebbb1f9d8e6f32a88cb3445

Hi Alex, Thank you for the followup.

I can't test on GuixSD right now, but '2.' looks good here.

If you have a moment, Is there a way to set up my git checkout guix
environment to use changes like this as they are made in the development
version?

My current 'Guix checkout' config (on a Guix/Debian install) looks like
this ...

  /home/g1/.config/guix:
  lrwxrwxrwx 1 g1 g1   14 Mar 24 13:49 latest -> ../../src/guix

... in ~/.profile I have ...

# guix
export GUIX_LOCPATH=$HOME/.guix-profile/lib/locale
GUIX_PROFILE="$HOME/.guix-profile"
source "$HOME/.guix-profile/etc/profile"

... and in ~/.emacs.d/init.el I have ...

;; start: guix emacs setup

;; to run emacs interface from git checkout and have guix-edit operate
;; on git checkout files
(let ((dir "/home/g1/src/guix/emacs"))
  (add-to-list 'load-path dir)
  (setq guix-load-path dir))
(require 'guix-init nil t)

 ;; to read the guix manual from git checkout
(with-eval-after-load 'info
  (info-initialize)
  (add-to-list 'Info-directory-list
	       "/home/g1/src/guix/doc"))

;; from #guix for guix compatible diffs
(setq ediff-patch-options "-b -f")

;; end: guix emacs setup

Many thanks, - George