added ruby package per case 0000566

This commit is contained in:
David Anders 2006-01-23 20:21:02 +00:00
parent 59e9a3c8b8
commit 787dcdd7c7
4 changed files with 107 additions and 0 deletions

View File

@ -108,6 +108,7 @@ source "package/qte/Config.in"
source "package/raidtools/Config.in"
source "package/readline/Config.in"
source "package/rsync/Config.in"
source "package/ruby/Config.in"
source "package/rxvt/Config.in"
source "package/sdl/Config.in"
source "package/sfdisk/Config.in"

7
package/ruby/Config.in Normal file
View File

@ -0,0 +1,7 @@
config BR2_PACKAGE_RUBY
bool "ruby"
default n
help
Object Oriented Scripting Language.
http://www.ruby-lang.org/

View File

@ -0,0 +1,29 @@
--- ruby-1.8.3/configure.in.orig 2005-11-29 11:18:27.000000000 +0100
+++ ruby-1.8.3/configure.in 2005-11-29 11:19:46.000000000 +0100
@@ -529,7 +529,25 @@
fi
AC_FUNC_GETPGRP
-AC_FUNC_SETPGRP
+
+dnl AC_FUNC_SETPGRP does not work if cross compiling
+dnl Instead, assume we will have a prototype for setpgrp if cross compiling.
+if test "$cross_compiling" = no; then
+ AC_FUNC_SETPGRP
+else
+ AC_CACHE_CHECK([whether setpgrp takes no argument], ac_cv_func_setpgrp_void,
+ [AC_TRY_COMPILE([
+#include <unistd.h>
+], [
+ if (setpgrp(1,1) == -1)
+ exit (0);
+ else
+ exit (1);
+], ac_cv_func_setpgrp_void=no, ac_cv_func_setpgrp_void=yes)])
+if test $ac_cv_func_setpgrp_void = yes; then
+ AC_DEFINE(SETPGRP_VOID, 1)
+fi
+fi
AC_C_BIGENDIAN
AC_C_CONST

70
package/ruby/ruby.mk Normal file
View File

@ -0,0 +1,70 @@
#############################################################
#
# ruby
#
#############################################################
RUBY_SOURCE:=ruby-1.8.2.tar.gz
RUBY_SITE:=ftp://ftp.ruby-lang.org/pub/ruby/1.8
RUBY_DIR:=$(BUILD_DIR)/ruby-1.8.2
RUBY_CAT:=zcat
RUBY_BINARY:=ruby
RUBY_TARGET_BINARY:=usr/bin/ruby
$(DL_DIR)/$(RUBY_SOURCE):
$(WGET) -P $(DL_DIR) $(RUBY_SITE)/$(RUBY_SOURCE)
ruby-source: $(DL_DIR)/$(RUBY_SOURCE)
$(RUBY_DIR)/.unpacked: $(DL_DIR)/$(RUBY_SOURCE)
$(RUBY_CAT) $(DL_DIR)/$(RUBY_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
toolchain/patch-kernel.sh $(RUBY_DIR) package/ruby/ ruby-*.patch
(cd $(RUBY_DIR); autoreconf);
touch $(RUBY_DIR)/.unpacked
$(RUBY_DIR)/.configured: $(RUBY_DIR)/.unpacked
(cd $(RUBY_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--libexecdir=/usr/lib \
--sysconfdir=/etc \
--datadir=/usr/share \
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
$(DISABLE_NLS) \
$(DISABLE_LARGEFILE) \
);
touch $(RUBY_DIR)/.configured
$(RUBY_DIR)/$(RUBY_BINARY): $(RUBY_DIR)/.configured
$(MAKE) -C $(RUBY_DIR)
$(TARGET_DIR)/$(RUBY_TARGET_BINARY): $(RUBY_DIR)/$(RUBY_BINARY)
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(RUBY_DIR) install
rm -rf $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
ruby: uclibc $(TARGET_DIR)/$(RUBY_TARGET_BINARY)
ruby-clean:
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(RUBY_DIR) uninstall
-$(MAKE) -C $(RUBY_DIR) clean
ruby-dirclean:
rm -rf $(RUBY_DIR)
#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(strip $(BR2_PACKAGE_RUBY)),y)
TARGETS+=ruby
endif