Hi Sean, The compilers PortGroup is currently only putting library dependencies on libgcc.
We hit a bug with octave today, where octave defaults to +gcc48, uses fortran. but does only build-depend on gcc48. That's fine when compiling from source (and not using port_cutleaves), but will fail blatantly when installing from binary archives. In that case, libgfortran will be missing the package broken. I've crafted a patch to fix that, but I'm not quite sure it's really fixing the issue. As you have a deeper understanding of the PortGroup, could you please take a look at it? Thanks in advance! Mihai
diff --git a/dports/_resources/port1.0/group/compilers-1.0.tcl
b/dports/_resources/port1.0/group/compilers-1.0.tcl
index 875c949..901ec9b 100644
--- a/dports/_resources/port1.0/group/compilers-1.0.tcl
+++ b/dports/_resources/port1.0/group/compilers-1.0.tcl
@@ -220,30 +220,39 @@ proc compilers.setup_variants {args} {
# disable archflags
if {"[info command configure.${compiler}_archflags]"
ne ""} {
configure.${compiler}_archflags
configure.ld_archflags
}
}]
}
}
+ set fortran_used ![compilers.is_c_only]
+
eval [subst {
variant ${variant} description \
{Build using the $cdb($variant,descrip) compiler} \
conflicts $c {
depends_build-append $cdb($variant,depends)
depends_lib-append $cdb($variant,dependsl)
depends_lib-delete $cdb($variant,dependsd)
depends_skip_archcheck $cdb($variant,dependsa)
+ # If also using fortran, we must register the compiler as
+ # a build dependency due to fortran libraries needed
+ # at run time.
+ if {$c_only} {
+ depends_lib-append $cdb($variant,depends)
+ }
+
$comp
}
}]
}
}
}
foreach variant ${compilers.gcc_variants} {
# we need to check the default_variants so we can't use variant_isset
if {[info exists variations($variant)] && $variations($variant) eq "+"} {
signature.asc
Description: OpenPGP digital signature
_______________________________________________ macports-dev mailing list [email protected] https://lists.macosforge.org/mailman/listinfo/macports-dev
