On 17 April 2017 at 11:59, Alistair Grant <akgrant0...@gmail.com> wrote:

> What about the genVersion.sh script I provided earlier in this thread?
>

The genVersion.sh script has a dependency under the hood that I can't
satisfy: it expects to be able to run git commands but I can't do that in
the nix environment.

The root problem is that nix requires a perfectly reproducible build
environment, with the sha256 hash of every dependency declared, and that is
hard to do for the .git folder. The .git is really a database that contains
many source code versions and not just the one that I have checked out.

Which perl script (I'm still learning about the build process), and why
> would you need access to git blobs directly?
>

Check out opensmalltalk-vm/.git_filters/RevDateURL.smudge. This is a perl
script that is accessing environmental state that's off-limits in the nix
universe e.g. whoami, hostname, date, git, etc.

Could be that I should write the version info by hand and apply it as a
patch.

I have to make my build produce the same result every time it runs. That
way it will always work the same, and somebody in 5 years who wants to run
an _ancient_ Pharo 6 image will be able to do that with my build script
because it's a fixed point.


> What does "Smalltalk vm interpreterSourceDate" actually return?
>

actually it gets an exception because I don't have well-formed values from
the strings it is trying to parse.

Reply via email to