Эх сурвалжийг харах

add host build infrastructure; convert file, ncurses, glib and ruby to it. remove unneeded hacks for openldap and mesalib

Waldemar Brodkorb 11 жил өмнө
parent
commit
d1ee3be7f4
34 өөрчлөгдсөн 448 нэмэгдсэн , 454 устгасан
  1. 77 0
      mk/host-bottom.mk
  2. 56 0
      mk/host.mk
  3. 6 6
      mk/pkg-bottom.mk
  4. 6 21
      package/MesaLib/Makefile
  5. 0 42
      package/MesaLib/patches/patch-bin_mklib
  6. 0 39
      package/MesaLib/patches/patch-src_gallium_auxiliary_util_u_debug_symbol_c
  7. 0 45
      package/MesaLib/patches/patch-src_gallium_include_pipe_p_config_h
  8. 0 10
      package/MesaLib/patches/patch-src_glsl_Makefile
  9. 0 32
      package/MesaLib/patches/patch-src_glsl_strtod_c
  10. 0 33
      package/MesaLib/patches/patch-src_mesa_main_imports_c
  11. 0 13
      package/MesaLib/patches/patch-src_mesa_main_imports_h
  12. 0 11
      package/MesaLib/patches/patch-src_mesa_main_querymatrix_c
  13. 2 1
      package/db/Makefile
  14. 14 13
      package/file/Makefile
  15. 0 11
      package/file/patches/patch-magic_Makefile_in
  16. 14 20
      package/glib/Makefile
  17. 1 3
      package/libiconv/Makefile
  18. 4 4
      package/libxcb/Makefile
  19. 0 11
      package/libxcb/patches/patch-ltmain_sh
  20. 3 3
      package/mpd/Makefile
  21. 31 22
      package/ncurses/Makefile
  22. 0 16
      package/ncurses/patches/patch-configure
  23. 0 33
      package/ncurses/patches/patch-misc_run_tic_in
  24. 4 4
      package/ncurses/patches/patch-misc_terminfo_src
  25. 0 11
      package/ncurses/patches/patch-progs_Makefile_in
  26. 4 22
      package/openldap/Makefile
  27. 29 15
      package/ruby/Makefile
  28. 141 0
      package/ruby/patches/patch-configure
  29. 11 0
      package/ruby/patches/patch-configure.orig
  30. 19 0
      package/ruby/patches/patch-missing_isinf_c
  31. 11 0
      package/ruby/patches/patch-missing_isinf_c.orig
  32. 11 0
      package/ruby/patches/patch-missing_isnan_c
  33. 4 3
      package/xcb-proto/Makefile
  34. 0 10
      package/xcb-proto/patches/patch-xcb-proto_pc_in

+ 77 - 0
mk/host-bottom.mk

@@ -0,0 +1,77 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+host-extract: ${_HOST_PATCH_COOKIE}
+
+host-configure:
+${_HOST_CONFIGURE_COOKIE}: ${_HOST_PATCH_COOKIE}
+		#@sed -e '/^#/d' ${REORDER_DEPENDENCIES} | \
+		#tsort | while read f; do \
+		#	cd ${WRKSRC}; \
+		#	case $$f in \
+		#	/*) \
+		#		find . -name "$${f#/}" -print | while read i; do \
+		#			touch "$$i"; \
+		#		done;; \
+		#	*) \
+		#		if test -e "$$f" ; then \
+		#			touch "$$f"; \
+		#		fi;; \
+		#	esac; \
+		#done
+		@mkdir -p ${WRKBUILD}
+		@$(CMD_TRACE) "configuring... "
+		@cd ${WRKBUILD}; \
+		    for i in $$(find . -name config.sub);do \
+			if [ -f $$i ]; then \
+				${CP} $$i $$i.bak; \
+				${CP} ${SCRIPT_DIR}/config.sub $$i; \
+			fi; \
+		    done; \
+		    for i in $$(find . -name config.guess);do \
+			if [ -f $$i ]; then \
+			${CP} $$i $$i.bak; \
+			${CP} ${SCRIPT_DIR}/config.guess $$i; \
+		fi; \
+	    done;
+	cd ${WRKBUILD}; rm -f config.{cache,status}; \
+	    env ${HOST_CONFIGURE_ENV} \
+	    ${BASH} ${WRKSRC}/${CONFIGURE_PROG} \
+	    --program-prefix= \
+	    --program-suffix= \
+	    --prefix=/usr \
+	    --bindir=/usr/bin \
+	    --datadir=/usr/share \
+	    --mandir=/usr/share/man \
+	    --libexecdir=/usr/libexec \
+	    --localstatedir=/var \
+	    --sysconfdir=/etc \
+	    --disable-dependency-tracking \
+	    --disable-libtool-lock \
+	    --disable-nls \
+	    ${HOST_CONFIGURE_ARGS} $(MAKE_TRACE)
+	touch $@
+
+host-build:
+${_HOST_BUILD_COOKIE}: ${_HOST_CONFIGURE_COOKIE}
+	@$(CMD_TRACE) "compiling... "
+	cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
+	    ${HOST_MAKE_FLAGS} ${HOST_ALL_TARGET} $(MAKE_TRACE)
+	touch $@
+
+hpkg-install: ${ALL_HOSTINST}
+host-install:
+${_HOST_FAKE_COOKIE}: ${_HOST_BUILD_COOKIE}
+	cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
+	    DESTDIR='${HOST_WRKINST}' ${HOST_FAKE_FLAGS} ${HOST_INSTALL_TARGET} $(MAKE_TRACE)
+	env ${HOST_MAKE_ENV} ${MAKE} hpkg-install $(MAKE_TRACE)
+	rm -rf ${WRKBUILD} ${WRKDIST} ${WRKSRC}
+	exec ${MAKE} host-extract $(MAKE_TRACE)
+	touch $@
+
+${_HOST_COOKIE}:
+	exec ${MAKE} hostpackage
+
+hostpackage: ${ALL_HOSTDIRS}
+	touch ${_HOST_COOKIE}
+

+ 56 - 0
mk/host.mk

