Thanks Werner!

I've updated the formula to set the QMAKESPEC environment variable to
"macx-clang" instead of patching m4/autoroll.m4

same link as before:
https://gist.github.com/anthrotype/77c58ccb4383b8b1545800bf6fd38732

Yes, it's weird that it only works with GNU sed.

This is the command that it's failing when run with BSD sed. I took the sed
pattern from line 724 of m4/autoroll.m4:

/usr/local/opt/qt/bin/qmake --version 2>&1 |
/usr/local/opt/gnu-sed/libexec/gnubin/sed
'/^.*\([0-9]\+\.[0-9]\+\.[0-9]\+\).*$/!d;s//\1/'

This correctly returns "5.1.1" when it's run with gsed, whereas it doesn't
return anything when run with BSD sed.

No idea why.

On Sat, Jul 21, 2018 at 2:44 PM, Werner LEMBERG <w...@gnu.org> wrote:

>
> > as others may have noticed, e.g. see
> > https://discourse.brew.sh/t/trouble-installing-ttfautohint/2084, it
> > is currently impossible to successfully `brew install --with-qt
> > ttfautohint`, at least on the latest macOS 10.13.6 and up-to-date
> > homebrew.
> >
> > The build fails with a configure error:
> >
> >   configure: error:
> >     Calling /usr/local/opt/qt/bin/qmake -spec macx-g++ failed.
> >
> > I was eventually able to build by applying the following patch to
> > the m4/autoroll.m4 file:
> >
> > https://gist.github.com/anthrotype/645a3fb882885affcee7fbc38b8c7844
>
> Thanks.  However, there's a better solution, already in
>
>   https://github.com/tsuna/autotroll/blob/master/build-aux/autotroll.m4
>
> I forgot to copy this to the ttfautohint git repository, now done.
>
> > The patch tells qmake to use `macx-clang` instead of `macx-g++` as
> > its spec.
>
> With the new `autotroll.m4' version, you can override the Qt5 specfile
> with
>
>   QMAKESPEC='macx-clang' ./configure ...
>
> > I'm not sure why the latter doesn't work any more...
>
> It seems that brew has switched from g++ to clang, no longer providing
> spec files for g++.
>
> > There is another thing that I had to do in order to successfully
> > build.  I had to modify the ttfautohint.rb formula make sure that
> > the GNU sed is used instead of the (BSD?) version /usr/bin/sed that
> > macOS ships with.
> >
> > For some reasons, the same m4/autoroll.m4 is attempting to parse the
> > output of qmake --version using some sed command that doesn't work
> > with the Apple sed command, and thus the configure script is failing
> > to detect the current Qt's version.
>
> Depending on GNU sed is bad.  However, I can't quickly see a problem
> with the sed expression.  Can you show the error message?  And can you
> insert some tracing to `autotroll.m4' to show the value of `sed
> $qmake_version_sed' and `$QMAKE --version'?
>
>   qmake_version_sed=['/^.*\([0-9]\+\.[0-9]\+\.[0-9]\+\).*$/!d;s//\1/']
>   at_cv_QT_VERSION=`$QMAKE --version 2>&1 \
>                     | sed "$qmake_version_sed"`])
>
> > Here's my updated ttfautohint.rb formula which includes both the
> > qmake -spec patch [...]
>
> Thanks!
>
> > Installing without --HEAD doesn't seem to work, probably because the
> > patch is not applied in that case.  I don't know.  I'm not very
> > familiar with homebrew.
>
> Me neither :-/ I'll check the whole issue within the next few days; if
> time permits, I'll do a new ttfautohint release.
>
>
>     Werner
>
_______________________________________________
Freetype-devel mailing list
Freetype-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/freetype-devel

Reply via email to