[arch-commits] Commit in vagrant-substrate/trunk (3 files)

Jonathan Steel jsteel at archlinux.org
Mon Jul 10 20:27:04 UTC 2017


    Date: Monday, July 10, 2017 @ 20:27:02
  Author: jsteel
Revision: 243785

upgpkg: vagrant-substrate 718.205e64c-1

Added:
  vagrant-substrate/trunk/puppet_module_ruby.patch
  vagrant-substrate/trunk/ruby23_gcc7.patch
Modified:
  vagrant-substrate/trunk/PKGBUILD

--------------------------+
 PKGBUILD                 |   18 +++++++++++-----
 puppet_module_ruby.patch |   24 ++++++++++++++++++++++
 ruby23_gcc7.patch        |   49 +++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 85 insertions(+), 6 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2017-07-10 19:50:12 UTC (rev 243784)
+++ PKGBUILD	2017-07-10 20:27:02 UTC (rev 243785)
@@ -2,17 +2,21 @@
 
 pkgname=vagrant-substrate
 _pkgname=vagrant-installers
-pkgver=605.0566498
-pkgrel=3
+pkgver=718.205e64c
+pkgrel=1
 pkgdesc="Substrate layer for Vagrant"
 arch=('i686' 'x86_64')
 url="http://vagrantup.com"
 license=('MIT')
 options=('!emptydirs' '!makeflags')
-makedepends=('git' 'puppet' 'chrpath' 'wget')
+makedepends=('git' 'puppet' 'chrpath' 'wget' 'go')
 depends=('lzo')
-source=(git://github.com/mitchellh/$_pkgname.git#commit=0566498)
-md5sums=('SKIP')
+source=(git://github.com/mitchellh/$_pkgname.git#commit=205e64c
+        ruby23_gcc7.patch
+        puppet_module_ruby.patch)
+md5sums=('SKIP'
+         '6e3db41f8918479dd408b8557c3a1ea1'
+         '599a72704b0d0deb6a728ff84a047e6f')
 
 pkgver() {
   cd $_pkgname
@@ -45,10 +49,12 @@
 
   # Fix compile issues
   # https://github.com/mitchellh/vagrant-installers/issues/60
-  sed -i '19 s/-I/-O2 -I/' modules/vagrant_substrate/manifests/staging/posix.pp
+  sed -i '20 s/-I/-O2 -I/' modules/vagrant_substrate/manifests/staging/posix.pp
   # chmod u+w the file before chrpath
   sed -i 's/chrpath --replace/chmod u+w $name; chrpath --replace/' \
     modules/vagrant_substrate/manifests/staging/linux_chrpath.pp
+  # ruby23 gcc7 patch
+  patch -Np1 -i "$srcdir"/puppet_module_ruby.patch
 }
 
 build() {

Added: puppet_module_ruby.patch
===================================================================
--- puppet_module_ruby.patch	                        (rev 0)
+++ puppet_module_ruby.patch	2017-07-10 20:27:02 UTC (rev 243785)
@@ -0,0 +1,24 @@
+--- a/modules/ruby/manifests/source.pp
++++ b/modules/ruby/manifests/source.pp
+@@ -73,6 +73,12 @@
+     require => Exec["download-ruby"],
+   }
+ 
++  exec { "patch-ruby":
++    command => "patch -Np0 -i ../../../ruby23_gcc7.patch",
++    cwd     => $file_cache_dir,
++    require => Exec["untar-ruby"],
++  }
++
+   autotools { "ruby":
+     configure_flags  => "--prefix=${prefix} --disable-debug --disable-dependency-tracking --disable-install-doc --enable-shared --with-opt-dir=${prefix} --enable-load-relative${extra_configure_flags}",
+     cwd              => $source_dir_path,
+@@ -80,7 +86,7 @@
+     install_sentinel => "${prefix}/bin/ruby",
+     make_notify      => $make_notify,
+     make_sentinel    => "${source_dir_path}/ruby",
+-    require          => Exec["untar-ruby"],
++    require          => Exec["untar-ruby", "patch-ruby"],
+   }
+ 
+   if $operatingsystem == 'Darwin' {

Added: ruby23_gcc7.patch
===================================================================
--- ruby23_gcc7.patch	                        (rev 0)
+++ ruby23_gcc7.patch	2017-07-10 20:27:02 UTC (rev 243785)
@@ -0,0 +1,49 @@
+diff -ur ruby-2.3.4.orig/include/ruby/ruby.h ruby-2.3.4/include/ruby/ruby.h
+--- ruby-2.3.4.orig/include/ruby/ruby.h	2016-03-29 07:03:30.000000000 +0100
++++ ruby-2.3.4/include/ruby/ruby.h	2017-07-10 20:00:18.699618133 +0100
+@@ -555,7 +555,10 @@
+  * itself.  don't use it directly */
+ #ifdef __GNUC__
+ #define RB_GC_GUARD_PTR(ptr) \
+-    __extension__ ({volatile VALUE *rb_gc_guarded_ptr = (ptr); rb_gc_guarded_ptr;})
++    __extension__ ({volatile VALUE *rb_gc_guarded_ptr = (ptr); \
++ __asm__("" : : "m"(rb_gc_guarded_ptr)); \
++ rb_gc_guarded_ptr; \
++    })
+ #else
+ #ifdef _MSC_VER
+ #pragma optimize("", off)
+diff -ur ruby-2.3.4.orig/marshal.c ruby-2.3.4/marshal.c
+--- ruby-2.3.4.orig/marshal.c	2017-01-16 19:08:08.000000000 +0000
++++ ruby-2.3.4/marshal.c	2017-07-10 20:01:36.016807763 +0100
+@@ -1024,7 +1024,7 @@
+     struct dump_arg *arg;
+     VALUE wrapper; /* used to avoid memory leak in case of exception */
+ 
+-    wrapper = TypedData_Make_Struct(rb_cData, struct dump_arg, &dump_arg_data, arg);
++    wrapper = TypedData_Make_Struct(0, struct dump_arg, &dump_arg_data, arg);
+     arg->dest = 0;
+     arg->symbols = st_init_numtable();
+     arg->data    = rb_init_identtable();
+@@ -2059,7 +2059,7 @@
+     else {
+ 	io_needed();
+     }
+-    wrapper = TypedData_Make_Struct(rb_cData, struct load_arg, &load_arg_data, arg);
++    wrapper = TypedData_Make_Struct(0, struct load_arg, &load_arg_data, arg);
+     arg->infection = infection;
+     arg->src = port;
+     arg->offset = 0;
+diff -ur ruby-2.3.4.orig/test/ruby/test_marshal.rb ruby-2.3.4/test/ruby/test_marshal.rb
+--- ruby-2.3.4.orig/test/ruby/test_marshal.rb	2017-01-16 19:08:08.000000000 +0000
++++ ruby-2.3.4/test/ruby/test_marshal.rb	2017-07-10 20:02:08.710362086 +0100
+@@ -645,6 +645,9 @@
+     c = Bug9523.new
+     assert_raise_with_message(RuntimeError, /Marshal\.dump reentered at marshal_dump/) do
+       Marshal.dump(c)
++      GC.start
++      1000.times {"x"*1000}
++      GC.start
+       c.cc.call
+     end
+   end



More information about the arch-commits mailing list