[89004] trunk/base
jmr at macports.org
jmr at macports.org
Mon Jan 16 21:54:18 PST 2012
Revision: 89004
http://trac.macports.org/changeset/89004
Author: jmr at macports.org
Date: 2012-01-16 21:54:16 -0800 (Mon, 16 Jan 2012)
Log Message:
-----------
add license_noconflict option to allow maintainer to manually check license compatibility for some dependencies
Modified Paths:
--------------
trunk/base/doc/portfile.7
trunk/base/portmgr/jobs/port_binary_distributable.tcl
trunk/base/src/port1.0/portmain.tcl
Modified: trunk/base/doc/portfile.7
===================================================================
--- trunk/base/doc/portfile.7 2012-01-17 01:08:41 UTC (rev 89003)
+++ trunk/base/doc/portfile.7 2012-01-17 05:54:16 UTC (rev 89004)
@@ -449,6 +449,23 @@
.br
.Sy Example:
.Dl installs_libs no
+.It Ic license_noconflict
+By default, it is assumed that ports may use libraries or headers from their
+dependencies and thus form a derivative work. A dependency with an
+incompatible license thus prevents the port from being distributed in binary
+form. If a dependency with an incompatible license is not used in such a way
+that a derivative work is formed, or should not prevent binary distribution
+for any other reason, add its name to this list.
+.br
+.Sy Type:
+.Em optional
+.br
+.Sy Default:
+.Em none
+.br
+.Sy Example:
+.Dl license_noconflict openssl
+.Dl license_noconflict readline gdbm
.El
.Sh TARGET HOOKS
A number of hooks are available for customizing many of the standard
Modified: trunk/base/portmgr/jobs/port_binary_distributable.tcl
===================================================================
--- trunk/base/portmgr/jobs/port_binary_distributable.tcl 2012-01-17 01:08:41 UTC (rev 89003)
+++ trunk/base/portmgr/jobs/port_binary_distributable.tcl 2012-01-17 05:54:16 UTC (rev 89004)
@@ -133,6 +133,9 @@
# when in doubt, assume code from the dep is incorporated
lappend ret yes
}
+ if {[info exists portInfo(license_noconflict)]} {
+ lappend ret $portInfo(license_noconflict)
+ }
return $ret
}
@@ -151,6 +154,9 @@
array set portSeen {}
set top_info [infoForPort $portName $variantInfo]
set top_license [lindex $top_info 1]
+ foreach noconflict_port [lindex $top_info 3] {
+ set noconflict_ports($noconflict_port) 1
+ }
set top_license_names {}
# check that top-level port's license(s) are good
foreach sublist $top_license {
@@ -182,6 +188,9 @@
# mark as seen and remove from the list
set portSeen($aPort) 1
set portList [lreplace $portList 0 0]
+ if {[info exists noconflict_ports($aPort)]} {
+ continue
+ }
set aPortInfo [infoForPort $aPort $variantInfo]
set aPortLicense [lindex $aPortInfo 1]
Modified: trunk/base/src/port1.0/portmain.tcl
===================================================================
--- trunk/base/src/port1.0/portmain.tcl 2012-01-17 01:08:41 UTC (rev 89003)
+++ trunk/base/src/port1.0/portmain.tcl 2012-01-17 05:54:16 UTC (rev 89004)
@@ -53,7 +53,7 @@
platforms default_variants install.user install.group \
macosx_deployment_target universal_variant os.universal_supported \
supported_archs depends_skip_archcheck installs_libs \
- copy_log_files \
+ license_noconflict copy_log_files \
compiler.cpath compiler.library_path \
add_users
@@ -65,7 +65,7 @@
option_proc notes handle_option_string
# Export options via PortInfo
-options_export name version revision epoch categories maintainers platforms description long_description notes homepage license provides conflicts replaced_by installs_libs
+options_export name version revision epoch categories maintainers platforms description long_description notes homepage license provides conflicts replaced_by installs_libs license_noconflict
default subport {[portmain::get_default_subport]}
proc portmain::get_default_subport {} {
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20120116/779355fd/attachment.html>
More information about the macports-changes
mailing list