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
CrystFEL: support aarch64-linux and HDF5 on Darwin #218968
Conversation
@ofborg build crystfel-headless |
7bc7130
to
b67d920
Compare
@ofborg build crystfel |
b8a0e2e
to
da46337
Compare
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/prs-ready-for-review/3032/1913 |
pkgs/applications/science/physics/crystfel/add-meson-build.patch
Outdated
Show resolved
Hide resolved
@SuperSandro2000 Thanks for the review and for pressing me on the meson patch thingy. The patch is actually in meson's "wrapdb" from where I shamelessly copied it from. Now it's downloaded from there. I'm not sure about the new |
@SuperSandro2000 Any further changes? |
@SuperSandro2000 Ping |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/prs-ready-for-review/3032/2131 |
@ofborg build crystfel crystfel.passthru.tests |
Result of 2 packages built:
|
Description of changes
The CrystFEL software used to not run on aarch64. This is due to:
gfortran
dependency. There is a newer version, 8.0.0 of this software, but this didn't work out of the box either (the CMake build process assumes certain unnecessary libraries to be installed), so the author of CrystFEL recommended to me to use a patch that adds the meson build systems instead. This is also used by the official package, see here (in nixpkgs, I avoided the wrap functionality and packaged the dependencies using Nix instead). It does not depend on gfortran anymore, it only builds the C version (for CrystFEL, only that is important).aarch64-darwin
, the functionfmemopen
doesn't exist (used to map a region of memory to aFILE*
pointer). The corresponding code I patched and sent the patch upstream (see here). Onaarch64-linux
, we have thememorymappingHook
which (still) works.Also, the HDF5-External-Filter-Plugin didn't work on Darwin because of a linker issue. This has been fixed by an external contributor.
Things done
sandbox = true
set innix.conf
? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)