Skip to content

Instantly share code, notes, and snippets.

@daniel-barlow
Last active August 29, 2015 14:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save daniel-barlow/b50fd53437e88eac2029 to your computer and use it in GitHub Desktop.
Save daniel-barlow/b50fd53437e88eac2029 to your computer and use it in GitHub Desktop.
building mongodb seems to hang forever in patchPhase. It has no prePatch hooks, no patches, and a postPatch
hook as follows
postPatch = ''
# fix environment variable reading
substituteInPlace SConstruct \
--replace "env = Environment(" "env = Environment(ENV = os.environ,"
'';
and it's that substituteInPlace call that takes forever
:; (cd /tmp && nix-shell '<nixpkgs>' -A mongodb --show-trace --pure)
[nix-shell:/private/tmp]$ cd mongodb-src-r3.0.4/
[nix-shell:/private/tmp/mongodb-src-r3.0.4]$ ls -l SConstruct
-rw-rw-r-- 1 dbarlow wheel 92233 Jun 15 16:43 SConstruct
[nix-shell:/private/tmp/mongodb-src-r3.0.4]$ for i in 10 50 100 200 300 400 500 600 700 800 900; do (head -$i SConstruct > in); time substitute in out --replace "env = Environment(" "env = Environment(ENV = os.environ," ;done
real 0m0.009s
user 0m0.003s
sys 0m0.004s
real 0m0.008s
user 0m0.003s
sys 0m0.003s
real 0m0.007s
user 0m0.003s
sys 0m0.003s
real 0m0.010s
user 0m0.004s
sys 0m0.004s
real 0m0.011s
user 0m0.006s
sys 0m0.004s
real 0m0.012s
user 0m0.007s
sys 0m0.004s
real 0m0.014s
user 0m0.009s
sys 0m0.005s
real 0m0.016s
user 0m0.010s
sys 0m0.005s
real 1m20.850s
user 1m20.779s
sys 0m0.056s
real 1m58.572s
user 1m58.314s
sys 0m0.171s
real 2m34.061s
user 2m33.845s
sys 0m0.153s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment