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