diff --git a/lang/ruby/Makefile b/lang/ruby/Makefile index be2a669ed..8b81daa99 100644 --- a/lang/ruby/Makefile +++ b/lang/ruby/Makefile @@ -3,26 +3,21 @@ # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. -# - # # To Do: -# - split up encodings -# - 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! +# include $(TOPDIR)/rules.mk PKG_NAME:=ruby -PKG_VERSION:=2.1.2 -PKG_RELEASE:=1 +PKG_VERSION:=2.1.3 +PKG_RELEASE:=2 PKG_LIBVER:=2.1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=http://cache.ruby-lang.org/pub/ruby/$(PKG_LIBVER)/ -PKG_MD5SUM:=ed9b8565bdeccb401d628ec8d54a0774 +PKG_MD5SUM:=02b7da3bb06037c777ca52e1194efccb PKG_MAINTAINER:=Luiz Angelo Daros de Luca PKG_LICENSE:=BSD-2-Clause PKG_LICENSE_FILE:=COPYING @@ -45,10 +40,11 @@ define Package/ruby/Default endef define Package/ruby/Default/description - Ruby is the interpreted scripting language for quick and easy + Ruby is the interpreted scripting language for quick and easy object-oriented programming. It has many features to process text files and to do system management tasks (as in perl). It is simple, straight-forward, and extensible. + endef define Package/ruby @@ -70,37 +66,259 @@ $(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-stdlib +$(call Package/ruby/Default) + 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-core +define Package/ruby-stdlib/description + This metapackage currently install all ruby-* packages, + providing a complete Ruby Standard Library. + +endef + +define Package/ruby-bigdecimal $(call Package/ruby/Default) - TITLE:=Ruby standard libraries - DEPENDS:=ruby +libdb47 +libffi + TITLE:=Arbitrary-precision decimal floating-point library for Ruby + DEPENDS:=ruby +endef + +define Package/ruby-bigdecimal/description + Provides bigdecimal* files endef define Package/ruby-cgi $(call Package/ruby/Default) TITLE:=Ruby CGI support toolkit + DEPENDS:=ruby +ruby-filelib +ruby-pstore +endef + +define Package/ruby-bigdecimal/description + Provides bigdecimal* files + +endef + +define Package/ruby-csv +$(call Package/ruby/Default) + TITLE+=CSV library + DEPENDS:=ruby +ruby-patterns +ruby-datetime +ruby-enc +endef + +define Package/ruby-csv/description + Provides csv.rb file + +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-dbm/description + The DBM class provides a wrapper to a Unix-style dbm or Database Manager library. + This package provides dbm.so file. + +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: + - benchmark.rb + - debug.rb + - objspace.so + - profile.rb + - profiler.rb + - tracer.rb + +endef + +define Package/ruby-digest +$(call Package/ruby/Default) + TITLE:=Ruby Digest Library + DEPENDS:=ruby +RUBY_DIGEST_USE_OPENSSL:libopenssl +endef + +define Package/ruby-digest/description + Provides digest* files. Can be configured to use OpenSSL or + bundled hash functions. + +endef + +define Package/ruby-digest/config + + config RUBY_DIGEST_USE_OPENSSL + bool "Use OpenSSL functions for ruby digest hash functions" + depends on PACKAGE_ruby-digest + help + Ruby can use OpenSSL hash functions or compile alternative implementations. Using + OpenSSL saves about 30KBytes (less when compressed) but requires OpenSSL (that + is way bigger than that). However, if OpenSSL is already needed by another usage, + as ruby-openssl or any other non ruby package, it is better to mark this option. + default n + +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-dl/description + Provides dl* files. This is deprecated, use fiddle. + +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-drb/description + Provides drb* files + endef define Package/ruby-enc $(call Package/ruby/Default) - TITLE+= (character re-coding library) (adds 2MB+) + TITLE:=Ruby character re-coding library charset (small subset) DEPENDS:=ruby endef +define Package/ruby-enc/description + Provides ruby encoding library for encodings used directly by + libraries in Ruby Standard Library: + - enc/encdb.so + - enc/euc_jp.so + - enc/iso_8859_1.so + - enc/utf_16be.so + - enc/utf_16le.so + - enc/utf_32be.so + - enc/utf_32le.so + FYI: ASCII-8BIT, UTF-7, UTF-8 and US-ASCII are already in Core. + +endef + +define Package/ruby-enc-extra +$(call Package/ruby/Default) + TITLE:=Ruby character re-coding library charset (extra subset) + DEPENDS:=ruby +ruby-enc +endef + +define Package/ruby-enc-extra/description + Provides extra encodings not provided by ruby-enc: + - enc/big5.so + - enc/cp949.so + - enc/emacs_mule.so + - enc/euc_kr.so + - enc/euc_tw.so + - enc/gb18030.so + - enc/gb2312.so + - enc/gbk.so + - enc/iso_8859_10.so + - enc/iso_8859_11.so + - enc/iso_8859_13.so + - enc/iso_8859_14.so + - enc/iso_8859_15.so + - enc/iso_8859_16.so + - enc/iso_8859_2.so + - enc/iso_8859_3.so + - enc/iso_8859_4.so + - enc/iso_8859_5.so + - enc/iso_8859_6.so + - enc/iso_8859_7.so + - enc/iso_8859_8.so + - enc/iso_8859_9.so + - enc/koi8_r.so + - enc/koi8_u.so + - enc/shift_jis.so + - enc/trans/big5.so + - enc/trans/chinese.so + - enc/trans/emoji.so + - enc/trans/emoji_iso2022_kddi.so + - enc/trans/emoji_sjis_docomo.so + - enc/trans/emoji_sjis_kddi.so + - enc/trans/emoji_sjis_softbank.so + - enc/trans/escape.so + - enc/trans/gb18030.so + - enc/trans/gbk.so + - enc/trans/iso2022.so + - enc/trans/japanese.so + - enc/trans/japanese_euc.so + - enc/trans/japanese_sjis.so + - enc/trans/korean.so + - enc/trans/single_byte.so + - enc/trans/transdb.so + - enc/trans/utf8_mac.so + - enc/trans/utf_16_32.so + - enc/windows_1251.so + - enc/windows_31j.so + +endef + define Package/ruby-erb $(call Package/ruby/Default) TITLE+= (embedded interpreter) - DEPENDS:=ruby + DEPENDS:=ruby +ruby-cgi +endef + +define Package/ruby-erb/description + Provides erb* files + +endef + +define Package/ruby-fiddle +$(call Package/ruby/Default) + TITLE:=A libffi wrapper for Ruby + DEPENDS:=ruby +libffi +endef + +define Package/ruby-fiddle/description + Provides fiddle* files + +endef + +define Package/ruby-filelib +$(call Package/ruby/Default) + TITLE+= File utils library + DEPENDS:=ruby +ruby-multithread +ruby-enc +endef + +define Package/ruby-filelib/description + Provides filesystem interaction files, including + path and temp: + - fileutils.rb + - find.rb + - pathname.rb + - pathname.so + - tempfile.rb + - tmpdir.rb + endef define Package/ruby-gdbm @@ -109,94 +327,450 @@ $(call Package/ruby/Default) DEPENDS:=ruby +libgdbm endef +define Package/ruby-gdbm/description + Provides gdbm* files + +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-gems/description + Provides rubygems for gems usage, download and installation + +endef + +define Package/ruby-io-console +$(call Package/ruby/Default) + TITLE+= Console interface + DEPENDS:=ruby +endef + +define Package/ruby-io-console/description + Provides io-console* files + 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-irb/description + Provides irb* files + endef define Package/ruby-json $(call Package/ruby/Default) TITLE:=Ruby support for JSON + DEPENDS:=ruby +ruby-datetime +ruby-misc +endef + +define Package/ruby-json/description + Provides json* files + +endef + +define Package/ruby-logger +$(call Package/ruby/Default) + TITLE+= logger and syslog library + DEPENDS:=ruby +ruby-multithread +endef + +define Package/ruby-logger/description + Provides log library, including syslog: + - logger.rb + - syslog.so + - syslog/logger.rb + +endef + +define Package/ruby-math +$(call Package/ruby/Default) + TITLE+= math library + DEPENDS:=ruby +ruby-patterns +endef + +define Package/ruby-math/description + Provides math related files: + - cmath.rb + - complex.rb + - mathn.rb + - mathn/complex.so + - mathn/rational.so + - matrix.rb + - matrix/eigenvalue_decomposition.rb + - matrix/lup_decomposition.rb + - prime.rb + - rational.rb + +endef + +define Package/ruby-minitest +$(call Package/ruby/Default) + TITLE+= minitest bundled with Ruby + DEPENDS:=ruby +ruby-filelib +ruby-optparse +ruby-prettyprint +ruby-rbconfig +endef + +define Package/ruby-minitest/description + Provides minitest* files + +endef + +define Package/ruby-misc +$(call Package/ruby/Default) + TITLE:=Ruby standard libraries subset (miscelaneous files) DEPENDS:=ruby endef -define Package/ruby-ncurses +define Package/ruby-misc/description + This package contains miscellaneous files from stdlib + not splitted in other ruby packages like stringio: + - English.rb + - abbrev.rb + - base64.rb + - continuation.so + - coverage.so + - delegate.rb + - e2mmap.rb + - etc.so + - expect.rb + - fcntl.so + - fiber.so + - getoptlong.rb + - open3.rb + - ostruct.rb + - pty.so + - scanf.rb + - securerandom.rb + - set.rb + - shellwords.rb + - stringio.so + - strscan.so + - tsort.rb + - weakref.rb + +endef + +define Package/ruby-mkmf $(call Package/ruby/Default) - TITLE:=Ruby support for ncurses - DEPENDS:=ruby +libncurses +libncursesw + TITLE+= makefile library + DEPENDS:=ruby +ruby-filelib +ruby-optparse +ruby-rbconfig +endef + +define Package/ruby-mkmf/description + Provides mkmf* files + +endef + +define Package/ruby-multithread +$(call Package/ruby/Default) + TITLE+= multithread library + DEPENDS:=ruby +ruby-misc +endef + +define Package/ruby-multithread/description + Provides files for multithread usage: + - io/nonblock.so + - io/wait.so + - thread.so (FYI, Thread is a core class) + - monitor.rb + - mutex_m.rb + - sync.rb + - thwait.rb + - timeout.rb + +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-net/description + Provides net* files + endef define Package/ruby-nkf $(call Package/ruby/Default) TITLE:=Ruby Network Kanji Filter - DEPENDS:=ruby + DEPENDS:=ruby +ruby-enc +endef + +define Package/ruby-nkf/description + Provides nkf* files + 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-rdoc +define Package/ruby-openssl/description + Provides openssl* files + +endef + +define Package/ruby-optparse $(call Package/ruby/Default) - TITLE+= (documentation generator) + TITLE:=Ruby command-line option analysis + DEPENDS:=ruby +ruby-misc +endef + +define Package/ruby-optparse/description + Provides optparse* files + +endef + +define Package/ruby-patterns +$(call Package/ruby/Default) + TITLE:=Ruby design patterns implementation + DEPENDS:=ruby +ruby-multithread +endef + +define Package/ruby-patterns/description + Provides design patterns helpers files: + - forwardable.rb + - observer.rb + - singleton.rb + +endef + +define Package/ruby-prettyprint +$(call Package/ruby/Default) + TITLE:=Ruby PrettyPrint librart + DEPENDS:=ruby +ruby-misc +endef + +define Package/ruby-prettyprint/description + Provides Pretty Print library: + - pp.rb + - prettyprint.rb + +endef + +define Package/ruby-pstore +$(call Package/ruby/Default) + TITLE+=file based persistence + DEPENDS:=ruby +ruby-digest +ruby-enc +endef + +define Package/ruby-pstore/description + Provides pstore.rb file + +endef + +define Package/ruby-psych +$(call Package/ruby/Default) + TITLE+=YAML parser and emitter + DEPENDS:=ruby +ruby-bigdecimal +ruby-datetime +ruby-misc +ruby-enc +endef + +define Package/ruby-psych/description + Provides psych* files + +endef + +define Package/ruby-racc +$(call Package/ruby/Default) + TITLE:=LALR parser generator in Ruby DEPENDS:=ruby endef +define Package/ruby-racc/description + Provides racc* files + +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-rake/description + Provides rake* files + +endef + +define Package/ruby-rbconfig +$(call Package/ruby/Default) + TITLE+=Ruby RbConfig DEPENDS:=ruby endef +define Package/ruby-rbconfig/description + Provides rbconfig file + +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-rdoc/description + Provides rdoc* and ri files + +endef + define Package/ruby-readline $(call Package/ruby/Default) TITLE:=Ruby support for readline DEPENDS:=ruby +libncurses +libreadline endef +define Package/ruby-readline/description + Provides readline* files + +endef + define Package/ruby-rexml $(call Package/ruby/Default) TITLE:=Ruby XML toolkit + DEPENDS:=ruby +ruby-patterns +ruby-enc +endef + +define Package/ruby-rexml/description + Provides rexml* files + +endef + +define Package/ruby-rinda +$(call Package/ruby/Default) + TITLE:=Ruby Linda paradigm implementation + DEPENDS:=ruby +ruby-drb +endef + +define Package/ruby-rinda/description + Provides rinda* files + +endef + +define Package/ruby-ripper +$(call Package/ruby/Default) + TITLE:=Ruby script parser DEPENDS:=ruby endef +define Package/ruby-ripper/description + Provides ripper* files + +endef + define Package/ruby-rss $(call Package/ruby/Default) TITLE:=Ruby RSS toolkit - DEPENDS:=ruby + DEPENDS:=ruby +ruby-net +ruby-nkf +ruby-rexml endef -define Package/ruby-unit +define Package/ruby-rss/description + Provides rss* files + +endef + +define Package/ruby-sdbm $(call Package/ruby/Default) - TITLE:=Ruby unit testing toolkit + TITLE:=Ruby simple file-based key-value dbm implementation DEPENDS:=ruby endef +define Package/ruby-sdbm/description + Provides sdbm* files + +endef + +define Package/ruby-shell +$(call Package/ruby/Default) + TITLE:=Ruby idiomatic Ruby interface + DEPENDS:=ruby +ruby-patterns +endef + +define Package/ruby-shell/description + Provides shell* files + +endef + +define Package/ruby-socket +$(call Package/ruby/Default) + TITLE+= socket support + DEPENDS:=ruby +ruby-multithread +endef + +define Package/ruby-socket/description + Provides socket-related files: + - gserver.rb + - ipaddr.rb + - resolv-replace.rb + - resolv.rb + - socket.rb + - socket.so + +endef + +define Package/ruby-testunit +$(call Package/ruby/Default) + TITLE:=Ruby Test Unit toolkit + DEPENDS:=ruby +ruby-minitest +endef + +define Package/ruby-testunit/description + Provides test/unit* files + +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-uri/description + Provides uri* files + +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-webrick/description + Provides webrick* files + 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-xmlrpc/description + Provides xmlrpc* files + endef define Package/ruby-yaml $(call Package/ruby/Default) TITLE:=Ruby YAML toolkit - DEPENDS:=ruby + DEPENDS:=ruby +ruby-dbm +ruby-pstore +ruby-psych +endef + +define Package/ruby-yaml/description + Provides yaml* files + endef define Package/ruby-zlib @@ -205,6 +779,11 @@ $(call Package/ruby/Default) DEPENDS:=ruby +zlib endef +define Package/ruby-zlib/description + Provides zlib* files + +endef + HOST_CONFIGURE_ARGS += \ --disable-install-doc \ --disable-install-rdoc \ @@ -216,9 +795,20 @@ CONFIGURE_ARGS += \ --enable-static \ --disable-rpath \ --enable-ipv6 \ + --disable-install-doc \ + --disable-install-capi \ --with-ruby-version=minor \ --with-iconv-dir=$(ICONV_PREFIX) \ +ifndef CONFIG_RUBY_DIGEST_USE_OPENSSL +CONFIGURE_ARGS += \ + --with-bundled-sha1\ + --with-bundled-md5\ + --with-bundled-rmd160\ + --with-bundled-sha2 \ + +endif + TARGET_LDFLAGS += -L$(PKG_BUILD_DIR) MAKE_FLAGS += \ @@ -227,7 +817,13 @@ MAKE_FLAGS += \ define Package/ruby/install $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ruby $(1)/usr/bin/ + $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER) + $(INSTALL_DIR) $(1)/usr/lib/ruby/vendor_ruby/$(PKG_LIBVER) + $(INSTALL_DIR) $(1)/usr/lib/ruby/site_ruby/$(PKG_LIBVER) + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ruby $(1)/usr/lib/ruby/ruby$(PKG_LIBVER)-bin + $(INSTALL_BIN) ./files/ruby $(1)/usr/bin/ruby + sed -i -e "s%@RUBY_LIBPATH@%/usr/lib/ruby/$(PKG_LIBVER)%" $(1)/usr/bin/ruby + sed -i -e "s%@RUBY_BINPATH@%/usr/lib/ruby/ruby$(PKG_LIBVER)-bin%" $(1)/usr/bin/ruby endef define Package/libruby/install @@ -235,75 +831,16 @@ define Package/libruby/install $(CP) $(PKG_INSTALL_DIR)/usr/lib/libruby.so.* $(1)/usr/lib/ endef -define Package/ruby-core/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)/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)/*/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)/*/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)/rdoc \ - \ - $(1)/usr/lib/ruby/$(PKG_LIBVER)/rake.rb \ - $(1)/usr/lib/ruby/$(PKG_LIBVER)/rake \ - \ - $(1)/usr/lib/ruby/$(PKG_LIBVER)/rubygems.rb \ - $(1)/usr/lib/ruby/$(PKG_LIBVER)/rubygems \ - \ - $(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)/yaml \ - $(1)/usr/lib/ruby/$(PKG_LIBVER)/yaml.rb \ - $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/syck.so \ - - find $(1) -name '*.h' | xargs rm -f +define Package/ruby-stdlib/install + # nothing to do +endef + +define Package/ruby-bigdecimal/install + ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \ + usr/lib/ruby/$(PKG_LIBVER)/*/bigdecimal.so \ + usr/lib/ruby/$(PKG_LIBVER)/bigdecimal/ \ + usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default/bigdecimal-*.gemspec \ + ) | ( cd $(1); $(TAR) -xf - ) endef define Package/ruby-cgi/install @@ -312,14 +849,78 @@ define Package/ruby-cgi/install $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/cgi.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/ 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-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 \ + usr/lib/ruby/$(PKG_LIBVER)/digest.rb \ + usr/lib/ruby/$(PKG_LIBVER)/*/digest.so \ + usr/lib/ruby/$(PKG_LIBVER)/*/digest/* \ + ) | ( cd $(1); $(TAR) -xf - ) +endef + define Package/ruby-dl/install ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \ + usr/lib/ruby/$(PKG_LIBVER)/dl.rb \ + usr/lib/ruby/$(PKG_LIBVER)/dl \ usr/lib/ruby/$(PKG_LIBVER)/*/dl.so \ + usr/lib/ruby/$(PKG_LIBVER)/*/dl/ \ + ) | ( 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 \ + usr/lib/ruby/$(PKG_LIBVER)/*/enc/iso_8859_1.so \ + usr/lib/ruby/$(PKG_LIBVER)/*/enc/utf_* \ + usr/lib/ruby/$(PKG_LIBVER)/*/enc/euc_jp.so \ + ) | ( cd $(1); $(TAR) -xf - ) +endef + +define Package/ruby-enc-extra/install + ( cd $(PKG_INSTALL_DIR); $(TAR) \ + --exclude=usr/lib/ruby/$(PKG_LIBVER)/*/enc/encdb.so \ + --exclude=usr/lib/ruby/$(PKG_LIBVER)/*/enc/iso_8859_1.so \ + --exclude=usr/lib/ruby/$(PKG_LIBVER)/*/enc/utf_* \ + --exclude=usr/lib/ruby/$(PKG_LIBVER)/*/enc/euc_jp.so \ + -cf - \ usr/lib/ruby/$(PKG_LIBVER)/*/enc \ ) | ( cd $(1); $(TAR) -xf - ) endef @@ -331,6 +932,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 \ @@ -341,8 +961,23 @@ define Package/ruby-gems/install $(INSTALL_DIR) $(1)/usr/bin $(CP) $(PKG_INSTALL_DIR)/usr/bin/gem $(1)/usr/bin/ $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER) + $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/ubygems.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rubygems.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rubygems $(1)/usr/lib/ruby/$(PKG_LIBVER)/ + $(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default + $(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems + $(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/doc + $(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/cache + $(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/extensions + $(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/build_info +endef + +define Package/ruby-io-console/install + ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \ + usr/lib/ruby/$(PKG_LIBVER)/*/io/console.so \ + usr/lib/ruby/$(PKG_LIBVER)/io/console/ \ + usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default/io-console-*.gemspec \ + ) | ( cd $(1); $(TAR) -xf - ) endef define Package/ruby-irb/install @@ -358,12 +993,95 @@ define Package/ruby-json/install usr/lib/ruby/$(PKG_LIBVER)/json.rb \ usr/lib/ruby/$(PKG_LIBVER)/json \ usr/lib/ruby/$(PKG_LIBVER)/*/json \ + usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default/json-*.gemspec \ + ) | ( cd $(1); $(TAR) -xf - ) + rm -rf \ + $(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-ncurses/install +define Package/ruby-math/install ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \ - usr/lib/ruby/$(PKG_LIBVER)/*/curses.so \ + 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/ \ + usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default/minitest-*.gemspec \ + ) | ( cd $(1); $(TAR) -xf - ) +endef + +define Package/ruby-misc/install + $(INSTALL_DIR) $(1)/usr/lib + ( 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-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 @@ -376,24 +1094,53 @@ endef define Package/ruby-openssl/install ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \ - usr/lib/ruby/$(PKG_LIBVER)/digest \ - usr/lib/ruby/$(PKG_LIBVER)/digest.rb \ - usr/lib/ruby/$(PKG_LIBVER)/*/digest.so \ - usr/lib/ruby/$(PKG_LIBVER)/*/digest/*.so \ 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-rdoc/install - $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rdoc $(1)/usr/bin/ - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ri $(1)/usr/bin/ +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)/rdoc $(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 \ + usr/lib/ruby/$(PKG_LIBVER)/psych.rb \ + usr/lib/ruby/$(PKG_LIBVER)/*/psych.so \ + usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default/psych-*.gemspec \ + ) | ( cd $(1); $(TAR) -xf - ) +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 @@ -402,6 +1149,34 @@ define Package/ruby-rake/install $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER) $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rake.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rake $(1)/usr/lib/ruby/$(PKG_LIBVER)/ + $(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default + $(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems + $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default/rake-*.gemspec \ + $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default/ + $(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-rdoc/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rdoc $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ri $(1)/usr/bin/ + $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER) + $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rdoc.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rdoc $(1)/usr/lib/ruby/$(PKG_LIBVER)/ + $(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default + $(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems + $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default/rdoc-*.gemspec \ + $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/rdoc-* \ + $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/ endef define Package/ruby-readline/install @@ -415,6 +1190,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) @@ -422,11 +1210,46 @@ 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-unit/install +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/ $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER) $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/test $(1)/usr/lib/ruby/$(PKG_LIBVER)/ + $(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default + $(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems + $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default/test-unit-*.gemspec $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default/ + $(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 @@ -438,13 +1261,13 @@ endef define Package/ruby-xmlrpc/install $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER) $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/xmlrpc $(1)/usr/lib/ruby/$(PKG_LIBVER)/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/xmlrpc.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/ endef define Package/ruby-yaml/install ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \ usr/lib/ruby/$(PKG_LIBVER)/yaml \ usr/lib/ruby/$(PKG_LIBVER)/yaml.rb \ - usr/lib/ruby/$(PKG_LIBVER)/*/syck.so \ ) | ( cd $(1); $(TAR) -xf - ) endef @@ -462,24 +1285,54 @@ endef $(eval $(call BuildPackage,ruby)) $(eval $(call BuildPackage,libruby)) -$(eval $(call BuildPackage,ruby-core)) +$(eval $(call BuildPackage,ruby-stdlib)) +$(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)) +$(eval $(call BuildPackage,ruby-fiddle)) +$(eval $(call BuildPackage,ruby-filelib)) $(eval $(call BuildPackage,ruby-gdbm)) $(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-ncurses)) +$(eval $(call BuildPackage,ruby-json)) +$(eval $(call BuildPackage,ruby-logger)) +$(eval $(call BuildPackage,ruby-math)) +$(eval $(call BuildPackage,ruby-minitest)) +$(eval $(call BuildPackage,ruby-misc)) +$(eval $(call BuildPackage,ruby-mkmf)) +$(eval $(call BuildPackage,ruby-multithread)) +$(eval $(call BuildPackage,ruby-net)) $(eval $(call BuildPackage,ruby-nkf)) $(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-unit)) +$(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)) diff --git a/lang/ruby/files/ruby b/lang/ruby/files/ruby new file mode 100644 index 000000000..e4904fc2f --- /dev/null +++ b/lang/ruby/files/ruby @@ -0,0 +1,5 @@ +#!/bin/sh +if ! [ -r "@RUBY_LIBPATH@/rubygems.rb" ]; then + exec @RUBY_BINPATH@ --disable-gems "$@" +fi +exec @RUBY_BINPATH@ "$@" diff --git a/lang/ruby/patches/001-rdoc-remove_gems_dep.patch b/lang/ruby/patches/001-rdoc-remove_gems_dep.patch new file mode 100644 index 000000000..afe81e83b --- /dev/null +++ b/lang/ruby/patches/001-rdoc-remove_gems_dep.patch @@ -0,0 +1,32 @@ +--- ruby-2.1.2.orig/lib/rdoc.rb 2014-09-02 17:14:28.719224215 -0300 ++++ ruby-2.1.2/lib/rdoc.rb 2014-09-02 17:14:28.762223911 -0300 +@@ -109,6 +109,8 @@ + def self.load_yaml + begin + gem 'psych' ++ rescue NameError => e # --disable-gems ++ raise unless e.name == :gem + rescue Gem::LoadError + end + +--- ruby-2.1.2.orig/lib/rdoc/markdown.rb 2014-09-02 17:14:28.761223918 -0300 ++++ ruby-2.1.2/lib/rdoc/markdown.rb 2014-09-02 17:14:28.805223607 -0300 +@@ -525,7 +525,6 @@ + + + +- require 'rubygems' + require 'rdoc' + require 'rdoc/markup/to_joined_paragraph' + require 'rdoc/markdown/entities' +--- ruby-2.1.2.orig/lib/rdoc/text.rb 2014-09-02 17:14:28.721224201 -0300 ++++ ruby-2.1.2/lib/rdoc/text.rb 2014-09-02 17:14:28.764223897 -0300 +@@ -10,6 +10,8 @@ + + begin + gem 'json' ++rescue NameError => e # --disable-gems ++ raise unless e.name == :gem + rescue Gem::LoadError + end + diff --git a/lang/ruby/patches/002-minitest-remove_gems_dep.patch b/lang/ruby/patches/002-minitest-remove_gems_dep.patch new file mode 100644 index 000000000..f53490eee --- /dev/null +++ b/lang/ruby/patches/002-minitest-remove_gems_dep.patch @@ -0,0 +1,13 @@ +--- ruby-2.1.2.orig/lib/minitest/autorun.rb 2014-09-03 02:22:29.769909573 -0300 ++++ ruby-2.1.2/lib/minitest/autorun.rb 2014-09-03 02:22:29.768909580 -0300 +@@ -6,8 +6,9 @@ + ###################################################################### + + begin +- require 'rubygems' + gem 'minitest' ++rescue NameError => e # --disable-gems ++ raise unless e.name == :gem + rescue Gem::LoadError + # do nothing + end diff --git a/lang/ruby/patches/003-digest_rmd160_wrong_name_fix.patch b/lang/ruby/patches/003-digest_rmd160_wrong_name_fix.patch new file mode 100644 index 000000000..2dc49f647 --- /dev/null +++ b/lang/ruby/patches/003-digest_rmd160_wrong_name_fix.patch @@ -0,0 +1,12 @@ +diff -r -u ruby-2.1.2.old/ext/digest/rmd160/extconf.rb ruby-2.1.2/ext/digest/rmd160/extconf.rb +--- ruby-2.1.2.old/ext/digest/rmd160/extconf.rb 2012-11-26 22:58:52.000000000 -0200 ++++ ruby-2.1.2/ext/digest/rmd160/extconf.rb 2014-09-17 14:20:57.537367488 -0300 +@@ -14,7 +14,7 @@ + require File.expand_path('../../../openssl/deprecation', __FILE__) + + if !with_config("bundled-rmd160") && +- have_library("crypto") && OpenSSL.check_func("RMD160_Transform", "openssl/ripemd.h") ++ have_library("crypto") && OpenSSL.check_func("RIPEMD160_Transform", "openssl/ripemd.h") + $objs << "rmd160ossl.#{$OBJEXT}" + else + $objs << "rmd160.#{$OBJEXT}" diff --git a/lang/ruby/patches/004-digest_dont-link-ssl-if-not-needed.patch b/lang/ruby/patches/004-digest_dont-link-ssl-if-not-needed.patch new file mode 100644 index 000000000..792f76c8c --- /dev/null +++ b/lang/ruby/patches/004-digest_dont-link-ssl-if-not-needed.patch @@ -0,0 +1,117 @@ +--- ruby-2.1.2/ext/digest/md5/extconf.rb 2012-11-26 22:58:52.000000000 -0200 ++++ ruby-2.1.2/ext/digest/md5/extconf.rb 2014-09-16 19:25:21.120457409 -0300 +@@ -9,14 +9,21 @@ + + $objs = [ "md5init.#{$OBJEXT}" ] + +-dir_config("openssl") +-pkg_config("openssl") +-require File.expand_path('../../../openssl/deprecation', __FILE__) ++if !with_config("bundled-md5") ++ dir_config("openssl") ++ pkg_config("openssl") ++ require File.expand_path('../../../openssl/deprecation', __FILE__) ++ if have_library("crypto") && OpenSSL.check_func("MD5_Transform", "openssl/md5.h") ++ $use_bundled=false ++ else ++ $use_bundled=true ++ end ++else ++ $use_bundled=true ++end + +-if !with_config("bundled-md5") && +- have_library("crypto") && OpenSSL.check_func("MD5_Transform", "openssl/md5.h") ++if !$use_bundled + $objs << "md5ossl.#{$OBJEXT}" +- + else + $objs << "md5.#{$OBJEXT}" + end +--- ruby-2.1.2/ext/digest/rmd160/extconf.rb 2012-11-26 22:58:52.000000000 -0200 ++++ ruby-2.1.2/ext/digest/rmd160/extconf.rb 2014-09-16 19:29:11.425628541 -0300 +@@ -9,12 +9,20 @@ + + $objs = [ "rmd160init.#{$OBJEXT}" ] + +-dir_config("openssl") +-pkg_config("openssl") +-require File.expand_path('../../../openssl/deprecation', __FILE__) ++if !with_config("bundled-rmd160") ++ dir_config("openssl") ++ pkg_config("openssl") ++ require File.expand_path('../../../openssl/deprecation', __FILE__) ++ if have_library("crypto") && OpenSSL.check_func("RIPEMD160_Transform", "openssl/ripemd.h") ++ $use_bundled=false ++ else ++ $use_bundled=true ++ end ++else ++ $use_bundled=true ++end + +-if !with_config("bundled-rmd160") && +- have_library("crypto") && OpenSSL.check_func("RIPEMD160_Transform", "openssl/ripemd.h") ++if !$use_bundled + $objs << "rmd160ossl.#{$OBJEXT}" + else + $objs << "rmd160.#{$OBJEXT}" +--- ruby-2.1.2/ext/digest/sha1/extconf.rb 2012-11-26 22:58:52.000000000 -0200 ++++ ruby-2.1.2/ext/digest/sha1/extconf.rb 2014-09-16 19:30:09.359168494 -0300 +@@ -9,12 +9,20 @@ + + $objs = [ "sha1init.#{$OBJEXT}" ] + +-dir_config("openssl") +-pkg_config("openssl") +-require File.expand_path('../../../openssl/deprecation', __FILE__) ++if !with_config("bundled-sha1") ++ dir_config("openssl") ++ pkg_config("openssl") ++ require File.expand_path('../../../openssl/deprecation', __FILE__) ++ if have_library("crypto") && OpenSSL.check_func("SHA1_Transform", "openssl/sha.h") ++ $use_bundled=false ++ else ++ $use_bundled=true ++ end ++else ++ $use_bundled=true ++end + +-if !with_config("bundled-sha1") && +- have_library("crypto") && OpenSSL.check_func("SHA1_Transform", "openssl/sha.h") ++if !$use_bundled + $objs << "sha1ossl.#{$OBJEXT}" + else + $objs << "sha1.#{$OBJEXT}" +--- ruby-2.1.2/ext/digest/sha2/extconf.rb 2012-11-26 22:58:52.000000000 -0200 ++++ ruby-2.1.2/ext/digest/sha2/extconf.rb 2014-09-16 19:31:31.833513570 -0300 +@@ -9,14 +9,22 @@ + + $objs = [ "sha2init.#{$OBJEXT}" ] + +-dir_config("openssl") +-pkg_config("openssl") +-require File.expand_path('../../../openssl/deprecation', __FILE__) +- +-if !with_config("bundled-sha2") && +- have_library("crypto") && ++if !with_config("bundled-sha2") ++ dir_config("openssl") ++ pkg_config("openssl") ++ require File.expand_path('../../../openssl/deprecation', __FILE__) ++ if have_library("crypto") && + %w[SHA256 SHA512].all? {|d| OpenSSL.check_func("#{d}_Transform", "openssl/sha.h")} && + %w[SHA256 SHA512].all? {|d| have_type("#{d}_CTX", "openssl/sha.h")} ++ $use_bundled=false ++ else ++ $use_bundled=true ++ end ++else ++ $use_bundled=true ++end ++ ++if !$use_bundled + $objs << "sha2ossl.#{$OBJEXT}" + $defs << "-DSHA2_USE_OPENSSL" + else diff --git a/lang/ruby/ruby_find_pkgsdeps b/lang/ruby/ruby_find_pkgsdeps new file mode 100644 index 000000000..06587ec0e --- /dev/null +++ b/lang/ruby/ruby_find_pkgsdeps @@ -0,0 +1,265 @@ +#!/usr/bin/ruby -Eutf-8 +# encoding: utf-8 +# +# Find dependencies between ruby packages +# +# Must run inside a openwrt with all *ruby* packages installed +# + +failed = false + +puts "Looking for installed ruby packages..." +packages=`opkg list-installed '*ruby*' | cut -d' ' -f 1`.split("\n") + +puts "Looking for packages files..." +package_files=Hash.new([]) +packages.each do + |pkg| + files=`opkg files "#{pkg}" | sed -e 1d`.split("\n") + package_files[pkg]=files if files +end + +require_regex=/^require ["']([^"']+)["'].*/ +require_regex_ignore=/^require ([a-zA-Z\$]|["']$|.*\/$)/ +require_ignore=%w{drb/invokemethod16 foo rubygems/defaults/operating_system win32console java Win32API + builder/xchar json/pure simplecov win32/sspi rdoc/markdown/literals_1_8 enumerator win32/resolv rbtree + nqxml/streamingparser nqxml/treeparser xmlscan/parser xmlscan/scanner xmltreebuilder xml/parser xmlparser xml/encoding-ja xmlencoding-ja + iconv uconv} + +builtin_enc=[ + Encoding.find("ASCII-8BIT"), + Encoding.find("UTF-8"), + Encoding.find("UTF-7"), + Encoding.find("US-ASCII"), +] + +puts "Looking for requires in files..." +files_requires=Hash.new([]) +packages.each do + |pkg| + package_files[pkg].each do + |file| + next if not File.file?(file) + + if not file =~ /.rb$/ + if File.executable?(file) + magic=`head -c50 '#{file}' | head -1` + begin + if not magic =~ /ruby/ + next + end + rescue + next + end + else + next + end + end + #puts "Checking #{file}..." + File.open(file, "r") do + |f| + lineno=0 + while line=f.gets() do + lineno+=1; encs=[]; requires=[]; need_encdb=false + + line=line.chomp.gsub!(/^[[:blank:]]*/,"") + + case line + when /^#.*coding *:/ + if lineno <= 2 + enc=line.sub(/.*coding *: */,"").sub(/ .*/,"") + encs << Encoding.find(enc) + end + end + line.gsub!(/#.*/,"") + case line + when "__END__" + break + when /^require / + #puts "#{file}:#{line}" + if require_regex_ignore =~ line + #puts "Ignoring #{line} at #{file}:#{lineno} (REGEX)..." + next + end + if not require_regex =~ line + $stderr.puts "Unknown require: '#{line}' at file #{file}:#{lineno}" + failed=true + end + require=line.gsub(require_regex,"\\1") + require.gsub!(/\.(so|rb)$/,"") + + if require_ignore.include?(require) + #puts "Ignoring #{line} at #{file}:#{lineno} (STR)..." + next + end + + files_requires[file]=files_requires[file] + [require] + + when /Encoding::/ + encs=line.scan(/Encoding::[[:alnum:]_]+/).collect {|enc| eval(enc) }.select {|enc| enc.kind_of? Encoding } + need_encdb=true + end + + next if encs.empty? + required_encs = (encs - builtin_enc).collect {|enc| "enc/#{enc.name.downcase.gsub("-","_")}" } + required_encs << "enc/encdb" if need_encdb + + files_requires[file] = files_requires[file] + required_encs + end + end + end +end +exit(1) if failed + +# Add deps from .so +package_files.each do |(pkg,files)| files.each do |file| + case file + when /\/nkf\.so$/ + files_requires[file]= files_requires[file] + ["enc/encdb"] + end +end; end + +puts "Merging requirements into packages..." +package_requires = Hash[packages.collect { |pkg| [pkg, package_files[pkg].collect {|file| files_requires[file] }.inject([],:+).uniq] }] + +weak_dependency=Hash.new([]) +weak_dependency.merge!({ +"ruby-misc"=>["ruby-openssl"], #securerandom.rb +"ruby-debuglib"=>["ruby-readline"], #debug.rb +"ruby-drb"=>["ruby-openssl"], #drb/ssl.rb +"ruby-irb"=>["ruby-rdoc", "ruby-readline"], #irb/cmd/help.rb +"ruby-gems"=>["ruby-openssl","ruby-io-console", #rubygems/commands/cert_command.rb rubygems/user_interaction.rb + "ruby-minitest", "ruby-webrick"], #rubygems/test_case.rb rubygems/server.rb +"ruby-mkmf"=>["ruby-webrick"], #un.rb +"ruby-net"=>["ruby-openssl","ruby-io-console","ruby-zlib"], #net/*.rb +"ruby-optparse"=>["ruby-uri","ruby-datetime"], #optparse/date.rb optparse/uri.rb +"ruby-rake"=>["ruby-net","ruby-testunit","ruby-gems"], #rake/contrib/ftptools.rb rake/runtest.rb /usr/bin/rake +"ruby-rdoc"=>["ruby-gems","ruby-readline","ruby-webrick", + "ruby-minitest"], #/usr/bin/rdoc and others +"ruby-testunit"=>["ruby-gems", "ruby-io-console"], #test/unit/parallel.rb test/unit.rb +"ruby-webrick"=>["ruby-openssl"], #webrick/ssl.rb +}) + +puts "Looking for package dependencies..." +package_provides = {} +package_dependencies = Hash.new([]) +package_requires.each do + |(pkg,requires)| + + requires.each do + |require| + if package_provides.include?(require) + found = package_provides[require] + else + found = package_files.detect {|(pkg,files)| files.detect {|file| $:.detect {|path| "#{path}/#{require}" == file.gsub(/\.(so|rb)$/,"") } } } + if not found + $stderr.puts "#{pkg}: Nobody provides #{require}" + failed = true + next + end + found = found.first + package_provides[require]=found + end + if weak_dependency[pkg].include?(found) + puts "#{pkg}: #{found} provides #{require} (ignored WEAK dep)" + else + puts "#{pkg}: #{found} provides #{require}" + package_dependencies[pkg]=package_dependencies[pkg] + [found] + end + end +end +exit(1) if failed + +package_dependencies.each do + |(pkg,deps)| + package_dependencies[pkg]=deps.uniq.sort - [pkg] +end + +puts "Expanding dependencies..." +begin + changed=false + package_dependencies.each do + |(pkg,deps)| + + next if deps.empty? + + deps_new = deps.collect {|dep| [dep] + package_dependencies[dep] }.inject([],:+).uniq.sort + if not deps == deps_new + puts "#{pkg}: #{deps.join(",")}" + puts "#{pkg}: #{deps_new.join(",")}" + package_dependencies[pkg]=deps_new + changed=true + end + end +end if not changed + +puts "Checking for mutual dependencies..." +package_dependencies.each do + |(pkg,deps)| + if deps.include? pkg + $stderr.puts "#{pkg}: Cycle dependency detected! " + failed = true + end +end +exit(1) if failed + +puts "Removing redundant dependencies..." +package_dependencies.each do + |(pkg,deps)| + package_dependencies[pkg]=deps.uniq - [pkg] +end + +package_dependencies2=package_dependencies.dup +package_dependencies.each do + |(pkg,deps)| + + # Ignore dependencies that are aready required by another dependency + deps_clean = deps.reject {|dep_suspect| deps.detect {|dep_provider| + if package_dependencies[dep_provider].include?(dep_suspect) + puts "#{pkg}: #{dep_suspect} is already required by #{dep_provider}" + true + end + } } + + if not deps==deps_clean + puts "before: #{deps.join(",")}" + puts "after: #{deps_clean.join(",")}" + package_dependencies2[pkg]=deps_clean + end +end +package_dependencies=package_dependencies2 + +puts "Checking current packages dependencies..." +ok=true +package_dependencies.each do + |(pkg,deps)| + current_deps=`opkg depends #{pkg} | sed -r -e '1d;s/^[[:blank:]]*//'`.split("\n") + current_deps.reject!{|dep| dep =~ /^lib/ } + current_deps -= ["ruby"] + + extra_dep = current_deps - deps + $stderr.puts "Package #{pkg} does not need to depend on #{extra_dep.join(" ")} " if not extra_dep.empty? + missing_dep = deps - current_deps + $stderr.puts "Package #{pkg} need to depend on #{missing_dep.join(" ")} " if not missing_dep.empty? + + if not extra_dep.empty? or not missing_dep.empty? + $stderr.puts "define Package/#{pkg}" + $stderr.puts " DEPENDS:=ruby#{([""] +deps).join(" +")}" + ok=false + end +end + +puts "All dependencies are OK." if ok + + +__END__ + +puts RUBY_VERSION, RUBY_PLATFORM +puts 123 + +puts Object.contants + +#RUBY_VER=2.1 +#RUBY_ARCH=i486-linux-gnu +#RUBYLIB=/usr/lib/ruby/$RUBY_VER/ +#RUBYLIB_A=/usr/lib/ruby/$RUBY_ARCH/$RUBY_VER/ diff --git a/lang/ruby/ruby_missingfiles b/lang/ruby/ruby_missingfiles new file mode 100644 index 000000000..f05e9feb8 --- /dev/null +++ b/lang/ruby/ruby_missingfiles @@ -0,0 +1,20 @@ +#!/bin/bash +# + +function list_staging_files { + cd staging_dir/target-*/; find \ + \( \( -name "root-x86" -or -name "packages" -or -name "stamp" -or -name "pkginfo" \) -prune \) -or -true \ + \( -path "*ruby*" -or -name "erb" -or -name "gem" -or -name "irb" -or -name "rake" -or -name "rdoc" -or -name "ri" -or -name "testrb" \) \ + -print | sort +} + +function list_ipkg_files { + for OPKG in bin/*/packages/packages/*ruby*; do + tar --to-stdout -xzf "$OPKG" ./data.tar.gz | tar tz | sed -e 's%/$%%' + done | sort -u +} + + +echo " Staging Packages" +diff -y <(list_staging_files) <(list_ipkg_files) +