ruby: explode ruby-core into subpkgs
authorLuiz Angelo Daros de Luca <redacted>
Sat, 4 Oct 2014 23:06:14 +0000 (20:06 -0300)
committerLuiz Angelo Daros de Luca <redacted>
Tue, 7 Oct 2014 17:14:53 +0000 (14:14 -0300)
ruby-core is problematic as it is too big.
It is impossible to fix pkgs dependencies as
ruby-core would generate multiple cycled dependencies
between packages.

Also, "core" in ruby context means "classes that does not need a 'require'".
This is not the case of ruby-core classes. They are, actually, a subset of
Ruby Standard Library.

In every detected case where a portion of ruby-core could be isolated and
save another pkgs from requiring all ruby-core where spin-off into a new
subset. Also, big portions of ruby-core, not require by current ruby-* pkgs
where spin-off in new pkgs. The remaining of ruby-core was put into a new ruby-misc.

ruby-stdlib was created as a meta package that requires all ruby packages that are
part of Ruby Standard Library. For a full Ruby Standard Library, just install
ruby-stdlib and its deps.

Created pkgs from ruby-stdlib:
- ruby-misc
- ruby-csv
- ruby-datetime
- ruby-dbm
- ruby-debuglib
- ruby-drb
- ruby-fiddle
- ruby-filelib
- ruby-logger
- ruby-math
- ruby-multithread
- ruby-mkmf
- ruby-net
- ruby-optparse
- ruby-patterns
- ruby-prettyprint
- ruby-pstore
- ruby-racc
- ruby-rbconfig
- ruby-rinda
- ruby-ripper
- ruby-sdbm
- ruby-shell
- ruby-socket
- ruby-uri

Some files from ruby-openssl where moved to new subpkgs (as ruby-net and ruby-drb).

All dependencies where redefined based on auxiliar script ruby_find_pkgsdeps

Signed-off-by: Luiz Angelo Daros de Luca <redacted>
lang/ruby/Makefile

index 22056cb1ee80e7a5e38223eaa005e6a6a0bdc03a..90d337d2c4fad58be9c264fca375f8235ac2f9d9 100644 (file)
@@ -3,19 +3,15 @@
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
-#
-
 #
 # To Do:
-#  - allow selection of either native or pure version of a library where supported
-#  +-> some native libraries are probably only supported if ruby-dl is enabled
-# anything else?
-
+#  - dirs not removed when uninstalling!
+#  - update to 2.1.3!
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ruby
 PKG_VERSION:=2.1.2
-PKG_RELEASE:=10
+PKG_RELEASE:=11
 
 PKG_LIBVER:=2.1
 
@@ -69,13 +65,32 @@ $(call Package/ruby/Default)
   DEPENDS+= +libpthread +librt +libgmp
 endef
 
-# Ongoing work to break up ruby's standard library into coherent pieces
-# with minimal dependencies between them
+define Package/ruby-misc
+$(call Package/ruby/Default)
+  TITLE:=Ruby standard libraries (miscelaneous subset)
+  DEPENDS:=ruby
+endef
 
-define Package/ruby-core
+define Package/ruby-misc/Description
+       This package contains miscellaneous files from stdlib
+       not splitted in other ruby packages like stringio
+endef
+
+define Package/ruby-stdlib
 $(call Package/ruby/Default)
-  TITLE:=Ruby standard libraries
-  DEPENDS:=ruby +libdb47 +libffi
+  TITLE:=Ruby standard libraries (metadata for all stdlib subsets)
+  DEPENDS:=ruby +ruby-misc +ruby-bigdecimal +ruby-cgi +ruby-csv +ruby-datetime +ruby-dbm +ruby-debuglib\
+                       +ruby-digest +ruby-dl +ruby-drb +ruby-enc +ruby-enc-extra +ruby-erb +ruby-gdbm +ruby-gems \
+                       +ruby-json +ruby-io-console +ruby-irb +ruby-fiddle +ruby-filelib +ruby-logger +ruby-math \
+                       +ruby-minitest +ruby-mkmf +ruby-multithread +ruby-nkf +ruby-net +ruby-openssl +ruby-optparse \
+                       +ruby-patterns +ruby-prettyprint +ruby-pstore +ruby-psych +ruby-racc +ruby-rake +ruby-rbconfig \
+                       +ruby-rdoc +ruby-readline +ruby-rexml +ruby-rinda +ruby-ripper +ruby-rss +ruby-sdbm +ruby-shell \
+                       +ruby-socket +ruby-testunit +ruby-uri +ruby-webrick +ruby-xmlrpc +ruby-yaml +ruby-zlib
+endef
+
+define Package/ruby-stdlib/Description
+       This metapackage install all ruby-* packages, providing all
+       Ruby Standard Library files
 endef
 
 define Package/ruby-bigdecimal
