[1/3] lucy-clownfish git commit: Prepare for CV-in-stash optimization in Perl 5.28.

2017-11-14 Thread nwellnhof
Repository: lucy-clownfish
Updated Branches:
  refs/heads/0.6 5f6cb2448 -> 287f7ba06


Prepare for CV-in-stash optimization in Perl 5.28.

Perl 5.28 will start to store subroutines in stashes as coderefs.

See

https://rt.perl.org/Public/Bug/Display.html?id=129916
https://rt.perl.org/Public/Bug/Display.html?id=132252
https://perl5.git.perl.org/perl.git/commitdiff/7d65f652cb


Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/52531b78
Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/52531b78
Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/52531b78

Branch: refs/heads/0.6
Commit: 52531b7884c5e65561dd3340f73bfb752a6734b8
Parents: 5f6cb24
Author: Nick Wellnhofer 
Authored: Fri Oct 27 15:03:40 2017 +0200
Committer: Nick Wellnhofer 
Committed: Tue Nov 14 15:05:43 2017 +0100

--
 runtime/perl/lib/Clownfish.pm | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/52531b78/runtime/perl/lib/Clownfish.pm
--
diff --git a/runtime/perl/lib/Clownfish.pm b/runtime/perl/lib/Clownfish.pm
index b7e6e60..6cb38d9 100644
--- a/runtime/perl/lib/Clownfish.pm
+++ b/runtime/perl/lib/Clownfish.pm
@@ -80,9 +80,11 @@ sub error {$Clownfish::Err::error}
 my $stash = \%{"$package\::"};
 my $methods
 = Clownfish::Vector->new( capacity => scalar keys %$stash );
