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

Mathijs Kwik mathijs at bluescreen303.nl
Tue Jul 31 13:13:34 CEST 2012


On Tue, Jul 31, 2012 at 11:09 AM, Shea Levy <shea at shealevy.com> wrote:
>
>
> On Jul 30, 2012, at 3:58 PM, Mathijs Kwik <mathijs at bluescreen303.nl> wrote:
>
>> 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.
>>
>
> See propagatedUserEnvPkgs.

nice :)
Works fine for my user env indeed.

Is there a way to make them recursive?
I have A depending on B, B on C and D.
I only want to install A.

Right now A specifies B, C and D in propagatedUserEnvPkgs.

>
>> 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
>> _______________________________________________
>> nix-dev mailing list
>> nix-dev at lists.science.uu.nl
>> http://lists.science.uu.nl/mailman/listinfo/nix-dev


More information about the nix-dev mailing list