From 8e476410a2eba46c87a5be93809af15a1e498e97 Mon Sep 17 00:00:00 2001 From: Hans de Graaff Date: Tue, 14 Apr 2015 07:34:32 +0200 Subject: New patchset for ruby 1.9.3_p551-r1 Backport of openssl patch for https://bugs.gentoo.org/show_bug.cgi?id=546042 --- patchsets/patches-1.9.3_p551-r1/004_gfbsd7.patch | 37 +++++++++++++++ .../005_no-undefined-ext.patch | 11 +++++ patchsets/patches-1.9.3_p551-r1/009_no-gems.patch | 55 ++++++++++++++++++++++ .../010_mkmf-parallel-install.patch | 15 ++++++ 4 files changed, 118 insertions(+) create mode 100644 patchsets/patches-1.9.3_p551-r1/004_gfbsd7.patch create mode 100644 patchsets/patches-1.9.3_p551-r1/005_no-undefined-ext.patch create mode 100644 patchsets/patches-1.9.3_p551-r1/009_no-gems.patch create mode 100644 patchsets/patches-1.9.3_p551-r1/010_mkmf-parallel-install.patch diff --git a/patchsets/patches-1.9.3_p551-r1/004_gfbsd7.patch b/patchsets/patches-1.9.3_p551-r1/004_gfbsd7.patch new file mode 100644 index 0000000..7a80142 --- /dev/null +++ b/patchsets/patches-1.9.3_p551-r1/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_p551-r1/005_no-undefined-ext.patch b/patchsets/patches-1.9.3_p551-r1/005_no-undefined-ext.patch new file mode 100644 index 0000000..f279932 --- /dev/null +++ b/patchsets/patches-1.9.3_p551-r1/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_p551-r1/009_no-gems.patch b/patchsets/patches-1.9.3_p551-r1/009_no-gems.patch new file mode 100644 index 0000000..0c60885 --- /dev/null +++ b/patchsets/patches-1.9.3_p551-r1/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() diff --git a/patchsets/patches-1.9.3_p551-r1/010_mkmf-parallel-install.patch b/patchsets/patches-1.9.3_p551-r1/010_mkmf-parallel-install.patch new file mode 100644 index 0000000..bb80635 --- /dev/null +++ b/patchsets/patches-1.9.3_p551-r1/010_mkmf-parallel-install.patch @@ -0,0 +1,15 @@ +Index: ruby-1.9.3-p392/lib/mkmf.rb +=================================================================== +--- ruby-1.9.3-p392.orig/lib/mkmf.rb ++++ ruby-1.9.3-p392/lib/mkmf.rb +@@ -2039,8 +2039,8 @@ static: $(STATIC_LIB)#{$extout ? " insta + end + for f in files + dest = "#{dir}/#{File.basename(f)}" +- mfile.print("install-rb#{sfx}: #{dest} #{dir}\n") +- mfile.print("#{dest}: #{f}\n") ++ mfile.print("install-rb#{sfx}: #{dest}\n") ++ mfile.print("#{dest}: #{f} #{timestamp_file(dir)}\n") + mfile.print("\t$(Q) $(#{$extout ? 'COPY' : 'INSTALL_DATA'}) #{f} $(@D#{sep})\n") + if defined?($installed_list) and !$extout + mfile.print("\t@echo #{dest}>>$(INSTALLED_LIST)\n") -- cgit v1.2.3-65-gdbad