#:g1: asdf-installの紹介

Posted 2014-01-13 14:30:00 GMT

(LISP Library 365参加エントリ)

 LISP Library 365 の13日目です。

asdf-installとはなにか

 asdf-installは、Quicklispが登場する前までは結構使われていた、ライブラリをインストールするシステムです。
Quicklispが登場した後は、完全に時代遅れのものという扱いになりました。
もともと、ASDFと、ASDF-INSTALLは、2001年位に発足したcCLanという、TeXのCTAN、PerlのCPANのようなものをCommon Lispで実現しようというプロジェクトの成果物です。

 ASDFは、パッケージをビルドするもので、ASDF-INSTALLは、パッケージをネットワーク越しに取得するものでした。
ASDFはいまでもメンテナンスされており、Quicklisp等でも基盤として利用されていますが、ASDF-INSTALLはQuicklispにとって代わられたというところです。

パッケージ情報

パッケージ名asdf-install
Quicklisp
参考サイトASDF-Install Tutorial
CLiKihttp://cliki.net/asdf-install
Quickdocshttp://quickdocs.org/asdf-install

インストール方法

(ql:quickload :asdf-install)

試してみる

 どんな関数があるかは、Quickdocsで確認できます。

 色々なサイトに散々古いと書かれているので、試そうと思う人もまずいないかと思いますが、Quicklispを組み合わせて使えない訳でもないので例を挙げてみます。

Quicklispのlocal-projectsとASDF-INSTALLを組み合わせる

 前準備として、asdf-installのlocationに登録しておきます。

(asdf-install:add-locations "Quicklisp Local Projects"
                            #p"~/quicklisp/local-projects/"
                            #p"~/quicklisp/local-projects/"
                            )
asdf-installでパッケージのインストール

 asdf-install:installでインストールできます。
インストール対象のものがCLiKiに登録されていれば、すんなりインストールできます。

(asdf-install:install :l-math)
Install where?
1) System-wide install: 
   System in /usr/local/sbcl/newest/lib/sbcl/site-systems/
   Files in /usr/local/sbcl/newest/lib/sbcl/site/ 
2) Personal installation: 
   System in /ubuntu/home/mc/.sbcl/systems/
   Files in /ubuntu/home/mc/.sbcl/site/ 
3) Quicklisp Local Projects: 
   System in /tmp/
   Files in /ubuntu/home/mc/quicklisp/local-projects/ 
0) Abort installation.
 --> 
>>> 3

 実行すると、インストールする場所を訊かれるので、設定したQuicklispの場所を選択。
ダウンロードさえ完了すれば、あとはASDFの仕事なのでQuicklispと同じです。
以上でl-mathが使えるようになりました。

(lm:* (lm:vector 1 2 3) (lm:vector 1 2 3))
;=>  #<LM:VECTOR 1.000 4.000 9.000 >

まとめ

 今回は、asdf-installを紹介してみました。
Quicklispが登場する2010年より前は、clbuildを使ったり、mudballを使ったり、asdf-installを使ったりでした。
自分は実際のところソースをダウンロードして好きなように配置して管理していたので、Quicklisp登場前からasdf-installで間に合っていましたが、しかし、Quicklispによって0からの環境構築が簡単になったことと、配布元サイトの消滅の問題から開放されたのは大きいかなと思います。
とはいえ牧歌的なasdf-installの時代もなかなか良かったなと思ったりもしないわけでもありません。

comments powered by Disqus