# # Copyright (C) 2006-2009 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # include $(TOPDIR)/rules.mk PKG_NAME:=ruby PKG_VERSION:=1.8.6-p287 PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=ftp://ftp.ruby-lang.org/pub/ruby/1.8/ PKG_MD5SUM:=80b5f3db12531d36e6c81fac6d05dda9 include $(INCLUDE_DIR)/package.mk define Package/ruby/Default SUBMENU:=Ruby SECTION:=lang CATEGORY:=Languages TITLE:=Ruby scripting language URL:=http://www.ruby-lang.org/ endef define Package/ruby/Default/description 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 $(call Package/ruby/Default) TITLE+= (interpreter) DEPENDS:=+libruby endef define Package/ruby/description $(call Package/ruby/Default/description) endef define Package/libruby $(call Package/ruby/Default) SUBMENU:= SECTION:=libs CATEGORY:=Libraries TITLE+= (shared library) endef # Ongoing work to break up ruby's standard library into coherent pieces # with minimal dependencies between them define Package/ruby-core $(call Package/ruby/Default) TITLE:=Ruby standard libraries DEPENDS:=ruby endef define Package/ruby-cgi $(call Package/ruby/Default) TITLE:= Ruby CGI support toolkit DEPENDS:=ruby endef define Package/ruby-erb $(call Package/ruby/Default) TITLE+= (embedded interpreter) DEPENDS:=ruby endef define Package/ruby-gdbm $(call Package/ruby/Default) TITLE:=Ruby support for gdbm DEPENDS:=ruby +libgdbm endef define Package/ruby-irb $(call Package/ruby/Default) TITLE+= (interactive shell) DEPENDS:=ruby +ruby-core endef define Package/ruby-ncurses $(call Package/ruby/Default) TITLE:=Ruby support for ncurses DEPENDS:=ruby +libncurses endef define Package/ruby-nkf $(call Package/ruby/Default) TITLE:=Ruby Network Kanji Filter DEPENDS:=ruby endef define Package/ruby-openssl $(call Package/ruby/Default) TITLE:=Ruby support for openssl DEPENDS:=ruby +libopenssl endef define Package/ruby-rdoc $(call Package/ruby/Default) TITLE+= (documentation generator) DEPENDS:=ruby endef define Package/ruby-readline $(call Package/ruby/Default) TITLE:=Ruby support for readline DEPENDS:=ruby +libncurses +libreadline endef define Package/ruby-rexml $(call Package/ruby/Default) TITLE:=Ruby XML toolkit DEPENDS:=ruby endef define Package/ruby-rss $(call Package/ruby/Default) TITLE:=Ruby RSS toolkit DEPENDS:=ruby endef define Package/ruby-soap $(call Package/ruby/Default) TITLE:=Ruby SOAP toolkit DEPENDS:=ruby endef define Package/ruby-unit $(call Package/ruby/Default) TITLE:=Ruby unit testing toolkit DEPENDS:=ruby endef define Package/ruby-webrick $(call Package/ruby/Default) TITLE:=Ruby Web server toolkit DEPENDS:=ruby endef define Package/ruby-wsdl $(call Package/ruby/Default) TITLE:=Ruby WSDL 1.1 toolkit DEPENDS:=ruby endef define Package/ruby-xmlrpc $(call Package/ruby/Default) TITLE:=Ruby XML-RPC toolkit DEPENDS:=ruby endef define Package/ruby-xsd $(call Package/ruby/Default) TITLE:=Ruby XML Schema Datatypes toolkit DEPENDS:=ruby endef define Package/ruby-yaml $(call Package/ruby/Default) TITLE:=Ruby YAML toolkit DEPENDS:=ruby endef define Package/ruby-zlib $(call Package/ruby/Default) TITLE:=Ruby support for zlib DEPENDS:=ruby +zlib endef CONFIGURE_ARGS += \ --enable-shared \ --enable-static \ --disable-rpath \ --enable-ipv6 \ --enable-wide-getaddrinfo \ CONFIGURE_VARS += \ ac_cv_func_setpgrp_void=yes TARGET_LDFLAGS += -L$(PKG_BUILD_DIR) MAKE_FLAGS += \ DESTDIR="$(PKG_INSTALL_DIR)" \ SHELL="/bin/bash" \ all install define Package/ruby/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ruby $(1)/usr/bin/ endef define Package/libruby/install $(INSTALL_DIR) $(1)/usr/lib $(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/1.8/*/curses.so \ \ $(1)/usr/lib/ruby/1.8/*/gdbm.so \ \ $(1)/usr/lib/ruby/1.8/kconv.rb \ $(1)/usr/lib/ruby/1.8/*/nkf.so \ \ $(1)/usr/lib/ruby/1.8/digest \ $(1)/usr/lib/ruby/1.8/digest.rb \ $(1)/usr/lib/ruby/1.8/*/digest \ $(1)/usr/lib/ruby/1.8/*/digest.so \ $(1)/usr/lib/ruby/1.8/openssl \ $(1)/usr/lib/ruby/1.8/openssl.rb \ $(1)/usr/lib/ruby/1.8/*/openssl.so \ $(1)/usr/lib/ruby/1.8/md5.rb \ $(1)/usr/lib/ruby/1.8/rmd160.rb \ $(1)/usr/lib/ruby/1.8/sha1.rb \ $(1)/usr/lib/ruby/1.8/sha2.rb \ $(1)/usr/lib/ruby/1.8/drb/ssl.rb \ $(1)/usr/lib/ruby/1.8/net/ftptls.rb \ $(1)/usr/lib/ruby/1.8/net/https.rb \ $(1)/usr/lib/ruby/1.8/net/telnets.rb \ $(1)/usr/lib/ruby/1.8/webrick/ssl.rb \ \ $(1)/usr/lib/ruby/1.8/*/readline.so \ $(1)/usr/lib/ruby/1.8/irb/completion.rb \ $(1)/usr/lib/ruby/1.8/irb/ext/save-history.rb \ \ $(1)/usr/lib/ruby/1.8/*/zlib.so \ \ $(1)/usr/lib/ruby/1.8/erb.rb \ \ $(1)/usr/lib/ruby/1.8/irb.rb \ $(1)/usr/lib/ruby/1.8/irb \ \ $(1)/usr/lib/ruby/1.8/rdoc \ \ $(1)/usr/lib/ruby/1.8/cgi \ $(1)/usr/lib/ruby/1.8/cgi.rb \ $(1)/usr/lib/ruby/1.8/cgi-lib.rb \ \ $(1)/usr/lib/ruby/1.8/rexml \ \ $(1)/usr/lib/ruby/1.8/rss \ $(1)/usr/lib/ruby/1.8/rss.rb \ \ $(1)/usr/lib/ruby/1.8/soap \ \ $(1)/usr/lib/ruby/1.8/rubyunit.rb \ $(1)/usr/lib/ruby/1.8/runit \ $(1)/usr/lib/ruby/1.8/test \ \ $(1)/usr/lib/ruby/1.8/webrick \ $(1)/usr/lib/ruby/1.8/webrick.rb \ \ $(1)/usr/lib/ruby/1.8/wsdl \ \ $(1)/usr/lib/ruby/1.8/xmlrpc \ \ $(1)/usr/lib/ruby/1.8/xsd \ \ $(1)/usr/lib/ruby/1.8/yaml \ $(1)/usr/lib/ruby/1.8/yaml.rb \ $(1)/usr/lib/ruby/1.8/*/syck.so find $(1) -name '*.h' | xargs rm -f endef define Package/ruby-cgi/install $(INSTALL_DIR) $(1)/usr/lib/ruby/1.8 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/1.8/cgi $(1)/usr/lib/ruby/1.8/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/1.8/cgi.rb $(1)/usr/lib/ruby/1.8/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/1.8/cgi-lib.rb $(1)/usr/lib/ruby/1.8/ endef define Package/ruby-erb/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/erb $(1)/usr/bin/ $(INSTALL_DIR) $(1)/usr/lib/ruby/1.8/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/1.8/erb.rb $(1)/usr/lib/ruby/1.8/ endef define Package/ruby-gdbm/install ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \ usr/lib/ruby/1.8/*/gdbm.so \ ) | ( cd $(1); $(TAR) -xf - ) endef define Package/ruby-irb/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/irb $(1)/usr/bin/ $(INSTALL_DIR) $(1)/usr/lib/ruby/1.8 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/1.8/irb $(1)/usr/lib/ruby/1.8/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/1.8/irb.rb $(1)/usr/lib/ruby/1.8/ endef define Package/ruby-ncurses/install ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \ usr/lib/ruby/1.8/*/curses.so \ ) | ( cd $(1); $(TAR) -xf - ) endef define Package/ruby-nkf/install ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \ usr/lib/ruby/1.8/kconv.rb \ usr/lib/ruby/1.8/*/nkf.so \ ) | ( cd $(1); $(TAR) -xf - ) endef define Package/ruby-openssl/install ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \ usr/lib/ruby/1.8/digest \ usr/lib/ruby/1.8/digest.rb \ usr/lib/ruby/1.8/*/digest.so \ usr/lib/ruby/1.8/*/digest/*.so \ usr/lib/ruby/1.8/openssl \ usr/lib/ruby/1.8/openssl.rb \ usr/lib/ruby/1.8/*/openssl.so \ usr/lib/ruby/1.8/md5.rb \ usr/lib/ruby/1.8/rmd160.rb \ usr/lib/ruby/1.8/sha1.rb \ usr/lib/ruby/1.8/sha2.rb \ usr/lib/ruby/1.8/drb/ssl.rb \ usr/lib/ruby/1.8/net/ftptls.rb \ usr/lib/ruby/1.8/net/https.rb \ usr/lib/ruby/1.8/net/telnets.rb \ usr/lib/ruby/1.8/webrick/ssl.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/ $(INSTALL_DIR) $(1)/usr/lib/ruby/1.8 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/1.8/rdoc $(1)/usr/lib/ruby/1.8/ endef define Package/ruby-readline/install ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \ usr/lib/ruby/1.8/*/readline.so \ usr/lib/ruby/1.8/irb/completion.rb \ usr/lib/ruby/1.8/irb/ext/save-history.rb \ ) | ( cd $(1); $(TAR) -xf - ) endef define Package/ruby-rexml/install $(INSTALL_DIR) $(1)/usr/lib/ruby/1.8 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/1.8/rexml $(1)/usr/lib/ruby/1.8/ endef define Package/ruby-rss/install $(INSTALL_DIR) $(1)/usr/lib/ruby/1.8 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/1.8/rss $(1)/usr/lib/ruby/1.8/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/1.8/rss.rb $(1)/usr/lib/ruby/1.8/ endef define Package/ruby-soap/install $(INSTALL_DIR) $(1)/usr/lib/ruby/1.8 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/1.8/soap $(1)/usr/lib/ruby/1.8/ endef define Package/ruby-unit/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/testrb $(1)/usr/bin/ $(INSTALL_DIR) $(1)/usr/lib/ruby/1.8 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/1.8/rubyunit.rb $(1)/usr/lib/ruby/1.8/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/1.8/runit $(1)/usr/lib/ruby/1.8/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/1.8/test $(1)/usr/lib/ruby/1.8/ endef define Package/ruby-webrick/install $(INSTALL_DIR) $(1)/usr/lib/ruby/1.8 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/1.8/webrick $(1)/usr/lib/ruby/1.8/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/1.8/webrick.rb $(1)/usr/lib/ruby/1.8/ endef define Package/ruby-wsdl/install $(INSTALL_DIR) $(1)/usr/lib/ruby/1.8 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/1.8/wsdl $(1)/usr/lib/ruby/1.8/ endef define Package/ruby-xmlrpc/install $(INSTALL_DIR) $(1)/usr/lib/ruby/1.8 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/1.8/xmlrpc $(1)/usr/lib/ruby/1.8/ endef define Package/ruby-xsd/install $(INSTALL_DIR) $(1)/usr/lib/ruby/1.8 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/1.8/xsd $(1)/usr/lib/ruby/1.8/ endef define Package/ruby-yaml/install ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \ usr/lib/ruby/1.8/yaml \ usr/lib/ruby/1.8/yaml.rb \ usr/lib/ruby/1.8/*/syck.so \ ) | ( cd $(1); $(TAR) -xf - ) endef define Package/ruby-zlib/install ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \ usr/lib/ruby/1.8/*/zlib.so \ ) | ( cd $(1); $(TAR) -xf - ) endef $(eval $(call RequireCommand,ruby, \ $(PKG_NAME) requires ruby installed on the host-system. \ )) $(eval $(call BuildPackage,ruby)) $(eval $(call BuildPackage,libruby)) $(eval $(call BuildPackage,ruby-core)) $(eval $(call BuildPackage,ruby-cgi)) $(eval $(call BuildPackage,ruby-erb)) $(eval $(call BuildPackage,ruby-gdbm)) $(eval $(call BuildPackage,ruby-irb)) $(eval $(call BuildPackage,ruby-ncurses)) $(eval $(call BuildPackage,ruby-nkf)) $(eval $(call BuildPackage,ruby-openssl)) $(eval $(call BuildPackage,ruby-rdoc)) $(eval $(call BuildPackage,ruby-readline)) $(eval $(call BuildPackage,ruby-rexml)) $(eval $(call BuildPackage,ruby-rss)) $(eval $(call BuildPackage,ruby-soap)) $(eval $(call BuildPackage,ruby-unit)) $(eval $(call BuildPackage,ruby-webrick)) $(eval $(call BuildPackage,ruby-wsdl)) $(eval $(call BuildPackage,ruby-xmlrpc)) $(eval $(call BuildPackage,ruby-xsd)) $(eval $(call BuildPackage,ruby-yaml)) $(eval $(call BuildPackage,ruby-zlib))