think

Your awesome Tagline

1 リアクション

ECL 12.2.1 + asdf-install works on CentOS, patch

ECL 12.2.1 で asdf-install が動作しなかったので、パッチを作成。

・ASDF-Install download file temporary file is not gzip
download したアーカイブが gzip 形式でない状態になる。

・asdf:oos ‘asdf:load-op ‘some-package) is fatal error
(asdf:oos ‘asdf:load-op ‘some-package)でエラーになる。

・ using “ecu-curl”

My ~/.eclrc
——————————————————————————
(require ‘asdf)
(pushnew “~/.ecl/systems/” asdf:*central-registry* :test #’equal)
(setf asdf::*verbose-out* t)

(format nil “~A%” asdf::*central-registry*)

#-:asdf-install (asdf:operate ‘asdf:load-op :asdf-install)

(setf asdf-install:*locations*
‘((#P”/usr/local/lib/ecl-12.2.1/site/”
#P”/usr/local/lib/ecl-12.2.1/systems/”
“System-wide install”)

(#P”~/.ecl/site/”
#P”~/.ecl/systems/”
“Personal installation”)))

(setq asdf-install:*verify-gpg-signatures* nil)
——————————————————————————

http://www.cliki.net/ASDF-Install
http://common-lisp.net/project/asdf-install/asdf-install_latest.tar.gz

——————————————————————————
diff -ru asdf-install_latest/installer.lisp asdf-install_work/installer.lisp
—- asdf-install_latest/installer.lisp 2010-05-14 11:29:14.000000000 +0900
+++ asdf-install_work/installer.lisp 2012-02-20 15:10:28.000000000 +0900
@@ -638,13 +638,13 @@
;;; missing if *propagate-installation* is true, and if the system has
;;; been (or is being) specifically installed by the current
;;; invocation of ASDF-INSTALL:INSTALL.
-(defmethod asdf:find-component :around
- ((module (eql nil)) name #-asdf2 &optional #-asdf2 version)
- #-asdf2 (declare (ignore version))
- (when (or (not *propagate-installation*)
- (and (typep name ‘(or string (and symbol (not null))))
- (member name *systems-installed-this-time*
- :test #’string-equal)))
+;(defmethod asdf:find-component :around
+; ((module (eql nil)) name #-asdf2 &optional #-asdf2 version)
+; #-asdf2 (declare (ignore version))
+; (when (or (not *propagate-installation*)
+; (and (typep name ‘(or string (and symbol (not null))))
+; (member name *systems-installed-this-time*
+; :test #’string-equal))) ) )


(defun show-version-information ()
diff -ru asdf-install_latest/port.lisp asdf-install_work/port.lisp
—- asdf-install_latest/port.lisp 2010-05-14 11:29:14.000000000 +0900
+++ asdf-install_work/port.lisp 2012-02-20 16:19:41.000000000 +0900
@@ -13,13 +13,16 @@
#+:digitool
(require :opentransport)
#+:ecl
+(progn
(require :sockets)
+ (require :ecl-curl)
+)
#+:lispworks
(require “comm”)
#+:sbcl
(require :sb-bsd-sockets)
#+:sbcl
- (require :sb-posix))
+ (require :sb-posix)
)

(defun get-env-var (name)
@@ -354,6 +357,9 @@
#+(or :clisp :digitool (and :lispworks :win32))
‘(:element-type (unsigned-byte 8))))

+#+:ecl (defun download-url-to-file (url file-name)
+ (ecl-curl:download-url-to-file url file-name))
+#-(or :ecl)
(defun download-url-to-file (url file-name)
“Resolves url and then downloads it to file-name; returns the url actually used.”
(multiple-value-bind (response headers stream)
——————————————————————————

登録カテゴリ: commonlisp ECL

  1. mitunyaの投稿です