@@ -0,0 +1,56 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+HOST_CONFIGURE_ENV+=	CONFIG_SHELL='$(strip ${SHELL})' \
+			CFLAGS='$(strip ${CFLAGS_FOR_BUILD})' \
+			CXXFLAGS='$(strip ${CXXFLAGS_FOR_BUILD})' \
+			CPPFLAGS='$(strip ${CPPFLAGS_FOR_BUILD})' \
+			LDFLAGS='$(strip ${LDFLAGS_FOR_BUILD})'
+
+# this is environment for 'make all' and 'make install'
+HOST_MAKE_ENV?=
+# this is arguments for 'make all' and 'make install'
+HOST_XAKE_FLAGS?=
+# this is arguments for 'make all' ONLY
+HOST_MAKE_FLAGS?=
+# this is arguments for 'make install' ONLY
+HOST_FAKE_FLAGS?=
+HOST_ALL_TARGET?=	all
+HOST_INSTALL_TARGET?=	install
+
+HOST_MAKE_FLAGS+=	${HOST_XAKE_FLAGS} V=1
+HOST_FAKE_FLAGS+=	${HOST_XAKE_FLAGS}
+
+HOST_WRKINST=		${WRKDIR}/host
+
+_HOST_EXTRACT_COOKIE=	${WRKDIST}/.extract_done
+_HOST_PATCH_COOKIE=	${WRKDIST}/.prepared
+_HOST_CONFIGURE_COOKIE=	${WRKBUILD}/.host_configure_done
+_HOST_BUILD_COOKIE=	${WRKBUILD}/.host_build_done
+_HOST_FAKE_COOKIE=	${HOST_WRKINST}/.host_fake_done
+_HOST_COOKIE=		${PACKAGE_DIR}/.stamps/${PKG_NAME}${PKG_VERSION}-${PKG_RELEASE}-host
+
+hostextract: ${_HOST_EXTRACT_COOKIE}
+hostpatch: ${_HOST_PATCH_COOKIE}
+hostconfigure: ${_HOST_CONFIGURE_COOKIE}
+hostbuild: ${_HOST_BUILD_COOKIE}
+hostfake: ${_HOST_FAKE_COOKIE}
+
+# there are some parameters to the HOST_template function
+# 1.) Config.in identifier ADK_PACKAGE_$(1)
+# 2.) name of the package, for single package mostly $(PKG_NAME)
+# 3.) package version (upstream version) and package release (adk version),
+#     always $(PKG_VERSION)-$(PKG_RELEASE)
+
+define HOST_template
+ALL_PKGOPTS+=	$(1)
+PKGNAME_$(1)=	$(2)
+HOSTDIR_$(1)=	$(WRKDIR)/host
+ifneq (${ADK_PACKAGE_$(1)}${DEVELOPER},)
+ALL_HOSTDIRS+=	$${HOSTDIR_$(1)}
+ALL_HOSTINST+=	$(2)-hostinstall
+endif
+
+$$(HOSTDIR_$(1)): ${_HOST_PATCH_COOKIE} ${_HOST_FAKE_COOKIE}
+
+endef

+ 6 - 6
mk/pkg-bottom.mk

@@ -17,7 +17,7 @@ PKG_LIBNAME?=	$(PKG_NAME)
 pre-configure:
 do-configure:
 post-configure:
-${_CONFIGURE_COOKIE}: ${_PATCH_COOKIE}
+${_CONFIGURE_COOKIE}: ${_HOST_COOKIE} ${_PATCH_COOKIE}
 	@sed -e '/^#/d' ${REORDER_DEPENDENCIES} | \
 	tsort | while read f; do \
 		cd ${WRKSRC}; \
@@ -169,15 +169,15 @@ ifeq (,$(filter noremove,${PKG_OPTS}))
 endif
 	@rm -f '${STAGING_PKG_DIR}/${PKG_NAME}'
 ifneq (,$(filter dev,${PKG_OPTS}))
-	mkdir -p  $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/include
-	test -d ${WRKINST}/usr/include && cd ${WRKINST}/usr/include; \
+	@mkdir -p  $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/include
+	@test -d ${WRKINST}/usr/include && cd ${WRKINST}/usr/include; \
 	    find . -name \*.h | \
  	    $(TOOLS_DIR)/cpio -padlmu $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/include
-	mkdir -p  $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/lib/pkgconfig
-	test -d ${WRKINST}/usr/lib/pkgconfig && cd ${WRKINST}/usr/lib/pkgconfig; \
+	@mkdir -p  $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/lib/pkgconfig
+	@test -d ${WRKINST}/usr/lib/pkgconfig && cd ${WRKINST}/usr/lib/pkgconfig; \
 	    find . -name \*.pc | \
  	    $(TOOLS_DIR)/cpio -padlmu $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/lib/pkgconfig