-while ( my ( $symbol, $glob ) = each %$stash ) {
-next if ref $glob;
-next unless *$glob{CODE};
+while ( my ( $symbol, $entry ) = each %$stash ) {
+# A subroutine is stored in the CODE slot of a typeglob. Since
+# Perl 5.28 it may also be stored as a coderef.
+next unless ref($entry) eq 'CODE'
+|| ( ref(\$entry) eq 'GLOB' && *$entry{CODE} );
 $methods->push( Clownfish::String->new($symbol) );
 }
 return $methods;



[2/3] lucy-clownfish git commit: Fix Travis Perl versions

2017-11-14 Thread nwellnhof
Fix Travis Perl versions

The Perl versions available under Travis have changed and many older
releases were removed. Make perlbrew build releases that aren't
installed. Reduce the number of tested versions, but add test with
blead.


Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/2bb466f2
Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/2bb466f2
Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/2bb466f2

Branch: refs/heads/0.6
Commit: 2bb466f227317877f6d40b22b000202bb812a2fb
Parents: 52531b7
Author: Nick Wellnhofer 
Authored: Tue Nov 14 14:09:06 2017 +0100
Committer: Nick Wellnhofer 
Committed: Tue Nov 14 15:05:48 2017 +0100

--
 .travis.yml  | 9 +++--
 devel/bin/travis-test.sh | 3 ++-
 2 files changed, 5 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/2bb466f2/.travis.yml
--
diff --git a/.travis.yml b/.travis.yml
index 7bd87b7..f2d18e2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -22,13 +22,10 @@ matrix:
   include:
 - env: CLOWNFISH_HOST=c
 - env: CLOWNFISH_HOST=go
-- env: CLOWNFISH_HOST=perl PERL_VERSION=5.20-extras
-- env: CLOWNFISH_HOST=perl PERL_VERSION=5.18-extras
-- env: CLOWNFISH_HOST=perl PERL_VERSION=5.16
+- env: CLOWNFISH_HOST=perl PERL_VERSION=blead
+- env: CLOWNFISH_HOST=perl PERL_VERSION=5.24-extras
 - env: CLOWNFISH_HOST=perl PERL_VERSION=5.14
-- env: CLOWNFISH_HOST=perl PERL_VERSION=5.12
-- env: CLOWNFISH_HOST=perl PERL_VERSION=5.10
-- env: CLOWNFISH_HOST=perl PERL_VERSION=5.8
+- env: CLOWNFISH_HOST=perl PERL_VERSION=5.8.3
 #- env: CLOWNFISH_HOST=python
 #  addons:
 #apt:

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/2bb466f2/devel/bin/travis-test.sh
--
diff --git a/devel/bin/travis-test.sh b/devel/bin/travis-test.sh
index a41c7e6..226d1b1 100755
--- a/devel/bin/travis-test.sh
+++ b/devel/bin/travis-test.sh
@@ -32,8 +32,9 @@ test_c() {
 
 test_perl() {
 source ~/perl5/perlbrew/etc/bashrc
-perlbrew switch $PERL_VERSION
 perlbrew list
+perlbrew switch $PERL_VERSION ||
+perlbrew install --switch --notest --noman --thread $PERL_VERSION
 cd compiler/perl
 cpanm --quiet --installdeps --notest .
 perl Build.PL



lucy-clownfish git commit: Add sha512 explicit algorithm to file extension

2017-11-14 Thread nwellnhof
Repository: lucy-clownfish
Updated Branches:
  refs/heads/master 120ece10e -> e96564cdb


Add sha512 explicit algorithm to file extension


Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/e96564cd
Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/e96564cd
Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/e96564cd

Branch: refs/heads/master
Commit: e96564cdb861f6886375b204261c8911841496c4
Parents: 120ece1
Author: Nick Wellnhofer 
Authored: Tue Nov 14 15:09:14 2017 +0100
Committer: Nick Wellnhofer 
Committed: Tue Nov 14 15:09:41 2017 +0100

--
 devel/bin/release_commands.pl | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/e96564cd/devel/bin/release_commands.pl
--
diff --git a/devel/bin/release_commands.pl b/devel/bin/release_commands.pl
index 9d0e993..f824379 100755
--- a/devel/bin/release_commands.pl
+++ b/devel/bin/release_commands.pl
@@ -106,7 +106,7 @@ say qq|perl -MDigest -e '\$d = Digest->new("SHA-512"); open 
\$fh, |
 . qq|"addfile(\$fh); print \$d->hexdigest; |
 . qq|print "  apache-clownfish-$x_y_z_version.tar.gz\\n"' > |
-. qq| apache-clownfish-$x_y_z_version.tar.gz.sha\n|;
+. qq| apache-clownfish-$x_y_z_version.tar.gz.sha512\n|;
 
 say qq|# Sign the release.|;
 say qq|gpg --armor --output apache-clownfish-$x_y_z_version.tar.gz.asc |
@@ -116,7 +116,7 @@ say qq|# Add the artifacts and commit to the dev area on 
dist.apache.org.|;
 say qq|svn add |
 . qq|apache-clownfish-$x_y_z_version.tar.gz |
 . qq|apache-clownfish-$x_y_z_version.tar.gz.md5 |
-. qq|apache-clownfish-$x_y_z_version.tar.gz.sha |
+. qq|apache-clownfish-$x_y_z_version.tar.gz.sha512 |
 . qq|apache-clownfish-$x_y_z_version.tar.gz.asc |
 . qq|CHANGES-$x_y_z_version.txt |;
 say qq|svn ci -m "Add apache-clownfish-$x_y_z_version artifacts"\n|;
@@ -161,8 +161,8 @@ say qq|svnmucc -m "Publish Apache Clownfish $x_y_z_version" 
|
 . qq|release/lucy/clownfish/apache-clownfish-$x_y_z_version.tar.gz |
 . qq|mv 
dev/lucy/clownfish/apache-clownfish-$full_rc_version/apache-clownfish-$x_y_z_version.tar.gz.md5
 |
 . qq|release/lucy/clownfish/apache-clownfish-$x_y_z_version.tar.gz.md5 |
-. qq|mv 
dev/lucy/clownfish/apache-clownfish-$full_rc_version/apache-clownfish-$x_y_z_version.tar.gz.sha
 |
-. qq|release/lucy/clownfish/apache-clownfish-$x_y_z_version.tar.gz.sha |
+. qq|mv 
dev/lucy/clownfish/apache-clownfish-$full_rc_version/apache-clownfish-$x_y_z_version.tar.gz.sha512
 |
+. qq|release/lucy/clownfish/apache-clownfish-$x_y_z_version.tar.gz.sha512 |
 . qq|mv 
dev/lucy/clownfish/apache-clownfish-$full_rc_version/apache-clownfish-$x_y_z_version.tar.gz.asc
 |
 . qq|release/lucy/clownfish/apache-clownfish-$x_y_z_version.tar.gz.asc |
 . qq|mv 
dev/lucy/clownfish/apache-clownfish-$full_rc_version/CHANGES-$x_y_z_version.txt 
|
@@ -179,7 +179,7 @@ if ( $micro > 0 ) {
 . qq|-U https://dist.apache.org/repos/dist/release/lucy/clownfish |
 . qq|rm apache-clownfish-$prev.tar.gz |
 . qq|rm apache-clownfish-$prev.tar.gz.md5 |
-. qq|rm apache-clownfish-$prev.tar.gz.sha |
+. qq|rm apache-clownfish-$prev.tar.gz.sha512 |
 . qq|rm apache-clownfish-$prev.tar.gz.asc |
 . qq|rm CHANGES-$prev.txt |;
 }



[3/3] lucy-clownfish git commit: Add sha512 explicit algorithm to file extension

2017-11-14 Thread nwellnhof
Add sha512 explicit algorithm to file extension


Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/287f7ba0
Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/287f7ba0
Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/287f7ba0

Branch: refs/heads/0.6
Commit: 287f7ba063caf1f4141ea7199d56387a3405bdc4
Parents: 2bb466f
Author: Nick Wellnhofer 
Authored: Tue Nov 14 15:09:14 2017 +0100
Committer: Nick Wellnhofer 
Committed: Tue Nov 14 15:09:14 2017 +0100

--
 devel/bin/release_commands.pl | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/287f7ba0/devel/bin/release_commands.pl
--
diff --git a/devel/bin/release_commands.pl b/devel/bin/release_commands.pl
index 9d0e993..f824379 100755
--- a/devel/bin/release_commands.pl
+++ b/devel/bin/release_commands.pl
@@ -106,7 +106,7 @@ say qq|perl -MDigest -e '\$d = Digest->new("SHA-512"); open 
\$fh, |
 . qq|"addfile(\$fh); print \$d->hexdigest; |
 . qq|print "  apache-clownfish-$x_y_z_version.tar.gz\\n"' > |
-. qq| apache-clownfish-$x_y_z_version.tar.gz.sha\n|;
+. qq| apache-clownfish-$x_y_z_version.tar.gz.sha512\n|;
 
 say qq|# Sign the release.|;
 say qq|gpg --armor --output apache-clownfish-$x_y_z_version.tar.gz.asc |
@@ -116,7 +116,7 @@ say qq|# Add the artifacts and commit to the dev area on 
dist.apache.org.|;
 say qq|svn add |
 . qq|apache-clownfish-$x_y_z_version.tar.gz |
 . qq|apache-clownfish-$x_y_z_version.tar.gz.md5 |
-. qq|apache-clownfish-$x_y_z_version.tar.gz.sha |
+. qq|apache-clownfish-$x_y_z_version.tar.gz.sha512 |
 . qq|apache-clownfish-$x_y_z_version.tar.gz.asc |
 . qq|CHANGES-$x_y_z_version.txt |;
 say qq|svn ci -m "Add apache-clownfish-$x_y_z_version artifacts"\n|;
@@ -161,8 +161,8 @@ say qq|svnmucc -m "Publish Apache Clownfish $x_y_z_version" 
|
 . qq|release/lucy/clownfish/apache-clownfish-$x_y_z_version.tar.gz |
 . qq|mv 
dev/lucy/clownfish/apache-clownfish-$full_rc_version/apache-clownfish-$x_y_z_version.tar.gz.md5
 |
 . qq|release/lucy/clownfish/apache-clownfish-$x_y_z_version.tar.gz.md5 |
-. qq|mv 
dev/lucy/clownfish/apache-clownfish-$full_rc_version/apache-clownfish-$x_y_z_version.tar.gz.sha
 |
-. qq|release/lucy/clownfish/apache-clownfish-$x_y_z_version.tar.gz.sha |
+. qq|mv 
dev/lucy/clownfish/apache-clownfish-$full_rc_version/apache-clownfish-$x_y_z_version.tar.gz.sha512
 |
+. qq|release/lucy/clownfish/apache-clownfish-$x_y_z_version.tar.gz.sha512 |
 . qq|mv 
dev/lucy/clownfish/apache-clownfish-$full_rc_version/apache-clownfish-$x_y_z_version.tar.gz.asc
 |
 . qq|release/lucy/clownfish/apache-clownfish-$x_y_z_version.tar.gz.asc |
 . qq|mv 
dev/lucy/clownfish/apache-clownfish-$full_rc_version/CHANGES-$x_y_z_version.txt 
|
@@ -179,7 +179,7 @@ if ( $micro > 0 ) {
 . qq|-U https://dist.apache.org/repos/dist/release/lucy/clownfish |
 . qq|rm apache-clownfish-$prev.tar.gz |
 . qq|rm apache-clownfish-$prev.tar.gz.md5 |
-. qq|rm apache-clownfish-$prev.tar.gz.sha |
+. qq|rm apache-clownfish-$prev.tar.gz.sha512 |
 . qq|rm apache-clownfish-$prev.tar.gz.asc |
 . qq|rm CHANGES-$prev.txt |;
 }



[2/2] lucy-clownfish git commit: Fix Travis Perl versions

2017-11-14 Thread nwellnhof
Fix Travis Perl versions

The Perl versions available under Travis have changed and many older
releases were removed. Make perlbrew build releases that aren't
installed. Reduce the number of tested versions, but add test with
blead.


Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/120ece10
Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/120ece10
Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/120ece10

Branch: refs/heads/master
Commit: 120ece10e6bb414607a594cbafd398b4fc49a3a9
Parents: f30ed78
Author: Nick Wellnhofer 
Authored: Tue Nov 14 14:09:06 2017 +0100
Committer: Nick Wellnhofer 
Committed: Tue Nov 14 15:04:25 2017 +0100

--
 .travis.yml  | 9 +++--
 devel/bin/travis-test.sh | 3 ++-
 2 files changed, 5 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/120ece10/.travis.yml
--
diff --git a/.travis.yml b/.travis.yml
index 3c150d5..53f7736 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -28,13 +28,10 @@ matrix:
 - gcc-arm-linux-gnueabihf
 - libc6-dev-armhf-cross
 - env: CLOWNFISH_HOST=go
-- env: CLOWNFISH_HOST=perl PERL_VERSION=5.20-extras
-- env: CLOWNFISH_HOST=perl PERL_VERSION=5.18-extras
-- env: CLOWNFISH_HOST=perl PERL_VERSION=5.16
+- env: CLOWNFISH_HOST=perl PERL_VERSION=blead
+- env: CLOWNFISH_HOST=perl PERL_VERSION=5.24-extras
 - env: CLOWNFISH_HOST=perl PERL_VERSION=5.14
-- env: CLOWNFISH_HOST=perl PERL_VERSION=5.12
-- env: CLOWNFISH_HOST=perl PERL_VERSION=5.10
-- env: CLOWNFISH_HOST=perl PERL_VERSION=5.8
+- env: CLOWNFISH_HOST=perl PERL_VERSION=5.8.3
 #- env: CLOWNFISH_HOST=python
 #  addons:
 #apt:

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/120ece10/devel/bin/travis-test.sh
--
diff --git a/devel/bin/travis-test.sh b/devel/bin/travis-test.sh
index f96f779..78750eb 100755
--- a/devel/bin/travis-test.sh
+++ b/devel/bin/travis-test.sh
@@ -36,8 +36,9 @@ test_c() {
 
 test_perl() {
 source ~/perl5/perlbrew/etc/bashrc
-perlbrew switch $PERL_VERSION
 perlbrew list
+perlbrew switch $PERL_VERSION ||
+perlbrew install --switch --notest --noman --thread $PERL_VERSION
 cd compiler/perl
 cpanm --quiet --installdeps --notest .
 perl Build.PL



[1/2] lucy-clownfish git commit: Prepare for CV-in-stash optimization in Perl 5.28.

2017-11-14 Thread nwellnhof
Repository: lucy-clownfish
Updated Branches:
  refs/heads/master 3b8ace378 -> 120ece10e


Prepare for CV-in-stash optimization in Perl 5.28.

Perl 5.28 will start to store subroutines in stashes as coderefs.

See

https://rt.perl.org/Public/Bug/Display.html?id=129916
https://rt.perl.org/Public/Bug/Display.html?id=132252
https://perl5.git.perl.org/perl.git/commitdiff/7d65f652cb


Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/f30ed78a
Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/f30ed78a
Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/f30ed78a

Branch: refs/heads/master
Commit: f30ed78acd52df8425914b618430fe8816f226c8
Parents: 3b8ace3
Author: Nick Wellnhofer 
Authored: Fri Oct 27 15:03:40 2017 +0200
Committer: Nick Wellnhofer 
Committed: Tue Nov 14 13:43:19 2017 +0100

--
 runtime/perl/lib/Clownfish.pm | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/f30ed78a/runtime/perl/lib/Clownfish.pm
--
diff --git a/runtime/perl/lib/Clownfish.pm b/runtime/perl/lib/Clownfish.pm
index 8873e4b..3209be2 100644
--- a/runtime/perl/lib/Clownfish.pm
+++ b/runtime/perl/lib/Clownfish.pm
@@ -80,9 +80,11 @@ sub error {$Clownfish::Err::error}
 my $stash = \%{"$package\::"};
 my $methods
 = Clownfish::Vector->new( capacity => scalar keys %$stash );
-while ( my ( $symbol, $glob ) = each %$stash ) {
-next if ref $glob;
-next unless *$glob{CODE};
+while ( my ( $symbol, $entry ) = each %$stash ) {
+# A subroutine is stored in the CODE slot of a typeglob. Since
+# Perl 5.28 it may also be stored as a coderef.
+next unless ref($entry) eq 'CODE'
+|| ( ref(\$entry) eq 'GLOB' && *$entry{CODE} );
 $methods->push( Clownfish::String->new($symbol) );
 }
 return $methods;