<pre style='margin:0'>
Landon Fuller (landonf) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/5844cfd705fce4024f88ad44e5c0495ee84b2a8f">https://github.com/macports/macports-ports/commit/5844cfd705fce4024f88ad44e5c0495ee84b2a8f</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 5844cfd  kremlin(-devel): support autodetection of both binary and source KREMLIN_HOME layouts
</span>5844cfd is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 5844cfd705fce4024f88ad44e5c0495ee84b2a8f
</span>Author: Landon Fuller <landonf@macports.org>
AuthorDate: Mon Oct 28 16:20:31 2019 -0600

<span style='display:block; white-space:pre;color:#404040;'>    kremlin(-devel): support autodetection of both binary and source KREMLIN_HOME layouts
</span>---
 lang/fstar/Portfile                                |  4 +-
 .../files/kremlin-devel/patch-fstar-discover-path  | 63 ++++++++++++++++++++--
 .../files/kremlin-stable/patch-fstar-discover-path | 62 +++++++++++++++++++--
 3 files changed, 117 insertions(+), 12 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/fstar/Portfile b/lang/fstar/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9d11889..6236c11 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/fstar/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/fstar/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -179,7 +179,7 @@ subport fstar-devel {
</span> 
 subport kremlin {
     github.setup        ${github.author} ${fstar.project} 0.9.6.0 v
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    revision            8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision            9
</span> 
     distname            v${version}
     worksrcdir          kremlin-${version}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -216,7 +216,7 @@ subport kremlin {
</span> subport kremlin-devel {
     github.setup        ${github.author} ${fstar.project} e324b7e63e24d0822e753051b9dc7f7ab294bc00
     version             ${fstar.version}-[string range ${github.version} 0 6]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    revision            3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision            4
</span> 
     checksums           rmd160  b02e8630d700b8065bd83f3938bf5806d74e4d22 \
                         sha256  be69d4ae8d7f0f38675addc29bf4dae4879805dfe94abba41b3d81a6e2829999 \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/fstar/files/kremlin-devel/patch-fstar-discover-path b/lang/fstar/files/kremlin-devel/patch-fstar-discover-path
</span><span style='display:block; white-space:pre;color:#808080;'>index ce56033..324034b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/fstar/files/kremlin-devel/patch-fstar-discover-path
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/fstar/files/kremlin-devel/patch-fstar-discover-path
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,5 +1,5 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/Driver.ml.orig     2019-10-25 11:40:03.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/Driver.ml  2019-10-25 12:08:59.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/Driver.ml  2019-10-28 15:27:27.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/Driver.ml  2019-10-28 15:48:43.000000000 -0600
</span> @@ -52,6 +52,7 @@
  let fstar_options = ref []
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8,16 +8,69 @@
</span>  let kremlib_dir = ref ""
  let runtime_dir = ref ""
  let include_dir = ref ""
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -145,6 +146,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -145,6 +146,16 @@
</span>  let detect_kremlin () =
    detect_base_tools_if ();
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+  bin_dir := Filename.dirname (Sys.executable_name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  let real_krml =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    let me = Sys.argv.(0) in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if Sys.os_type = "Win32" && not (Filename.is_relative me) then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      me
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      try read_one_line !readlink [| "-f"; read_one_line "which" [| me |] |]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      with _ -> fatal_error "Could not compute full krml path"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  bin_dir := Filename.dirname (real_krml);
</span> +
    if AutoConfig.kremlib_dir <> "" then begin
      kremlib_dir := AutoConfig.kremlib_dir;
      runtime_dir := AutoConfig.runtime_dir;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -221,12 +224,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -159,18 +170,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       begin try
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         Sys.getenv "KREMLIN_HOME"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       with Not_found -> try
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        let real_krml =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          let me = Sys.argv.(0) in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          if Sys.os_type = "Win32" && not (Filename.is_relative me) then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            me
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            try read_one_line !readlink [| "-f"; read_one_line "which" [| me |] |]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            with _ -> fatal_error "Could not compute full krml path"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         (* ../_build/src/Kremlin.native *)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if not !Options.silent then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           KPrint.bprintf "%sthe Kremlin executable is:%s %s\n" Ansi.underline Ansi.reset real_krml;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        read_one_line !readlink [| "-f"; d real_krml ^^ ".." ^^ ".." |]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        read_one_line !readlink [| "-f"; d real_krml ^^ ".." |]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       with _ ->
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         fatal_error "Could not compute krml_home"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -185,11 +188,20 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       Sys.chdir cwd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     end;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    kremlib_dir := krml_home ^^ "kremlib";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    runtime_dir := krml_home ^^ "runtime";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    include_dir := krml_home ^^ "include";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    misc_dir := krml_home ^^ "misc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if try Sys.is_directory (krml_home ^^ "kremlib") with Sys_error _ -> false; then begin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if not !Options.silent then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        KPrint.bprintf "Detected source layout in KreMLin home\n";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      kremlib_dir := krml_home ^^ "kremlib";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      runtime_dir := krml_home ^^ "runtime";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      include_dir := krml_home ^^ "include";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      misc_dir := krml_home ^^ "misc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    end else begin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      kremlib_dir := krml_home ^^ "lib" ^^ "kremlin";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      runtime_dir := !kremlib_dir ^^ "runtime";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      include_dir := krml_home ^^ "include";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      misc_dir := krml_home ^^ "share" ^^ "kremlin" ^^ "misc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    end;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   end;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   (* The first one for the C compiler, the second one for F* *)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -221,12 +233,16 @@
</span>      fstar_home := r;
      fstar := r ^^ "bin" ^^ "fstar.exe"
    with Not_found -> try
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/fstar/files/kremlin-stable/patch-fstar-discover-path b/lang/fstar/files/kremlin-stable/patch-fstar-discover-path
</span><span style='display:block; white-space:pre;color:#808080;'>index b12dec6..21838d2 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/fstar/files/kremlin-stable/patch-fstar-discover-path
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/fstar/files/kremlin-stable/patch-fstar-discover-path
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,5 +1,5 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/Driver.ml.orig     2018-05-17 14:40:16.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/Driver.ml  2019-10-25 12:26:07.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/Driver.ml  2019-10-28 15:51:04.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/Driver.ml  2019-10-28 15:52:24.000000000 -0600
</span> @@ -49,6 +49,7 @@
  let fstar_options = ref []
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8,16 +8,68 @@
</span>  let kremlib_dir = ref ""
  let runtime_dir = ref ""
  let include_dir = ref ""
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -121,6 +122,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -121,6 +122,16 @@
</span>  let detect_kremlin () =
    detect_base_tools_if ();
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+  bin_dir := Filename.dirname (Sys.executable_name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  let real_krml =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    let me = Sys.argv.(0) in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if Sys.os_type = "Win32" && not (Filename.is_relative me) then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      me
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      try read_one_line !readlink [| "-f"; read_one_line "which" [| me |] |]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      with _ -> fatal_error "Could not compute full krml path"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  bin_dir := Filename.dirname (real_krml);
</span> +
    if AutoConfig.kremlib_dir <> "" then begin
      kremlib_dir := AutoConfig.kremlib_dir;
      runtime_dir := AutoConfig.runtime_dir;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -188,11 +191,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -130,19 +141,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     KPrint.bprintf "%sKreMLin called via:%s %s\n" Ansi.underline Ansi.reset Sys.argv.(0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    let real_krml =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      let me = Sys.argv.(0) in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      if Sys.os_type = "Win32" && not (Filename.is_relative me) then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        me
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        try read_one_line !readlink [| "-f"; read_one_line "which" [| me |] |]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        with _ -> fatal_error "Could not compute full krml path"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     (* ../_build/src/Kremlin.native *)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     KPrint.bprintf "%sthe Kremlin executable is:%s %s\n" Ansi.underline Ansi.reset real_krml;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     let krml_home =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      try read_one_line !readlink [| "-f"; d real_krml ^^ ".." ^^ ".." |]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      try read_one_line !readlink [| "-f"; d real_krml ^^ ".." |]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       with _ -> fatal_error "Could not compute krml_home"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     KPrint.bprintf "%sKreMLin home is:%s %s\n" Ansi.underline Ansi.reset krml_home;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -154,10 +157,18 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       Sys.chdir cwd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     end;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    kremlib_dir := krml_home ^^ "kremlib";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    runtime_dir := krml_home ^^ "runtime";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    include_dir := krml_home ^^ "include";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    misc_dir := krml_home ^^ "misc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if try Sys.is_directory (krml_home ^^ "kremlib") with Sys_error _ -> false; then begin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      KPrint.bprintf "Detected source layout in KreMLin home\n";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      kremlib_dir := krml_home ^^ "kremlib";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      runtime_dir := krml_home ^^ "runtime";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      include_dir := krml_home ^^ "include";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      misc_dir := krml_home ^^ "misc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    end else begin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      kremlib_dir := krml_home ^^ "lib" ^^ "kremlin";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      runtime_dir := !kremlib_dir ^^ "runtime";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      include_dir := krml_home ^^ "include";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      misc_dir := krml_home ^^ "share" ^^ "kremlin" ^^ "misc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    end;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   end;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -188,11 +199,15 @@
</span>      fstar_home := r;
      fstar := r ^^ "bin" ^^ "fstar.exe"
    with Not_found -> try
</pre><pre style='margin:0'>

</pre>