構建狀態:
該存儲庫包含用於使用BinaryBuilder.jl構建朱莉婭包裝的二進製文件的食譜。
為了貢獻新食譜,您可以
BinaryBuilder.run_wizard()
,在成功構建所有請求的平台後,它將自動向該存儲庫打開拉動請求Yggdrasil使用BinaryBuilder.jl的master
版本構建Tarballs,這需要Julia 1.3.0或更高版本。請注意,與v0.1.4相比,此binaryBuilder.jl版本有一些差異,並且生成的構建器略有不同。歡迎您使用為binaryBuilder編寫的構建商。
BuildKite CI用於測試建築商可以成功生產TARBALL。
如果您希望在打開拉動請求之前先測試手動buildscript,建議您在Julia 1.3上安裝BinaryBuilder.jl
或以下任何版本並運行julia --color=yes build_tarballs.jl --verbose --debug
當地人。在MacOS上,您需要安裝docker
才能正常工作。
要觸發上游軟件包的新版本的構建,只需打開拉動請求即可根據需要更新構建器。這通常歸結為僅更新版本編號和源(例如,用於存檔的url和哈希,或git存儲庫的修訂版),但在某些情況下可能需要進行更多更改。
二元建築商的最後版本利用了Julia 1.3中的Artifacts
系統運輸。這意味著將二進制構造器不再生成build.jl
將放置在Julia軟件包的deps/
文件夾中的JL文件,而是生成放置在Juliabinary -Wrappers組織中的整個Julia軟件包(俗稱為“ JLL”軟件包)。對Yggdrasil的合併拉請求會導致這些包裝器軟件包的新版本正在生成,上傳和註冊,從而使您的客戶端朱莉婭代碼可以using LibFoo_jll
簡單地調用,以使您的二進製文件無需Pkg.build()
步驟。 (當然,朱莉婭1.3+是這種情況)。
我們鼓勵Julia開發人員將jll套件用於其庫。閱讀二進制建築商的文檔,以學習如何使用它們。
以下是朱莉婭軟件包的拉動請求的一些示例,用於使用JLL軟件包為用戶提供預構建的二進製文件:
您可以在朱莉婭(Julia)的博客“ PKG + BinaryBuilder-下一代”上的這篇文章中閱讀有關Artifacts
系統以及對可重複性的重要性的更多信息。
我們希望我們相信您為什麼要切換到仲量聯合套件很重要。但是,如果您確實需要支持Julia V1.2或以前的版本,則應繼續使用BinaryProvider.jl。如前一節所述,構建後不再生成一個build.jl
文件,因為它不用於JLL軟件包,而是您需要自己生成它:在Yggdrasil的頂級目錄中,有一個腳本要做此: generate_buildjl.jl
。它需要三個位置論點:
build_tarballs.jl
腳本的路徑owner/name
。如果省略,此默認為JuliaBinaryWrappers/BuilderName_jll.jl
例如,要獲取最新版本的Zlib build.jl
文件,您可以運行以下命令:
julia --color=yes generate_buildjl.jl Z/Zlib/build_tarballs.jl
相反,如果您想獲取名為zlib-v1.2.11+6的標籤的build_tarballs.jl
文件,則必須運行命令
julia --color=yes generate_buildjl.jl Z/Zlib/build_tarballs.jl JuliaBinaryWrappers/Zlib_jll.jl Zlib-v1.2.11+6
注意:您必須手動將prefix
作為第一個參數添加到生成的build.jl
文件中的所有Product
構造函數中。這是必要的,因為BinaryBuilder v0.2+
和BinaryProvider
之間的語法已經差異。
請記住,您還需要所有直接和間接依賴性的build.jl
文件。
以下是使用此系統安裝其庫的包裝的一些示例:
BinaryProvider.jl
build.jl
腳本用於先前的發行版。