How to abort a macports portfile on an error condition?

Ken Cunningham ken.cunningham.webuse at gmail.com
Sat Oct 3 18:48:12 UTC 2020


Martin, I'm trying to understand how this is happening to you.

you should not need to be doing that in your Portfile, and users should never need to make that symlink.

The linuxdoc-tools port has this:

depends_build   bin:latex:texlive \
                path:bin/perl:perl5


But it seems that you're saying that perl5 is not just a build dep, but also a runtime dep?

If so, if we change that part to:

depends_lib     path:bin/perl:perl5

Then that will force perl5 to be available at runtime as well.

Is that the proper fix?

Ken


> That's. That worked. Preparing a pull request.
> 
> Eric F schrieb:
> > Try using “return -code error”, something like:
> > 
> > ```tlc
> >     if {![file exists ${prefix}/bin/perl]} {
> >         ui_error "
> > «${prefix}/bin/perl» is missing but the linuxdoc-tools depends on it.
> > 
> > Please create an appropriate symbolic link for linuxdoc-tools to work.
> > "
> >         return -code error "missing dependency"
> >     }
> > ```
> > 
> > · Eric
> > 
> > On 10/3/20 11:15 , Martin Krischik wrote:
> >> Hello,
> >>
> >> I working on a version bump on the **cc65** and encountered a problem
> >> with the **linuxdoc-tools**. Since I can't fix the **linuxdoc-tools**
> >> and there is a simple workaround possible I decided to add an if
> >> statement to inform the user together with the workaround:
> >>
> >> ```tlc
> >> 	if {! [file exists ${prefix}/bin/perl] } {
> >> 		ui_error "
> >> «${prefix}/bin/perl» is missing but the linuxdoc-tools depends on it.
> >>
> >> Please create an appropriate symbolic link for linuxdoc-tools to work.
> >> "
> >> 	exit 1
> >> 	}
> >> ```
> >>
> >> Crude but the best I can do since I'm neither the **perl5** nor the
> >> **linuxdoc-tools** maintainer and I don't want to spend to much time on
> >> a otherwise simple version bump.
> >>
> >> However, the MacPorts doesn't understand `exit 1` and `ui_error` won't
> >> stop execution on its own.
> >>
> >> How do I stop the execution so not to waste the users time on a build
> >> which will otherwise fail right at the end.
> >>
> >> Regards
> >>
> >> Martin
> > 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-dev/attachments/20201003/c613c6bf/attachment-0001.htm>


More information about the macports-dev mailing list