So, I’m building a large software project that’s beginning to use Nix to manage dependencies in Ruby, Node, and Python (and a few other little things in Haskell.) Today’s task is to get updated to 18.09 so that we can take advantage of the latest packages and fixes for Mojave. I’m pulling this particular set of packages:
let
rev = "03dc6471c12a0ef505ad8136ce07d47b332f2def";
sha256 = "194h5v5gp7zp93himc0g73mn8nn6lk30k848isrd3cznyl0637bz";
pkgsPath = builtins.fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/${rev}.tar.gz";
sha256 = sha256;
};
in
import pkgsPath { config = {}; }
And it downloads fine at that particular revision (which AFAICT corresponds to this hydra job: https://hydra.nixos.org/eval/1490819.) But when I go to build some things, it’s not downloading the what seems to be the right stuff as persisted in the Nix cache. In particular, it’s having a hard time building openbsm because of this message: openbsm build is slightly impure · Issue #46429 · NixOS/nixpkgs · GitHub (openbsm is an upstream dependency of git-lfs
, which we have in our shell.nix
.)
Strange thing is, it looks like openbsm builds fine, or last built fine: https://hydra.nixos.org/eval/1490757?filter=openbsm&compare=1490709&full=
So what am I doing wrong? Am I incorrect in reading that openbsm was built successfully? Why are the packages having to be built on my local computer instead of being downloaded, when it appears they’re available?
I’m totally open to hearing “hey, you’re just thinking about this in the wrong way” as there are a lot of things in Nix that I’m not completely solid in my understanding yet.