@@ -87,9 +102,42 @@ endef
 define Package/ruby-cgi
 $(call Package/ruby/Default)
   TITLE:=Ruby CGI support toolkit
+  DEPENDS:=ruby +ruby-filelib +ruby-pstore
+endef
+
+define Package/ruby-csv
+$(call Package/ruby/Default)
+  TITLE+=CSV library
+  DEPENDS:=ruby +ruby-patterns +ruby-datetime +ruby-enc
+endef
+
+define Package/ruby-datetime
+$(call Package/ruby/Default)
+  TITLE+= date library
   DEPENDS:=ruby
 endef
 
+define Package/ruby-datetime/Description
+       Provides date.rb and time.rb
+endef
+
+define Package/ruby-dbm
+$(call Package/ruby/Default)
+  TITLE:=Ruby support for dbm
+  DEPENDS:=ruby +libdb47
+endef
+
+define Package/ruby-debuglib
+$(call Package/ruby/Default)
+  TITLE+= debug library
+  DEPENDS:=ruby +ruby-multithread +ruby-prettyprint
+endef
+
+define Package/ruby-debuglib/Description
+       Provides files for debugging as tracer.rb, profile.rb,
+       debug.rb and benchmark.rb
+endef
+
 define Package/ruby-digest
 $(call Package/ruby/Default)
   TITLE:=Ruby Digest Library
@@ -110,10 +158,16 @@ define Package/ruby-digest/config
 
 endef
 
+define Package/ruby-drb
+$(call Package/ruby/Default)
+  TITLE:=Ruby distributed object system
+  DEPENDS:=ruby +ruby-filelib +ruby-patterns +ruby-socket
+endef
+
 define Package/ruby-dl
 $(call Package/ruby/Default)
-  TITLE+= (dynamic linker support) (adds 5MB+)
-  DEPENDS:=ruby
+  TITLE+= (dynamic linker support)
+  DEPENDS:=ruby +ruby-fiddle +ruby-multithread
 endef
 
 define Package/ruby-enc
@@ -131,7 +185,19 @@ endef
 define Package/ruby-erb
 $(call Package/ruby/Default)
   TITLE+= (embedded interpreter)
-  DEPENDS:=ruby
+  DEPENDS:=ruby +ruby-cgi
+endef
+
+define Package/ruby-fiddle
+$(call Package/ruby/Default)
+  TITLE:=A libffi wrapper for Ruby
+  DEPENDS:=ruby +libffi
+endef
+
+define Package/ruby-filelib
+$(call Package/ruby/Default)
+  TITLE+= File utils library
+  DEPENDS:=ruby +ruby-multithread +ruby-enc
 endef
 
 define Package/ruby-gdbm
@@ -143,7 +209,7 @@ endef
 define Package/ruby-gems
 $(call Package/ruby/Default)
   TITLE:=Ruby gems packet management
-  DEPENDS:=ruby +ruby-yaml +ruby-zlib +ruby-openssl +ruby-webrick +ruby-erb
+  DEPENDS:=ruby +ruby-net +ruby-rdoc +ruby-zlib
 endef
 
 define Package/ruby-io-console
@@ -155,51 +221,117 @@ endef
 define Package/ruby-irb
 $(call Package/ruby/Default)
   TITLE+= (interactive shell)
-  DEPENDS:=ruby +ruby-core
+  DEPENDS:=ruby +ruby-debuglib +ruby-filelib +ruby-math
 endef
 
 define Package/ruby-json
 $(call Package/ruby/Default)
   TITLE:=Ruby support for JSON
-  DEPENDS:=ruby
+  DEPENDS:=ruby +ruby-datetime +ruby-misc
+endef
+
+define Package/ruby-logger
+$(call Package/ruby/Default)
+  TITLE+= logger and syslog library
+  DEPENDS:=ruby +ruby-multithread
+endef
+
+define Package/ruby-math
+$(call Package/ruby/Default)
+  TITLE+= math library
+  DEPENDS:=ruby +ruby-patterns
 endef
 
 define Package/ruby-minitest
 $(call Package/ruby/Default)
   TITLE+= minitest bundled with Ruby
