diff --git a/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb b/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb
index aeca23b..76faefe 100644
--- a/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb
+++ b/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb
@@ -4,12 +4,15 @@
 
 DEPENDS = "libusb1-native"
 
-SRC_URI += "file://0001-Revert-Makefile.am-Drop-static-dfu-util.patch"
+PACKAGECONFIG ??= ""
+
+PACKAGECONFIG[static] = "CFLAGS='${CFLAGS} -pthread -static',,"
 
 do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}"
 do_deploy() {
-    install -m 0755 src/dfu-util_static ${DEPLOYDIR}/dfu-util-${PV}
+    install -m 0755 src/dfu-util ${DEPLOYDIR}/dfu-util-${PV}
     rm -f ${DEPLOYDIR}/dfu-util
     ln -sf ./dfu-util-${PV} ${DEPLOYDIR}/dfu-util
 }
+
 addtask deploy before do_package after do_install
diff --git a/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util/0001-Revert-Makefile.am-Drop-static-dfu-util.patch b/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util/0001-Revert-Makefile.am-Drop-static-dfu-util.patch
deleted file mode 100644
index 1c6ad08..0000000
--- a/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util/0001-Revert-Makefile.am-Drop-static-dfu-util.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From c2aab3b9ae1febcb6b4c6561a59df1930a57b394 Mon Sep 17 00:00:00 2001
-From: Martin JaMa Jansa <Martin.Jansa@gmail.com>
-Date: Thu, 11 Aug 2011 11:19:52 +0200
-Subject: [PATCH] Revert "Makefile.am: Drop static dfu-util"
-
-This reverts commit fe0426ddc04f503d148c5e5f931f16b8f674f071.
-
-Signed-off-by: Martin JaMa Jansa <Martin.Jansa@gmail.com>
----
- configure.ac    |  2 +-
- src/Makefile.am | 22 +++++++++++++++++++++-
- 2 files changed, 22 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index f5a43b8..6a3757e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -21,7 +21,7 @@ AS_IF([test x$native_libusb = xno], [
-         AC_MSG_ERROR([*** Required libusb-1.0 >= 1.0.0 not installed ***]))
- ])
- 
--LIBS="$LIBS $USB_LIBS"
-+LIBS="$LIBS $USB_LIBS -lpthread"
- CFLAGS="$CFLAGS $USB_CFLAGS"
- 
- # Checks for header files.
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 70179c4..e8736ee 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -1,6 +1,6 @@
- AM_CFLAGS = -Wall -Wextra
- 
--bin_PROGRAMS = dfu-util dfu-suffix dfu-prefix
-+bin_PROGRAMS = dfu-util dfu-util_static dfu-suffix dfu-prefix
- dfu_util_SOURCES = main.c \
- 		portable.h \
- 		dfu_load.c \
-@@ -19,6 +19,26 @@ dfu_util_SOURCES = main.c \
- 		quirks.c \
- 		quirks.h
- 
-+dfu_util_static_SOURCES = main.c \
-+		portable.h \
-+		dfu_load.c \
-+		dfu_load.h \
-+		dfu_util.c \
-+		dfu_util.h \
-+		dfuse.c \
-+		dfuse.h \
-+		dfuse_mem.c \
-+		dfuse_mem.h \
-+		dfu.c \
-+		dfu.h \
-+		usb_dfu.h \
-+		dfu_file.c \
-+		dfu_file.h \
-+		quirks.c \
-+		quirks.h
-+
-+dfu_util_static_LDFLAGS = -static
-+
- dfu_suffix_SOURCES = suffix.c \
- 		dfu_file.h \
- 		dfu_file.c
--- 
-2.7.2
-
diff --git a/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util_0.9.bb b/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util_0.9.bb
index 76e1552..8a2ac69 100644
--- a/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util_0.9.bb
+++ b/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util_0.9.bb
@@ -1,15 +1,13 @@
 DESCRIPTION = "USB Device Firmware Upgrade utility"
+AUTHOR = "Harald Welte <laforge@openmoko.org>"
 HOMEPAGE = "http://dfu-util.sourceforge.net"
 SECTION = "devel"
