libtool: fix shebang-fixing from 2.4.7 version bump

Libtool 2.4.7 changed the shebangs in `libtoolize.in` and `ltmain.sh`
from `/bin/sh` (which is a special sandbox exception) to `/usr/bin/env
sh` (which is not).

My PR (#167071) to bump the libtool version adjusted both of these
shebangs, when it should only have adjusted the one in
`libtoolize.in`.

`ltmain.sh` is not a script to be *executed* at
`libtool`-invocation-time.  It is a script which is *vendored into a
release* at `libtoolize`-invocation-time.

Thanks to @trofi for reporting this

  https://github.com/NixOS/nixpkgs/pull/167071#pullrequestreview-1079484605
This commit is contained in:
Adam Joseph 2022-08-20 19:56:11 -07:00
parent 77394c111b
commit b5aad8addf

View file

@ -38,10 +38,9 @@ stdenv.mkDerivation rec {
# libtool commit da2e352735722917bf0786284411262195a6a3f6 changed
# the shebang from `/bin/sh` (which is a special sandbox exception)
# to `/usr/bin/env sh`, meaning that we now need to patch shebangs
# in libtoolize and ltmain.sh since `dontPatchShebangs` is set:
# in libtoolize.in:
''
substituteInPlace libtoolize.in --replace '#! /usr/bin/env sh' '#!${runtimeShell}'
substituteInPlace build-aux/ltmain.in --replace '#! /usr/bin/env sh' '#!${runtimeShell}'
'';
strictDeps = true;