Browse Source

Merge branch 'master' of git+ssh://openadk.org/git/openadk

Waldemar Brodkorb 11 years ago
parent
commit
db7ee5f68d
100 changed files with 2407 additions and 230 deletions
  1. 1 0
      TODO
  2. 7 6
      mk/build.mk
  3. 1 1
      mk/image.mk
  4. 1 1
      package/base-files/Makefile
  5. 2 0
      package/base-files/src/etc/init.d/boot
  6. 2 0
      package/dbus-python/Makefile
  7. 6 4
      package/ethtool/Makefile
  8. 25 0
      package/ethtool/patches/patch-internal_h
  9. 2 2
      package/feh/Makefile
  10. 2 2
      package/fetchmail/Makefile
  11. 4 4
      package/glib/Makefile
  12. 1 1
      package/gpsd/Makefile
  13. 1 3
      package/libtirpc/Makefile
  14. 18 0
      package/libtirpc/patches/patch-src_auth_des_c
  15. 10 0
      package/libtirpc/patches/patch-src_auth_none_c
  16. 13 5
      package/libtirpc/patches/patch-src_auth_time_c
  17. 10 0
      package/libtirpc/patches/patch-src_auth_unix_c
  18. 7 0
      package/libtirpc/patches/patch-src_authdes_prot_c
  19. 10 0
      package/libtirpc/patches/patch-src_authunix_prot_c
  20. 18 0
      package/libtirpc/patches/patch-src_bindresvport_c
  21. 22 0
      package/libtirpc/patches/patch-src_clnt_bcast_c
  22. 10 0
      package/libtirpc/patches/patch-src_clnt_perror_c
  23. 10 0
      package/libtirpc/patches/patch-src_clnt_simple_c
  24. 10 0
      package/libtirpc/patches/patch-src_crypt_client_c
  25. 7 3
      package/libtirpc/patches/patch-src_des_crypt_c
  26. 9 0
      package/libtirpc/patches/patch-src_des_soft_c
  27. 10 0
      package/libtirpc/patches/patch-src_getnetconfig_c
  28. 16 0
      package/libtirpc/patches/patch-src_getnetpath_c
  29. 10 0
      package/libtirpc/patches/patch-src_getpeereid_c
  30. 10 0
      package/libtirpc/patches/patch-src_getpublickey_c
  31. 10 0
      package/libtirpc/patches/patch-src_key_call_c
  32. 10 0
      package/libtirpc/patches/patch-src_key_prot_xdr_c
  33. 8 0
      package/libtirpc/patches/patch-src_mt_misc_c
  34. 10 0
      package/libtirpc/patches/patch-src_pmap_clnt_c
  35. 10 0
      package/libtirpc/patches/patch-src_pmap_getmaps_c
  36. 31 0
      package/libtirpc/patches/patch-src_rpc_com_h
  37. 10 0
      package/libtirpc/patches/patch-src_rpc_generic_c
  38. 10 0
      package/libtirpc/patches/patch-src_rpcb_st_xdr_c
  39. 10 0
      package/libtirpc/patches/patch-src_rpcdname_c
  40. 10 0
      package/libtirpc/patches/patch-src_svc_dg_c
  41. 10 0
      package/libtirpc/patches/patch-src_svc_simple_c
  42. 10 0
      package/libtirpc/patches/patch-src_svc_vc_c
  43. 10 0
      package/libtirpc/patches/patch-src_xdr_array_c
  44. 10 0
      package/libtirpc/patches/patch-src_xdr_c
  45. 10 0
      package/libtirpc/patches/patch-src_xdr_float_c
  46. 10 0
      package/libtirpc/patches/patch-src_xdr_mem_c
  47. 11 0
      package/libtirpc/patches/patch-src_xdr_rec_c
  48. 11 0
      package/libtirpc/patches/patch-src_xdr_reference_c
  49. 10 0
      package/libtirpc/patches/patch-src_xdr_sizeof_c
  50. 10 0
      package/libtirpc/patches/patch-src_xdr_stdio_c
  51. 24 0
      package/libtirpc/patches/patch-tirpc_misc_event_h
  52. 23 0
      package/libtirpc/patches/patch-tirpc_netconfig_h
  53. 32 0
      package/libtirpc/patches/patch-tirpc_rpc_auth_des_h
  54. 53 0
      package/libtirpc/patches/patch-tirpc_rpc_auth_gss_h
  55. 192 0
      package/libtirpc/patches/patch-tirpc_rpc_auth_h
  56. 26 0
      package/libtirpc/patches/patch-tirpc_rpc_auth_unix_h
  57. 132 0
      package/libtirpc/patches/patch-tirpc_rpc_clnt_h
  58. 78 0
      package/libtirpc/patches/patch-tirpc_rpc_clnt_soc_h
  59. 52 0
      package/libtirpc/patches/patch-tirpc_rpc_des_crypt_h
  60. 20 0
      package/libtirpc/patches/patch-tirpc_rpc_nettype_h
  61. 25 0
      package/libtirpc/patches/patch-tirpc_rpc_pmap_clnt_h
  62. 27 0
      package/libtirpc/patches/patch-tirpc_rpc_pmap_prot_h
  63. 26 0
      package/libtirpc/patches/patch-tirpc_rpc_pmap_rmt_h
  64. 31 0
      package/libtirpc/patches/patch-tirpc_rpc_rpc_com_h
  65. 44 0
      package/libtirpc/patches/patch-tirpc_rpc_rpc_h
  66. 23 0
      package/libtirpc/patches/patch-tirpc_rpc_rpc_msg_h
  67. 23 0
      package/libtirpc/patches/patch-tirpc_rpc_rpcb_clnt_h
  68. 31 0
      package/libtirpc/patches/patch-tirpc_rpc_rpcent_h
  69. 20 0
      package/libtirpc/patches/patch-tirpc_rpc_svc_auth_h
  70. 152 0
      package/libtirpc/patches/patch-tirpc_rpc_svc_h
  71. 102 0
      package/libtirpc/patches/patch-tirpc_rpc_svc_soc_h
  72. 53 0
      package/libtirpc/patches/patch-tirpc_rpc_xdr_h
  73. 12 0
      package/libtirpc/patches/patch-tirpc_rpcsvc_crypt_x
  74. 574 0
      package/libtirpc/src/src/queue.h
  75. 2 1
      package/libxml2/Makefile
  76. 3 3
      package/lynx/Makefile
  77. 7 7
      package/lynx/patches/patch-WWW_Library_Implementation_HTUtils_h
  78. 11 0
      package/lynx/patches/patch-makefile_in
  79. 3 16
      package/lynx/patches/patch-src_chrtrans_makeuctb_c
  80. 2 2
      package/mpg123/Makefile
  81. 18 16
      package/python3/Makefile
  82. 0 70
      package/python3/patches/patch-Makefile_pre_in
  83. 0 20
      package/python3/patches/patch-Modules_posixmodule_c
  84. 6 4
      package/rrdcollect/Makefile
  85. 4 3
      package/scons/Makefile
  86. 3 3
      package/socat/Makefile
  87. 2 3
      package/socat/patches/patch-Makefile_in
  88. 23 0
      package/socat/patches/patch-configure
  89. 4 3
      package/vlc/Makefile
  90. 0 11
      package/vlc/patches/patch-modules_text_renderer_freetype_c
  91. 4 3
      package/watchdog/Makefile
  92. 9 0
      package/watchdog/patches/patch-include_extern_h
  93. 11 0
      package/watchdog/patches/patch-src_memory_c
  94. 0 11
      package/watchdog/patches/patch-src_mntent_c
  95. 10 0
      package/watchdog/patches/patch-src_net_c
  96. 18 0
      package/watchdog/patches/patch-src_shutdown_c
  97. 0 11
      package/watchdog/patches/patch-src_umount_c
  98. 2 2
      package/xf86-video-fbdev/Makefile
  99. 3 3
      package/xterm/Makefile
  100. 11 6
      target/config/Config.in

+ 1 - 0
TODO

@@ -16,5 +16,6 @@
 - microblaze: add cfgfs partition to dts, add partition to spartan dts
 - evaluate libguestfs for image creation
 - port w3m
+- port msmtp
 - rutorrent porting
 - lms perl 

+ 7 - 6
mk/build.mk

@@ -169,7 +169,7 @@ endif
 
 ${STAGING_TARGET_DIR} ${STAGING_TARGET_DIR}/etc ${STAGING_HOST_DIR}:
 	mkdir -p ${STAGING_TARGET_DIR}/{bin,etc,lib,usr/bin,usr/include,usr/lib/pkgconfig} \
-		${STAGING_HOST_DIR}/{bin,lib,usr/bin,usr/lib,usr/include}
+		${STAGING_HOST_DIR}/{usr/bin,usr/lib,usr/include}
 	for i in lib64 lib32 libx32;do \
 		cd ${STAGING_TARGET_DIR}/; ln -sf lib $$i; \
 		cd ${STAGING_TARGET_DIR}/usr; ln -sf lib $$i; \
@@ -476,17 +476,18 @@ bulktoolchain:
 		    ( \
 			echo === building $$arch $$libc toolchain-$$arch on $$(date); \
 			tarch=$$(echo $$arch|sed -e "s#el##" -e "s#eb##" -e "s#mips64.*#mips#" -e "s#hf##"); \
-			if [ -f ${TOPDIR}/firmware/toolchain_$${arch}_$${libc}.tar.xz ];then exit;fi; \
+			carch=$$(echo $$arch|sed -e "s#hf##" -e "s#mips64.*#mips64#"); \
 			$(GMAKE) prereq && \
 				$(GMAKE) ARCH=$$tarch SYSTEM=toolchain-$$arch LIBC=$$libc defconfig; \
-				$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; break;fi; \
-				if [ $$arch = "armhf" ];then arch=arm; else arch=$$arch;fi; \
 				tabi=$$(grep ^ADK_TARGET_ABI= .config|cut -d \" -f 2);\
+				if [ $$arch = "armhf" ];then arch=arm; else arch=$$arch;fi; \
 				if [ -z $$tabi ];then abi="";else abi=_$$tabi;fi; \
-				tar -cvJf ${TOPDIR}/firmware/toolchain_$${arch}_$${libc}$${abi}.tar.xz toolchain_${GNU_HOST_NAME} target_$${arch}_$${libc}$${abi}; \
+				if [ -f ${TOPDIR}/firmware/toolchain_$${arch}_$${libc}$${abi}.tar.xz ];then exit;fi; \
+				$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; break;fi; \
+				tar -cvJf ${TOPDIR}/firmware/toolchain_$${arch}_$${libc}$${abi}.tar.xz toolchain_${GNU_HOST_NAME} target_$${carch}_$${libc}$${abi}; \
 				$(GMAKE) cleantoolchain; \
 			rm .config; \
-		    ) 2>&1 | tee $(TOPDIR)/firmware/toolchain_build.log; \
+		    ) 2>&1 | tee -a $(TOPDIR)/firmware/toolchain_build.log; \
 		    if [ -f .exit ];then break;fi \
 		done <${TOPDIR}/target/tarch.lst ;\
 		if [ -f .exit ];then echo "Bulk build failed!"; rm .exit; exit 1;fi \

+ 1 - 1
mk/image.mk

@@ -157,7 +157,7 @@ ${BUILD_DIR}/root.squashfs: ${TARGET_DIR}
 		-nopad -noappend -root-owned $(MAKE_TRACE)
 
 ${FW_DIR}/${ROOTFSJFFS2}: ${TARGET_DIR}
-	${STAGING_HOST_DIR}/usr/bin/mkfs.jffs2 $(ADK_JFFS2_OPTS) -q -r ${TARGET_DIR} \
+	${STAGING_HOST_DIR}/usr/bin/mkfs.jffs2 $(ADK_JFFS2_OPTS) -X zlib -r ${TARGET_DIR} \
 		--pad=$(ADK_TARGET_MTD_SIZE) -o ${FW_DIR}/${ROOTFSJFFS2} $(MAKE_TRACE)
 
 createinitramfs: ${STAGING_TARGET_DIR}/${INITRAMFS}_list

+ 1 - 1
package/base-files/Makefile

@@ -6,7 +6,7 @@ include $(TOPDIR)/mk/rootfs.mk
 
 PKG_NAME:=		base-files
 PKG_VERSION:=		1.0
-PKG_RELEASE:=		75
+PKG_RELEASE:=		76
 PKG_SECTION:=		base
 PKG_DESCR:=		basic files and scripts
 PKG_BUILDDEP:=		pkgconf-host file-host

+ 2 - 0
package/base-files/src/etc/init.d/boot

@@ -19,6 +19,8 @@ mount -o remount,nosuid,nodev,mode=1777,size=${size}k -t tmpfs tmpfs /tmp
 # start mdev dynamic device node management
 echo >/dev/mdev.seq
 echo "/sbin/mdev" >/proc/sys/kernel/hotplug
+# creates f.e. /dev/root
+mdev -s
 
 # seed some random
 cat /etc/.rnd >/dev/urandom 2>&1

+ 2 - 0
package/dbus-python/Makefile

@@ -14,6 +14,8 @@ PKG_BUILDDEP:=		dbus dbus-glib
 PKG_URL:=		http://dbus.freedesktop.org/doc/dbus-python/
 PKG_SITES:=		http://dbus.freedesktop.org/releases/dbus-python/
 
+PKG_CFLINE_DBUS_PYTHON:=	depends on ADK_BROKEN
+
 include $(TOPDIR)/mk/package.mk
 
 $(eval $(call PKG_template,DBUS_PYTHON,dbus-python,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))

+ 6 - 4
package/ethtool/Makefile

@@ -4,12 +4,14 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		ethtool
-PKG_VERSION:=		2.6.36
+PKG_VERSION:=		3.13
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		3b2322695e9ee7bf447ebcdb85f93e83
-PKG_DESCR:=		Display or change ethernet card settings
+PKG_MD5SUM:=		dcb8f345d44ee79108282e7d0bdf5013
+PKG_DESCR:=		display or change ethernet card settings
 PKG_SECTION:=		net
-PKG_SITES:=		${MASTER_SITE_SOURCEFORGE:=gkernel/}
+PKG_SITES:=		https://www.kernel.org/pub/software/network/ethtool/
+
+DISTFILES:=		${PKG_NAME}-${PKG_VERSION}.tar.xz
 
 include ${TOPDIR}/mk/package.mk
 

+ 25 - 0
package/ethtool/patches/patch-internal_h

@@ -0,0 +1,25 @@
+--- ethtool-3.13.orig/internal.h	2014-01-27 02:27:14.000000000 +0100
++++ ethtool-3.13/internal.h	2014-03-22 20:49:34.000000000 +0100
+@@ -17,16 +17,16 @@
+ 
+ /* ethtool.h expects these to be defined by <linux/types.h> */
+ #ifndef HAVE_BE_TYPES
+-typedef __uint16_t __be16;
+-typedef __uint32_t __be32;
++typedef uint16_t __be16;
++typedef uint32_t __be32;
+ typedef unsigned long long __be64;
+ #endif
+ 
+ typedef unsigned long long u64;
+-typedef __uint32_t u32;
+-typedef __uint16_t u16;
+-typedef __uint8_t u8;
+-typedef __int32_t s32;
++typedef uint32_t u32;
++typedef uint16_t u16;
++typedef uint8_t u8;
++typedef int32_t s32;
+ 
+ #include "ethtool-copy.h"
+ #include "net_tstamp-copy.h"

+ 2 - 2
package/feh/Makefile

@@ -4,9 +4,9 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		feh
-PKG_VERSION:=		1.16.1
+PKG_VERSION:=		2.10
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		1bb080c7b0021db50884a52161251990
+PKG_MD5SUM:=		6714dedeff1db5c3593c4a27b0d9cf50
 PKG_DESCR:=		image viewer
 PKG_SECTION:=		multimedia
 PKG_BUILDDEP:=		imlib2 giblib libXt

+ 2 - 2
package/fetchmail/Makefile

@@ -4,9 +4,9 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		fetchmail
-PKG_VERSION:=		6.3.9
+PKG_VERSION:=		6.3.26
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		72c20ad2b9629f1a109668b05a84d823
+PKG_MD5SUM:=		d9ae3d939205a3c06a21ea79b8f14793
 PKG_DESCR:=		fetch mail from a POP or IMAP server
 PKG_SECTION:=		mail
 PKG_URL:=		http://fetchmail.berlios.de/

+ 4 - 4
package/glib/Makefile

@@ -5,13 +5,14 @@ include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		glib
 PKG_VERSION:=		2.38.2
-PKG_RELEASE:=		2
+PKG_RELEASE:=		3
 PKG_EXTRAVER:=		2.38
 PKG_MD5SUM:=		26d1d08e478fc48c181ca8be44f5b69f
 PKG_DESCR:=		low-level core library that forms the basis of GTK+
 PKG_SECTION:=		libs
 PKG_DEPENDS:=		libpthread
-PKG_BUILDDEP:=		libffi gettext-tiny libiconv-tiny glib-host zlib libelf dbus
+PKG_BUILDDEP:=		glib-host zlib libelf dbus
+HOST_BUILDDEP:=		libffi-host gettext-tiny-host libiconv-tiny-host
 PKG_URL:=		http://www.gtk.org/
 PKG_SITES:=		http://ftp.gnome.org/pub/gnome/sources/glib/${PKG_EXTRAVER}/
 PKG_NOPARALLEL:=	1
@@ -29,9 +30,7 @@ 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}))
 
