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").
- The darwin test can now force the use of the freshly-booted darwin stdenv
- The linux test now passes enough dummy arguments
This may make debugging harder, if so, check out #20889
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.
- rename to PyLTI to follow upstream
- remove overriding because it is not necessary; newer mock can be used,
and modules python packages should be fixed to not propagate pytest (see
separate commit).
cc maintainer @layus
- Non-cross stdenvs are honest and assert that `crossSystem` is null
- `crossSystem` is a mandatory argument to top-level/stage.nix, just like
`system` and `platform`
- Broken default arguments on stdenvs for testing are gone.
- All stdenvs (but little-used stdenvNix) take the same arguments for easy
testing.
This makes the flow of data easier to understand. There's little downside
because the args in question are already inspected by the stdenvs.
cross-compiling in particular is simpler because we don't need to worry
about overriding the config closed over by `allPackages`.
This commit changes the dependencies of stdenv, and clean-up the stdenv
story by removing the `defaultStdenv` attribute as well as the `bootStdenv`
parameter.
Before, the final bootstrapping stage's stdenv was provided by
all-packages, which was iterating multiple times over the
top-level/default.nix expression, and non-final bootstrapping stages'
stdenvs were explicitly specified with the `bootStdenv` parameter.
Now, all stages' stdenvs are specified with the `stdenv` parameter.
For non-final bootstrapping stages, this is a small change---basically just
rename the parameter.
For the final stage, top-level/default.nix takes the chosen stdenv and
makes the final stage with it.
`allPackages` is used to make all bootstrapping stages, final and
non-final alike. It's basically the expression of `stage.nix` (along with a
few partially-applied default arguments)
Note, the make-bootstrap-tools scripts are temporarily broken
They're broken after all. In particular, this prevents us from
evaluating packages that are unsupported on a particular platform.
Reverts a147ddc42c.
Fixes#20817.
Deprecation warnings should not be used in Nixpkgs because they spam
innocent "nix-env -qa" users with (in this case) dozens of messages
that they can't do anything about.
This also reverts commit 2ca8833383.
We have two derivations, one that supports Cuda, and one that does not.
The names, TheanoWithCuda and TheanoWithoutCuda, now reflect that.
Furthermore, a boolean passthru.cudaSupport was added.
In the future the two derivations should be merged in one, with a
parameter `cudaSupport`.
This allows to scroll content in less, screen, nano, tmux and others
(the ones, who create so called "secondary screens"), similar to VTE-based
terminals.
Note, however, that mouse wheel won't work in `less -X`, which is used
by basic `journalctl`. Fix it with `export SYSTEMD_LESS=FRSMK`