<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>