(travis) Bump to Cperl 5.22.2
Peter Rabbitson [Thu, 19 May 2016 14:49:41 +0000 (16:49 +0200)]
@miyagawa++ # YAML api - allows for trivial grep/sed slicing and dicing

Read under -w

.travis.yml
maint/travis-ci_scripts/20_install.bash
maint/travis-ci_scripts/30_before_script.bash

index 93ec06b..fe1c571 100644 (file)
@@ -206,7 +206,8 @@ matrix:
 
     # MAKE SURE TO KEEP THE FLAGS IDENTICAL TO CPERL BELOW
     # allows for easier side-by-side comparison
-    - perl: "5.22.1_thr_qm"
+    # vcpu=1 for even more stable results
+    - perl: "5.22.2_thr_qm"
       # explicit new infra spec preparing for a future forced upgrade
       # also need to pull in a sufficiently new compiler for quadmath.h
       sudo: required
@@ -216,7 +217,7 @@ matrix:
         - CLEANTEST=true
         - POISON_ENV=true
         - MVDT=false
-        - BREWVER=5.22.1
+        - BREWVER=5.22.2
         - BREWOPTS="-Duseithreads -Dusequadmath"
 
     ###
@@ -224,18 +225,18 @@ matrix:
 
     # MAKE SURE TO KEEP THE FLAGS IDENTICAL TO STOCK 5.22.1 ABOVE
     # allows for easier side-by-side comparison
-    - perl: "cperl-5.22.1_thr_qm"
+    # vcpu=1 for even more stable results
+    - perl: "cperl-5.22.2_thr_qm"
       # explicit new infra spec preparing for a future forced upgrade
       # also need to pull in a sufficiently new compiler for quadmath.h
       sudo: required
       dist: trusty
       env:
-        # FIXME - work around https://github.com/perl11/cperl/issues/131
         - VCPU_USE=1
         - CLEANTEST=true
         - POISON_ENV=true
         - MVDT=false
-        - BREWVER=cperl-5.22.1
+        - BREWVER=cperl-5.22.2
         - BREWOPTS="-Duseithreads -Dusequadmath"
 
     # threaded oldest possible with blead CPAN
@@ -348,7 +349,7 @@ matrix:
   allow_failures:
 
     # these run with various dev snapshots - allowed to fail
-    - perl: cperl-5.22.1_thr_qm
+    - perl: cperl-5.22.2_thr_qm
     - perl: devcpan_5.8.1_thr_mb
     - perl: devcpan_5.8.1
     - perl: devcpan_5.8.3_mb
index 7628b4a..d5d3481 100755 (executable)
@@ -4,7 +4,7 @@ if [[ -n "$SHORT_CIRCUIT_SMOKE" ]] ; then return ; fi
 
 # we need a mirror that both has the standard index and a backpan version rolled
 # into one, due to MDV testing
-CPAN_MIRROR="http://cpan.metacpan.org/"
+export CPAN_MIRROR="http://cpan.metacpan.org/"
 
 PERL_CPANM_OPT="$PERL_CPANM_OPT --mirror $CPAN_MIRROR"
 
@@ -42,6 +42,11 @@ if [[ -n "$BREWVER" ]] ; then
   run_or_err "Compiling/installing Perl $BREWVER (without testing, using ${perlbrew_jopt:-1} threads, may take up to 5 minutes)" \
     "perlbrew install --as $BREWVER --notest --noman --verbose $BREWOPTS -j${perlbrew_jopt:-1}  $BREWSRC"
 
+  # FIXME work around https://github.com/perl11/cperl/issues/144
+  if is_cperl && ! [[ -f ~/perl5/perlbrew/perls/$BREWVER/bin/perl ]] ; then
+    ln -s ~/perl5/perlbrew/perls/$BREWVER/bin/cperl ~/perl5/perlbrew/perls/$BREWVER/bin/perl
+  fi
+
   # can not do 'perlbrew use' in the run_or_err subshell above, or a $()
   # furthermore some versions of `perlbrew use` return 0 regardless of whether
   # the perl is found (won't be there unless compilation suceeded, wich *ALSO* returns 0)
@@ -128,17 +133,21 @@ if [[ "$POISON_ENV" = "true" ]] ; then
 
 
 ### emulate a local::lib-like env
