<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/d10d2fa46327a2d59923f4a77b983dcbf3526c13">https://github.com/macports/macports-ports/commit/d10d2fa46327a2d59923f4a77b983dcbf3526c13</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 d10d2fa4632 gmtl: Fix build issues
</span>d10d2fa4632 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit d10d2fa46327a2d59923f4a77b983dcbf3526c13
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Wed Mar 8 22:18:25 2023 -0600

<span style='display:block; white-space:pre;color:#404040;'>    gmtl: Fix build issues
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Add patches to fix build failures when using clang, when using the
</span><span style='display:block; white-space:pre;color:#404040;'>    latest version of scons, when scons is using python 3, and to prevent
</span><span style='display:block; white-space:pre;color:#404040;'>    the creation of the unwanted file gmtl-0.6.1.tar.gz and to install the
</span><span style='display:block; white-space:pre;color:#404040;'>    file gmtl.pc.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Add runtime dependencies on flagpoll and python which are used by
</span><span style='display:block; white-space:pre;color:#404040;'>    gmtl-config. flagpoll is currently incompatible with python 3 and uses
</span><span style='display:block; white-space:pre;color:#404040;'>    python27 so use the same python here to reduce the number of pythons
</span><span style='display:block; white-space:pre;color:#404040;'>    a user needs to install.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Specify absolute path to scons.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Specify prefix at build time so that build output does not give the
</span><span style='display:block; white-space:pre;color:#404040;'>    erroneous impression that files will be installed in /usr/local.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Specify empty directories for Boost and CppUnit at build time so that
</span><span style='display:block; white-space:pre;color:#404040;'>    any Boost or CppUnit that might be installed in /usr/local is not
</span><span style='display:block; white-space:pre;color:#404040;'>    inadvertently used.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    No need to specify destroot.cmd or destroot.target; the defaults work.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Add modeline.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Modernize checksums.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Set platforms to any and set supported_archs to noarch because this port
</span><span style='display:block; white-space:pre;color:#404040;'>    doesn't install anything architecture- or OS-specific.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Add GitHub handle to maintainers line.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Install documentation files.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Indicate license. The software claims to be licensed LGPL-2.1+ but there
</span><span style='display:block; white-space:pre;color:#404040;'>    is also a license addendum that imposes additional restrictions and the
</span><span style='display:block; white-space:pre;color:#404040;'>    LGPL does not permit the imposition of additional restrictions.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Rewrite master_sites to avoid redirects.
</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/57421
</span>---
 math/gmtl/Portfile                                 |  60 ++++++++++--
 math/gmtl/files/SConstruct-clang.patch             |  52 +++++++++++
 math/gmtl/files/SConstruct-no-archive.patch        |  12 +++
 .../{SConstruct.patch => SConstruct-python.patch}  | 103 ++++++++++++---------
 math/gmtl/files/SConstruct-scons.patch             |  66 +++++++++++++
 math/gmtl/files/gmtl-config.patch                  |   8 ++
 math/gmtl/files/gmtl.pc.patch                      |  64 +++++++++++++
 7 files changed, 311 insertions(+), 54 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/gmtl/Portfile b/math/gmtl/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index bf9f398904d..339284a3ceb 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/gmtl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/gmtl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,27 +1,67 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> PortSystem          1.0
 
 name                gmtl
 version             0.6.1
<span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  19ca8c25cf54b1650272f7a387f5f8b8c5c3140c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  f7d8e6958d96a326cb732a9d3692a3ff3fd7df240eb1d0921a7c5c77e37fc434 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    339777
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> categories          math
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms           darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers         iastate.edu:mccdo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms           any
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+supported_archs     noarch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {iastate.edu:mccdo @mccdo}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# LGPL-2.1+ modified by an addendum
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             Copyleft GPLConflict
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> description         a lightweight math library
 long_description    The math library used by vrjuggler. It is \
                     implemented with c++ templates.
 homepage            http://ggt.sourceforge.net/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites        sourceforge:ggt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           md5 1391af2c5ea050dda7735855ea5bb4c1 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha1 473a454d17956d3ce3babafdb57f73c0685579fd \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160 19ca8c25cf54b1650272f7a387f5f8b8c5c3140c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        sourceforge:project/ggt/Generic%20Math%20Template%20Library/${version}