-HOST_STYLE:=		auto
 TARGET_CPPFLAGS+=	-D_GNU_SOURCE
-TARGET_CFLAGS:=         $(filter-out -flto,$(TARGET_CFLAGS))
 CONFIGURE_ARGS+=	--disable-mem-pools \
 			--disable-rebuilds \
 			--disable-fam \
@@ -43,6 +42,7 @@ CONFIGURE_ENV+=		glib_cv_long_long_format=ll \
 			ac_cv_func_posix_getpwuid_r=yes \
 			ac_cv_func_posix_getgrgid_r=yes
 
+HOST_STYLE:=		auto
 HOST_CONFIGURE_ARGS+=	--disable-fam \
 			--enable-static \
 			--disable-compile-warnings

+ 1 - 1
package/gpsd/Makefile

@@ -10,7 +10,7 @@ PKG_MD5SUM:=		fc5b03aae38b9b5b6880b31924d0ace3
 PKG_DESCR:=		An interface daemon for GPS receivers
 PKG_SECTION:=		misc
 PKG_DEPENDS:=		libpthread
-PKG_BUILDDEP:=		ncurses scons-host bzip2-host python2-host
+PKG_BUILDDEP:=		scons-host ncurses
 PKG_URL:=		http://catb.org/gpsd/
 PKG_SITES:=		http://download-mirror.savannah.gnu.org/releases/gpsd/
 

+ 1 - 3
package/libtirpc/Makefile

@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		libtirpc
 PKG_VERSION:=		0.2.3
-PKG_RELEASE:=		2
+PKG_RELEASE:=		3
 PKG_MD5SUM:=		b70e6c12a369a91e69fcc3b9feb23d61
 PKG_DESCR:=		a transport independent RPC library
 PKG_SECTION:=		libs
@@ -15,8 +15,6 @@ PKG_URL:=		http://sourceforge.net/projects/libtirpc/
 PKG_SITES:=		${MASTER_SITE_SOURCEFORGE:=libtirpc/}
 PKG_OPTS:=		dev
 
-PKG_LIBC_DEPENDS:=	uclibc glibc
-
 DISTFILES:=		$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 
 include ${TOPDIR}/mk/package.mk

+ 18 - 0
package/libtirpc/patches/patch-src_auth_des_c

@@ -0,0 +1,18 @@
+--- libtirpc-0.2.3.orig/src/auth_des.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/auth_des.c	2014-03-22 13:20:52.000000000 +0100
+@@ -38,7 +38,6 @@
+ #include <string.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+-#include <sys/cdefs.h>
+ #include <rpc/des_crypt.h>
+ #include <syslog.h>
+ #include <rpc/types.h>
+@@ -52,7 +51,6 @@
+ 
+ #if defined(LIBC_SCCS) && !defined(lint)
+ #endif
+-#include <sys/cdefs.h>
+ 
+ #define USEC_PER_SEC		1000000
+ #define RTIME_TIMEOUT		5	/* seconds to wait for sync */

+ 10 - 0
package/libtirpc/patches/patch-src_auth_none_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/auth_none.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/auth_none.c	2014-03-22 13:20:53.000000000 +0100
+@@ -31,7 +31,6 @@
+ static char *sccsid = "@(#)auth_none.c 1.19 87/08/11 Copyr 1984 Sun Micro";
+ static char *sccsid = "@(#)auth_none.c	2.1 88/07/29 4.0 RPCSRC";
+ #endif
+-#include <sys/cdefs.h>
+ __FBSDID("$FreeBSD: src/lib/libc/rpc/auth_none.c,v 1.12 2002/03/22 23:18:35 obrien Exp $");
+ */
+ 

+ 13 - 5
package/libtirpc/patches/patch-src_auth_time_c

@@ -1,6 +1,14 @@
---- libtirpc-0.2.2.orig/src/auth_time.c	2011-05-02 14:10:40.000000000 +0200
-+++ libtirpc-0.2.2/src/auth_time.c	2012-03-22 19:02:30.422855534 +0100
-@@ -43,7 +43,7 @@
+--- libtirpc-0.2.3.orig/src/auth_time.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/auth_time.c	2014-03-22 13:20:53.000000000 +0100
+@@ -25,7 +25,6 @@
+  *	needed to deal with TCP connections.
+  */
+ 
+-#include <sys/cdefs.h>
+ #include <stdio.h>
+ #include <syslog.h>
+ #include <string.h>
+@@ -43,7 +42,7 @@
  //#include <clnt_soc.h>
  #include <sys/select.h>
  #undef NIS
@@ -9,7 +17,7 @@
  
  
  #ifdef TESTING
-@@ -138,6 +138,7 @@ free_eps(eps, num)
+@@ -138,6 +137,7 @@ free_eps(eps, num)
   * NIS+ server will call __rpc_get_time_offset() with the nis_server
   * structure already populated.
   */
@@ -17,7 +25,7 @@
  static nis_server *
  get_server(sin, host, srv, eps, maxep)
  	struct sockaddr_in *sin;
-@@ -491,3 +492,4 @@ error:
+@@ -491,3 +491,4 @@ error:
  
  	return (time_valid);
  }

+ 10 - 0
package/libtirpc/patches/patch-src_auth_unix_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/auth_unix.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/auth_unix.c	2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+  * POSSIBILITY OF SUCH DAMAGE.
+  */
+ 
+-#include <sys/cdefs.h>
+ 
+ /*
+  * auth_unix.c, Implements UNIX style authentication parameters.

+ 7 - 0
package/libtirpc/patches/patch-src_authdes_prot_c

@@ -0,0 +1,7 @@
+--- libtirpc-0.2.3.orig/src/authdes_prot.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/authdes_prot.c	2014-03-22 13:20:53.000000000 +0100
+@@ -1,4 +1,3 @@
+-#include <sys/cdefs.h>
+ /*
+  * Copyright (c) 2009, Sun Microsystems, Inc.
+  * All rights reserved.

+ 10 - 0
package/libtirpc/patches/patch-src_authunix_prot_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/authunix_prot.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/authunix_prot.c	2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+  * POSSIBILITY OF SUCH DAMAGE.
+  */
+ 
+-#include <sys/cdefs.h>
+ 
+ /*
+  * authunix_prot.c

+ 18 - 0
package/libtirpc/patches/patch-src_bindresvport_c

@@ -0,0 +1,18 @@
+--- libtirpc-0.2.3.orig/src/bindresvport.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/bindresvport.c	2014-03-22 13:24:36.000000000 +0100
+@@ -26,7 +26,6 @@
+  * POSSIBILITY OF SUCH DAMAGE.
+  */
+ 
+-#include <sys/cdefs.h>
+ 
+ /*
+  * Copyright (c) 1987 by Sun Microsystems, Inc.
+@@ -38,6 +37,7 @@
+ #include <sys/socket.h>
+ 
+ #include <netinet/in.h>
++#include <netdb.h>
+ 
+ #include <errno.h>
+ #include <string.h>

+ 22 - 0
package/libtirpc/patches/patch-src_clnt_bcast_c

@@ -0,0 +1,22 @@
+--- libtirpc-0.2.3.orig/src/clnt_bcast.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/clnt_bcast.c	2014-03-22 14:19:29.000000000 +0100
+@@ -28,7 +28,6 @@
+ /*
+  * Copyright (c) 1986-1991 by Sun Microsystems Inc. 
+  */
+-#include <sys/cdefs.h>
+ 
+ /*
+  * clnt_bcast.c
+@@ -41,10 +40,8 @@
+  */
+ #include <sys/socket.h>
+ #include <sys/types.h>
+-#include <sys/queue.h>
+ 
+-/* new queue functions */
+-#include <misc/queue.h>
++#include "queue.h"
+ 
+ #include <net/if.h>
+ #include <netinet/in.h>

+ 10 - 0
package/libtirpc/patches/patch-src_clnt_perror_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/clnt_perror.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/clnt_perror.c	2014-03-22 13:20:53.000000000 +0100
+@@ -27,7 +27,6 @@
+  */
+ 
+ /*
+-#include <sys/cdefs.h>
+ */
+ /*
+  * clnt_perror.c

+ 10 - 0
package/libtirpc/patches/patch-src_clnt_simple_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/clnt_simple.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/clnt_simple.c	2014-03-22 13:20:53.000000000 +0100
+@@ -29,7 +29,6 @@
+  * Copyright (c) 1986-1991 by Sun Microsystems Inc. 
+  */
+ 
+-#include <sys/cdefs.h>
+ 
+ /*
+  * clnt_simple.c

+ 10 - 0
package/libtirpc/patches/patch-src_crypt_client_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/crypt_client.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/crypt_client.c	2014-03-22 13:20:53.000000000 +0100
+@@ -30,7 +30,6 @@
+  * SUCH DAMAGE.
+  */
+ 
+-#include <sys/cdefs.h>
+ 
+ #include <err.h>
+ #include <sys/types.h>

+ 7 - 3
package/libtirpc/patches/patch-src_des_crypt_c

@@ -1,6 +1,10 @@
 --- libtirpc-0.2.3.orig/src/des_crypt.c	2013-02-13 16:13:59.000000000 +0100
-+++ libtirpc-0.2.3/src/des_crypt.c	2013-08-12 16:47:07.000000000 +0200
-@@ -43,7 +43,7 @@ static char sccsid[] = "@(#)des_crypt.c
++++ libtirpc-0.2.3/src/des_crypt.c	2014-03-22 13:20:53.000000000 +0100
+@@ -39,11 +39,10 @@
+ static char sccsid[] = "@(#)des_crypt.c	2.2 88/08/10 4.0 RPCSRC; from 1.13 88/02/08 SMI";
+ #endif
+ #endif
+-#include <sys/cdefs.h>
  
  static int common_crypt( char *, char *, unsigned, unsigned, struct desparams * );
  int (*__des_crypt_LOCAL)() = 0;
@@ -9,7 +13,7 @@
  /*
   * Copy 8 bytes
   */
-@@ -145,10 +145,6 @@ common_crypt(key, buf, len, mode, desp)
+@@ -145,10 +144,6 @@ common_crypt(key, buf, len, mode, desp)
  		if (!__des_crypt_LOCAL(buf, len, desp)) {
  			return (DESERR_HWERROR);
  		}

+ 9 - 0
package/libtirpc/patches/patch-src_des_soft_c

@@ -0,0 +1,9 @@
+--- libtirpc-0.2.3.orig/src/des_soft.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/des_soft.c	2014-03-22 13:20:53.000000000 +0100
+@@ -1,5 +1,4 @@
+-//#include <sys/cdefs.h>
+-
++//
+ /*
+  * Copyright (c) 2009, Sun Microsystems, Inc.
+  * All rights reserved.

+ 10 - 0
package/libtirpc/patches/patch-src_getnetconfig_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/getnetconfig.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/getnetconfig.c	2014-03-22 13:20:53.000000000 +0100
+@@ -32,7 +32,6 @@
+  
+ #include <pthread.h>
+ #include <reentrant.h>
+-#include <sys/cdefs.h>
+ #include <stdio.h>
+ #include <errno.h>
+ #include <netconfig.h>

+ 16 - 0
package/libtirpc/patches/patch-src_getnetpath_c

@@ -0,0 +1,16 @@
+--- libtirpc-0.2.3.orig/src/getnetpath.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/getnetpath.c	2014-03-22 13:20:53.000000000 +0100
+@@ -25,13 +25,11 @@
+  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+  * POSSIBILITY OF SUCH DAMAGE.
+  */
+-#include <sys/cdefs.h>
+ 
+ /*
+  * Copyright (c) 1989 by Sun Microsystems, Inc.
+  */
+ 
+-#include <sys/cdefs.h>
+ #include <stdio.h>
+ #include <errno.h>
+ #include <netconfig.h>

+ 10 - 0
package/libtirpc/patches/patch-src_getpeereid_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/getpeereid.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/getpeereid.c	2014-03-22 13:20:52.000000000 +0100
+@@ -24,7 +24,6 @@
+  * SUCH DAMAGE.
+  */
+ 
+-#include <sys/cdefs.h>
+ 
+ #include <sys/param.h>
+ #include <sys/socket.h>

