ASDF3 へのアップデート → Clackインストール
どうやったらASDFのアップデートができるのかうろうろ。
以下のページを発見しました。
git clone して make 。。。かな?
~/opt$ git clone https://gitlab.common-lisp.net/asdf/asdf.git ~/opt$ cd asdf/ ~/opt/asdf$ make mkdir -p build rm -f build/asdf.lisp cat header.lisp uiop/package.lisp uiop/common-lisp.lisp uiop/utility.lisp uiop/version.lisp uiop/os.lisp uiop/pathname.lisp uiop/filesystem.lisp uiop/stream.lisp uiop/image.lisp uiop/lisp-build.lisp uiop/launch-program.lisp uiop/run-program.lisp uiop/configuration.lisp uiop/backward-driver.lisp uiop/driver.lisp upgrade.lisp session.lisp component.lisp operation.lisp system.lisp system-registry.lisp action.lisp lisp-action.lisp find-component.lisp forcing.lisp plan.lisp operate.lisp find-system.lisp parse-defsystem.lisp bundle.lisp concatenate-source.lisp package-inferred-system.lisp output-translations.lisp source-registry.lisp backward-internals.lisp backward-interface.lisp interface.lisp user.lisp footer.lisp > build/asdf.lisp ~/opt/asdf$ cp build/asdf.lisp ../ccl/tools/
どうやればいいかものすごく迷ったけど
わかればとても簡単でした。
※ せっかくパケージマネージャがあるんだからもうちょっとなんかやり方があってもよかった気が・・・
早速Clackインストール
$ ccl Welcome to Clozure Common Lisp Version 1.9-r15757 (LinuxX8664)! ? (asdf:asdf-version) "3.2.1" <Verupできてる!> (ql:update-all-dists) 1 dist to check. You already have the latest version of "quicklisp": 2017-08-30. NIL <最新化できてる> ? (ql:quickload :clack) <インストール開始。いっぱいなんかでる> [package clack.handler]........................... [package clack]................................... [package clack].. (:CLACK) ?
無事、インストールできたようです。
早速Clackのサンプルを動かします
~$ cat clack-sample.lisp (clack:clackup #'(lambda (req) (declare (ignore req)) '(200 nil ("Hello, Clack!")))) ~$ccl ? (load "~/clack-sample.lisp") Hunchentoot server is started. Listening on localhost:5000. #P"/clack-sample.lisp" ?
別のターミナルでHTTPが上がっているか確認。
$ curl -vvv localhost:5000 * Rebuilt URL to: localhost:5000/ * Trying 127.0.0.1... * TCP_NODELAY set * Connected to localhost (127.0.0.1) port 5000 (#0) > GET / HTTP/1.1 > Host: localhost:5000 > User-Agent: curl/7.52.1 > Accept: */* > < HTTP/1.1 200 OK < Date: Fri, 01 Sep 2017 23:51:19 GMT < Server: Hunchentoot 1.2.37 < Transfer-Encoding: chunked < Content-Type: text/html; charset=utf-8 < * Curl_http_done: called premature == 0 * Connection #0 to host localhost left intact Hello, Clack!
かんぺき!
moremagic
2017-09-02