view Agda/add_library.md @ 97:edf8ac727c05

backup 2021-10-20
author autobackup
date Wed, 20 Oct 2021 00:10:04 +0900
parents e12992dca4a0
children
line wrap: on
line source

# Agda Library の更新や追加

## はじめに

- brew install している場合は brew に追加されたときの最新版が入ってるはず(なので pull してレポジトリ更新すれば良いっぽい)
- version の確認は 
  head CHENGELOG.md;

- 現行のAgda(v2.6.1_1) が Library を確認するときは   /.agda/librarys と "  /.agda/defaults" 、 あとそれぞれのライブラリ内にある hoge.agda-lib のファイルを見るっぽい

- librarys には std-lib などのライブラリのパスが、 defaults には hoge.agda-lib にかかれている name が列挙されてる
- hoge.agda-lib にはライブラリの名前と読み込み先(大抵はそのライブラリの src)が書かれてる

## 更新
- ライブラリ(brew で入れたのであれば "/usr/local/Cellar/agda/branch名/lib/agda/") の下に .git があるのを確認してレポジトリの更新 ("$git pull" だと origin/master のものが反映されるのでdevが入りそう)
 - `$git fetch`
 - `$git checkout`
 - `$git merge`

- レポジトリを最新のCommitに戻したいときは
  - `git reset --hard`
で良さそう

- 昔のバージョンや安定版に戻りたいときは
  `git checkout refs/tags/v1.2;  # e.g. v1.2. check "git tag"`
で戻れる

## 追加
- 追加したいライブラリ tar で落として解凍、もしくは git clone などして Library を入手(std-libだと "https://github.com/agda/agda-stdlib")
```
  git clone https://github.com/agda/agda-stdlib;
  cd agda-stdlib;
```

- "  /.agda/librarys" に 落としてきた library にある "hoge.agda-lib" のパスを追加

```
  echo `pwd;ls *.agda-lib` >>   /.agda/librarys;
```  

- "  /.agda/defaults" に library name を追加
```
  head -1 *.agda-lib | sed 's/name: // >>   /.agda/defaults';
```