-	for a in ${WRKINST}/usr/bin/*-config*; do \
+	@for a in ${WRKINST}/usr/bin/*-config*; do \
 		[[ -e $$a ]] || continue; \
 		mkdir -p $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/bin; \
 		cp $$a $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/bin; \

+ 6 - 21
package/MesaLib/Makefile

@@ -4,10 +4,10 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		MesaLib
-PKG_VERSION:=		8.0.5
-PKG_RELEASE:=		3
-PKG_MD5SUM:=		cda5d101f43b8784fa60bdeaca4056f2
-PKG_DESCR:=		MESA library
+PKG_VERSION:=		9.2.2
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		df801a975045150790e10e2ccf32193f
+PKG_DESCR:=		MESA 3D graphics library
 PKG_SECTION:=		libs
 PKG_DEPENDS:=		libxdamage libxfixes libdrm libxxf86vm libexpat
 PKG_BUILDDEP:=		libXdamage libXfixes libXxf86vm libdrm
@@ -40,28 +40,13 @@ CONFIGURE_ARGS+=	--disable-static \
 			--disable-gles1 \
 			--disable-gles2 \
 			--with-dri-drivers=${DRI_DRIVERS},swrast
-CONFIGURE_ENV+=		PYTHON2=/usr/bin/python
+CONFIGURE_ENV+=		PYTHON2=/usr/bin/python MISSING="echo"
 
-XAKE_FLAGS+=		HOST_CC=${CC_FOR_BUILD} GLSL_CL=${STAGING_HOST_DIR}/bin/glslcompile
+XAKE_FLAGS+=		HOST_CC=${CC_FOR_BUILD}
 ifeq ($(ADK_NATIVE),y)
 XAKE_FLAGS+=		RANLIB=ranlib AR=ar
 endif
 
-post-extract:
-	(cd ${WRKBUILD}; rm -rf config.{cache,status}; \
-		./configure \
-		--disable-static \
-		--disable-gallium-llvm \
-		--with-gallium-drivers=swrast \
-		--with-driver=xlib \
-	);
-	${MAKE} -C ${WRKBUILD}/src/glsl
-	${CP} ${WRKBUILD}/src/glsl/glsl_compiler \
-		${STAGING_HOST_DIR}/bin/glsl_compiler
-	${CP} ${WRKBUILD}/src/glsl/builtin_compiler \
-		${STAGING_HOST_DIR}/bin/builtin_compiler
-	${MAKE} -C ${WRKBUILD}/src/glsl clean
-
 mesalib-install:
 	$(INSTALL_DIR) $(IDIR_MESALIB)/usr/lib/dri
 	$(CP) $(WRKINST)/usr/lib/libGL*.so* \

+ 0 - 42
package/MesaLib/patches/patch-bin_mklib

@@ -1,42 +0,0 @@
-diff -Nur Mesa-8.0.5.orig/bin/mklib Mesa-8.0.5/bin/mklib
---- Mesa-8.0.5.orig/bin/mklib	2012-10-24 21:03:58.000000000 +0200
-+++ Mesa-8.0.5/bin/mklib	2013-09-19 11:59:49.000000000 +0200
-@@ -333,12 +333,6 @@ case $ARCH in
- 	    # Check if objects are 32-bit and we're running in 64-bit
- 	    # environment.  If so, pass -m32 flag to linker.
- 	    set ${OBJECTS}
--	    ABI32=`file $1 | grep 32-bit`
--	    ARM=`file $1 | grep ARM`
--	    # Do not add "-m32" option for arm.
--            if [ -z "$ARM" -a "${ABI32}" -a `uname -m` = "x86_64" ] ; then
--		OPTS="-m32 ${OPTS}"
--	    fi
- 
-             if [ "${ALTOPTS}" ] ; then
-                 OPTS=${ALTOPTS}
-@@ -392,12 +386,6 @@ case $ARCH in
- 	    # Check if objects are 32-bit and we're running in 64-bit
- 	    # environment.  If so, pass -m32 flag to linker.
- 	    set ${OBJECTS}
--	    ABI32=`file $1 | grep 32-bit`
--            ARM=`file $1 | grep ARM`
--	    # Do not add "-m32" option for arm.
--            if [ -z "$ARM" -a "${ABI32}" -a `uname -m` = "x86_64" ] ; then
--		OPTS="-m32 ${OPTS}"
--	    fi
-             if [ "${ALTOPTS}" ] ; then
-                 OPTS=${ALTOPTS}
-             fi
-@@ -466,12 +454,6 @@ case $ARCH in
- 		# Check if objects are 32-bit and we're running in 64-bit
- 		# environment.  If so, pass -m32 flag to linker.
- 		set ${OBJECTS}
--		ABI32=`file $1 | grep 32-bit`
--		if [ "${ABI32}" ] ; then
--		    OPTS="-m32 -shared -Wl,-Bdynamic"
--		else
--		    OPTS="-m64 -shared -Wl,-Bdynamic"
--		fi
- 	    fi
- 
- 	    # If using Sun C++ compiler, need to tell it not to add runpaths

+ 0 - 39
package/MesaLib/patches/patch-src_gallium_auxiliary_util_u_debug_symbol_c

@@ -1,39 +0,0 @@
---- Mesa-8.0.5.orig/src/gallium/auxiliary/util/u_debug_symbol.c	2012-10-24 21:03:59.000000000 +0200
-+++ Mesa-8.0.5/src/gallium/auxiliary/util/u_debug_symbol.c	2013-10-08 12:13:11.000000000 +0200
-@@ -151,23 +151,6 @@ debug_symbol_name_dbghelp(const void *ad
- }
- #endif
- 
--#ifdef __GLIBC__
--#include <execinfo.h>
--
--/* This can only provide dynamic symbols, or binary offsets into a file.
-- *
-- * To fix this, post-process the output with tools/addr2line.sh
-- */
--static INLINE void
--debug_symbol_name_glibc(const void *addr, char* buf, unsigned size)
--{
--   char** syms = backtrace_symbols((void**)&addr, 1);
--   strncpy(buf, syms[0], size);
--   buf[size - 1] = 0;
--   free(syms);
--}
--#endif
--
- void
- debug_symbol_name(const void *addr, char* buf, unsigned size)
- {
-@@ -176,12 +159,6 @@ debug_symbol_name(const void *addr, char
-    if(buf[0])
-       return;
- #endif
--
--#ifdef __GLIBC__
--   debug_symbol_name_glibc(addr, buf, size);
--   if(buf[0])
--      return;
--#endif
- 
-    util_snprintf(buf, size, "%p", addr);
-    buf[size - 1] = 0;

+ 0 - 45
package/MesaLib/patches/patch-src_gallium_include_pipe_p_config_h

@@ -1,45 +0,0 @@
---- Mesa-8.0.5.orig/src/gallium/include/pipe/p_config.h	2012-10-24 21:03:59.000000000 +0200
-+++ Mesa-8.0.5/src/gallium/include/pipe/p_config.h	2013-09-19 12:27:54.000000000 +0200
-@@ -111,7 +111,6 @@
-  * Endian detection.
-  */
- 
--#ifdef __GLIBC__
- #include <endian.h>
- 
- #if __BYTE_ORDER == __LITTLE_ENDIAN
-@@ -120,34 +119,6 @@
- # define PIPE_ARCH_BIG_ENDIAN
- #endif
- 
--#elif defined(__APPLE__)
--#include <machine/endian.h>
--
--#if __DARWIN_BYTE_ORDER == __DARWIN_LITTLE_ENDIAN
--# define PIPE_ARCH_LITTLE_ENDIAN
--#elif __DARWIN_BYTE_ORDER == __DARWIN_BIG_ENDIAN
--# define PIPE_ARCH_BIG_ENDIAN
--#endif
--
--#elif defined(__sun)
--#include <sys/isa_defs.h>
--
--#if defined(_LITTLE_ENDIAN)
--# define PIPE_ARCH_LITTLE_ENDIAN
--#elif defined(_BIG_ENDIAN)
--# define PIPE_ARCH_BIG_ENDIAN
--#endif
--
--#else
--
--#if defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64)
--#define PIPE_ARCH_LITTLE_ENDIAN
--#elif defined(PIPE_ARCH_PPC) || defined(PIPE_ARCH_PPC_64)
--#define PIPE_ARCH_BIG_ENDIAN
--#endif
--
--#endif
--
- #if !defined(PIPE_ARCH_LITTLE_ENDIAN) && !defined(PIPE_ARCH_BIG_ENDIAN)
- #error Unknown Endianness
- #endif

+ 0 - 10
package/MesaLib/patches/patch-src_glsl_Makefile

@@ -1,10 +0,0 @@
---- Mesa-8.0.5.orig/src/glsl/Makefile	2012-10-24 21:03:59.000000000 +0200
-+++ Mesa-8.0.5/src/glsl/Makefile	2013-04-30 12:25:40.000000000 +0200
-@@ -167,6 +167,6 @@ builtin_compiler: $(GLSL2_OBJECTS) $(OBJ
- 
- builtin_function.cpp: builtins/profiles/* builtins/ir/* builtins/tools/generate_builtins.py builtins/tools/texture_builtins.py builtin_compiler
- 	@echo Regenerating builtin_function.cpp...
--	$(PYTHON2) $(PYTHON_FLAGS) builtins/tools/generate_builtins.py ./builtin_compiler > builtin_function.cpp || rm -f builtin_function.cpp
-+	$(PYTHON2) $(PYTHON_FLAGS) builtins/tools/generate_builtins.py builtin_compiler > builtin_function.cpp || rm -f builtin_function.cpp
- 
- -include depend

+ 0 - 32
package/MesaLib/patches/patch-src_glsl_strtod_c

@@ -1,32 +0,0 @@
---- Mesa-8.0.5.orig/src/glsl/strtod.c	2012-10-24 21:03:59.000000000 +0200
-+++ Mesa-8.0.5/src/glsl/strtod.c	2013-09-25 17:34:06.000000000 +0200
-@@ -25,14 +25,6 @@
- 
- 
- #include <stdlib.h>
--
--#ifdef _GNU_SOURCE
--#include <locale.h>
--#ifdef __APPLE__
--#include <xlocale.h>
--#endif
--#endif
--
- #include "strtod.h"
- 
- 
-@@ -44,14 +36,5 @@
- double
- glsl_strtod(const char *s, char **end)
- {
--#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && \
--   !defined(__HAIKU__)
--   static locale_t loc = NULL;
--   if (!loc) {
--      loc = newlocale(LC_CTYPE_MASK, "C", NULL);
--   }
--   return strtod_l(s, end, loc);
--#else
-    return strtod(s, end);
--#endif
- }

+ 0 - 33
package/MesaLib/patches/patch-src_mesa_main_imports_c

@@ -1,33 +0,0 @@
---- Mesa-8.0.5.orig/src/mesa/main/imports.c	2012-10-24 21:03:59.000000000 +0200
-+++ Mesa-8.0.5/src/mesa/main/imports.c	2013-09-25 17:41:11.000000000 +0200
-@@ -49,14 +49,6 @@
- #include "mtypes.h"
- #include "version.h"
- 
--#ifdef _GNU_SOURCE
--#include <locale.h>
--#ifdef __APPLE__
--#include <xlocale.h>
--#endif
--#endif
--
--
- #define MAXSTRING 4000  /* for vsnprintf() */
- 
- #ifdef WIN32
-@@ -766,14 +758,7 @@ _mesa_strdup( const char *s )
- float
- _mesa_strtof( const char *s, char **end )
- {
--#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && \
--   !defined(ANDROID) && !defined(__HAIKU__)
--   static locale_t loc = NULL;
--   if (!loc) {
--      loc = newlocale(LC_CTYPE_MASK, "C", NULL);
--   }
--   return strtof_l(s, end, loc);
--#elif defined(_ISOC99_SOURCE) || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE >= 600)
-+#if defined(_ISOC99_SOURCE) || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE >= 600)
-    return strtof(s, end);
- #else
-    return (float)strtod(s, end);

+ 0 - 13
package/MesaLib/patches/patch-src_mesa_main_imports_h

@@ -1,13 +0,0 @@
---- Mesa-8.0.5.orig/src/mesa/main/imports.h	2012-10-24 21:03:59.000000000 +0200
-+++ Mesa-8.0.5/src/mesa/main/imports.h	2013-09-19 12:39:53.000000000 +0200
-@@ -568,10 +568,8 @@ _mesa_init_sqrt_table(void);
- 
- #ifdef __GNUC__
- 
--#if defined(__MINGW32__) || defined(__CYGWIN__) || defined(ANDROID) || defined(__APPLE__)
- #define ffs __builtin_ffs
- #define ffsll __builtin_ffsll
--#endif
- 
- #define _mesa_ffs(i)  ffs(i)
- #define _mesa_ffsll(i)  ffsll(i)

+ 0 - 11
package/MesaLib/patches/patch-src_mesa_main_querymatrix_c

@@ -1,11 +0,0 @@
---- Mesa-8.0.5.orig/src/mesa/main/querymatrix.c	2012-03-30 18:19:03.000000000 +0200
-+++ Mesa-8.0.5/src/mesa/main/querymatrix.c	2013-09-19 12:19:01.000000000 +0200
-@@ -70,7 +70,7 @@ fpclassify(double x)
-     }
- }
- 
--#elif defined(__APPLE__) || defined(__CYGWIN__) || defined(__FreeBSD__) || \
-+#elif defined(fpclassify) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__FreeBSD__) || \
-      defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || \
-      (defined(__sun) && defined(__C99FEATURES__)) || defined(__MINGW32__) || \
-      (defined(__sun) && defined(__GNUC__)) || defined(ANDROID) || defined(__HAIKU__)

+ 2 - 1
package/db/Makefile

@@ -12,6 +12,7 @@ PKG_SECTION:=		db
 PKG_URL:=		http://www.oracle.com/technology/software/products/berkeley-db
 PKG_SITES:=		http://www.openadk.org/distfiles/
 PKG_NEED_CXX:=		1
+PKG_LIBNAME:=		libdb
 PKG_OPTS:=		dev
 
 WRKBUILD=		${WRKSRC}/build_unix
@@ -39,6 +40,6 @@ CONFIGURE_ARGS+=	--enable-smallbuild \
 
 libdb-install:
 	${INSTALL_DIR} ${IDIR_LIBDB}/usr/lib
-	${CP} ${WRKINST}/usr/lib/libdb*.so ${IDIR_LIBDB}/usr/lib
+	${CP} ${WRKINST}/usr/lib/libdb*.so* ${IDIR_LIBDB}/usr/lib
 
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 14 - 13
package/file/Makefile

@@ -4,12 +4,12 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		file
-PKG_VERSION:=		5.11
-PKG_RELEASE:=		2
-PKG_MD5SUM:=		16a407bd66d6c7a832f3a5c0d609c27b
+PKG_VERSION:=		5.15
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		3f99565532f548d7540912c4642d1ede
 PKG_DESCR:=		a file type guesser
 PKG_SECTION:=		utils
-PKG_DEPENDS:=		libmagic
+PKG_DEPENDS:=		libmagic libgcc
 PKG_URL:=		http://www.darwinsys.com/file
 PKG_SITES:=		ftp://ftp.fu-berlin.de/unix/tools/file/ \
 			ftp://ftp.astron.com/pub/file/
@@ -24,19 +24,19 @@ ifeq ($(ADK_STATIC),y)
 PKG_OPTS+=		libmix
 endif
 
+include ${TOPDIR}/mk/host.mk
 include ${TOPDIR}/mk/package.mk
 
-$(eval $(call PKG_template,FILE,file,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call HOST_template,FILE,file,${PKG_VERSION}-${PKG_RELEASE}))
+$(eval $(call PKG_template,FILE,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 $(eval $(call PKG_template,LIBMAGIC,libmagic,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_LIBMAGIC},${PKGSD_LIBMAGIC},${PKGSC_LIBMAGIC},${PKG_OPTS}))
 
-pre-configure:
-	(cd ${WRKBUILD}; rm -rf config.{cache,status} ; \
-		./configure --enable-static --disable-shared \
-		--disable-warnings \
-	);
-	${MAKE} -C ${WRKBUILD}
-	${INSTALL_BIN} ${WRKBUILD}/src/file ${WRKBUILD}/magic
-	${MAKE} -C ${WRKBUILD} clean
+HOST_CONFIGURE_ARGS+=	--enable-static \
+			--disable-shared \
+			--disable-warnings
+file-hostinstall:
+	${INSTALL_BIN} ${HOST_WRKINST}/usr/bin/file \
+		${STAGING_HOST_DIR}/usr/bin
 
 file-install:
 	${INSTALL_DIR} ${IDIR_FILE}/usr/bin
@@ -49,4 +49,5 @@ libmagic-install:
 	${INSTALL_DIR} ${IDIR_LIBMAGIC}/usr/lib
 	${CP} ${WRKINST}/usr/lib/libmagic.so* ${IDIR_LIBMAGIC}/usr/lib
 
+include ${TOPDIR}/mk/host-bottom.mk
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 0 - 11
package/file/patches/patch-magic_Makefile_in

@@ -1,11 +0,0 @@
---- file-5.11.orig/magic/Makefile.in	2012-02-21 20:17:03.000000000 +0100
-+++ file-5.11/magic/Makefile.in	2012-03-02 17:23:17.000000000 +0100
-@@ -450,7 +450,7 @@ CLEANFILES = ${MAGIC} $(MAGIC_FRAGMENT_D
- 
- # FIXME: Build file natively as well so that it can be used to compile
- # the target's magic file; for now we bail if the local version does not match
--@IS_CROSS_COMPILE_TRUE@FILE_COMPILE = file
-+@IS_CROSS_COMPILE_TRUE@FILE_COMPILE = ./file
- @IS_CROSS_COMPILE_FALSE@FILE_COMPILE_DEP = $(FILE_COMPILE)
- @IS_CROSS_COMPILE_TRUE@FILE_COMPILE_DEP = 
- all: all-am

+ 14 - 20
package/glib/Makefile

@@ -6,7 +6,7 @@ include ${TOPDIR}/rules.mk
 PKG_NAME:=		glib
 PKG_VERSION:=		2.28.1
 PKG_EXTRAVER:=		2.28
-PKG_RELEASE:=		2
+PKG_RELEASE:=		3
 PKG_MD5SUM:=		9f6e85e1e38490c3956f4415bcd33e6e
 PKG_DESCR:=		low-level core library that forms the basis of GTK+
 PKG_SECTION:=		libs
@@ -17,14 +17,14 @@ PKG_SITES:=		http://ftp.gnome.org/pub/gnome/sources/glib/${PKG_EXTRAVER}/
 PKG_NOPARALLEL:=	1
 PKG_OPTS:=		dev
 
-#DISTFILES:=		${PKG_NAME}-${PKG_VERSION}.tar.xz
-
 ifeq ($(ADK_STATIC),y)
 PKG_OPTS+=		libonly
 endif
 
+include ${TOPDIR}/mk/host.mk
 include ${TOPDIR}/mk/package.mk
 
+$(eval $(call HOST_template,GLIB,glib,${PKG_VERSION}-${PKG_RELEASE}))
 $(eval $(call PKG_template,GLIB,glib,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
 
 TARGET_CFLAGS:=         $(filter-out -flto,$(TARGET_CFLAGS))
@@ -41,19 +41,17 @@ CONFIGURE_ENV+=		glib_cv_long_long_format=ll \
 			ac_cv_func_posix_getpwuid_r=yes \
 			ac_cv_func_posix_getgrgid_r=yes
 
+HOST_CONFIGURE_ARGS+=	--prefix=$(HOST_WRKINST)/usr \
+			--enable-debug=no \
+			--disable-fam
 
-pre-configure:
-ifeq ($(OStype),Linux)
-	(cd ${WRKBUILD}; rm -rf config.{cache,status}; \
-		./configure --prefix=$(STAGING_HOST_DIR) \
-	)
-	${MAKE} -C ${WRKBUILD} V=1
-	$(CP) ${WRKBUILD}/gio/.libs/glib-compile-schemas ${STAGING_HOST_DIR}/bin
-	$(CP) ${WRKBUILD}/gobject/.libs/glib-genmarshal ${STAGING_HOST_DIR}/bin
-	$(CP) ${WRKBUILD}/gobject/glib-mkenums ${STAGING_HOST_DIR}/bin
-	${MAKE} -C ${WRKBUILD} clean
-endif
-
+glib-hostinstall:
+	$(INSTALL_BIN) ${HOST_WRKINST}/usr/bin/glib-compile-schemas \
+		${STAGING_HOST_DIR}/usr/bin
+	$(INSTALL_BIN) ${HOST_WRKINST}/usr/bin/glib-genmarshal \
+		${STAGING_HOST_DIR}/usr/bin
+	$(INSTALL_BIN) ${HOST_WRKINST}/usr/bin/glib-mkenums \
+		${STAGING_HOST_DIR}/usr/bin
 
 glib-install:
 	${INSTALL_DIR} ${IDIR_GLIB}/usr/lib
@@ -67,13 +65,9 @@ glib-install:
 	${INSTALL_DIR} ${IDIR_GLIB_DEV}/usr/lib/glib-2.0/include
 	${CP} ${WRKINST}/usr/lib/glib-2.0/include/glibconfig.h \
 		${IDIR_GLIB_DEV}/usr/lib/glib-2.0/include
-	${CP} ${WRKINST}/usr/include/* \
-		${IDIR_GLIB_DEV}/usr/include
-	${INSTALL_DIR} ${IDIR_GLIB_DEV}/usr/lib/pkgconfig
-	${CP} ${WRKINST}/usr/lib/pkgconfig/*.pc \
-		${IDIR_GLIB_DEV}/usr/lib/pkgconfig
 	${INSTALL_DIR} ${IDIR_GLIB_DEV}/usr/bin
 	$(INSTALL_BIN) $(WRKINST)/usr/bin/glib-genmarshal \
 		${IDIR_GLIB_DEV}/usr/bin
 
+include ${TOPDIR}/mk/host-bottom.mk
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 1 - 3
package/libiconv/Makefile

@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		libiconv
 PKG_VERSION:=		1.13.1
-PKG_RELEASE:=		2
+PKG_RELEASE:=		3
 PKG_MD5SUM:=		7ab33ebd26687c744a37264a330bbe9a
 PKG_DESCR:=		character set conversion library
 PKG_SECTION:=		libs
@@ -23,8 +23,6 @@ $(eval $(call PKG_template,LIBICONV,libiconv,${PKG_VERSION}-${PKG_RELEASE},${PKG
 
 TARGET_CFLAGS:=         $(filter-out -flto,$(TARGET_CFLAGS))
 TARGET_CFLAGS+=		-fPIC
-FAKE_FLAGS+=		libdir="${WRKINST}/usr/lib" \
-			includedir="${WRKINST}/usr/include" \
 INSTALL_TARGET=		install-lib
 
 libiconv-install:

+ 4 - 4
package/libxcb/Makefile

@@ -4,13 +4,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		libxcb
-PKG_VERSION:=		1.7
-PKG_RELEASE:=		2
-PKG_MD5SUM:=		f715e53c9c1b25f856d14d6123663d96
+PKG_VERSION:=		1.9.1
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		324c76024a73dba8a902638696ba87de
 PKG_DESCR:=		X11 keyboard library
 PKG_SECTION:=		x11/libs
 PKG_BUILDDEP:=		python2 libpthread-stubs libxslt libXau xcb-proto
-PKG_SITES:=		${MASTER_SITE_XORG}
+PKG_SITES:=		http://xcb.freedesktop.org/dist/
 PKG_OPTS:=		dev
 
 include $(TOPDIR)/mk/package.mk

+ 0 - 11
package/libxcb/patches/patch-ltmain_sh

@@ -1,11 +0,0 @@
---- libxcb-1.7.orig/ltmain.sh	2010-08-13 13:46:48.000000000 +0200
-+++ libxcb-1.7/ltmain.sh	2011-01-30 18:41:38.000000000 +0100
-@@ -4765,7 +4765,7 @@ func_mode_link ()
-       # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
-       # @file GCC response files
-       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
--      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
-+      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-fstack-protector*|-flto)
-         func_quote_for_eval "$arg"
- 	arg="$func_quote_for_eval_result"
-         func_append compile_command " $arg"

+ 3 - 3
package/mpd/Makefile

@@ -5,12 +5,12 @@ include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		mpd
 PKG_VERSION:=		0.17.6
-PKG_RELEASE:=		3
+PKG_RELEASE:=		4
 PKG_MD5SUM:=		d0da6a6a1d9cf1e8710b6082f6ef7849
 PKG_DESCR:=		A music player daemon
 PKG_SECTION:=		multimedia
-PKG_DEPENDS:=		glib libstdcxx libgcc
-PKG_FDEPENDS:=		glib libstdcxx
+PKG_DEPENDS:=		glib libstdcxx libgcc libiconv
+PKG_FDEPENDS:=		glib libstdcxx libgcc libiconv
 PKG_BUILDDEP:=		glib
 PKG_URL:=		http://www.musicpd.org/
 PKG_SITES:=		http://www.musicpd.org/download/mpd/0.17/

+ 31 - 22
package/ncurses/Makefile

@@ -4,9 +4,9 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		ncurses
-PKG_VERSION:=		5.7
-PKG_RELEASE:=		5
-PKG_MD5SUM:=		cce05daf61a64501ef6cd8da1f727ec6
+PKG_VERSION:=		5.9
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		8cb9c412e5f2d96bc6f459aa8c6282a1
 PKG_DESCR:=		a terminal handling library
 PKG_SECTION:=		libs
 PKG_URL:=		http://www.gnu.org/software/ncurses/
@@ -17,8 +17,10 @@ PKG_OPTS:=		dev
 PKG_FLAVOURS_LIBNCURSES:=	FULL_TERMINFO
 PKGFD_FULL_TERMINFO:=		install the complete set of terminfo files as provided upstream
 
+include ${TOPDIR}/mk/host.mk
 include ${TOPDIR}/mk/package.mk
 
+$(eval $(call HOST_template,LIBNCURSES,libncurses,${PKG_VERSION}-${PKG_RELEASE}))
 $(eval $(call PKG_template,LIBNCURSES,libncurses,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
 
 TARGET_CFLAGS+=		-lgcc
@@ -27,40 +29,46 @@ CONFIGURE_ARGS+=	--without-cxx \
 			--without-cxx-binding \
 			--with-build-cc=${CC_FOR_BUILD} \
 			--without-progs \
-			--with-fallbacks \
 			--disable-termcap \
+			--enable-symlinks \
 			--without-ada \
 			--with-shared \
-			--with-normal \
 			--without-debug \
 			--without-profile \
 			--without-gpm \
+			--without-manpages \
+			--without-tests \
 			--enable-overwrite \
 			--with-terminfo-dirs=/usr/share/terminfo \
 			--with-default-terminfo-dir=/usr/share/terminfo \
 			--disable-big-core \
 			--disable-home-terminfo \
 			--without-rcs-ids \
-			--enable-const \
-			--enable-echo
+			--enable-const
 ALL_TARGET:=		libs
 INSTALL_TARGET:=	install.libs install.data
 
-pre-configure:
-	# create tic host binary
-	(cd ${WRKBUILD}; rm -rf config.{cache,status} ; \
-		./configure \
-		--with-shared \
-		--with-build-cc=${CC_FOR_BUILD} \
-		--with-progs \
-		--without-debug \
-		--without-profile \
-	);
-	${MAKE} -C ${WRKBUILD}/include
-	${MAKE} -C ${WRKBUILD}/progs
-	${CP} ${WRKBUILD}/progs/tic ${STAGING_HOST_DIR}/bin
-	find ${WRKBUILD} -name *.o -exec rm {} \;
-	find ${WRKBUILD} -name *.a -exec rm {} \;
+# use sth which does not exist
+HOST_ALL_TARGET:=	progs
+HOST_INSTALL_TARGET:=	install.includes install.progs
+HOST_CONFIGURE_ARGS+=	--without-shared \
+			--with-build-cc=${CC_FOR_BUILD} \
+			--with-progs \
+			--with-ticlib \
+			--disable-tic-depends \
+			--enable-symlinks \
+			--without-manpages \
+			--without-tests \
+			--without-cxx \
+			--without-cxx-binding \
+			--without-gpm \
+			--without-ada \
+			--disable-termcap \
+			--without-debug \
+			--without-profile
+
+libncurses-hostinstall:
+	${CP} ${HOST_WRKINST}/usr/bin/* ${STAGING_HOST_DIR}/usr/bin
 
 libncurses-install:
 	# this is installed as libncurses - make libcurses a "link"
@@ -83,4 +91,5 @@ else
 	done
 endif
 
+include ${TOPDIR}/mk/host-bottom.mk
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 0 - 16
package/ncurses/patches/patch-configure

@@ -1,16 +0,0 @@
---- ncurses-5.7.orig/configure	2008-10-26 02:04:38.000000000 +0200
-+++ ncurses-5.7/configure	2009-11-15 22:44:41.000000000 +0100
-@@ -3985,13 +3985,6 @@ echo "${ECHO_T}$BUILD_LIBS" >&6
- 
- 	: ${BUILD_CC:='${CC}'}
- 
--	if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '${CC}' ) ; then
--		{ { echo "$as_me:3989: error: Cross-build requires two compilers.
--Use --with-build-cc to specify the native compiler." >&5
--echo "$as_me: error: Cross-build requires two compilers.
--Use --with-build-cc to specify the native compiler." >&2;}
--   { (exit 1); exit 1; }; }
--	fi
- 
- else
- 	: ${BUILD_CC:='${CC}'}

+ 0 - 33
package/ncurses/patches/patch-misc_run_tic_in

@@ -1,33 +0,0 @@
---- ncurses-5.7.orig/misc/run_tic.in	2006-10-28 21:43:30.000000000 +0200
-+++ ncurses-5.7/misc/run_tic.in	2009-12-30 15:14:43.273450029 +0100
-@@ -58,22 +58,25 @@ echo '** Building terminfo database, ple
- 
- test -z "${DESTDIR}" && DESTDIR=
- 
-+# original comment:
- # Allow tic to run either from the install-path, or from the build-directory.
- # Do not do this if we appear to be cross-compiling.  In that case, we rely
- # on the host's copy of tic to compile the terminfo database.
--if test "$THAT_CC" = "$THIS_CC" ; then
-+#  -- end comment --
-+# ATTENTION: Always use native tic from build environment
-+#if test "$THAT_CC" = "$THIS_CC" ; then
- case "$PATH" in
- :*) PATH=../progs:../lib:${DESTDIR}$bindir$PATH ;;
- *) PATH=../progs:../lib:${DESTDIR}$bindir:$PATH ;;
- esac
- export PATH
- SHLIB="sh $srcdir/shlib"
--else
-+#else
- # Cross-compiling, so don't set PATH or run shlib.
--SHLIB=
-+#SHLIB=
- # reset $suffix, since it applies to the target, not the build platform.
--suffix=
--fi
-+#suffix=
-+#fi
- 
- 
- # set another env var that doesn't get reset when `shlib' runs, so `shlib' uses

+ 4 - 4
package/ncurses/patches/patch-misc_terminfo_src

@@ -1,6 +1,6 @@
---- ncurses-5.7.orig/misc/terminfo.src	2008-10-13 01:03:54.000000000 +0200
-+++ ncurses-5.7/misc/terminfo.src	2010-07-15 17:30:24.852569567 +0200
-@@ -3965,6 +3965,171 @@ rxvt-cygwin-native|rxvt terminal emulato
+--- ncurses-5.9.orig/misc/terminfo.src	2011-02-20 21:46:53.000000000 +0100
++++ ncurses-5.9/misc/terminfo.src	2013-10-23 20:00:07.000000000 +0200
+@@ -4208,6 +4208,175 @@ rxvt-cygwin-native|rxvt terminal emulato
  rxvt-16color|xterm with 16 colors like aixterm,
  	ncv#32, use=ibm+16color, use=rxvt,
  
@@ -169,6 +169,6 @@
 +	fsl=\007,
 +	dsl=\E]2;\007,
 +
- # mrxvt 0.5.3
+ # mrxvt 0.5.4
  #
  # mrxvt is based on rxvt 2.7.11, but has by default XTERM_FKEYS defined, which

+ 0 - 11
package/ncurses/patches/patch-progs_Makefile_in

@@ -1,11 +0,0 @@
---- ncurses-5.7.orig/progs/Makefile.in	2008-09-07 15:58:55.000000000 +0200
-+++ ncurses-5.7/progs/Makefile.in	2010-07-26 17:44:33.000000000 +0200
-@@ -109,7 +109,7 @@ LDFLAGS_SHARED	= $(LDFLAGS) $(CFLAGS_SHA
- 
- LDFLAGS_DEFAULT	= $(LDFLAGS_@DFT_UPR_MODEL@)
- 
--LIBS_TIC	= @LDFLAGS_STATIC@ @TICS_ARGS@ @TINFO_ARGS@ @LDFLAGS_SHARED@ @LD_MODEL@ @LIBS@
-+LIBS_TIC	= ../lib/libncurses.a
- LDFLAGS_TIC	= $(LDFLAGS_@DFT_UPR_MODEL@) $(LIBS_TIC)
- 
- LIBS_TINFO	= @LDFLAGS_STATIC@ @TINFO_ARGS@ @LDFLAGS_SHARED@ @LD_MODEL@ @LIBS@

+ 4 - 22
package/openldap/Makefile

@@ -4,9 +4,9 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		openldap
-PKG_VERSION:=		2.4.26
-PKG_RELEASE:=		2
-PKG_MD5SUM:=		f36f3086031dd56ae94f722ffae8df5e
+PKG_VERSION:=		2.4.36
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		744701405d396b1fb9de6cb7a453c6e9
 PKG_DESCR:=		OpenLDAP client libraries
 PKG_SECTION:=		libs
 PKG_DEPENDS:=		libopenssl libsasl2 libdb libpthread libuuid
@@ -40,7 +40,7 @@ $(eval $(call PKG_template,LIBOPENLDAP,libopenldap,${PKG_VERSION}-${PKG_RELEASE}
 $(eval $(call PKG_template,OPENLDAP_UTILS,openldap-utils,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_OPENLDAP_UTILS},${PKGSD_OPENLDAP_UTILS},${PKGSC_OPENLDAP_UTILS}))
 $(eval $(call PKG_template,OPENLDAP_SLAPD,openldap-slapd,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_OPENLDAP_SLAPD},${PKGSD_OPENLDAP_SLAPD},${PKGSC_OPENLDAP_SLAPD}))
 
-PKG_CONFIGURE_OPTIONS+= --enable-slapd \
+CONFIGURE_ARGS+= 	--enable-slapd \
 			--libexecdir=/usr/sbin \
 			--enable-bdb \
 			--disable-hdb \
@@ -62,26 +62,8 @@ CONFIGURE_ARGS+=	--disable-ipv6
 endif
 
 CONFIGURE_ENV+=		ac_cv_func_memcmp_working=yes
-CONFIGURE_ARGS+=	${PKG_CONFIGURE_OPTIONS}
 XAKE_FLAGS+=		STRIP="" CPPFLAGS="-D_GNU_SOURCE"
 
-pre-configure:
-	(cd ${WRKBUILD}; rm -rf config.{cache,status} ; \
-		CPPFLAGS=-D_GNU_SOURCE ./configure \
-		   ${PKG_CONFIGURE_OPTIONS} \
-		  --disable-slapd \
-		  --without-cyrus-sasl \
-		  --without-threads \
-		  --without-tls \
-	);
-	${MAKE} -C ${WRKBUILD} depend
-	${MAKE} -C ${WRKBUILD}/libraries/liblutil
-	${MAKE} -C ${WRKBUILD}/libraries/liblber
-	${MAKE} -C ${WRKBUILD}/libraries/liblunicode
-	${MAKE} -C ${WRKBUILD}/libraries/liblber clean
-	${MAKE} -C ${WRKBUILD}/libraries/liblutil clean
-	${MAKE} -C ${WRKBUILD}/libraries/liblunicode clean
-
 libopenldap-install:
 	${INSTALL_DIR} ${IDIR_LIBOPENLDAP}/etc/openldap
 	${CP} ${WRKINST}/etc/openldap/ldap.conf \

+ 29 - 15
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

+ 141 - 0
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*) :
+ 

+ 11 - 0
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 #(

+ 19 - 0
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)
+ {

+ 11 - 0
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)
+ {

+ 11 - 0
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)
+ {

+ 4 - 3
package/xcb-proto/Makefile

@@ -4,13 +4,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		xcb-proto
-PKG_VERSION:=		1.6
+PKG_VERSION:=		1.8
 PKG_RELEASE:=		1
 PKG_DESCR:=		XML-XCB protocol descriptions
 PKG_SECTION:=		devel
 PKG_BUILDDEP:=		python2
-PKG_MD5SUM:=		8d29695e8faf5fcdce568c66eaeaa5ee
-PKG_SITES:=		${MASTER_SITE_XORG}
+PKG_MD5SUM:=		8d2cdb770129cef563088a90c5bec768
+PKG_SITES:=		http://xcb.freedesktop.org/dist/
 PKG_OPTS:=		dev devonly
 
 PKG_SUBPKGS:=		XCB_PROTO XCB_PYTHON
@@ -24,6 +24,7 @@ $(eval $(call PKG_template,XCB_PYTHON,xcb-python,$(PKG_VERSION)-${PKG_RELEASE},$
 include $(TOPDIR)/mk/python.mk
 
 CONFIGURE_ENV+=		PYTHON=$(PYTHON)
+CONFIGURE_ARGS+=	--datadir=${STAGING_DIR}/usr/share
 
 post-build:
 	${INSTALL_DIR} ${STAGING_DIR}/usr/share/xcb

+ 0 - 10
package/xcb-proto/patches/patch-xcb-proto_pc_in

@@ -1,10 +0,0 @@
---- xcb-proto-1.6.orig/xcb-proto.pc.in	2008-08-27 10:12:22.000000000 +0200
-+++ xcb-proto-1.6/xcb-proto.pc.in	2011-01-24 16:11:29.000000000 +0100
-@@ -1,6 +1,6 @@
- prefix=@prefix@
- datarootdir=@datarootdir@
--datadir=@datadir@
-+datadir=${prefix}/../@datadir@
- xcbincludedir=@xcbincludedir@
- pythondir=@pythondir@
-