Skip to content

Commit

Permalink
open-watcom-bin: do an unattended instead of a scripted install (#352609
Browse files Browse the repository at this point in the history
)
  • Loading branch information
emilazy authored Oct 31, 2024
2 parents b4f480f + 1117016 commit b59b333
Showing 1 changed file with 5 additions and 38 deletions.
43 changes: 5 additions & 38 deletions pkgs/development/compilers/open-watcom/bin.nix
Original file line number Diff line number Diff line change
@@ -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

Expand Down Expand Up @@ -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";
Expand All @@ -93,7 +58,7 @@ stdenvNoCC.mkDerivation rec {
sha256 = "1wzkvc6ija0cjj5mcyjng5b7hnnc5axidz030c0jh05pgvi4nj7p";
};

nativeBuildInputs = [ wrapInPlace performInstall ];
nativeBuildInputs = [ wrapInPlace unixtools.script ];

dontUnpack = true;
dontConfigure = true;
Expand All @@ -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"
Expand Down

0 comments on commit b59b333

Please sign in to comment.