Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37559620
en ru br
ALT Linux repos
S:3.1.2-alt2.1
5.0: 1.8.7-alt7
4.1: 1.8.7-alt0.M41.5
4.0: 1.8.6-alt2.M40.2
3.0: 1.8.2-alt7

Group :: Development/Ruby
RPM: ruby

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: ruby-1.8-fhs-vendor-alt.patch
Download


diff -ur ruby.orig/configure.in ruby/configure.in
--- ruby.orig/configure.in	2002-11-14 15:51:18 +0200
+++ ruby/configure.in	2002-11-19 13:16:32 +0200
@@ -1213,15 +1213,17 @@
     RUBY_LIB_PREFIX="/lib/ruby"
     ;;
   *)
-    RUBY_LIB_PREFIX="${prefix}/lib/ruby"
+    RUBY_LIB_PREFIX="${prefix}/share/ruby"
+    RUBY_LIB_PREFIX2="${prefix}/lib/ruby"
     ;;
 esac
 RUBY_LIB_PATH="${RUBY_LIB_PREFIX}/${MAJOR}.${MINOR}"
+RUBY_LIB_PATH2="${RUBY_LIB_PREFIX2}/${MAJOR}.${MINOR}"
 
 AC_ARG_WITH(sitedir,
-	    [  --with-sitedir=DIR      site libraries in DIR [PREFIX/lib/ruby/site_ruby]],
+	    [  --with-sitedir=DIR      site libraries in DIR [PREFIX/share/ruby/site_ruby]],
             [sitedir=$withval],
-            [sitedir='${prefix}/lib/ruby/site_ruby'])
+            [sitedir='${prefix}/share/ruby/site_ruby'])
 SITE_DIR="`eval \"echo ${sitedir}\"`"
 case "$target_os" in
   cygwin*|mingw*|*djgpp*|os2_emx*)
@@ -1231,14 +1233,34 @@
     RUBY_SITE_LIB_PATH="$SITE_DIR";;
 esac
 RUBY_SITE_LIB_PATH2="${RUBY_SITE_LIB_PATH}/${MAJOR}.${MINOR}"
+RUBY_SITE_LIB_PATH3="`echo ${RUBY_SITE_LIB_PATH2}|sed -e 's@/share/@/lib/@;'`"
 
 AC_DEFINE_UNQUOTED(RUBY_LIB, "${RUBY_LIB_PATH}")
 AC_DEFINE_UNQUOTED(RUBY_SITE_LIB, "${RUBY_SITE_LIB_PATH}")
 AC_DEFINE_UNQUOTED(RUBY_SITE_LIB2, "${RUBY_SITE_LIB_PATH2}")
 
+AC_ARG_WITH(vendordir,
+	    [  --with-vendordir=DIR      vendor libraries in DIR [PREFIX/share/ruby/vendor_ruby]],
+            [vendordir=$withval],
+            [vendordir='${prefix}/share/ruby/vendor_ruby'])
+VENDOR_DIR="`eval \"echo ${vendordir}\"`"
+case "$target_os" in
+  cygwin*|mingw*|*djgpp*|os2_emx*)
+    RUBY_VENDOR_LIB_PATH="`expr "$VENDOR_DIR" : "$prefix\(/.*\)"`" ||
+    RUBY_VENDOR_LIB_PATH="$VENDOR_DIR";;
+  *)
+    RUBY_VENDOR_LIB_PATH="$VENDOR_DIR";;
+esac
+RUBY_VENDOR_LIB_PATH2="${RUBY_VENDOR_LIB_PATH}/${MAJOR}.${MINOR}"
+RUBY_VENDOR_LIB_PATH3="`echo ${RUBY_VENDOR_LIB_PATH2}|sed -e 's@/share/@/lib/@;'`"
+
+AC_DEFINE_UNQUOTED(RUBY_VENDOR_LIB, "${RUBY_VENDOR_LIB_PATH}")
+AC_DEFINE_UNQUOTED(RUBY_VENDOR_LIB2, "${RUBY_VENDOR_LIB_PATH2}")
+
 AC_SUBST(arch)dnl
 AC_SUBST(sitearch)dnl
 AC_SUBST(sitedir)dnl
+AC_SUBST(vendordir)dnl
 
 configure_args=$ac_configure_args
 AC_SUBST(configure_args)dnl
@@ -1262,8 +1284,16 @@
   *) sitearch="${arch}" ;;
 esac
 
