X-Git-Url: http://git.pld-linux.org/?p=packages%2Fruby.git;a=blobdiff_plain;f=custom-rubygems-location.patch;h=c4893da87f7c85043db089a11f5438ffd1030f38;hp=90ad58d46c1717d4e8e1c32768fd40d802cae627;hb=2798ed3c5c335cf7fdfe87f878629b7d4fb82608;hpb=184dcb98206934e4f36f804cf9f23246fdf624bc diff --git a/custom-rubygems-location.patch b/custom-rubygems-location.patch index 90ad58d..c4893da 100644 --- a/custom-rubygems-location.patch +++ b/custom-rubygems-location.patch @@ -1,84 +1,97 @@ -From b5e9dc3683cb085aa57e7b12c35a4f21b2cc1482 Mon Sep 17 00:00:00 2001 +From 94da59aafacc6a9efe829529eb51385588d6f149 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Fri, 11 Nov 2011 13:14:45 +0100 Subject: [PATCH] Allow to install RubyGems into custom location, outside of Ruby tree. --- - configure.in | 8 ++++++++ - tool/rbinstall.rb | 9 +++++++++ - version.c | 4 ++++ - 3 files changed, 21 insertions(+) + configure.ac | 5 +++++ + loadpath.c | 4 ++++ + template/verconf.h.tmpl | 3 +++ + tool/rbinstall.rb | 10 ++++++++++ + 4 files changed, 22 insertions(+) -diff --git a/configure.in b/configure.in -index 1627d12..e064b2b 100644 ---- a/configure.in -+++ b/configure.in -@@ -3349,6 +3349,13 @@ AC_ARG_WITH(vendorarchdir, +diff --git a/configure.ac b/configure.ac +index 6bba453e3c..028ef7ca3e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3746,6 +3746,10 @@ AC_ARG_WITH(vendorarchdir, [vendorarchdir=$withval], - [vendorarchdir=${multiarch+'${rubysitearchprefix}/vendor_ruby/${ruby_version}'}${multiarch-'${vendorlibdir}/${sitearch}'}]) + [vendorarchdir=${multiarch+'${rubysitearchprefix}/vendor_ruby'${ruby_version_dir}}${multiarch-'${vendorlibdir}/${sitearch}'}]) +AC_ARG_WITH(rubygemsdir, + AS_HELP_STRING([--with-rubygemsdir=DIR], [custom rubygems directory]), + [rubygemsdir=$withval]) -+if test "$rubygemsdir" != ""; then -+ AC_DEFINE_UNQUOTED(RUBYGEMS_DIR,"$rubygemsdir" !!) -+fi + - unexpand_shvar rubylibprefix exec_prefix libdir RUBY_BASE_NAME - unexpand_shvar rubyarchprefix exec_prefix libdir arch RUBY_BASE_NAME archlibdir rubylibprefix - unexpand_shvar rubysitearchprefix exec_prefix libdir sitearch arch RUBY_BASE_NAME archlibdir sitearchlibdir rubylibprefix -@@ -3415,6 +3422,7 @@ AC_SUBST(sitearchdir)dnl + AS_IF([test "${LOAD_RELATIVE+set}"], [ + AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) + RUBY_EXEC_PREFIX='' +@@ -3770,6 +3774,7 @@ AC_SUBST(sitearchdir)dnl AC_SUBST(vendordir)dnl AC_SUBST(vendorlibdir)dnl AC_SUBST(vendorarchdir)dnl +AC_SUBST(rubygemsdir)dnl - configure_args=$ac_configure_args - AC_SUBST(configure_args)dnl + AC_SUBST(CONFIGURE, "`echo $0 | sed 's|.*/||'`")dnl + AC_SUBST(configure_args, "`echo "${ac_configure_args}" | sed 's/\\$/$$/g'`")dnl +diff --git a/loadpath.c b/loadpath.c +index 623dc9d..74c5d9e 100644 +--- a/loadpath.c ++++ b/loadpath.c +@@ -94,6 +94,10 @@ const char ruby_initial_load_paths[] = + #endif + #endif + ++#ifdef RUBYGEMS_DIR ++ RUBYGEMS_DIR "\0" ++#endif ++ + RUBY_LIB "\0" + #ifdef RUBY_THINARCH + RUBY_ARCH_LIB_FOR(RUBY_THINARCH) "\0" +diff --git a/template/verconf.h.tmpl b/template/verconf.h.tmpl +index 79c003e..34f2382 100644 +--- a/template/verconf.h.tmpl ++++ b/template/verconf.h.tmpl +@@ -36,6 +36,9 @@ + % if C["RUBY_SEARCH_PATH"] + #define RUBY_SEARCH_PATH "${RUBY_SEARCH_PATH}" + % end ++% if C["rubygemsdir"] ++#define RUBYGEMS_DIR "${rubygemsdir}" ++% end + % + % R = {} + % R["ruby_version"] = '"RUBY_LIB_VERSION"' diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb -index 92e54c6..c72dfb6 100755 +index b47b6e1..0b99408 100755 --- a/tool/rbinstall.rb +++ b/tool/rbinstall.rb -@@ -313,6 +313,7 @@ sitelibdir = CONFIG["sitelibdir"] +@@ -334,6 +334,7 @@ def CONFIG.[](name, mandatory = false) sitearchlibdir = CONFIG["sitearchdir"] vendorlibdir = CONFIG["vendorlibdir"] vendorarchlibdir = CONFIG["vendorarchdir"] +rubygemsdir = CONFIG["rubygemsdir"] mandir = CONFIG["mandir", true] docdir = CONFIG["docdir", true] - configure_args = Shellwords.shellwords(CONFIG["configure_args"]) -@@ -500,7 +501,15 @@ end + enable_shared = CONFIG["ENABLE_SHARED"] == 'yes' +@@ -560,7 +561,16 @@ def stub install?(:local, :comm, :lib) do prepare "library scripts", rubylibdir - noinst = %w[README* *.txt *.rdoc *.gemspec] -+ noinst += %w[*ubygems.rb rubygems/ datadir.rb] if rubygemsdir + noinst = %w[*.txt *.rdoc *.gemspec] ++ # Bundler carries "rubygems.rb" file, so it must be specialcased :/ ++ noinst += %w[rubygems.rb rubygems/ bundler.rb bundler/] if rubygemsdir install_recursive(File.join(srcdir, "lib"), rubylibdir, :no_install => noinst, :mode => $data_mode) + if rubygemsdir -+ noinst = %w[obsolete.rb] -+ install_recursive(File.join(srcdir, "lib", "rubygems"), File.join(rubygemsdir, "rubygems"), :mode => $data_mode) -+ install_recursive(File.join(srcdir, "lib", "rbconfig"), File.join(rubygemsdir, "rbconfig"), :no_install => noinst, :mode => $data_mode) -+ install(File.join(srcdir, "lib", "ubygems.rb"), File.join(rubygemsdir, "ubygems.rb"), :mode => $data_mode) ++ noinst = %w[*.txt *.rdoc *.gemspec] ++ install_recursive(File.join(srcdir, "lib", "rubygems"), File.join(rubygemsdir, "rubygems"), :no_install => noinst, :mode => $data_mode) + install(File.join(srcdir, "lib", "rubygems.rb"), File.join(rubygemsdir, "rubygems.rb"), :mode => $data_mode) ++ install_recursive(File.join(srcdir, "lib", "bundler"), File.join(rubylibdir, "bundler"), :no_install => noinst, :mode => $data_mode) ++ install(File.join(srcdir, "lib", "bundler.rb"), rubylibdir, :mode => $data_mode) + end end - install?(:local, :arch, :lib) do -diff --git a/version.c b/version.c -index 54c4513..d76100b 100644 ---- a/version.c -+++ b/version.c -@@ -99,6 +99,10 @@ const char ruby_initial_load_paths[] = - #endif - #endif - -+#ifdef RUBYGEMS_DIR -+ RUBYGEMS_DIR "\0" -+#endif -+ - RUBY_LIB "\0" - #ifdef RUBY_THINARCH - RUBY_ARCH_LIB_FOR(RUBY_THINARCH) "\0" + install?(:local, :comm, :hdr, :'comm-hdr') do -- -1.8.1.2 +1.8.3.1