packages feed

hsjuiz 0.2.6 → 0.2.7

raw patch · 3 files changed

+23/−10 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -3,6 +3,10 @@ hsjuiz の版は juiz(crates.io の juiz_app、PyPI の pyjuiz / juiz-cli)と同じ番号にそろえています。 使う libjuiz_sdk も同じ版にしてください。 +## 0.2.7++- hsjuiz の API は 0.2.6 から変えていない(juiz pkg create --idl の Haskell 対応 #468 と、Hackage 方式の導入手順 #360 に版をそろえた)。+ ## 0.2.6  - hsjuiz の API は 0.2.5 から変えていない(juiz 本体の雛形生成コマンド juiz pkg create / add #455 に版をそろえた)。
README.md view
@@ -344,30 +344,39 @@ `scripts/install-juiz-sdk.sh` で取得して `~/.juiz/sdk/<版>` に展開できます。  ```terminal-curl -fsSL https://raw.githubusercontent.com/OpenJUIZ/juiz/main/scripts/install-juiz-sdk.sh | sh -s -- 0.2.6+curl -fsSL https://raw.githubusercontent.com/OpenJUIZ/juiz/main/scripts/install-juiz-sdk.sh | sh -s -- 0.2.7 ```  それより前の版では、juiz のソースを同じ版のタグで取得し、`cargo build --release -p juiz_sdk` でできる `target/release` の libjuiz_sdk を使います。 -hsjuiz は Hackage への公開を準備中です。それまでは、juiz のソースを `juiz` と同じ版のタグで取得し、その `bindings/hsjuiz` を-自分のパッケージの `cabal.project` に書いて使います。あわせて hsjuiz に libjuiz_sdk の場所を渡します。`ghc-options` の rpath は、-Template Haskell(`juizProcess` など)を実行するときに GHC が hsjuiz を読み込むのに必要です。+hsjuiz は v0.2.6 から [Hackage](https://hackage.haskell.org/package/hsjuiz) に公開しています。自分のパッケージの `.cabal` の+`build-depends` に `hsjuiz ==<版>.*` のように `juiz` と同じ版を書き、`cabal.project` で hsjuiz に libjuiz_sdk の場所を渡します。+`ghc-options` の rpath は、Template Haskell(`juizProcess` など)を実行するときに GHC が hsjuiz を読み込むのに必要です。 できたライブラリにも libjuiz_sdk の場所が rpath として入ります。  ```cabal-packages: . /home/me/juiz-0.2.6/bindings/hsjuiz+packages: .  package hsjuiz-  extra-lib-dirs: /home/me/.juiz/sdk/0.2.6/lib-  ghc-options: -optl-Wl,-rpath,/home/me/.juiz/sdk/0.2.6/lib+  extra-lib-dirs: /home/me/.juiz/sdk/0.2.7/lib+  ghc-options: -optl-Wl,-rpath,/home/me/.juiz/sdk/0.2.7/lib ```  ```terminal-git clone --depth 1 --branch v0.2.6 https://github.com/OpenJUIZ/juiz.git /home/me/juiz-0.2.6+cabal update cabal build all ``` -Hackage で公開したあとは、`packages:` に hsjuiz のソースを書かずに、`cabal update` で Hackage から入れられるようになります。+Hackage に無い版(0.2.5 以前)や、未公開の変更を試すときは、juiz のソースを同じ版のタグ(または枝)で取得し、+その `bindings/hsjuiz` を `cabal.project` の `packages:` に足します。++```cabal+packages: . /home/me/juiz-0.2.7/bindings/hsjuiz+```++```terminal+git clone --depth 1 --branch v0.2.7 https://github.com/OpenJUIZ/juiz.git /home/me/juiz-0.2.7+```  juiz のリポジトリの中でビルドするときは、`cargo build` でできる `target/debug` の libjuiz_sdk を `--extra-lib-dirs` で渡します(`examples/haskell/build.sh` がこの方法です)。
hsjuiz.cabal view
@@ -1,6 +1,6 @@ cabal-version:      3.0 name:               hsjuiz-version:            0.2.6+version:            0.2.7 synopsis:           Write juiz processes and containers in Haskell description:     Write Process / Container / Component plugins of