[licensecheck] 41/112: Emulate Regexp::Common -keep syntax to capture version number.

Jonas Smedegaard dr at jones.dk
Fri Nov 25 22:01:48 UTC 2016


This is an automated email from the git hooks/post-receive script.

js pushed a commit to branch master
in repository licensecheck.

commit ac92afe074d4798edbcfdbc3bc06679e2e06a346
Author: Jonas Smedegaard <dr at jones.dk>
Date:   Mon Nov 21 20:47:17 2016 +0100

    Emulate Regexp::Common -keep syntax to capture version number.
---
 lib/App/Licensecheck.pm | 42 +++++++++++++++++++++++-------------------
 1 file changed, 23 insertions(+), 19 deletions(-)

diff --git a/lib/App/Licensecheck.pm b/lib/App/Licensecheck.pm
index 20c9709..32c51e2 100755
--- a/lib/App/Licensecheck.pm
+++ b/lib/App/Licensecheck.pm
@@ -392,6 +392,10 @@ sub licensepatterns
 		$list{re}{$key} = $val->{pat};
 	}
 
+	# TODO: use Regexp::Common
+	$list{re}{version}{'-keep'}
+		= qr/$list{re}{version_prefix}?($list{re}{version_number})/i;
+
 	return %list;
 }
 
@@ -468,15 +472,15 @@ sub parse_license
 			$gplver      = " (v$1)";
 			@spdx_gplver = ($1)
 		}
