A package set is constructed for a specific interpreter. Therefore, we add the
possibility to override the package set to the interpreter. This should make it
easier to override the interpreter and the package set at the same time.
Use a fixed-point combinator for the Python package set to allow easier overriding of its contents.
Earlier implementations were proposed in #16784 and #17428. This commit is by comparison much smaller
and changes only what is needed.
With the symlinked build it's only renaming 'coreutils' to
'gcoreutils' and leaving all the actual command symlinks alone.
Instead of custom renaming scripts, let's use --program-prefix
from the autotools kitchen sink. This has the nice(?) bonus that
the manpages also get prefixed with 'g' now.
The build system refuses to enable both single-binary build and
--program-prefix - but the symlink-based single-binary build couldn't
possibly work either (as it will be looking at "$0" for which command
to execute).
Add the Perl module `Swim`, version 0.1.44, generated by
`nix-generate-from-cpan`.
This Perl module is the reference implementation for the lightweight
markup language [Swim].
I have tested this change per nixpkgs manual section 11.1 ("Making
patches").
[Swim]: <https://github.com/ingydotnet/swim-info>
Add the Perl module `HTML::Escape`, version 1.10, generated by
`nix-generate-from-cpan`.
I have tested this change per nixpkgs manual section 11.1 ("Making
patches").
Add the Perl module `Module::Build::Pluggable::PPPort`, version 0.04,
generated by `nix-generate-from-cpan`.
I have tested this change per nixpkgs manual section 11.1 ("Making
patches").
Add the Perl module `Module::Build::Pluggable`, version 0.10,
generated by `nix-generate-from-cpan`.
I have tested this change per nixpkgs manual section 11.1 ("Making
patches").
This largely reverts commit 599312739e.
The main reason is that it breaks the plugins, because the mentioned
commit didn't change the attributes for the plugins as well.
But instead of just fixing the attributes when we import the plugin
packages, let's just override pythonPackages in all-packages.nix.
Right now, Beets is in transition to Python 3, so we don't need to wait
that long until we can remove the dependency on Python 2:
https://github.com/beetbox/beets/releases/tag/v1.4.1
Once Python 3 support is no longer beta, we can just change this by
changing one line only instead of several.
Tested this by building beets with both external plugins.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @FRidh
Packaging itself is pretty much straightforward, the tests however
revealed a few issues, which I have fixed with a small patch that has
been upstreamed at https://github.com/karlch/vimiv/pull/32.
The other sed-based patches in postPatch are mostly NixOS-specific.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
There's no reason to disable ALL tests just because only one particular
test module is failing.
Tested on i686-linux and x86_64-linux against these Python versions:
Python 2.6: The interpreter itself doesn't build
Python 2.7: Successful for both architectures
Python 3.3: Successful for both architectures
Python 3.4: Successful for both architectures
Python 3.5: Successful for both architectures
Python 3.6: One of the dependencies of pillow doesn't build (pytest)
Tests for PyPy still fail, which is why the doCheck attribute is only
set to false if we're building for PyPy.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @desiderius, @goibhniu, @prikhi
pytest plugins should not propagate pytest. Instead, packages depending
on pytest and plugins, should explicitly depend on both the plugin(s)
and pytest. This change will more easily allow packages to depend on
another version of pytest when needed.