-  # trick cpanm into executing true as shell - we just need the find+unpack
-  run_or_err "Downloading latest stable DBIC from CPAN" \
-    "SHELL=/bin/true cpanm --look DBIx::Class"
 
-  # move it somewhere as following cpanm will clobber it
-  run_or_err "Moving latest stable DBIC from CPAN to /tmp" "mv ~/.cpanm/latest-build/DBIx-Class-*/lib /tmp/stable_dbic_lib"
+  # FIXME - work around https://github.com/perl11/cperl/issues/145
+  if ! is_cperl ; then
+    # trick cpanm into executing true as shell - we just need the find+unpack
+    run_or_err "Downloading latest stable DBIC from CPAN" \
+      "SHELL=/bin/true cpanm --look DBIx::Class"
 
-  export PERL5LIB="/tmp/stable_dbic_lib:$PERL5LIB"
+    # move it somewhere as following cpanm will clobber it
+    run_or_err "Moving latest stable DBIC from CPAN to /tmp" "mv ~/.cpanm/latest-build/DBIx-Class-*/lib /tmp/stable_dbic_lib"
 
-  # perldoc -l <mod> searches $(pwd)/lib in addition to PERL5LIB etc, hence the cd /
-  echo_err "Latest stable DBIC (without deps) locatable via \$PERL5LIB at $(cd / && perldoc -l DBIx::Class)"
+    export PERL5LIB="/tmp/stable_dbic_lib:$PERL5LIB"
+
+    # perldoc -l <mod> searches $(pwd)/lib in addition to PERL5LIB etc, hence the cd /
+    echo_err "Latest stable DBIC (without deps) locatable via \$PERL5LIB at $(cd / && perldoc -l DBIx::Class)"
+  fi
 
 fi
 
index bc0e9fb..2a8b0d7 100755 (executable)
@@ -13,6 +13,7 @@ fi
 
 # Need a shitton of patches to run on cperl (luckily all provided)
 # Also need to have YAML in place, otherwise the distroprefs are not readable
+# (cperl 5.22.2 comes with YAML already)
 if is_cperl ; then
 
   run_or_err "Downloading and installing cperl distroprefs" '
@@ -20,7 +21,7 @@ if is_cperl ; then
     tar -C $HOME/.cpan --strip-components 1 -zx distroprefs-master/prefs distroprefs-master/sources
   '
 
-  installdeps YAML
+  perl -M5.022002 -e1 &>/dev/null || installdeps YAML
 
 fi
 
@@ -84,11 +85,23 @@ if [[ "$CLEANTEST" = "true" ]]; then
   # we build are guaranteed to be clean, without side
   # effects from travis preinstalls)
 
-  # trick cpanm into executing true as shell - we just need the find+unpack
-  [[ -d ~/.cpanm/latest-build/DBIx-Class-*/inc ]] || run_or_err "Downloading latest stable DBIC inc/ from CPAN" \
-    "SHELL=/bin/true cpanm --look DBIx::Class"
+  # work around https://github.com/perl11/cperl/issues/145 (no cpanm)
+  if is_cperl ; then
 
-  mv ~/.cpanm/latest-build/DBIx-Class-*/inc .
+    wget -qO- $( wget -qO- http://cpanmetadb.plackperl.org/v1.0/package/DBIx::Class | grep distfile | sed "s|distfile:\s*|$CPAN_MIRROR/authors/id/|" ) \
+  | tar -zx --strip-components 1 --wildcards '*/inc'
+
+    # FIXME - kill this when M::I is gone
+    # Argh -DFORTIFY_INC!!!
+    export PERL5LIB="$PERL5LIB:."
+
+  else
+    # trick cpanm into executing true as shell - we just need the find+unpack
+    [[ -d ~/.cpanm/latest-build/DBIx-Class-*/inc ]] || run_or_err "Downloading latest stable DBIC inc/ from CPAN" \
+      "SHELL=/bin/true cpanm --look DBIx::Class"
+
+    mv ~/.cpanm/latest-build/DBIx-Class-*/inc .
+  fi
 
   # The first CPAN which is somewhat sane is around 1.94_56 (perl 5.12)
   # The problem is that the first sane version also brings a *lot* of