Erlang's generic-builder isn't using the right /bin/sh in some
situations, causing build errors either in the erlang build itself or
in derivations depending on it.
This patch runs `patchShebangs make/` before running the rest of the
`postPatch` phase, hopefully using the right shell early enough.
This might be a solution for #36853, #36823 and #37638.
Resolved the following conflicts (by carefully applying patches from the both
branches since the fork point):
pkgs/development/libraries/epoxy/default.nix
pkgs/development/libraries/gtk+/3.x.nix
pkgs/development/python-modules/asgiref/default.nix
pkgs/development/python-modules/daphne/default.nix
pkgs/os-specific/linux/systemd/default.nix
Semi-automatic update. These checks were done:
- built on NixOS
- ran `/nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14/bin/grape -h` got 0 exit code
- ran `/nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14/bin/grape --help` got 0 exit code
- ran `/nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14/bin/grape help` got 0 exit code
- ran `/nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14/bin/grape -v` and found version 2.4.14
- ran `/nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14/bin/grape --version` and found version 2.4.14
- ran `/nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14/bin/java2groovy -h` got 0 exit code
- ran `/nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14/bin/java2groovy --help` got 0 exit code
- ran `/nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14/bin/java2groovy help` got 0 exit code
- ran `/nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14/bin/groovy -h` got 0 exit code
- ran `/nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14/bin/groovy --help` got 0 exit code
- ran `/nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14/bin/groovy -v` and found version 2.4.14
- ran `/nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14/bin/groovy --version` and found version 2.4.14
- ran `/nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14/bin/groovydoc --help` got 0 exit code
- ran `/nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14/bin/groovydoc --version` and found version 2.4.14
- ran `/nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14/bin/groovyc -h` got 0 exit code
- ran `/nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14/bin/groovyc --help` got 0 exit code
- ran `/nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14/bin/groovyc -v` and found version 2.4.14
- ran `/nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14/bin/groovyc --version` and found version 2.4.14
- ran `/nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14/bin/groovysh -h` got 0 exit code
- ran `/nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14/bin/groovysh --help` got 0 exit code
- ran `/nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14/bin/groovysh -V` and found version 2.4.14
- ran `/nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14/bin/groovysh --version` and found version 2.4.14
- ran `/nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14/bin/groovyConsole --help` got 0 exit code
- found 2.4.14 with grep in /nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14
- found 2.4.14 in filename of file in /nix/store/x26aa3454yhk91kncw7nnzl0pw4piwsy-groovy-2.4.14
Semi-automatic update. These checks were performed:
- built on NixOS
- ran `/nix/store/4wlhzjj8k4a49dvpzgwhll2m03hvvcz9-supercollider-3.9.1/bin/scsynth -v` and found version 3.9.1
- ran `/nix/store/4wlhzjj8k4a49dvpzgwhll2m03hvvcz9-supercollider-3.9.1/bin/supernova -h` got 0 exit code
- ran `/nix/store/4wlhzjj8k4a49dvpzgwhll2m03hvvcz9-supercollider-3.9.1/bin/supernova --help` got 0 exit code
- ran `/nix/store/4wlhzjj8k4a49dvpzgwhll2m03hvvcz9-supercollider-3.9.1/bin/supernova -v` and found version 3.9.1
- ran `/nix/store/4wlhzjj8k4a49dvpzgwhll2m03hvvcz9-supercollider-3.9.1/bin/supernova --version` and found version 3.9.1
- ran `/nix/store/4wlhzjj8k4a49dvpzgwhll2m03hvvcz9-supercollider-3.9.1/bin/sclang -h` got 0 exit code
- ran `/nix/store/4wlhzjj8k4a49dvpzgwhll2m03hvvcz9-supercollider-3.9.1/bin/sclang -v` and found version 3.9.1
- found 3.9.1 with grep in /nix/store/4wlhzjj8k4a49dvpzgwhll2m03hvvcz9-supercollider-3.9.1
This involved:
* Installing miniperl as $dev/bin/perl
* Setting miniperl to take INC from
lib/perl5/{site_perl/,}cross_perl/${version} as well as
lib/perl5/{site_perl/,}/${version}/${runtimeArch}, in that
order. miniperl taking from runtimeArch is not really correct, but
it works in some pure-perl cases (e.g. Config.pm) and can be
overridden with the cross_perl variant.
* Installing perl-cross's stubs into
$dev/lib/perl5/cross_perl/${version}
* Patching MakeMaker.pm to gracefully degrade (very slightly) if B.pm
can't be loaded, which it can't in cross-compilation.
* Passing the right build-time and runtime perls to Makefile.PL
Semi-automatic update. These checks were performed:
- built on NixOS
- ran `/nix/store/yxs5d6pasfvp6000pm1sqhj89iirj3mv-jruby-9.1.16.0/bin/jruby -h` got 0 exit code
- ran `/nix/store/yxs5d6pasfvp6000pm1sqhj89iirj3mv-jruby-9.1.16.0/bin/jruby --help` got 0 exit code
- ran `/nix/store/yxs5d6pasfvp6000pm1sqhj89iirj3mv-jruby-9.1.16.0/bin/jruby -v` and found version 9.1.16.0
- ran `/nix/store/yxs5d6pasfvp6000pm1sqhj89iirj3mv-jruby-9.1.16.0/bin/jruby --version` and found version 9.1.16.0
- ran `/nix/store/yxs5d6pasfvp6000pm1sqhj89iirj3mv-jruby-9.1.16.0/bin/jruby.bash -h` got 0 exit code
- ran `/nix/store/yxs5d6pasfvp6000pm1sqhj89iirj3mv-jruby-9.1.16.0/bin/jruby.bash --help` got 0 exit code
- ran `/nix/store/yxs5d6pasfvp6000pm1sqhj89iirj3mv-jruby-9.1.16.0/bin/jruby.bash -v` and found version 9.1.16.0
- ran `/nix/store/yxs5d6pasfvp6000pm1sqhj89iirj3mv-jruby-9.1.16.0/bin/jruby.bash --version` and found version 9.1.16.0
- found 9.1.16.0 with grep in /nix/store/yxs5d6pasfvp6000pm1sqhj89iirj3mv-jruby-9.1.16.0
Semi-automatic update. These checks were performed:
- built on NixOS
- ran `/nix/store/16sl6aacbf5yg39jy7k5851ixs26hsnh-joker-0.8.9-bin/bin/joker -h` got 0 exit code
- ran `/nix/store/16sl6aacbf5yg39jy7k5851ixs26hsnh-joker-0.8.9-bin/bin/joker --help` got 0 exit code
- ran `/nix/store/16sl6aacbf5yg39jy7k5851ixs26hsnh-joker-0.8.9-bin/bin/joker help` got 0 exit code
- ran `/nix/store/16sl6aacbf5yg39jy7k5851ixs26hsnh-joker-0.8.9-bin/bin/joker -v` and found version 0.8.9
- ran `/nix/store/16sl6aacbf5yg39jy7k5851ixs26hsnh-joker-0.8.9-bin/bin/joker --version` and found version 0.8.9
- found 0.8.9 with grep in /nix/store/16sl6aacbf5yg39jy7k5851ixs26hsnh-joker-0.8.9-bin
- found 0.8.9 in filename of file in /nix/store/16sl6aacbf5yg39jy7k5851ixs26hsnh-joker-0.8.9-bin
cc "@andrestylianos @ehmry @lethalman"
Technically, racket compiles and packages too, but it doesn't pass all
tests yet, so the build fails.
gcc7Stdenv is GCC 7 with the MacOS-specific adaptations retained.
Building on MacOS with that works, but we should be using clang.
I'm hoping that the next person wanting to override the compiler
version in some other derivation sees that attribute and doesn't
inadvertently break a MacOS build again.