Bryan Blackburn wrote:

Can you elaborate a little on this, I am not sure I understand what you mean. What would you suggest I do? I already have ASSP running via hand
compile, but wanted to use this as a way to possibly supply a working
install back to the community.  Same with mrtg as well, but I have a
feeling mrtg may be a little harder, even though I also have that working
as well by hand compiling it and dependencies.

MacPorts by default assumes "extract the file, run configure, make, make install" to do an install of a given port. When this works, the Portfile is really short and simple. When software starts to diverge from that is when Portfiles begin to get more complicated. They still aren't too bad if some of those steps work. However, once you get to something like assp which doesn't have a configure script or even a Makefile, then you have to do all
the heavy lifting yourself.

Complex Portfiles are often indicators of bugs or missing features...

If the Portfile is doing a lot of things that should be in a Makefile
(or similar alternative), then patching in a Makefile and sending that
upstream could be better than scripting a lot of stuff downstream.
Not to mention that doing so is often easier than juggling Tcl. :-)

If a lot of ports all require similar tweaks, then that is usually a
sign that "base" could use either a group or a proc - or maybe both.
Now, adding such new groups could have been easier (not requiring a
new base version) and new releases of base less scarce. But still.

I have a few ideas pending for 1.8, that I'll test when trunk is open.

Of course, if you've been able to install something successfully by hand, that gets you quite a way towards a working Portfile. At that point, the
Portfile just becomes a reproduction of what it was you did by hand by
overriding various phases. assp does most of the work in its destroot phase so you could put most of what you did by hand in this section. However, since the port has a history, you're also having to deal with that, which is
why it seems starting from scratch might be simpler.

Documenting complexity, whether in a document or in a script file,
is never a suitable replacement for making it simpler if possible.

--anders

_______________________________________________
macports-users mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-users

Reply via email to