<pre style='margin:0'>
Dan Ports (drkp) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/69a03775ca2597d548251911b9a6aed1a47df265">https://github.com/macports/macports-ports/commit/69a03775ca2597d548251911b9a6aed1a47df265</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 69a03775ca2 texlive-bin: add patch to fix build on ARM64
</span>69a03775ca2 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 69a03775ca2597d548251911b9a6aed1a47df265
</span>Author: Michael Dickens <michaelld@macports.org>
AuthorDate: Thu Nov 19 11:29:02 2020 -0500
<span style='display:block; white-space:pre;color:#404040;'> texlive-bin: add patch to fix build on ARM64
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Use "infinite" rather than "finite" since Apple seems to have removed support for the latter in favor of the former on ARM64 only. Support remains for Intel 32 and 64 bit for both versions (See math.h line 550). This PR might also allow the port to build on PPC 32/64.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/61547
</span>---
tex/texlive-bin/Portfile | 4 +++
...afontloader_fontforge_fontforge-fix_finite.diff | 39 ++++++++++++++++++++++
2 files changed, 43 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/tex/texlive-bin/Portfile b/tex/texlive-bin/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 60a87656e75..ad6fec315e4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/tex/texlive-bin/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/tex/texlive-bin/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -105,6 +105,10 @@ patchfiles-append patch-libs_luajit_configure.diff \
</span> # https://trac.macports.org/ticket/60963
patchfiles-append patch-texk_kpathsea_configure.diff
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# fix build on ARM64, which does not have "finite()"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://trac.macports.org/ticket/61547
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-texk_web2c_luatexdir_luafontloader_fontforge_fontforge-fix_finite.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> post-patch {
reinplace "s|@@TEXMFDIST@@|${texlive_texmfdist}|" ${worksrcpath}/texk/texlive/linked_scripts/Makefile.in
# reinplace "s|@@TEXMFDIST@@|${texlive_texmfdist}|" ${worksrcpath}/texk/texlive/tl_scripts/Makefile.in
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/tex/texlive-bin/files/patch-texk_web2c_luatexdir_luafontloader_fontforge_fontforge-fix_finite.diff b/tex/texlive-bin/files/patch-texk_web2c_luatexdir_luafontloader_fontforge_fontforge-fix_finite.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..ead1085b6ea
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/tex/texlive-bin/files/patch-texk_web2c_luatexdir_luafontloader_fontforge_fontforge-fix_finite.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,39 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- texk/web2c/luatexdir/luafontloader/fontforge/fontforge/psread.c.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ texk/web2c/luatexdir/luafontloader/fontforge/fontforge/psread.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -531,7 +531,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *val = strtod(tokbuf,&end);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if ( !finite(*val) ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if ( !isfinite(*val) ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* GT: NaN is a concept in IEEE floating point which means "Not a Number" */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* GT: it is used to represent errors like 0/0 or sqrt(-1). */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LogError( _("Bad number, infinity or nan: %s\n"), tokbuf );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -677,14 +677,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static void CheckMakeB(BasePoint *test, BasePoint *good) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if ( !finite(test->x) || test->x>100000 || test->x<-100000 ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if ( !isfinite(test->x) || test->x>100000 || test->x<-100000 ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LogError( _("Value out of bounds in spline.\n") );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if ( good!=NULL )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test->x = good->x;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test->x = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if ( !finite(test->y) || test->y>100000 || test->y<-100000 ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if ( !isfinite(test->y) || test->y>100000 || test->y<-100000 ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LogError( _("Value out of bounds in spline.\n") );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if ( good!=NULL )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test->y = good->y;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- texk/web2c/luatexdir/luafontloader/fontforge/fontforge/splinerefigure.c.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ texk/web2c/luatexdir/luafontloader/fontforge/fontforge/splinerefigure.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -75,7 +75,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if ( ysp->a==0 && xsp->a==0 && ysp->b==0 && xsp->b==0 )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ spline->islinear = true; /* This seems extremely unlikely... */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if ( !finite(ysp->a) || !finite(xsp->a) || !finite(ysp->c) || !finite(xsp->c) || !finite(ysp->d) || !finite(xsp->d))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if ( !isfinite(ysp->a) || !isfinite(xsp->a) || !isfinite(ysp->c) || !isfinite(xsp->c) || !isfinite(ysp->d) || !isfinite(xsp->d))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ IError("NaN value in spline creation");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LinearApproxFree(spline->approx);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ spline->approx = NULL;
</span></pre><pre style='margin:0'>
</pre>