On Jun 26, 2007, at 20:55, Brian Campbell wrote:
Is there any semblance of an up-to-date MacPorts manual? If not, where should someone new go to find out how to create or update a Portfile?
Specifically, I would like to upgrade a package to the latest version, which is not yet in the latest official Portfile. I tried copying the portfile out into a new working directory, and running "port -dv checksum" (trying to vaguely follow along with the old DarwinPorts manual, from the Wayback Machine), but I get a permission error as it's trying to create a directory in the /opt/ local hierarchy. I'd rather not run commands with root permissions while I'm still experimenting with an undocumented system, so I'm wondering how I can tell port to just do everything in the current directory (or some other given directory), rather than /opt/local.
I don't know of a way to do that. I think you have to use sudo, and it will do things in /opt/local.
I then tried creating ~/.portsrc and ~/.macports/ports.conf (as port (1) and ports.conf(5) disagree on where the configuration file should go), containing settings for both prefix and portdbpath, but neither of these actually affected where port was trying to work; it kept trying to create a directory in /opt/local/var/db/dports.
I thought the prefix was set at install time. I'm not that familiar with what the manpages say.
So, is there any way to actually build a port without doing it in the /opt/local hierarchy? Or is there any documentation, or anywhere I can find out about what the expected way to develop under MacPorts is?
You've already found the old documentation in the Wayback Machine. That's all there is. Well, and what's in the current wiki. If you're looking for help understanding portfile syntax, it's instructive to look at existing ports. It may also help to subscribe to the commit emails so you see what kinds of changes people are making to the ports. Also subscribe to the dev list, where discussion sometimes occurs about specific commits, when people have comments or questions about them.
$ port version Version: 1.442