diff --git a/lisp/asdf.ros b/lisp/asdf.ros index 13fd399..8345caa 100644 --- a/lisp/asdf.ros +++ b/lisp/asdf.ros @@ -29,11 +29,12 @@ exec ros -Q -m roswell -L sbcl-bin -- $0 "$@" '(("install" . asdf-install) ("use" . asdf-use) ("list" . asdf-list))) +(defvar *asdf-base-uri* "https://github.com/fare/asdf/archive/") (defun asdf-install (&optional version &rest r) (declare (ignorable r)) (setf version (or version (first (asdf-get-version)))) - (let ((url (format nil "https://github.com/fare/asdf/archive/~A.tar.gz" version)) + (let ((url (format nil "~A~A.tar.gz" *asdf-base-uri* version)) (file (merge-pathnames (format nil "archives/asdf-~A.tar.gz" version) (homedir))) (src (merge-pathnames "src/" (homedir)))) (unless (probe-file file) diff --git a/lisp/install+ffcall.lisp b/lisp/install+ffcall.lisp index a55b967..45dc00a 100644 --- a/lisp/install+ffcall.lisp +++ b/lisp/install+ffcall.lisp @@ -1,9 +1,9 @@ (in-package :ros.install) (defvar *ffcall-version* "1.10") - +(defvar *ffcall-archive-uri* "http://www.haible.de/bruno/gnu/") (defun ffcall-setup (argv) - (let* ((uri (format nil "http://www.haible.de/bruno/gnu/ffcall-~A.tar.gz" *ffcall-version*)) + (let* ((uri (format nil "~Affcall-~A.tar.gz" *ffcall-archive-uri* *ffcall-version*)) (pos (position #\/ uri :from-end t)) (path (merge-pathnames (format nil "archives/~A" (subseq uri (1+ pos))) (homedir))) (expand-dir (merge-pathnames (format nil "src/ffcall-~A/" *ffcall-version*) (homedir)))) diff --git a/lisp/install+msys2.lisp b/lisp/install+msys2.lisp index b255908..5b36a51 100644 --- a/lisp/install+msys2.lisp +++ b/lisp/install+msys2.lisp @@ -8,7 +8,7 @@ ;;(ironclad:byte-array-to-hex-string (ironclad:digest-file :sha1 path)) (defvar *msys2-arch* #+x86-64 "x86_64" #-x86-64 "i686") ;; TBD ARM windows? (defvar *msys2-bits* #+x86-64 "64" #-x86-64 "32") - +(defvar *msys2-base-uri* "http://kent.dl.sourceforge.net/project/") (defun msys2-setup (argv) (let ((path (merge-pathnames (format nil "archives/msys2-~A.tar.xz" *msys2-basever*) (homedir))) (msys (merge-pathnames (format nil "impls/~A/~A/msys~A/" (uname-m) (uname) *msys2-bits*) (homedir)))) @@ -20,7 +20,8 @@ (when (or (not (probe-file path)) (get-opt "download.force")) (download - (format nil "http://kent.dl.sourceforge.net/project/msys2/Base/~A/msys2-base-~A-~A.tar.xz" + (format nil "~Amsys2/Base/~A/msys2-base-~A-~A.tar.xz" + *msys2-base-uri* *msys2-arch* *msys2-arch* *msys2-basever*) path)) (format t " done.~%") (expand path diff --git a/lisp/install+sigsegv.lisp b/lisp/install+sigsegv.lisp index 7eeea00..549cfa1 100644 --- a/lisp/install+sigsegv.lisp +++ b/lisp/install+sigsegv.lisp @@ -1,9 +1,10 @@ (in-package :ros.install) (defvar *sigsegv-version* "2.10") +(defvar *sigsegv-uri* "http://ftpmirror.gnu.org/libsigsegv/") (defun sigsegv-setup (argv) - (let* ((uri (format nil "http://ftpmirror.gnu.org/libsigsegv/libsigsegv-~A.tar.gz" *sigsegv-version*)) + (let* ((uri (format nil "~Alibsigsegv-~A.tar.gz" *sigsegv-uri* *sigsegv-version*)) (pos (position #\/ uri :from-end t)) (path (merge-pathnames (format nil "archives/~A" (subseq uri (1+ pos))) (homedir))) (expand-dir (merge-pathnames (format nil "src/libsigsegv-~A/" *sigsegv-version*) (homedir)))) diff --git a/lisp/install-abcl-bin.lisp b/lisp/install-abcl-bin.lisp index 1696084..510fae4 100644 --- a/lisp/install-abcl-bin.lisp +++ b/lisp/install-abcl-bin.lisp @@ -2,10 +2,11 @@ (in-package :ros.install) (ql:quickload '(:plump :simple-date-time :split-sequence :cl-ppcre) :silent t) +(defvar *abcl-base-uri* "https://common-lisp.net/project/armedbear/releases/") (defun abcl-bin-get-version () (let ((file (merge-pathnames "tmp/abcl-bin.html" (homedir)))) (format *error-output* "Checking version to install....~%") - (download "https://common-lisp.net/project/armedbear/releases/" file) + (download *abcl-base-uri* file) (loop for a in (plump:get-elements-by-tag-name (plump:parse file) "a") for x = (string-right-trim "/" (plump:get-attribute a "href")) @@ -18,8 +19,6 @@ (setf (getf argv :version) (first (abcl-bin-get-version))))) (cons t argv)) -;;"https://common-lisp.net/project/armedbear/releases/1.3.3/abcl-bin-1.3.3.tar.gz" - (defun abcl-bin-impl () (merge-pathnames (format nil "impls/~A/~A/abcl-bin/" (uname-m) (uname)) (homedir))) @@ -27,7 +26,7 @@ (set-opt "as" (getf argv :version)) (when (position "--without-install" (getf argv :argv) :test 'equal) (set-opt "without-install" t)) - (set-opt "download.uri" (format nil "~@{~A~}" "https://common-lisp.net/project/armedbear/releases/" + (set-opt "download.uri" (format nil "~@{~A~}" *abcl-base-uri* (getf argv :version) "/abcl-bin-" (getf argv :version)".tar.gz")) (set-opt "download.archive" (let ((pos (position #\/ (get-opt "download.uri") :from-end t))) (when pos diff --git a/lisp/install-ccl-bin.lisp b/lisp/install-ccl-bin.lisp index 3203f87..79c4d27 100644 --- a/lisp/install-ccl-bin.lisp +++ b/lisp/install-ccl-bin.lisp @@ -4,12 +4,13 @@ #+win32 (ql:quickload :zip :silent t) +(defvar *ccl-base-uri* "http://ccl.clozure.com/ftp/pub/release/") (defun ccl-bin-get-version () (let ((file (merge-pathnames "tmp/ccl-bin.html" (homedir)))) (format *error-output* "Checking version to install...~%") (unless (and (probe-file file) (< (get-universal-time) (+ (* 60 60) (file-write-date file)))) - (download "http://ccl.clozure.com/ftp/pub/release/" file)) + (download *ccl-base-uri* file)) (loop for link in (plump:get-elements-by-tag-name (plump:parse file) "a") for href = (plump:get-attribute link "href") for len = (length href) @@ -38,7 +39,7 @@ (set-opt "as" (getf argv :version)) (when (position "--without-install" (getf argv :argv) :test 'equal) (set-opt "without-install" t)) - (set-opt "download.uri" (format nil "~@{~A~}" "http://ccl.clozure.com/ftp/pub/release/" + (set-opt "download.uri" (format nil "~@{~A~}" *ccl-base-uri* (getf argv :version) "/ccl-" (getf argv :version) "-" uname ccl-uname-m (if (equal uname "windows") ".zip"".tar.gz"))) (set-opt "download.archive" (let ((pos (position #\/ (get-opt "download.uri") :from-end t))) diff --git a/lisp/install-clisp.lisp b/lisp/install-clisp.lisp index 3f0ca80..51fe88a 100644 --- a/lisp/install-clisp.lisp +++ b/lisp/install-clisp.lisp @@ -1,11 +1,14 @@ (in-package :ros.install) +(defvar *clisp-base-uri* "http://ftp.gnu.org/pub/gnu/clisp/release/") +(defvar *clisp-archive-uri* "http://sourceforge.net/projects/clisp/files/clisp/") + (defun clisp-get-version () (let ((file (merge-pathnames "tmp/clisp.html" (homedir)))) (format *error-output* "Checking version to install....~%") (unless (and (probe-file file) (< (get-universal-time) (+ (* 60 60) (file-write-date file)))) - (download "http://ftp.gnu.org/pub/gnu/clisp/release/" file)) + (download *clisp-base-uri* file)) (loop for link in (plump:get-elements-by-tag-name (plump:parse file) "a") for href = (plump:get-attribute link "href") for len = (1- (length href)) when (and (eql (aref href len) #\/) @@ -27,7 +30,7 @@ (getf argv :version) (nth (1+ pos) (getf argv :argv)))) (getf argv :version)))) - (set-opt "download.uri" (format nil "~@{~A~}" "http://sourceforge.net/projects/clisp/files/clisp/" + (set-opt "download.uri" (format nil "~@{~A~}" *clisp-archive-uri* (getf argv :version) "/clisp-" (getf argv :version) ".tar.bz2")) (set-opt "download.archive" (let ((pos (position #\/ (get-opt "download.uri") :from-end t))) (when pos diff --git a/lisp/install-ecl.lisp b/lisp/install-ecl.lisp index c709875..0fe05d4 100644 --- a/lisp/install-ecl.lisp +++ b/lisp/install-ecl.lisp @@ -4,6 +4,7 @@ (defvar *ecl-options* '()) +(defvar *ecl-archive-uri* "https://github.com/roswell/mirror-ecl/archive/") (defun ecl-get-version () (format *error-output* "Checking version to install....~%") (github-version "roswell" "mirror-ecl" @@ -39,7 +40,7 @@ (set-opt "archive" "t")) (when (position "--without-install" (getf argv :argv) :test 'equal) (set-opt "without-install" t)) - (set-opt "download.uri" (format nil "https://github.com/roswell/mirror-ecl/archive/~A.tar.gz" (ecl-version-filename (getf argv :version)))) + (set-opt "download.uri" (format nil "~A.tar.gz" *ecl-archive-uri* (ecl-version-filename (getf argv :version)))) (set-opt "download.archive" (let ((pos (position #\/ (get-opt "download.uri") :from-end t))) (when pos (merge-pathnames (format nil "archives/~A" (subseq (get-opt "download.uri") (1+ pos))) (homedir))))) diff --git a/lisp/install-quicklisp.lisp b/lisp/install-quicklisp.lisp index c094402..64f55e4 100644 --- a/lisp/install-quicklisp.lisp +++ b/lisp/install-quicklisp.lisp @@ -1,4 +1,5 @@ (in-package :ros.install) +(defvar *quicklisp-base-uri* "http://beta.quicklisp.org/") (defun quicklisp-help (argv) (format *error-output* "no options for quicklisp~%") @@ -68,7 +69,7 @@ release))))))) (defun quicklisp-argv-parse (argv) - (set-opt "download.uri" (format nil "~A~A" "http://beta.quicklisp.org/" "quicklisp.lisp")) + (set-opt "download.uri" (format nil "~A~A" *quicklisp-base-uri* "quicklisp.lisp")) (set-opt "download.archive" (merge-pathnames (format nil "archives/~A" "quicklisp.lisp") (homedir))) (cons t argv))