+ 10 - 0
package/libtirpc/patches/patch-src_getpublickey_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/getpublickey.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/getpublickey.c	2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+  * POSSIBILITY OF SUCH DAMAGE.
+  */
+ /*
+-#include <sys/cdefs.h>
+ */
+ 
+ /*

+ 10 - 0
package/libtirpc/patches/patch-src_key_call_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/key_call.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/key_call.c	2014-03-22 13:20:52.000000000 +0100
+@@ -30,7 +30,6 @@
+  */
+ 
+ 
+-#include <sys/cdefs.h>
+ 
+ /*
+  * key_call.c, Interface to keyserver

+ 10 - 0
package/libtirpc/patches/patch-src_key_prot_xdr_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/key_prot_xdr.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/key_prot_xdr.c	2014-03-22 13:20:53.000000000 +0100
+@@ -33,7 +33,6 @@
+  */
+ /* Copyright (c)  1990, 1991 Sun Microsystems, Inc. */
+ 
+-#include <sys/cdefs.h>
+ 
+ /* 
+  * Compiled from key_prot.x using rpcgen.

+ 8 - 0
package/libtirpc/patches/patch-src_mt_misc_c

@@ -0,0 +1,8 @@
+--- libtirpc-0.2.3.orig/src/mt_misc.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/mt_misc.c	2014-03-22 13:20:53.000000000 +0100
+@@ -1,5 +1,4 @@
+ 
+-#include <sys/cdefs.h>
+ #include <pthread.h>
+ #include <reentrant.h>
+ #include <rpc/rpc.h>

+ 10 - 0
package/libtirpc/patches/patch-src_pmap_clnt_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/pmap_clnt.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/pmap_clnt.c	2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+  * POSSIBILITY OF SUCH DAMAGE.
+  */
+ 
+-#include <sys/cdefs.h>
+ 
+ /*
+  * pmap_clnt.c

+ 10 - 0
package/libtirpc/patches/patch-src_pmap_getmaps_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/pmap_getmaps.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/pmap_getmaps.c	2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+  * POSSIBILITY OF SUCH DAMAGE.
+  */
+ 
+-#include <sys/cdefs.h>
+ 
+ /*
+  * pmap_getmap.c

+ 31 - 0
package/libtirpc/patches/patch-src_rpc_com_h

@@ -0,0 +1,31 @@
+--- libtirpc-0.2.3.orig/src/rpc_com.h	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/rpc_com.h	2014-03-22 13:20:53.000000000 +0100
+@@ -40,7 +40,6 @@
+ #ifndef _TIRPC_RPCCOM_H
+ #define	_TIRPC_RPCCOM_H
+ 
+-#include <sys/cdefs.h>
+ 
+ /* #pragma ident	"@(#)rpc_com.h	1.11	93/07/05 SMI" */
+ 
+@@ -54,7 +53,9 @@
+ #define __RPC_GETXID(now) ((u_int32_t)getpid() ^ (u_int32_t)(now)->tv_sec ^ \
+     (u_int32_t)(now)->tv_usec)
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern u_int __rpc_get_a_size(int);
+ extern int __rpc_dtbsize(void);
+ extern struct netconfig * __rpcgettp(int);
+@@ -90,6 +91,8 @@ void __xprt_set_raddr(SVCXPRT *, const s
+ SVCXPRT **__svc_xports;
+ int __svc_maxrec;
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #endif /* _TIRPC_RPCCOM_H */

+ 10 - 0
package/libtirpc/patches/patch-src_rpc_generic_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/rpc_generic.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/rpc_generic.c	2014-03-22 13:20:53.000000000 +0100
+@@ -29,7 +29,6 @@
+  * Copyright (c) 1986-1991 by Sun Microsystems Inc. 
+  */
+ 
+-#include <sys/cdefs.h>
+ 
+ /*
+  * rpc_generic.c, Miscl routines for RPC.

+ 10 - 0
package/libtirpc/patches/patch-src_rpcb_st_xdr_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/rpcb_st_xdr.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/rpcb_st_xdr.c	2014-03-22 13:20:53.000000000 +0100
+@@ -35,7 +35,6 @@
+  * routines used with the rpcbind stats facility.
+  */
+ 
+-#include <sys/cdefs.h>
+ 
+ #include <rpc/rpc.h>
+ 

+ 10 - 0
package/libtirpc/patches/patch-src_rpcdname_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/rpcdname.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/rpcdname.c	2014-03-22 13:20:53.000000000 +0100
+@@ -25,7 +25,6 @@
+  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+  * POSSIBILITY OF SUCH DAMAGE.
+  */
+-#include <sys/cdefs.h>
+ 
+ /*
+  * rpcdname.c

+ 10 - 0
package/libtirpc/patches/patch-src_svc_dg_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/svc_dg.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/svc_dg.c	2014-03-22 13:20:52.000000000 +0100
+@@ -31,7 +31,6 @@
+  * Copyright (c) 1986-1991 by Sun Microsystems Inc.
+  */
+ 
+-#include <sys/cdefs.h>
+ 
+ /*
+  * svc_dg.c, Server side for connectionless RPC.

+ 10 - 0
package/libtirpc/patches/patch-src_svc_simple_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/svc_simple.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/svc_simple.c	2014-03-22 13:20:53.000000000 +0100
+@@ -29,7 +29,6 @@
+  * Copyright (c) 1986-1991 by Sun Microsystems Inc. 
+  */
+ 
+-#include <sys/cdefs.h>
+ 
+ /*
+  * svc_simple.c

+ 10 - 0
package/libtirpc/patches/patch-src_svc_vc_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/svc_vc.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/svc_vc.c	2014-03-22 13:20:53.000000000 +0100
+@@ -27,7 +27,6 @@
+  * POSSIBILITY OF SUCH DAMAGE.
+  */
+ 
+-#include <sys/cdefs.h>
+ 
+ /*
+  * svc_vc.c, Server side for Connection Oriented based RPC. 

+ 10 - 0
package/libtirpc/patches/patch-src_xdr_array_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/xdr_array.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr_array.c	2014-03-22 13:20:53.000000000 +0100
+@@ -27,7 +27,6 @@
+  * POSSIBILITY OF SUCH DAMAGE.
+  */
+ 
+-#include <sys/cdefs.h>
+ 
+ /*
+  * xdr_array.c, Generic XDR routines impelmentation.

+ 10 - 0
package/libtirpc/patches/patch-src_xdr_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/xdr.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr.c	2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+  * POSSIBILITY OF SUCH DAMAGE.
+  */
+ 
+-#include <sys/cdefs.h>
+ 
+ /*
+  * xdr.c, Generic XDR routines implementation.

+ 10 - 0
package/libtirpc/patches/patch-src_xdr_float_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/xdr_float.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr_float.c	2014-03-22 13:20:53.000000000 +0100
+@@ -27,7 +27,6 @@
+  * POSSIBILITY OF SUCH DAMAGE.
+  */
+ 
+-#include <sys/cdefs.h>
+ 
+ /*
+  * xdr_float.c, Generic XDR routines implementation.

+ 10 - 0
package/libtirpc/patches/patch-src_xdr_mem_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/xdr_mem.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr_mem.c	2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+  * POSSIBILITY OF SUCH DAMAGE.
+  */
+ 
+-#include <sys/cdefs.h>
+ 
+ /*
+  * xdr_mem.h, XDR implementation using memory buffers.

+ 11 - 0
package/libtirpc/patches/patch-src_xdr_rec_c

@@ -0,0 +1,11 @@
+--- libtirpc-0.2.3.orig/src/xdr_rec.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr_rec.c	2014-03-22 13:20:53.000000000 +0100
+@@ -27,8 +27,6 @@
+  * POSSIBILITY OF SUCH DAMAGE.
+  */
+ 
+-#include <sys/cdefs.h>
+-#include <sys/cdefs.h>
+ 
+ /*
+  * xdr_rec.c, Implements TCP/IP based XDR streams with a "record marking"

+ 11 - 0
package/libtirpc/patches/patch-src_xdr_reference_c

@@ -0,0 +1,11 @@
+--- libtirpc-0.2.3.orig/src/xdr_reference.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr_reference.c	2014-03-22 13:20:53.000000000 +0100
+@@ -26,8 +26,6 @@
+  * POSSIBILITY OF SUCH DAMAGE.
+  */
+ 
+-#include <sys/cdefs.h>
+-#include <sys/cdefs.h>
+ 
+ /*
+  * xdr_reference.c, Generic XDR routines impelmentation.

+ 10 - 0
package/libtirpc/patches/patch-src_xdr_sizeof_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/xdr_sizeof.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr_sizeof.c	2014-03-22 13:20:53.000000000 +0100
+@@ -34,7 +34,6 @@
+  * when serialized using XDR.
+  */
+ 
+-#include <sys/cdefs.h>
+ 
+ #include "namespace.h"
+ #include <rpc/types.h>

+ 10 - 0
package/libtirpc/patches/patch-src_xdr_stdio_c

@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/xdr_stdio.c	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr_stdio.c	2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+  * POSSIBILITY OF SUCH DAMAGE.
+  */
+ 
+-#include <sys/cdefs.h>
+ 
+ /*
+  * xdr_stdio.c, XDR implementation on standard i/o file.

+ 24 - 0
package/libtirpc/patches/patch-tirpc_misc_event_h

@@ -0,0 +1,24 @@
+--- libtirpc-0.2.3.orig/tirpc/misc/event.h	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/misc/event.h	2014-03-22 13:20:52.000000000 +0100
+@@ -186,15 +186,18 @@ extern int	kqueue_del_filteropts(int fil
+ 
+ #else 	/* !_KERNEL */
+ 
+-#include <sys/cdefs.h>
+ struct timespec;
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ int     kqueue(void);
+ int     kevent(int kq, const struct kevent *changelist, int nchanges,
+ 	    struct kevent *eventlist, int nevents,
+ 	    const struct timespec *timeout);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #endif /* !_KERNEL */
+ 

+ 23 - 0
package/libtirpc/patches/patch-tirpc_netconfig_h

@@ -0,0 +1,23 @@
+--- libtirpc-0.2.3.orig/tirpc/netconfig.h	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/netconfig.h	2014-03-22 13:20:52.000000000 +0100
+@@ -74,7 +74,9 @@ typedef struct {
+ #define NC_UDP		"udp"
+ #define NC_ICMP		"icmp"
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ extern void *setnetconfig (void);
+ extern struct netconfig *getnetconfig (void *);
+@@ -89,6 +91,8 @@ extern int endnetpath (void *);
+ extern void nc_perror (const char *);
+ extern char *nc_sperror (void);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #endif /* _NETCONFIG_H_ */

+ 32 - 0
package/libtirpc/patches/patch-tirpc_rpc_auth_des_h

@@ -0,0 +1,32 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/auth_des.h	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/auth_des.h	2014-03-22 13:20:52.000000000 +0100
+@@ -114,17 +114,25 @@ struct authdes_verf {
+  * Map a des credential into a unix cred.
+  *
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern int authdes_getucred( struct authdes_cred *, uid_t *, gid_t *, int *, gid_t * );
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t	xdr_authdes_cred(XDR *, struct authdes_cred *);
+ extern bool_t	xdr_authdes_verf(XDR *, struct authdes_verf *);
+ extern int	rtime(dev_t, struct netbuf *, int, struct timeval *,
+ 		    struct timeval *);
+ extern void	kgetnetname(char *);
+ extern enum auth_stat _svcauth_des(struct svc_req *, struct rpc_msg *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #endif /* ndef _TI_AUTH_DES_ */

+ 53 - 0
package/libtirpc/patches/patch-tirpc_rpc_auth_gss_h

@@ -0,0 +1,53 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/auth_gss.h	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/auth_gss.h	2014-03-22 13:20:52.000000000 +0100
+@@ -104,28 +104,32 @@ struct rpc_gss_init_res {
+ #define MAXSEQ		0x80000000
+ 
+ /* Prototypes. */
+-__BEGIN_DECLS
+-bool_t	xdr_rpc_gss_cred	__P((XDR *xdrs, struct rpc_gss_cred *p));
+-bool_t	xdr_rpc_gss_init_args	__P((XDR *xdrs, gss_buffer_desc *p));
+-bool_t	xdr_rpc_gss_init_res	__P((XDR *xdrs, struct rpc_gss_init_res *p));
+-bool_t	xdr_rpc_gss_data	__P((XDR *xdrs, xdrproc_t xdr_func,
++#ifdef __cplusplus
++extern "C" {
++#endif
++bool_t	xdr_rpc_gss_cred	(XDR *xdrs, struct rpc_gss_cred *p);
++bool_t	xdr_rpc_gss_init_args	(XDR *xdrs, gss_buffer_desc *p);
++bool_t	xdr_rpc_gss_init_res	(XDR *xdrs, struct rpc_gss_init_res *p);
++bool_t	xdr_rpc_gss_data	(XDR *xdrs, xdrproc_t xdr_func,
+ 				     caddr_t xdr_ptr, gss_ctx_id_t ctx,
+ 				     gss_qop_t qop, rpc_gss_svc_t svc,
+-				     u_int seq));
++				     u_int seq);
+ 
+-AUTH   *authgss_create		__P((CLIENT *, gss_name_t,
+-				     struct rpc_gss_sec *));
+-AUTH   *authgss_create_default	__P((CLIENT *, char *, struct rpc_gss_sec *));
+-bool_t authgss_service		__P((AUTH *auth, int svc));
+-bool_t authgss_get_private_data	__P((AUTH *auth,
+-	    			     struct authgss_private_data *));
+-bool_t authgss_free_private_data __P((struct authgss_private_data *));
++AUTH   *authgss_create		(CLIENT *, gss_name_t,
++				     struct rpc_gss_sec *);
++AUTH   *authgss_create_default	(CLIENT *, char *, struct rpc_gss_sec *);
++bool_t authgss_service		(AUTH *auth, int svc);
++bool_t authgss_get_private_data	(AUTH *auth,
++	    			     struct authgss_private_data *);
++bool_t authgss_free_private_data (struct authgss_private_data *);
+ 
+-void	gss_log_debug		__P((const char *fmt, ...));
+-void	gss_log_status		__P((char *m, OM_uint32 major,
+-				     OM_uint32 minor));
+-void	gss_log_hexdump		__P((const u_char *buf, int len, int offset));
++void	gss_log_debug		(const char *fmt, ...);
++void	gss_log_status		(char *m, OM_uint32 major,
++				     OM_uint32 minor);
++void	gss_log_hexdump		(const u_char *buf, int len, int offset);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #endif /* !_TIRPC_AUTH_GSS_H */

+ 192 - 0
package/libtirpc/patches/patch-tirpc_rpc_auth_h

@@ -0,0 +1,192 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/auth.h	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/auth.h	2014-03-22 13:20:52.000000000 +0100
+@@ -48,7 +48,6 @@
+ 
+ #include <rpc/xdr.h>
+ #include <rpc/clnt_stat.h>
+-#include <sys/cdefs.h>
+ #include <sys/socket.h>
+ #include <sys/types.h>
+ #include <stdio.h>
+@@ -165,9 +164,13 @@ union des_block {
+ 	char c[8];
+ };
+ typedef union des_block des_block;
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t xdr_des_block(XDR *, des_block *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * Authentication info.  Opaque to client.
+@@ -288,9 +291,13 @@ auth_put(AUTH *auth)
+ 		xfunc, xwhere))
+ 
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern struct opaque_auth _null_auth;
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * Any style authentication.  These routines can be used by any
+@@ -311,11 +318,15 @@ int authany_wrap(void), authany_unwrap(v
+  *	int len;
+  *	int *aup_gids;
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern AUTH *authunix_create(char *, uid_t, uid_t, int, uid_t *);
+ extern AUTH *authunix_create_default(void);	/* takes no parameters */
+ extern AUTH *authnone_create(void);		/* takes no parameters */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ /*
+  * DES style authentication
+  * AUTH *authsecdes_create(servername, window, timehost, ckey)
+@@ -324,15 +335,23 @@ __END_DECLS
+  * 	const char *timehost;			- optional hostname to sync with
+  * 	des_block *ckey;		- optional conversation key to use
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern AUTH *authdes_create (char *, u_int, struct sockaddr *, des_block *);
+ extern AUTH *authdes_seccreate (const char *, const u_int, const  char *,
+     const  des_block *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t xdr_opaque_auth		(XDR *, struct opaque_auth *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #define authsys_create(c,i1,i2,i3,ip) authunix_create((c),(i1),(i2),(i3),(ip))
+ #define authsys_create_default() authunix_create_default()
+@@ -340,36 +359,48 @@ __END_DECLS
+ /*
+  * Netname manipulation routines.
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern int getnetname(char *);
+ extern int host2netname(char *, const char *, const char *);
+ extern int user2netname(char *, const uid_t, const char *);
+ extern int netname2user(char *, uid_t *, gid_t *, int *, gid_t *);
+ extern int netname2host(char *, char *, const int);
+ extern void passwd2des ( char *, char * );
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  *
+  * These routines interface to the keyserv daemon
+  *
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern int key_decryptsession(const char *, des_block *);
+ extern int key_encryptsession(const char *, des_block *);
+ extern int key_gendes(des_block *);
+ extern int key_setsecret(const char *);
+ extern int key_secretkey_is_set(void);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * Publickey routines.
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern int getpublickey (const char *, char *);
+ extern int getpublicandprivatekey (char *, char *);
+ extern int getsecretkey (char *, char *, char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #ifdef KERBEROS
+ /*
+@@ -382,10 +413,14 @@ __END_DECLS
+  *	const char *timehost;			- optional hostname to sync with
+  *	int *status;				- kerberos status returned
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern AUTH	*authkerb_seccreate(const char *, const char *, const  char *,
+ 		    const u_int, const char *, int *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * Map a kerberos credential into a unix cred.
+@@ -398,19 +433,27 @@ __END_DECLS
+  *	int *groups;
+  *
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern int	authkerb_getucred(/* struct svc_req *, uid_t *, gid_t *,
+ 		    short *, int * */);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif /* KERBEROS */
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ struct svc_req;
+ struct rpc_msg;
+ enum auth_stat _svcauth_none (struct svc_req *, struct rpc_msg *);
+ enum auth_stat _svcauth_short (struct svc_req *, struct rpc_msg *);
+ enum auth_stat _svcauth_unix (struct svc_req *, struct rpc_msg *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #define AUTH_NONE	0		/* no authentication */
+ #define	AUTH_NULL	0		/* backward compatibility */

+ 26 - 0
package/libtirpc/patches/patch-tirpc_rpc_auth_unix_h

@@ -0,0 +1,26 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/auth_unix.h	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/auth_unix.h	2014-03-22 13:20:52.000000000 +0100
+@@ -45,7 +45,6 @@
+ 
+ #ifndef _TIRPC_AUTH_UNIX_H
+ #define _TIRPC_AUTH_UNIX_H
+-#include <sys/cdefs.h>
+ 
+ /* The machine name is part of a credential; it may not exceed 255 bytes */
+ #define MAX_MACHINE_NAME 255
+@@ -67,9 +66,13 @@ struct authunix_parms {
+ 
+ #define authsys_parms authunix_parms
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t xdr_authunix_parms(XDR *, struct authunix_parms *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * If a response verifier has flavor AUTH_SHORT,

+ 132 - 0
package/libtirpc/patches/patch-tirpc_rpc_clnt_h

@@ -0,0 +1,132 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/clnt.h	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/clnt.h	2014-03-22 13:20:52.000000000 +0100
+@@ -42,7 +42,6 @@
+ #include <rpc/clnt_stat.h>
+ #include <rpc/auth.h>
+ 
+-#include <sys/cdefs.h>
+ #include <netconfig.h>
+ #include <sys/un.h>
+ 
+@@ -267,7 +266,9 @@ struct rpc_timers {
+  * Generic client creation routine. Supported protocols are those that
+  * belong to the nettype namespace (/etc/netconfig).
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern CLIENT *clnt_create(const char *, const rpcprog_t, const rpcvers_t,
+ 			   const char *);
+ /*
+@@ -414,32 +415,46 @@ extern CLIENT *clnt_dg_create(const int,
+  */
+ extern CLIENT *clnt_raw_create(rpcprog_t, rpcvers_t);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ 
+ /*
+  * Print why creation failed
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void clnt_pcreateerror(const char *);			/* stderr */
+ extern char *clnt_spcreateerror(const char *);			/* string */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * Like clnt_perror(), but is more verbose in its output
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void clnt_perrno(enum clnt_stat);		/* stderr */
+ extern char *clnt_sperrno(enum clnt_stat);		/* string */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * Print an English error message, given the client error code
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void clnt_perror(CLIENT *, const char *);	 	/* stderr */
+ extern char *clnt_sperror(CLIENT *, const char *);		/* string */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ 
+ /*
+@@ -450,9 +465,13 @@ struct rpc_createerr {
+ 	struct rpc_err cf_error; /* useful when cf_stat == RPC_PMAPFAILURE */
+ };
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern struct rpc_createerr	*__rpc_createerr(void);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #define get_rpc_createerr()	(*(__rpc_createerr()))
+ #define rpc_createerr		(*(__rpc_createerr()))
+ 
+@@ -469,12 +488,16 @@ __END_DECLS
+  *	char *out;
+  *	const char *nettype;
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern enum clnt_stat rpc_call(const char *, const rpcprog_t,
+ 			       const rpcvers_t, const rpcproc_t,
+ 			       const xdrproc_t, const char *,
+ 			       const xdrproc_t, char *, const char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * RPC broadcast interface
+@@ -522,7 +545,9 @@ __END_DECLS
+ 
+ typedef bool_t (*resultproc_t)(caddr_t, ...);
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern enum clnt_stat rpc_broadcast(const rpcprog_t, const rpcvers_t,
+ 				    const rpcproc_t, const xdrproc_t,
+ 				    caddr_t, const xdrproc_t, caddr_t,
+@@ -532,7 +557,9 @@ extern enum clnt_stat rpc_broadcast_exp(
+ 					caddr_t, const xdrproc_t, caddr_t,
+ 					const resultproc_t, const int,
+ 					const int, const char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ /* For backward compatibility */
+ #include <rpc/clnt_soc.h>

+ 78 - 0
package/libtirpc/patches/patch-tirpc_rpc_clnt_soc_h

@@ -0,0 +1,78 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/clnt_soc.h	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/clnt_soc.h	2014-03-22 13:20:52.000000000 +0100
+@@ -46,7 +46,6 @@
+  * with TS-RPC.
+  */
+ 
+-#include <sys/cdefs.h>
+ 
+ #define UDPMSGSIZE      8800    /* rpc imposed limit on udp msg size */  
+ 
+@@ -61,27 +60,39 @@
+  *	u_int sendsz;
+  *	u_int recvsz;
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern CLIENT *clnttcp_create(struct sockaddr_in *, u_long, u_long, int *,
+ 			      u_int, u_int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * Raw (memory) rpc.
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern CLIENT *clntraw_create(u_long, u_long);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ 
+ /*
+ IPv6 socket version 
+ */
+ #ifdef INET6
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern CLIENT *clnttcp6_create(struct sockaddr_in6 *, u_long, u_long, int *,
+ 			      u_int, u_int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+ 
+ /*
+@@ -105,7 +116,9 @@ __END_DECLS
+  *	u_int sendsz;
+  *	u_int recvsz;
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern CLIENT *clntudp_create(struct sockaddr_in *, u_long, u_long, 
+ 			      struct timeval, int *);
+ extern CLIENT *clntudp_bufcreate(struct sockaddr_in *, u_long, u_long,
+@@ -116,7 +129,9 @@ extern CLIENT *clntudp6_create(struct so
+ extern CLIENT *clntudp6_bufcreate(struct sockaddr_in6 *, u_long, u_long,
+ 				 struct timeval, int *, u_int, u_int);
+ #endif
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ 
+ #endif /* _RPC_CLNT_SOC_H */

+ 52 - 0
package/libtirpc/patches/patch-tirpc_rpc_des_crypt_h

@@ -0,0 +1,52 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/des_crypt.h	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/des_crypt.h	2014-03-22 13:20:52.000000000 +0100
+@@ -43,7 +43,6 @@
+ #ifndef _DES_DES_CRYPT_H
+ #define _DES_DES_CRYPT_H
+ 
+-#include <sys/cdefs.h>
+ #include <rpc/rpc.h>
+ 
+ #define DES_MAXDATA 8192	/* max bytes encrypted in one call */
+@@ -83,23 +82,35 @@
+ /*
+  * Cipher Block Chaining mode
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ int cbc_crypt( char *, char *, unsigned int, unsigned int, char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * Electronic Code Book mode
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ int ecb_crypt( char *, char *, unsigned int, unsigned int );
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ /* 
+  * Set des parity for a key.
+  * DES parity is odd and in the low bit of each byte
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ void des_setparity( char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #endif  /* _DES_DES_CRYPT_H */

+ 20 - 0
package/libtirpc/patches/patch-tirpc_rpc_nettype_h

@@ -0,0 +1,20 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/nettype.h	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/nettype.h	2014-03-22 13:20:52.000000000 +0100
+@@ -53,11 +53,15 @@
+ #define	_RPC_TCP	7
+ #define	_RPC_UDP	8
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void *__rpc_setconf(const char *);
+ extern void __rpc_endconf(void *);
+ extern struct netconfig *__rpc_getconf(void *);
+ extern struct netconfig *__rpc_getconfip(const char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #endif	/* !_TIRPC_NETTYPE_H */

+ 25 - 0
package/libtirpc/patches/patch-tirpc_rpc_pmap_clnt_h

@@ -0,0 +1,25 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/pmap_clnt.h	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/pmap_clnt.h	2014-03-22 13:20:52.000000000 +0100
+@@ -63,9 +63,10 @@
+ 
+ #ifndef _RPC_PMAP_CLNT_H_
+ #define _RPC_PMAP_CLNT_H_
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t		pmap_set(u_long, u_long, int, int);
+ extern bool_t		pmap_unset(u_long, u_long);
+ extern struct pmaplist	*pmap_getmaps(struct sockaddr_in *);
+@@ -80,6 +81,8 @@ extern enum clnt_stat	clnt_broadcast(u_l
+ 				       resultproc_t);
+ extern u_short		pmap_getport(struct sockaddr_in *,
+ 				     u_long, u_long, u_int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #endif /* !_RPC_PMAP_CLNT_H_ */

+ 27 - 0
package/libtirpc/patches/patch-tirpc_rpc_pmap_prot_h

@@ -0,0 +1,27 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/pmap_prot.h	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/pmap_prot.h	2014-03-22 13:20:52.000000000 +0100
+@@ -71,7 +71,6 @@
+ 
+ #ifndef _RPC_PMAP_PROT_H
+ #define _RPC_PMAP_PROT_H
+-#include <sys/cdefs.h>
+ 
+ #define PMAPPORT		((u_short)111)
+ #define PMAPPROG		((u_long)100000)
+@@ -97,10 +96,14 @@ struct pmaplist {
+ 	struct pmaplist *pml_next;
+ };
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t xdr_pmap(XDR *, struct pmap *);
+ extern bool_t xdr_pmaplist(XDR *, struct pmaplist **);
+ extern bool_t xdr_pmaplist_ptr(XDR *, struct pmaplist *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #endif /* !_RPC_PMAP_PROT_H */

+ 26 - 0
package/libtirpc/patches/patch-tirpc_rpc_pmap_rmt_h

@@ -0,0 +1,26 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/pmap_rmt.h	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/pmap_rmt.h	2014-03-22 13:20:52.000000000 +0100
+@@ -41,7 +41,6 @@
+ 
+ #ifndef _RPC_PMAP_RMT_H
+ #define _RPC_PMAP_RMT_H
+-#include <sys/cdefs.h>
+ 
+ struct rmtcallargs {
+ 	u_long prog, vers, proc, arglen;
+@@ -56,9 +55,13 @@ struct rmtcallres {
+ 	xdrproc_t xdr_results;
+ };
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t xdr_rmtcall_args(XDR *, struct rmtcallargs *);
+ extern bool_t xdr_rmtcallres(XDR *, struct rmtcallres *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #endif /* !_RPC_PMAP_RMT_H */

+ 31 - 0
package/libtirpc/patches/patch-tirpc_rpc_rpc_com_h

@@ -0,0 +1,31 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/rpc_com.h	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/rpc_com.h	2014-03-22 13:20:52.000000000 +0100
+@@ -41,7 +41,6 @@
+ #ifndef _RPC_RPCCOM_H
+ #define	_RPC_RPCCOM_H
+ 
+-#include <sys/cdefs.h>
+ 
+ /* #pragma ident	"@(#)rpc_com.h	1.11	93/07/05 SMI" */
+ 
+@@ -55,7 +54,9 @@
+ #define __RPC_GETXID(now) ((u_int32_t)getpid() ^ (u_int32_t)(now)->tv_sec ^ \
+     (u_int32_t)(now)->tv_usec)
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern u_int __rpc_get_a_size(int);
+ extern int __rpc_dtbsize(void);
+ extern int _rpc_dtablesize(void);
+@@ -77,6 +78,8 @@ bool_t rpc_control(int,void *);
+ 
+ char *_get_next_token(char *, int);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #endif /* _RPC_RPCCOM_H */

+ 44 - 0
package/libtirpc/patches/patch-tirpc_rpc_rpc_h

@@ -0,0 +1,44 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/rpc.h	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/rpc.h	2014-03-22 13:20:52.000000000 +0100
+@@ -79,9 +79,11 @@
+ #define UDPMSGSIZE 8800
+ #endif
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern int get_myaddress(struct sockaddr_in *);
+-extern int bindresvport(int, struct sockaddr_in *) __THROW;
++extern int bindresvport(int, struct sockaddr_in *);
+ extern int registerrpc(int, int, int, char *(*)(char [UDPMSGSIZE]),
+     xdrproc_t, xdrproc_t);
+ extern int callrpc(const char *, int, int, int, xdrproc_t, void *,
+@@ -93,18 +95,24 @@ struct netbuf *uaddr2taddr(const struct
+ 
+ struct sockaddr;
+ extern int bindresvport_sa(int, struct sockaddr *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * The following are not exported interfaces, they are for internal library
+  * and rpcbind use only. Do not use, they may change without notice.
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ int __rpc_nconf2fd(const struct netconfig *);
+ int __rpc_nconf2fd_flags(const struct netconfig *, int);
+ int __rpc_nconf2sockinfo(const struct netconfig *, struct __rpc_sockinfo *);
+ int __rpc_fd2sockinfo(int, struct __rpc_sockinfo *);
+ u_int __rpc_get_t_size(int, int, int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #endif /* !_RPC_RPC_H */

+ 23 - 0
package/libtirpc/patches/patch-tirpc_rpc_rpc_msg_h

@@ -0,0 +1,23 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/rpc_msg.h	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/rpc_msg.h	2014-03-22 13:20:52.000000000 +0100
+@@ -161,7 +161,9 @@ struct rpc_msg {
+ #define	acpted_rply	ru.RM_rmb.ru.RP_ar
+ #define	rjcted_rply	ru.RM_rmb.ru.RP_dr
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ /*
+  * XDR routine to handle a rpc message.
+  * xdr_callmsg(xdrs, cmsg)
+@@ -210,6 +212,8 @@ extern bool_t	xdr_rejected_reply(XDR *,
+  * 	struct rpc_err *error;
+  */
+ extern void	_seterr_reply(struct rpc_msg *, struct rpc_err *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #endif /* !_TIRPC_RPC_MSG_H */

+ 23 - 0
package/libtirpc/patches/patch-tirpc_rpc_rpcb_clnt_h

@@ -0,0 +1,23 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/rpcb_clnt.h	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/rpcb_clnt.h	2014-03-22 13:20:52.000000000 +0100
+@@ -59,7 +59,9 @@
+ 
+ #include <rpc/types.h>
+ #include <rpc/rpcb_prot.h>
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t rpcb_set(const rpcprog_t, const rpcvers_t,
+ 		       const struct netconfig  *, const struct netbuf *);
+ extern bool_t rpcb_unset(const rpcprog_t, const rpcvers_t,
+@@ -78,6 +80,8 @@ extern bool_t rpcb_getaddr(const rpcprog
+ extern bool_t rpcb_gettime(const char *, time_t *);
+ extern char *rpcb_taddr2uaddr(struct netconfig *, struct netbuf *);
+ extern struct netbuf *rpcb_uaddr2taddr(struct netconfig *, char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #endif	/* !_RPC_RPCB_CLNT_H */

+ 31 - 0
package/libtirpc/patches/patch-tirpc_rpc_rpcent_h

@@ -0,0 +1,31 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/rpcent.h	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/rpcent.h	2014-03-22 14:22:44.000000000 +0100
+@@ -44,10 +44,12 @@
+ /*	#pragma ident "@(#)rpcent.h   1.13    94/04/25 SMI"	*/
+ /*      @(#)rpcent.h 1.1 88/12/06 SMI   */
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ /* These are defined in /usr/include/rpc/netdb.h */
+-#if 0
++#if !defined(__GLIBC__)
+ struct rpcent {
+ 	char	*r_name;	/* name of server for this rpc program */
+ 	char	**r_aliases;	/* alias list */
+@@ -60,8 +62,10 @@ extern struct rpcent *getrpcbynumber(int
+ extern struct rpcent *getrpcent(void);
+ #endif
+ 
+-extern void setrpcent(int) __THROW;
+-extern void endrpcent(void) __THROW;
+-__END_DECLS
++extern void setrpcent(int);
++extern void endrpcent(void);
++#ifdef __cplusplus
++}
++#endif
+ 
+ #endif /* !_RPC_CENT_H */

+ 20 - 0
package/libtirpc/patches/patch-tirpc_rpc_svc_auth_h

@@ -0,0 +1,20 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/svc_auth.h	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/svc_auth.h	2014-03-22 13:20:52.000000000 +0100
+@@ -65,11 +65,15 @@ typedef struct SVCAUTH {
+ /*
+  * Server side authenticator
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern enum auth_stat _authenticate(struct svc_req *, struct rpc_msg *);
+ extern int svc_auth_reg(int, enum auth_stat (*)(struct svc_req *,
+ 			  struct rpc_msg *));
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #endif /* !_RPC_SVC_AUTH_H */

+ 152 - 0
package/libtirpc/patches/patch-tirpc_rpc_svc_h

@@ -0,0 +1,152 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/svc.h	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/svc.h	2014-03-22 13:20:52.000000000 +0100
+@@ -40,7 +40,6 @@
+ 
+ #ifndef _TIRPC_SVC_H
+ #define _TIRPC_SVC_H
+-#include <sys/cdefs.h>
+ 
+ /*
+  * This interface must manage two items concerning remote procedure calling:
+@@ -200,11 +199,15 @@ struct svc_req {
+  *	const struct netconfig *nconf;
+  */
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t	svc_reg(SVCXPRT *, const rpcprog_t, const rpcvers_t,
+ 			void (*)(struct svc_req *, SVCXPRT *),
+ 			const struct netconfig *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * Service un-registration
+@@ -214,9 +217,13 @@ __END_DECLS
+  *	const rpcvers_t vers;
+  */
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void	svc_unreg(const rpcprog_t, const rpcvers_t);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * Transport registration.
+@@ -224,9 +231,13 @@ __END_DECLS
+  * xprt_register(xprt)
+  *	SVCXPRT *xprt;
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void	xprt_register(SVCXPRT *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * Transport un-register
+@@ -234,9 +245,13 @@ __END_DECLS
+  * xprt_unregister(xprt)
+  *	SVCXPRT *xprt;
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void	xprt_unregister(SVCXPRT *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ 
+ /*
+@@ -265,7 +280,9 @@ __END_DECLS
+  * deadlock the caller and server processes!
+  */
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t	svc_sendreply(SVCXPRT *, xdrproc_t, void *);
+ extern void	svcerr_decode(SVCXPRT *);
+ extern void	svcerr_weakauth(SVCXPRT *);
+@@ -277,7 +294,9 @@ extern void	svcerr_systemerr(SVCXPRT *);
+ extern int	rpc_reg(rpcprog_t, rpcvers_t, rpcproc_t,
+ 			char *(*)(char *), xdrproc_t, xdrproc_t,
+ 			char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * Lowest level dispatching -OR- who owns this process anyway.
+@@ -306,11 +325,17 @@ extern int svc_fds;
+  * a small program implemented by the svc_rpc implementation itself;
+  * also see clnt.h for protocol numbers.
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void rpctest_service(void);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void	svc_getreq(int);
+ extern void	svc_getreqset(fd_set *);
+ extern void	svc_getreq_common(int);
+@@ -319,7 +344,9 @@ extern void	svc_getreq_poll(struct pollf
+ 
+ extern void	svc_run(void);
+ extern void	svc_exit(void);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * Socket to use on svcxxx_create call to get default socket
+@@ -331,7 +358,9 @@ __END_DECLS
+  * These are the existing service side transport implementations
+  */
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ /*
+  * Transport independent svc_create routine.
+  */
+@@ -427,7 +456,9 @@ int svc_dg_enablecache(SVCXPRT *, const
+ 
+ int __rpc_get_local_uid(SVCXPRT *_transp, uid_t *_uid);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ 
+ /* for backward compatibility */

+ 102 - 0
package/libtirpc/patches/patch-tirpc_rpc_svc_soc_h

@@ -0,0 +1,102 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/svc_soc.h	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/svc_soc.h	2014-03-22 13:20:52.000000000 +0100
+@@ -38,7 +38,6 @@
+ 
+ #ifndef _RPC_SVC_SOC_H
+ #define _RPC_SVC_SOC_H
+-#include <sys/cdefs.h>
+ 
+ /* #pragma ident   "@(#)svc_soc.h  1.11    94/04/25 SMI" */
+ /*      svc_soc.h 1.8 89/05/01 SMI      */
+@@ -64,10 +63,14 @@
+  *	void (*dispatch)();
+  *	int protocol;    like TCP or UDP, zero means do not register 
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t	svc_register(SVCXPRT *, u_long, u_long,
+ 		    void (*)(struct svc_req *, SVCXPRT *), int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * Service un-registration
+@@ -76,44 +79,64 @@ __END_DECLS
+  *	u_long prog;
+  *	u_long vers;
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void	svc_unregister(u_long, u_long);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ 
+ /*
+  * Memory based rpc for testing and timing.
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern SVCXPRT *svcraw_create(void);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ 
+ /*
+  * Udp based rpc.
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern SVCXPRT *svcudp_create(int);
+ extern SVCXPRT *svcudp_bufcreate(int, u_int, u_int);
+ extern int svcudp_enablecache(SVCXPRT *, u_long);
+ extern SVCXPRT *svcudp6_create(int);
+ extern SVCXPRT *svcudp6_bufcreate(int, u_int, u_int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ 
+ /*
+  * Tcp based rpc.
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern SVCXPRT *svctcp_create(int, u_int, u_int);
+ extern SVCXPRT *svctcp6_create(int, u_int, u_int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * Fd based rpc.
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern SVCXPRT *svcfd_create(int, u_int, u_int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #endif /* !_RPC_SVC_SOC_H */

+ 53 - 0
package/libtirpc/patches/patch-tirpc_rpc_xdr_h

@@ -0,0 +1,53 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/xdr.h	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/xdr.h	2014-03-22 13:20:52.000000000 +0100
+@@ -40,7 +40,6 @@
+ 
+ #ifndef _TIRPC_XDR_H
+ #define _TIRPC_XDR_H
+-#include <sys/cdefs.h>
+ #include <stdio.h>
+ #include <netinet/in.h>
+ 
+@@ -287,7 +286,9 @@ struct xdr_discrim {
+ /*
+  * These are the "generic" xdr routines.
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t	xdr_void(void);
+ extern bool_t	xdr_int(XDR *, int *);
+ extern bool_t	xdr_u_int(XDR *, u_int *);
+@@ -322,7 +323,9 @@ extern bool_t	xdr_hyper(XDR *, quad_t *)
+ extern bool_t	xdr_u_hyper(XDR *, u_quad_t *);
+ extern bool_t	xdr_longlong_t(XDR *, quad_t *);
+ extern bool_t	xdr_u_longlong_t(XDR *, u_quad_t *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ /*
+  * Common opaque bytes objects used by many rpc protocols;
+@@ -340,7 +343,9 @@ extern bool_t   xdr_netobj(XDR *, struct
+  * These are the public routines for the various implementations of
+  * xdr streams.
+  */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ /* XDR using memory buffers */
+ extern void   xdrmem_create(XDR *, char *, u_int, enum xdr_op);
+ 
+@@ -361,6 +366,8 @@ extern bool_t xdrrec_skiprecord(XDR *);
+ /* true if no more input */
+ extern bool_t xdrrec_eof(XDR *);
+ extern u_int xdrrec_readbytes(XDR *, caddr_t, u_int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #endif /* !_TIRPC_XDR_H */

+ 12 - 0
package/libtirpc/patches/patch-tirpc_rpcsvc_crypt_x

@@ -0,0 +1,12 @@
+--- libtirpc-0.2.3.orig/tirpc/rpcsvc/crypt.x	2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpcsvc/crypt.x	2014-03-22 13:20:52.000000000 +0100
+@@ -31,8 +31,7 @@
+  */
+ 
+ #ifndef RPC_HDR
+-%#include <sys/cdefs.h>
+-%__FBSDID("$FreeBSD: src/include/rpcsvc/crypt.x,v 1.5 2003/05/04 02:51:42 obrien Exp $");
++%%__FBSDID("$FreeBSD: src/include/rpcsvc/crypt.x,v 1.5 2003/05/04 02:51:42 obrien Exp $");
+ #endif
+ 
+ /*

+ 574 - 0
package/libtirpc/src/src/queue.h

@@ -0,0 +1,574 @@
+/*
+ * Copyright (c) 1991, 1993
+ *	The Regents of the University of California.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ *	@(#)queue.h	8.5 (Berkeley) 8/20/94
+ */
+
+#ifndef	_SYS_QUEUE_H_
+#define	_SYS_QUEUE_H_
+
+/*
+ * This file defines five types of data structures: singly-linked lists,
+ * lists, simple queues, tail queues, and circular queues.
+ *
+ * A singly-linked list is headed by a single forward pointer. The
+ * elements are singly linked for minimum space and pointer manipulation
+ * overhead at the expense of O(n) removal for arbitrary elements. New
+ * elements can be added to the list after an existing element or at the
+ * head of the list.  Elements being removed from the head of the list
+ * should use the explicit macro for this purpose for optimum
+ * efficiency. A singly-linked list may only be traversed in the forward
+ * direction.  Singly-linked lists are ideal for applications with large
+ * datasets and few or no removals or for implementing a LIFO queue.
+ *
+ * A list is headed by a single forward pointer (or an array of forward
+ * pointers for a hash table header). The elements are doubly linked
+ * so that an arbitrary element can be removed without a need to
+ * traverse the list. New elements can be added to the list before
+ * or after an existing element or at the head of the list. A list
+ * may only be traversed in the forward direction.
+ *
+ * A simple queue is headed by a pair of pointers, one the head of the
+ * list and the other to the tail of the list. The elements are singly
+ * linked to save space, so elements can only be removed from the
+ * head of the list. New elements can be added to the list after
+ * an existing element, at the head of the list, or at the end of the
+ * list. A simple queue may only be traversed in the forward direction.
+ *
+ * A tail queue is headed by a pair of pointers, one to the head of the
+ * list and the other to the tail of the list. The elements are doubly
+ * linked so that an arbitrary element can be removed without a need to
+ * traverse the list. New elements can be added to the list before or
+ * after an existing element, at the head of the list, or at the end of
+ * the list. A tail queue may be traversed in either direction.
+ *
+ * A circle queue is headed by a pair of pointers, one to the head of the
+ * list and the other to the tail of the list. The elements are doubly
+ * linked so that an arbitrary element can be removed without a need to
+ * traverse the list. New elements can be added to the list before or after
+ * an existing element, at the head of the list, or at the end of the list.
+ * A circle queue may be traversed in either direction, but has a more
+ * complex end of list detection.
+ *
+ * For details on the use of these macros, see the queue(3) manual page.
+ */
+
+/*
+ * List definitions.
+ */
+#define	LIST_HEAD(name, type)						\
+struct name {								\
+	struct type *lh_first;	/* first element */			\
+}
+
+#define	LIST_HEAD_INITIALIZER(head)					\
+	{ NULL }
+
+#define	LIST_ENTRY(type)						\
+struct {								\
+	struct type *le_next;	/* next element */			\
+	struct type **le_prev;	/* address of previous next element */	\
+}
+
+/*
+ * List functions.
+ */
+#define	LIST_INIT(head) do {						\
+	(head)->lh_first = NULL;					\
+} while (/*CONSTCOND*/0)
+
+#define	LIST_INSERT_AFTER(listelm, elm, field) do {			\
+	if (((elm)->field.le_next = (listelm)->field.le_next) != NULL)	\
+		(listelm)->field.le_next->field.le_prev =		\
+		    &(elm)->field.le_next;				\
+	(listelm)->field.le_next = (elm);				\
+	(elm)->field.le_prev = &(listelm)->field.le_next;		\
+} while (/*CONSTCOND*/0)
+
+#define	LIST_INSERT_BEFORE(listelm, elm, field) do {			\
+	(elm)->field.le_prev = (listelm)->field.le_prev;		\
+	(elm)->field.le_next = (listelm);				\
+	*(listelm)->field.le_prev = (elm);				\
+	(listelm)->field.le_prev = &(elm)->field.le_next;		\
+} while (/*CONSTCOND*/0)
+
+#define	LIST_INSERT_HEAD(head, elm, field) do {				\
+	if (((elm)->field.le_next = (head)->lh_first) != NULL)		\
+		(head)->lh_first->field.le_prev = &(elm)->field.le_next;\
+	(head)->lh_first = (elm);					\
+	(elm)->field.le_prev = &(head)->lh_first;			\
+} while (/*CONSTCOND*/0)
+
+#define	LIST_REMOVE(elm, field) do {					\
+	if ((elm)->field.le_next != NULL)				\
+		(elm)->field.le_next->field.le_prev = 			\
+		    (elm)->field.le_prev;				\
+	*(elm)->field.le_prev = (elm)->field.le_next;			\
+} while (/*CONSTCOND*/0)
+
+#define	LIST_FOREACH(var, head, field)					\
+	for ((var) = ((head)->lh_first);				\
+		(var);							\
+		(var) = ((var)->field.le_next))
+
+/*
+ * List access methods.
+ */
+#define	LIST_EMPTY(head)		((head)->lh_first == NULL)
+#define	LIST_FIRST(head)		((head)->lh_first)
+#define	LIST_NEXT(elm, field)		((elm)->field.le_next)
+
+
+/*
+ * Singly-linked List definitions.
+ */
+#define	SLIST_HEAD(name, type)						\
+struct name {								\
+	struct type *slh_first;	/* first element */			\
+}
+
+#define	SLIST_HEAD_INITIALIZER(head)					\
+	{ NULL }
+
+#define	SLIST_ENTRY(type)						\
+struct {								\
+	struct type *sle_next;	/* next element */			\
+}
+
+/*
+ * Singly-linked List functions.
+ */
+#define	SLIST_INIT(head) do {						\
+	(head)->slh_first = NULL;					\
+} while (/*CONSTCOND*/0)
+
+#define	SLIST_INSERT_AFTER(slistelm, elm, field) do {			\
+	(elm)->field.sle_next = (slistelm)->field.sle_next;		\
+	(slistelm)->field.sle_next = (elm);				\
+} while (/*CONSTCOND*/0)
+
+#define	SLIST_INSERT_HEAD(head, elm, field) do {			\
+	(elm)->field.sle_next = (head)->slh_first;			\
+	(head)->slh_first = (elm);					\
+} while (/*CONSTCOND*/0)
+
+#define	SLIST_REMOVE_HEAD(head, field) do {				\
+	(head)->slh_first = (head)->slh_first->field.sle_next;		\
+} while (/*CONSTCOND*/0)
+
+#define	SLIST_REMOVE(head, elm, type, field) do {			\
+	if ((head)->slh_first == (elm)) {				\
+		SLIST_REMOVE_HEAD((head), field);			\
+	}								\
+	else {								\
+		struct type *curelm = (head)->slh_first;		\
+		while(curelm->field.sle_next != (elm))			\
+			curelm = curelm->field.sle_next;		\
+		curelm->field.sle_next =				\
+		    curelm->field.sle_next->field.sle_next;		\
+	}								\
+} while (/*CONSTCOND*/0)
+
+#define	SLIST_FOREACH(var, head, field)					\
+	for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next)
+
+/*
+ * Singly-linked List access methods.
+ */
+#define	SLIST_EMPTY(head)	((head)->slh_first == NULL)
+#define	SLIST_FIRST(head)	((head)->slh_first)
+#define	SLIST_NEXT(elm, field)	((elm)->field.sle_next)
+
+
+/*
+ * Singly-linked Tail queue declarations.
+ */
+#define	STAILQ_HEAD(name, type)					\
+struct name {								\
+	struct type *stqh_first;	/* first element */			\
+	struct type **stqh_last;	/* addr of last next element */		\
+}
+
+#define	STAILQ_HEAD_INITIALIZER(head)					\
+	{ NULL, &(head).stqh_first }
+
+#define	STAILQ_ENTRY(type)						\
+struct {								\
+	struct type *stqe_next;	/* next element */			\
+}
+
+/*
+ * Singly-linked Tail queue functions.
+ */
+#define	STAILQ_INIT(head) do {						\
+	(head)->stqh_first = NULL;					\
+	(head)->stqh_last = &(head)->stqh_first;				\
+} while (/*CONSTCOND*/0)
+
+#define	STAILQ_INSERT_HEAD(head, elm, field) do {			\
+	if (((elm)->field.stqe_next = (head)->stqh_first) == NULL)	\
+		(head)->stqh_last = &(elm)->field.stqe_next;		\
+	(head)->stqh_first = (elm);					\
+} while (/*CONSTCOND*/0)
+
+#define	STAILQ_INSERT_TAIL(head, elm, field) do {			\
+	(elm)->field.stqe_next = NULL;					\
+	*(head)->stqh_last = (elm);					\
+	(head)->stqh_last = &(elm)->field.stqe_next;			\
+} while (/*CONSTCOND*/0)
+
+#define	STAILQ_INSERT_AFTER(head, listelm, elm, field) do {		\
+	if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\
+		(head)->stqh_last = &(elm)->field.stqe_next;		\
+	(listelm)->field.stqe_next = (elm);				\
+} while (/*CONSTCOND*/0)
+
+#define	STAILQ_REMOVE_HEAD(head, field) do {				\
+	if (((head)->stqh_first = (head)->stqh_first->field.stqe_next) == NULL) \
+		(head)->stqh_last = &(head)->stqh_first;			\
+} while (/*CONSTCOND*/0)
+
+#define	STAILQ_REMOVE(head, elm, type, field) do {			\
+	if ((head)->stqh_first == (elm)) {				\
+		STAILQ_REMOVE_HEAD((head), field);			\
+	} else {							\
+		struct type *curelm = (head)->stqh_first;		\
+		while (curelm->field.stqe_next != (elm))			\
+			curelm = curelm->field.stqe_next;		\
+		if ((curelm->field.stqe_next =				\
+			curelm->field.stqe_next->field.stqe_next) == NULL) \
+			    (head)->stqh_last = &(curelm)->field.stqe_next; \
+	}								\
+} while (/*CONSTCOND*/0)
+
+#define	STAILQ_FOREACH(var, head, field)				\
+	for ((var) = ((head)->stqh_first);				\
+		(var);							\
+		(var) = ((var)->field.stqe_next))
+
+#define	STAILQ_CONCAT(head1, head2) do {				\
+	if (!STAILQ_EMPTY((head2))) {					\
+		*(head1)->stqh_last = (head2)->stqh_first;		\
+		(head1)->stqh_last = (head2)->stqh_last;		\
+		STAILQ_INIT((head2));					\
+	}								\
+} while (/*CONSTCOND*/0)
+
+/*
+ * Singly-linked Tail queue access methods.
+ */
+#define	STAILQ_EMPTY(head)	((head)->stqh_first == NULL)
+#define	STAILQ_FIRST(head)	((head)->stqh_first)
+#define	STAILQ_NEXT(elm, field)	((elm)->field.stqe_next)
+
+
+/*
+ * Simple queue definitions.
+ */
+#define	SIMPLEQ_HEAD(name, type)					\
+struct name {								\
+	struct type *sqh_first;	/* first element */			\
+	struct type **sqh_last;	/* addr of last next element */		\
+}
+
+#define	SIMPLEQ_HEAD_INITIALIZER(head)					\
+	{ NULL, &(head).sqh_first }
+
+#define	SIMPLEQ_ENTRY(type)						\
+struct {								\
+	struct type *sqe_next;	/* next element */			\
+}
+
+/*
+ * Simple queue functions.
+ */
+#define	SIMPLEQ_INIT(head) do {						\
+	(head)->sqh_first = NULL;					\
+	(head)->sqh_last = &(head)->sqh_first;				\
+} while (/*CONSTCOND*/0)
+
+#define	SIMPLEQ_INSERT_HEAD(head, elm, field) do {			\
+	if (((elm)->field.sqe_next = (head)->sqh_first) == NULL)	\
+		(head)->sqh_last = &(elm)->field.sqe_next;		\
+	(head)->sqh_first = (elm);					\
+} while (/*CONSTCOND*/0)
+
+#define	SIMPLEQ_INSERT_TAIL(head, elm, field) do {			\
+	(elm)->field.sqe_next = NULL;					\
+	*(head)->sqh_last = (elm);					\
+	(head)->sqh_last = &(elm)->field.sqe_next;			\
+} while (/*CONSTCOND*/0)
+
+#define	SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do {		\
+	if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\
+		(head)->sqh_last = &(elm)->field.sqe_next;		\
+	(listelm)->field.sqe_next = (elm);				\
+} while (/*CONSTCOND*/0)
+
+#define	SIMPLEQ_REMOVE_HEAD(head, field) do {				\
+	if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \
+		(head)->sqh_last = &(head)->sqh_first;			\
+} while (/*CONSTCOND*/0)
+
+#define	SIMPLEQ_REMOVE(head, elm, type, field) do {			\
+	if ((head)->sqh_first == (elm)) {				\
+		SIMPLEQ_REMOVE_HEAD((head), field);			\
+	} else {							\
+		struct type *curelm = (head)->sqh_first;		\
+		while (curelm->field.sqe_next != (elm))			\
+			curelm = curelm->field.sqe_next;		\
+		if ((curelm->field.sqe_next =				\
+			curelm->field.sqe_next->field.sqe_next) == NULL) \
+			    (head)->sqh_last = &(curelm)->field.sqe_next; \
+	}								\
+} while (/*CONSTCOND*/0)
+
+#define	SIMPLEQ_FOREACH(var, head, field)				\
+	for ((var) = ((head)->sqh_first);				\
+		(var);							\
+		(var) = ((var)->field.sqe_next))
+
+/*
+ * Simple queue access methods.
+ */
+#define	SIMPLEQ_EMPTY(head)		((head)->sqh_first == NULL)
+#define	SIMPLEQ_FIRST(head)		((head)->sqh_first)
+#define	SIMPLEQ_NEXT(elm, field)	((elm)->field.sqe_next)
+
+
+/*
+ * Tail queue definitions.
+ */
+#define	_TAILQ_HEAD(name, type, qual)					\
+struct name {								\
+	qual type *tqh_first;		/* first element */		\
+	qual type *qual *tqh_last;	/* addr of last next element */	\
+}
+#define TAILQ_HEAD(name, type)	_TAILQ_HEAD(name, struct type,)
+
+#define	TAILQ_HEAD_INITIALIZER(head)					\
+	{ NULL, &(head).tqh_first }
+
+#define	_TAILQ_ENTRY(type, qual)					\
+struct {								\
+	qual type *tqe_next;		/* next element */		\
+	qual type *qual *tqe_prev;	/* address of previous next element */\
+}
+#define TAILQ_ENTRY(type)	_TAILQ_ENTRY(struct type,)
+
+/*
+ * Tail queue functions.
+ */
+#define	TAILQ_INIT(head) do {						\
+	(head)->tqh_first = NULL;					\
+	(head)->tqh_last = &(head)->tqh_first;				\
+} while (/*CONSTCOND*/0)
+
+#define	TAILQ_INSERT_HEAD(head, elm, field) do {			\
+	if (((elm)->field.tqe_next = (head)->tqh_first) != NULL)	\
+		(head)->tqh_first->field.tqe_prev =			\
+		    &(elm)->field.tqe_next;				\
+	else								\
+		(head)->tqh_last = &(elm)->field.tqe_next;		\
+	(head)->tqh_first = (elm);					\
+	(elm)->field.tqe_prev = &(head)->tqh_first;			\
+} while (/*CONSTCOND*/0)
+
+#define	TAILQ_INSERT_TAIL(head, elm, field) do {			\
+	(elm)->field.tqe_next = NULL;					\
+	(elm)->field.tqe_prev = (head)->tqh_last;			\
+	*(head)->tqh_last = (elm);					\
+	(head)->tqh_last = &(elm)->field.tqe_next;			\
+} while (/*CONSTCOND*/0)
+
+#define	TAILQ_INSERT_AFTER(head, listelm, elm, field) do {		\
+	if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\
+		(elm)->field.tqe_next->field.tqe_prev = 		\
+		    &(elm)->field.tqe_next;				\
+	else								\
+		(head)->tqh_last = &(elm)->field.tqe_next;		\
+	(listelm)->field.tqe_next = (elm);				\
+	(elm)->field.tqe_prev = &(listelm)->field.tqe_next;		\
+} while (/*CONSTCOND*/0)
+
+#define	TAILQ_INSERT_BEFORE(listelm, elm, field) do {			\
+	(elm)->field.tqe_prev = (listelm)->field.tqe_prev;		\
+	(elm)->field.tqe_next = (listelm);				\
+	*(listelm)->field.tqe_prev = (elm);				\
+	(listelm)->field.tqe_prev = &(elm)->field.tqe_next;		\
+} while (/*CONSTCOND*/0)
+
+#define	TAILQ_REMOVE(head, elm, field) do {				\
+	if (((elm)->field.tqe_next) != NULL)				\
+		(elm)->field.tqe_next->field.tqe_prev = 		\
+		    (elm)->field.tqe_prev;				\
+	else								\
+		(head)->tqh_last = (elm)->field.tqe_prev;		\
+	*(elm)->field.tqe_prev = (elm)->field.tqe_next;			\
+} while (/*CONSTCOND*/0)
+
+#define	TAILQ_FOREACH(var, head, field)					\
+	for ((var) = ((head)->tqh_first);				\
+		(var);							\
+		(var) = ((var)->field.tqe_next))
+
+#define	TAILQ_FOREACH_REVERSE(var, head, headname, field)		\
+	for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last));	\
+		(var);							\
+		(var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last)))
+
+#define	TAILQ_CONCAT(head1, head2, field) do {				\
+	if (!TAILQ_EMPTY(head2)) {					\
+		*(head1)->tqh_last = (head2)->tqh_first;		\
+		(head2)->tqh_first->field.tqe_prev = (head1)->tqh_last;	\
+		(head1)->tqh_last = (head2)->tqh_last;			\
+		TAILQ_INIT((head2));					\
+	}								\
+} while (/*CONSTCOND*/0)
+
+/*
+ * Tail queue access methods.
+ */
+#define	TAILQ_EMPTY(head)		((head)->tqh_first == NULL)
+#define	TAILQ_FIRST(head)		((head)->tqh_first)
+#define	TAILQ_NEXT(elm, field)		((elm)->field.tqe_next)
+
+#define	TAILQ_LAST(head, headname) \
+	(*(((struct headname *)((head)->tqh_last))->tqh_last))
+#define	TAILQ_PREV(elm, headname, field) \
+	(*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
+
+
+/*
+ * Circular queue definitions.
+ */
+#define	CIRCLEQ_HEAD(name, type)					\
+struct name {								\
+	struct type *cqh_first;		/* first element */		\
+	struct type *cqh_last;		/* last element */		\
+}
+
+#define	CIRCLEQ_HEAD_INITIALIZER(head)					\
+	{ (void *)&head, (void *)&head }
+
+#define	CIRCLEQ_ENTRY(type)						\
+struct {								\
+	struct type *cqe_next;		/* next element */		\
+	struct type *cqe_prev;		/* previous element */		\
+}
+
+/*
+ * Circular queue functions.
+ */
+#define	CIRCLEQ_INIT(head) do {						\
+	(head)->cqh_first = (void *)(head);				\
+	(head)->cqh_last = (void *)(head);				\
+} while (/*CONSTCOND*/0)
+
+#define	CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do {		\
+	(elm)->field.cqe_next = (listelm)->field.cqe_next;		\
+	(elm)->field.cqe_prev = (listelm);				\
+	if ((listelm)->field.cqe_next == (void *)(head))		\
+		(head)->cqh_last = (elm);				\
+	else								\
+		(listelm)->field.cqe_next->field.cqe_prev = (elm);	\
+	(listelm)->field.cqe_next = (elm);				\
+} while (/*CONSTCOND*/0)
+
+#define	CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do {		\
+	(elm)->field.cqe_next = (listelm);				\
+	(elm)->field.cqe_prev = (listelm)->field.cqe_prev;		\
+	if ((listelm)->field.cqe_prev == (void *)(head))		\
+		(head)->cqh_first = (elm);				\
+	else								\
+		(listelm)->field.cqe_prev->field.cqe_next = (elm);	\
+	(listelm)->field.cqe_prev = (elm);				\
+} while (/*CONSTCOND*/0)
+
+#define	CIRCLEQ_INSERT_HEAD(head, elm, field) do {			\
+	(elm)->field.cqe_next = (head)->cqh_first;			\
+	(elm)->field.cqe_prev = (void *)(head);				\
+	if ((head)->cqh_last == (void *)(head))				\
+		(head)->cqh_last = (elm);				\
+	else								\
+		(head)->cqh_first->field.cqe_prev = (elm);		\
+	(head)->cqh_first = (elm);					\
+} while (/*CONSTCOND*/0)
+
+#define	CIRCLEQ_INSERT_TAIL(head, elm, field) do {			\
+	(elm)->field.cqe_next = (void *)(head);				\
+	(elm)->field.cqe_prev = (head)->cqh_last;			\
+	if ((head)->cqh_first == (void *)(head))			\
+		(head)->cqh_first = (elm);				\
+	else								\
+		(head)->cqh_last->field.cqe_next = (elm);		\
+	(head)->cqh_last = (elm);					\
+} while (/*CONSTCOND*/0)
+
+#define	CIRCLEQ_REMOVE(head, elm, field) do {				\
+	if ((elm)->field.cqe_next == (void *)(head))			\
+		(head)->cqh_last = (elm)->field.cqe_prev;		\
+	else								\
+		(elm)->field.cqe_next->field.cqe_prev =			\
+		    (elm)->field.cqe_prev;				\
+	if ((elm)->field.cqe_prev == (void *)(head))			\
+		(head)->cqh_first = (elm)->field.cqe_next;		\
+	else								\
+		(elm)->field.cqe_prev->field.cqe_next =			\
+		    (elm)->field.cqe_next;				\
+} while (/*CONSTCOND*/0)
+
+#define	CIRCLEQ_FOREACH(var, head, field)				\
+	for ((var) = ((head)->cqh_first);				\
+		(var) != (const void *)(head);				\
+		(var) = ((var)->field.cqe_next))
+
+#define	CIRCLEQ_FOREACH_REVERSE(var, head, field)			\
+	for ((var) = ((head)->cqh_last);				\
+		(var) != (const void *)(head);				\
+		(var) = ((var)->field.cqe_prev))
+
+/*
+ * Circular queue access methods.
+ */
+#define	CIRCLEQ_EMPTY(head)		((head)->cqh_first == (void *)(head))
+#define	CIRCLEQ_FIRST(head)		((head)->cqh_first)
+#define	CIRCLEQ_LAST(head)		((head)->cqh_last)
+#define	CIRCLEQ_NEXT(elm, field)	((elm)->field.cqe_next)
+#define	CIRCLEQ_PREV(elm, field)	((elm)->field.cqe_prev)
+
+#define CIRCLEQ_LOOP_NEXT(head, elm, field)				\
+	(((elm)->field.cqe_next == (void *)(head))			\
+	    ? ((head)->cqh_first)					\
+	    : (elm->field.cqe_next))
+#define CIRCLEQ_LOOP_PREV(head, elm, field)				\
+	(((elm)->field.cqe_prev == (void *)(head))			\
+	    ? ((head)->cqh_last)					\
+	    : (elm->field.cqe_prev))
+
+#endif	/* sys/queue.h */