-AC_DEFINE_UNQUOTED(RUBY_ARCHLIB, "${RUBY_LIB_PATH}/${arch}")
-AC_DEFINE_UNQUOTED(RUBY_SITE_ARCHLIB, "${RUBY_SITE_LIB_PATH2}/${sitearch}")
+archdir="${RUBY_LIB_PATH2}/${arch}"
+sitearchdir="${RUBY_SITE_LIB_PATH3}/${sitearch}"
+vendorarchdir="${RUBY_VENDOR_LIB_PATH3}/${sitearch}"
+
+AC_DEFINE_UNQUOTED(RUBY_ARCHLIB, "${archdir}")
+AC_DEFINE_UNQUOTED(RUBY_SITE_ARCHLIB, "${sitearchdir}")
+AC_DEFINE_UNQUOTED(RUBY_VENDOR_ARCHLIB, "${vendorarchdir}")
+AC_SUBST(archdir)dnl
+AC_SUBST(sitearchdir)dnl
+AC_SUBST(vendorarchdir)dnl
 
 AC_ARG_WITH(search-path,
 		[  --with-search-path=DIR specify the additional search path],
diff -ur ruby.orig/lib/mkmf.rb ruby/lib/mkmf.rb
--- ruby.orig/lib/mkmf.rb	2002-11-14 15:51:19 +0200
+++ ruby/lib/mkmf.rb	2002-11-19 15:25:15 +0200
@@ -211,7 +211,7 @@
 		 'LDFLAGS' => "#$LDFLAGS #{ldflags}",
 		 'LIBPATH' => libpathflag(libpath),
 		 'LOCAL_LIBS' => "#$LOCAL_LIBS #$libs",
-		 'LIBS' => "#$LIBRUBYARG_STATIC #{opt} #$LIBS")
+		 'LIBS' => "#$LIBRUBYARG #{opt} #$LIBS")
 end
 
 def cc_command(opt="")
diff -ur ruby.orig/mkconfig.rb ruby/mkconfig.rb
--- ruby.orig/mkconfig.rb.fhs     2003-08-05 12:27:20 +0300
+++ ruby.orig/mkconfig.rb 2005-02-25 14:02:55 +0200
@@ -75,7 +75,7 @@
 
 prefix = Regexp.quote('/lib/ruby/' + RUBY_VERSION.sub(/\.\d+$/, '') + '/' + RUBY_PLATFORM)
 print "  TOPDIR = File.dirname(__FILE__).sub!(%r'#{prefix}\\Z', '')\n"
-print "  DESTDIR = ", (drive ? "TOPDIR && TOPDIR[/\\A[a-z]:/i] || " : ""), "'' unless defined? DESTDIR\n"
+print "  DESTDIR = ", (drive ? "TOPDIR && TOPDIR[/\\A[a-z]:/i] || " : ""), "ENV['DESTDIR'].to_s unless defined? DESTDIR\n"
 print "  CONFIG = {}\n"
 print "  CONFIG[\"DESTDIR\"] = DESTDIR\n"
 
@@ -107,10 +107,13 @@
 print v_fast, v_others
 print <<EOS
   CONFIG["ruby_version"] = "$(MAJOR).$(MINOR)"
-  CONFIG["rubylibdir"] = "$(libdir)/ruby/$(ruby_version)"
-  CONFIG["archdir"] = "$(rubylibdir)/$(arch)"
+  CONFIG["rubylibdir"] = "$(datadir)/ruby/$(ruby_version)"
   CONFIG["sitelibdir"] = "$(sitedir)/$(ruby_version)"
-  CONFIG["sitearchdir"] = "$(sitelibdir)/$(sitearch)"
+  if defined?(VENDOR_SPECIFIC) && VENDOR_SPECIFIC
+       CONFIG["sitedir"] = "$(vendordir)"
+       CONFIG["sitelibdir"] = "$(vendordir)/$(ruby_version)"
+       CONFIG["sitearchdir"] = CONFIG["vendorarchdir"]
+  end
   CONFIG["compile_dir"] = "#{Dir.pwd}"
   MAKEFILE_CONFIG = {}
   CONFIG.each{|k,v| MAKEFILE_CONFIG[k] = v.dup}
diff -ur ruby.orig/ruby.c ruby/ruby.c
--- ruby.orig/ruby.c	2002-10-29 23:35:28 +0200
+++ ruby/ruby.c	2002-11-19 13:08:15 +0200
@@ -283,11 +283,14 @@
 #endif
 
     ruby_incpush(RUBY_RELATIVE(RUBY_SITE_LIB2));
+    ruby_incpush(RUBY_RELATIVE(RUBY_VENDOR_LIB2));
 #ifdef RUBY_SITE_THIN_ARCHLIB
     ruby_incpush(RUBY_RELATIVE(RUBY_SITE_THIN_ARCHLIB));
 #endif
     ruby_incpush(RUBY_RELATIVE(RUBY_SITE_ARCHLIB));
     ruby_incpush(RUBY_RELATIVE(RUBY_SITE_LIB));