-  DEPENDS:=ruby
+  DEPENDS:=ruby +ruby-filelib +ruby-optparse +ruby-prettyprint +ruby-rbconfig
+endef
+
+define Package/ruby-multithread
+$(call Package/ruby/Default)
+  TITLE+= multithread library
+  DEPENDS:=ruby +ruby-misc
+endef
+
+define Package/ruby-mkmf
+$(call Package/ruby/Default)
+  TITLE+= makefile library
+  DEPENDS:=ruby +ruby-filelib +ruby-optparse +ruby-rbconfig
+endef
+
+define Package/ruby-net
+$(call Package/ruby/Default)
+  TITLE:=Ruby Network Protocols Library
+  DEPENDS:=ruby +ruby-datetime +ruby-digest +ruby-filelib +ruby-uri
 endef
 
 define Package/ruby-nkf
 $(call Package/ruby/Default)
   TITLE:=Ruby Network Kanji Filter
-  DEPENDS:=ruby
+  DEPENDS:=ruby +ruby-enc
 endef
 
 define Package/ruby-openssl
 $(call Package/ruby/Default)
   TITLE:=Ruby support for openssl
-  DEPENDS:=ruby +libopenssl
+  DEPENDS:=ruby +ruby-enc +libopenssl +ruby-misc
+endef
+
+define Package/ruby-optparse
+$(call Package/ruby/Default)
+  TITLE:=Ruby command-line option analysis
+  DEPENDS:=ruby +ruby-misc
+endef
+
+define Package/ruby-patterns
+$(call Package/ruby/Default)
+  TITLE:=Ruby design patterns implementation
+  DEPENDS:=ruby +ruby-multithread
+endef
+
+define Package/ruby-prettyprint
+$(call Package/ruby/Default)
+  TITLE:=Ruby PrettyPrint librart
+  DEPENDS:=ruby +ruby-misc
+endef
+
+define Package/ruby-pstore
+$(call Package/ruby/Default)
+  TITLE+=file based persistence
+  DEPENDS:=ruby +ruby-digest +ruby-enc
 endef
 
 define Package/ruby-psych
 $(call Package/ruby/Default)
   TITLE+=YAML parser and emitter
-  DEPENDS:=ruby
+  DEPENDS:=ruby +ruby-bigdecimal +ruby-datetime +ruby-misc +ruby-enc
 endef
 
-define Package/ruby-rdoc
+define Package/ruby-racc
 $(call Package/ruby/Default)
-  TITLE+= (documentation generator)
+  TITLE:=LALR parser generator in Ruby
   DEPENDS:=ruby
 endef
 
 define Package/ruby-rake
 $(call Package/ruby/Default)
   TITLE+=Ruby Rake (make replacement)
+  DEPENDS:=ruby +ruby-datetime +ruby-filelib +ruby-optparse +ruby-patterns +ruby-rbconfig
+endef
+
+define Package/ruby-rbconfig
+$(call Package/ruby/Default)
+  TITLE+=Ruby RbConfig
   DEPENDS:=ruby
 endef
 
+define Package/ruby-rdoc
+$(call Package/ruby/Default)
+  TITLE+= (documentation generator)
+  DEPENDS:=ruby +ruby-erb +ruby-irb +ruby-json +ruby-racc +ruby-rake +ruby-yaml
+endef
+
 define Package/ruby-readline
 $(call Package/ruby/Default)
   TITLE:=Ruby support for readline
@@ -209,37 +341,73 @@ endef
 define Package/ruby-rexml
 $(call Package/ruby/Default)
   TITLE:=Ruby XML toolkit
+  DEPENDS:=ruby +ruby-patterns +ruby-enc
+endef
+
+define Package/ruby-rinda
+$(call Package/ruby/Default)
+  TITLE:=Ruby Linda paradigm implementation
+  DEPENDS:=ruby +ruby-drb
+endef
+
+define Package/ruby-ripper
+$(call Package/ruby/Default)
+  TITLE:=Ruby script parser
   DEPENDS:=ruby
 endef
 
 define Package/ruby-rss
 $(call Package/ruby/Default)
   TITLE:=Ruby RSS toolkit
