Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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