+    ruby_incpush(RUBY_RELATIVE(RUBY_VENDOR_ARCHLIB));
+    ruby_incpush(RUBY_RELATIVE(RUBY_VENDOR_LIB));
 
     ruby_incpush(RUBY_RELATIVE(RUBY_LIB));
 #ifdef RUBY_THIN_ARCHLIB
diff -ur ruby.orig/instruby.rb ruby/instruby.rb
--- ruby.orig/instruby.rb    2005-02-25 14:37:17 +0200
+++ ruby/instruby.rb 2005-02-25 16:17:46 +0200
@@ -17,7 +17,6 @@
          'mantype:doc')
 
   $dryrun = $OPT['n']
-  $destdir = $OPT['dest-dir'] || ''
   $make = $OPT['make'] || $make || 'make'
   $mantype = $OPT['mantype']
   mflags = ($OPT['make-flags'] || '').strip
@@ -42,8 +41,6 @@
     $mflags << '-n' if $dryrun
   end
 
-  $mflags << "DESTDIR=#{$destdir}"
-
   $continue = $mflags.set?(?k)
 end
 
@@ -71,25 +68,19 @@
   super(dirs, :mode => 0755, :verbose => true) unless dirs.empty?
 end
 
-def with_destdir(dir)
-  return dir if $destdir.empty?
-  dir = dir.sub(/\A\w:/, '') if File::PATH_SEPARATOR == ';'
-  $destdir + dir
-end
-
 exeext = CONFIG["EXEEXT"]
 
 ruby_install_name = CONFIG["ruby_install_name"]
 rubyw_install_name = CONFIG["rubyw_install_name"]
 
 version = CONFIG["ruby_version"]
-bindir = with_destdir(CONFIG["bindir"])
-libdir = with_destdir(CONFIG["libdir"])
-rubylibdir = with_destdir(CONFIG["rubylibdir"])
-archlibdir = with_destdir(CONFIG["archdir"])
-sitelibdir = with_destdir(CONFIG["sitelibdir"])
-sitearchlibdir = with_destdir(CONFIG["sitearchdir"])
-mandir = with_destdir(File.join(CONFIG["mandir"], "man"))
+bindir = CONFIG["bindir"]
+libdir = CONFIG["libdir"]
+rubylibdir = CONFIG["rubylibdir"]
+archlibdir = CONFIG["archdir"]
+sitelibdir = CONFIG["sitelibdir"]
+sitearchlibdir = CONFIG["sitearchdir"]
+mandir = File.join(CONFIG["mandir"], "man")
 configure_args = Shellwords.shellwords(CONFIG["configure_args"])
 enable_shared = CONFIG["ENABLE_SHARED"] == 'yes'
 dll = CONFIG["LIBRUBY_SO"]
@@ -123,7 +114,7 @@
 
 Dir.chdir CONFIG["srcdir"]
 
-ruby_shebang = File.join(CONFIG["bindir"], ruby_install_name)
+ruby_shebang = File.join(CONFIG["bindir"], ruby_install_name).sub(/^#{DESTDIR}/,'')
 if File::ALT_SEPARATOR
   ruby_bin_dosish = ruby_shebang.tr(File::SEPARATOR, File::ALT_SEPARATOR)
 end
@@ -153,7 +144,7 @@
 
   if ruby_bin_dosish
     batfile = File.join(CONFIG["bindir"], name + ".bat")
-    open(with_destdir(batfile), "w") { |b|
+    open(batfile, "w") { |b|
       b.print <<EOH, shebang, body, <<EOF
 @echo off
 if not "%~d0" == "~d0" goto WinNT
diff -ur ruby.orig/ruby/lib/rdoc/ri/ri_paths.rb ruby/ruby/lib/rdoc/ri/ri_paths.rb
--- ruby.orig/lib/rdoc/ri/ri_paths.rb 2005-02-02 10:37:03 +0200
+++ ruby/lib/rdoc/ri/ri_paths.rb 2005-02-25 18:20:30 +0200
@@ -30,13 +30,9 @@
 
     base    = File.join(Config::CONFIG['datadir'], "ri", version)
 
-    if ENV["DESTDIR"]
-      SYSDIR = File.join(ENV["DESTDIR"], base, "system")
-    else
-      SYSDIR  = File.join(base, "system")
-    end
-
+    SYSDIR  = File.join(base, "system")
     SITEDIR = File.join(base, "site")
+
     homedir = ENV['HOME'] || ENV['USERPROFILE'] || ENV['HOMEPATH']
 
     if homedir
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin