|
#
|
|
# Copyright (C) 2006-2016 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
# To Do:
|
|
# - dirs not removed when uninstalling!
|
|
#
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=ruby
|
|
PKG_VERSION:=2.4.0
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_LIBVER:=2.4
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
|
PKG_SOURCE_URL:=http://cache.ruby-lang.org/pub/ruby/$(PKG_LIBVER)/
|
|
PKG_MD5SUM:=440bbbdc49d08d3650f340dccb35986d9399177ad69a204def56e5d3954600cf
|
|
PKG_MAINTAINER:=Luiz Angelo Daros de Luca <luizluca@gmail.com>
|
|
PKG_LICENSE:=BSD-2-Clause
|
|
PKG_LICENSE_FILES:=COPYING
|
|
|
|
PKG_BUILD_DEPENDS:=ruby/host
|
|
PKG_INSTALL:=1
|
|
PKG_BUILD_PARALLEL:=1
|
|
PKG_FIXUP:=autoreconf
|
|
|
|
include $(INCLUDE_DIR)/host-build.mk
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(INCLUDE_DIR)/nls.mk
|
|
|
|
HOST_CONFIGURE_ARGS += \
|
|
--disable-install-doc \
|
|
--disable-install-rdoc \
|
|
--disable-install-capi \
|
|
--without-gmp \
|
|
--with-out-ext=-test-/array/resize,-test-/bignum,-test-/bug-3571,-test-/bug-5832,-test-/bug_reporter,-test-/class,-test-/debug,-test-/dln/empty,-test-/exception,-test-/fatal,-test-/file,-test-/float,-test-/funcall,-test-/gvl/call_without_gvl,-test-/hash,-test-/integer,-test-/iseq_load,-test-/iter,-test-/load/dot.dot,-test-/marshal/compat,-test-/marshal/internal_ivar,-test-/marshal/usr,-test-/memory_status,-test-/method,-test-/notimplement,-test-/num2int,-test-/path_to_class,-test-/popen_deadlock,-test-/postponed_job,-test-/printf,-test-/proc,-test-/rational,-test-/recursion,-test-/st/foreach,-test-/st/numhash,-test-/st/update,-test-/string,-test-/struct,-test-/symbol,-test-/time,-test-/tracepoint,-test-/typeddata,-test-/vm,-test-/wait_for_single_fd,-test-/win32/console,-test-/win32/dln,-test-/win32/fd_setsize,bigdecimal,cgi/escape,continuation,coverage,dbm,etc,fcntl,fiber,fiddle,gdbm,io/console,io/nonblock,io/wait,json,json/generator,json/parser,mathn/complex,mathn/rational,nkf,objspace,openssl,pathname,pty,racc/cparse,rbconfig/sizeof,readline,ripper,rubyvm,sdbm,socket,syslog,win32,win32ole,win32/resolv,zlib
|
|
|
|
# Does not compile with this. Workaround is --without-gmp
|
|
# https://bugs.ruby-lang.org/issues/11940
|
|
#--with-static-linked-ext \
|
|
|
|
# even not used, host build with restricted exts results in gems not being
|
|
# compiled for target (probably some cross compiling problem like checking
|
|
# host for selecting target features)
|
|
# --with-out-ext \
|
|
# --with-ext=thread,stringio \
|
|
|
|
CONFIGURE_ARGS += \
|
|
--enable-shared \
|
|
--enable-static \
|
|
--disable-rpath \
|
|
$(call autoconf_bool,CONFIG_IPV6,ipv6) \
|
|
--disable-install-doc \
|
|
--disable-install-capi \
|
|
--with-ruby-version=minor \
|
|
--with-iconv-dir=$(ICONV_PREFIX) \
|
|
--with-out-ext=win32,win32ole
|
|
|
|
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)
|
|
|
|
# Ruby uses DLDFLAGS and not LDFLAGS for libraries. LDFLAGS is only for execs.
|
|
# However, DLDFLAGS from configure is not passed to Makefile when target is linux.
|
|
# XLDFLAGS is used by both libraries and execs. This is somehow brute force but
|
|
# it will fix when some LD_FLAGS is needef for libraries. As side effect, it will
|
|
# duplicate ld args for binaries.
|
|
CONFIGURE_VARS += XLDFLAGS="$(TARGET_LDFLAGS)"
|
|
|
|
MAKE_FLAGS += \
|
|
DESTDIR="$(PKG_INSTALL_DIR)" \
|
|
SHELL="/bin/bash"
|
|
|
|
define Build/InstallDev
|
|
( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
|
|
. \
|
|
) | ( cd $(1); $(TAR) -xf - )
|
|
endef
|
|
|
|
define Host/Install
|
|
# When ruby version is updated, make install asks in some cases before replace
|
|
# an existing different file. Remove them before install and avoid the interaction
|
|
rm -f $(STAGING_DIR_HOSTPKG)/bin/rake
|
|
$(call Host/Install/Default)
|
|
endef
|
|
|
|
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 RubyDependency
|
|
$(eval \
|
|
$(call Package/Default)
|
|
$(call Package/ruby-$(1))
|
|
FILTER_CONFIG:=$$(strip \
|
|
$$(foreach config_dep, \
|
|
$$(filter @%, \
|
|
$$(foreach v, \
|
|
$$(DEPENDS), \
|
|
$$(if $$(findstring :,$$v),,$$v) \
|
|
) \
|
|
), \
|
|
$$(subst @,,$$(config_dep)) \
|
|
) \
|
|
)
|
|
ifneq (,$$(FILTER_CONFIG))
|
|
FILTER_CONFIG:=($$(subst $$(space),&&,$$(FILTER_CONFIG))):
|
|
endif
|
|
) \
|
|
+$(FILTER_CONFIG)ruby-$(1)
|
|
endef
|
|
|
|
define Package/ruby/config
|
|
comment "Standard Library"
|
|
depends on PACKAGE_ruby
|
|
|
|
config PACKAGE_ruby-stdlib
|
|
depends on PACKAGE_ruby
|
|
default m if ALL
|
|
prompt "Select Ruby Complete Standard Library (ruby-stdlib)"
|
|
|
|
endef
|
|
|
|
define Package/ruby/install
|
|
$(INSTALL_DIR) $(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
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/vendor_ruby/$(PKG_LIBVER)/* $(1)/usr/lib/ruby/vendor_ruby/$(PKG_LIBVER)/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/site_ruby/$(PKG_LIBVER)/* $(1)/usr/lib/ruby/site_ruby/$(PKG_LIBVER)/
|
|
$(SED) "s%@RUBY_LIBPATH@%/usr/lib/ruby/$(PKG_LIBVER)%" $(1)/usr/bin/ruby
|
|
$(SED) "s%@RUBY_BINPATH@%/usr/lib/ruby/ruby$(PKG_LIBVER)-bin%" $(1)/usr/bin/ruby
|
|
endef
|
|
|
|
define Package/libruby
|
|
$(call Package/ruby/Default)
|
|
SUBMENU:=
|
|
SECTION:=libs
|
|
CATEGORY:=Libraries
|
|
TITLE+= (shared library)
|
|
DEPENDS+= +libpthread +librt +libgmp
|
|
ABI_VERSION:=$(PKG_LIBVER)
|
|
endef
|
|
define Package/libruby/install
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libruby.so.* $(1)/usr/lib/
|
|
endef
|
|
|
|
RUBY_STDLIB :=
|
|
define Package/ruby-stdlib
|
|
$(call Package/ruby/Default)
|
|
TITLE:=Ruby standard libraries (metadata for all stdlib subsets)
|
|
DEPENDS:=ruby $(foreach subpackage,$(RUBY_STDLIB),$(strip $(call RubyDependency,$(subpackage))))
|
|
HIDDEN:=1
|
|
endef
|
|
|
|
define Package/ruby-stdlib/description
|
|
This metapackage currently install all ruby-* packages,
|
|
providing a complete Ruby Standard Library.
|
|
|
|
endef
|
|
|
|
# nothing to do
|
|
define Package/ruby-stdlib/install
|
|
/bin/true
|
|
endef
|
|
|
|
define Package/ruby-bigdecimal/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/*/bigdecimal.so
|
|
/usr/lib/ruby/$(PKG_LIBVER)/bigdecimal/
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default/bigdecimal-*.gemspec
|
|
endef
|
|
|
|
define Package/ruby-cgi/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/cgi
|
|
/usr/lib/ruby/$(PKG_LIBVER)/cgi.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/*/cgi/escape.so
|
|
endef
|
|
|
|
define Package/ruby-csv/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/csv.rb
|
|
endef
|
|
|
|
define Package/ruby-datetime/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/time.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/date.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/*/date_core.so
|
|
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-dbm/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/*/dbm.so
|
|
endef
|
|
|
|
define Package/ruby-debuglib/files
|
|
/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
|
|
endef
|
|
|
|
define Package/ruby-did-you-mean/files
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/did_you_mean-*.gemspec
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/did_you_mean-*/
|
|
endef
|
|
define Package/ruby-did-you-mean/files-excluded
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/did_you_mean-*/benchmark
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/did_you_mean-*/doc
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/did_you_mean-*/evaluation
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/did_you_mean-*/test
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/did_you_mean-*/*.md
|
|
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-digest/files
|
|
/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/*
|
|
endef
|
|
|
|
define Package/ruby-drb/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/drb.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/drb
|
|
endef
|
|
|
|
define Package/ruby-enc/files
|
|
/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_*.so
|
|
/usr/lib/ruby/$(PKG_LIBVER)/*/enc/euc_jp.so
|
|
endef
|
|
|
|
define Package/ruby-enc-extra/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/*/enc
|
|
endef
|
|
define Package/ruby-enc-extra/files-excluded
|
|
$(call Package/ruby-enc/files)
|
|
endef
|
|
|
|
define Package/ruby-erb/files
|
|
/usr/bin/erb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/erb.rb
|
|
endef
|
|
|
|
define Package/ruby-fiddle/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/fiddle.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/fiddle/
|
|
/usr/lib/ruby/$(PKG_LIBVER)/*/fiddle.so
|
|
endef
|
|
|
|
define Package/ruby-filelib/files
|
|
/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
|
|
endef
|
|
|
|
define Package/ruby-gdbm/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/*/gdbm.so
|
|
endef
|
|
|
|
define Package/ruby-gems/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/ubygems.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/rubygems.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/rubygems
|
|
endef
|
|
define Package/ruby-gems/files-excluded
|
|
/usr/lib/ruby/$(PKG_LIBVER)/rubygems/test_case.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/rubygems/package/tar_test_case.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/rubygems/installer_test_case.rb
|
|
endef
|
|
define Package/ruby-gems/install
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/gem $(1)/usr/bin/
|
|
$(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
|
|
$(call RubyBuildPackage/install,gems,$(1))
|
|
endef
|
|
|
|
define Package/ruby-io-console/files
|
|
/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
|
|
endef
|
|
|
|
define Package/ruby-irb/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/irb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/irb.rb
|
|
endef
|
|
define Package/ruby-irb/install
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/irb $(1)/usr/bin/
|
|
$(call RubyBuildPackage/install,irb,$(1))
|
|
endef
|
|
|
|
define Package/ruby-json/files
|
|
/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
|
|
endef
|
|
define Package/ruby-json/files-excluded
|
|
$(call Package/ruby-psych/files)
|
|
endef
|
|
|
|
define Package/ruby-logger/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/logger.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/syslog/logger.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/*/syslog.so
|
|
endef
|
|
|
|
define Package/ruby-math/files
|
|
/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)/*/mathn
|
|
/usr/lib/ruby/$(PKG_LIBVER)/matrix.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/matrix
|
|
endef
|
|
|
|
define Package/ruby-minitest/files
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/minitest-*.gemspec
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/minitest-*
|
|
endef
|
|
define Package/ruby-minitest/files-excluded
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/minitest-*/test
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/minitest-*/*.rdoc
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/minitest-*/*.txt
|
|
endef
|
|
|
|
define Package/ruby-misc/files
|
|
/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
|
|
endef
|
|
|
|
define Package/ruby-mkmf/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/mkmf.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/un.rb
|
|
endef
|
|
|
|
define Package/ruby-multithread/files
|
|
/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)/*/io/wait.so
|
|
/usr/lib/ruby/$(PKG_LIBVER)/*/io/nonblock.so
|
|
endef
|
|
|
|
define Package/ruby-net/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/open-uri.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/net/*
|
|
endef
|
|
|
|
define Package/ruby-net-telnet/files
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/net-telnet-*.gemspec
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/net-telnet-*/
|
|
endef
|
|
define Package/ruby-net-telnet/files-excluded
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/net-telnet-*/*.md
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/net-telnet-*/*.txt
|
|
endef
|
|
|
|
define Package/ruby-nkf/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/kconv.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/*/nkf.so
|
|
endef
|
|
|
|
define Package/ruby-openssl/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/openssl
|
|
/usr/lib/ruby/$(PKG_LIBVER)/openssl.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/*/openssl.so
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default/openssl-*.gemspec
|
|
endef
|
|
|
|
define Package/ruby-optparse/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/optparse.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/optionparser.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/optparse
|
|
endef
|
|
|
|
define Package/ruby-patterns/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/observer.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/singleton.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/forwardable.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/forwardable
|
|
endef
|
|
|
|
define Package/ruby-powerassert/files
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/power_assert-*.gemspec
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/power_assert-*
|
|
endef
|
|
define Package/ruby-powerassert/files-excluded
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/power_assert-*/test
|
|
endef
|
|
|
|
define Package/ruby-prettyprint/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/pp.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/prettyprint.rb
|
|
endef
|
|
|
|
define Package/ruby-pstore/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/pstore.rb
|
|
endef
|
|
|
|
define Package/ruby-psych/files
|
|
/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
|
|
endef
|
|
|
|
define Package/ruby-racc/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/racc
|
|
/usr/lib/ruby/$(PKG_LIBVER)/*/racc/*.so
|
|
endef
|
|
|
|
define Package/ruby-rake/files
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/rake-*.gemspec
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/rake-*/
|
|
endef
|
|
define Package/ruby-rake/files-excluded
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/rake-*/doc
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/rake-*/*.rdoc
|
|
endef
|
|
define Package/ruby-rake/install
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rake $(1)/usr/bin/;
|
|
$(call RubyBuildPackage/install,rake,$(1))
|
|
endef
|
|
|
|
define Package/ruby-rbconfig/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/*/rbconfig.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/rbconfig/*
|
|
/usr/lib/ruby/$(PKG_LIBVER)/*/rbconfig/*.so
|
|
endef
|
|
|
|
define Package/ruby-rdoc/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/rdoc.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/rdoc
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/rdoc-*
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default/rdoc-*.gemspec
|
|
endef
|
|
define Package/ruby-rdoc/files-excluded
|
|
/usr/lib/ruby/$(PKG_LIBVER)/rdoc/test_case.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/rdoc/markup/formatter_test_case.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/rdoc/markup/text_formatter_test_case.rb
|
|
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/
|
|
$(call RubyBuildPackage/install,rdoc,$(1))
|
|
endef
|
|
|
|
define Package/ruby-readline/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/*/readline.so
|
|
endef
|
|
|
|
define Package/ruby-rexml/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/rexml
|
|
endef
|
|
|
|
define Package/ruby-rinda/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/rinda
|
|
endef
|
|
|
|
define Package/ruby-ripper/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/ripper.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/ripper
|
|
/usr/lib/ruby/$(PKG_LIBVER)/*/ripper.so
|
|
endef
|
|
|
|
define Package/ruby-rss/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/rss
|
|
/usr/lib/ruby/$(PKG_LIBVER)/rss.rb
|
|
endef
|
|
|
|
define Package/ruby-sdbm/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/*/sdbm.so
|
|
endef
|
|
|
|
define Package/ruby-shell/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/shell.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/shell
|
|
endef
|
|
|
|
define Package/ruby-socket/files
|
|
/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
|
|
endef
|
|
|
|
define Package/ruby-testunit/files
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/test-unit-*.gemspec
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/test-unit-*
|
|
endef
|
|
define Package/ruby-testunit/files-excluded
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/test-unit-*/doc
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/test-unit-*/test
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/test-unit-*/sample
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/test-unit-*/*.md
|
|
endef
|
|
|
|
define Package/ruby-unicodenormalize/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/unicode_normalize.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/unicode_normalize
|
|
endef
|
|
|
|
define Package/ruby-uri/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/uri.rb
|
|
/usr/lib/ruby/$(PKG_LIBVER)/uri
|
|
endef
|
|
|
|
define Package/ruby-webrick/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/webrick
|
|
/usr/lib/ruby/$(PKG_LIBVER)/webrick.rb
|
|
endef
|
|
|
|
define Package/ruby-xmlrpc/files
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/xmlrpc-*
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/xmlrpc-*.gemspec
|
|
endef
|
|
define Package/ruby-xmlrpc/files-excluded
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/xmlrpc-0.2.1/*.md
|
|
/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/xmlrpc-0.2.1/*.txt
|
|
endef
|
|
|
|
define Package/ruby-yaml/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/yaml
|
|
/usr/lib/ruby/$(PKG_LIBVER)/yaml.rb
|
|
endef
|
|
|
|
define Package/ruby-zlib/files
|
|
/usr/lib/ruby/$(PKG_LIBVER)/*/zlib.so
|
|
endef
|
|
|
|
RUBY_FILES = $(strip $(call Package/ruby-$(1)/files))
|
|
RUBY_FILES_EXCLUDED = $(strip $(call Package/ruby-$(1)/files-excluded))
|
|
|
|
# 1: short name
|
|
# 2: install dir
|
|
define RubyBuildPackage/install
|
|
( \
|
|
cd $(PKG_INSTALL_DIR) && \
|
|
$(TAR) -cf - \
|
|
$(if $(RUBY_FILES_EXCLUDED),--exclude-from <(ls -1d $(patsubst /%,%,$(RUBY_FILES_EXCLUDED)))) \
|
|
--files-from <(ls -1d $(patsubst /%,%,$(RUBY_FILES))) \
|
|
) | ( \
|
|
[ -n "$(2)" ] && cd $(2) && $(TAR) -xf - \
|
|
)
|
|
endef
|
|
|
|
# 1: short name
|
|
# 2: description
|
|
# 3: dependencies on other packages
|
|
define RubyBuildPackage
|
|
RUBY_STDLIB += $(1)
|
|
|
|
# Package definition
|
|
ifndef Package/ruby-$(1)
|
|
define Package/ruby-$(1)
|
|
$(call Package/ruby/Default)
|
|
TITLE:=Ruby $(2)
|
|
DEPENDS:=ruby $(3)
|
|
endef
|
|
endif
|
|
|
|
ifndef Package/ruby-$(1)/description
|
|
define Package/ruby-$(1)/description
|
|
This package contains the ruby $(2).
|
|
|
|
endef
|
|
endif
|
|
|
|
# Description
|
|
ifndef Package/ruby-$(1)/install
|
|
ifndef Package/ruby-$(1)/files
|
|
$$(error It must exists either a Package/ruby-$(1)/install or Package/ruby-$(1)/files)
|
|
endif
|
|
|
|
define Package/ruby-$(1)/description +=
|
|
|
|
Provides:
|
|
$(patsubst /%,
|
|
- /%,$(RUBY_FILES))
|
|
|
|
endef
|
|
|
|
ifneq ($(RUBY_FILES_EXCLUDED),)
|
|
define Package/ruby-$(1)/description +=
|
|
|
|
Except:
|
|
$(patsubst /%,
|
|
- /%,$(RUBY_FILES_EXCLUDED))
|
|
|
|
endef
|
|
endif
|
|
|
|
Package/ruby-$(1)/install=$(call RubyBuildPackage/install,$(1),$$(1))
|
|
endif
|
|
|
|
$$(eval $$(call BuildPackage,ruby-$(1)))
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,libruby))
|
|
$(eval $(call BuildPackage,ruby))
|
|
$(eval $(call RubyBuildPackage,bigdecimal,Arbitrary-precision decimal floating-point library,))
|
|
$(eval $(call RubyBuildPackage,cgi,CGI support toolkit,+ruby-filelib +ruby-pstore))
|
|
$(eval $(call RubyBuildPackage,csv,CSV library,+ruby-patterns +ruby-datetime +ruby-enc +ruby-misc))
|
|
$(eval $(call RubyBuildPackage,datetime,date library))
|
|
$(eval $(call RubyBuildPackage,dbm,support for dbm,+libdb47))
|
|
$(eval $(call RubyBuildPackage,debuglib,debug library,+ruby-prettyprint))
|
|
$(eval $(call RubyBuildPackage,did-you-mean,did you mean? experience,+ruby-misc))
|
|
$(eval $(call RubyBuildPackage,digest,Digest Library,+RUBY_DIGEST_USE_OPENSSL:libopenssl))
|
|
$(eval $(call RubyBuildPackage,drb,distributed object system,+ruby-filelib +ruby-patterns +ruby-socket))
|
|
$(eval $(call RubyBuildPackage,enc,character re-coding library charset (small subset),))
|
|
$(eval $(call RubyBuildPackage,enc-extra,character re-coding library charset (extra subset),+ruby-enc))
|
|
$(eval $(call RubyBuildPackage,erb,(embedded interpreter),+ruby-cgi))
|
|
$(eval $(call RubyBuildPackage,fiddle,libffi wrapper,+libffi))
|
|
$(eval $(call RubyBuildPackage,filelib,file utils library,+ruby-enc +ruby-misc))
|
|
$(eval $(call RubyBuildPackage,gdbm,support for gdbm,+libgdbm))
|
|
$(eval $(call RubyBuildPackage,gems,gems packet management,+ruby-net +ruby-rdoc))
|
|
$(eval $(call RubyBuildPackage,io-console,Console interface,))
|
|
$(eval $(call RubyBuildPackage,irb,(interactive shell),+ruby-debuglib +ruby-filelib +ruby-math))
|
|
$(eval $(call RubyBuildPackage,json,support for JSON,+ruby-datetime +ruby-misc))
|
|
$(eval $(call RubyBuildPackage,logger,logger and syslog library,+ruby-multithread))
|
|
$(eval $(call RubyBuildPackage,math,math library,+ruby-patterns +ruby-misc))
|
|
$(eval $(call RubyBuildPackage,minitest,Gem minitest,+ruby-gems))
|
|
$(eval $(call RubyBuildPackage,misc,standard libraries subset (miscellaneous files),))
|
|
$(eval $(call RubyBuildPackage,mkmf,makefile library,+ruby-filelib +ruby-optparse +ruby-rbconfig))
|
|
$(eval $(call RubyBuildPackage,multithread,multithread library,+ruby-misc))
|
|
$(eval $(call RubyBuildPackage,net,Network Protocols Library,+ruby-datetime +ruby-digest +ruby-filelib +ruby-uri))
|
|
$(eval $(call RubyBuildPackage,net-telnet,telnet client,+ruby-net))
|
|
$(eval $(call RubyBuildPackage,nkf,Network Kanji Filter,+ruby-enc))
|
|
$(eval $(call RubyBuildPackage,openssl,support for openssl,+ruby-enc +ruby-multithread +libopenssl))
|
|
$(eval $(call RubyBuildPackage,optparse,command-line option analysis,+ruby-misc))
|
|
$(eval $(call RubyBuildPackage,patterns,design patterns implementation,))
|
|
$(eval $(call RubyBuildPackage,powerassert,Gem power_assert,+ruby-ripper +ruby-debuglib))
|
|
$(eval $(call RubyBuildPackage,prettyprint,PrettyPrint library,+ruby-misc))
|
|
$(eval $(call RubyBuildPackage,pstore,file based persistence,+ruby-digest +ruby-enc))
|
|
$(eval $(call RubyBuildPackage,psych,YAML parser and emitter,+ruby-bigdecimal +ruby-datetime +ruby-misc +ruby-enc +libyaml))
|
|
$(eval $(call RubyBuildPackage,racc,LALR parser generator,))
|
|
$(eval $(call RubyBuildPackage,rake,Rake (make replacement),+ruby-filelib +ruby-optparse +ruby-patterns +ruby-rbconfig +ruby-multithread))
|
|
$(eval $(call RubyBuildPackage,rbconfig,RbConfig,))
|
|
$(eval $(call RubyBuildPackage,rdoc,documentation generator,+ruby-erb +ruby-irb +ruby-json +ruby-racc +ruby-rake +ruby-yaml +ruby-zlib))
|
|
$(eval $(call RubyBuildPackage,readline,support for readline,+libncurses +libreadline))
|
|
$(eval $(call RubyBuildPackage,rexml,XML toolkit,+ruby-patterns +ruby-enc +ruby-misc))
|
|
$(eval $(call RubyBuildPackage,rinda,Linda paradigm implementation,+ruby-drb))
|
|
$(eval $(call RubyBuildPackage,ripper,script parser,))
|
|
$(eval $(call RubyBuildPackage,rss,RSS toolkit,+ruby-net +ruby-nkf +ruby-rexml))
|
|
$(eval $(call RubyBuildPackage,sdbm,simple file-based key-value dbm implementation,))
|
|
$(eval $(call RubyBuildPackage,shell,idiomatic Ruby interface,+ruby-patterns +ruby-multithread))
|
|
$(eval $(call RubyBuildPackage,socket,socket support,+ruby-multithread))
|
|
$(eval $(call RubyBuildPackage,testunit,Gem test-unit,+ruby-csv +ruby-erb +ruby-optparse +ruby-powerassert +ruby-rexml +ruby-yaml))
|
|
$(eval $(call RubyBuildPackage,unicodenormalize,String additions for Unicode normalization,+ruby-enc +ruby-enc-extra))
|
|
$(eval $(call RubyBuildPackage,uri,library to handle URI,+ruby-socket +ruby-enc))
|
|
$(eval $(call RubyBuildPackage,webrick,Web server toolkit,+ruby-erb +ruby-net +ruby-patterns +ruby-rbconfig))
|
|
$(eval $(call RubyBuildPackage,xmlrpc,XML-RPC toolkit,+ruby-rexml +ruby-webrick))
|
|
$(eval $(call RubyBuildPackage,yaml,YAML toolkit,+ruby-dbm +ruby-pstore +ruby-psych))
|
|
$(eval $(call RubyBuildPackage,zlib,support for zlib,+zlib))
|
|
$(eval $(call BuildPackage,ruby-stdlib))
|
|
$(eval $(call HostBuild))
|