diff --git a/pkgs/development/compilers/gnu-smalltalk/0000-fix_mkorder.patch b/pkgs/development/compilers/gnu-smalltalk/0000-fix_mkorder.patch new file mode 100644 index 000000000000..7b6fae2d5f03 --- /dev/null +++ b/pkgs/development/compilers/gnu-smalltalk/0000-fix_mkorder.patch @@ -0,0 +1,21 @@ +--- a/packages/gtk/mkorder.awk ++++ b/packages/gtk/mkorder.awk +@@ -33,6 +33,9 @@ + paths[1] = "." + n_paths = 1 + n_prefixes = split(_prefixes, prefixes) ++ ++ ignored_files = [ "glib/gwin32.h" ] ++ + split(_libs, libs) + split(_files, files) + for (i = 1; (i in libs); i++) +@@ -60,7 +63,7 @@ + + function process_file(name, file) { + file = find_file(name) +- if (file in processed) ++ if ((name in ignored_files) or (file in processed)) + return + processed[file] = 1 + if (file == "") diff --git a/pkgs/development/compilers/gnu-smalltalk/default.nix b/pkgs/development/compilers/gnu-smalltalk/default.nix index 1caf96c715cb..c6d910903120 100644 --- a/pkgs/development/compilers/gnu-smalltalk/default.nix +++ b/pkgs/development/compilers/gnu-smalltalk/default.nix @@ -25,6 +25,12 @@ in stdenv.mkDerivation rec { sha256 = "1k2ssrapfzhngc7bg1zrnd9n2vyxp9c9m70byvsma6wapbvib6l1"; }; + patches = [ + # The awk script incorrectly parsed `glib/glib.h` and was trying to find `glib/gwin32.h`, + # that isn't included since we're building only for linux. + ./0000-fix_mkorder.patch + ]; + # The dependencies and their justification are explained at # http://smalltalk.gnu.org/download nativeBuildInputs = [ pkg-config ];