<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/e092e4cda094ab7f33c4107a53f41af56d82195f">https://github.com/macports/macports-ports/commit/e092e4cda094ab7f33c4107a53f41af56d82195f</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit e092e4cda094ab7f33c4107a53f41af56d82195f
</span>Author: Vadim-Valdis Yudaev <judaew@macports.org>
AuthorDate: Wed Dec 8 00:51:23 2021 +0200

<span style='display:block; white-space:pre;color:#404040;'>    crossgdb PG: New PortGroup
</span>---
 _resources/port1.0/group/crossgdb-1.0.tcl | 170 ++++++++++++++++++++++++++++++
 1 file changed, 170 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/crossgdb-1.0.tcl b/_resources/port1.0/group/crossgdb-1.0.tcl
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..aadd30eeaa5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/crossgdb-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,170 @@
</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><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This PortGroup automatically sets all the fields of the various cross gdb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# ports (e.g. arm-none-eabi-gdb).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Usage:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   PortGroup           crossgdb 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   crossgdb.setup      arm-none-eabi 11.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options crossgdb.target
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+array set crossgdb.version_info {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    11.1 {xz {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        rmd160  da07d7504be6c7d11c98751e0cbef75685daceba \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        sha256  cccfcc407b20d343fb320d4a9a2110776dd3165118ffd41f4b1b162340333f94 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        size    22040696
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc crossgdb.setup {target version} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global crossgdb.target crossgdb.version crossgdb.version_info
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set crossgdb.target ${target}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set crossgdb.version ${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    uplevel {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        name                ${crossgdb.target}-gdb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        version             ${crossgdb.version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        categories          cross devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        platforms           darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        license             GPL-3+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        description         GDB: The GNU Project Debugger for ${crossgdb.target}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        long_description    {*}${description}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        homepage            https://www.gnu.org/software/gdb/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        master_sites        gnu:gdb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[info exists crossgdb.version_info(${version})]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            use_[lindex [set crossgdb.version_info(${version})] 0] yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            checksums gdb-${version}${extract.suffix} {*}[lindex [set crossgdb.version_info(${version})] 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # the old default
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            use_bzip2       yes
</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;'>+        dist_subdir         gdb[lindex [split ${version} .] 0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        distfiles           gdb-${version}${extract.suffix}:gdb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        worksrcdir          gdb-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # These dependencies are listed under depends_lib rather than
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # depends_build because gdb will link with libraries they provide if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # installed. There may be more. See variable host_libs in configure.ac.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # port:guile should also be a dependency, but currently does not build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # universally.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # https://trac.macports.org/ticket/48767
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib-append  port:${crossgdb.target}-gcc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            port:boehmgc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            port:expat \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            port:gmp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            port:libiconv \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            port:ncurses \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            port:zlib
</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;'>+            # Fix the info pages and related stuff.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # path:     path to the doc directory (e.g. gas/doc/)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # makefile: path to Makefile.in (e.g. gas/doc/Makefile.in)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # name:     name of the info page (e.g. as)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # suffix:   suffix of the source page (texinfo or texi)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            #   path        makefile                name        suffix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set infopages {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                bfd/doc     bfd/doc/Makefile.in     bfd         texi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                gdb/doc     gdb/doc/Makefile.in     annotate    texinfo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                gdb/doc     gdb/doc/Makefile.in     gdb         texinfo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                gdb/doc     gdb/doc/Makefile.in     stabs       texinfo
</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;'>+            foreach { path makefile name suffix } ${infopages} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set src      ${worksrcpath}/${path}/${name}.${suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set makefile ${worksrcpath}/${makefile}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # If the makefile doesn't exists, skip it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if { ! [file exists ${makefile}] } {continue}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # Fix the source
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                reinplace -q "s|setfilename ${name}.info|setfilename ${crossgdb.target}-${name}.info|g" ${src}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                reinplace -q "s|(${name})|(${crossgdb.target}-${name})|g" ${src}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                reinplace -q "s|@file{${name}}|@file{${crossgdb.target}-${name}}|g" ${src}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # Rename the source
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                file rename ${worksrcpath}/${path}/${name}.${suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${worksrcpath}/${path}/${crossgdb.target}-${name}.${suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # Fix the Makefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                reinplace -q -E "s:\[\[:<:\]\]${name}\\.(info|pod|${suffix}):${crossgdb.target}-&:g" ${makefile}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # Fix install-info's dir.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # (note: this may be effectless if there was no info dir to be fixed)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                reinplace -q "s|--info-dir=\$(DESTDIR)\$(infodir)|--dir-file=\$(DESTDIR)\$(infodir)/${crossgdb.target}-gdb-dir|g" ${makefile}
</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;'>+            # Do not install libiberty
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace -q {/^install:/s/ .*//} ${worksrcpath}/libiberty/Makefile.in
</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;'>+        # Needs C++11; halfway redundant due to the blacklist above, but make
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # sure selected compiler supports the standard - getting rid of old
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Apple GCC versions and the like?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        compiler.cxx_standard 2011
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.dir       ${workpath}/build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.cmd       ${worksrcpath}/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args      --target=${crossgdb.target} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            --infodir=${prefix}/share/info \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            --mandir=${prefix}/share/man \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            --with-docdir=${prefix}/share/doc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            --with-gdb-datadir=${prefix}/share/${name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            --without-guile \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            --without-python \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            --disable-werror
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        pre-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file mkdir ${configure.dir}
</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;'>+        build.dir ${configure.dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # this port installs files to ${prefix}/${crossgdb.target}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        destroot.violate_mtree yes
</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;'>+            # Avoid conflicts with ${crossgdb.target}-binutils port
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file delete ${destroot}${prefix}/share/info/${crossgdb.target}-bfd.info
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # Avoid conflicts with gdb, also see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # https://trac.macports.org/ticket/43098
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file delete -force ${destroot}${prefix}/share/locale
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file delete -force ${destroot}${prefix}/include/gdb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # Avoid conflicts with another crossgdb ports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            move ${destroot}${prefix}/include/sim \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${destroot}${prefix}/include/${crossgdb.target}-sim
</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;'>+        notes "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The header files for sim have been moved to avoid conflicts with other
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cross gdb ports. The files are located in the following path:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ${prefix}/include/${crossgdb.target}-sim
</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;'>+        if {${os.platform} eq "darwin" && ${os.major} >= 12} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            notes-append "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+You will need to codesign ${prefix}/bin/${crossgdb.target}-gdb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+See https://sourceware.org/gdb/wiki/BuildingOnDarwin#Giving_gdb_permission_to_control_other_processes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+for more information.
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        livecheck.type  regex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        livecheck.url   https://ftp.gnu.org/gnu/gdb/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        livecheck.regex gdb-(\\d+(?:\\.\\d+)+)\\.tar
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span></pre><pre style='margin:0'>

</pre>