[Nix-dev] Separating free and non-free packages, again

Tony White tonywhite100 at googlemail.com
Sat Nov 21 13:05:22 CET 2009


2009/11/21 Marc Weber <marco-oweber at gmx.de>:
> I don't think this question is only about free / non-free.
>
> Probably there are not so many packages (right now) so moving non-free
> packages into a non-free directory is fine.
>
> However glancing at gentoo I notice that they have overlays.
> So they solved this kind of problem in a more general way.
>
> Maybe we'll end up having such kind of overlays in the future as well
> who knows?
>
> Anyway what are the drawbacks creating
>
> /etc/nixpkgs/nixpkgs-nonfree ?
>
> Then you can choose to not checkout that repo and you're done.
>
> If you just remove a directory every svn reset will bring it back, won't
> it?
>
> So before starting to move packages I'd like to see what makes having a
> separate branch being a worse solution.
>
> You could still reference nixpkgs-non-free from nixpkg-free and vice
> versa if present.
>
> nixos already utilizes nixpkgs.
>
> Of course you have to merge those attr sets in the end.
> This could look like this:
>
> let directories = [ "./nixpkgs-free" "./nixpkgs-non-free" ] ++ getConfig ["overlays-directories"] [];
>    existingDirectories = filter doesDirectoryExist directories;
>
> in mergeAttrs (map import existingDirectories);
>
> You can reference free packages within non-free using
>
>  { system, ... }:
>
>  free = import ./nixpkgs-free { inherit system ...; };
>
>  non-free-packgase = stdenv.mkDerivation {
>    buildInputs = free.gcc;
>  }
>
> Then it is very easy adding support for additional repositories. Just
> add another path and you're done.
>
> Then you can add an overlay directory for all those perl / python /
> haskell / ruby / .net / Java / ...  packages later on.
>
> I don't think we want every package which can be installed in nixpkgs.
> Have a look at sourceforge how many packages exist..
>
> If we start separating packages we should do it in a way which
> scales in the future as well.
>
> Marc Weber
> _______________________________________________
> nix-dev mailing list
> nix-dev at cs.uu.nl
> https://mail.cs.uu.nl/mailman/listinfo/nix-dev
>

Hi all,
I don't think that separating the free and non-free software
expressions by nixpkg directory is a good idea because there is far
too much software that will build crippled as free but will also build
fully featured as non-free. Maintaining two different expressions for
the same source archive is creating more work than necessary IMO.
Sources that depend on software like openssl, freetype2, ffmpeg,
libmad, etc I will want to build here. So also will others. I don't
mind getting the machine to build the binaries from source instead of
just downloading a binary; to comply with the law but if it means I
have to maintain two expressions to do that, I'll only update the
expression that I use. non-free.

If the separation of free and non-free by folder goes ahead, the Linux
kernel should be going straight in the non-free tree for a start
because it's shipping and building firmware blobs. gnu gpl licensed
does not always mean non-free. Case and point.
Please. There has got to be a better way.

Thanks,
Tony



More information about the nix-dev mailing list