+ 2 - 1
package/libxml2/Makefile

@@ -10,7 +10,8 @@ PKG_MD5SUM:=		9c0cfef285d5c4a5c80d00904ddab380
 PKG_DESCR:=		XML C parser and toolkit
 PKG_SECTION:=		libs
 PKG_DEPENDS:=		zlib
-PKG_BUILDDEP:=		autotool gettext-tiny bzip2-host python2-host libxml2-host zlib
+PKG_BUILDDEP:=		libxml2-host zlib
+HOST_BUILDDEP:=		python2-host
 PKG_URL:=		http://www.xmlsoft.org/
 PKG_SITES:=		http://xmlsoft.org/sources/
 PKG_OPTS:=		dev

+ 3 - 3
package/lynx/Makefile

@@ -4,9 +4,9 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		lynx
-PKG_VERSION:=		2.8.7
+PKG_VERSION:=		2.8.8
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		e36d70f3f09b2d502055ca67f09e363c
+PKG_MD5SUM:=		7caa6773f94e136556c1c30629fe1431
 PKG_DESCR:=		Standard text browser
 PKG_SECTION:=		browser
 PKG_DEPENDS:=		libncurses libopenssl zlib
@@ -17,7 +17,7 @@ PKG_SITES:=		http://lynx.isc.org/${PKG_NAME}${PKG_VERSION}/
 PKG_NOPARALLEL:=	1
 
 DISTFILES=		${PKG_NAME}${PKG_VERSION}.tar.gz
