changeset 1721:bf8a5ce8fb62 vext

Update vext; providers -> services
author Chris Cannam
date Wed, 28 Jun 2017 13:20:05 +0100
parents 3505d9536367
children fd23206b0d9a
files vext vext-project.json vext.sml
diffstat 3 files changed, 14 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/vext	Tue Jun 27 14:31:29 2017 +0100
+++ b/vext	Wed Jun 28 13:20:05 2017 +0100
@@ -18,9 +18,10 @@
 if [ -z "$sml" ]; then
     if sml -h 2>&1 | grep -q 'Standard ML of New Jersey'; then
 	sml="smlnj"
-    # I think there may be a race condition in the poly interpreter's
-    # tests for open or closed I/O streams - without the "echo" here,
-    # or with stderr redirection, this pipeline will sometimes hang
+    # We would prefer Poly/ML to SML/NJ, except that Poly v5.7 has a
+    # nasty bug that occasionally causes it to deadlock on startup.
+    # That appears to be fixed in their repo, so we could promote it
+    # up the order again at some point in future
     elif echo | poly -v 2>/dev/null | grep -q 'Poly/ML'; then
 	sml="poly"
     elif mlton 2>&1 | grep -q 'MLton'; then
--- a/vext-project.json	Tue Jun 27 14:31:29 2017 +0100
+++ b/vext-project.json	Wed Jun 28 13:20:05 2017 +0100
@@ -2,7 +2,7 @@
     "config": {
         "extdir": "."
     },
-    "providers": {
+    "services": {
 	"soundsoftware": {
 	    "vcs": ["hg", "git"],
 	    "anon": "https://code.soundsoftware.ac.uk/{vcs}/{repo}",
--- a/vext.sml	Tue Jun 27 14:31:29 2017 +0100
+++ b/vext.sml	Wed Jun 28 13:20:05 2017 +0100
@@ -33,7 +33,7 @@
     Software without prior written authorization.
 *)
 
-val vext_version = "0.9.1"
+val vext_version = "0.9.2"
 
 
 datatype vcs =
@@ -41,8 +41,8 @@
          GIT
 
 datatype source =
-         URL of string |
-         PROVIDER of {
+         URL_SOURCE of string |
+         SERVICE_SOURCE of {
              service : string,
              owner : string option,
              repo : string option
@@ -986,10 +986,10 @@
                   }
                 }
             val loaded = 
-                case lookup_optional json ["providers"] of
+                case lookup_optional json ["services"] of
                     NONE => []
                   | SOME (Json.OBJECT pl) => map (fn (k, v) => load v k) pl
-                  | _ => raise Fail "Object expected for providers in config"
+                  | _ => raise Fail "Object expected for services in config"
             val newly_loaded =
                 List.filter (fn p => not (List.exists (fn pp => #service p =
                                                                 #service pp)
@@ -1069,8 +1069,8 @@
                                           
     fun remote_url (context : context) vcs source libname =
         case source of
-            URL u => u
-          | PROVIDER { service, owner, repo } =>
+            URL_SOURCE u => u
+          | SERVICE_SOURCE { service, owner, repo } =>
             provider_url { vcs = vcs,
                            service = service,
                            owner = owner,
@@ -1387,9 +1387,9 @@
                   | other => raise Fail ("Unknown version-control system \"" ^
                                          other ^ "\""),
           source = case (url, service, owner, repo) of
-                       (SOME u, NONE, _, _) => URL u
+                       (SOME u, NONE, _, _) => URL_SOURCE u
                      | (NONE, SOME ss, owner, repo) =>
-                       PROVIDER { service = ss, owner = owner, repo = repo }
+                       SERVICE_SOURCE { service = ss, owner = owner, repo = repo }
                      | _ => raise Fail ("Must have exactly one of service " ^
                                         "or url string"),
           pin = case lock_pin of