[Nix-dev] forcing dependencies (for emacs packages)

Mathijs Kwik mathijs at bluescreen303.nl
Mon Jul 30 21:58:50 CEST 2012


Just to clarify a bit more:
https://github.com/bluescreen303/nixpkgs/commit/06b659f2537fdcfcb815c2f28c453337323b08af
That commit works, but I think it's ugly.

There, you can see how this will quickly get out of hand.
"gh" depends on "pcache" and "logito"
"gist" depends on "gh", but needs to repeat the directory-includes and
workarounds.

The final derivation does not know about the dependency any longer, so
packages that would need "gist" need to do the same thing once again.

Also, if I want to install/use "gist", I need to make sure to include
these dependencies in my profile.

I looked at other emacs packages, but didn't really see similar
problems/solutions.
I'm not an emacs or lisp guru, so I wouldn't know where to start cleaning up.
Something like "propagatedBuildInputs" would be nice to have.
But not just for builds, for installation through nix-env too.

Perhaps this can be better tackled through modification of the lisp sources?
By hard-coding paths in there, the dependencies might work out just fine.

What do you think?
Mathijs


On Mon, Jul 30, 2012 at 8:08 PM, Mathijs Kwik <mathijs at bluescreen303.nl> wrote:
> Hi all,
>
> I'm packaging up a few packages for emacs. They are just single files,
> really not much of a package.
> There are some dependencies though, just using (require 'otherfile) in
> the lisp file.
>
> What would be the best way to tell nix about this dependency?
> Right now, I need to install them all to have them available in
> .nix-profile/share/emacs/site-lisp
> I would like to just install 1 package, and have it sort out which
> other packages are needed.
> Should I patch the source files to somehow include the needed paths
> for dependencies?
> Or are there other tricks for nix'ing emacs?
>
> Thanks,
> Mathijs


More information about the nix-dev mailing list