+  DEPENDS:=ruby +ruby-net +ruby-nkf +ruby-rexml
+endef
+
+define Package/ruby-sdbm
+$(call Package/ruby/Default)
+  TITLE:=Ruby simple file-based key-value dbm implementation
   DEPENDS:=ruby
 endef
 
+define Package/ruby-shell
+$(call Package/ruby/Default)
+  TITLE:=Ruby idiomatic Ruby interface
+  DEPENDS:=ruby +ruby-patterns
+endef
+
+define Package/ruby-socket
+$(call Package/ruby/Default)
+  TITLE+= socket support
+  DEPENDS:=ruby +ruby-multithread
+endef
+
 define Package/ruby-testunit
 $(call Package/ruby/Default)
   TITLE:=Ruby Test Unit toolkit
-  DEPENDS:=ruby
+  DEPENDS:=ruby +ruby-minitest
+endef
+
+define Package/ruby-uri
+$(call Package/ruby/Default)
+  TITLE:=Ruby library to handle URI
+  DEPENDS:=ruby +ruby-socket +ruby-enc
 endef
 
 define Package/ruby-webrick
 $(call Package/ruby/Default)
   TITLE:=Ruby Web server toolkit
-  DEPENDS:=ruby
+  DEPENDS:=ruby +ruby-erb +ruby-net +ruby-patterns +ruby-rbconfig
 endef
 
 define Package/ruby-xmlrpc
 $(call Package/ruby/Default)
   TITLE:=Ruby XML-RPC toolkit
-  DEPENDS:=ruby
+  DEPENDS:=ruby +ruby-rexml +ruby-webrick
 endef
 
 define Package/ruby-yaml
 $(call Package/ruby/Default)
   TITLE:=Ruby YAML toolkit
-  DEPENDS:=ruby +ruby-psych
+  DEPENDS:=ruby +ruby-dbm +ruby-pstore +ruby-psych
 endef
 
 define Package/ruby-zlib
@@ -295,93 +463,37 @@ define Package/libruby/install
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libruby.so.* $(1)/usr/lib/
 endef
 
-define Package/ruby-core/install
+define Package/ruby-stdlib/install
+       # nothing to do
+endef
+
+define Package/ruby-misc/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby $(1)/usr/lib/
-       rm -rf  \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/curses.so \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/gdbm.so \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/kconv.rb \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/nkf.so \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/bigdecimal.so \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/bigdecimal/ \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/digest \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/digest.rb \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/digest \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/digest.so \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/openssl \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/openssl.rb \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/openssl.so \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/drb/ssl.rb \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/net/https.rb \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/webrick/ssl.rb \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/dl.so \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/dl.rb \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/dl \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/dl/ \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/enc \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/readline.so \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/irb/completion.rb \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/irb/ext/save-history.rb \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/io/console.so \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/io/console/ \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/zlib.so \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/erb.rb \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/json.rb \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/json \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/json \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/irb.rb \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/irb \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/minitest/ \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/psych \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/psych.rb \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/psych.so \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/rdoc.rb \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/rdoc \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/rake.rb \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/rake \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/ubygems.rb \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/rubygems.rb \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/rubygems \
-               $(1)/usr/lib/ruby/gems \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/cgi.rb \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/cgi \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/rexml \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/rss \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/rss.rb \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/test \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/webrick \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/webrick.rb \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/xmlrpc \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/xmlrpc.rb \
-               \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/yaml \
-               $(1)/usr/lib/ruby/$(PKG_LIBVER)/yaml.rb \
-
-       find $(1) -name '*.h' | xargs rm -f
+       ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
+               usr/lib/ruby/$(PKG_LIBVER)/English.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/abbrev.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/base64.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/delegate.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/e2mmap.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/expect.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/getoptlong.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/open3.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/ostruct.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/scanf.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/securerandom.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/set.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/shellwords.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/tsort.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/weakref.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/*/continuation.so \
+               usr/lib/ruby/$(PKG_LIBVER)/*/coverage.so \
+               usr/lib/ruby/$(PKG_LIBVER)/*/etc.so \
+               usr/lib/ruby/$(PKG_LIBVER)/*/fcntl.so \
+               usr/lib/ruby/$(PKG_LIBVER)/*/fiber.so \
+               usr/lib/ruby/$(PKG_LIBVER)/*/pty.so \
+               usr/lib/ruby/$(PKG_LIBVER)/*/stringio.so \
+               usr/lib/ruby/$(PKG_LIBVER)/*/strscan.so \
+       ) | ( cd $(1); $(TAR) -xf - )
 endef
 
 define Package/ruby-bigdecimal/install
