Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Satyrographos: SATySFi向けパッケージマネージャー

Satyrographos: SATySFi向けパッケージマネージャー

SATySFi向けパッケージマネージャーであるSatyrographosを紹介する

F5ff5acc37e0a9363afb57ff23cf3330?s=128

Sakamoto Noriaki

July 25, 2020
Tweet

Transcript

  1. 動機 Satyrographos Satyrographos Repo Satyrographos: SATYSFI向けパッケージマネージャー @na4zagin3 SATYSFI Conf 2020

    2020 年 7 月 25 日 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  2. 動機 Satyrographos Satyrographos Repo 目次 1 動機 問題 パッケージマネージャーとは 2

    Satyrographos 基本機能 その他 3 Satyrographos Repo ライブラリ レポジトリ @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  3. 動機 Satyrographos Satyrographos Repo 問題 パッケージマネージャーとは TEXでありがち(?)なこと TEXLive の…… 1

    @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  4. 動機 Satyrographos Satyrographos Repo 問題 パッケージマネージャーとは TEXでありがち(?)なこと TEXLive の…… scheme-full

    等をインストールしないと面倒だが、明らかに不要なものも 一緒に入ってしまう 1 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  5. 動機 Satyrographos Satyrographos Repo 問題 パッケージマネージャーとは TEXでありがち(?)なこと TEXLive の…… scheme-full

    等をインストールしないと面倒だが、明らかに不要なものも 一緒に入ってしまう 更新をしたら使用パッケージのインターフェース・動作が変わって壊れた 1 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  6. 動機 Satyrographos Satyrographos Repo 問題 パッケージマネージャーとは TEXでありがち(?)なこと TEXLive の…… scheme-full

    等をインストールしないと面倒だが、明らかに不要なものも 一緒に入ってしまう 更新をしたら使用パッケージのインターフェース・動作が変わって壊れた 更新をしたら使用パッケージがエンジン等の更新に追従しておらず壊れた 1 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  7. 動機 Satyrographos Satyrographos Repo 問題 パッケージマネージャーとは TEXでありがち(?)なこと TEXLive の…… scheme-full

    等をインストールしないと面倒だが、明らかに不要なものも 一緒に入ってしまう 更新をしたら使用パッケージのインターフェース・動作が変わって壊れた 更新をしたら使用パッケージがエンジン等の更新に追従しておらず壊れた TEX ファイルを入手したら…… 1 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  8. 動機 Satyrographos Satyrographos Repo 問題 パッケージマネージャーとは TEXでありがち(?)なこと TEXLive の…… scheme-full

    等をインストールしないと面倒だが、明らかに不要なものも 一緒に入ってしまう 更新をしたら使用パッケージのインターフェース・動作が変わって壊れた 更新をしたら使用パッケージがエンジン等の更新に追従しておらず壊れた TEX ファイルを入手したら…… ビルドコマンドが不明 1 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  9. 動機 Satyrographos Satyrographos Repo 問題 パッケージマネージャーとは TEXでありがち(?)なこと TEXLive の…… scheme-full

    等をインストールしないと面倒だが、明らかに不要なものも 一緒に入ってしまう 更新をしたら使用パッケージのインターフェース・動作が変わって壊れた 更新をしたら使用パッケージがエンジン等の更新に追従しておらず壊れた TEX ファイルを入手したら…… ビルドコマンドが不明 使用パッケージが見つからない1 1CTAN を捜せば大体解決する今となっては珍しいものの、accentbx.sty とか @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  10. 動機 Satyrographos Satyrographos Repo 問題 パッケージマネージャーとは TEXでありがち(?)なこと TEXLive の…… scheme-full

    等をインストールしないと面倒だが、明らかに不要なものも 一緒に入ってしまう 更新をしたら使用パッケージのインターフェース・動作が変わって壊れた 更新をしたら使用パッケージがエンジン等の更新に追従しておらず壊れた TEX ファイルを入手したら…… ビルドコマンドが不明 使用パッケージが見つからない1 使用パッケージが今の版では駄目 1CTAN を捜せば大体解決する今となっては珍しいものの、accentbx.sty とか @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  11. 動機 Satyrographos Satyrographos Repo 問題 パッケージマネージャーとは TEXでありがち(?)なこと TEXLive の…… scheme-full

    等をインストールしないと面倒だが、明らかに不要なものも 一緒に入ってしまう 更新をしたら使用パッケージのインターフェース・動作が変わって壊れた 更新をしたら使用パッケージがエンジン等の更新に追従しておらず壊れた TEX ファイルを入手したら…… ビルドコマンドが不明 使用パッケージが見つからない1 使用パッケージが今の版では駄目 使用パッケージの昔の版の依存パッケージが今の版では駄目 1CTAN を捜せば大体解決する今となっては珍しいものの、accentbx.sty とか @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  12. 動機 Satyrographos Satyrographos Repo 問題 パッケージマネージャーとは TEXでありがち(?)なこと TEXLive の…… scheme-full

    等をインストールしないと面倒だが、明らかに不要なものも 一緒に入ってしまう 更新をしたら使用パッケージのインターフェース・動作が変わって壊れた 更新をしたら使用パッケージがエンジン等の更新に追従しておらず壊れた TEX ファイルを入手したら…… ビルドコマンドが不明 使用パッケージが見つからない1 使用パッケージが今の版では駄目 使用パッケージの昔の版の依存パッケージが今の版では駄目 使用パッケージの昔の版の使用パッケージの昔の版の…… 1CTAN を捜せば大体解決する今となっては珍しいものの、accentbx.sty とか @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  13. 動機 Satyrographos Satyrographos Repo 問題 パッケージマネージャーとは パッケージマネージャーとは パッケージマネージャーはパッケージをマネージするもの ディストリビューション全体を管理したり APT,

    YUM, Portage, Pacman, &c. 言語毎にあったり tlmgr, OPAM, Cargo, Cabal, NPM, PIP, &c. 他 Nix, Paco, Stow →多種多様 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  14. 動機 Satyrographos Satyrographos Repo 問題 パッケージマネージャーとは Pietro Abate et al.

    (2013) 曰く パッケージマネージャーは以下の機能を備えている2。 2Pietro Abate et al. “A Modular Package Manager Architecture”. In: Inf. Softw. Technol. 5⒌2 (Feb. 2013), pp. 459–47⒋ issn: 0950-584⒐ doi: 10.1016/j.infsof.2012.09.002 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  15. 動機 Satyrographos Satyrographos Repo 問題 パッケージマネージャーとは Pietro Abate et al.

    (2013) 曰く パッケージマネージャーは以下の機能を備えている2。 部品をリモートのレポジトリから取得し、また、その完全性(integrity) を検査することができること 2Pietro Abate et al. “A Modular Package Manager Architecture”. In: Inf. Softw. Technol. 5⒌2 (Feb. 2013), pp. 459–47⒋ issn: 0950-584⒐ doi: 10.1016/j.infsof.2012.09.002 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  16. 動機 Satyrographos Satyrographos Repo 問題 パッケージマネージャーとは Pietro Abate et al.

    (2013) 曰く パッケージマネージャーは以下の機能を備えている2。 部品をリモートのレポジトリから取得し、また、その完全性(integrity) を検査することができること 部品間制約を満たすように更新計画を建てること(依存性解決) 2Pietro Abate et al. “A Modular Package Manager Architecture”. In: Inf. Softw. Technol. 5⒌2 (Feb. 2013), pp. 459–47⒋ issn: 0950-584⒐ doi: 10.1016/j.infsof.2012.09.002 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  17. 動機 Satyrographos Satyrographos Repo 問題 パッケージマネージャーとは Pietro Abate et al.

    (2013) 曰く パッケージマネージャーは以下の機能を備えている2。 部品をリモートのレポジトリから取得し、また、その完全性(integrity) を検査することができること 部品間制約を満たすように更新計画を建てること(依存性解決) 使用者とやりとりし、部品の選択に関して微調整ができること 2Pietro Abate et al. “A Modular Package Manager Architecture”. In: Inf. Softw. Technol. 5⒌2 (Feb. 2013), pp. 459–47⒋ issn: 0950-584⒐ doi: 10.1016/j.infsof.2012.09.002 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  18. 動機 Satyrographos Satyrographos Repo 問題 パッケージマネージャーとは Pietro Abate et al.

    (2013) 曰く パッケージマネージャーは以下の機能を備えている2。 部品をリモートのレポジトリから取得し、また、その完全性(integrity) を検査することができること 部品間制約を満たすように更新計画を建てること(依存性解決) 使用者とやりとりし、部品の選択に関して微調整ができること 部品の削除・追加を正しい順序で行うことで、実際に更新の適用を実行 すること、また、その際に問題が発生した場合は中断すること 2Pietro Abate et al. “A Modular Package Manager Architecture”. In: Inf. Softw. Technol. 5⒌2 (Feb. 2013), pp. 459–47⒋ issn: 0950-584⒐ doi: 10.1016/j.infsof.2012.09.002 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  19. 動機 Satyrographos Satyrographos Repo 問題 パッケージマネージャーとは その他のよくある機能 パッケージマネージャーやその周辺ツールにありがちな機能 複数の翻訳単位からなるライブラリをビルド テスト実行・ドキュメント生成

    Cabal, Cargo 等言語用パッケージマネージャーにありがち 依存関係のロック opam-lock, npm-lockdown スナップショット Stackage @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  20. 動機 Satyrographos Satyrographos Repo 基本機能 その他 Satyrographos ビルド再現性を実現させるためのパッケージマネージャー @na4zagin3 Satyrographos:

    SATYSFI 向けパッケージマネージャー
  21. 動機 Satyrographos Satyrographos Repo 基本機能 その他 Satyrographos ビルド再現性を実現させるためのパッケージマネージャー 自前 ライブラリを

    SATYSFI 用に準備 スナップショット・自動テスト(CI) その他便利機能 OPAM 委せ 外部からのライブラリの取得 依存性解決 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  22. 動機 Satyrographos Satyrographos Repo 基本機能 その他 概念図 Satyrographos Repo Library

    Distributions ~/.opam/…/satysfi/ /usr/local/satysfi/等 ~/.satysfi/等 opam install satyrographos install SATYSFI @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  23. 動機 Satyrographos Satyrographos Repo 基本機能 その他 Satyrographosインストール方法 詳しくは Readme3や Qiita

    の記事4を見よ $ opam repository add satyrographos-repo \ https://github.com/na4zagin3/satyrographos-repo.git $ opam pin remove satysfi $ opam install satysfi satysfi-dist satyrographos 3https://github.com/na4zagin3/satyrographos/blob/master/README-ja.md 4https://qiita.com/na4zagin3/items/14fe2647b663eeac6ac2 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  24. 動機 Satyrographos Satyrographos Repo 基本機能 その他 Satyrographos使用例 DejaVu Sans フォントと

    base ライブラリを利用する example.saty の処理をする には $ opam install satysfi-fonts-dejavu satysfi-base @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  25. 動機 Satyrographos Satyrographos Repo 基本機能 その他 Satyrographos使用例 DejaVu Sans フォントと

    base ライブラリを利用する example.saty の処理をする には $ opam install satysfi-fonts-dejavu satysfi-base $ satyrographos install -l fonts-dejavu -l base # 又は $ satyrographos install # OPAM にインストール済み全ライブラリ @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  26. 動機 Satyrographos Satyrographos Repo 基本機能 その他 Satyrographos使用例 DejaVu Sans フォントと

    base ライブラリを利用する example.saty の処理をする には $ opam install satysfi-fonts-dejavu satysfi-base $ satyrographos install -l fonts-dejavu -l base # 又は $ satyrographos install # OPAM にインストール済み全ライブラリ $ satysfi example.saty @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  27. 動機 Satyrographos Satyrographos Repo 基本機能 その他 opam install satysfi-fonts-dejavu satysfi-base:

    依存性解決 Satyrographos Repo satysfi.0.0.3 satysfi.0.0.4 satysfi.0.0.5 satysfi-fonts-dejavu.⒉37+satysfi0.0.4 satysfi-base.⒈⒊0 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  28. 動機 Satyrographos Satyrographos Repo 基本機能 その他 opam install satysfi-fonts-dejavu satysfi-base:

    依存性解決 Satyrographos Repo satysfi.0.0.3 satysfi.0.0.4 satysfi.0.0.5 satysfi-fonts-dejavu.⒉37+satysfi0.0.4 satysfi-base.⒈⒊0 依存制約 satysfi: 0.0.3 0.0.4 0.0.5 satysfi-fonts-dejavu: ⒉37+satysfi0.0.4: satysfi ≥ 0.0.4 & < 0.0.6 satysfi-base: ⒈⒊0: satysfi ≥ 0.0.3 & < 0.0.5 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  29. 動機 Satyrographos Satyrographos Repo 基本機能 その他 opam install satysfi-fonts-dejavu satysfi-base:

    依存性解決 Satyrographos Repo satysfi.0.0.3 satysfi.0.0.4 satysfi.0.0.5 satysfi-fonts-dejavu.⒉37+satysfi0.0.4 satysfi-base.⒈⒊0 依存制約 satysfi: 0.0.3 0.0.4 0.0.5 satysfi-fonts-dejavu: ⒉37+satysfi0.0.4: satysfi ≥ 0.0.4 & < 0.0.6 satysfi-base: ⒈⒊0: satysfi ≥ 0.0.3 & < 0.0.5 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  30. 動機 Satyrographos Satyrographos Repo 基本機能 その他 opam install satysfi-fonts-dejavu satysfi-base:

    ビルド ~/.opam/…/satysfi/ dist/ hash/ fonts .satysfi-hash packages/ gr.satyh fonts-dejavu/ hash/ fonts .satysfi-hash base/ packages/ base/ int.satyh dist fonts-dejavu base https:// github.com/ gfngfn/ SATySFi/ archive/ 0.0.4.tar.gz https:// github.com/ gfngfn/ SATySFi/ archive/ 0.0.4.tar.gz https:// github.com/ gfngfn/ SATySFi/ archive/ 0.0.4.tar.gz 展開・ビルド @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  31. 動機 Satyrographos Satyrographos Repo 基本機能 その他 opam install satysfi-fonts-dejavu satysfi-base:

    ビルド ~/.opam/…/satysfi/ dist/ hash/ fonts .satysfi-hash packages/ gr.satyh fonts-dejavu/ hash/ fonts .satysfi-hash base/ packages/ base/ int.satyh dist fonts-dejavu base https:// github.com/ gfngfn/ SATySFi/ archive/ 0.0.4.tar.gz https:// github.com/ gfngfn/ SATySFi/ archive/ 0.0.4.tar.gz https:// github.com/ gfngfn/ SATySFi/ archive/ 0.0.4.tar.gz 展開・ビルド @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  32. 動機 Satyrographos Satyrographos Repo 基本機能 その他 satyrographos install ~/.opam/…/satysfi/ dist/

    hash/ fonts .satysfi-hash packages/ gr.satyh fonts-dejavu/ hash/ fonts .satysfi-hash base/ packages/ base/ int.satyh ~/.satysfi/dist/ hash/ fonts .satysfi-hash packages/ gr.satyh base/ int.satyh dist fonts-dejavu base コピー(リンク) ハッシュの統合 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  33. 動機 Satyrographos Satyrographos Repo 基本機能 その他 satyrographos install ~/.opam/…/satysfi/ dist/

    hash/ fonts .satysfi-hash packages/ gr.satyh fonts-dejavu/ hash/ fonts .satysfi-hash base/ packages/ base/ int.satyh ~/.satysfi/dist/ hash/ fonts .satysfi-hash packages/ gr.satyh base/ int.satyh dist fonts-dejavu base コピー(リンク) ハッシュの統合 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  34. 動機 Satyrographos Satyrographos Repo 基本機能 その他 satyrographos install ~/.opam/…/satysfi/ dist/

    hash/ fonts .satysfi-hash packages/ gr.satyh fonts-dejavu/ hash/ fonts .satysfi-hash base/ packages/ base/ int.satyh ~/.satysfi/dist/ hash/ fonts .satysfi-hash packages/ gr.satyh base/ int.satyh dist fonts-dejavu base コピー(リンク) ハッシュの統合 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  35. 動機 Satyrographos Satyrographos Repo 基本機能 その他 satysfi ~/.satysfi/dist/ hash/ fonts

    .satysfi-hash packages/ gr.satyh base/ int.satyh Example (example.saty) @require: gr @require: base/int let-inline ctx \with-text-font-dejavu it = let ctx = ctx |> set-font Latin (`fonts-dejavu:DejaVuSans`, ⒈, 0.) in read-inline ctx it … @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  36. 動機 Satyrographos Satyrographos Repo 基本機能 その他 satysfi ~/.satysfi/dist/ hash/ fonts

    .satysfi-hash packages/ gr.satyh base/ int.satyh Example (example.saty) @require: gr @require: base/int let-inline ctx \with-text-font-dejavu it = let ctx = ctx |> set-font Latin (`fonts-dejavu:DejaVuSans`, ⒈, 0.) in read-inline ctx it … @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  37. 動機 Satyrographos Satyrographos Repo 基本機能 その他 システムフォント システムにインストールされているフォントを利用可能にすることも5 $ satyrographos

    install \ -system-font-prefix \ 'system:' Example (system-fonts.saty) let-inline ctx \with-manga-font it = let ctx = ctx |> set-font Kana (`system:HiraMinPro-W3`, ⒈, 0.) |> set-font HanIdeographic (`system:HiraKakuPro-W3`, ⒈, 0.) |> set-font Latin (`system:Arial`, ⒈, 0.) in read-inline ctx it … 5要 Fontconfig。代償として文書の可搬性が損なわれる @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  38. 動機 Satyrographos Satyrographos Repo 基本機能 その他 自動生成パッケージ(実験的機能) 現在使用可能なライブラリ・フォントの情報を列挙したパッケージを生成 $ satyrographos

    install \ -a '%libraries' \ -a '%fonts' Example (autogen-example.saty) @require: satyrographos/experimental/libraries @require: satyrographos/experimental/fonts let package-names = List.map (fun lib -> lib#name) Libraries.list let math-font-list = Fonts.list |> List.filter (fun font -> match font#font-type with | MathFont -> true | _ -> false ) 実用的な例は https://gist.github.com/na4zagin3/4c9d32cb9659e128cdd35e3f650539bc を見よ @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  39. 動機 Satyrographos Satyrographos Repo ライブラリ レポジトリ ライブラリ依存関係 ライブラリの依存関係グラフ (Satyrographos Repo

    に登録されているものの一部) fonts-dejavu base enumitem enumitem-doc zrbase easytable easytable-doc class-yabaitech fonts-noto-sans fonts-noto-serif fonts-asana-math class-exdesign class-exdesign-doc @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  40. 動機 Satyrographos Satyrographos Repo ライブラリ レポジトリ ライブラリの種別 ライブラリ本体 クラスライブラリ 例

    class-exdesign, class-slydifi, class-yabaitech フォントライブラリ 例 fonts-noto-sans, fonts-dejavu パッケージライブラリ 例 easytable, bibyfi ドキュメント・テスト 現状はドキュメントとテストが一緒くたになっているが、将来分離予定 例 class-yabaitech-doc, easytable-doc @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  41. 動機 Satyrographos Satyrographos Repo ライブラリ レポジトリ スナップショット スナップショット:相互に上手く動くパッケージ・バージョンの集合6 Satyrographos Repo

    ではスナップショット毎に自動ビルドすることで正当 性を保障している7 6https://docs.haskellstack.org/en/stable/GUIDE/#what-makes-stack-special 7テストや例付きドキュメントの伴わないライブラリもあるのでそんなに完全ではない @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  42. 動機 Satyrographos Satyrographos Repo ライブラリ レポジトリ スナップショットの例 SATYSFI 最新安定版スナップショットに入るバージョンの推移の例 satysfi:

    0.0.4 satysfi-base: ⒈⒈1 satysfi-fonts-dejavu: ⒉37+satysfi0.0.4 satysfi-enumitem: ⒈⒈0 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  43. 動機 Satyrographos Satyrographos Repo ライブラリ レポジトリ スナップショットの例 SATYSFI 最新安定版スナップショットに入るバージョンの推移の例 satysfi:

    0.0.4 satysfi-base: ⒈⒈1 satysfi-fonts-dejavu: ⒉37+satysfi0.0.4 satysfi-enumitem: ⒈⒈0 satysfi-zrbase: 0.⒋0 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  44. 動機 Satyrographos Satyrographos Repo ライブラリ レポジトリ スナップショットの例 SATYSFI 最新安定版スナップショットに入るバージョンの推移の例 satysfi:

    0.0.4 satysfi-base: ⒈⒈1 ⒈⒉1 satysfi-fonts-dejavu: ⒉37+satysfi0.0.4 satysfi-enumitem: ⒈⒈0 satysfi-zrbase: 0.⒋0 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  45. 動機 Satyrographos Satyrographos Repo ライブラリ レポジトリ スナップショットの例 SATYSFI 最新安定版スナップショットに入るバージョンの推移の例 satysfi:

    0.0.4 satysfi-base: ⒈⒈1 ⒈⒉1 satysfi-fonts-dejavu: ⒉37+satysfi0.0.4 satysfi-enumitem: ⒈⒈0 satysfi-zrbase: 0.⒋0 satysfi-enumitem: ⒉0.0 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  46. 動機 Satyrographos Satyrographos Repo ライブラリ レポジトリ スナップショットの例 SATYSFI 最新安定版スナップショットに入るバージョンの推移の例 satysfi:

    0.0.4 0.0.5 satysfi-base: ⒈⒈1 ⒈⒉1 satysfi-fonts-dejavu: ⒉37+satysfi0.0.4 satysfi-enumitem: ⒈⒈0 satysfi-zrbase: 0.⒋0 satysfi-enumitem: ⒉0.0 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  47. 動機 Satyrographos Satyrographos Repo ライブラリ レポジトリ スナップショットの例 SATYSFI 最新安定版スナップショットに入るバージョンの推移の例 satysfi:

    0.0.4 0.0.5 satysfi-base: ⒈⒈1 ⒈⒉1 satysfi-fonts-dejavu: ⒉37+satysfi0.0.4 satysfi-enumitem: ⒈⒈0 ⒉0.0 satysfi-zrbase: 0.⒋0 satysfi-enumitem: ⒉0.0 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  48. 動機 Satyrographos Satyrographos Repo ライブラリ レポジトリ スナップショットの例 SATYSFI 最新安定版スナップショットに入るバージョンの推移の例 satysfi:

    0.0.4 0.0.5 satysfi-base: ⒈⒈1 ⒈⒉1 ⒈⒊0 satysfi-fonts-dejavu: ⒉37+satysfi0.0.4 satysfi-enumitem: ⒈⒈0 ⒉0.0 satysfi-zrbase: 0.⒋0 satysfi-enumitem: ⒉0.0 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  49. 動機 Satyrographos Satyrographos Repo ライブラリ レポジトリ まとめ Satyrographos とは ビルド再現性を実現させるための

    パッケージマネージャー ライブラリを SATYSFI 用に配置 レポジトリ側でスナップショットや 自動テストが走る 依存性解決・ライブラリ取得等は OPAM まかせ 今後の課題 SATYSFI 文書ビルド支援 opam-lock のラッパー提供 パッケージ一覧サイトの 生成 OPAM 依存からの脱却 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー
  50. 依存関係のロック Satyrographos はパッケージ依存のロック方法を現在提供していないが、 opam-lock を利用することにより実現できるため、これを用い、ロック機能を 実装予定 $ opam list -i

    satyrographos satysfi 'satysfi-*' --columns=name,version 実行結果 satyrographos 0.0.2.5 satysfi 0.0.5 satysfi-assert-eq 0.1.1 satysfi-base 1.3.0 satysfi-bibyfi 0.0.2 satysfi-bibyfi-doc 0.0.2 satysfi-cancel 0.0.0 @na4zagin3 Satyrographos: SATYSFI 向けパッケージマネージャー