From dadc7eb3297e6c2fb0c0e01149c8fcebd80770c1 Mon Sep 17 00:00:00 2001 From: Jörg Thalheim Date: Tue, 26 Feb 2019 11:45:54 +0000 Subject: treewide: use runtimeShell instead of stdenv.shell whenever possible Whenever we create scripts that are installed to $out, we must use runtimeShell in order to get the shell that can be executed on the machine we create the package for. This is relevant for cross-compiling. The only use case for stdenv.shell are scripts that are executed as part of the build system. Usages in checkPhase are borderline however to decrease the likelyhood of people copying the wrong examples, I decided to use runtimeShell as well. --- pkgs/servers/mail/system-sendmail/default.nix | 4 ++-- pkgs/servers/meteor/default.nix | 4 ++-- pkgs/servers/monitoring/plugins/default.nix | 5 +++-- pkgs/servers/nosql/eventstore/default.nix | 4 ++-- pkgs/servers/web-apps/codimd/default.nix | 4 ++-- pkgs/servers/xmpp/pyIRCt/default.nix | 4 ++-- pkgs/servers/xmpp/pyMAILt/default.nix | 4 ++-- pkgs/servers/zookeeper/default.nix | 4 ++-- 8 files changed, 17 insertions(+), 16 deletions(-) (limited to 'pkgs/servers') diff --git a/pkgs/servers/mail/system-sendmail/default.nix b/pkgs/servers/mail/system-sendmail/default.nix index fe0aeb5b3af..7bd7df84924 100644 --- a/pkgs/servers/mail/system-sendmail/default.nix +++ b/pkgs/servers/mail/system-sendmail/default.nix @@ -1,7 +1,7 @@ -{ stdenv, writeText }: +{ stdenv, writeText, runtimeShell }: let script = writeText "script" '' - #!${stdenv.shell} + #!${runtimeShell} if command -v sendmail > /dev/null 2>&1 && [ "$(command -v sendmail)" != "{{MYPATH}}" ]; then exec sendmail "$@" diff --git a/pkgs/servers/meteor/default.nix b/pkgs/servers/meteor/default.nix index 132f812bf46..b677b6080d1 100644 --- a/pkgs/servers/meteor/default.nix +++ b/pkgs/servers/meteor/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, zlib, patchelf }: +{ stdenv, lib, fetchurl, zlib, patchelf, runtimeShell }: let bootstrap = fetchurl { @@ -69,7 +69,7 @@ stdenv.mkDerivation rec { # otherwise it fails spectacularly. mkdir -p $out/bin cat << EOF > $out/bin/meteor - #!${stdenv.shell} + #!${runtimeShell} if [[ ! -f \$HOME/.meteor/package-metadata/v2.0.1/packages.data.db ]]; then mkdir -p \$HOME/.meteor/package-metadata/v2.0.1 diff --git a/pkgs/servers/monitoring/plugins/default.nix b/pkgs/servers/monitoring/plugins/default.nix index a0f7341571c..3e6eaa4766e 100644 --- a/pkgs/servers/monitoring/plugins/default.nix +++ b/pkgs/servers/monitoring/plugins/default.nix @@ -1,5 +1,6 @@ { stdenv, fetchFromGitHub, autoreconfHook -, coreutils, gnugrep, gnused, lm_sensors, net_snmp, openssh, openssl, perl }: +, coreutils, gnugrep, gnused, lm_sensors, net_snmp, openssh, openssl, perl +, runtimeShell }: with stdenv.lib; @@ -50,7 +51,7 @@ in stdenv.mkDerivation rec { preBuild = '' mkdir -p $out cat <<_EOF > $out/share -#!${stdenv.shell} +#!${runtimeShell} exit 0 _EOF chmod 755 $out/share diff --git a/pkgs/servers/nosql/eventstore/default.nix b/pkgs/servers/nosql/eventstore/default.nix index 1d3240fae71..7880c6db7fd 100644 --- a/pkgs/servers/nosql/eventstore/default.nix +++ b/pkgs/servers/nosql/eventstore/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, git, mono, v8 }: +{ stdenv, fetchFromGitHub, git, mono, v8, runtimeShell }: # There are some similarities with the pinta derivation. We should # have a helper to make it easy to package these Mono apps. @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { mkdir -p $out/{bin,lib/eventstore/clusternode} cp -r bin/clusternode/* $out/lib/eventstore/clusternode/ cat > $out/bin/clusternode << EOF - #!${stdenv.shell} + #!${runtimeShell} exec ${mono}/bin/mono $out/lib/eventstore/clusternode/EventStore.ClusterNode.exe "\$@" EOF chmod +x $out/bin/clusternode diff --git a/pkgs/servers/web-apps/codimd/default.nix b/pkgs/servers/web-apps/codimd/default.nix index c48a9f938bd..d5e84cce984 100644 --- a/pkgs/servers/web-apps/codimd/default.nix +++ b/pkgs/servers/web-apps/codimd/default.nix @@ -1,5 +1,5 @@ { stdenv, pkgs, buildEnv, fetchFromGitHub, makeWrapper -, fetchpatch, nodejs-6_x, phantomjs2 }: +, fetchpatch, nodejs-6_x, phantomjs2, runtimeShell }: let nodePackages = import ./node.nix { inherit pkgs; @@ -126,7 +126,7 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/bin cat > $out/bin/codimd < $out/bin/pyIRCt < $out/bin/pyMAILt < $out/bin/zooInspector.sh - #!${stdenv.shell} + #!${runtimeShell} cd $out/share/zooinspector exec ${jre}/bin/java -cp $classpath org.apache.zookeeper.inspector.ZooInspector EOF -- cgit 1.4.1