@@ -392,12 +504,43 @@ define Package/ruby-bigdecimal/install
        ) | ( cd $(1); $(TAR) -xf - )
 endef
 
+define Package/ruby-csv/install
+       $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/csv.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/
+endef
+
 define Package/ruby-cgi/install
        $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/cgi $(1)/usr/lib/ruby/$(PKG_LIBVER)/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/cgi.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/
 endef
 
+define Package/ruby-datetime/install
+       ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
+               usr/lib/ruby/$(PKG_LIBVER)/time.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/date.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/date/ \
+               usr/lib/ruby/$(PKG_LIBVER)/*/date_core.so \
+       ) | ( cd $(1); $(TAR) -xf - )
+endef
+
+define Package/ruby-dbm/install
+       ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
+               usr/lib/ruby/$(PKG_LIBVER)/*/dbm.so \
+       ) | ( cd $(1); $(TAR) -xf - )
+endef
+
+define Package/ruby-debuglib/install
+       ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
+               usr/lib/ruby/$(PKG_LIBVER)/profile.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/profiler.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/debug.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/tracer.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/benchmark.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/*/objspace.so \
+       ) | ( cd $(1); $(TAR) -xf - )
+endef
+
 define Package/ruby-digest/install
        ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
                usr/lib/ruby/$(PKG_LIBVER)/digest \
@@ -416,6 +559,13 @@ define Package/ruby-dl/install
        ) | ( cd $(1); $(TAR) -xf - )
 endef
 
+define Package/ruby-drb/install
+       ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
+               usr/lib/ruby/$(PKG_LIBVER)/drb.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/drb \
+       ) | ( cd $(1); $(TAR) -xf - )
+endef
+
 define Package/ruby-enc/install
        ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
                usr/lib/ruby/$(PKG_LIBVER)/*/enc/encdb.so \
@@ -443,6 +593,25 @@ define Package/ruby-erb/install
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/erb.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/
 endef
 
+define Package/ruby-fiddle/install
+       ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
+               usr/lib/ruby/$(PKG_LIBVER)/fiddle.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/fiddle/ \
+               usr/lib/ruby/$(PKG_LIBVER)/*/fiddle.so \
+       ) | ( cd $(1); $(TAR) -xf - )
+endef
+
+define Package/ruby-filelib/install
+       ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
+               usr/lib/ruby/$(PKG_LIBVER)/tmpdir.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/tempfile.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/pathname.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/*/pathname.so \
+               usr/lib/ruby/$(PKG_LIBVER)/find.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/fileutils.rb \
+       ) | ( cd $(1); $(TAR) -xf - )
+endef
+
 define Package/ruby-gdbm/install
        ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
                usr/lib/ruby/$(PKG_LIBVER)/*/gdbm.so \
@@ -491,6 +660,27 @@ define Package/ruby-json/install
                $(1)/usr/lib/ruby/$(PKG_LIBVER)/psych/json
 endef
 
+define Package/ruby-logger/install
+       ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
+               usr/lib/ruby/$(PKG_LIBVER)/logger.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/syslog/logger.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/*/syslog.so \
+       ) | ( cd $(1); $(TAR) -xf - )
+endef
+
+define Package/ruby-math/install
+       ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
+               usr/lib/ruby/$(PKG_LIBVER)/prime.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/mathn.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/cmath.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/complex.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/rational.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/*/mathn \
+               usr/lib/ruby/$(PKG_LIBVER)/matrix.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/matrix \
+       ) | ( cd $(1); $(TAR) -xf - )
+endef
+
 define Package/ruby-minitest/install
        ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
                usr/lib/ruby/$(PKG_LIBVER)/minitest/ \
@@ -498,6 +688,33 @@ define Package/ruby-minitest/install
        ) | ( cd $(1); $(TAR) -xf - )
 endef
 
+define Package/ruby-mkmf/install
+       ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
+               usr/lib/ruby/$(PKG_LIBVER)/mkmf.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/un.rb \
+       ) | ( cd $(1); $(TAR) -xf - )
+endef
+
+define Package/ruby-multithread/install
+       ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
+               usr/lib/ruby/$(PKG_LIBVER)/monitor.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/timeout.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/thwait.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/mutex_m.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/sync.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/*/thread.so \
+               usr/lib/ruby/$(PKG_LIBVER)/*/io/wait.so \
+               usr/lib/ruby/$(PKG_LIBVER)/*/io/nonblock.so \
+       ) | ( cd $(1); $(TAR) -xf - )
+endef
+
+define Package/ruby-net/install
+       ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
+               usr/lib/ruby/$(PKG_LIBVER)/open-uri.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/net/* \
+       ) | ( cd $(1); $(TAR) -xf - )
+endef
+
 define Package/ruby-nkf/install
        ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
                usr/lib/ruby/$(PKG_LIBVER)/kconv.rb \
@@ -510,11 +727,36 @@ define Package/ruby-openssl/install
                usr/lib/ruby/$(PKG_LIBVER)/openssl \
                usr/lib/ruby/$(PKG_LIBVER)/openssl.rb \
                usr/lib/ruby/$(PKG_LIBVER)/*/openssl.so \
