tested allegro installation on linux x86-64.(might work on other platform not tested yet)

This commit is contained in:
SANO Masatoshi 2023-04-07 05:33:20 +08:00
parent 5c0b3913c9
commit 53ec6fb392
2 changed files with 46 additions and 20 deletions

View file

@ -8,27 +8,50 @@
(mapcar #'car *allegro-agreement-uri*))
(defun make-allegro-uri (argv &key
(uname (uname))
(uname-m (uname-m))
(version (getf argv :version)))
(uname (uname))
(uname-m (uname-m))
(version (getf argv :version)))
(let ((os (intern uname :keyword))
(machine (intern uname-m :keyword)))
(cond ((find version '("10.1express" "100express") :test 'equal)
(cond ((find version '("11.0bexpress"
"10.1express")
:test 'equal)
(format nil "~@{~A~}"
(allegro-uri) "pub/acl" version "/"
(case os (:|darwin| "macosx") (t os))
(if (eql os :|windows|) ""
(case machine (:|x86| 86) (:|x86-64| 86)))
(allegro-uri) "ftp/pub/acl" version "/"
(ecase os
(:|linux| (ecase machine
(:|x86-64| "linuxamd64.64")
(:|arm64| "linuxarm64")
(:|x86| "linux86")))
(:|darwin| (case machine
(:|arm64| "macarm64.64")
(:|x86-64| "macosx86-64.64")))
(:|windows| os) ;; 32bit only
(:|freebsd| os)) ;; 32bit only
"/acl" version
(case os (:|linux| "-linux") (:|darwin| "-macosx") (:|windows| "") (t os))
"-" (if (eql os :|darwin|) "x64"
(case machine (:|x86-64| "x86") (t machine)))
(case os
(:|linux| (cond ((equal "10.1express" version) ".tbz2")
((equal "100express" version) ".bz2")))
(:|darwin| ".dmg")
(:|windows| ".exe"))))
((equal "101b" version)))))
(ecase os
(:|linux| (format nil "~@{~A~}"
"-linux-"
(ecase machine
(:|x86-64| "x64")
(:|arm64| "aarch64")
(:|x86| "x86"))
(cond
((equal "100express" version) ".bz2")
(t ".tbz2"))))
(:|darwin| (format nil "~@{~A~}"
(if (equal version "10.1express")
"-macosx-"
"-macos-")
(ecase machine
(:|x86-64| "x64.dmg")
(:|arm64| "arm64.dmg"))))
(:|windows| "-x86.exe")
(:|freebsd| (format nil "~@{~A~}"
"-freebsd-"
(ecase machine
(:|x86-64| "x86.tbz2")
(:|x86| "x86.tbz2"))))))))))
(defun allegro-argv-parse (argv)
(format *error-output* "~&Installing allegro/~A...~%" (getf argv :version))
@ -65,7 +88,9 @@
(uiop/filesystem:delete-directory-tree
path :validate t))
(ql-impl-util:rename-directory
(merge-pathnames (format nil "acl~A/" (getf argv :version)) impls)
(first (loop for file in (directory (merge-pathnames (format nil "acl~A*/" (getf argv :version)) impls))
when (probe-file file)
collect it))
(merge-pathnames (format nil "~A/" (opt "as")) impls))))
(cons t argv)))

View file

@ -17,7 +17,7 @@
(defuri clisp-version-uri "http://ftp.gnu.org/pub/gnu/clisp/release/")
(defuri clisp-head-version-uri "https://github.com/roswell/clisp_head/releases/download/files/clisp_head.tsv")
(defuri 7za-uri "http://sourceforge.net/projects/sevenzip/files/7-Zip/9.20/7za920.zip/download#")
(defuri allegro-uri "ftp://ftp.franz.com/")
(defuri allegro-uri "https://franz.com/")
(defuri abcl-bin-uri "https://common-lisp.net/project/armedbear/releases/")
(defuri ccl-bin-uri "https://github.com/roswell/ccl_bin/releases/download/")
(defuri clasp-bin-uri "https://github.com/roswell/clasp_bin/releases/download/")
@ -54,6 +54,7 @@
(export
(defvar *allegro-agreement-uri*
'(("10.1express" . #1="http://franz.com/ftp/pub/legal/ACL-Express-20150812.pdf")
'(#+darwin ("11.0bexpress" . "https://franz.com/ftp/pub/legal/ACL-Express-20170301.pdf")
("10.1express" . #1="https://franz.com/ftp/pub/legal/ACL-Express-20170301.pdf")
("100express" . #1#)
("101b" . "http://franz.com/products/licensing/FSLA10.1.beta.pdf"))))