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.