-               usr/lib/ruby/$(PKG_LIBVER)/drb/ssl.rb \
-               usr/lib/ruby/$(PKG_LIBVER)/net/https.rb \
        ) | ( cd $(1); $(TAR) -xf - )
 endef
 
+define Package/ruby-optparse/install
+       ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
+               usr/lib/ruby/$(PKG_LIBVER)/optparse.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/optparse \
+       ) | ( cd $(1); $(TAR) -xf - )
+endef
+
+define Package/ruby-patterns/install
+       ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
+               usr/lib/ruby/$(PKG_LIBVER)/observer.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/singleton.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/forwardable.rb \
+       ) | ( cd $(1); $(TAR) -xf - )
+endef
+
+define Package/ruby-prettyprint/install
+       ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
+               usr/lib/ruby/$(PKG_LIBVER)/pp.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/prettyprint.rb \
+       ) | ( cd $(1); $(TAR) -xf - )
+endef
+
+define Package/ruby-pstore/install
+       $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/pstore.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/
+endef
+
 define Package/ruby-psych/install
        ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
                usr/lib/ruby/$(PKG_LIBVER)/psych \
@@ -539,6 +781,13 @@ define Package/ruby-rdoc/install
                $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/
 endef
 
+define Package/ruby-racc/install
+       ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
+               usr/lib/ruby/$(PKG_LIBVER)/racc \
+               usr/lib/ruby/$(PKG_LIBVER)/*/racc/*.so \
+       ) | ( cd $(1); $(TAR) -xf - )
+endef
+
 define Package/ruby-rake/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rake $(1)/usr/bin/
@@ -552,6 +801,14 @@ define Package/ruby-rake/install
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/rake-* $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/
 endef
 
+define Package/ruby-rbconfig/install
+       ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
+               usr/lib/ruby/$(PKG_LIBVER)/*/rbconfig.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/rbconfig/* \
+               usr/lib/ruby/$(PKG_LIBVER)/*/rbconfig/*.so \
+       ) | ( cd $(1); $(TAR) -xf - )
+endef
+
 define Package/ruby-readline/install
        ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
                usr/lib/ruby/$(PKG_LIBVER)/*/readline.so \
@@ -563,6 +820,19 @@ define Package/ruby-rexml/install
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rexml $(1)/usr/lib/ruby/$(PKG_LIBVER)/
 endef
 
