處理依賴項缺失的Meson項目
您是否遇到過這樣的情況:一個優秀的項目沒有 meson.build
文件,而維護者又遲遲不接受您的拉取請求(PR),甚至永遠不會接受?或者,您的項目需要在每次構建時都添加許可證文件,但維護者拒絕這樣做?
別擔心!您可以通過在 subprojects/*.wrap
中添加 Git 補丁來解決這個問題。
例如,在我的項目 Onur 中,我更喜歡使用 Hoyt 的 ht 工具,而不是龐大的 GNOME glib 庫,但 ht 項目沒有 meson.build
文件。
對於這個甚至沒有標籤的項目,一個簡單的 wrap-git
配置,使用主分支 (master
) 如下所示:
./subprojects/ht.wrap
<code>[wrap-git] directory=ht url=https://github.com/benhoyt/ht revision=master depth=1</code>
首先,下載Meson子項目:meson subprojects download
。然後,在子項目根目錄中添加 meson.build
文件:./subprojects/ht
<code># 创建一个空的 meson.build 文件 (如果需要,可以添加内容) touch ./subprojects/ht/meson.build </code>
接下來,創建補丁文件:
<code class="language-bash">mkdir -pv subprojects/{packagecache,packagefiles} git -C ./subprojects/ht add meson.build git -C ./subprojects/ht diff --cached > ./subprojects/packagefiles/ht-meson.patch</code>
然後,在 ht.wrap
文件中指定補丁文件:
<code class="language-bash">echo "diff_files = ht-meson.patch" >> ./subprojects/ht.wrap</code>
最後,應用補丁並編譯項目:
<code class="language-bash">meson subprojects purge --confirm meson subprojects download CC=gcc meson setup ./build --wipe -D b_sanitize=none -D buildtype=release meson compile -C ./build</code>
可執行文件將如預期一樣出現在 ./build
目錄中。
相關資源:
系統信息:
以上是Meson:使用無介子的git項目。的詳細內容。更多資訊請關注PHP中文網其他相關文章!