我正在尝试安装 Elixir 1.5 和 OTP 20。我这样做了:
pkg install erlang-runtime20
portsnap fetch extract update
并且我已将 /usr/ports/lang/elixir/Makefile 更改为指向 Elixir 和 erlang 的最新版本:
PORTVERSION= 1.5.1
BUILD_DEPENDS= erlang>=20:lang/erlang
RUN_DEPENDS= erlang>=20:lang/erlang
和
make makesum
但有一个例外:
$ sudo make install
===> License APACHE20 accepted by the user
===> elixir-1.5.1_1 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by elixir-1.5.1_1 for building
===> Extracting for elixir-1.5.1_1
=> SHA256 Checksum OK for elixir/1.5.1/Docs.zip.
=> SHA256 Checksum OK for elixir/1.5.1/elixir-lang-elixir-v1.5.1_GH0.tar.gz.
===> Patching for elixir-1.5.1_1
===> Applying FreeBSD patches for elixir-1.5.1_1
1 out of 2 hunks failed--saving rejects to Makefile.rej
=> FreeBSD patch patch-Makefile failed to apply cleanly.
*** Error code 1
Stop.
make[1]: stopped in /usr/ports/lang/elixir
*** Error code 1
Stop.
make: stopped in /usr/ports/lang/elixir
如何修复?
答案1
好吧,你不能只是碰一下PORTVERSION
然后指望它能正常工作。要么给维护者发邮件要求端口更新,要么亲自动手 - 弄清楚那个补丁有什么用,是否仍需应用,如果仍需,则刷新它。
要生成新的补丁,请将原始内容复制Makefile
到Makefile.orig
,编辑Makefile
,然后运行make makepatch
。