[Nix-dev] Re: Is Emacs 22 still needed?
Karn Kallio
tierpluspluslists at gmail.com
Sat Aug 28 02:24:41 CEST 2010
> Excerpts from ludo's message of Thu Aug 26 17:27:25 +0200 2010:
> > Hello!
> >
> > Peter Simons <simons at cryp.to> writes:
> > > is anyone aware of a reason why we should week Emacs 22 in nixpkgs?
> >
> > Someone could need it, e.g., because of some incompatibility or because
> > some Emacs mode hasn’t been upgraded to 23. That’s arguably becoming
> > less and less likely, but who knows.
> >
> > > As far as I can tell, the package is unused;
> >
> > But you can’t actually tell. :-)
> >
> > > version 23 has been the default for quite a while now. To simplify
> > > matters, I'd like to remove the old version.
> >
> > I don’t use 22 but I wonder to what extent keeping it is a burden.
> > What do you think?
>
> I think we should not keep things just because it's no burden.
> Because everything is a burden in some way which does exist.
>
> I think we should have a clear vision what nixpkgs is about.
> We should know about its identity.
>
> If we think about nixpkgs serving people we don't know - and which don't
> talk to us - we may ignore them. (IMHO) - or we should try to find a way
> to make them talk to us: Eg by providing a command:
> nixpks-tell-about-my-packages-in-store-cause-im-still-using-them.
>
> A simple way to manage this would be a maintainer adding
> # don't think anybody is still using this package
> # I propose removing it 2010-12.
>
> and sending a mail to the mailinglist.
>
> Someone who relies on a package has a chance to reply then - and we
> don't end up maintaining packages which are superseded (eg by emacs-23).
>
> Maybe we can even create a Wiki page titled
> "packages marked for removal".
>
> Until now the way to do it was "remove and see whether someone yells"
>
> Happened to me with php-5.3 - ok, it was also a style issue I didn't
> share.
>
> It doesn't matter what happened in the past. It matters how we want to
> cope with this situation (which will occur many times) in the future.
>
> So talk about how you'd like to be notified about package removals - so
> that you have time to say "I'm still using it".
>
> Maybe we can put a policy like info text on the wiki later.
>
> I'm reading the mailinglist. So for me asking on the ml would be enough.
>
> Marc Weber
Emacs 22 is not needed by me.
The emacs question prompted some more thoughts ...
If we apply a sort of functional model to Nixpkgs itself, then it should not
be possible to alter Nixpkgs by removing ( or adding, for that matter )
expressions. Various ( immutable ) versions of Nixpkgs could then be
maintained, with more recent versions holding more recent versions of
expressions. So emacs23 would be found only in the last few versions of
Nixpkgs.
Perhaps a possible migration of Nixpkgs to another version control system
would be a good moment to introduce "functional Nixpkgs", implementing the
versions or generations of Nixpkgs as branches in the VCS.
Then anyone wanting an old expression ( emacs22 say ) could get it from an old
generation of Nixpkgs. Maybe something like a --pkgs-generation flag could
tell nix-env and friends which version of Nixpkgs to use.
With respect to garbage collection, the various generations of Nixpkgs could
never be reclaimed due to the impossibility of knowing whether somebody would
still be using them. But maybe that would not be a problem with an
implementaion based on a DVCS ... darcs, git, monotone, mercurial and so on
all seem capable of maintaining a great deal of versions/branches of code
bases.
Something like this is currently possible using subversion revision numbers as
version identifiers, the only new thing in the "functional Nixpkgs" would be
identifying "official" or "release" versions that were internally consistent.
At the moment a particular Subversion revision number can refer to a Nixpkgs
with evaluation errors or failing/broken builds. So this would be principally
a social or user interface change rather than a technical one.
Of course maintaining "blessed" versions of Nixpkgs implies the need for
somebody to do the work of making and maintaining them ...
More information about the nix-dev
mailing list