此Homebrew Cookbook manual有助于提供homebrew
系统工作原理的一些线索。我使用brew install phantomjs
安装了PhantomJS,但我需要应用一些补丁。我可以看到该公式已经应用了补丁:
# Qt Yosemite build fix. Upstream commit/PR:
# https://qt.gitorious.org/qt/qtbase/commit/70e442
# https://github.com/ariya/phantomjs/pull/12934
patch do
url "https://raw.githubusercontent.com/Homebrew/patches/480b7142c4e2ae07de6028f672695eb927a34875/phantomjs/yosemite.patch"
sha256 "f54bd1592185f031552d3ad5c8809ff27e8f3be4f1c05c81b59bf7dbc4a59de1"
end
修改源代码和重建的“正确”方法是什么?我想我可以修改源代码,使用tar/gz
重新打包它,将其放在缓存文件夹中,然后更改公式中的校验和,但这是正确的方法吗?
答案 0 :(得分:1)
添加您已经存在的补丁:
patch do
url "https://where.your.patch/is"
sha256 "... its checksum ..."
end
patch do
url "https://another.patch.url"
sha256 "... its checksum ..."
end
确保它与现有补丁一样位于stable do
区块中。
然后运行brew install --build-from-source phantomjs
。安装完成后,将公式编辑为原始状态,否则下一个brew update
将失败。
如果您知道自己在做什么,可以避免在每个补丁中添加sha256
个; Homebrew会警告你它无法验证它们,但不会中止安装。