-AUTHOR = "Harald Welte <laforge@openmoko.org>"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-SRC_URI = "http://dfu-util.gnumonks.org/releases/${BP}.tar.gz"
-
-inherit autotools pkgconfig
-
 DEPENDS = "libusb1"
 
+SRC_URI = "http://dfu-util.sourceforge.net/releases/${BP}.tar.gz"
 SRC_URI[md5sum] = "233bb1e08ef4b405062445d84e28fde6"
 SRC_URI[sha256sum] = "36428c6a6cb3088cad5a3592933385253da5f29f2effa61518ee5991ea38f833"
+
+inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-support/dhex/dhex_0.69.bb b/meta-openembedded/meta-oe/recipes-support/dhex/dhex_0.69.bb
new file mode 100644
index 0000000..cfbb2ca
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/dhex/dhex_0.69.bb
@@ -0,0 +1,24 @@
+SUMMARY = "dhex is a hex editor that includes a diff mode"
+SECTION = "console/utils"
+
+DEPENDS = "ncurses"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://README.txt;beginline=229;endline=241;md5=6f252a421b65bcecf624382ba3c899da"
+
+SRC_URI = "http://www.dettus.net/dhex/dhex_0.69.tar.gz"
+SRC_URI[md5sum] = "64d557437fe110c19f23ed3e9bbcdd54"
+SRC_URI[sha256sum] = "52730bcd1cf16bd4dae0de42531be9a4057535ec61ca38c0804eb8246ea6c41b"
+
+S = "${WORKDIR}/dhex_${PV}"
+
+EXTRA_OEMAKE += "'CC=${CC}' 'LDFLAGS=${LDFLAGS}' 'CPPFLAGS=${CPPFLAGS}'"
+
+do_compile() {
+	oe_runmake
+}
+
+do_install() {
+	install -m 0755 -d ${D}${bindir}
+	install -m 0755 ${S}/dhex ${D}${bindir}/
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.22.bb b/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.25.bb
similarity index 78%
rename from meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.22.bb
rename to meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.25.bb
index 10f724e..a87c228 100644
--- a/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.22.bb
+++ b/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.25.bb
@@ -8,13 +8,12 @@
 LICENSE_${PN}-dbg = "BSD & GPLv3+"
 LICENSE_${PN}-spy = "GPLv3+"
 LICENSE_${PN}-spy-dev = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f38b3d1c7ef7fc2c8b6d20cd38efdc29"
+LIC_FILES_CHKSUM = "file://COPYING;md5=628c01ba985ecfa21677f5ee2d5202f6"
 DEPENDS = "udev"
 
 SRC_URI = "https://pcsclite.apdu.fr/files/${BP}.tar.bz2"
-SRC_URI[md5sum] = "0ec103b1ef298d0c58d6ef6b00b9cf17"
-SRC_URI[sha256sum] = "6a358f61ed3b66a7f6e1f4e794a94c7be4c81b7a58ec360c33791e8d7d9bd405"
-
+SRC_URI[md5sum] = "c20650a36062ab1689f37f3302c988f2"
+SRC_URI[sha256sum] = "d76d79edc31cf76e782b9f697420d3defbcc91778c3c650658086a1b748e8792"
 
 inherit autotools systemd pkgconfig
 
@@ -26,6 +25,10 @@
 
 S = "${WORKDIR}/pcsc-lite-${PV}"
 
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+
+PACKAGECONFIG[systemd]  = ",--disable-libsystemd,systemd,"
+
 PACKAGES = "${PN} ${PN}-dbg ${PN}-dev ${PN}-lib ${PN}-doc ${PN}-spy ${PN}-spy-dev"
 
 RRECOMMENDS_${PN} = "ccid"
@@ -36,7 +39,7 @@
                    ${libdir}/pkgconfig \
                    ${libdir}/libpcsclite.la \
                    ${libdir}/libpcsclite.so"
-                   
+
 FILES_${PN}-spy = "${bindir}/pcsc-spy \
                    ${libdir}/libpcscspy*${SOLIBS}"
 FILES_${PN}-spy-dev = "${libdir}/libpcscspy.la \
diff --git a/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch b/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch
deleted file mode 100644
index 391b0e6..0000000
--- a/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From 82f44f53b9a9766c2ec816f237506beb953eb332 Mon Sep 17 00:00:00 2001
-From: Andreas Schwab <schwab@suse.de>
-Date: Wed, 29 Oct 2014 14:18:28 +0100
-Subject: [PATCH] Add support for aarch64
-
-* include/private/gcconfig.h: Add support for aarch64.
-
----
- sigscheme/libgcroots/include/private/gcconfig.h | 37 +++++++++++++++++++++++++
- 1 file changed, 37 insertions(+)
-
-diff --git a/sigscheme/libgcroots/include/private/gcconfig.h b/sigscheme/libgcroots/include/private/gcconfig.h
-index 4d42b03..0f13db6 100644
---- a/sigscheme/libgcroots/include/private/gcconfig.h
-+++ b/sigscheme/libgcroots/include/private/gcconfig.h
-@@ -62,6 +62,13 @@
- # endif
- 
- /* Determine the machine type: */
-+# if defined(__aarch64__)
-+#    define AARCH64
-+#    if !defined(LINUX)
-+#      define NOSYS
-+#      define mach_type_known
-+#    endif
-+# endif
- # if defined(__arm__) || defined(__thumb__)
- #    define ARM32
- #    if !defined(LINUX) && !defined(NETBSD)
-@@ -231,6 +238,10 @@
- #    define IA64
- #    define mach_type_known
- # endif
-+# if defined(LINUX) && defined(__aarch64__)
-+#    define AARCH64
-+#    define mach_type_known
-+# endif
- # if defined(LINUX) && defined(__arm__)
- #    define ARM32
- #    define mach_type_known
-@@ -504,6 +515,7 @@
- 		    /* 			running Amdahl UTS4		*/
-                     /*             S390       ==> 390-like machine      */
- 		    /*                  running LINUX                   */
-+                    /*             AARCH64    ==> ARM AArch64           */
- 		    /* 		   ARM32      ==> Intel StrongARM	*/
- 		    /* 		   IA64	      ==> Intel IPF		*/
- 		    /*				  (e.g. Itanium)	*/
-@@ -1724,6 +1736,31 @@
- #   endif
- # endif
- 
-+# ifdef AARCH64
-+#   define CPP_WORDSZ 64
-+#   define MACH_TYPE "AARCH64"
-+#   define ALIGNMENT 8
-+#   ifndef HBLKSIZE
-+#     define HBLKSIZE 4096
-+#   endif
-+#   ifdef LINUX
-+#     define OS_TYPE "LINUX"
-+#     define LINUX_STACKBOTTOM
-+#     define DYNAMIC_LOADING
-+      extern int __data_start[];
-+#     define DATASTART ((ptr_t)__data_start)
-+      extern char _end[];
-+#     define DATAEND ((ptr_t)(&_end))
-+#   endif
-+#   ifdef NOSYS
-+      /* __data_start is usually defined in the target linker script.   */
-+      extern int __data_start[];
-+#     define DATASTART ((ptr_t)__data_start)
-+      extern void *__stack_base__;
-+#     define STACKBOTTOM ((ptr_t)__stack_base__)
-+#   endif
-+# endif
-+
- # ifdef ARM32
- #   define CPP_WORDSZ 32
- #   define MACH_TYPE "ARM32"
diff --git a/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-fix-bug-for-cross-compile.patch b/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-fix-bug-for-cross-compile.patch
index 0c8f02d..510a8c8 100644
--- a/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-fix-bug-for-cross-compile.patch
+++ b/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-fix-bug-for-cross-compile.patch
@@ -9,18 +9,16 @@
  configure.ac | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/configure.ac b/configure.ac
-index 9be879c..9249bfd 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -1208,8 +1208,8 @@ AC_HELP_STRING([--with-libedit[=DIR], Enable libedit support
- if test "x$use_libedit" != "xno"; then
-     saved_CPPFLAGS=$CPPFLAGS
-     saved_LDFLAGS=$LDFLAGS
--    CPPFLAGS="${CPPFLAGS} -I$libedit_path/include"
--    LDFLAGS="${LDFLAGS} -L$libedit_path/lib"
-+    CPPFLAGS="${CPPFLAGS} "
-+    LDFLAGS="${LDFLAGS} "
-     AC_CHECK_LIB(curses, tgetent, LIBEDIT_LIBS="-lcurses",
-         [AC_CHECK_LIB(ncurses, tgetent, LIBEDIT_LIBS="-lncurses",
-             AC_MSG_WARN("libedit needs libcurses or libncurses. disabled...")
+@@ -1317,8 +1317,8 @@ if test "x$with_libedit" != xno; then
+ 
+   saved_CPPFLAGS=$CPPFLAGS
+   saved_LDFLAGS=$LDFLAGS
+-  CPPFLAGS="${CPPFLAGS} -I$libedit_path/include"
+-  LDFLAGS="${LDFLAGS} -L$libedit_path/lib"
++  CPPFLAGS="${CPPFLAGS}"
++  LDFLAGS="${LDFLAGS}"
+   AC_CHECK_LIB(curses, tgetent, LIBEDIT_LIBS="-lcurses",
+     [AC_CHECK_LIB(ncurses, tgetent, LIBEDIT_LIBS="-lncurses",
+       AC_MSG_WARN("libedit needs libcurses or libncurses. disabled...")
diff --git a/meta-openembedded/meta-oe/recipes-support/uim/uim/uim-module-manager.patch b/meta-openembedded/meta-oe/recipes-support/uim/uim/uim-module-manager.patch
index 3078af0..0fafc85 100644
--- a/meta-openembedded/meta-oe/recipes-support/uim/uim/uim-module-manager.patch
+++ b/meta-openembedded/meta-oe/recipes-support/uim/uim/uim-module-manager.patch
@@ -6,11 +6,9 @@
  scm/Makefile.am | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/scm/Makefile.am b/scm/Makefile.am
-index 14d9393..e8a1083 100644
 --- a/scm/Makefile.am
 +++ b/scm/Makefile.am
-@@ -119,7 +119,7 @@ if EXPAT
+@@ -115,7 +115,7 @@ if EXPAT
    module_names += "yahoo-jp"
  endif
  
diff --git a/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.6.bb b/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.8.bb
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.6.bb
rename to meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.8.bb
index 1c58d40..cc28e6e 100644
--- a/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.6.bb
+++ b/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.8.bb
@@ -1,19 +1,19 @@
 DESCRIPTION = "A multilingual user input method library"
 HOMEPAGE = "http://uim.freedesktop.org/"
 LICENSE = "BSD-3-Clause & LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=32463fd29aa303fb2360faeeae17256b"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ab2826b41ca0ff4030d38cc39791d1c8"
 SECTION = "inputmethods"
 
-SRC_URI = "https://github.com/uim/uim/releases/download/uim-${PV}/uim-${PV}.tar.bz2"
+SRC_URI = "https://github.com/uim/uim/releases/download/${PV}/uim-${PV}.tar.bz2"
 
-SRC_URI_append_class-target = " file://uim-module-manager.patch \
+SRC_URI_append_class-target = "\
+    file://uim-module-manager.patch \
     file://0001-fix-bug-for-cross-compile.patch \
-    file://0001-Add-support-for-aarch64.patch \
 "
-SRC_URI[md5sum] = "ecea4c597bab1fd4ba98ea84edcece59"
-SRC_URI[sha256sum] = "7b1ea803c73f3478917166f04f67cce6e45ad7ea5ab6df99b948c17eb1cb235f"
+SRC_URI[md5sum] = "01c7bd5d0d4f3a9f6f5befe6f57a470b"
+SRC_URI[sha256sum] = "34599bbcc4e5ab87832370763e38be5100984a64237555e9234a1ea225a0fadc"
 
-DEPENDS = "anthy fontconfig libxft libxt glib-2.0 ncurses intltool"
+DEPENDS = "anthy fontconfig libxft libxt glib-2.0 ncurses intltool libedit"
 DEPENDS_append_class-target = " intltool-native gtk+ gtk+3 uim-native takao-fonts"
 
 RDEPENDS_uim = "libuim0 libedit"
@@ -39,6 +39,9 @@
 
 CONFIGUREOPTS_remove_class-target = "--disable-silent-rules"
 
+# https://github.com/uim/uim/issues/44
+PARALLEL_MAKE = ""
+
 #Because m4 file's find maxdepth=2, so copy the m4 files of the deep depth.
 do_configure_prepend () {
     cp ${S}/sigscheme/m4/* ${S}/m4/
