Forráskód Böngészése

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

Waldemar Brodkorb 10 éve
szülő
commit
d1ee3be7f4
34 módosított fájl, 448 hozzáadás és 454 törlés
  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@
-