#52041: go-1.4 @1.4.3_0: build fails on Sierra ----------------------+----------------------------- Reporter: chris@… | Owner: ciserlohn@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: sierra haspatch Port: go-1.4 | ----------------------+----------------------------- Comment (by ryandesign@…): Replying to [comment:26 ethansherriff@…]:
Replying to [comment:15 ryandesign@…]:
Doesn't it already do that? It has a runtime dependency on go-1.4, so if go-1.4 is not yet installed, it will be installed first. (Granted, it should be a library dependency, not a runtime dependency, since it is also needed at build time, not just at runtime).
`go` (from versions 1.5 upwards) only depends on `go-1.4` if being built from source, and this is only a build time dependancy.
Christoph, do you remember why, in closing #48940, you made go-1.4 a runtime dependency, rather than build-time dependency as had been proposed in attachment:ticket:48940:Portfile-go.diff?
What I meant to say was that, if someone installs `go` and removes `go-1.4`, `go-1.4` would be (unnecessarily) reinstalled if the `go` port needed to be upgraded.
In the go port's current state, a user who tries to uninstall go-1.4 cannot do so: {{{ $ sudo port uninstall go-1.4 ---> Unable to uninstall go-1.4 @1.4.3_0, the following ports depend on it: ---> go @1.7_0 Error: Failed to uninstall go-1.4: Please uninstall the ports that depend on go-1.4 first. Error: See /opt/local/var/macports/logs/_opt_local_var_macports_registry_portfiles_go-1.4-1.4.3_0_86ab4a8314cc0f60fb001e57c331230040cdff8c6728f9b181bb077d6f3a1fbd-2906/go-1.4/main.log for details. Warning: Failed to execute portfile from registry for go-1.4 @1.4.3_0 ---> Unable to uninstall go-1.4 @1.4.3_0, the following ports depend on it: ---> go @1.7_0 Error: port uninstall failed: Please uninstall the ports that depend on go-1.4 first. }}} Once we change it from a runtime to a build-time dependency, that should become possible. MacPorts should not reinstall go-1.4 unless you are building from source; if you instead receive a binary from our build server, you don't need build dependencies. If you are suggesting that we should only build go using go-1.4 if go is not installed, and should build go with go if go is already installed, then we don't want to do that, because that would be contrary to the goal of ReproducibleBuilds. -- Ticket URL: <https://trac.macports.org/ticket/52041#comment:28> MacPorts <https://www.macports.org/> Ports system for macOS