diff --git a/libs/boost/Makefile b/libs/boost/Makefile
index 832fc57..ba127dc 100644
--- a/libs/boost/Makefile
+++ b/libs/boost/Makefile
@@ -10,14 +10,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=boost
-PKG_VERSION:=1_51_0
+PKG_VERSION:=1_54_0
 PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.gz
+PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@SF/boost
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)_$(PKG_VERSION)
 HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)_$(PKG_VERSION)
-PKG_MD5SUM:=6a1f32d902203ac70fbec78af95b3cf8
+PKG_MD5SUM:=15cb8c0803064faef0c4ddf5bc5ca279
 
 PKG_BUILD_DEPENDS:=boost/host
 PKG_BUILD_PARALLEL:=1
@@ -188,7 +188,7 @@ define Build/Compile
 	+( cd $(PKG_BUILD_DIR) ; \
 		echo "using gcc : $(ARCH) : $(GNU_TARGET_NAME)-gcc : <compileflags>\"$(TARGET_CFLAGS)\" <cxxflags>\"$(TARGET_CXXFLAGS)\" <linkflags>\"$(TARGET_LDFLAGS)\" ;" > tools/build/v2/user-config.jam ; \
 		$(if $(CONFIG_PACKAGE_boost-python), \
-			echo "using python : : $(STAGING_DIR_ROOT)/usr/bin/python :	$(STAGING_DIR)/usr/include/python2.7/ ;" >> \
+			echo "using python : 2.7 : $(STAGING_DIR_ROOT)/usr/bin/python : $(STAGING_DIR)/usr/include/python2.7/ : $(STAGING_DIR)/usr/lib/python2.7/ ;" >> \
 				tools/build/v2/user-config.jam; \
 		) \
 		bjam \
diff --git a/libs/boost/patches/100-do-not-use-librt.patch b/libs/boost/patches/100-do-not-use-librt.patch
index d1c0f37..090a29d 100644
--- a/libs/boost/patches/100-do-not-use-librt.patch
+++ b/libs/boost/patches/100-do-not-use-librt.patch
@@ -1,18 +1,18 @@
 --- a/tools/build/v2/tools/gcc.jam
 +++ b/tools/build/v2/tools/gcc.jam
-@@ -1063,8 +1063,7 @@ rule setup-threading ( targets * : sourc
-             }
-             case * :
-             {
--                option = -pthread ;
--                libs = rt ;
-+                # pass appropriate options via OpenWrt
-             }
+@@ -1032,7 +1032,7 @@ rule setup-threading ( targets * : sourc
+             case *bsd    : option = -pthread ;  # There is no -lrt on BSD.
+             case sgi     : # gcc on IRIX does not support multi-threading.
+             case darwin  : # No threading options.
+-            case *       : option = -pthread ; libs = rt ;
++            case *       : # pass appropriate options via OpenWrt
          }
+ 
+         if $(option)
      
 --- a/tools/build/v2/tools/gcc.py
 +++ b/tools/build/v2/tools/gcc.py
-@@ -685,8 +685,8 @@ elif bjam.variable('UNIX'):
+@@ -691,8 +691,8 @@ elif bjam.variable('UNIX'):
          # Darwin has no threading options, don't set anything here.
          pass
      else:
diff --git a/libs/boost/patches/200-cstdint_missing_include.patch b/libs/boost/patches/200-cstdint_missing_include.patch
deleted file mode 100644
index 4cb778d..0000000
--- a/libs/boost/patches/200-cstdint_missing_include.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/libs/context/src/fcontext.cpp.new	2012-12-11 17:59:59.349131458 +0100
-+++ b/libs/context/src/fcontext.cpp	2012-12-11 18:00:06.925131652 +0100
-@@ -9,6 +9,9 @@
- #include <boost/context/fcontext.hpp>
- 
- #include <cstddef>
-+extern "C" {
-+#include <stdint.h>
-+}
- 
- #ifdef BOOST_HAS_ABI_HEADERS
- #  include BOOST_ABI_PREFIX
