本日は
- 以前,PackageCompilerX.jl (以下これを
X付き
などと表記する)を用いた Plots.jl の高速化についての記事を書きました. - 最近になってPackageCompiler.jlのメンテナーと X 付きのメンテナーやとそれらを囲むメンバーで協議が為された結果,既存のPackageCompiler.jlで管理されているファイルからX付きのリポジトリのコードにまるまる置き換える作業が行われました.
- X付きのを方を新しいcoolな名前にリネームする案や,既存の PackageCompiler.jl をいったん消してXをリネームするなどの議論がありましたが前者は良い名前がなかったのか流れで破棄され,後者は旧PackageCompilerに依存パッケージを(UUID,Manifesto .toml などの関係で)壊してしまうといった問題を抱えることになるのでこれも破棄されました.結果として古いPacakgeCompiler.jlの上にPackageCompilerX.jlのファイル群に置き直してCIやDocumentationの整備が行わています.
- 事の詳細は Julia の Slack かTotal rewrite of the package (aka make PackageCompilerX the new PackageCompiler) で閲覧することができます.
え? PackageCompilerX.jl どうなるの?
- リポジトリをみたらわかりますが,アーカイブされ read only になっています.メンテナンスは新しくなった PackageCompiler.jl で行われることになります.
ということで
- 私の PackageCompilerX.jl の記事が思ったよりも読まれてしまったので情報を更新します.
更新の方法
X 付きのPackageCompilerの変更が PackageCompiler.jl に取り込まれましたが,tag 指定などでリリースされていないので次の方法で更新します.
$ julia -q
julia> ; # press ; to enter pkg-mode
pkg> rm PackageCompiler # 古いものを削除
pkg> rm PackageCompilerX # 削除
pkg> gc # 念のためキャッシュを削除
julia> # 再び戻る
julia> using Pkg
julia> Pkg.add(PackageSpec(url="https://github.com/JuliaLang/PackageCompiler.jl",rev="master"))'
julia> using PackageCompiler # using PackageCompilerX としていた箇所を全て X を取り除く
- あとは PacakgeCompilerX.jl で使っていたAPIがそのまま使うことになります.
新しい PackageCompiler.jl
- 旧 PackageCompiler.jl → PackageCompilerX.jl → 新 PackageCompiler.jl と変遷されました.
- これによりCIの充実, ドキュメントの更新, Julia 1.3 より小さいバージョンのサポートを打ち切りが行われました.加えてARM用の対応が行われました.旧 の方では塩対応でしたが,ARM デバイスでも Julia を動かしたい動きがあったので更新のついでに改修が行われました.その過程でプルリクのレビューに私も参加することができ,ラズパイ3や4でも動くようになりましたこれは嬉しい.