+define Package/ruby-rinda/install
+       ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
+               usr/lib/ruby/$(PKG_LIBVER)/rinda \
+       ) | ( cd $(1); $(TAR) -xf - )
+endef
+
+define Package/ruby-ripper/install
+       ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
+               usr/lib/ruby/$(PKG_LIBVER)/ripper.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/ripper \
+               usr/lib/ruby/$(PKG_LIBVER)/*/ripper.so \
+       ) | ( cd $(1); $(TAR) -xf - )
+endef
 
 define Package/ruby-rss/install
        $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
@@ -570,6 +840,30 @@ define Package/ruby-rss/install
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rss.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/
 endef
 
+define Package/ruby-sdbm/install
+       ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
+               usr/lib/ruby/$(PKG_LIBVER)/*/sdbm.so \
+       ) | ( cd $(1); $(TAR) -xf - )
+endef
+
+define Package/ruby-shell/install
+       ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
+               usr/lib/ruby/$(PKG_LIBVER)/shell.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/shell \
+       ) | ( cd $(1); $(TAR) -xf - )
+endef
+
+define Package/ruby-socket/install
+       ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
+               usr/lib/ruby/$(PKG_LIBVER)/gserver.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/ipaddr.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/resolv-replace.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/resolv.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/socket.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/*/socket.so \
+       ) | ( cd $(1); $(TAR) -xf - )
+endef
+
 define Package/ruby-testunit/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/testrb $(1)/usr/bin/
@@ -581,6 +875,13 @@ define Package/ruby-testunit/install
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/test-unit-* $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/
 endef
 
+define Package/ruby-uri/install
+       ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
+               usr/lib/ruby/$(PKG_LIBVER)/uri.rb \
+               usr/lib/ruby/$(PKG_LIBVER)/uri \
+       ) | ( cd $(1); $(TAR) -xf - )
+endef
+
 define Package/ruby-webrick/install
        $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/webrick $(1)/usr/lib/ruby/$(PKG_LIBVER)/
@@ -614,11 +915,17 @@ endef
 
 $(eval $(call BuildPackage,ruby))
 $(eval $(call BuildPackage,libruby))
-$(eval $(call BuildPackage,ruby-core))
+$(eval $(call BuildPackage,ruby-stdlib))
+$(eval $(call BuildPackage,ruby-misc))
 $(eval $(call BuildPackage,ruby-bigdecimal))
 $(eval $(call BuildPackage,ruby-cgi))
+$(eval $(call BuildPackage,ruby-csv))
+$(eval $(call BuildPackage,ruby-datetime))
+$(eval $(call BuildPackage,ruby-dbm))
+$(eval $(call BuildPackage,ruby-debuglib))
 $(eval $(call BuildPackage,ruby-digest))
 $(eval $(call BuildPackage,ruby-dl))
+$(eval $(call BuildPackage,ruby-drb))
 $(eval $(call BuildPackage,ruby-enc))
 $(eval $(call BuildPackage,ruby-enc-extra))
 $(eval $(call BuildPackage,ruby-erb))
@@ -627,16 +934,35 @@ $(eval $(call BuildPackage,ruby-gems))
 $(eval $(call BuildPackage,ruby-json))
 $(eval $(call BuildPackage,ruby-io-console))
 $(eval $(call BuildPackage,ruby-irb))
+$(eval $(call BuildPackage,ruby-fiddle))
+$(eval $(call BuildPackage,ruby-filelib))
+$(eval $(call BuildPackage,ruby-logger))
+$(eval $(call BuildPackage,ruby-math))
 $(eval $(call BuildPackage,ruby-minitest))
+$(eval $(call BuildPackage,ruby-mkmf))
+$(eval $(call BuildPackage,ruby-multithread))
 $(eval $(call BuildPackage,ruby-nkf))
+$(eval $(call BuildPackage,ruby-net))
 $(eval $(call BuildPackage,ruby-openssl))
+$(eval $(call BuildPackage,ruby-optparse))
+$(eval $(call BuildPackage,ruby-patterns))
+$(eval $(call BuildPackage,ruby-prettyprint))
+$(eval $(call BuildPackage,ruby-pstore))
 $(eval $(call BuildPackage,ruby-psych))
+$(eval $(call BuildPackage,ruby-racc))
 $(eval $(call BuildPackage,ruby-rake))
+$(eval $(call BuildPackage,ruby-rbconfig))
 $(eval $(call BuildPackage,ruby-rdoc))
 $(eval $(call BuildPackage,ruby-readline))
 $(eval $(call BuildPackage,ruby-rexml))
+$(eval $(call BuildPackage,ruby-rinda))
+$(eval $(call BuildPackage,ruby-ripper))
 $(eval $(call BuildPackage,ruby-rss))
+$(eval $(call BuildPackage,ruby-sdbm))
+$(eval $(call BuildPackage,ruby-shell))
+$(eval $(call BuildPackage,ruby-socket))
 $(eval $(call BuildPackage,ruby-testunit))
+$(eval $(call BuildPackage,ruby-uri))
 $(eval $(call BuildPackage,ruby-webrick))
 $(eval $(call BuildPackage,ruby-xmlrpc))
 $(eval $(call BuildPackage,ruby-yaml))
git clone https://git.99rst.org/PROJECT