summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans de Graaff <hans@degraaff.org>2013-02-10 09:13:10 +0100
committerHans de Graaff <hans@degraaff.org>2013-02-10 09:13:10 +0100
commit125e4fc1c572658c999d49b656bd70adc53f5004 (patch)
treea17e6c72dcb324adfbf1c57c37c6dc41ca3ab40c /patchsets
parentPatchset for ruby 1.9.3_p286. (diff)
downloadruby-scripts-125e4fc1c572658c999d49b656bd70adc53f5004.tar.gz
ruby-scripts-125e4fc1c572658c999d49b656bd70adc53f5004.tar.bz2
ruby-scripts-125e4fc1c572658c999d49b656bd70adc53f5004.zip
Update patchset for ruby 1.9.3_p385.
Drop the mkmf.rb patches. It looks like similar changes were made to the upstream files. I've verified this for the first two changes, and it looks as if the last two changes are also fixed in a different way. Let's try without and see if we still run into parallel make issues with the new mkmf code.
Diffstat (limited to 'patchsets')
-rw-r--r--patchsets/patches-1.9.3_p385/004_gfbsd7.patch37
-rw-r--r--patchsets/patches-1.9.3_p385/005_no-undefined-ext.patch11
-rw-r--r--patchsets/patches-1.9.3_p385/009_no-gems.patch55
3 files changed, 103 insertions, 0 deletions
diff --git a/patchsets/patches-1.9.3_p385/004_gfbsd7.patch b/patchsets/patches-1.9.3_p385/004_gfbsd7.patch
new file mode 100644
index 0000000..7a80142
--- /dev/null
+++ b/patchsets/patches-1.9.3_p385/004_gfbsd7.patch
@@ -0,0 +1,37 @@
+--- ruby-1.9.3-preview1.orig/configure.in
++++ ruby-1.9.3-preview1/configure.in
+@@ -1946,7 +1946,7 @@ if test "$rb_cv_binary_elf" = yes; then
+ fi
+
+ AS_CASE(["$target_os"],
+-[linux* | gnu* | k*bsd*-gnu | bsdi* | kopensolaris*-gnu], [
++[linux* | gnu* | k*bsd*-gnu | bsdi* | kopensolaris*-gnu | freebsd* | dragonfly*], [
+ if test "$rb_cv_binary_elf" = no; then
+ with_dln_a_out=yes
+ else
+@@ -2035,7 +2035,7 @@ if test "$with_dln_a_out" != yes; then
+ [bsdi3*], [ AS_CASE(["$CC"],
+ [*shlicc*], [ : ${LDSHARED='$(CC) -r'}
+ rb_cv_dlopen=yes])],
+- [linux* | gnu* | k*bsd*-gnu | netbsd* | bsdi* | kopensolaris*-gnu], [
++ [linux* | gnu* | k*bsd*-gnu | netbsd* | bsdi* | kopensolaris*-gnu | freebsd7*], [
+ : ${LDSHARED='$(CC) -shared'}
+ if test "$rb_cv_binary_elf" = yes; then
+ LDFLAGS="$LDFLAGS -Wl,-export-dynamic"
+@@ -2048,7 +2048,6 @@ if test "$with_dln_a_out" != yes; then
+ [freebsd*|dragonfly*], [
+ : ${LDSHARED='$(CC) -shared'}
+ if test "$rb_cv_binary_elf" = yes; then
+- LDFLAGS="$LDFLAGS -rdynamic"
+ DLDFLAGS="$DLDFLAGS "'-Wl,-soname,$(.TARGET)'
+ else
+ test "$GCC" = yes && test "$rb_cv_prog_gnu_ld" = yes || LDSHARED="ld -Bshareable"
+@@ -2336,7 +2335,7 @@ AS_CASE("$enable_shared", [yes], [
+ [sunos4*], [
+ LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_SO_NAME).so'
+ ],
+- [linux* | gnu* | k*bsd*-gnu | atheos* | kopensolaris*-gnu], [
++ [linux* | gnu* | k*bsd*-gnu | atheos* | kopensolaris*-gnu | freebsd7*], [
+ LIBRUBY_DLDFLAGS='-Wl,-soname,lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR)'
+ LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_SO_NAME).so'
+ if test "$load_relative" = yes; then
diff --git a/patchsets/patches-1.9.3_p385/005_no-undefined-ext.patch b/patchsets/patches-1.9.3_p385/005_no-undefined-ext.patch
new file mode 100644
index 0000000..f279932
--- /dev/null
+++ b/patchsets/patches-1.9.3_p385/005_no-undefined-ext.patch
@@ -0,0 +1,11 @@
+--- ruby-1.9.3-preview1.orig/configure.in
++++ ruby-1.9.3-preview1/configure.in
+@@ -2038,7 +2038,7 @@ if test "$with_dln_a_out" != yes; then
+ [linux* | gnu* | k*bsd*-gnu | netbsd* | bsdi* | kopensolaris*-gnu], [
+ : ${LDSHARED='$(CC) -shared'}
+ if test "$rb_cv_binary_elf" = yes; then
+- LDFLAGS="$LDFLAGS -Wl,-export-dynamic"
++ LDFLAGS="$LDFLAGS -Wl,-export-dynamic -Wl,--no-undefined"
+ fi
+ rb_cv_dlopen=yes],
+ [interix*], [ : ${LDSHARED='$(CC) -shared'}
diff --git a/patchsets/patches-1.9.3_p385/009_no-gems.patch b/patchsets/patches-1.9.3_p385/009_no-gems.patch
new file mode 100644
index 0000000..0c60885
--- /dev/null
+++ b/patchsets/patches-1.9.3_p385/009_no-gems.patch
@@ -0,0 +1,55 @@
+--- ruby-1.9.3-preview1.orig/tool/rbinstall.rb
++++ ruby-1.9.3-preview1/tool/rbinstall.rb
+@@ -532,51 +532,7 @@ install?(:local, :comm, :man) do
+ end
+
+ install?(:ext, :comm, :gem) do
+- $:.unshift(File.join(srcdir, "lib"))
+- require("rubygems.rb")
+- gem_dir = Gem.default_dir
+- directories = Gem.ensure_gem_subdirectories(gem_dir)
+- prepare "default gems", gem_dir, directories
+-
+- spec_dir = File.join(gem_dir, directories.grep(/^spec/)[0])
+- File.foreach(File.join(srcdir, "defs/default_gems")) do |line|
+- line.chomp!
+- line.sub!(/\s*#.*/, '')
+- next if line.empty?
+- words = []
+- line.scan(/\G\s*([^\[\]\s]+|\[([^\[\]]*)\])/) do
+- words << ($2 ? $2.split : $1)
+- end
+- name, src, execs = *words
+- next unless name and src
+- execs ||= []
+- src = File.join(srcdir, src)
+- version = open(src) {|f| f.find {|s| /^\s*\w*VERSION\s*=(?!=)/ =~ s}} or next
+- version = version.split(%r"=\s*", 2)[1].strip[/\A([\'\"])(.*?)\1/, 2]
+- full_name = "#{name}-#{version}"
+-
+- puts "#{" "*30}#{name} #{version}"
+- open_for_install(File.join(spec_dir, "#{full_name}.gemspec"), $data_mode) do
+- <<-GEMSPEC
+-Gem::Specification.new do |s|
+- s.name = #{name.dump}
+- s.version = #{version.dump}
+- s.summary = "This #{name} is bundled with Ruby"
+- s.executables = #{execs.inspect}
+-end
+- GEMSPEC
+- end
+-
+- unless execs.empty? then
+- bin_dir = File.join(gem_dir, 'gems', full_name, 'bin')
+- makedirs(bin_dir)
+-
+- execs.each do |exec|
+- exec = File.join(srcdir, 'bin', exec)
+- install(exec, bin_dir, :mode => $prog_mode)
+- end
+- end
+- end
++ # gems are unbundled
+ end
+
+ parse_args()