-WRKDIST=		${WRKDIR}/lynx2-8-7
+WRKDIST=		${WRKDIR}/lynx2-8-8
 
 include ${TOPDIR}/mk/package.mk
 

+ 7 - 7
package/lynx/patches/patch-WWW_Library_Implementation_HTUtils_h

@@ -1,6 +1,6 @@
---- lynx2-8-7.orig/WWW/Library/Implementation/HTUtils.h	2009-05-25 23:05:31.000000000 +0200
-+++ lynx2-8-7/WWW/Library/Implementation/HTUtils.h	2010-05-29 12:56:42.125000000 +0200
-@@ -677,6 +677,8 @@ extern int WWW_TraceMask;
+--- lynx2-8-8.orig/WWW/Library/Implementation/HTUtils.h	2014-02-05 01:50:18.000000000 +0100
++++ lynx2-8-8/WWW/Library/Implementation/HTUtils.h	2014-03-21 22:14:07.000000000 +0100
+@@ -725,6 +725,8 @@ extern int WWW_TraceMask;
  
  #define SHORTENED_RBIND		/* FIXME: do this in configure-script */
  
@@ -9,15 +9,15 @@
  #ifdef USE_SSL
  
  #define free_func free__func
-@@ -717,6 +719,7 @@ extern int WWW_TraceMask;
+@@ -765,6 +767,7 @@ extern int WWW_TraceMask;
  
  #undef free_func
  #endif /* USE_SSL */
 +#endif
  