</span> 
 depends_build       port:scons
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles          SConstruct.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# gmtl-config uses python and flagpoll.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Use same python version as flagpoll to limit number of pythons installed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set python_version  2.7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_run-append  port:flagpoll \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:python[string map [list . {}] ${python_version}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          gmtl.pc.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    gmtl-config.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    SConstruct-clang.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    SConstruct-no-archive.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    SConstruct-python.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    SConstruct-scons.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@PYTHON_BIN@|${prefix}/bin/python${python_version}|g" ${worksrcpath}/gmtl-config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
 use_configure       no
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-build.cmd           scons
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.cmd           ${prefix}/bin/scons
</span> build.target
<span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot.cmd        scons
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args          prefix=${prefix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    BoostPythonDir=/var/empty \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    CppUnitDir=/var/empty
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> destroot.destdir    prefix=${destroot}${prefix}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot.target     install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace -W ${destroot}${prefix} "s|${destroot}||g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        lib/pkgconfig/gmtl.pc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        share/flagpoll/gmtl-${version}-noarch.fpc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set docdir ${prefix}/share/doc/${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -d ${destroot}${docdir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 0644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        AUTHORS \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        LICENSE \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        LICENSE.addendum \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        README \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${docdir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/gmtl/files/SConstruct-clang.patch b/math/gmtl/files/SConstruct-clang.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..5370b15c95c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/gmtl/files/SConstruct-clang.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,52 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fixes for determining "GCC" version when compiler is clang.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://sourceforge.net/p/ggt/bugs/28/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- SConstruct.orig        2009-11-21 15:31:52.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ SConstruct     2023-03-08 18:28:02.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3,6 +3,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ EnsureSConsVersion(0,96)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SConsignFile()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++from subprocess import Popen, PIPE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import os, string, sys
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import re
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import distutils.sysconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -129,26 +126,28 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    framework_opt = '-F' + m.group(1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    CXX = os.environ.get("CXX", WhereIs('g++'))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   ver_re = re.compile(r'gcc version ((\d+)\.(\d+)\.(\d+))')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   (gv_stdout, gv_stdin, gv_stderr) = os.popen3(CXX + ' -v')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   ver_str = gv_stderr.read()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   match_obj = ver_re.search(ver_str)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    LINK = CXX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    CXXFLAGS = ['-ftemplate-depth-256', '-DBOOST_PYTHON_DYNAMIC_LIB',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                '-Wall', framework_opt, '-pipe']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   compiler_ver       = match_obj.group(1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   compiler_major_ver = int(match_obj.group(2))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   compiler_minor_ver = int(match_obj.group(3))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   p = Popen([CXX, '-dM', '-E', '-x', 'c++', '-'], stdout=PIPE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   preprocessor_macros = p.stdout.read().decode('utf-8')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   ver_re = re.compile(r'#define __GNUC__ (\d+)')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   match_obj = ver_re.search(preprocessor_macros)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   compiler_major_ver = int(match_obj.group(1))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   ver_re = re.compile(r'#define __GNUC_MINOR__ (\d+)')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   match_obj = ver_re.search(preprocessor_macros)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   compiler_minor_ver = int(match_obj.group(1))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   compiler_ver = f'{compiler_major_ver}.{compiler_minor_ver}'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # GCC 4.0 in Mac OS X 10.4 and newer does not have -fcoalesce-templates.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if compiler_major_ver < 4:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       CXXFLAGS.append('-fcoalesce-templates')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      if compiler_minor_ver < 2:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if compiler_major_ver == 4 and compiler_minor_ver < 2:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+          CXXFLAGS += ['-Wno-long-double', '-no-cpp-precomp']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    SHLIBSUFFIX = distutils.sysconfig.get_config_var('SO')
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/gmtl/files/SConstruct-no-archive.patch b/math/gmtl/files/SConstruct-no-archive.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..3bcfab62270
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/gmtl/files/SConstruct-no-archive.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Do not create a tar.gz archive of the source code.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://sourceforge.net/p/ggt/bugs/30/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- SConstruct.orig        2023-03-10 01:05:19.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ SConstruct     2023-03-10 01:05:19.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -775,7 +775,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    pkg.build()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    installed_targets += pkg.getInstalledTargets()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   MakeSourceDist(pkg, env)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Build everything by default
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Default('.')
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/gmtl/files/SConstruct.patch b/math/gmtl/files/SConstruct-python.patch
</span>similarity index 78%
rename from math/gmtl/files/SConstruct.patch
rename to math/gmtl/files/SConstruct-python.patch
<span style='display:block; white-space:pre;color:#808080;'>index 860d1aa92f4..c2d16ab02ae 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/gmtl/files/SConstruct.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/gmtl/files/SConstruct-python.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,15 +1,8 @@
</span> Fixes for Python 3 compatibility.
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- SConstruct.orig     2009-11-21 15:31:52.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ SConstruct     2023-03-08 06:47:38.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3,6 +3,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- EnsureSConsVersion(0,96)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SConsignFile()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+from subprocess import Popen, PIPE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import os, string, sys
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import re
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import distutils.sysconfig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -16,10 +17,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://sourceforge.net/p/ggt/bugs/29/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- SConstruct.orig        2023-03-09 18:31:41.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ SConstruct     2023-03-09 18:33:02.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -17,11 +17,6 @@
</span>  sys.path.append('tools/build')
  from AutoDist import *
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -17,10 +10,11 @@ Fixes for Python 3 compatibility.
</span> -if sys.version[:3] == '2.2' and sys.version[3] != '.':
 -   False = 0
 -   True  = 1
<span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span>  enable_python      = False
  boost_version      = '1.31'
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -48,17 +45,17 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ have_cppunit       = False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -49,17 +44,17 @@
</span>  
  def GetPlatform():
     "Determines what platform this build is being run on."
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -44,18 +38,13 @@ Fixes for Python 3 compatibility.
</span>        return 'win32'
     else:
        return sys.platform
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -131,8 +128,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    CXX = os.environ.get("CXX", WhereIs('g++'))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ver_re = re.compile(r'gcc version ((\d+)\.(\d+)\.(\d+))')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--   (gv_stdout, gv_stdin, gv_stderr) = os.popen3(CXX + ' -v')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--   ver_str = gv_stderr.read()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   gv = Popen([CXX, '-v'], stderr=PIPE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   ver_str = gv.stderr.read().decode('utf-8')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -218,21 +213,21 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ def BuildWin32Environment():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global optimize, compiler_major_ver
</span>  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    match_obj = ver_re.search(ver_str)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -220,16 +217,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   if ARGUMENTS.has_key("MSVS_VERSION"):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   if "MSVS_VERSION" in ARGUMENTS:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       # Python extension modules can only be built using Visual C++ 7.1 or
</span>        # 9.0.
        msvs_ver = ARGUMENTS["MSVS_VERSION"]
        if msvs_ver not in ("7.1", "9.0"):
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -76,7 +65,7 @@ Fixes for Python 3 compatibility.
</span>           sys.exit(1)
  
        env = Environment(MSVS_VERSION = msvs_ver)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -239,7 +236,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -242,7 +237,7 @@
</span>     else:
        env = Environment(ENV = os.environ)
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -85,7 +74,7 @@ Fixes for Python 3 compatibility.
</span>     compiler_major_ver = env["MSVS"]["VERSION"]
     
     # We need exception handling support turned on for Boost.Python.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -283,7 +280,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -286,7 +281,7 @@
</span>     elif GetPlatform() == 'cygwin':
        env = BuildCygwinEnvironment()
     else:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -94,7 +83,7 @@ Fixes for Python 3 compatibility.
</span>        env = Environment()
  
     return env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -299,7 +296,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -302,7 +297,7 @@
</span>        exp = re.compile('^(\d+\.\d+(\.\d+)?)\D*$')
        match = exp.search(value)
        boost_version = match.group(1)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -103,7 +92,7 @@ Fixes for Python 3 compatibility.
</span>     else:
        assert False, "Invalid Boost key"
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -307,7 +304,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -310,7 +305,7 @@
</span>     "Validate the boost option settings"
     global enable_python, optimize, compiler_major_ver
     req_boost_version = 103100
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -112,7 +101,7 @@ Fixes for Python 3 compatibility.
</span>  
     if "BoostPythonDir" == key:
        version_dir = 'boost-' + re.sub(r'\.', '_', boost_version)   
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -315,16 +312,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -318,16 +313,16 @@
</span>        potential_inc_paths = [pj('include', version_dir), "include"]
        for pth in potential_inc_paths:
           if os.path.isdir(pj(value,pth)):
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -134,7 +123,7 @@ Fixes for Python 3 compatibility.
</span>  
        ver_file = file(boost_ver_filename)
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -334,7 +331,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -337,7 +332,7 @@
</span>        sys.stdout.write("found version: %s\n" % ver_num)
  
        if ver_num < req_boost_version:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -143,7 +132,7 @@ Fixes for Python 3 compatibility.
</span>           Exit()
           return False
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -414,16 +411,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -417,16 +412,16 @@
</span>                                            '%s%s.%s' % (shlib_prefix, n,
                                                         shlib_ext))
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -163,7 +152,7 @@ Fixes for Python 3 compatibility.
</span>              Exit()
              return False
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -472,7 +469,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -475,7 +470,7 @@
</span>           python = WhereIs('python')
           if not python:
              enable_python = False
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -172,7 +161,7 @@ Fixes for Python 3 compatibility.
</span>              return False
  
           py_cmd = python + ' -c \'import sys; print sys.prefix; print sys.version[:3]\''
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -493,7 +490,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -496,7 +491,7 @@
</span>  
           # Version must match
           if float(py_ver) < required_version:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -181,7 +170,7 @@ Fixes for Python 3 compatibility.
</span>              enable_python = False
           else:
              # Build up the env information
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -567,7 +564,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -570,11 +565,11 @@
</span>        }
  
           my_file = env.SubstBuilder('file.out','file.in', submap=submap)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -189,8 +178,20 @@ Fixes for Python 3 compatibility.
</span> +         env.AddPostAction (my_file, Chmod('$TARGET', 0o644))
           env.Depends(my_file, 'version.h')
     """
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    targets = map(lambda x: str(x), target)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -587,7 +584,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   targets = map(lambda x: str(x), target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   sources = map(lambda x: str(x), source)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   targets = [str(x) for x in target]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   sources = [str(x) for x in source]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    submap = env['submap']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -585,12 +580,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       # Go through the substitution dictionary and modify the contents read in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       # from the source file
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      for key, value in submap.items():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      for key, value in list(submap.items()):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+          contents = contents.replace(key, value);
</span>  
        # Write out the target file with the new contents
        open(targets[i], 'w').write(contents)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -199,7 +200,7 @@ Fixes for Python 3 compatibility.
</span>  
  def generate_builder_str(target, source, env):
     builderStr = "generating: ";
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -606,7 +603,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -609,7 +604,7 @@
</span>  
  # Figure out what version of GMTL we're building
  GMTL_VERSION = GetGMTLVersion()
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -208,7 +209,7 @@ Fixes for Python 3 compatibility.
</span>  
  help_text = "\n---- GMTL Build System ----\n"
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -617,7 +614,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -620,7 +615,7 @@
</span>  Prefix(PREFIX)
  Export('PREFIX')
  Export('optimize')
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -217,7 +218,7 @@ Fixes for Python 3 compatibility.
</span>  
  baseEnv = BuildPlatformEnv()
  baseEnv["BUILDERS"]["SubstBuilder"] = \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -659,7 +656,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -662,7 +657,7 @@
</span>  Export('installed_targets')
  
  if not has_help_flag:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -226,8 +227,22 @@ Fixes for Python 3 compatibility.
</span>  
     # Create the GMTL package
     pkg = Package('gmtl', '%i.%i.%i' % GMTL_VERSION)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -711,7 +708,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       base_inst_paths['include'] = pj('${fp_file_cwd}' ,'..' ,'..', 'include',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -693,10 +688,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Find gmtl headers, set up install rule and add to package
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    gmtl_headers = []
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   def get_headers(hdrs, dirname, flist):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      hdrs.extend( [pj(dirname,f) for f in flist if f.endswith('.h')])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   os.path.walk('gmtl',get_headers,gmtl_headers)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   #print "GMTL Headers:\n", gmtl_headers, "\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   for dirname, _, flist in os.walk('gmtl'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      gmtl_headers.extend([pj(dirname, f) for f in flist if f.endswith('.h')])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   #print("GMTL Headers:\n", gmtl_headers, "\n")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # --- Setup installation paths --- #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    base_inst_paths = {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -715,7 +709,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       base_inst_paths['include'] = pj(base_inst_paths['base'], 'include',
</span>                                        include_version)
  
 -   print "using prefix:", base_inst_paths['base']         
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -235,12 +250,12 @@ Fixes for Python 3 compatibility.
</span>        
     for h in gmtl_headers:
        installed_targets += baseEnv.InstallAs(pj(PREFIX, include_dir, h), h)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -758,7 +755,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -762,7 +756,7 @@
</span>     fpc_filename = "-".join(name_parts) + ".fpc"
     gmtl_fpc = env.SubstBuilder(pj(base_inst_paths['flagpoll'], fpc_filename), 
                                 'gmtl.fpc.in', submap = submap)
 -   env.AddPostAction(gmtl_fpc, Chmod('$TARGET', 0644))
 +   env.AddPostAction(gmtl_fpc, Chmod('$TARGET', 0o644))
     env.Depends(gmtl_fpc, 'gmtl/Version.h')
<span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    installed_targets += env.Install(base_inst_paths['bin'], 'gmtl-config')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    gmtl_pc = env.SubstBuilder(pj(base_inst_paths['pkgconfig'], "gmtl.pc"), 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                'gmtl.fpc.in', submap = submap)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/gmtl/files/SConstruct-scons.patch b/math/gmtl/files/SConstruct-scons.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..41055775e2e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/gmtl/files/SConstruct-scons.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,66 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fixes for new SCons versions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://sourceforge.net/p/ggt/code/1267/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://sourceforge.net/p/ggt/code/1277/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- SConstruct.orig        2023-03-08 19:53:26.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ SConstruct     2023-03-08 19:53:26.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -627,7 +627,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Export('baseEnv')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ options_cache = 'options.cache.' + distutils.util.get_platform()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-opts = Options(options_cache)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++opts = Variables(options_cache)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AddCppUnitOptions(opts)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AddPythonOptions(opts)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AddBoostOptions(opts)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -725,7 +725,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       subdirs.append('Test')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    SConscript(dirs = subdirs)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   env = baseEnv.Copy()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   env = baseEnv.Clone()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Build up the provides vars for the .fpc files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    provides = "gmtl"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Test/TestSuite/SConscript.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Test/TestSuite/SConscript
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -14,7 +14,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sources.extend(testcases_sources)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Setup the runtests executable target
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-env = baseEnv.Copy()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++env = baseEnv.Clone()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ApplyCppUnitOptions(env)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ env.Append(CPPPATH = Split('#Test/TestSuite #'))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- python/SConscript.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ python/SConscript
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -20,7 +20,7 @@
</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;'>+ # Define the Python module
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-env = baseEnv.Copy()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++env = baseEnv.Clone()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # If using GCC, deal with ld O(n^2) algorithm.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if env['CXX'][:3] == 'g++' and WhereIs('objcopy'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- tools/build/AutoDist.py.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ tools/build/AutoDist.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -109,7 +109,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       # Clone the base environment if we have one
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       if baseEnv:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-         self.data['env'] = baseEnv.Copy()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++         self.data['env'] = baseEnv.Clone()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+          self.data['env'] = Environment()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -378,7 +378,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    """
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Clone the base environment if we have one
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if baseEnv:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      env = baseEnv.Copy()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      env = baseEnv.Clone()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       env = Environment()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Terms Privacy Opt Out Advertise
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/gmtl/files/gmtl-config.patch b/math/gmtl/files/gmtl-config.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..66d55f75e48
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/gmtl/files/gmtl-config.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gmtl-config.orig       2010-01-02 11:13:17.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gmtl-config    2023-03-08 20:56:06.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,4 +1,4 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#!/usr/bin/env python
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#!@PYTHON_BIN@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # GMTL is (C) Copyright 2001-2010 by Allen Bierbaum
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Distributed under the GNU Lesser General Public License 2.1 with an
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/gmtl/files/gmtl.pc.patch b/math/gmtl/files/gmtl.pc.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..c9d03fe345d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/gmtl/files/gmtl.pc.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,64 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Install gmtl.pc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://sourceforge.net/p/ggt/code/1264
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Because gmtl*.fpc and gmtl.pc get built at install time, not at build time, and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+because at install time we have to use prefix=${destroot}${prefix} because this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build system doesn't support DESTDIR, gmtl*.fpc and gmtl.pc contain the path to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the destroot, which we have to remove in a post-destroot block in the Portfile.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- SConstruct.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ SConstruct
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -701,14 +701,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    base_inst_paths['lib'] = pj(base_inst_paths['base'], 'lib')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    base_inst_paths['share'] = pj(base_inst_paths['base'], 'share')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    base_inst_paths['flagpoll'] = pj(base_inst_paths['share'], 'flagpoll')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   base_inst_paths['pkgconfig'] = pj(base_inst_paths['lib'], 'pkgconfig')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    base_inst_paths['bin'] = pj(base_inst_paths['base'], 'bin')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    include_dir = pj(base_inst_paths['base'], 'include')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   base_inst_paths['include'] = pj('${fp_file_cwd}' ,'..' ,'..', 'include')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   base_inst_paths['include'] = pj(base_inst_paths['base'], 'include')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if baseEnv['versioning'] == 'yes' and not sys.platform.startswith("win"):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       include_version = "gmtl-%s.%s.%s" % GetGMTLVersion()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       include_dir = pj(include_dir, include_version)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      base_inst_paths['include'] = pj('${fp_file_cwd}' ,'..' ,'..', 'include',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      base_inst_paths['include'] = pj(base_inst_paths['base'], 'include',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                       include_version)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    print "using prefix:", base_inst_paths['base']         
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -743,7 +744,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Build up substitution map
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    submap = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       '@provides@'                : provides,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      '@prefix@'                  : pj('${fp_file_cwd}', '..', '..'),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      '@prefix@'                  : base_inst_paths['base'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       '@exec_prefix@'             : '${prefix}',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       '@gmtl_cxxflags@'           : '',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       '@includedir@'              : base_inst_paths['include'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -760,9 +761,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                'gmtl.fpc.in', submap = submap)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    env.AddPostAction(gmtl_fpc, Chmod('$TARGET', 0644))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    env.Depends(gmtl_fpc, 'gmtl/Version.h')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   gmtl_pc = env.SubstBuilder(pj(base_inst_paths['pkgconfig'], "gmtl.pc"), 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                               'gmtl.fpc.in', submap = submap)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   env.AddPostAction(gmtl_pc, Chmod('$TARGET', 0o644))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   env.Depends(gmtl_pc, 'gmtl/Version.h')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    installed_targets += env.Install(base_inst_paths['bin'], 'gmtl-config')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    installed_targets += gmtl_fpc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   installed_targets += gmtl_pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    pkg.build()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    installed_targets += pkg.getInstalledTargets()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gmtl.fpc.in.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gmtl.fpc.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,3 +1,4 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++prefix=@prefix@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exec_prefix=@exec_prefix@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cxxflags=@gmtl_cxxflags@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ includedir=@includedir@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11,4 +12,4 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Libs:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Cflags: -I${includedir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Arch: @arch@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-prefix: @prefix@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++prefix: ${prefix}
</span></pre><pre style='margin:0'>

</pre>