Commit 787dcdd7 authored by David Anders's avatar David Anders
Browse files

added ruby package per case 0000566

parent 59e9a3c8
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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"

package/ruby/Config.in

0 → 100644
+7 −0
Original line number Diff line number Diff line
config BR2_PACKAGE_RUBY
	bool "ruby"
	default n
	help
	  Object Oriented Scripting Language.

	  http://www.ruby-lang.org/
+29 −0
Original line number Diff line number Diff line
--- 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

package/ruby/ruby.mk

0 → 100644
+70 −0
Original line number Diff line number Diff line
#############################################################
#
# 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