<pre style='margin:0'>
Marius Schamschula (Schamschula) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/5356ed1a6d5b3352b36e67445cecd179317879a3">https://github.com/macports/macports-ports/commit/5356ed1a6d5b3352b36e67445cecd179317879a3</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 5356ed1a6d5 octave-1.0.tcl: add support for bitbucket, github and gitlab repos
</span>5356ed1a6d5 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 5356ed1a6d5b3352b36e67445cecd179317879a3
</span>Author: Marius Schamschula <mschamschula@gmail.com>
AuthorDate: Mon Feb 5 19:27:14 2024 -0600
<span style='display:block; white-space:pre;color:#404040;'> octave-1.0.tcl: add support for bitbucket, github and gitlab repos
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> This is backwards compatible and also supports sourceforge
</span><span style='display:block; white-space:pre;color:#404040;'> packages while linking to their new homepages on github
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/69210
</span>---
_resources/port1.0/group/octave-1.0.tcl | 91 ++++++++++++++++++++++++++-------
1 file changed, 73 insertions(+), 18 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/octave-1.0.tcl b/_resources/port1.0/group/octave-1.0.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 8c06c9bc956..7c957786f01 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/_resources/port1.0/group/octave-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/octave-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -6,11 +6,18 @@
</span> # Usage:
#
# PortGroup octave 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# octave.repo bitbucket, github, gitlab, or sourceforge
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# octave.author bitbucket, GitHub, gitlab author.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Value is ignored on sourceforge (use octave)
</span> # octave.module module
#
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# where module is the name of the module (e.g. communications)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# tag_prefix and tag_suffix are optional arguments
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# see the bitbucket, github, gitlab PortGroups for details.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# where module is the name of the module w/o the octave- prefix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# (e.g. communications)
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-options octave.module octave.config_h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options octave.author octave.module octave.config_h
</span>
# do not use this option unless absolutely necessary
# see comments below
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -18,43 +25,91 @@ options octave.module octave.config_h
</span> default octave.config_h {no}
# some header files from Octave require C++-11
<span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.cxx_standard 2011
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard 2011
</span> # error: field has incomplete type 'const octave::cdef_class'
PortGroup compiler_blacklist_versions 1.0
compiler.blacklist-append {clang < 700}
# see https://trac.macports.org/ticket/51643
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup muniversal 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup muniversal 1.0
</span> default universal_archs_supported {i386 x86_64}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-proc octave.setup {module version} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- global octave.module
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- octave.module ${module}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- version ${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc octave.setup {repo author {module ""} {version ""} {tag_prefix ""} {tag_suffix ""}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global octave.author octave.module
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$module eq ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # backward compatible behavior with two arguments: module version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ octave.module ${repo}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ version ${author}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default homepage https://gnu-octave.github.io/packages/${repo}/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default master_sites \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [list sourceforge:project/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sourceforge:octave]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # default behavior
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ octave.author ${author}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ octave.module ${module}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ version ${version}
</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;'>+ # handle repos
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ switch -- ${repo} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "bitbucket" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PortGroup bitbucket 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bitbucket.setup ${author} ${module} ${version} ${tag_prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bitbucket.tarball_from \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ downloads
</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;'>+ "github" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PortGroup github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.setup ${author} ${module} ${version} ${tag_prefix} ${tag_suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.tarball_from \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive
</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;'>+ "gitlab" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PortGroup gitlab 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gitlab.setup ${author} ${module} ${version} ${tag_prefix} ${tag_suffix}
</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;'>+ "sourceforge" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default homepage \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ https://gnu-octave.github.io/packages/${octave.module}/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default master_sites \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [list sourceforge:project/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sourceforge:octave]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
option_proc octave.module octave.set_module
proc octave.set_module {opt action args} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- global octave.module
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global octave.author octave.module
</span> if {$action eq "set"} {
name octave-${octave.module}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- homepage https://octave.sourceforge.io/${octave.module}/
</span> }
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-default categories "octave math science"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-default master_sites [list sourceforge:project/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sourceforge:octave]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-default distname {${octave.module}-${version}}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-default worksrcdir {${octave.module}}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default categories "octave math science"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default distname {${octave.module}-${version}}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default worksrcdir {${octave.module}}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # do not build in parallel; many can't, and these are small builds
# anyway, so no major need for this.
default use_parallel_build {no}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> default livecheck.type {regex}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-default livecheck.url {https://octave.sourceforge.io/${octave.module}/}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-default livecheck.regex {"package=${octave.module}-(\\\\d+(.\\\\d+)*)"}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default livecheck.url {https://gnu-octave.github.io/packages/${octave.module}/}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default livecheck.regex {"${octave.module}-(\\\\d+(.\\\\d+)*)"}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append path:bin/octave:octave
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append path:bin/octave:octave
</span> # do not force all Portfiles to switch from depends_lib to depends_lib-append
proc octave.add_dependencies {} {
depends_lib-delete path:bin/octave:octave
</pre><pre style='margin:0'>
</pre>