ruby:
authorOliver Ertl <oliver@ertl-net.net>
Mon, 16 Jul 2007 13:15:11 +0000 (13:15 +0000)
committerOliver Ertl <oliver@ertl-net.net>
Mon, 16 Jul 2007 13:15:11 +0000 (13:15 +0000)
 * Update: 1.8.5-p12 > 1.8.6
 * Split into ruby and libruby packages
 * Add patches to make ruby compile
 * Cleanup Makefile

SVN-Revision: 8004

lang/ruby/Makefile
lang/ruby/patches/100-Makefile-in.patch [new file with mode: 0644]
lang/ruby/patches/200-fileutils.rb.patch [new file with mode: 0644]

index db8069d..3987de7 100644 (file)
@@ -9,13 +9,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ruby
-PKG_VERSION:=1.8.5-p12
-PKG_RELEASE:=1
+PKG_VERSION:=1.8.6
+PKG_RELEASE:=2
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=ftp://ftp.ruby-lang.org/pub/ruby/1.8/
-PKG_MD5SUM:=d7d12dd9124c9b7d55cdbbee313e3931
-PKG_CAT:=zcat
+PKG_MD5SUM:=e558a0e00ae318d43bf6ff9af452bad2
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
@@ -25,6 +24,7 @@ include $(INCLUDE_DIR)/package.mk
 define Package/ruby
   SECTION:=lang
   CATEGORY:=Languages
+  DEPENDS:=+libruby
   TITLE:=Ruby object-oriented scripting language interpreter
   DESCRIPTION:=\
        Ruby is the interpreted scripting language for quick and \\\
@@ -34,22 +34,37 @@ define Package/ruby
   URL:=http://www.ruby-lang.org/
 endef
 
-#use Build/Configure/Default
-
-define Build/Compile
-       $(MAKE) -C $(PKG_BUILD_DIR) \
-               DESTDIR="$(PKG_INSTALL_DIR)" \
-               SHELL="/bin/bash" \
-               all install
+define Package/libruby
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=Libraries necessary to run Ruby
+  URL:=http://www.ruby-lang.org/
 endef
 
+CONFIGURE_ARGS += \
+       --enable-shared \
+       --disable-ipv6 \
+       , \
+       ac_cv_func_setpgrp_void=yes
+
+MAKE_FLAGS += \
+       DESTDIR="$(PKG_INSTALL_DIR)" \
+       SHELL="/bin/bash" \
+       all install
+
 define Package/ruby/install
        $(INSTALL_DIR) $(1)/usr/bin
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/ruby $(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
 
 $(eval $(call BuildPackage,ruby))
+$(eval $(call BuildPackage,libruby))
 
-$(eval $(call RequireCommand,/usr/bin/ruby, \
+$(eval $(call RequireCommand,ruby, \
         $(PKG_NAME) requires ruby installed on the host-system. \
 ))
diff --git a/lang/ruby/patches/100-Makefile-in.patch b/lang/ruby/patches/100-Makefile-in.patch
new file mode 100644 (file)
index 0000000..6dce81a
--- /dev/null
@@ -0,0 +1,13 @@
+Index: ruby-1.8.6/Makefile.in
+===================================================================
+--- ruby-1.8.6.orig/Makefile.in        2007-07-16 15:10:57.000000000 +0200
++++ ruby-1.8.6/Makefile.in     2007-07-16 15:10:58.000000000 +0200
+@@ -131,7 +131,7 @@
+               if RUBY_PLATFORM =~ /mswin|bccwin|mingw/; \
+                 class File; \
+                   remove_const :ALT_SEPARATOR; \
+-                  ALT_SEPARATOR = "\\"; \
++                  ALT_SEPARATOR = "\\\\"; \
+                 end; \
+               end; \
+               ' > $@
diff --git a/lang/ruby/patches/200-fileutils.rb.patch b/lang/ruby/patches/200-fileutils.rb.patch
new file mode 100644 (file)
index 0000000..b196737
--- /dev/null
@@ -0,0 +1,13 @@
+Index: ruby-1.8.6/lib/fileutils.rb
+===================================================================
+--- ruby-1.8.6.orig/lib/fileutils.rb   2007-07-16 15:10:57.000000000 +0200
++++ ruby-1.8.6/lib/fileutils.rb        2007-07-16 15:10:58.000000000 +0200
+@@ -1026,7 +1026,7 @@
+     list.each do |path|
+       created = nocreate
+       begin
+-        File.utime(t, t, path)
++        #File.utime(t, t, path)
+       rescue Errno::ENOENT
+         raise if created
+         File.open(path, 'a') {