-
Notifications
You must be signed in to change notification settings - Fork 149
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
Nix recipe for FiPy #585
Nix recipe for FiPy #585
Conversation
The pip install section should only be used by those that want a development environment for FiPy.
|
On Tue, Jul 31, 2018 at 11:44 AM, Trevor Keller ***@***.***> wrote:
@wd15,
nix installed (single-user mode on my personal machine, running Arch) to /nix using
curl https://nixos.org/nix/install | sh
nix-shell --pure appears to complete successfully, though it warns that bash: hostname: command not found. This seems to be a conflict with systemd?
I think I get the same warning, but it doesn't seem to matter.
python setup.py test fails one test:
Likewise for me. That might just be the numpy version.
Is the goal of this exercise to migrate away from pip and conda?
No. It's just to have an alternative available.
How portable is this workflow to multi-user resources (e.g. workstations and cluster nodes)?
Very portable. That's the entire point of using something like Nix.
It's a way to guarantee that you have consistent software across
machines for distributed computing. The machines do need to have Nix
installed.
There is a also Nixops, https://nixos.org/nixops/, which I haven't tried.
How maintainable is a nix port of FiPy?
Nix itself is fairly stable. The Nix build of FiPy could of course
break if it isn't tested if FiPy changes in some way such that the
dependencies outlined in the Nix files are no longer kept up to date.
The dependencies are fixed at a particular version of Nixpkgs. To make
it less likely to break then it needs to be added to a CI. What would
be a good option for that?
We could make the Nix recipe depend on a particular version of FiPy,
but the point of the recipe is really as a development tool at the
moment.
…--
Daniel Wheeler
|
Uncomment pip installation and fix Python 3 installation
python_version is no longer required in the Nix recipe
Add comments explaining how to build pyamg solver library and Sphinx tools for building the documentation. Sphinx could be nixified, but pyamg can't be nixified as it's using $HOME as part of the build process (in rare cases Python packages do this, but shouldn't).
|
Would this recent change in Nixpkgs have anything to do with the above error? If you, @guyer, think that might be related then I'll make sure that the recipes build with a recent version of Nixpkgs and then let you have another go. |
@wd15, I think it's worth a shot |
Update Nixpkgs to version 18.09-beta to possibly help with problems building on Mac.
@guyer, I updated the nixpkgs_version.nix to use 18.09-beta. It all built fine for me and fairly quickly. The only things that were explicitly built were
Everything else was a downloaded binary. This is from 5 days ago so I'm assuming it has the change since that change is labeled with the 18.09-beta branch. |
@wd15: no change |
Everything works other than Gmsh. Gmsh is failing to install, but compiles and links.
When building Gmsh with Nix only use -Wno-error on the x86_64-darwin platform.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
works for me
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I get a bunch of warnings about command-line options being valid for C/C++/ObjC/ObjC++ but not for Fortran
. Other than that verbose compiler output, this works for me, too.
@guyer, feel free to merge this now. |
@wd15, actually, could you add a bit of documentation on what to do with it in |
Add a link to the Nix instructions to the installation guide. - Remove white space from INSTALLATION.rst - Add complete recipe for building documentation in nix/build.nix
@guyer, over to you |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@guyer, over to you again |
Everything else makes a hash out of the table of contents
Nix recipe for Python 2 and 3. Does not include Trilinos.
@guyer, can you test this on a mac
To test use
nix-shell --pure
in the base directory. Please read the README.md to get started.