-		when ( /GNU (?:Affero |Lesser |Library )?General Public License (?:as )?published by the Free Software Foundation[;,] $L{re}{version_prefix}?($L{re}{version_number})[.,]? /i ) {
+		when ( /GNU (?:Affero |Lesser |Library )?General Public License (?:as )?published by the Free Software Foundation[;,] $L{re}{version}{-keep}\b[.,]? /i ) {
 			$gplver      = " (v$1)";
 			@spdx_gplver = ($1);
 		}
-		when ( /GNU (?:Affero |Lesser |Library )?General Public License ?(?:[(),AGPL]+) ?$L{re}{version_prefix}?($L{re}{version_number})[ \.]/i ) {
+		when ( /GNU (?:Affero |Lesser |Library )?General Public License ?(?:[(),AGPL]+) ?$L{re}{version}{-keep}\b[ \.]/i ) {
 			$gplver      = " (v$1)";
 			@spdx_gplver = ($1);
 		}
-		when ( /either $L{re}{version_prefix}?($L{re}{version_number})(?: of the License)?, or (?:\(at your option\) )?any later version/ ) {
+		when ( /either $L{re}{version}{-keep}(?: of the License)?, or (?:\(at your option\) )?any later version/ ) {
 			$gplver      = " (v$1 or later)";
 			@spdx_gplver = ( $1 . '+' );
 		}
@@ -519,7 +523,7 @@ sub parse_license
 			push @spdx_license, $gen_spdx->('LGPL');
 		}
 		# For Perl modules handled by Dist::Zilla
-		when ( /this is free software,? licensed under:? (?:the )?(?:GNU (?:Library |Lesser )General Public License|LGPL),? $L{re}{version_prefix}?($L{re}{version_number})/i ) {
+		when ( /this is free software,? licensed under:? (?:the )?(?:GNU (?:Library |Lesser )General Public License|LGPL),? $L{re}{version}{-keep}/i ) {
 			$gen_license->( 'LGPL', $1 );
 		}
 	}
@@ -538,7 +542,7 @@ sub parse_license
 		when ( /means either [^.]+, the GNU Affero General Public License/i ) {
 			break;
 		}
-		when ( /AFFERO GENERAL PUBLIC LICENSE(?:,? $L{re}{version_prefix}?($L{re}{version_number})(,? or(?: any)? (?:later|newer))?)?/i ) {
+		when ( /AFFERO GENERAL PUBLIC LICENSE(?:,? $L{re}{version}{-keep}(,? or(?: any)? (?:later|newer))?)?/i ) {
 			$gen_license->( 'AGPL', $1, $2 );
 		}
 	}
@@ -571,7 +575,7 @@ sub parse_license
 				$license = "$L{caption}{$id} (v$1 or v$2) $license";
 				push @spdx_license, "$L{name}{$id}-$1 or $L{name}{$id}-$1";
 			}
-			when ( /$L{re}{$id}(?: $L{re}{version_prefix}?($L{re}{version_number})?)(?: License)?( (?:and|or)(?: \(at your option\))? any later(?: version)|[,.] Later versions are permitted)?(?:,? (?:and|or)(?: the)?(?:GNU)? (AGPL|GPL|LGPL)(?:-?($L{re}{version_number})( or later)?)?)?/i ) {
+			when ( /$L{re}{$id}(?: $L{re}{version}{-keep}?)(?: License)?( (?:and|or)(?: \(at your option\))? any later(?: version)|[,.] Later versions are permitted)?(?:,? (?:and|or)(?: the)?(?:GNU)? (AGPL|GPL|LGPL)(?:-?($L{re}{version_number})( or later)?)?)?/i ) {
 				$gen_license->( $id, $1, $2, $3, $4 );
 			}
 		}
@@ -665,10 +669,10 @@ sub parse_license
 
 	# MPL
 	given ($licensetext) {
-		when ( /Mozilla Public License,? $L{re}{version_prefix}?($L{re}{version_number})/ ) {
+		when ( /Mozilla Public License,? $L{re}{version}{-keep}/ ) {
 			$gen_license->( 'MPL', $1 );
 		}
-		when ( /Mozilla Public License,? \($L{re}{version_prefix}?($L{re}{version_number})\)/ ) {
+		when ( /Mozilla Public License,? \($L{re}{version}{-keep}\)/ ) {
 			$gen_license->( 'MPL', $1 );
 		}
 	}
@@ -734,19 +738,19 @@ sub parse_license
 
 	# Apache
 	given ($licensetext) {
-		when ( /Apache(?: Software)? License(?:,? $L{re}{version_prefix}?($L{re}{version_number})( or(?: any)? (?:later|newer))?)?(?:(?: or)? [^ ,]*?apache[^ ,]*| \([^(),]+\))*,? or(?: the)?(?:(?: GNU)? General Public License(?: \(GPL\))?|GPL)(?: $L{re}{version_prefix}?($L{re}{version_number})( or(?: any)? (?:later|newer))?)?/i ) {
+		when ( /Apache(?: Software)? License(?:,? $L{re}{version}{-keep}( or(?: any)? (?:later|newer))?)?(?:(?: or)? [^ ,]*?apache[^ ,]*| \([^(),]+\))*,? or(?: the)?(?:(?: GNU)? General Public License(?: \(GPL\))?|GPL)(?: $L{re}{version}{-keep}( or(?: any)? (?:later|newer))?)?/i ) {
 			$gen_license->( 'Apache', $1, $2, 'GPL', $3, $4 );
 		}
-		when ( /Apache(?: Software)? License(?:,? $L{re}{version_prefix}?($L{re}{version_number})( or(?: any)? (?:later|newer))?)?(?:(?: or)? [^ ,]*?apache[^ ,]*| \([^(),]\))*,? or(?: the)? bsd(?:[ -](\d)-clause)?\b/i ) {
+		when ( /Apache(?: Software)? License(?:,? $L{re}{version}{-keep}( or(?: any)? (?:later|newer))?)?(?:(?: or)? [^ ,]*?apache[^ ,]*| \([^(),]\))*,? or(?: the)? bsd(?:[ -](\d)-clause)?\b/i ) {
 			$gen_license->( 'Apache', $1, $2, "bsd_${3}_clause" );
 		}
-		when ( /Apache(?: Software)? License(?:,? $L{re}{version_prefix}?($L{re}{version_number})( or(?: any)? (?:later|newer))?)?(?:(?: or)? [^ ,]*?apache[^ ,]*| \([^(),]\))*,? or $L{re}{mit_new}\b/i ) {
+		when ( /Apache(?: Software)? License(?:,? $L{re}{version}{-keep}( or(?: any)? (?:later|newer))?)?(?:(?: or)? [^ ,]*?apache[^ ,]*| \([^(),]\))*,? or $L{re}{mit_new}\b/i ) {
 			$gen_license->( 'Apache', $1, $2, 'mit_new', $3, $4 );
 		}
-		when ( /Apache(?: Software)? License(?:,? $L{re}{version_prefix}?($L{re}{version_number})( or(?: any)? (?:later|newer))?)?(?:(?: or)? [^ ,]*?apache[^ ,]*| \([^(),]\))*,? or $L{re}{mit}\b/i ) {
+		when ( /Apache(?: Software)? License(?:,? $L{re}{version}{-keep}( or(?: any)? (?:later|newer))?)?(?:(?: or)? [^ ,]*?apache[^ ,]*| \([^(),]\))*,? or $L{re}{mit}\b/i ) {
 			$gen_license->( 'Apache', $1, $2, 'mit', $3, $4 );
 		}
-		when ( /Apache(?: Software)? License(?:,? $L{re}{version_prefix}?($L{re}{version_number})(,? or(?: any)? (?:later|newer))?)?/i ) {
+		when ( /Apache(?: Software)? License(?:,? $L{re}{version}{-keep}(,? or(?: any)? (?:later|newer))?)?/i ) {
 			$gen_license->( 'Apache', $1, $2 );
 		}
 		when ( m<https?www.apache.org/licenses(?:/LICENSE-($L{re}{version_number}))?>i ) {
@@ -837,7 +841,7 @@ sub parse_license
 
 	# CDDL
 	given ($licensetext) {
-		when ( /terms of the Common Development and Distribution License(?:,? $L{re}{version_prefix}?($L{re}{version_number}))?/ ) {
+		when ( /terms of the Common Development and Distribution License(?:,? $L{re}{version}{-keep})?/ ) {
 			$gen_license->( 'CDDL', $1 );
 		}
 	}
@@ -851,14 +855,14 @@ sub parse_license
 
 	# AFL
 	given ($licensetext) {
-		when ( /Licensed under the Academic Free License(?: $L{re}{version_prefix}?($L{re}{version_number}))?/ ) {
+		when ( /Licensed under the Academic Free License(?: $L{re}{version}{-keep})?/ ) {
 			$gen_license->( 'AFL', $1 );
 		}
 	}
 
 	# EPL
 	given ($licensetext) {
-		when ( /This program and the accompanying materials are made available under the terms of the Eclipse Public License(?:[ ,-]+$L{re}{version_prefix}?($L{re}{version_number}))?/ ) {
+		when ( /This program and the accompanying materials are made available under the terms of the Eclipse Public License(?:[ ,-]+$L{re}{version}{-keep})?/ ) {
 			$gen_license->( 'EPL', $1 );
 		}
 	}
@@ -868,7 +872,7 @@ sub parse_license
 		when ( /Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license \(the Software\)/ ) {
 			$gen_license->('BSL');
 		}
-		when ( /Boost Software License(?:[ ,-]+ $L{re}{version_prefix}?($L{re}{version_number}))?/i ) {
+		when ( /Boost Software License(?:[ ,-]+ $L{re}{version}{-keep})?/i ) {
 			$gen_license->( 'BSL', $1, $2 );
 		}
 	}
@@ -882,7 +886,7 @@ sub parse_license
 
 	# Python
 	given ($licensetext) {
-		when ( /PYTHON SOFTWARE FOUNDATION LICENSE(?:,? $L{re}{version_prefix}?($L{re}{version_number}))?/i ) {
+		when ( /PYTHON SOFTWARE FOUNDATION LICENSE(?:,? $L{re}{version}{-keep})?/i ) {
 			$gen_license->( 'Python', $1, $2 );
 		}
 	}
@@ -929,7 +933,7 @@ sub parse_license
 
 	# WTFPL
 	given ($licensetext) {
-		when ( /Do What The Fuck You Want To Public License,? $L{re}{version_prefix}?($L{re}{version_number})/i ) {
+		when ( /Do What The Fuck You Want To Public License,? $L{re}{version}{-keep}/i ) {
 			$gen_license->( 'WTFPL', $1 );
 		}
 	}

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/licensecheck.git



More information about the Pkg-perl-cvs-commits mailing list