-
-
Notifications
You must be signed in to change notification settings - Fork 15.5k
nikola: init at 7.8.4 #25849
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
nikola: init at 7.8.4 #25849
Conversation
In Nix extra dependencies or modes are usually specified by taking additional arguments such as You can then use this in the .nix file to tell it how it should be built differently if these are set. Users would have to specify an override for these options in their nixpkgs configuration, which isn't ideal but is possible. |
Ok, thanks. I'll leave that for later because I'm not sure if all the optional dependencies even exist in nixpkgs yet and it's a bit of work to add the missing ones. |
@jluttine while Nikola is indeed used as an application, I could very well imagine that users want to use it in conjunction with libraries that may be available only on certain Python python versions. This is also why Regarding the extra dependencies. These are only Python libraries, right? In that case they can just use |
Ok, I'll make that fix (application -> module) today perhaps. Anyway, I couldn't get it working with Python 2 because Nix contains only Python 3 supported version of doit, which is a dependency of Nikola. Python 2 support would require older doit 0.29.0 (which on the other hand doesn't support Python 3.3). Is there any sensible way to support Python 2 then? |
@jluttine doesn't seem like there is. You can disable it on Python 2. |
I now made it a Python module instead of an application. |
I also added an upgrade of a dependency ws4py because Nikola needed that in order to work properly. Ping @rickynils, the maintainer of ws4py. |
Regarding |
Oh, actually |
@jluttine its an applicationt/tool, but in order to use it you need to write Python code, for which you need an environment where all libraries are compatible with eachother. Therefore, at least within Nixpkgs, its location is in |
It seems that Nikola uses |
I just rebased my commits on latest upstream/master. Is there something to fix or is this good to merge? |
Motivation for this change
Nikola is a static site generator written in Python. I added it as a Python application, not Python module, because it's used as an application, not as a library.
Nikola has a bunch of extra dependencies that enable some additional features. Is there some nice way to support installing Nikola with optionally all the extra dependencies? With pip, this would be done as
pip install nikola[extras]
, is there any similar support in nix or would it even be desirable?Things done
(nix.useSandbox on NixOS,
or option
build-use-sandbox
innix.conf
on non-NixOS)
nix-shell -p nox --run "nox-review wip"
./result/bin/
)