~ chicken-core (chicken-5) 9acd98d4386fa1373bfef766a2881efe19dfeee6
commit 9acd98d4386fa1373bfef766a2881efe19dfeee6
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Sun Jun 6 13:19:09 2010 +0200
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Sun Jun 6 13:19:09 2010 +0200
added aliases to setup.defaults
diff --git a/chicken-install.scm b/chicken-install.scm
index 59254487..5d4ab735 100644
--- a/chicken-install.scm
+++ b/chicken-install.scm
@@ -87,6 +87,7 @@
(define *trunk* #f)
(define *csc-features* '())
(define *prefix* #f)
+ (define *aliases* '())
(define (get-prefix)
(cond ((and (feature? #:cross-chicken)
@@ -122,10 +123,27 @@
(let-values (((from to) (split-at m p)))
(cons from (cdr to)))))
(cdr x)))))
+ ((alias)
+ (set! *aliases*
+ (append
+ *aliases*
+ (map (lambda (a)
+ (if (and (list? a) (= 2 (length a)) (every string? a))
+ (cons (car a) (cadr a))
+ (broken x)))
+ (cdr x)))))
(else (broken x))))
(read-file deff))))
(pair? *default-sources*) ))
+ (define (resolve-location name)
+ (cond ((assoc name *aliases*) =>
+ (lambda (a)
+ (let ((new (cdr a)))
+ (print "resolving alias " name " to: " new)
+ (resolve-location new))))
+ (else name)))
+
(define (known-default-sources)
(if (and *default-location* *default-transport*)
`(((location
@@ -248,8 +266,9 @@
(if (null? defs)
(values #f "")
(let* ([def (car defs)]
- [locn (cadr (or (assq 'location def)
- (error "missing location entry" def)))]
+ [locn (resolve-location
+ (cadr (or (assq 'location def)
+ (error "missing location entry" def))))]
[trans (cadr (or (assq 'transport def)
(error "missing transport entry" def)))])
(let-values ([(dir ver) (try-extension name version trans locn)])
diff --git a/setup.defaults b/setup.defaults
index 779a4cbe..cac61eb1 100644
--- a/setup.defaults
+++ b/setup.defaults
@@ -1,16 +1,35 @@
;;;; setup.defaults - defaults for chicken-install -*- Scheme -*-
+
+;; list of servers in the order in which they will be processed
+;
+; (server (location URL) (transport TRANSPORT))
+
(server
- (location "http://chicken.kitten-technologies.co.uk/henrietta.cgi")
+ (location "kitten-technologies")
(transport http))
(server
- (location "http://galinha.ucpel.tche.br/cgi-bin/henrietta")
+ (location "galinha")
(transport http))
+
+;; extensions-mappings
+;
+; (map (EXTENSIONNAME ... -> OTHEREXTENSIONNAME ...))
+
(map
(data-structures
extras files foreign irregex lolevel ports tcp utils
posix regex setup-api setup-download
srfi-1 srfi-4 srfi-13 srfi-14 srfi-18 srfi-69
->) )
+
+
+;; aliases for locations
+;
+; (alias (NAME REALNAME) ...)
+
+(alias
+ ("galinha" "http://galinha.ucpel.tche.br/cgi-bin/henrietta")
+ ("kitten-technologies" "http://chicken.kitten-technologies.co.uk/henrietta.cgi"))
Trap