From 1117016a45ecbd4a44b9bc5b7d6b93312c94fe8e Mon Sep 17 00:00:00 2001 From: Steven Keuchel Date: Thu, 31 Oct 2024 14:55:12 +0100 Subject: [PATCH] open-watcom-bin: do an unattended instead of a scripted install --- .../development/compilers/open-watcom/bin.nix | 43 +++---------------- 1 file changed, 5 insertions(+), 38 deletions(-) diff --git a/pkgs/development/compilers/open-watcom/bin.nix b/pkgs/development/compilers/open-watcom/bin.nix index 1f80799089992..5e7805a31b304 100644 --- a/pkgs/development/compilers/open-watcom/bin.nix +++ b/pkgs/development/compilers/open-watcom/bin.nix @@ -1,4 +1,4 @@ -{ lib, stdenvNoCC, fetchurl, qemu, expect, writeScript, writeScriptBin, ncurses, bash, coreutils }: +{ lib, stdenvNoCC, fetchurl, qemu, writeScript, writeScriptBin, ncurses, bash, coreutils, unixtools }: let @@ -48,41 +48,6 @@ let exec ${wrapLegacyBinary} "$TARGET-unwrapped" "$TARGET" ''; - # Do a scripted installation of OpenWatcom with its original installer. - # - # If maintaining this expect script turns out to be too much of a - # hassle, we can switch to just using `unzip' on the installer and - # the correct file permissions manually. - performInstall = writeScriptBin "performInstall" '' - #!${expect}/bin/expect -f - - spawn [lindex $argv 0] - - # Wait for button saying "I agree" with escape sequences. - expect "gree" - - # Navigate to "I Agree!" and hit enter. - send "\t\t\n" - - expect "Install Open Watcom" - - # Where do we want to install to. - send "$env(out)\n" - - expect "will be installed" - - # Select Full Installation, Next - send "fn" - - expect "Setup will now copy" - - # Next - send "n" - - expect "completed successfully" - send "\n" - ''; - in stdenvNoCC.mkDerivation rec { pname = "${passthru.prettyName}-unwrapped"; @@ -93,7 +58,7 @@ stdenvNoCC.mkDerivation rec { sha256 = "1wzkvc6ija0cjj5mcyjng5b7hnnc5axidz030c0jh05pgvi4nj7p"; }; - nativeBuildInputs = [ wrapInPlace performInstall ]; + nativeBuildInputs = [ wrapInPlace unixtools.script ]; dontUnpack = true; dontConfigure = true; @@ -104,7 +69,9 @@ stdenvNoCC.mkDerivation rec { ''; installPhase = '' - performInstall ./install-bin-unwrapped + # Command line options to do an unattended install are documented in + # https://github.com/open-watcom/open-watcom-v2/blob/master/bld/setupgui/setup.txt + script -c "./install-bin-unwrapped -dDstDir=$out -dFullInstall=1 -i" for e in $(find $out/binl -type f -executable); do echo "Wrapping $e"