summaryrefslogtreecommitdiff
path: root/package/ruby
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2013-10-24 14:59:22 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2013-10-24 14:59:22 +0200
commitd1ee3be7f4b966174d673876f961b44e37b4c85a (patch)
treed1dca9d3273dcf9eae0a72355b101bce1f1c9060 /package/ruby
parentf082cffba0eac8316ec58164ee215e75c8a364ed (diff)
add host build infrastructure; convert file, ncurses, glib and ruby to it. remove unneeded hacks for openldap and mesalib
Diffstat (limited to 'package/ruby')
-rw-r--r--package/ruby/Makefile44
-rw-r--r--package/ruby/patches/patch-configure141
-rw-r--r--package/ruby/patches/patch-configure.orig11
-rw-r--r--package/ruby/patches/patch-missing_isinf_c19
-rw-r--r--package/ruby/patches/patch-missing_isinf_c.orig11
-rw-r--r--package/ruby/patches/patch-missing_isnan_c11
6 files changed, 222 insertions, 15 deletions
diff --git a/package/ruby/Makefile b/package/ruby/Makefile
index 79e4e3a46..cf0bff905 100644
--- a/package/ruby/Makefile
+++ b/package/ruby/Makefile
@@ -4,14 +4,15 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= ruby
-PKG_VERSION:= 1.9.3
-PKG_EXTRAVER:= 0
+PKG_VERSION:= 2.0.0
+PKG_EXTRAVER:= 247
PKG_RELEASE:= 1
-PKG_MD5SUM:= 8e2fef56185cfbaf29d0c8329fc77c05
+PKG_MD5SUM:= c351450a0bed670e0f5ca07da3458a5b
PKG_DESCR:= interpreter for the ruby language
PKG_SECTION:= lang
+PKG_DEPENDS:= librt libpthread libgcc
PKG_URL:= http://www.ruby-lang.org/
-PKG_SITES:= http://ftp.ruby-lang.org/pub/ruby/1.9/
+PKG_SITES:= http://ftp.ruby-lang.org/pub/ruby/2.0/
PKG_NOPARALLEL:= 1
PKG_HOST_DEPENDS:= !freebsd !cygwin
@@ -19,26 +20,38 @@ PKG_HOST_DEPENDS:= !freebsd !cygwin
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}-p${PKG_EXTRAVER}.tar.gz
WRKDIST= ${WRKDIR}/${PKG_NAME}-${PKG_VERSION}-p${PKG_EXTRAVER}
+include ${TOPDIR}/mk/host.mk
include ${TOPDIR}/mk/package.mk
+$(eval $(call HOST_template,RUBY,ruby,${PKG_VERSION}-${PKG_RELEASE}))
$(eval $(call PKG_template,RUBY,ruby,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+# uClibc setpgrp does not take arguments
+CONFIGURE_ENV+= ac_cv_func_setpgrp_void=yes \
+ rb_cv_binary_elf=yes
+CONFIGURE_ARGS+= --disable-install-doc \
+ --with-baseruby=${STAGING_HOST_DIR}/usr/bin/ruby
+
MAKE_FILE:= GNUmakefile
XAKE_FLAGS+= optflags='' debugflags='' dldflags="$(TARGET_LDFLAGS)"
-# uClibc setpgrp does not take arguments
-CONFIGURE_ENV+= ac_cv_func_setpgrp_void=yes rb_cv_binary_elf=yes
-CONFIGURE_ARGS+= --disable-install-doc --with-baseruby=${STAGING_DIR}/bin/ruby
ALL_TARGET:= main
INSTALL_TARGET:= install-nodoc
-pre-configure:
- (cd ${WRKBUILD}; rm -rf config.{cache,status} ; \
- rb_cv_binary_elf=yes ./configure --prefix=$(STAGING_HOST_DIR) --disable-install-doc \
- );
- -$(MAKE) -C ${WRKBUILD} main Q=""
- cp ${WRKBUILD}/ruby ${STAGING_DIR}/bin/ruby
- $(MAKE) -C ${WRKBUILD} install-nodoc
- $(MAKE) -C ${WRKBUILD} clean
+HOST_CONFIGURE_ARGS+= --disable-install-doc \
+ --disable-shared \
+ --prefix=$(HOST_WRKINST)/usr \
+ --bindir=$(HOST_WRKINST)/usr/bin \
+ --mandir=$(HOST_WRKINST)/usr/share/man \
+ --disable-rubygems
+HOST_ALL_TARGET:= main
+HOST_INSTALL_TARGET:= install-nodoc
+HOST_XAKE_FLAGS:= V=1 DESTDIR=""
+
+ruby-hostinstall:
+ $(INSTALL_BIN) $(HOST_WRKINST)/usr/bin/ruby \
+ $(STAGING_HOST_DIR)/usr/bin
+ $(CP) $(HOST_WRKINST)/usr/lib/ruby \
+ $(STAGING_HOST_DIR)/usr/lib
ruby-install:
${INSTALL_DIR} ${IDIR_RUBY}/usr/lib/ruby
@@ -47,4 +60,5 @@ ruby-install:
${CP} ${WRKINST}/usr/lib/ruby/* ${IDIR_RUBY}/usr/lib/ruby
${INSTALL_BIN} ${WRKINST}/usr/bin/* ${IDIR_RUBY}/usr/bin
+include ${TOPDIR}/mk/host-bottom.mk
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/ruby/patches/patch-configure b/package/ruby/patches/patch-configure
new file mode 100644
index 000000000..f278b96ee
--- /dev/null
+++ b/package/ruby/patches/patch-configure
@@ -0,0 +1,141 @@
+--- ruby-2.0.0-p247.orig/configure 2013-06-27 13:16:17.000000000 +0200
++++ ruby-2.0.0-p247/configure 2013-10-24 11:12:04.000000000 +0200
+@@ -7373,138 +7373,6 @@ else
+ fi
+
+
+- # -fstack-protector
+- case "$target_os" in #(
+- mingw*|nacl|haiku) :
+-
+- stack_protector=no
+- ;; #(
+- *) :
+-
+-
+- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -fstack-protector is accepted as CFLAGS" >&5
+-$as_echo_n "checking whether -fstack-protector is accepted as CFLAGS... " >&6; }
+- save_CFLAGS="$CFLAGS"
+-CFLAGS="$CFLAGS $rb_cv_warnflags"
+-if test "${ac_c_werror_flag+set}"; then
+- rb_c_werror_flag="$ac_c_werror_flag"
+-else
+- unset rb_c_werror_flag
+-fi
+-ac_c_werror_flag=yes
+-
+- CFLAGS="$CFLAGS -fstack-protector"
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-
+-int
+-main ()
+-{
+-
+- ;
+- return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_compile "$LINENO"; then :
+- stack_protector=yes
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+-$as_echo "yes" >&6; }
+-else
+- stack_protector=no
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+-$as_echo "no" >&6; }
+-fi
+-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+-
+-CFLAGS="$save_CFLAGS"
+-save_CFLAGS=
+-if test "${rb_c_werror_flag+set}"; then
+- ac_c_werror_flag="$rb_c_werror_flag"
+-else
+- unset ac_c_werror_flag
+-fi
+-
+- if test "x$stack_protector" = xyes; then
+-
+- save_LDFLAGS="$LDFLAGS"
+- LDFLAGS="$LDFLAGS -fstack-protector"
+- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -fstack-protector is accepted as LDFLAGS" >&5
+-$as_echo_n "checking whether -fstack-protector is accepted as LDFLAGS... " >&6; }
+- save_CFLAGS="$CFLAGS"
+-CFLAGS="$CFLAGS $rb_cv_warnflags"
+-if test "${ac_c_werror_flag+set}"; then
+- rb_c_werror_flag="$ac_c_werror_flag"
+-else
+- unset rb_c_werror_flag
+-fi
+-ac_c_werror_flag=yes
+-
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-
+-int
+-main ()
+-{
+-
+- ;
+- return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_link "$LINENO"; then :
+-
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+-$as_echo "yes" >&6; }
+-else
+- stack_protector=broken
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+-$as_echo "no" >&6; }
+-fi
+-rm -f core conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-
+-CFLAGS="$save_CFLAGS"
+-save_CFLAGS=
+-if test "${rb_c_werror_flag+set}"; then
+- ac_c_werror_flag="$rb_c_werror_flag"
+-else
+- unset ac_c_werror_flag
+-fi
+- LDFLAGS="$save_LDFLAGS"
+- save_LDFLAGS=
+-
+- fi
+- ;;
+-esac
+- if test "x$stack_protector" = xyes; then
+- # RUBY_APPEND_OPTION(XCFLAGS, -fstack-protector)
+- case " ${XCFLAGS-} " in #(
+- *' -fstack-protector '*) :
+- ;; #(
+- ' ') :
+- XCFLAGS="-fstack-protector" ;; #(
+- *) :
+- XCFLAGS="$XCFLAGS -fstack-protector" ;;
+-esac
+- # RUBY_APPEND_OPTION(XLDFLAGS, -fstack-protector)
+- case " ${XLDFLAGS-} " in #(
+- *' -fstack-protector '*) :
+- ;; #(
+- ' ') :
+- XLDFLAGS="-fstack-protector" ;; #(
+- *) :
+- XLDFLAGS="$XLDFLAGS -fstack-protector" ;;
+-esac
+- # RUBY_APPEND_OPTION(LDFLAGS, -fstack-protector)
+- case " ${LDFLAGS-} " in #(
+- *' -fstack-protector '*) :
+- ;; #(
+- ' ') :
+- LDFLAGS="-fstack-protector" ;; #(
+- *) :
+- LDFLAGS="$LDFLAGS -fstack-protector" ;;
+-esac
+- fi
+-
+ case "$target_os" in #(
+ mingw*) :
+
diff --git a/package/ruby/patches/patch-configure.orig b/package/ruby/patches/patch-configure.orig
new file mode 100644
index 000000000..0405e2e91
--- /dev/null
+++ b/package/ruby/patches/patch-configure.orig
@@ -0,0 +1,11 @@
+--- ruby-2.0.0-p247.orig/configure 2013-06-27 13:16:17.000000000 +0200
++++ ruby-2.0.0-p247/configure 2013-10-24 10:36:04.000000000 +0200
+@@ -7372,6 +7372,8 @@ else
+ unset ac_c_werror_flag
+ fi
+
++# FIXME
++stack_protector=no
+
+ # -fstack-protector
+ case "$target_os" in #(
diff --git a/package/ruby/patches/patch-missing_isinf_c b/package/ruby/patches/patch-missing_isinf_c
new file mode 100644
index 000000000..6029850b9
--- /dev/null
+++ b/package/ruby/patches/patch-missing_isinf_c
@@ -0,0 +1,19 @@
+--- ruby-2.0.0-p247.orig/missing/isinf.c 2011-05-15 13:55:52.000000000 +0200
++++ ruby-2.0.0-p247/missing/isinf.c 2013-10-24 09:18:55.000000000 +0200
+@@ -5,6 +5,7 @@
+ #define _IEEE 1
+ #include <nan.h>
+
++
+ int
+ isinf(double n)
+ {
+@@ -52,6 +53,8 @@ static double zero(void) { return 0.0; }
+ static double one (void) { return 1.0; }
+ static double inf (void) { return one() / zero(); }
+
++#undef isinf
++
+ int
+ isinf(double n)
+ {
diff --git a/package/ruby/patches/patch-missing_isinf_c.orig b/package/ruby/patches/patch-missing_isinf_c.orig
new file mode 100644
index 000000000..60b60aead
--- /dev/null
+++ b/package/ruby/patches/patch-missing_isinf_c.orig
@@ -0,0 +1,11 @@
+--- ruby-2.0.0-p247.orig/missing/isinf.c 2011-05-15 13:55:52.000000000 +0200
++++ ruby-2.0.0-p247/missing/isinf.c 2013-10-24 09:03:04.000000000 +0200
+@@ -5,6 +5,8 @@
+ #define _IEEE 1
+ #include <nan.h>
+
++#undef isinf
++
+ int
+ isinf(double n)
+ {
diff --git a/package/ruby/patches/patch-missing_isnan_c b/package/ruby/patches/patch-missing_isnan_c
new file mode 100644
index 000000000..f85fef4ec
--- /dev/null
+++ b/package/ruby/patches/patch-missing_isnan_c
@@ -0,0 +1,11 @@
+--- ruby-2.0.0-p247.orig/missing/isnan.c 2010-07-28 10:12:01.000000000 +0200
++++ ruby-2.0.0-p247/missing/isnan.c 2013-10-24 09:02:41.000000000 +0200
+@@ -4,6 +4,8 @@
+
+ static int double_ne(double n1, double n2);
+
++#undef isnan
++
+ int
+ isnan(double n)
+ {