- #ifdef HAVE_LIBDMALLOC
- #include <dmalloc.h>		/* Gray Watson's library */
-@@ -747,11 +750,14 @@ extern "C" {
+ #ifdef HAVE_BSD_STDLIB_H
+ #include <bsd/stdlib.h>		/* prototype for arc4random.h */
+@@ -801,11 +804,14 @@ extern "C" {
  
      extern FILE *TraceFP(void);
  

+ 11 - 0
package/lynx/patches/patch-makefile_in

@@ -0,0 +1,11 @@
+--- lynx2-8-8.orig/makefile.in	2014-03-09 22:43:10.000000000 +0100
++++ lynx2-8-8/makefile.in	2014-03-21 23:17:26.000000000 +0100
+@@ -210,7 +210,7 @@ SRC_CFLAGS = \
+ 	WWWINC=$(WWW_DIR) \
+ 	WWWLIB="../$(WWW_DIR)/libwww.a"
+ 
+-actual_PROG  = `echo lynx|    sed '$(transform)'`
++actual_PROG  = lynx
+ binary_PROG  = $(actual_PROG)$x
+ 
+ all lynx$x: cfg_defs.h LYHelp.h

+ 3 - 16
package/lynx/patches/patch-src_chrtrans_makeuctb_c

@@ -1,23 +1,10 @@
---- lynx2-8-7.orig/src/chrtrans/makeuctb.c	2009-02-02 02:41:02.000000000 +0100
-+++ lynx2-8-7/src/chrtrans/makeuctb.c	2010-05-29 12:55:33.031250000 +0200
-@@ -18,6 +18,7 @@
-  *  version 2, or at your option any later version.
-  */
- 
-+
- #ifndef HAVE_CONFIG_H
- /* override HTUtils.h fallbacks for cross-compiling */
- #undef HAVE_LSTAT
-@@ -28,10 +29,12 @@
+--- lynx2-8-8.orig/src/chrtrans/makeuctb.c	2013-11-29 01:52:56.000000000 +0100
++++ lynx2-8-8/src/chrtrans/makeuctb.c	2014-03-21 22:12:13.000000000 +0100
+@@ -28,6 +28,7 @@
  
  #define DONT_USE_GETTEXT
  #define DONT_USE_SOCKS5
 +#define DONT_USE_SSL
  #include <UCDefs.h>
  #include <UCkd.h>
- #include <LYUtils.h>
  
-+
- /*
-  *  Don't try to use LYexit() since this is a standalone file.
-  */

+ 2 - 2
package/mpg123/Makefile

@@ -4,9 +4,9 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		mpg123
-PKG_VERSION:=		1.13.3
+PKG_VERSION:=		1.19.0
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		b1f990ce76dcf2fdf9d53ac39fc6bc7e
+PKG_MD5SUM:=		87731f1437cfd8c50537a606d81130e4
 PKG_DESCR:=		mp3 console player
 PKG_SECTION:=		multimedia
 PKG_DEPENDS:=		libpthread alsa-lib

+ 18 - 16
package/python3/Makefile

@@ -4,15 +4,16 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		python3
-PKG_VERSION:=		3.3.2
-PKG_RELEASE:=		3
-PKG_MD5SUM:=		0a2ea57f6184baf45b150aee53c0c8da
+PKG_VERSION:=		3.4.0
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		77c22725e14af3d71022cbfdebff4903
 PKG_DESCR:=		Python scripting language (Version 3)
 PKG_SECTION:=		lang
 PKG_DEPENDS:=		libpthread libgcc libffi
 PKG_BUILDDEP:=		python3-host libffi 
+HOST_BUILDDEP:=		libffi-host
 PKG_URL:=		http://www.python.org/
-PKG_SITES:=		http://www.python.org/ftp/python/${PKG_VERSION}/
+PKG_SITES:=		http://legacy.python.org/ftp/python/${PKG_VERSION}/
 
 PKG_HOST_DEPENDS:=	!netbsd !openbsd !cygwin
 
@@ -44,7 +45,7 @@ PKGFD_MOD_SSL:=		OpenSSL support
 PKGFB_MOD_SSL:=		openssl
 PKGFS_MOD_SSL:=		libopenssl
 
-DISTFILES=		Python-${PKG_VERSION}.tgz
+DISTFILES=		Python-${PKG_VERSION}.tar.xz
 WRKDIST=		${WRKDIR}/Python-${PKG_VERSION}
 
 include ${TOPDIR}/mk/host.mk
@@ -55,9 +56,9 @@ define PKG_mod_template
 INSTALL_MODS_$${ADK_PACKAGE_${1}}+=    ${2}-install
 
 ${2}-install:
-	${INSTALL_DIR} $$(IDIR_$(1))/usr/lib/python3.3/lib-dynload
+	${INSTALL_DIR} $$(IDIR_$(1))/usr/lib/python3.4/lib-dynload
 	for m in ${2}; do \
-		${INSTALL_DATA} $(WRKINST)/usr/lib/python3.3/lib-dynload/$$$${m}*.so $$(IDIR_$(1))/usr/lib/python3.3/lib-dynload ;\
+		${INSTALL_DATA} $(WRKINST)/usr/lib/python3.4/lib-dynload/$$$${m}*.so $$(IDIR_$(1))/usr/lib/python3.4/lib-dynload ;\
 	done
 endef
 
@@ -84,6 +85,7 @@ $(eval $(call PKG_mod_template,PYTHON3_MOD_SSL,_ssl))
 $(eval $(call PKG_mod_template,PYTHON3_MOD_READLINE,readline))
 
 MAKE_ENV+=		HOSTPGEN=$(STAGING_HOST_DIR)/usr/bin/pgen3
+FAKE_FLAGS+=		ENSUREPIP=no
 CONFIGURE_ARGS:=	--with-threads \
 			--with-system-ffi \
 			--with-system-expat \
@@ -97,21 +99,21 @@ HOST_STYLE:=		auto
 HOST_CONFIGURE_ARGS+=	--without-cxx-main \
 			--with-threads
 
-hostpost-install:
-	$(INSTALL_BIN) ${WRKBUILD}/Parser/pgen \
-		$(STAGING_HOST_DIR)/usr/bin/pgen3
+#hostpost-install:
+#	$(INSTALL_BIN) ${WRKBUILD}/Parser/pgen \
+#		$(STAGING_HOST_DIR)/usr/bin/pgen3
 			
 python3-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
 	${INSTALL_DIR} ${IDIR_PYTHON3}/usr/bin ${IDIR_PYTHON3}/usr/lib
-	${INSTALL_DIR} ${IDIR_PYTHON3}/usr/lib/python3.3
-	${INSTALL_DIR} ${IDIR_PYTHON3}/usr/include/python3.3m
+	${INSTALL_DIR} ${IDIR_PYTHON3}/usr/lib/python3.4
+	${INSTALL_DIR} ${IDIR_PYTHON3}/usr/include/python3.4m
 	${INSTALL_BIN} ${WRKINST}/usr/bin/python3 ${IDIR_PYTHON3}/usr/bin
 	${CP} ${WRKINST}/usr/lib/libpython*.so* ${IDIR_PYTHON3}/usr/lib
-	${CP} ${WRKINST}/usr/lib/python3.3/* ${IDIR_PYTHON3}/usr/lib/python3.3
-	${CP} ${WRKINST}/usr/include/python3.3m/pyconfig.h \
-		 ${IDIR_PYTHON3}/usr/include/python3.3m
+	${CP} ${WRKINST}/usr/lib/python3.4/* ${IDIR_PYTHON3}/usr/lib/python3.4
+	${CP} ${WRKINST}/usr/include/python3.4m/pyconfig.h \
+		 ${IDIR_PYTHON3}/usr/include/python3.4m
 	@-for i in zlib _bz2 _curses _ssl _gdbm _sqlite pyexpat readline; do \
-		rm ${IDIR_PYTHON3}/usr/lib/python3.3/lib-dynload/$${i}*so; \
+		rm ${IDIR_PYTHON3}/usr/lib/python3.4/lib-dynload/$${i}*so; \
 	done
 
 include ${TOPDIR}/mk/host-bottom.mk

+ 0 - 70
package/python3/patches/patch-Makefile_pre_in

@@ -1,70 +0,0 @@
---- Python-3.3.2.orig/Makefile.pre.in	2013-05-15 18:32:57.000000000 +0200
-+++ Python-3.3.2/Makefile.pre.in	2013-10-29 07:56:46.000000000 +0100
-@@ -70,9 +70,9 @@ MAKESETUP=      $(srcdir)/Modules/makese
- OPT=		@OPT@
- BASECFLAGS=	@BASECFLAGS@
- BASECPPFLAGS=	@BASECPPFLAGS@
--CONFIGURE_CFLAGS=	@CFLAGS@
--CONFIGURE_CPPFLAGS=	@CPPFLAGS@
--CONFIGURE_LDFLAGS=	@LDFLAGS@
-+CONFIGURE_CFLAGS=	
-+CONFIGURE_CPPFLAGS=
-+CONFIGURE_LDFLAGS=
- # Avoid assigning CFLAGS, LDFLAGS, etc. so users can use them on the
- # command line to append to these values without stomping the pre-set
- # values.
-@@ -249,6 +249,7 @@ LIBFFI_INCLUDEDIR=	@LIBFFI_INCLUDEDIR@
- ##########################################################################
- # Parser
- PGEN=		Parser/pgen$(EXE)
-+HOSTPGEN?=	./Parser/pgen$(EXE)	
- 
- PSRCS=		\
- 		Parser/acceler.c \
-@@ -493,7 +494,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.tx
- 	    *) quiet="";; \
- 	esac; \
- 	$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
--		$(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
-+		$(PYTHON_FOR_BUILD) $(srcdir)/setup.py build
- 
- # Build static library
- # avoid long command lines, same as LIBRARY_OBJS
-@@ -669,7 +670,7 @@ $(IO_OBJS): $(IO_H)
- $(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGENSRCS)
- 		@$(MKDIR_P) Include
- 		$(MAKE) $(PGEN)
--		$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
-+		$(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
- $(GRAMMAR_C): $(GRAMMAR_H) $(GRAMMAR_INPUT) $(PGENSRCS)
- 		$(MAKE) $(GRAMMAR_H)
- 		touch $(GRAMMAR_C)
-@@ -1112,28 +1113,6 @@ libinstall:	build_all $(srcdir)/Lib/$(PL
- 		$(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
- 			$(DESTDIR)$(LIBDEST)/distutils/tests ; \
- 	fi
--	-PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \
--		$(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
--		-d $(LIBDEST) -f \
--		-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
--		$(DESTDIR)$(LIBDEST)
--	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
--		$(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
--		-d $(LIBDEST) -f \
--		-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
--		$(DESTDIR)$(LIBDEST)
--	-PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \
--		$(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
--		-d $(LIBDEST)/site-packages -f \
--		-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
--	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
--		$(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
--		-d $(LIBDEST)/site-packages -f \
--		-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
--	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
--		$(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
--	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
--		$(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt
- 
- # Create the PLATDIR source directory, if one wasn't distributed..
- $(srcdir)/Lib/$(PLATDIR):

+ 0 - 20
package/python3/patches/patch-Modules_posixmodule_c

@@ -1,20 +0,0 @@
---- Python-3.3.2.orig/Modules/posixmodule.c	2013-05-15 18:32:59.000000000 +0200
-+++ Python-3.3.2/Modules/posixmodule.c	2014-01-06 18:59:54.000000000 +0100
-@@ -7679,7 +7679,7 @@ PyDoc_STRVAR(posix_close__doc__,
- Close a file descriptor (for low level IO).");
- 
- static PyObject *
--posix_close(PyObject *self, PyObject *args)
-+posix_pyclose(PyObject *self, PyObject *args)
- {
-     int fd, res;
-     if (!PyArg_ParseTuple(args, "i:close", &fd))
-@@ -11082,7 +11082,7 @@ static PyMethodDef posix_methods[] = {
-     {"open",            (PyCFunction)posix_open,\
-                         METH_VARARGS | METH_KEYWORDS,
-                         posix_open__doc__},
--    {"close",           posix_close, METH_VARARGS, posix_close__doc__},
-+    {"close",           posix_pyclose, METH_VARARGS, posix_close__doc__},
-     {"closerange",      posix_closerange, METH_VARARGS, posix_closerange__doc__},
-     {"device_encoding", device_encoding, METH_VARARGS, device_encoding__doc__},
-     {"dup",             posix_dup, METH_VARARGS, posix_dup__doc__},

+ 6 - 4
package/rrdcollect/Makefile

@@ -4,15 +4,17 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		rrdcollect
-PKG_VERSION:=		0.2.9
+PKG_VERSION:=		0.2.10
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		1e94eb0f8d55ebf0f042c10baebc2d3d
+PKG_MD5SUM:=		138e21fc9f2de0b8b6c89f1506394ef8
 PKG_DESCR:=		Round-Robin Database (RRD) collecting daemon
 PKG_SECTION:=		admin
 PKG_DEPENDS:=		librrd
 PKG_BUILDDEP:=		rrdtool
 PKG_SITES:=		${MASTER_SITE_SOURCEFORGE:=rrdcollect/}
 
+DISTFILES:=		${PKG_NAME}-${PKG_VERSION}.tar.bz2
+
 ifneq (${ADK_PACKAGE_LIBRRD},)
 RRDTOOL_LIBS:=		-lart_lgpl_2 -lfreetype -lpng
 endif
@@ -25,8 +27,8 @@ CONFIGURE_ENV+=		LIBS="${RRDTOOL_LIBS} -lz" \
 			ac_cv_func_malloc_0_nonnull=yes
 CONFIGURE_ARGS+=	--enable-exec \
 			--without-rrdtool \
-			--with-librrd \
-			--without-libpcre
+			--without-libpcre \
+			--with-librrd
 TARGET_CPPFLAGS+=	-DSOCKET_COMM
 
 rrdcollect-install:

+ 4 - 3
package/scons/Makefile

@@ -5,11 +5,11 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		scons
 PKG_VERSION:=		2.3.0
-PKG_RELEASE:=		1
+PKG_RELEASE:=		2
 PKG_MD5SUM:=		083ce5624d6adcbdaf2526623f456ca9
 PKG_DESCR:=		a software construction tool
 PKG_SECTION:=		lang
-HOST_BUILDDEP:=		bzip2-host python2-host
+HOST_BUILDDEP:=		python2-host
 PKG_URL:=		http://www.scons.org
 PKG_SITES:=		${MASTER_SITE_SOURCEFORGE:=scons/}
 
@@ -23,7 +23,8 @@ $(eval $(call HOST_template,SCONS,scons,$(PKG_VERSION)-${PKG_RELEASE}))
 HOST_STYLE:=		manual
 
 scons-hostinstall:
-	(cd $(WRKBUILD); PATH='$(TARGET_PATH)' python setup.py install --prefix=$(STAGING_HOST_DIR)/)
+	(cd $(WRKBUILD); PATH='$(HOST_PATH)' python setup.py install \
+		--prefix=$(STAGING_HOST_DIR)/usr)
 
 include ${TOPDIR}/mk/host-bottom.mk
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 3 - 3
package/socat/Makefile

@@ -4,9 +4,9 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		socat
-PKG_VERSION:=		1.7.2.3
+PKG_VERSION:=		1.7.2.4
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		6943f7a5e1ffd553ad2a900bbf05b83a
+PKG_MD5SUM:=		2a15dc3362f49d543abdbacc267d0a41
 PKG_DESCR:=		A multipurpose relay (SOcket CAT)
 PKG_SECTION:=		net/misc
 PKG_DEPENDS:=		libpthread
@@ -22,7 +22,7 @@ include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,SOCAT,socat,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
-CONFIGURE_ENV+=		sc_cv_termios_ispeed="no" \
+CONFIGURE_ENV+=		sc_cv_termios_ispeed=no \
 			sc_cv_sys_crdly_shift=9 \
 			sc_cv_sys_tabdly_shift=11 \
 			sc_cv_sys_csize_shift=4

+ 2 - 3
package/socat/patches/501-honor_ldflags.patch → package/socat/patches/patch-Makefile_in

@@ -1,6 +1,5 @@
-diff -ruN socat-1.4-old/Makefile.in socat-1.4-new/Makefile.in
---- socat-1.7.2.2.orig/Makefile.in	2011-12-06 08:45:03.000000000 +0100
-+++ socat-1.7.2.2/Makefile.in	2013-12-24 16:37:21.000000000 +0100
+--- socat-1.7.2.4.orig/Makefile.in	2014-03-09 15:48:44.000000000 +0100
++++ socat-1.7.2.4/Makefile.in	2014-03-22 12:13:46.000000000 +0100
 @@ -38,7 +38,8 @@ INSTALL = @INSTALL@
  
  #0 CFLAGS = @CFLAGS@ $(CCOPTS) $(DEFS) $(INCLS)

+ 23 - 0
package/socat/patches/patch-configure

@@ -0,0 +1,23 @@
+--- socat-1.7.2.4.orig/configure	2014-03-09 20:57:51.000000000 +0100
++++ socat-1.7.2.4/configure	2014-03-22 12:20:13.000000000 +0100
+@@ -3347,18 +3347,8 @@ fi
+ # fail
+ 
+ 
+-
+-if test "$CC" = "gcc"; then
+-   CFLAGS="$CFLAGS -D_GNU_SOURCE -Wall -Wno-parentheses"
+-   ERRONWARN="-Werror -O0"
+-elif test "$CC" = "clang"; then
+-   CFLAGS="$CFLAGS -D_GNU_SOURCE -Wall -Wno-parentheses"
+-   ERRONWARN="-Werror -O0"
+-#elif Sun Studio
+-#   ERRONWARN="-errwarn"
+-else
+-   ERRONWARN=
+-fi
++CFLAGS="$CFLAGS -D_GNU_SOURCE -Wall -Wno-parentheses"
++ERRONWARN="-Werror -O0"
+ export CFLAGS
+ 
+ 

+ 4 - 3
package/vlc/Makefile

@@ -4,10 +4,10 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		vlc
-PKG_VERSION:=		2.1.1
+PKG_VERSION:=		2.1.4
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		1331cd853d56762c96afcb92dd498348
-PKG_DESCR:=		Media Player
+PKG_MD5SUM:=		7ed67d22f7425011078772bfc62ac222
+PKG_DESCR:=		popular media player
 PKG_SECTION:=		multimedia
 PKG_BUILDDEP:=		ffmpeg xcb-util libtheora libgcrypt libmad
 PKG_DEPENDS:=		libffmpeg xcb-util libtheora libgcrypt
@@ -23,6 +23,7 @@ include $(TOPDIR)/mk/package.mk
 
 $(eval $(call PKG_template,VLC,vlc,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
+TARGET_CPPFLAGS+=	-D_GNU_SOURCE -D_POSIX_SOURCE
 TARGET_CFLAGS+=		-fPIC
 CONFIGURE_ENV+=		ac_cv_func_sched_getaffinity=no
 CONFIGURE_ARGS+=	--disable-lua \

+ 0 - 11
package/vlc/patches/patch-modules_text_renderer_freetype_c

@@ -1,11 +0,0 @@
---- vlc-2.1.1.orig/modules/text_renderer/freetype.c	2013-09-12 17:18:34.000000000 +0200
-+++ vlc-2.1.1/modules/text_renderer/freetype.c	2013-12-10 10:13:38.000000000 +0100
-@@ -90,7 +90,7 @@
- #endif
- 
- /* Freetype */
--#include <freetype/ftsynth.h>
-+#include <ftsynth.h>
- #include FT_FREETYPE_H
- #include FT_GLYPH_H
- #include FT_STROKER_H

+ 4 - 3
package/watchdog/Makefile

@@ -4,9 +4,9 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		watchdog
-PKG_VERSION:=		5.7
-PKG_RELEASE:=		3
-PKG_MD5SUM:=		31766450ecfc9aff70fe966c0b9df06d
+PKG_VERSION:=		5.13
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		153455f008f1cf8f65f6ad9586a21ff1
 PKG_DESCR:=		watchdog daemon
 PKG_SECTION:=		utils
 PKG_DEPENDS:=		libtirpc
@@ -17,6 +17,7 @@ include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,WATCHDOG,watchdog,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
+TARGET_CPPFLAGS+=	-D_GNU_SOURCE
 TARGET_CFLAGS+=		-I$(STAGING_TARGET_DIR)/usr/include/tirpc
 TARGET_LDFLAGS+=	-ltirpc
 

+ 9 - 0
package/watchdog/patches/patch-include_extern_h

@@ -0,0 +1,9 @@
+--- watchdog-5.13.orig/include/extern.h	2013-02-01 12:15:44.000000000 +0100
++++ watchdog-5.13/include/extern.h	2014-03-22 15:41:57.000000000 +0100
+@@ -1,5 +1,6 @@
+ #include <netinet/in.h>
+ #include <stdio.h>
++#include <time.h>
+ 
+ /* external variables */
+ extern int softboot, watchdog, temp, maxtemp, tint, lastts, nrts;

+ 11 - 0
package/watchdog/patches/patch-src_memory_c

@@ -0,0 +1,11 @@
+--- watchdog-5.13.orig/src/memory.c	2013-02-01 12:15:44.000000000 +0100
++++ watchdog-5.13/src/memory.c	2014-03-22 16:07:15.000000000 +0100
+@@ -81,7 +81,7 @@ int check_memory(void)
+ 	syslog(LOG_INFO, "currently there are %d kB of free memory available", free);
+ #endif				/* USE_SYSLOG */
+ 
+-    if (free < minpages * (EXEC_PAGESIZE / 1024)) {
++    if (free < minpages * (4096 / 1024)) {
+ #if USE_SYSLOG
+ 	syslog(LOG_ERR, "memory %d kB is less than %d pages", free, minpages);
+ #endif				/* USE_SYSLOG */

+ 0 - 11
package/watchdog/patches/patch-src_mntent_c

@@ -1,11 +0,0 @@
---- watchdog-5.7.orig/src/mntent.c	2010-01-06 13:42:08.000000000 +0100
-+++ watchdog-5.7/src/mntent.c	2010-02-06 04:39:34.804334839 +0100
-@@ -157,7 +157,7 @@ my_getmntent (mntFILE *mfp) {
- 		if (fgets (buf, sizeof(buf), mfp->mntent_fp) == NULL)
- 			return NULL;
- 
--		s = index (buf, '\n');
-+		s = strchr (buf, '\n');
- 		if (s == NULL) {
- 			/* extremely long line - assume file was corrupted */
- 			mfp->mntent_errs = 1;

+ 10 - 0
package/watchdog/patches/patch-src_net_c

@@ -0,0 +1,10 @@
+--- watchdog-5.13.orig/src/net.c	2013-02-01 12:15:44.000000000 +0100
++++ watchdog-5.13/src/net.c	2014-03-22 16:18:27.000000000 +0100
+@@ -6,6 +6,7 @@
+ 
+ #include <errno.h>
+ #include <sys/time.h>
++#include <sys/types.h>
+ #include <netinet/ip.h>
+ #include <netinet/ip_icmp.h>
+ 

+ 18 - 0
package/watchdog/patches/patch-src_shutdown_c

@@ -0,0 +1,18 @@
+--- watchdog-5.13.orig/src/shutdown.c	2013-02-01 12:15:44.000000000 +0100
++++ watchdog-5.13/src/shutdown.c	2014-03-22 16:29:44.000000000 +0100
+@@ -186,6 +186,7 @@ static void mnt_off()
+     FILE *fp;
+     struct mntent *mnt;
+ 
++#if defined __GLIBC__
+     fp = setmntent(MNTTAB, "r");
+     /* in some rare cases fp might be NULL so be careful */
+     while (fp != NULL && ((mnt = getmntent(fp)) != (struct mntent *) 0)) {
+@@ -241,6 +242,7 @@ static void mnt_off()
+ #endif
+     }
+     endmntent(fp);
++#endif
+ }
+ 
+ /* Parts of the following two functions are taken from Miquel van */

+ 0 - 11
package/watchdog/patches/patch-src_umount_c

@@ -1,11 +0,0 @@
---- watchdog-5.7.orig/src/umount.c	2010-01-06 13:42:08.000000000 +0100
-+++ watchdog-5.7/src/umount.c	2010-02-06 04:39:47.664334843 +0100
-@@ -212,7 +212,7 @@ umount_one (const char *spec, const char
- 	    if (res < 0)
- 		 umnt_err2 = errno;
- 	    /* Do not complain about remote NFS mount points */
--	    if (errno == ENOENT && index(spec, ':'))
-+	    if (errno == ENOENT && strchr(spec, ':'))
- 		 umnt_err2 = 0;
-        }
-   }

+ 2 - 2
package/xf86-video-fbdev/Makefile

@@ -4,9 +4,9 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		xf86-video-fbdev
-PKG_VERSION:=		0.4.2
+PKG_VERSION:=		0.4.4
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		a94011aac77eb9cd6d46bf0af0dbc631
+PKG_MD5SUM:=		2b5e6dd218243cf96c1a4090596a6bba
 PKG_DESCR:=		X11 driver for Linux Framebuffer devices
 PKG_SECTION:=		x11/drivers
 PKG_DEPENDS:=		xorg-server

+ 3 - 3
package/xterm/Makefile

@@ -4,9 +4,9 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		xterm
-PKG_VERSION:=		297
-PKG_RELEASE:=		2
-PKG_MD5SUM:=		45610ae6fe90cf086fcd75b9cb97bbaf
+PKG_VERSION:=		303
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		48f6d49b2b6b6933d501d767cbed9254
 PKG_DESCR:=		Terminal Emulator for X Windows
 PKG_SECTION:=		x11/apps
 PKG_DEPENDS:=		libxaw libxt libncurses libxft fontconfig

+ 11 - 6
target/config/Config.in

@@ -218,12 +218,12 @@ choice
 prompt "Qemu MICROBLAZE Emulation"
 depends on ADK_TARGET_SYSTEM_QEMU_MICROBLAZE || ADK_TARGET_SYSTEM_QEMU_MICROBLAZEEL
 
-config ADK_TARGET_QEMU_MICROBLAZE_MODEL_ML605
-	boolean "Xilinx ml605"
-
 config ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800
 	boolean "Xilinx Spartan S3ADSP1800"
 
+config ADK_TARGET_QEMU_MICROBLAZE_MODEL_ML605
+	boolean "Xilinx ml605"
+
 endchoice
 
 choice
@@ -254,6 +254,8 @@ choice
 prompt "Qemu Emulation with permanent storage device (disk/flash)"
 depends on ADK_HARDWARE_QEMU
 default ADK_TARGET_QEMU_WITH_BLOCK if ADK_TARGET_ROOTFS_ARCHIVE
+default ADK_TARGET_QEMU_WITH_BLOCK if ADK_TARGET_ROOTFS_SQUASHFS
+default ADK_TARGET_QEMU_WITH_BLOCK if ADK_TARGET_ROOTFS_JFFS2
 
 config ADK_TARGET_QEMU_WITHOUT_BLOCK
 	boolean "disabled"
@@ -261,12 +263,14 @@ config ADK_TARGET_QEMU_WITHOUT_BLOCK
 config ADK_TARGET_QEMU_WITH_BLOCK
 	boolean "enabled"
 	select ADK_KERNEL_SCSI_SYM53C8XX_2 if ADK_TARGET_QEMU_ARM_MODEL_VERSATILEPB
-	select ADK_KERNEL_MTD_M25P80 if ADK_TARGET_QEMU_MICROBLAZE_MODEL_ML605
+	select ADK_KERNEL_MTD_M25P80 if ADK_TARGET_QEMU_MICROBLAZE_MODEL_ML605 || ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800
 	select ADK_KERNEL_ATA_PIIX if ADK_LINUX_MIPS || ADK_TARGET_SYSTEM_QEMU_I686 || ADK_TARGET_SYSTEM_QEMU_X86_64
 	select ADK_KERNEL_PATA_MACIO if ADK_TARGET_SYSTEM_QEMU_PPC
 	select ADK_KERNEL_SCSI_IBMVSCSI if ADK_TARGET_SYSTEM_QEMU_PPC64
 	select ADK_KERNEL_SCSI_SUNESP if ADK_TARGET_SYSTEM_QEMU_SPARC
 	select ADK_KERNEL_PATA_PLATFORM if ADK_LINUX_SH
+	select ADK_HOST_NEED_JFFS2 if ADK_TARGET_QEMU_MICROBLAZE_MODEL_ML605 || ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800
+	select ADK_HOST_NEED_SQUASHFS if ADK_TARGET_QEMU_MICROBLAZE_MODEL_ML605 || ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800
 
 endchoice
 
@@ -773,15 +777,16 @@ config ADK_TARGET_ROOTFS_SQUASHFS
 	bool "Compressed read-only root filesystem (squashfs)"
 	select ADK_KERNEL_SQUASHFS
 	select ADK_HOST_NEED_SQUASHFS
+	select ADK_TARGET_QEMU_WITH_BLOCK if ADK_HARDWARE_QEMU
 	depends on ADK_TARGET_WITH_MTD
 	help
 	  highly compressed read-only filesystem for MTD flash systems.
 
 config ADK_TARGET_ROOTFS_JFFS2
 	bool "Compressed read-write root filesystem (jffs2)"
-	select ADK_KERNEL_MISC_FILESYSTEMS
-	select ADK_KERNEL_JFFS2
+	select ADK_KERNEL_JFFS2_FS
 	select ADK_HOST_NEED_JFFS2
+	select ADK_TARGET_QEMU_WITH_BLOCK if ADK_HARDWARE_QEMU
 	depends on ADK_TARGET_WITH_MTD
 	help
 	  compressed read-write filesystem for MTD flash systems.

Some files were not shown because too many files changed in this diff