Nix flake¶
The flake builds libyodaLib and the seams CLI with Meson. It does
not build Python or Lua. There are no overlays.
nix build # ./result/bin/seams
nix run . -- read input/traj/exampleTraj.lammpstrj
nix develop # inputsFrom seams, plus gdb, ccache, clang-tools
nix flake update # refresh the nixpkgs pin
nix fmt
nix build runs Meson doCheck: the Catch2 suite plus the CLI
smoke tests seams_read, seams_help, seams_version,
seams_features.
Flake outputs¶
From flake.nix. Supported systems: x86_64-linux,
aarch64-linux, x86_64-darwin, aarch64-darwin.
output |
value |
|---|---|
|
|
|
same as |
|
|
|
the |
|
same as |
|
|
|
|
The only flake input is nixpkgs (github:NixOS/nixpkgs/nixos-unstable).
What the package enables¶
From nix/package.nix (pname = "seams", version = "2.2.0"):
on |
Eigen, BLAS, LAPACK, Catch2 3, Highway ( |
OpenMP |
|
Meson flags |
|
|
|
wrap mode |
|
The fileset is meson.build, meson_options.txt, src, tests,
input, templates, and the wraps readcon-core.wrap,
vesin.wrap, robin-map.wrap, subprojects/packagefiles.
What stays off¶
|
Meson error if forced; Python is PydSEAMSlib |
|
Meson error if forced; Lua is yodaStruct |
|
|
|
|
vesin, readcon-core |
wrap-git fallbacks are not fetched ( |
chemfiles |
not in the flake closure |
IRA, sphericart, nauty |
|
seams --features on a flake build therefore reports Highway (and
OpenMP when it linked) as enabled, and vesin, chemfiles, readcon-core,
IRA/SOFI, sphericart, nauty, and MPI as disabled. Optional backends
turn on only if a nixpkgs package is already in the closure.
Front-end flakes¶
yodaStruct and PydSEAMSlib have matching flakes. They take seams-core as a locked source input and build it as the Meson subproject.
Cachix¶
The dseams cache is optional (not a flake input):
nix-env -iA cachix -f https://cachix.org/api/v1/install
cachix use dseams