Radix cross Linux

Radix Linux distribution for embedded systems.

637 Commits   4 Branches   3 Tags
author: Andrey V.Kosteltsev <kx@radix.pro> 2016-10-11 21:59:50 +0000 committer: Andrey V.Kosteltsev <kx@radix.pro> 2016-10-11 21:59:50 +0000 commit: d02c886e5120aa25165ff7a7bb9ef2e2ec2b660e parent: 7ca9245899b58fb3298bbe7b572f7e73472d674f
Commit Summary:
bunch of packages (testing is needed)
Diffstat:
485 files changed, 92592 insertions, 441 deletions
diff --git a/X11/X.org/driver/xf86-video-mali/DX/r4p0-00rel0/0.4.2/Makefile b/X11/X.org/driver/xf86-video-mali/DX/r4p0-00rel0/0.4.2/Makefile
index 9935e4a54..ce27f90ac 100644
--- a/X11/X.org/driver/xf86-video-mali/DX/r4p0-00rel0/0.4.2/Makefile
+++ b/X11/X.org/driver/xf86-video-mali/DX/r4p0-00rel0/0.4.2/Makefile
@@ -27,6 +27,7 @@ src_dir_name       = xf86-video-mali-$(version)
 src_done           = $(TARGET_BUILD_DIR)/.source_done
 
 license            = $(CURDIR)/license/COPYING
+xorg_config_in     = $(CURDIR)/etc/X11/xorg.conf.mali.in
 
 PATCHES = PATCHES
 
@@ -119,6 +120,10 @@ $(build_target): $(src_done)
 $(install_target): $(build_target)
 	@mkdir -p $(XORG_PKG)
 	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= Install default xorg.conf file =======
+	@mkdir -p $(XORG_PKG)/etc/X11
+	@cat $(xorg_config_in) | \
+	     sed 's,@HARDWARE_SPEC@,$(HW_SPEC),' > $(XORG_PKG)/etc/X11/xorg.conf.mali
 	# ======= Install Documentation =======
 	@if [ -d $(XORG_PKG)/usr/share/man ]; then \
 	  ( cd $(XORG_PKG)/usr/share/man ; \
diff --git a/X11/X.org/driver/xf86-video-mali/DX/r4p0-00rel0/0.4.2/etc/X11/xorg.conf.mali.in b/X11/X.org/driver/xf86-video-mali/DX/r4p0-00rel0/0.4.2/etc/X11/xorg.conf.mali.in
new file mode 100644
index 000000000..938e242de
--- /dev/null
+++ b/X11/X.org/driver/xf86-video-mali/DX/r4p0-00rel0/0.4.2/etc/X11/xorg.conf.mali.in
@@ -0,0 +1,60 @@
+#
+ # Copyright (C) 2010 ARM Limited. All rights reserved.
+ 
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
+ # of this software and associated documentation files (the "Software"), to deal
+ # in the Software without restriction, including without limitation the rights
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ # copies of the Software, and to permit persons to whom the Software is
+ # furnished to do so, subject to the following conditions:
+ 
+ # The above copyright notice and this permission notice shall be included in
+ # all copies or substantial portions of the Software.
+ 
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ # THE SOFTWARE.
+ # /
+
+# X.Org X server configuration file for @HARDWARE_SPEC@
+
+Section "Device"
+	Identifier "Mali FBDEV"
+	Driver	"mali"
+	Option	"fbdev"           "/dev/fb0"
+	Option	"DRI2"            "true"
+	Option  "DRI2_PAGE_FLIP"  "false"
+	Option  "DRI2_WAIT_VSYNC" "false"
+	Option  "UMP_CACHED"      "false"
+	Option  "UMP_LOCK"        "false"
+	Option  "SWCursor"        "true"
+	Option  "HWCursor"        "false"
+EndSection
+
+Section "DRI"
+	Mode 0666
+EndSection
+
+Section "Screen"
+	Identifier "DefaultScreen"
+	Device "Mali FBDEV"
+	DefaultDepth 24
+	DefaultFbBpp 32
+EndSection
+
+Section "ServerFlags"
+	Option     "NoTrapSignals" "true"
+	Option     "DontZap" "false"
+
+	# Disable DPMS timeouts.
+	Option     "StandbyTime" "0"
+	Option     "SuspendTime" "0"
+	Option     "OffTime" "0"
+
+	# Disable screen saver timeout.
+	Option     "BlankTime" "0"
+EndSection
diff --git a/X11/X.org/driver/xf86-video-mali/DX/r5p0-01rel0/0.4.2/Makefile b/X11/X.org/driver/xf86-video-mali/DX/r5p0-01rel0/0.4.2/Makefile
index 81908cc99..7c2cf772f 100644
--- a/X11/X.org/driver/xf86-video-mali/DX/r5p0-01rel0/0.4.2/Makefile
+++ b/X11/X.org/driver/xf86-video-mali/DX/r5p0-01rel0/0.4.2/Makefile
@@ -27,6 +27,7 @@ src_dir_name       = xf86-video-mali-$(version)
 src_done           = $(TARGET_BUILD_DIR)/.source_done
 
 license            = $(CURDIR)/license/COPYING
+xorg_config_in     = $(CURDIR)/etc/X11/xorg.conf.mali.in
 
 PATCHES = PATCHES
 
@@ -119,6 +120,10 @@ $(build_target): $(src_done)
 $(install_target): $(build_target)
 	@mkdir -p $(XORG_PKG)
 	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= Install default xorg.conf file =======
+	@mkdir -p $(XORG_PKG)/etc/X11
+	@cat $(xorg_config_in) | \
+	     sed 's,@HARDWARE_SPEC@,$(HW_SPEC),' > $(XORG_PKG)/etc/X11/xorg.conf.mali
 	# ======= Install Documentation =======
 	@if [ -d $(XORG_PKG)/usr/share/man ]; then \
 	  ( cd $(XORG_PKG)/usr/share/man ; \
diff --git a/X11/X.org/driver/xf86-video-mali/DX/r5p0-01rel0/0.4.2/etc/X11/xorg.conf.mali.in b/X11/X.org/driver/xf86-video-mali/DX/r5p0-01rel0/0.4.2/etc/X11/xorg.conf.mali.in
new file mode 100644
index 000000000..938e242de
--- /dev/null
+++ b/X11/X.org/driver/xf86-video-mali/DX/r5p0-01rel0/0.4.2/etc/X11/xorg.conf.mali.in
@@ -0,0 +1,60 @@
+#
+ # Copyright (C) 2010 ARM Limited. All rights reserved.
+ 
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
+ # of this software and associated documentation files (the "Software"), to deal
+ # in the Software without restriction, including without limitation the rights
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ # copies of the Software, and to permit persons to whom the Software is
+ # furnished to do so, subject to the following conditions:
+ 
+ # The above copyright notice and this permission notice shall be included in
+ # all copies or substantial portions of the Software.
+ 
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ # THE SOFTWARE.
+ # /
+
+# X.Org X server configuration file for @HARDWARE_SPEC@
+
+Section "Device"
+	Identifier "Mali FBDEV"
+	Driver	"mali"
+	Option	"fbdev"           "/dev/fb0"
+	Option	"DRI2"            "true"
+	Option  "DRI2_PAGE_FLIP"  "false"
+	Option  "DRI2_WAIT_VSYNC" "false"
+	Option  "UMP_CACHED"      "false"
+	Option  "UMP_LOCK"        "false"
+	Option  "SWCursor"        "true"
+	Option  "HWCursor"        "false"
+EndSection
+
+Section "DRI"
+	Mode 0666
+EndSection
+
+Section "Screen"
+	Identifier "DefaultScreen"
+	Device "Mali FBDEV"
+	DefaultDepth 24
+	DefaultFbBpp 32
+EndSection
+
+Section "ServerFlags"
+	Option     "NoTrapSignals" "true"
+	Option     "DontZap" "false"
+
+	# Disable DPMS timeouts.
+	Option     "StandbyTime" "0"
+	Option     "SuspendTime" "0"
+	Option     "OffTime" "0"
+
+	# Disable screen saver timeout.
+	Option     "BlankTime" "0"
+EndSection
diff --git a/X11/libs/libva-intel-driver/1.7.2-x86_32/Makefile b/X11/libs/libva-intel-driver/1.7.2-x86_32/Makefile
new file mode 100644
index 000000000..05d5229f8
--- /dev/null
+++ b/X11/libs/libva-intel-driver/1.7.2-x86_32/Makefile
@@ -0,0 +1,167 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/vaapi/libva-intel-driver
+
+REQUIRES           = X11/libs/libva-intel-driver/1.7.2
+REQUIRES          += X11/libs/libva/1.7.2-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.7.2
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/m/vaapi/libva-intel-driver/libva-intel-driver-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/libva-intel-driver-$(version)
+src_dir_name       = libva-intel-driver-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = xlibs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+INTEL_DRV_32_PKG_NAME                = libva-intel-driver-x32
+INTEL_DRV_32_PKG_VERSION             = 1.7.2
+INTEL_DRV_32_PKG_ARCH                = $(TOOLCHAIN)
+INTEL_DRV_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+INTEL_DRV_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+INTEL_DRV_32_PKG_GROUP               = $(PKG_GROUP)
+###                                   |---handy-ruler-------------------------------|
+INTEL_DRV_32_PKG_SHORT_DESCRIPTION   = VA driver for Intel G45 & HD Graphics
+INTEL_DRV_32_PKG_URL                 = $(BUG_URL)
+INTEL_DRV_32_PKG_LICENSE             = MIT
+INTEL_DRV_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(INTEL_DRV_32_PKG_NAME)-pkg-description
+INTEL_DRV_32_PKG_DESCRIPTION_FILE_IN = $(INTEL_DRV_32_PKG_NAME)-pkg-description.in
+INTEL_DRV_32_PKG_INSTALL_SCRIPT      = $(INTEL_DRV_32_PKG_NAME)-pkg-install.sh
+
+INTEL_DRV_32_PKG = $(CURDIR)/$(TARGET_BUILD_DIR)/$(INTEL_DRV_32_PKG_NAME)-package
+
+pkg_basename     = $(INTEL_DRV_32_PKG_NAME)-$(INTEL_DRV_32_PKG_VERSION)-$(INTEL_DRV_32_PKG_ARCH)-$(INTEL_DRV_32_PKG_DISTRO_NAME)-$(INTEL_DRV_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(INTEL_DRV_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+extra_configure_switches += --enable-drm=yes
+extra_configure_switches += --enable-x11=yes
+extra_configure_switches += --enable-wayland=yes
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=no
+
+
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(INTEL_DRV_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(INTEL_DRV_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/dri ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" i965_drv_video.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(INTEL_DRV_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/dri ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   i965_drv_video.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" i965_drv_video.la ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(INTEL_DRV_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(INTEL_DRV_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(INTEL_DRV_32_PKG_DESCRIPTION_FILE): $(INTEL_DRV_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(INTEL_DRV_32_PKG_DESCRIPTION_FILE) $(INTEL_DRV_32_PKG_INSTALL_SCRIPT)
+	@cp $(INTEL_DRV_32_PKG_DESCRIPTION_FILE) $(INTEL_DRV_32_PKG)/.DESCRIPTION
+	@cp $(INTEL_DRV_32_PKG_INSTALL_SCRIPT) $(INTEL_DRV_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(INTEL_DRV_32_PKG)/.REQUIRES
+	@echo "pkgname=$(INTEL_DRV_32_PKG_NAME)"                            >  $(INTEL_DRV_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(INTEL_DRV_32_PKG_VERSION)"                          >> $(INTEL_DRV_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(INTEL_DRV_32_PKG_ARCH)"                               >> $(INTEL_DRV_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(INTEL_DRV_32_PKG_DISTRO_NAME)"                  >> $(INTEL_DRV_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(INTEL_DRV_32_PKG_DISTRO_VERSION)"                >> $(INTEL_DRV_32_PKG)/.PKGINFO ; \
+	 echo "group=$(INTEL_DRV_32_PKG_GROUP)"                             >> $(INTEL_DRV_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(INTEL_DRV_32_PKG_SHORT_DESCRIPTION)\"" >> $(INTEL_DRV_32_PKG)/.PKGINFO ; \
+	 echo "url=$(INTEL_DRV_32_PKG_URL)"                                 >> $(INTEL_DRV_32_PKG)/.PKGINFO ; \
+	 echo "license=$(INTEL_DRV_32_PKG_LICENSE)"                         >> $(INTEL_DRV_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(INTEL_DRV_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/X11/libs/libva-intel-driver/1.7.2-x86_32/PATCHES b/X11/libs/libva-intel-driver/1.7.2-x86_32/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/X11/libs/libva-intel-driver/1.7.2-x86_32/libva-intel-driver-x32-pkg-description.in b/X11/libs/libva-intel-driver/1.7.2-x86_32/libva-intel-driver-x32-pkg-description.in
new file mode 100644
index 000000000..840afd6d5
--- /dev/null
+++ b/X11/libs/libva-intel-driver/1.7.2-x86_32/libva-intel-driver-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+                      |-----handy-ruler------------------------------------------------------|
+libva-intel-driver-x32: libva-intel-driver-x32 @VERSION@ (VA driver for Intel G45 & HD Graphics)
+libva-intel-driver-x32:
+libva-intel-driver-x32: libva-intel-driver is the VA-API implementation for Intel G45
+libva-intel-driver-x32: chipsets and Intel HD Graphics for Intel Core processor family.
+libva-intel-driver-x32:
+libva-intel-driver-x32: Homepage: http://www.freedesktop.org/wiki/Software/vaapi
+libva-intel-driver-x32:
+libva-intel-driver-x32:
+libva-intel-driver-x32:
+libva-intel-driver-x32:
+libva-intel-driver-x32:
diff --git a/X11/libs/libva-intel-driver/1.7.2-x86_32/libva-intel-driver-x32-pkg-install.sh b/X11/libs/libva-intel-driver/1.7.2-x86_32/libva-intel-driver-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/X11/libs/libva-intel-driver/1.7.2-x86_32/libva-intel-driver-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/X11/libs/libva-intel-driver/1.7.2/Makefile b/X11/libs/libva-intel-driver/1.7.2/Makefile
new file mode 100644
index 000000000..de54b308c
--- /dev/null
+++ b/X11/libs/libva-intel-driver/1.7.2/Makefile
@@ -0,0 +1,196 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/vaapi/libva-intel-driver
+
+REQUIRES           = X11/libs/libva/1.7.2
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.7.2
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/m/vaapi/libva-intel-driver/libva-intel-driver-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/libva-intel-driver-$(version)
+src_dir_name       = libva-intel-driver-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = xlibs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+INTEL_DRV_PKG_NAME                = libva-intel-driver
+INTEL_DRV_PKG_VERSION             = 1.7.2
+INTEL_DRV_PKG_ARCH                = $(TOOLCHAIN)
+INTEL_DRV_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+INTEL_DRV_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+INTEL_DRV_PKG_GROUP               = $(PKG_GROUP)
+###                                |---handy-ruler-------------------------------|
+INTEL_DRV_PKG_SHORT_DESCRIPTION   = VA driver for Intel G45 & HD Graphics
+INTEL_DRV_PKG_URL                 = $(BUG_URL)
+INTEL_DRV_PKG_LICENSE             = MIT
+INTEL_DRV_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(INTEL_DRV_PKG_NAME)-pkg-description
+INTEL_DRV_PKG_DESCRIPTION_FILE_IN = $(INTEL_DRV_PKG_NAME)-pkg-description.in
+INTEL_DRV_PKG_INSTALL_SCRIPT      = $(INTEL_DRV_PKG_NAME)-pkg-install.sh
+
+INTEL_DRV_PKG    = $(CURDIR)/$(TARGET_BUILD_DIR)/$(INTEL_DRV_PKG_NAME)-package
+
+pkg_basename     = $(INTEL_DRV_PKG_NAME)-$(INTEL_DRV_PKG_VERSION)-$(INTEL_DRV_PKG_ARCH)-$(INTEL_DRV_PKG_DISTRO_NAME)-$(INTEL_DRV_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(INTEL_DRV_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+extra_configure_switches += --enable-drm=yes
+extra_configure_switches += --enable-x11=yes
+extra_configure_switches += --enable-wayland=yes
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=no
+
+
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && \
+	  $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(INTEL_DRV_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= Install Documentation =======
+	@if [ -d $(INTEL_DRV_PKG)/usr/share/man ]; then \
+	  ( cd $(INTEL_DRV_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(INTEL_DRV_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING \
+	       $(INTEL_DRV_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(INTEL_DRV_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS COPYING NEWS README \
+	         $(INTEL_DRV_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(INTEL_DRV_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(INTEL_DRV_PKG)/usr/lib$(LIBSUFFIX)/dri ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" i965_drv_video.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(INTEL_DRV_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/dri ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" i965_drv_video.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" i965_drv_video.la ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(INTEL_DRV_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(INTEL_DRV_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(INTEL_DRV_PKG_DESCRIPTION_FILE): $(INTEL_DRV_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(INTEL_DRV_PKG_DESCRIPTION_FILE) $(INTEL_DRV_PKG_INSTALL_SCRIPT)
+	@cp $(INTEL_DRV_PKG_DESCRIPTION_FILE) $(INTEL_DRV_PKG)/.DESCRIPTION
+	@cp $(INTEL_DRV_PKG_INSTALL_SCRIPT) $(INTEL_DRV_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(INTEL_DRV_PKG)/.REQUIRES
+	@echo "pkgname=$(INTEL_DRV_PKG_NAME)"                            >  $(INTEL_DRV_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(INTEL_DRV_PKG_VERSION)"                          >> $(INTEL_DRV_PKG)/.PKGINFO ; \
+	 echo "arch=$(INTEL_DRV_PKG_ARCH)"                               >> $(INTEL_DRV_PKG)/.PKGINFO ; \
+	 echo "distroname=$(INTEL_DRV_PKG_DISTRO_NAME)"                  >> $(INTEL_DRV_PKG)/.PKGINFO ; \
+	 echo "distrover=$(INTEL_DRV_PKG_DISTRO_VERSION)"                >> $(INTEL_DRV_PKG)/.PKGINFO ; \
+	 echo "group=$(INTEL_DRV_PKG_GROUP)"                             >> $(INTEL_DRV_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(INTEL_DRV_PKG_SHORT_DESCRIPTION)\"" >> $(INTEL_DRV_PKG)/.PKGINFO ; \
+	 echo "url=$(INTEL_DRV_PKG_URL)"                                 >> $(INTEL_DRV_PKG)/.PKGINFO ; \
+	 echo "license=$(INTEL_DRV_PKG_LICENSE)"                         >> $(INTEL_DRV_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(INTEL_DRV_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/X11/libs/libva-intel-driver/1.7.2/PATCHES b/X11/libs/libva-intel-driver/1.7.2/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/X11/libs/libva-intel-driver/1.7.2/libva-intel-driver-pkg-description.in b/X11/libs/libva-intel-driver/1.7.2/libva-intel-driver-pkg-description.in
new file mode 100644
index 000000000..1d52831b5
--- /dev/null
+++ b/X11/libs/libva-intel-driver/1.7.2/libva-intel-driver-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+                  |-----handy-ruler------------------------------------------------------|
+libva-intel-driver: libva-intel-driver @VERSION@ (VA driver for Intel G45 & HD Graphics)
+libva-intel-driver:
+libva-intel-driver: libva-intel-driver is the VA-API implementation for Intel G45
+libva-intel-driver: chipsets and Intel HD Graphics for Intel Core processor family.
+libva-intel-driver:
+libva-intel-driver: Homepage: http://www.freedesktop.org/wiki/Software/vaapi
+libva-intel-driver:
+libva-intel-driver:
+libva-intel-driver:
+libva-intel-driver:
+libva-intel-driver:
diff --git a/X11/libs/libva-intel-driver/1.7.2/libva-intel-driver-pkg-install.sh b/X11/libs/libva-intel-driver/1.7.2/libva-intel-driver-pkg-install.sh
new file mode 100755
index 000000000..b44c4e648
--- /dev/null
+++ b/X11/libs/libva-intel-driver/1.7.2/libva-intel-driver-pkg-install.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/X11/libs/libva-vdpau-driver/0.7.4-x86_32/Makefile b/X11/libs/libva-vdpau-driver/0.7.4-x86_32/Makefile
new file mode 100644
index 000000000..dcd330319
--- /dev/null
+++ b/X11/libs/libva-vdpau-driver/0.7.4-x86_32/Makefile
@@ -0,0 +1,166 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/vaapi/libva-vdpau-driver
+
+REQUIRES           = X11/libs/libva-vdpau-driver/0.7.4
+REQUIRES          += X11/libs/libva/1.7.2-x86_32
+REQUIRES          += X11/libs/libvdpau/1.1.1-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.7.4
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/m/vaapi/libva-vdpau-driver/libva-vdpau-driver-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/libva-vdpau-driver-$(version)
+src_dir_name       = libva-vdpau-driver-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = xlibs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+VDPAU_DRV_32_PKG_NAME                = libva-vdpau-driver-x32
+VDPAU_DRV_32_PKG_VERSION             = 0.7.4
+VDPAU_DRV_32_PKG_ARCH                = $(TOOLCHAIN)
+VDPAU_DRV_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+VDPAU_DRV_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+VDPAU_DRV_32_PKG_GROUP               = $(PKG_GROUP)
+###                                   |---handy-ruler-------------------------------|
+VDPAU_DRV_32_PKG_SHORT_DESCRIPTION   = VDPAU backend for VA API
+VDPAU_DRV_32_PKG_URL                 = $(BUG_URL)
+VDPAU_DRV_32_PKG_LICENSE             = GPLv2
+VDPAU_DRV_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(VDPAU_DRV_32_PKG_NAME)-pkg-description
+VDPAU_DRV_32_PKG_DESCRIPTION_FILE_IN = $(VDPAU_DRV_32_PKG_NAME)-pkg-description.in
+VDPAU_DRV_32_PKG_INSTALL_SCRIPT      = $(VDPAU_DRV_32_PKG_NAME)-pkg-install.sh
+
+VDPAU_DRV_32_PKG = $(CURDIR)/$(TARGET_BUILD_DIR)/$(VDPAU_DRV_32_PKG_NAME)-package
+
+pkg_basename     = $(VDPAU_DRV_32_PKG_NAME)-$(VDPAU_DRV_32_PKG_VERSION)-$(VDPAU_DRV_32_PKG_ARCH)-$(VDPAU_DRV_32_PKG_DISTRO_NAME)-$(VDPAU_DRV_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(VDPAU_DRV_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=no
+
+
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(VDPAU_DRV_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(VDPAU_DRV_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/dri ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" vdpau_drv_video.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(VDPAU_DRV_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/dri ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   vdpau_drv_video.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" vdpau_drv_video.la ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(VDPAU_DRV_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(VDPAU_DRV_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(VDPAU_DRV_32_PKG_DESCRIPTION_FILE): $(VDPAU_DRV_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(VDPAU_DRV_32_PKG_DESCRIPTION_FILE) $(VDPAU_DRV_32_PKG_INSTALL_SCRIPT)
+	@cp $(VDPAU_DRV_32_PKG_DESCRIPTION_FILE) $(VDPAU_DRV_32_PKG)/.DESCRIPTION
+	@cp $(VDPAU_DRV_32_PKG_INSTALL_SCRIPT) $(VDPAU_DRV_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(VDPAU_DRV_32_PKG)/.REQUIRES
+	@echo "pkgname=$(VDPAU_DRV_32_PKG_NAME)"                            >  $(VDPAU_DRV_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(VDPAU_DRV_32_PKG_VERSION)"                          >> $(VDPAU_DRV_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(VDPAU_DRV_32_PKG_ARCH)"                               >> $(VDPAU_DRV_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(VDPAU_DRV_32_PKG_DISTRO_NAME)"                  >> $(VDPAU_DRV_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(VDPAU_DRV_32_PKG_DISTRO_VERSION)"                >> $(VDPAU_DRV_32_PKG)/.PKGINFO ; \
+	 echo "group=$(VDPAU_DRV_32_PKG_GROUP)"                             >> $(VDPAU_DRV_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(VDPAU_DRV_32_PKG_SHORT_DESCRIPTION)\"" >> $(VDPAU_DRV_32_PKG)/.PKGINFO ; \
+	 echo "url=$(VDPAU_DRV_32_PKG_URL)"                                 >> $(VDPAU_DRV_32_PKG)/.PKGINFO ; \
+	 echo "license=$(VDPAU_DRV_32_PKG_LICENSE)"                         >> $(VDPAU_DRV_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(VDPAU_DRV_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/X11/libs/libva-vdpau-driver/0.7.4-x86_32/PATCHES b/X11/libs/libva-vdpau-driver/0.7.4-x86_32/PATCHES
new file mode 100644
index 000000000..babfa23a7
--- /dev/null
+++ b/X11/libs/libva-vdpau-driver/0.7.4-x86_32/PATCHES
@@ -0,0 +1,4 @@
+
+../../../../sources/packages/m/vaapi/libva-vdpau-driver/patches/libva-vdpau-driver-0.7.4-glext.patch      -p0
+../../../../sources/packages/m/vaapi/libva-vdpau-driver/patches/libva-vdpau-driver-0.7.4-pix-info.patch   -p0
+../../../../sources/packages/m/vaapi/libva-vdpau-driver/patches/libva-vdpau-driver-0.7.4-vaenc-H264.patch -p0
diff --git a/X11/libs/libva-vdpau-driver/0.7.4-x86_32/libva-vdpau-driver-x32-pkg-description.in b/X11/libs/libva-vdpau-driver/0.7.4-x86_32/libva-vdpau-driver-x32-pkg-description.in
new file mode 100644
index 000000000..60b025a1f
--- /dev/null
+++ b/X11/libs/libva-vdpau-driver/0.7.4-x86_32/libva-vdpau-driver-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+                      |-----handy-ruler------------------------------------------------------|
+libva-vdpau-driver-x32: libva-vdpau-driver-x32 @VERSION@ (x86_32 VDPAU backend for VA API)
+libva-vdpau-driver-x32:
+libva-vdpau-driver-x32: libva-vdpau-driver is a VDPAU-based backend for VA-API.
+libva-vdpau-driver-x32:
+libva-vdpau-driver-x32:
+libva-vdpau-driver-x32: Homepage: http://www.freedesktop.org/wiki/Software/vaapi
+libva-vdpau-driver-x32:
+libva-vdpau-driver-x32:
+libva-vdpau-driver-x32:
+libva-vdpau-driver-x32:
+libva-vdpau-driver-x32:
diff --git a/X11/libs/libva-vdpau-driver/0.7.4-x86_32/libva-vdpau-driver-x32-pkg-install.sh b/X11/libs/libva-vdpau-driver/0.7.4-x86_32/libva-vdpau-driver-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/X11/libs/libva-vdpau-driver/0.7.4-x86_32/libva-vdpau-driver-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/X11/libs/libva-vdpau-driver/0.7.4/Makefile b/X11/libs/libva-vdpau-driver/0.7.4/Makefile
new file mode 100644
index 000000000..35f017693
--- /dev/null
+++ b/X11/libs/libva-vdpau-driver/0.7.4/Makefile
@@ -0,0 +1,195 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/vaapi/libva-vdpau-driver
+
+REQUIRES           = X11/libs/libva/1.7.2
+REQUIRES          += X11/libs/libvdpau/1.1.1
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.7.4
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/m/vaapi/libva-vdpau-driver/libva-vdpau-driver-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/libva-vdpau-driver-$(version)
+src_dir_name       = libva-vdpau-driver-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = xlibs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+VDPAU_DRV_PKG_NAME                = libva-vdpau-driver
+VDPAU_DRV_PKG_VERSION             = 0.7.4
+VDPAU_DRV_PKG_ARCH                = $(TOOLCHAIN)
+VDPAU_DRV_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+VDPAU_DRV_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+VDPAU_DRV_PKG_GROUP               = $(PKG_GROUP)
+###                                |---handy-ruler-------------------------------|
+VDPAU_DRV_PKG_SHORT_DESCRIPTION   = VDPAU backend for VA API
+VDPAU_DRV_PKG_URL                 = $(BUG_URL)
+VDPAU_DRV_PKG_LICENSE             = GPLv2
+VDPAU_DRV_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(VDPAU_DRV_PKG_NAME)-pkg-description
+VDPAU_DRV_PKG_DESCRIPTION_FILE_IN = $(VDPAU_DRV_PKG_NAME)-pkg-description.in
+VDPAU_DRV_PKG_INSTALL_SCRIPT      = $(VDPAU_DRV_PKG_NAME)-pkg-install.sh
+
+VDPAU_DRV_PKG    = $(CURDIR)/$(TARGET_BUILD_DIR)/$(VDPAU_DRV_PKG_NAME)-package
+
+pkg_basename     = $(VDPAU_DRV_PKG_NAME)-$(VDPAU_DRV_PKG_VERSION)-$(VDPAU_DRV_PKG_ARCH)-$(VDPAU_DRV_PKG_DISTRO_NAME)-$(VDPAU_DRV_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(VDPAU_DRV_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=no
+
+
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && \
+	  $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(VDPAU_DRV_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= Install Documentation =======
+	@if [ -d $(VDPAU_DRV_PKG)/usr/share/man ]; then \
+	  ( cd $(VDPAU_DRV_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(VDPAU_DRV_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING \
+	       $(VDPAU_DRV_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(VDPAU_DRV_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS COPYING NEWS README \
+	         $(VDPAU_DRV_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(VDPAU_DRV_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(VDPAU_DRV_PKG)/usr/lib$(LIBSUFFIX)/dri ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" vdpau_drv_video.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(VDPAU_DRV_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/dri ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" vdpau_drv_video.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" vdpau_drv_video.la ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(VDPAU_DRV_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(VDPAU_DRV_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(VDPAU_DRV_PKG_DESCRIPTION_FILE): $(VDPAU_DRV_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(VDPAU_DRV_PKG_DESCRIPTION_FILE) $(VDPAU_DRV_PKG_INSTALL_SCRIPT)
+	@cp $(VDPAU_DRV_PKG_DESCRIPTION_FILE) $(VDPAU_DRV_PKG)/.DESCRIPTION
+	@cp $(VDPAU_DRV_PKG_INSTALL_SCRIPT) $(VDPAU_DRV_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(VDPAU_DRV_PKG)/.REQUIRES
+	@echo "pkgname=$(VDPAU_DRV_PKG_NAME)"                            >  $(VDPAU_DRV_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(VDPAU_DRV_PKG_VERSION)"                          >> $(VDPAU_DRV_PKG)/.PKGINFO ; \
+	 echo "arch=$(VDPAU_DRV_PKG_ARCH)"                               >> $(VDPAU_DRV_PKG)/.PKGINFO ; \
+	 echo "distroname=$(VDPAU_DRV_PKG_DISTRO_NAME)"                  >> $(VDPAU_DRV_PKG)/.PKGINFO ; \
+	 echo "distrover=$(VDPAU_DRV_PKG_DISTRO_VERSION)"                >> $(VDPAU_DRV_PKG)/.PKGINFO ; \
+	 echo "group=$(VDPAU_DRV_PKG_GROUP)"                             >> $(VDPAU_DRV_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(VDPAU_DRV_PKG_SHORT_DESCRIPTION)\"" >> $(VDPAU_DRV_PKG)/.PKGINFO ; \
+	 echo "url=$(VDPAU_DRV_PKG_URL)"                                 >> $(VDPAU_DRV_PKG)/.PKGINFO ; \
+	 echo "license=$(VDPAU_DRV_PKG_LICENSE)"                         >> $(VDPAU_DRV_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(VDPAU_DRV_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/X11/libs/libva-vdpau-driver/0.7.4/PATCHES b/X11/libs/libva-vdpau-driver/0.7.4/PATCHES
new file mode 100644
index 000000000..babfa23a7
--- /dev/null
+++ b/X11/libs/libva-vdpau-driver/0.7.4/PATCHES
@@ -0,0 +1,4 @@
+
+../../../../sources/packages/m/vaapi/libva-vdpau-driver/patches/libva-vdpau-driver-0.7.4-glext.patch      -p0
+../../../../sources/packages/m/vaapi/libva-vdpau-driver/patches/libva-vdpau-driver-0.7.4-pix-info.patch   -p0
+../../../../sources/packages/m/vaapi/libva-vdpau-driver/patches/libva-vdpau-driver-0.7.4-vaenc-H264.patch -p0
diff --git a/X11/libs/libva-vdpau-driver/0.7.4/libva-vdpau-driver-pkg-description.in b/X11/libs/libva-vdpau-driver/0.7.4/libva-vdpau-driver-pkg-description.in
new file mode 100644
index 000000000..f5956028e
--- /dev/null
+++ b/X11/libs/libva-vdpau-driver/0.7.4/libva-vdpau-driver-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+                  |-----handy-ruler------------------------------------------------------|
+libva-vdpau-driver: libva-vdpau-driver @VERSION@ (VDPAU backend for VA API)
+libva-vdpau-driver:
+libva-vdpau-driver: libva-vdpau-driver is a VDPAU-based backend for VA-API.
+libva-vdpau-driver:
+libva-vdpau-driver:
+libva-vdpau-driver: Homepage: http://www.freedesktop.org/wiki/Software/vaapi
+libva-vdpau-driver:
+libva-vdpau-driver:
+libva-vdpau-driver:
+libva-vdpau-driver:
+libva-vdpau-driver:
diff --git a/X11/libs/libva-vdpau-driver/0.7.4/libva-vdpau-driver-pkg-install.sh b/X11/libs/libva-vdpau-driver/0.7.4/libva-vdpau-driver-pkg-install.sh
new file mode 100755
index 000000000..b44c4e648
--- /dev/null
+++ b/X11/libs/libva-vdpau-driver/0.7.4/libva-vdpau-driver-pkg-install.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/X11/libs/libva/1.7.2-x86_32/Makefile b/X11/libs/libva/1.7.2-x86_32/Makefile
new file mode 100644
index 000000000..8da99f46f
--- /dev/null
+++ b/X11/libs/libva/1.7.2-x86_32/Makefile
@@ -0,0 +1,222 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/vaapi/libva
+
+REQUIRES           = X11/libs/libva/1.7.2
+REQUIRES          += X11/libs/libdrm/2.4.68-x86_32
+REQUIRES          += X11/X.org/lib/libXext/1.3.3-x86_32
+REQUIRES          += X11/X.org/lib/libXfixes/5.0.1-x86_32
+REQUIRES          += Wayland/wayland/1.11.0-x86_32
+
+REQUIRES          += X11/libs/opengl-collection
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.7.2
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/m/vaapi/libva/libva-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/libva-$(version)
+src_dir_name       = libva-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = xlibs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+LIBVA_32_PKG_NAME                = libva-x32
+LIBVA_32_PKG_VERSION             = 1.7.2
+LIBVA_32_PKG_ARCH                = $(TOOLCHAIN)
+LIBVA_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+LIBVA_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+LIBVA_32_PKG_GROUP               = $(PKG_GROUP)
+###                               |---handy-ruler-------------------------------|
+LIBVA_32_PKG_SHORT_DESCRIPTION   = Video Acceleration API
+LIBVA_32_PKG_URL                 = $(BUG_URL)
+LIBVA_32_PKG_LICENSE             = MIT
+LIBVA_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LIBVA_32_PKG_NAME)-pkg-description
+LIBVA_32_PKG_DESCRIPTION_FILE_IN = $(LIBVA_32_PKG_NAME)-pkg-description.in
+LIBVA_32_PKG_INSTALL_SCRIPT      = $(LIBVA_32_PKG_NAME)-pkg-install.sh
+
+LIBVA_32_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LIBVA_32_PKG_NAME)-package
+
+pkg_basename     = $(LIBVA_32_PKG_NAME)-$(LIBVA_32_PKG_VERSION)-$(LIBVA_32_PKG_ARCH)-$(LIBVA_32_PKG_DISTRO_NAME)-$(LIBVA_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(LIBVA_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+extra_configure_switches += --enable-dummy-driver
+
+extra_configure_switches += --enable-docs=no
+extra_configure_switches += --enable-drm=yes
+extra_configure_switches += --enable-x11=yes
+extra_configure_switches += --enable-wayland=yes
+
+extra_configure_switches += --enable-glx=yes
+extra_configure_switches += --enable-egl=yes
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=no
+
+
+CFLAGS += -Wno-deprecated-declarations
+
+
+TARGET_BIN_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LIBVA_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(LIBVA_32_PKG)/usr/include
+	@rm -rf $(LIBVA_32_PKG)/usr/share
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(LIBVA_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libva-drm.la     libva-egl.la \
+	                                    libva-glx.la     libva-tpi.la \
+	                                    libva-wayland.la libva-x11.la \
+	                                    libva.la ; \
+	 )
+	@( cd $(LIBVA_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/dri ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" dummy_drv_video.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LIBVA_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libva-drm.la     libva-egl.la \
+	                                            libva-glx.la     libva-tpi.la \
+	                                            libva-wayland.la libva-x11.la \
+	                                            libva.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libva-drm.la     libva-egl.la \
+	                                              libva-glx.la     libva-tpi.la \
+	                                              libva-wayland.la libva-x11.la \
+	                                              libva.la ; \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/dri ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   dummy_drv_video.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" dummy_drv_video.la ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libva-drm.pc     libva-egl.pc   \
+	                                            libva-glx.pc     libva-tpi.pc   \
+	                                            libva-wayland.pc libva-x11.pc ; \
+	 )
+	# ======= do not touch driverdir variable in libva.pc file =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,prefix=/usr,prefix=$(TARGET_DEST_DIR)/usr,g" libva.pc ; \
+	   sed -i "s,libdir=/usr,libdir=$(TARGET_DEST_DIR)/usr,g" libva.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(LIBVA_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(LIBVA_32_PKG)/usr/bin/32 ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(LIBVA_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(LIBVA_32_PKG_DESCRIPTION_FILE): $(LIBVA_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(LIBVA_32_PKG_DESCRIPTION_FILE) $(LIBVA_32_PKG_INSTALL_SCRIPT)
+	@cp $(LIBVA_32_PKG_DESCRIPTION_FILE) $(LIBVA_32_PKG)/.DESCRIPTION
+	@cp $(LIBVA_32_PKG_INSTALL_SCRIPT) $(LIBVA_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(LIBVA_32_PKG)/.REQUIRES
+	@echo "pkgname=$(LIBVA_32_PKG_NAME)"                            >  $(LIBVA_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(LIBVA_32_PKG_VERSION)"                          >> $(LIBVA_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(LIBVA_32_PKG_ARCH)"                               >> $(LIBVA_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(LIBVA_32_PKG_DISTRO_NAME)"                  >> $(LIBVA_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(LIBVA_32_PKG_DISTRO_VERSION)"                >> $(LIBVA_32_PKG)/.PKGINFO ; \
+	 echo "group=$(LIBVA_32_PKG_GROUP)"                             >> $(LIBVA_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(LIBVA_32_PKG_SHORT_DESCRIPTION)\"" >> $(LIBVA_32_PKG)/.PKGINFO ; \
+	 echo "url=$(LIBVA_32_PKG_URL)"                                 >> $(LIBVA_32_PKG)/.PKGINFO ; \
+	 echo "license=$(LIBVA_32_PKG_LICENSE)"                         >> $(LIBVA_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(LIBVA_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/X11/libs/libva/1.7.2-x86_32/PATCHES b/X11/libs/libva/1.7.2-x86_32/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/X11/libs/libva/1.7.2-x86_32/libva-x32-pkg-description.in b/X11/libs/libva/1.7.2-x86_32/libva-x32-pkg-description.in
new file mode 100644
index 000000000..a912b1574
--- /dev/null
+++ b/X11/libs/libva/1.7.2-x86_32/libva-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+         |-----handy-ruler------------------------------------------------------|
+libva-x32: libva-x32 @VERSION@ (x86_32 Video Acceleration API)
+libva-x32:
+libva-x32: The main motivation for VAAPI (Video Acceleration API) is to enable
+libva-x32: hardware accelerated video decode/encode at various entry-points
+libva-x32: (VLD, IDCT, Motion Compensation etc.) for the prevailing coding
+libva-x32: standards today (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and
+libva-x32: VC-1/VMW3)
+libva-x32:
+libva-x32: Homepage: http://www.freedesktop.org/wiki/Software/vaapi
+libva-x32:
+libva-x32:
diff --git a/X11/libs/libva/1.7.2-x86_32/libva-x32-pkg-install.sh b/X11/libs/libva/1.7.2-x86_32/libva-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/X11/libs/libva/1.7.2-x86_32/libva-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/X11/libs/libva/1.7.2/Makefile b/X11/libs/libva/1.7.2/Makefile
new file mode 100644
index 000000000..ba5577a78
--- /dev/null
+++ b/X11/libs/libva/1.7.2/Makefile
@@ -0,0 +1,258 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/vaapi/libva
+
+REQUIRES           = X11/libs/libdrm/2.4.68
+REQUIRES          += X11/X.org/lib/libXext/1.3.3
+REQUIRES          += X11/X.org/lib/libXfixes/5.0.1
+REQUIRES          += Wayland/wayland/1.11.0
+
+REQUIRES          += X11/libs/opengl-collection
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.7.2
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/m/vaapi/libva/libva-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/libva-$(version)
+src_dir_name       = libva-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = xlibs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+LIBVA_PKG_NAME                = libva
+LIBVA_PKG_VERSION             = 1.7.2
+LIBVA_PKG_ARCH                = $(TOOLCHAIN)
+LIBVA_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+LIBVA_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+LIBVA_PKG_GROUP               = $(PKG_GROUP)
+###                            |---handy-ruler-------------------------------|
+LIBVA_PKG_SHORT_DESCRIPTION   = Video Acceleration API
+LIBVA_PKG_URL                 = $(BUG_URL)
+LIBVA_PKG_LICENSE             = MIT
+LIBVA_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LIBVA_PKG_NAME)-pkg-description
+LIBVA_PKG_DESCRIPTION_FILE_IN = $(LIBVA_PKG_NAME)-pkg-description.in
+LIBVA_PKG_INSTALL_SCRIPT      = $(LIBVA_PKG_NAME)-pkg-install.sh
+
+LIBVA_PKG        = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LIBVA_PKG_NAME)-package
+
+pkg_basename     = $(LIBVA_PKG_NAME)-$(LIBVA_PKG_VERSION)-$(LIBVA_PKG_ARCH)-$(LIBVA_PKG_DISTRO_NAME)-$(LIBVA_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(LIBVA_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+extra_configure_switches += --enable-dummy-driver
+
+extra_configure_switches += --enable-docs=no
+extra_configure_switches += --enable-drm=yes
+extra_configure_switches += --enable-x11=yes
+extra_configure_switches += --enable-wayland=yes
+
+extra_configure_switches += --enable-glx=yes
+extra_configure_switches += --enable-egl=yes
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=no
+
+
+CFLAGS += -Wno-deprecated-declarations
+
+
+TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && \
+	  $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LIBVA_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= Install Documentation =======
+	@if [ -d $(LIBVA_PKG)/usr/share/man ]; then \
+	  ( cd $(LIBVA_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(LIBVA_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/COPYING \
+	       $(LIBVA_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(LIBVA_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a COPYING NEWS \
+	         $(LIBVA_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(LIBVA_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(LIBVA_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libva-drm.la     libva-egl.la \
+	                                    libva-glx.la     libva-tpi.la \
+	                                    libva-wayland.la libva-x11.la \
+	                                    libva.la ; \
+	 )
+	@( cd $(LIBVA_PKG)/usr/lib$(LIBSUFFIX)/dri ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" dummy_drv_video.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LIBVA_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libva-drm.la     libva-egl.la \
+	                                            libva-glx.la     libva-tpi.la \
+	                                            libva-wayland.la libva-x11.la \
+	                                            libva.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libva-drm.la     libva-egl.la \
+	                                              libva-glx.la     libva-tpi.la \
+	                                              libva-wayland.la libva-x11.la \
+	                                              libva.la ; \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/dri ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   dummy_drv_video.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" dummy_drv_video.la ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libva-drm.pc     libva-egl.pc   \
+	                                            libva-glx.pc     libva-tpi.pc   \
+	                                            libva-wayland.pc libva-x11.pc ; \
+	 )
+	# ======= do not touch driverdir variable in libva.pc file =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,prefix=/usr,prefix=$(TARGET_DEST_DIR)/usr,g" libva.pc ; \
+	   sed -i "s,libdir=/usr,libdir=$(TARGET_DEST_DIR)/usr,g" libva.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(LIBVA_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(LIBVA_PKG) ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(LIBVA_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(LIBVA_PKG_DESCRIPTION_FILE): $(LIBVA_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(LIBVA_PKG_DESCRIPTION_FILE) $(LIBVA_PKG_INSTALL_SCRIPT)
+	@cp $(LIBVA_PKG_DESCRIPTION_FILE) $(LIBVA_PKG)/.DESCRIPTION
+	@cp $(LIBVA_PKG_INSTALL_SCRIPT) $(LIBVA_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(LIBVA_PKG)/.REQUIRES
+	@echo "pkgname=$(LIBVA_PKG_NAME)"                            >  $(LIBVA_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(LIBVA_PKG_VERSION)"                          >> $(LIBVA_PKG)/.PKGINFO ; \
+	 echo "arch=$(LIBVA_PKG_ARCH)"                               >> $(LIBVA_PKG)/.PKGINFO ; \
+	 echo "distroname=$(LIBVA_PKG_DISTRO_NAME)"                  >> $(LIBVA_PKG)/.PKGINFO ; \
+	 echo "distrover=$(LIBVA_PKG_DISTRO_VERSION)"                >> $(LIBVA_PKG)/.PKGINFO ; \
+	 echo "group=$(LIBVA_PKG_GROUP)"                             >> $(LIBVA_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(LIBVA_PKG_SHORT_DESCRIPTION)\"" >> $(LIBVA_PKG)/.PKGINFO ; \
+	 echo "url=$(LIBVA_PKG_URL)"                                 >> $(LIBVA_PKG)/.PKGINFO ; \
+	 echo "license=$(LIBVA_PKG_LICENSE)"                         >> $(LIBVA_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(LIBVA_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/X11/libs/libva/1.7.2/PATCHES b/X11/libs/libva/1.7.2/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/X11/libs/libva/1.7.2/libva-pkg-description.in b/X11/libs/libva/1.7.2/libva-pkg-description.in
new file mode 100644
index 000000000..b7c1da67f
--- /dev/null
+++ b/X11/libs/libva/1.7.2/libva-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+     |-----handy-ruler------------------------------------------------------|
+libva: libva @VERSION@ (Video Acceleration API)
+libva:
+libva: The main motivation for VAAPI (Video Acceleration API) is to enable
+libva: hardware accelerated video decode/encode at various entry-points
+libva: (VLD, IDCT, Motion Compensation etc.) for the prevailing coding
+libva: standards today (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and
+libva: VC-1/VMW3)
+libva:
+libva: Homepage: http://www.freedesktop.org/wiki/Software/vaapi
+libva:
+libva:
diff --git a/X11/libs/libva/1.7.2/libva-pkg-install.sh b/X11/libs/libva/1.7.2/libva-pkg-install.sh
new file mode 100755
index 000000000..b44c4e648
--- /dev/null
+++ b/X11/libs/libva/1.7.2/libva-pkg-install.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/X11/libs/libvdpau/1.1.1-x86_32/Makefile b/X11/libs/libvdpau/1.1.1-x86_32/Makefile
new file mode 100644
index 000000000..723de8186
--- /dev/null
+++ b/X11/libs/libvdpau/1.1.1-x86_32/Makefile
@@ -0,0 +1,183 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/libvdpau
+
+REQUIRES           = X11/libs/libvdpau/1.1.1
+REQUIRES          += X11/X.org/lib/libXext/1.3.3-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.1.1
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/m/libvdpau/libvdpau-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/libvdpau-$(version)
+src_dir_name       = libvdpau-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = xlibs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+LIBVDPAU_32_PKG_NAME                = libvdpau-x32
+LIBVDPAU_32_PKG_VERSION             = 1.1.1
+LIBVDPAU_32_PKG_ARCH                = $(TOOLCHAIN)
+LIBVDPAU_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+LIBVDPAU_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+LIBVDPAU_32_PKG_GROUP               = $(PKG_GROUP)
+###                                  |---handy-ruler-------------------------------|
+LIBVDPAU_32_PKG_SHORT_DESCRIPTION   = VDPAU wrapper library
+LIBVDPAU_32_PKG_URL                 = $(BUG_URL)
+LIBVDPAU_32_PKG_LICENSE             = custom
+LIBVDPAU_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LIBVDPAU_32_PKG_NAME)-pkg-description
+LIBVDPAU_32_PKG_DESCRIPTION_FILE_IN = $(LIBVDPAU_32_PKG_NAME)-pkg-description.in
+LIBVDPAU_32_PKG_INSTALL_SCRIPT      = $(LIBVDPAU_32_PKG_NAME)-pkg-install.sh
+
+LIBVDPAU_32_PKG  = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LIBVDPAU_32_PKG_NAME)-package
+
+pkg_basename     = $(LIBVDPAU_32_PKG_NAME)-$(LIBVDPAU_32_PKG_VERSION)-$(LIBVDPAU_32_PKG_ARCH)-$(LIBVDPAU_32_PKG_DISTRO_NAME)-$(LIBVDPAU_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(LIBVDPAU_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=no
+
+
+CFLAGS += -Wno-deprecated-declarations
+
+
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LIBVDPAU_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(LIBVDPAU_32_PKG)/etc
+	@rm -rf $(LIBVDPAU_32_PKG)/usr/include
+	@rm -rf $(LIBVDPAU_32_PKG)/usr/share
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(LIBVDPAU_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libvdpau.la ; \
+	 )
+	@( cd $(LIBVDPAU_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/vdpau ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libvdpau_trace.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LIBVDPAU_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libvdpau.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libvdpau.la ; \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/vdpau ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   libvdpau_trace.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libvdpau_trace.la ; \
+	 )
+	# ======= tune pkg-config *.pc but do not touch moduledir variable in vdpau.pc file =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,prefix=/usr,prefix=$(TARGET_DEST_DIR)/usr,g" vdpau.pc ; \
+	   sed -i "s,libdir=/usr,libdir=$(TARGET_DEST_DIR)/usr,g" vdpau.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(LIBVDPAU_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(LIBVDPAU_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(LIBVDPAU_32_PKG_DESCRIPTION_FILE): $(LIBVDPAU_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(LIBVDPAU_32_PKG_DESCRIPTION_FILE) $(LIBVDPAU_32_PKG_INSTALL_SCRIPT)
+	@cp $(LIBVDPAU_32_PKG_DESCRIPTION_FILE) $(LIBVDPAU_32_PKG)/.DESCRIPTION
+	@cp $(LIBVDPAU_32_PKG_INSTALL_SCRIPT) $(LIBVDPAU_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(LIBVDPAU_32_PKG)/.REQUIRES
+	@echo "pkgname=$(LIBVDPAU_32_PKG_NAME)"                            >  $(LIBVDPAU_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(LIBVDPAU_32_PKG_VERSION)"                          >> $(LIBVDPAU_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(LIBVDPAU_32_PKG_ARCH)"                               >> $(LIBVDPAU_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(LIBVDPAU_32_PKG_DISTRO_NAME)"                  >> $(LIBVDPAU_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(LIBVDPAU_32_PKG_DISTRO_VERSION)"                >> $(LIBVDPAU_32_PKG)/.PKGINFO ; \
+	 echo "group=$(LIBVDPAU_32_PKG_GROUP)"                             >> $(LIBVDPAU_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(LIBVDPAU_32_PKG_SHORT_DESCRIPTION)\"" >> $(LIBVDPAU_32_PKG)/.PKGINFO ; \
+	 echo "url=$(LIBVDPAU_32_PKG_URL)"                                 >> $(LIBVDPAU_32_PKG)/.PKGINFO ; \
+	 echo "license=$(LIBVDPAU_32_PKG_LICENSE)"                         >> $(LIBVDPAU_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(LIBVDPAU_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/X11/libs/libvdpau/1.1.1-x86_32/PATCHES b/X11/libs/libvdpau/1.1.1-x86_32/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/X11/libs/libvdpau/1.1.1-x86_32/libvdpau-x32-pkg-description.in b/X11/libs/libvdpau/1.1.1-x86_32/libvdpau-x32-pkg-description.in
new file mode 100644
index 000000000..42f903bda
--- /dev/null
+++ b/X11/libs/libvdpau/1.1.1-x86_32/libvdpau-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+            |-----handy-ruler------------------------------------------------------|
+libvdpau-x32: libvdpau-x32 @VERSION@ (x86_32 VDPAU wrapper library)
+libvdpau-x32:
+libvdpau-x32: This package contains the libvdpau wrapper library and the
+libvdpau-x32: libvdpau_trace debugging library, along with the header files
+libvdpau-x32: needed to build VDPAU applications. To actually use a VDPAU
+libvdpau-x32: device, you need a vendor-specific implementation library,
+libvdpau-x32: like the one shipped with nvidia's binary graphics driver.
+libvdpau-x32:
+libvdpau-x32: Homepage: http://cgit.freedesktop.org/~aplattner/libvdpau
+libvdpau-x32:
+libvdpau-x32:
diff --git a/X11/libs/libvdpau/1.1.1-x86_32/libvdpau-x32-pkg-install.sh b/X11/libs/libvdpau/1.1.1-x86_32/libvdpau-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/X11/libs/libvdpau/1.1.1-x86_32/libvdpau-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/X11/libs/libvdpau/1.1.1/Makefile b/X11/libs/libvdpau/1.1.1/Makefile
new file mode 100644
index 000000000..5eea056b3
--- /dev/null
+++ b/X11/libs/libvdpau/1.1.1/Makefile
@@ -0,0 +1,227 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/libvdpau
+
+ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
+REQUIRES           = dev/gcc/5.3.0
+endif
+REQUIRES          += X11/X.org/lib/libXext/1.3.3
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.1.1
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/m/libvdpau/libvdpau-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/libvdpau-$(version)
+src_dir_name       = libvdpau-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+profile_dir        = $(CURDIR)/profile.d
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+####### Targets
+
+PKG_GROUP = xlibs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+LIBVDPAU_PKG_NAME                = libvdpau
+LIBVDPAU_PKG_VERSION             = 1.1.1
+LIBVDPAU_PKG_ARCH                = $(TOOLCHAIN)
+LIBVDPAU_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+LIBVDPAU_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+LIBVDPAU_PKG_GROUP               = $(PKG_GROUP)
+###                               |---handy-ruler-------------------------------|
+LIBVDPAU_PKG_SHORT_DESCRIPTION   = VDPAU wrapper library
+LIBVDPAU_PKG_URL                 = $(BUG_URL)
+LIBVDPAU_PKG_LICENSE             = custom
+LIBVDPAU_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LIBVDPAU_PKG_NAME)-pkg-description
+LIBVDPAU_PKG_DESCRIPTION_FILE_IN = $(LIBVDPAU_PKG_NAME)-pkg-description.in
+LIBVDPAU_PKG_INSTALL_SCRIPT      = $(LIBVDPAU_PKG_NAME)-pkg-install.sh
+
+LIBVDPAU_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LIBVDPAU_PKG_NAME)-package
+
+pkg_basename     = $(LIBVDPAU_PKG_NAME)-$(LIBVDPAU_PKG_VERSION)-$(LIBVDPAU_PKG_ARCH)-$(LIBVDPAU_PKG_DISTRO_NAME)-$(LIBVDPAU_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(LIBVDPAU_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=no
+
+
+CFLAGS += -Wno-deprecated-declarations
+
+
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && \
+	  $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LIBVDPAU_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@mv $(LIBVDPAU_PKG)/etc/vdpau_wrapper.cfg $(LIBVDPAU_PKG)/etc/vdpau_wrapper.cfg.new
+	@mkdir -p $(LIBVDPAU_PKG)/etc/profile.d
+	@cp -a $(profile_dir)/vdpau.sh $(LIBVDPAU_PKG)/etc/profile.d/vdpau.sh.new
+	@cp -a $(profile_dir)/vdpau.csh $(LIBVDPAU_PKG)/etc/profile.d/vdpau.csh.new
+	@chmod 755 $(LIBVDPAU_PKG)/etc/profile.d/*
+	# ======= Install Documentation =======
+	@if [ -d $(LIBVDPAU_PKG)/usr/share/man ]; then \
+	  ( cd $(LIBVDPAU_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(LIBVDPAU_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING \
+	       $(LIBVDPAU_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(LIBVDPAU_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS COPYING \
+	         $(LIBVDPAU_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(LIBVDPAU_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(LIBVDPAU_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libvdpau.la ; \
+	 )
+	@( cd $(LIBVDPAU_PKG)/usr/lib$(LIBSUFFIX)/vdpau ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libvdpau_trace.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LIBVDPAU_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libvdpau.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libvdpau.la ; \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/vdpau ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   libvdpau_trace.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libvdpau_trace.la ; \
+	 )
+	# ======= tune pkg-config *.pc but do not touch moduledir variable in vdpau.pc file =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,prefix=/usr,prefix=$(TARGET_DEST_DIR)/usr,g" vdpau.pc ; \
+	   sed -i "s,libdir=/usr,libdir=$(TARGET_DEST_DIR)/usr,g" vdpau.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(LIBVDPAU_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(LIBVDPAU_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(LIBVDPAU_PKG_DESCRIPTION_FILE): $(LIBVDPAU_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(LIBVDPAU_PKG_DESCRIPTION_FILE) $(LIBVDPAU_PKG_INSTALL_SCRIPT)
+	@cp $(LIBVDPAU_PKG_DESCRIPTION_FILE) $(LIBVDPAU_PKG)/.DESCRIPTION
+	@cp $(LIBVDPAU_PKG_INSTALL_SCRIPT) $(LIBVDPAU_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(LIBVDPAU_PKG)/.REQUIRES
+	@echo "pkgname=$(LIBVDPAU_PKG_NAME)"                            >  $(LIBVDPAU_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(LIBVDPAU_PKG_VERSION)"                          >> $(LIBVDPAU_PKG)/.PKGINFO ; \
+	 echo "arch=$(LIBVDPAU_PKG_ARCH)"                               >> $(LIBVDPAU_PKG)/.PKGINFO ; \
+	 echo "distroname=$(LIBVDPAU_PKG_DISTRO_NAME)"                  >> $(LIBVDPAU_PKG)/.PKGINFO ; \
+	 echo "distrover=$(LIBVDPAU_PKG_DISTRO_VERSION)"                >> $(LIBVDPAU_PKG)/.PKGINFO ; \
+	 echo "group=$(LIBVDPAU_PKG_GROUP)"                             >> $(LIBVDPAU_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(LIBVDPAU_PKG_SHORT_DESCRIPTION)\"" >> $(LIBVDPAU_PKG)/.PKGINFO ; \
+	 echo "url=$(LIBVDPAU_PKG_URL)"                                 >> $(LIBVDPAU_PKG)/.PKGINFO ; \
+	 echo "license=$(LIBVDPAU_PKG_LICENSE)"                         >> $(LIBVDPAU_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(LIBVDPAU_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/X11/libs/libvdpau/1.1.1/PATCHES b/X11/libs/libvdpau/1.1.1/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/X11/libs/libvdpau/1.1.1/libvdpau-pkg-description.in b/X11/libs/libvdpau/1.1.1/libvdpau-pkg-description.in
new file mode 100644
index 000000000..f1e6cce91
--- /dev/null
+++ b/X11/libs/libvdpau/1.1.1/libvdpau-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler------------------------------------------------------|
+libvdpau: libvdpau @VERSION@ (VDPAU wrapper library)
+libvdpau:
+libvdpau: This package contains the libvdpau wrapper library and the
+libvdpau: libvdpau_trace debugging library, along with the header files
+libvdpau: needed to build VDPAU applications. To actually use a VDPAU
+libvdpau: device, you need a vendor-specific implementation library,
+libvdpau: like the one shipped with nvidia's binary graphics driver.
+libvdpau:
+libvdpau: Homepage: http://cgit.freedesktop.org/~aplattner/libvdpau
+libvdpau:
+libvdpau:
diff --git a/X11/libs/libvdpau/1.1.1/libvdpau-pkg-install.sh b/X11/libs/libvdpau/1.1.1/libvdpau-pkg-install.sh
new file mode 100755
index 000000000..4786148b3
--- /dev/null
+++ b/X11/libs/libvdpau/1.1.1/libvdpau-pkg-install.sh
@@ -0,0 +1,55 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  install_file etc/vdpau_wrapper.cfg.new
+  install_file etc/profile.d/vdpau.sh.new
+  install_file etc/profile.d/vdpau.csh.new
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/X11/libs/libvdpau/1.1.1/profile.d/vdpau.csh b/X11/libs/libvdpau/1.1.1/profile.d/vdpau.csh
new file mode 100644
index 000000000..e2d18c181
--- /dev/null
+++ b/X11/libs/libvdpau/1.1.1/profile.d/vdpau.csh
@@ -0,0 +1,22 @@
+#!/bin/csh
+
+# Disable debugging output of the vdpau backend
+setenv VDPAU_LOG 0
+
+# Use the vdpau backend of the nvidia binary driver
+#setenv VDPAU_DRIVER "nvidia"
+
+# Use the vdpau backend of the nouveau driver
+#setenv VDPAU_DRIVER "nouveau"
+
+# Use the vdpau backend of the r300 driver
+#setenv VDPAU_DRIVER "r300"
+
+# Use the vdpau backend of the r600 driver
+#setenv VDPAU_DRIVER "r600"
+
+# Use the vdpau backend of the radeonsi driver
+#setenv VDPAU_DRIVER "radeonsi"
+
+# Use the va-api/opengl backend
+#setenv VDPAU_DRIVER "va_gl"
diff --git a/X11/libs/libvdpau/1.1.1/profile.d/vdpau.sh b/X11/libs/libvdpau/1.1.1/profile.d/vdpau.sh
new file mode 100644
index 000000000..918312e21
--- /dev/null
+++ b/X11/libs/libvdpau/1.1.1/profile.d/vdpau.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+# Disable debugging output of the vdpau backend
+export VDPAU_LOG=0
+
+# Use the vdpau backend of the nvidia binary driver
+#export VDPAU_DRIVER="nvidia"
+
+# Use the vdpau backend of the nouveau driver
+#export VDPAU_DRIVER="nouveau"
+
+# Use the vdpau backend of the r300 driver
+#export VDPAU_DRIVER="r300"
+
+# Use the vdpau backend of the r600 driver
+#export VDPAU_DRIVER="r600"
+
+# Use the vdpau backend of the radeonsi driver
+#export VDPAU_DRIVER="radeonsi"
+
+# Use the va-api/opengl backend
+#export VDPAU_DRIVER="va_gl"
diff --git a/X11/libs/mesa/11.2.2-x86_32/Makefile b/X11/libs/mesa/11.2.2-x86_32/Makefile
index 36db6079b..c854a6093 100644
--- a/X11/libs/mesa/11.2.2-x86_32/Makefile
+++ b/X11/libs/mesa/11.2.2-x86_32/Makefile
@@ -31,6 +31,7 @@ REQUIRES          += X11/X.org/lib/libXdamage/1.1.4-x86_32
 REQUIRES          += X11/X.org/lib/libXv/1.0.10-x86_32
 REQUIRES          += X11/X.org/lib/libXvMC/1.0.9-x86_32
 REQUIRES          += Wayland/wayland/1.11.0-x86_32
+REQUIRES          += env/libva/1.7.2-x86_32
 
 # ======= __END_OF_REQUIRES__ =======
 
@@ -179,6 +180,9 @@ $(install_target): $(build_target)
 	@( cd $(MESA_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/d3d ; \
 	   sed -i "s,$(TARGET_DEST_DIR),,g" d3dadapter9.la ; \
 	 )
+	@( cd $(MESA_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/dri ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" gallium_drv_video.la ; \
+	 )
 	@( cd $(MESA_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
 	   sed -i "s,$(TARGET_DEST_DIR),,g" libEGL.la          \
 	                                    libGL.la           \
@@ -198,6 +202,10 @@ $(install_target): $(build_target)
 	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   d3dadapter9.la ; \
 	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" d3dadapter9.la ; \
 	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/dri ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   gallium_drv_video.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" gallium_drv_video.la ; \
+	 )
 	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
 	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libEGL.la          \
 	                                            libGL.la           \
diff --git a/X11/libs/mesa/11.2.2/Makefile b/X11/libs/mesa/11.2.2/Makefile
index 64a298b87..6c7d19a70 100644
--- a/X11/libs/mesa/11.2.2/Makefile
+++ b/X11/libs/mesa/11.2.2/Makefile
@@ -46,6 +46,7 @@ REQUIRES          += X11/X.org/lib/libXdamage/1.1.4
 REQUIRES          += X11/X.org/lib/libXv/1.0.10
 REQUIRES          += X11/X.org/lib/libXvMC/1.0.9
 REQUIRES          += Wayland/wayland/1.11.0
+REQUIRES          += env/libva/1.7.2
 
 # ======= __END_OF_REQUIRES__ =======
 
@@ -242,6 +243,9 @@ $(install_target): $(build_target)
 	@( cd $(MESA_PKG)/usr/lib$(LIBSUFFIX)/d3d ; \
 	   sed -i "s,$(TARGET_DEST_DIR),,g" d3dadapter9.la ; \
 	 )
+	@( cd $(MESA_PKG)/usr/lib$(LIBSUFFIX)/dri ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" gallium_drv_video.la ; \
+	 )
 ifneq ($(filter $(HARDWARE),$(HARDWARE_CB1X) $(HARDWARE_CI20) $(HARDWARE_M201) $(HARDWARE_MXQ)),)
 	@( cd $(MESA_PKG)/usr/lib$(LIBSUFFIX) ; \
 	   sed -i "s,$(TARGET_DEST_DIR),,g" libGL.la           \
@@ -271,6 +275,10 @@ endif
 	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   d3dadapter9.la ; \
 	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" d3dadapter9.la ; \
 	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/dri ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   gallium_drv_video.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" gallium_drv_video.la ; \
+	 )
 ifneq ($(filter $(HARDWARE),$(HARDWARE_CB1X) $(HARDWARE_CI20) $(HARDWARE_M201) $(HARDWARE_MXQ)),)
 	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
 	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libGL.la           \
diff --git a/X11/libs/qt4/4.8.6-x86_32/Makefile b/X11/libs/qt4/4.8.6-x86_32/Makefile
index 92725f667..a54bccaf3 100644
--- a/X11/libs/qt4/4.8.6-x86_32/Makefile
+++ b/X11/libs/qt4/4.8.6-x86_32/Makefile
@@ -326,7 +326,7 @@ $(install_target): $(build_target)
 	 )
 	# ======= Change source directory to more 'normal' place =======
 	@( cd $(QT4_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/qt4/lib ; \
-	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/src/qt-$(version),g" \
+	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/lib$(MULTILIB_X86_32_SUFFIX)/qt-$(version),g" \
 	           libQtCLucene.prl     libQtCore.prl               \
 	           libQtDBus.prl        libQtDeclarative.prl        \
 	           libQtDesigner.prl    libQtDesignerComponents.prl \
diff --git a/X11/libs/qt4/4.8.6/Makefile b/X11/libs/qt4/4.8.6/Makefile
index 279fba459..f6009bf5d 100644
--- a/X11/libs/qt4/4.8.6/Makefile
+++ b/X11/libs/qt4/4.8.6/Makefile
@@ -409,7 +409,7 @@ ifneq ($(filter $(HARDWARE),$(HARDWARE_CB1X) $(HARDWARE_CI20) $(HARDWARE_M201) $
 endif
 	# ======= Change source directory to more 'normal' place =======
 	@( cd $(QT4_PKG)/usr/lib$(LIBSUFFIX)/qt4/lib ; \
-	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/src/qt-$(version),g" \
+	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/lib$(LIBSUFFIX)/qt-$(version),g" \
 	           libQtCLucene.prl     libQtCore.prl               \
 	           libQtDBus.prl        libQtDeclarative.prl        \
 	           libQtDesigner.prl    libQtDesignerComponents.prl \
@@ -424,7 +424,7 @@ endif
 	 )
 ifneq ($(filter $(HARDWARE),$(HARDWARE_CB1X) $(HARDWARE_CI20) $(HARDWARE_M201) $(HARDWARE_MXQ)),)
 	@( cd $(QT4_PKG)/usr/lib$(LIBSUFFIX)/qt4/lib ; \
-	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/src/qt-$(version),g" \
+	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/lib$(LIBSUFFIX)/qt-$(version),g" \
 	           libQtMeeGoGraphicsSystemHelper.prl             ; \
 	 )
 endif
diff --git a/X11/libs/qt4/4.8.7-x86_32/Makefile b/X11/libs/qt4/4.8.7-x86_32/Makefile
index c317b0aa8..f8bbc86c7 100644
--- a/X11/libs/qt4/4.8.7-x86_32/Makefile
+++ b/X11/libs/qt4/4.8.7-x86_32/Makefile
@@ -15,6 +15,7 @@ SOURCE_REQUIRES    = sources/packages/x/qt4
 REQUIRES           = X11/libs/qt4/4.8.7
 
 REQUIRES          += libs/alsa-lib/1.1.1-x86_32
+REQUIRES          += libs/pulseaudio/9.0-x86_32
 REQUIRES          += X11/app/dbus-x11-launch/1.11.2-x86_32
 
 REQUIRES          += libs/libmng/2.0.3-x86_32
@@ -35,6 +36,7 @@ REQUIRES          += libs/gstreamer0/0.10.36-x86_32
 REQUIRES          += libs/gst-plugins-base0/0.10.36-x86_32
 
 REQUIRES          += app/sqlite/3.12.2.0-x86_32
+REQUIRES          += app/postgresql/9.6.0-x86_32
 REQUIRES          += app/mariadb/10.0.25-x86_32
 REQUIRES          += libs/libiodbc/3.52.10-x86_32
 
@@ -146,6 +148,7 @@ configure_switches += -system-libtiff
 configure_switches += -system-zlib
 configure_switches += -system-sqlite
 configure_switches += -plugin-sql-sqlite
+configure_switches += -plugin-sql-psql
 configure_switches += -plugin-sql-mysql
 configure_switches += -plugin-sql-odbc
 configure_switches += -openssl-linked
@@ -179,6 +182,10 @@ TARGET_BIN_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFI
 $(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
 	$(UNPACK_SRC_ARCHIVE)
 	$(APPLY_PATCHES)
+	@( cd $(SRC_DIR) ; \
+	   sed -i "s,^CFG_ALSA=.*,CFG_ALSA=yes,"             configure ; \
+	   sed -i "s,^CFG_PULSEAUDIO=.*,CFG_PULSEAUDIO=yes," configure ; \
+	 )
 	@( cd $(SRC_DIR) ; sed -i "s,^\(QMAKE_INCDIR_X11 *=\).*,\1," mkspecs/common/linux.conf )
 	@( cd $(SRC_DIR) ; sed -i "s,^\(QMAKE_INCDIR_OPENGL *=\).*,\1," mkspecs/common/linux.conf )
 	@( cd $(SRC_DIR) ; sed -i "s,^\(QMAKE_LIBDIR_X11 *=\).*,\1," mkspecs/common/linux.conf )
@@ -342,7 +349,7 @@ $(install_target): $(build_target)
 	 )
 	# ======= Change source directory to more 'normal' place =======
 	@( cd $(QT4_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/qt-$(version)/lib ; \
-	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/src/qt-$(version),g" \
+	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/lib$(MULTILIB_X86_32_SUFFIX)/qt-$(version),g" \
 	           libQtCLucene.prl     libQtCore.prl               \
 	           libQtDBus.prl        libQtDeclarative.prl        \
 	           libQtDesigner.prl    libQtDesignerComponents.prl \
@@ -369,6 +376,11 @@ $(install_target): $(build_target)
 	                                    QtXml.pc         QtXmlPatterns.pc        \
 	                                    phonon.pc                              ; \
 	 )
+	# ======= Change source directory to more 'normal' place =======
+	@( cd $(QT4_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/qt-$(version)/lib/pkgconfig ; \
+	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/lib$(MULTILIB_X86_32_SUFFIX)/qt-$(version),g" QtDesigner.pc    \
+	                                    QtDesignerComponents.pc QtUiTools.pc   ; \
+	 )
 	# ======= Install the same to $(TARGET_DEST_DIR) =======
 	$(call install-into-devenv, $(QT4_32_PKG))
 	# ======= Remove build-machine tools from target package =======
diff --git a/X11/libs/qt4/4.8.7/Makefile b/X11/libs/qt4/4.8.7/Makefile
index e4ea9e70e..cae53d80f 100644
--- a/X11/libs/qt4/4.8.7/Makefile
+++ b/X11/libs/qt4/4.8.7/Makefile
@@ -32,6 +32,7 @@ REQUIRES          += X11/libs/hicolor-icon-theme/0.15
 REQUIRES          += X11/app/xdg-utils/1.1.1
 
 REQUIRES          += libs/alsa-lib/1.1.1
+REQUIRES          += libs/pulseaudio/9.0
 REQUIRES          += X11/app/dbus-x11-launch/1.11.2
 
 REQUIRES          += libs/libmng/2.0.3
@@ -52,6 +53,7 @@ REQUIRES          += libs/gstreamer0/0.10.36
 REQUIRES          += libs/gst-plugins-base0/0.10.36
 
 REQUIRES          += app/sqlite/3.12.2.0
+REQUIRES          += app/postgresql/9.6.0
 REQUIRES          += app/mariadb/10.0.25
 REQUIRES          += libs/libiodbc/3.52.10
 
@@ -193,6 +195,7 @@ configure_switches += -system-libtiff
 configure_switches += -system-zlib
 configure_switches += -system-sqlite
 configure_switches += -plugin-sql-sqlite
+configure_switches += -plugin-sql-psql
 configure_switches += -plugin-sql-mysql
 configure_switches += -plugin-sql-odbc
 configure_switches += -openssl-linked
@@ -226,6 +229,10 @@ TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)/qt
 $(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
 	$(UNPACK_SRC_ARCHIVE)
 	$(APPLY_PATCHES)
+	@( cd $(SRC_DIR) ; \
+	   sed -i "s,^CFG_ALSA=.*,CFG_ALSA=yes,"             configure ; \
+	   sed -i "s,^CFG_PULSEAUDIO=.*,CFG_PULSEAUDIO=yes," configure ; \
+	 )
 	@( cd $(SRC_DIR) ; sed -i "s,^\(QMAKE_INCDIR_X11 *=\).*,\1," mkspecs/common/linux.conf )
 	@( cd $(SRC_DIR) ; sed -i "s,^\(QMAKE_INCDIR_OPENGL *=\).*,\1," mkspecs/common/linux.conf )
 	@( cd $(SRC_DIR) ; sed -i "s,^\(QMAKE_LIBDIR_X11 *=\).*,\1," mkspecs/common/linux.conf )
@@ -427,7 +434,7 @@ ifneq ($(filter $(HARDWARE),$(HARDWARE_CB1X) $(HARDWARE_CI20) $(HARDWARE_M201) $
 endif
 	# ======= Change source directory to more 'normal' place =======
 	@( cd $(QT4_PKG)/usr/lib$(LIBSUFFIX)/qt-$(version)/lib ; \
-	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/src/qt-$(version),g" \
+	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/lib$(LIBSUFFIX)/qt-$(version),g" \
 	           libQtCLucene.prl     libQtCore.prl               \
 	           libQtDBus.prl        libQtDeclarative.prl        \
 	           libQtDesigner.prl    libQtDesignerComponents.prl \
@@ -442,7 +449,7 @@ endif
 	 )
 ifneq ($(filter $(HARDWARE),$(HARDWARE_CB1X) $(HARDWARE_CI20) $(HARDWARE_M201) $(HARDWARE_MXQ)),)
 	@( cd $(QT4_PKG)/usr/lib$(LIBSUFFIX)/qt-$(version)/lib ; \
-	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/src/qt-$(version),g" \
+	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/lib$(LIBSUFFIX)/qt-$(version),g" \
 	           libQtMeeGoGraphicsSystemHelper.prl             ; \
 	 )
 endif
@@ -460,6 +467,11 @@ endif
 	                                    QtXml.pc         QtXmlPatterns.pc        \
 	                                    phonon.pc                              ; \
 	 )
+	# ======= Change source directory to more 'normal' place =======
+	@( cd $(QT4_PKG)/usr/lib$(LIBSUFFIX)/qt-$(version)/lib/pkgconfig ; \
+	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/lib$(LIBSUFFIX)/qt-$(version),g" QtDesigner.pc    \
+	                                    QtDesignerComponents.pc QtUiTools.pc   ; \
+	 )
 ifneq ($(filter $(HARDWARE),$(HARDWARE_CB1X) $(HARDWARE_CI20) $(HARDWARE_M201) $(HARDWARE_MXQ)),)
 	@( cd $(QT4_PKG)/usr/lib$(LIBSUFFIX)/qt-$(version)/lib/pkgconfig ; \
 	   sed -i "s,$(TARGET_DEST_DIR),,g" QtMeeGoGraphicsSystemHelper.pc ; \
diff --git a/X11/libs/qt5/5.4.0-x86_32/Makefile b/X11/libs/qt5/5.4.0-x86_32/Makefile
index 320eb3670..f7b9ce619 100644
--- a/X11/libs/qt5/5.4.0-x86_32/Makefile
+++ b/X11/libs/qt5/5.4.0-x86_32/Makefile
@@ -404,7 +404,7 @@ $(install_target): $(build_target)
 	 )
 	# ======= Change source directory to more 'normal' place =======
 	@( cd $(QT5_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/qt-$(version)/lib ; \
-	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/src/qt-$(version),g" \
+	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/lib$(MULTILIB_X86_32_SUFFIX)/qt-$(version),g" \
 	           libEnginio.prl              libQt5Bluetooth.prl           \
 	           libQt5Bootstrap.prl         libQt5CLucene.prl             \
 	           libQt5Concurrent.prl        libQt5Core.prl                \
diff --git a/X11/libs/qt5/5.4.0/Makefile b/X11/libs/qt5/5.4.0/Makefile
index cb2bf9636..36179f12f 100644
--- a/X11/libs/qt5/5.4.0/Makefile
+++ b/X11/libs/qt5/5.4.0/Makefile
@@ -522,7 +522,7 @@ $(install_target): $(build_target)
 	 )
 	# ======= Change source directory to more 'normal' place =======
 	@( cd $(QT5_PKG)/usr/lib$(LIBSUFFIX)/qt-$(version)/lib ; \
-	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/src/qt-$(version),g" \
+	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/lib$(LIBSUFFIX)/qt-$(version),g" \
 	           libEnginio.prl              libQt5Bluetooth.prl           \
 	           libQt5Bootstrap.prl         libQt5CLucene.prl             \
 	           libQt5Concurrent.prl        libQt5Core.prl                \
diff --git a/X11/libs/qt5/5.4.2-x86_32/Makefile b/X11/libs/qt5/5.4.2-x86_32/Makefile
index 850353542..290899147 100644
--- a/X11/libs/qt5/5.4.2-x86_32/Makefile
+++ b/X11/libs/qt5/5.4.2-x86_32/Makefile
@@ -15,6 +15,7 @@ SOURCE_REQUIRES    = sources/packages/x/qt5
 REQUIRES           = X11/libs/qt5/5.4.2
 
 REQUIRES          += libs/alsa-lib/1.1.1-x86_32
+REQUIRES          += libs/pulseaudio/9.0-x86_32
 REQUIRES          += X11/app/dbus-x11-launch/1.11.2-x86_32
 
 REQUIRES          += libs/libmng/2.0.3-x86_32
@@ -41,9 +42,12 @@ REQUIRES          += libs/gstreamer/1.8.2-x86_32
 REQUIRES          += libs/gst-plugins-base/1.8.2-x86_32
 
 REQUIRES          += app/sqlite/3.12.2.0-x86_32
+REQUIRES          += app/postgresql/9.6.0-x86_32
 REQUIRES          += app/mariadb/10.0.25-x86_32
 REQUIRES          += libs/libiodbc/3.52.10-x86_32
 
+REQUIRES          += libs/botan/1.10.13-x86_32
+
 REQUIRES          += X11/libs/opengl-collection
 
 # ======= __END_OF_REQUIRES__ =======
@@ -163,6 +167,7 @@ configure_switches += -opengl
 configure_switches += -accessibility
 configure_switches += -system-sqlite
 configure_switches += -plugin-sql-sqlite
+configure_switches += -plugin-sql-psql
 configure_switches += -plugin-sql-mysql
 configure_switches += -plugin-sql-odbc
 configure_switches += -system-zlib
@@ -177,7 +182,7 @@ configure_switches += -system-xcb
 configure_switches += -xinput2
 configure_switches += -xcb-xlib
 configure_switches += -glib
-configure_switches += -no-pulseaudio
+configure_switches += -pulseaudio
 configure_switches += -alsa
 configure_switches += -gui
 configure_switches += -widgets
@@ -430,7 +435,7 @@ $(install_target): $(build_target)
 	 )
 	# ======= Change source directory to more 'normal' place =======
 	@( cd $(QT5_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/qt-$(version)/lib ; \
-	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/src/qt-$(version),g" \
+	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/lib$(MULTILIB_X86_32_SUFFIX)/qt-$(version),g" \
 	           libEnginio.prl              libQt5Bluetooth.prl           \
 	           libQt5Bootstrap.prl         libQt5CLucene.prl             \
 	           libQt5Concurrent.prl        libQt5Core.prl                \
diff --git a/X11/libs/qt5/5.4.2-x86_32/mkspecs-pkg/devices/linux-pc64-g++/qmake.conf.in b/X11/libs/qt5/5.4.2-x86_32/mkspecs-pkg/devices/linux-pc64-g++/qmake.conf.in
index 7516c10c5..8e48b81e8 100644
--- a/X11/libs/qt5/5.4.2-x86_32/mkspecs-pkg/devices/linux-pc64-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2-x86_32/mkspecs-pkg/devices/linux-pc64-g++/qmake.conf.in
@@ -17,32 +17,34 @@ load(device_config)
 
 
 # modifications to g++.conf
-QMAKE_CC                 = @TARGET_BINDIR@/gcc
-QMAKE_CXX                = @TARGET_BINDIR@/g++
-QMAKE_LINK               = @TARGET_BINDIR@/g++
-QMAKE_LINK_SHLIB         = @TARGET_BINDIR@/g++
+QMAKE_CC                = @TARGET_BINDIR@/gcc
+QMAKE_CXX               = @TARGET_BINDIR@/g++
+QMAKE_LINK              = @TARGET_BINDIR@/g++
+QMAKE_LINK_SHLIB        = @TARGET_BINDIR@/g++
+QMAKE_LINK_C            = @TARGET_BINDIR@/gcc
 
 # modifications to linux.conf
-QMAKE_AR                 = @TARGET_BINDIR@/ar cqs
-QMAKE_OBJCOPY            = @TARGET_BINDIR@/objcopy
-QMAKE_STRIP              = @TARGET_BINDIR@/strip
+QMAKE_AR                = @TARGET_BINDIR@/ar cqs
+QMAKE_OBJCOPY           = @TARGET_BINDIR@/objcopy
+QMAKE_STRIP             = @TARGET_BINDIR@/strip
 
 
-QMAKE_INCDIR             = @TARGET_PREFIX@/include
-QMAKE_INCDIR            += @TARGET_PREFIX@/include/gstreamer-1.0
-QMAKE_INCDIR            += @TARGET_PREFIX@/lib@LIBDIRSUFFIX@/glib-2.0/include
-QMAKE_LIBDIR             = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
+QMAKE_INCDIR            = @TARGET_PREFIX@/include
+QMAKE_INCDIR           += @TARGET_PREFIX@/include/gstreamer-1.0
+QMAKE_INCDIR           += @TARGET_PREFIX@/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += @TARGET_PREFIX@/include/botan-1.10
+QMAKE_LIBDIR            = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
 
-QMAKE_LIBS_EGL          += -lEGL
-QMAKE_LIBS_OPENGL_ES2   += -lGLESv2 -lEGL
-QMAKE_LIBS_OPENVG       += -lOpenVG -lEGL
+QMAKE_LIBS_EGL         += -lEGL
+QMAKE_LIBS_OPENGL_ES2  += -lGLESv2 -lEGL
+QMAKE_LIBS_OPENVG      += -lOpenVG -lEGL
 
-QMAKE_LFLAGS            += -Wl,-rpath-link,@TARGET_PREFIX@/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
+QMAKE_LFLAGS           += -Wl,-rpath-link,@TARGET_PREFIX@/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
 
-TARGET_HW_CFLAGS         = @ARCH_FLAGS@ -DLINUX=1
+TARGET_HW_CFLAGS        = @ARCH_FLAGS@ -DLINUX=1
 
-QMAKE_CFLAGS            += $$TARGET_HW_CFLAGS
-QMAKE_CXXFLAGS          += -std=c++11 $$TARGET_HW_CFLAGS -Wno-deprecated-declarations
+QMAKE_CFLAGS           += $$TARGET_HW_CFLAGS
+QMAKE_CXXFLAGS         += -std=c++11 $$TARGET_HW_CFLAGS -Wno-deprecated-declarations
 
 
 load(qt_config)
diff --git a/X11/libs/qt5/5.4.2-x86_32/mkspecs-pkg/linux-i386-gnu-g++/qmake.conf.in b/X11/libs/qt5/5.4.2-x86_32/mkspecs-pkg/linux-i386-gnu-g++/qmake.conf.in
index 20f5a055c..25ad0d102 100644
--- a/X11/libs/qt5/5.4.2-x86_32/mkspecs-pkg/linux-i386-gnu-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2-x86_32/mkspecs-pkg/linux-i386-gnu-g++/qmake.conf.in
@@ -15,29 +15,30 @@ include(../common/g++-unix.conf)
 
 
 # modifications to g++.conf
-QMAKE_CC                 = @TARGET_BINDIR@/gcc
-QMAKE_CXX                = @TARGET_BINDIR@/g++
-QMAKE_LINK               = @TARGET_BINDIR@/g++
-QMAKE_LINK_SHLIB         = @TARGET_BINDIR@/g++
+QMAKE_CC                = @TARGET_BINDIR@/gcc
+QMAKE_CXX               = @TARGET_BINDIR@/g++
+QMAKE_LINK              = @TARGET_BINDIR@/g++
+QMAKE_LINK_SHLIB        = @TARGET_BINDIR@/g++
+QMAKE_LINK_C            = @TARGET_BINDIR@/gcc
 
 # modifications to linux.conf
-QMAKE_AR                 = @TARGET_BINDIR@/ar cqs
-QMAKE_OBJCOPY            = @TARGET_BINDIR@/objcopy
-QMAKE_NM                 = @TARGET_BINDIR@/nm -P
-QMAKE_STRIP              = @TARGET_BINDIR@/strip
+QMAKE_AR                = @TARGET_BINDIR@/ar cqs
+QMAKE_OBJCOPY           = @TARGET_BINDIR@/objcopy
+QMAKE_NM                = @TARGET_BINDIR@/nm -P
+QMAKE_STRIP             = @TARGET_BINDIR@/strip
 
-QMAKE_INCDIR             = @TARGET_PREFIX@/include
-QMAKE_LIBDIR             = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
+QMAKE_INCDIR            = @TARGET_PREFIX@/include
+QMAKE_LIBDIR            = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
 
-QMAKE_LIBS_EGL          += -lEGL
-QMAKE_LIBS_OPENGL_ES2   += -lGLESv2
-QMAKE_LIBS_OPENVG       += -lOpenVG
+QMAKE_LIBS_EGL         += -lEGL
+QMAKE_LIBS_OPENGL_ES2  += -lGLESv2
+QMAKE_LIBS_OPENVG      += -lOpenVG
 
-QMAKE_LFLAGS            += -Wl,-rpath-link,@TARGET_PREFIX@/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
+QMAKE_LFLAGS           += -Wl,-rpath-link,@TARGET_PREFIX@/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
 
-TARGET_HW_CFLAGS         = @ARCH_FLAGS@ -DLINUX=1
+TARGET_HW_CFLAGS        = @ARCH_FLAGS@ -DLINUX=1
 
-QMAKE_CFLAGS            += $$TARGET_HW_CFLAGS
-QMAKE_CXXFLAGS          += $$TARGET_HW_CFLAGS
+QMAKE_CFLAGS           += $$TARGET_HW_CFLAGS
+QMAKE_CXXFLAGS         += $$TARGET_HW_CFLAGS
 
 load(qt_config)
diff --git a/X11/libs/qt5/5.4.2-x86_32/mkspecs/devices/linux-pc64-g++/qmake.conf.in b/X11/libs/qt5/5.4.2-x86_32/mkspecs/devices/linux-pc64-g++/qmake.conf.in
index 43bd9afd4..76b15615c 100644
--- a/X11/libs/qt5/5.4.2-x86_32/mkspecs/devices/linux-pc64-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2-x86_32/mkspecs/devices/linux-pc64-g++/qmake.conf.in
@@ -17,32 +17,34 @@ load(device_config)
 
 
 # modifications to g++.conf
-QMAKE_CC                 = $${CCACHE} $${CROSS_COMPILE}gcc
-QMAKE_CXX                = $${CCACHE} $${CROSS_COMPILE}g++
-QMAKE_LINK               = $${CROSS_COMPILE}g++
-QMAKE_LINK_SHLIB         = $${CROSS_COMPILE}g++
+QMAKE_CC                = $${CCACHE} $${CROSS_COMPILE}gcc
+QMAKE_CXX               = $${CCACHE} $${CROSS_COMPILE}g++
+QMAKE_LINK              = $${CROSS_COMPILE}g++
+QMAKE_LINK_SHLIB        = $${CROSS_COMPILE}g++
+QMAKE_LINK_C            = $${CROSS_COMPILE}gcc
 
 # modifications to linux.conf
-QMAKE_AR                 = $${CROSS_COMPILE}ar cqs
-QMAKE_OBJCOPY            = $${CROSS_COMPILE}objcopy
-QMAKE_STRIP              = $${CROSS_COMPILE}strip
+QMAKE_AR                = $${CROSS_COMPILE}ar cqs
+QMAKE_OBJCOPY           = $${CROSS_COMPILE}objcopy
+QMAKE_STRIP             = $${CROSS_COMPILE}strip
 
 
-QMAKE_INCDIR             = $$[QT_SYSROOT]/usr/include
-QMAKE_INCDIR            += $$[QT_SYSROOT]/usr/include/gstreamer-1.0
-QMAKE_INCDIR            += $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@/glib-2.0/include
-QMAKE_LIBDIR             = $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@
+QMAKE_INCDIR            = $$[QT_SYSROOT]/usr/include
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/gstreamer-1.0
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/botan-1.10
+QMAKE_LIBDIR            = $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@
 
-QMAKE_LIBS_EGL          += -lEGL
-QMAKE_LIBS_OPENGL_ES2   += -lGLESv2 -lEGL
-QMAKE_LIBS_OPENVG       += -lOpenVG -lEGL
+QMAKE_LIBS_EGL         += -lEGL
+QMAKE_LIBS_OPENGL_ES2  += -lGLESv2 -lEGL
+QMAKE_LIBS_OPENVG      += -lOpenVG -lEGL
 
-QMAKE_LFLAGS            += -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
+QMAKE_LFLAGS           += -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
 
-TARGET_HW_CFLAGS         = @ARCH_FLAGS@ @ARCH_DEFS@ @HW_FLAGS@ -DLINUX=1
+TARGET_HW_CFLAGS        = @ARCH_FLAGS@ @ARCH_DEFS@ @HW_FLAGS@ -DLINUX=1
 
-QMAKE_CFLAGS            += $$TARGET_HW_CFLAGS
-QMAKE_CXXFLAGS          += $$TARGET_HW_CFLAGS -Wno-deprecated-declarations
+QMAKE_CFLAGS           += $$TARGET_HW_CFLAGS
+QMAKE_CXXFLAGS         += $$TARGET_HW_CFLAGS -Wno-deprecated-declarations
 
 
 load(qt_config)
diff --git a/X11/libs/qt5/5.4.2-x86_32/mkspecs/linux-i386-gnu-g++/qmake.conf.in b/X11/libs/qt5/5.4.2-x86_32/mkspecs/linux-i386-gnu-g++/qmake.conf.in
index d6b59d151..30eb16dcd 100644
--- a/X11/libs/qt5/5.4.2-x86_32/mkspecs/linux-i386-gnu-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2-x86_32/mkspecs/linux-i386-gnu-g++/qmake.conf.in
@@ -15,30 +15,31 @@ include(../common/g++-unix.conf)
 
 
 # modifications to g++.conf
-QMAKE_CC                 = @CCACHE@ @CROSS_COMPILE@gcc --sysroot=@SYSROOT@
-QMAKE_CXX                = @CCACHE@ @CROSS_COMPILE@g++ --sysroot=@SYSROOT@
-QMAKE_LINK               = @CROSS_COMPILE@g++ --sysroot=@SYSROOT@
-QMAKE_LINK_SHLIB         = @CROSS_COMPILE@g++ --sysroot=@SYSROOT@
+QMAKE_CC                = @CCACHE@ @CROSS_COMPILE@gcc --sysroot=@SYSROOT@
+QMAKE_CXX               = @CCACHE@ @CROSS_COMPILE@g++ --sysroot=@SYSROOT@
+QMAKE_LINK              = @CROSS_COMPILE@g++ --sysroot=@SYSROOT@
+QMAKE_LINK_SHLIB        = @CROSS_COMPILE@g++ --sysroot=@SYSROOT@
+QMAKE_LINK_C            = @CROSS_COMPILE@gcc --sysroot=@SYSROOT@
 
 # modifications to linux.conf
-QMAKE_AR                 = @CROSS_COMPILE@ar cqs
-QMAKE_OBJCOPY            = @CROSS_COMPILE@objcopy
-QMAKE_NM                 = @CROSS_COMPILE@nm -P
-QMAKE_STRIP              = @CROSS_COMPILE@strip
+QMAKE_AR                = @CROSS_COMPILE@ar cqs
+QMAKE_OBJCOPY           = @CROSS_COMPILE@objcopy
+QMAKE_NM                = @CROSS_COMPILE@nm -P
+QMAKE_STRIP             = @CROSS_COMPILE@strip
 
-QMAKE_INCDIR             = @SYSROOT@/usr/include
-QMAKE_LIBDIR             = @SYSROOT@/usr/lib@LIBDIRSUFFIX@
+QMAKE_INCDIR            = @SYSROOT@/usr/include
+QMAKE_LIBDIR            = @SYSROOT@/usr/lib@LIBDIRSUFFIX@
 
-QMAKE_LIBS_EGL          += -lEGL
-QMAKE_LIBS_OPENGL_ES2   += -lGLESv2
-QMAKE_LIBS_OPENVG       += -lOpenVG
+QMAKE_LIBS_EGL         += -lEGL
+QMAKE_LIBS_OPENGL_ES2  += -lGLESv2
+QMAKE_LIBS_OPENVG      += -lOpenVG
 
-QMAKE_LFLAGS            += -Wl,-rpath-link,@SYSROOT@/usr/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
+QMAKE_LFLAGS           += -Wl,-rpath-link,@SYSROOT@/usr/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
 
-TARGET_HW_CFLAGS         = @ARCH_FLAGS@ @ARCH_DEFS@ @HW_FLAGS@ -DLINUX=1
+TARGET_HW_CFLAGS        = @ARCH_FLAGS@ @ARCH_DEFS@ @HW_FLAGS@ -DLINUX=1
 
-QMAKE_CFLAGS            += $$TARGET_HW_CFLAGS
-QMAKE_CXXFLAGS          += $$TARGET_HW_CFLAGS
+QMAKE_CFLAGS           += $$TARGET_HW_CFLAGS
+QMAKE_CXXFLAGS         += $$TARGET_HW_CFLAGS
 
 
 load(qt_config)
diff --git a/X11/libs/qt5/5.4.2/Makefile b/X11/libs/qt5/5.4.2/Makefile
index 814be3714..e1acd29ee 100644
--- a/X11/libs/qt5/5.4.2/Makefile
+++ b/X11/libs/qt5/5.4.2/Makefile
@@ -20,8 +20,12 @@ COMPONENT_IS_3PP   = true
 
 include ../../../../build-system/constants.mk
 
+BUILD_QT_CREATOR = yes
 
 SOURCE_REQUIRES    = sources/packages/x/qt5
+ifeq ($(BUILD_QT_CREATOR),yes)
+SOURCE_REQUIRES   += sources/packages/d/qt-creator
+endif
 
 ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
 REQUIRES           = dev/gcc/5.3.0
@@ -32,6 +36,7 @@ REQUIRES          += X11/libs/hicolor-icon-theme/0.15
 REQUIRES          += X11/app/xdg-utils/1.1.1
 
 REQUIRES          += libs/alsa-lib/1.1.1
+REQUIRES          += libs/pulseaudio/9.0
 REQUIRES          += X11/app/dbus-x11-launch/1.11.2
 
 REQUIRES          += libs/libmng/2.0.3
@@ -58,9 +63,12 @@ REQUIRES          += libs/gstreamer/1.8.2
 REQUIRES          += libs/gst-plugins-base/1.8.2
 
 REQUIRES          += app/sqlite/3.12.2.0
+REQUIRES          += app/postgresql/9.6.0
 REQUIRES          += app/mariadb/10.0.25
 REQUIRES          += libs/libiodbc/3.52.10
 
+REQUIRES          += libs/botan/1.10.13
+
 REQUIRES          += X11/libs/opengl-collection
 
 # ======= __END_OF_REQUIRES__ =======
@@ -70,6 +78,12 @@ version            = 5.4.2
 tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/x/qt5/qt-everywhere-opensource-src-$(version).tar.xz
 SRC_ARCHIVE        = $(tar_xz_archive)
 SRC_DIR            = $(TARGET_BUILD_DIR)/qt-everywhere-opensource-src-$(version)
+ifeq ($(BUILD_QT_CREATOR),yes)
+qtc_version        = 3.5.1
+qtc_gz_archive     = $(SRC_PACKAGE_PATH)/packages/d/qt-creator/qt-creator-opensource-src-$(qtc_version).tar.gz
+qtc_src_dir_name   = qt-creator-opensource-src-$(qtc_version)
+qtc_doc_dir_name   = qt5-creator-$(qtc_version)
+endif
 src_dir_name       = qt-everywhere-opensource-src-$(version)
 doc_dir_name       = qt5-$(version)
 src_done           = $(TARGET_BUILD_DIR)/.source_done
@@ -83,7 +97,9 @@ config_summary     = $(CURDIR)/$(SRC_DIR)/qtbase/config.summary
 
 
 PATCHES = PATCHES
-
+ifeq ($(BUILD_QT_CREATOR),yes)
+OPT_PATCHES = PATCHES.qtc-$(qtc_version)
+endif
 
 build_target       = $(TARGET_BUILD_DIR)/.build_done
 install_target     = $(TARGET_BUILD_DIR)/.install_done
@@ -216,6 +232,7 @@ endif
 configure_switches += -accessibility
 configure_switches += -system-sqlite
 configure_switches += -plugin-sql-sqlite
+configure_switches += -plugin-sql-psql
 configure_switches += -plugin-sql-mysql
 configure_switches += -plugin-sql-odbc
 configure_switches += -system-zlib
@@ -230,7 +247,7 @@ configure_switches += -system-xcb
 configure_switches += -xinput2
 configure_switches += -xcb-xlib
 configure_switches += -glib
-configure_switches += -no-pulseaudio
+configure_switches += -pulseaudio
 configure_switches += -alsa
 configure_switches += -gui
 configure_switches += -widgets
@@ -309,6 +326,14 @@ $(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
 	     sed 's,@ARCH_DEFS@,$(ARCH_DEFS),g'        | \
 	     sed 's,@HW_FLAGS@,$(HW_FLAGS),g'          > qmake.conf ; \
 	 )
+ifeq ($(BUILD_QT_CREATOR),yes)
+	@echo "Expanding $(qtc_gz_archive)"
+	@tar xzf $(qtc_gz_archive) -C $(SRC_DIR)
+	$(call apply-opt-patches, $(SRC_DIR)/$(qtc_src_dir_name))
+	@( cd $(SRC_DIR) ; \
+	   mv $(qtc_src_dir_name) qtcreator ; \
+	 )
+endif
 	@touch $@
 
 $(build_target): $(src_done)
@@ -321,10 +346,49 @@ ifneq ($(filter $(HARDWARE),$(HARDWARE_PC64)),)
 	 )
 endif
 	@cd $(SRC_DIR) && $(QT_BUILD_ENVIRONMENT) $(MAKE)
+ifeq ($(BUILD_QT_CREATOR),yes)
+	# ======= Build Qt Creator $(qtc_version) =======
+	@( cd $(SRC_DIR)/qtcreator ; \
+	   echo ""                     >> .qmake.conf ; \
+	   echo "USE_SYSTEM_BOTAN = 1" >> .qmake.conf ; \
+	   ../qtbase/bin/qmake -makefile \
+	                       -spec ../qtbase/mkspecs/devices/$(DEVICE_SPEC_DIR) \
+	                       -o Makefile qtcreator.pro ; \
+	   $(MAKE) ; \
+	   $(MAKE) -j1 html_docs ; \
+	 )
+endif
 	@touch $@
 
 $(install_target): $(build_target)
 	@mkdir -p $(QT5_PKG)
+ifeq ($(BUILD_QT_CREATOR),yes)
+	# ======= Install Qt Creator $(qtc_version) =======
+	@cd $(SRC_DIR)/qtcreator && $(MAKE) -j1 install INSTALL_ROOT=$(QT5_PKG)/usr
+	@( cd $(QT5_PKG)/usr/bin ; \
+	   mv qtcreator qtcreator-bin ; \
+	   echo "#!/bin/sh"                                  > qtcreator ; \
+	   echo ""                                          >> qtcreator ; \
+	   echo 'QT_LOGGING_TO_CONSOLE=1 qtcreator-bin $$@' >> qtcreator ; \
+	   chmod a+x qtcreator ; \
+	 )
+	@( cd $(QT5_PKG)/usr/share/icons/hicolor ; \
+	   for file in `find . -name "QtProject-qtcreator.png"` ; do \
+	     mv $$file `dirname $$file`/qt5-creator.png ; \
+	   done ; \
+	 )
+	@mkdir -p $(QT5_PKG)/usr/share/applications
+	@cp -a $(applications_dir)/qt5-creator.desktop $(QT5_PKG)/usr/share/applications/qt5-creator.desktop
+	# ======= Install Qt Creator $(qtc_version) Documentation =======
+	@mkdir -p $(QT5_PKG)/usr/doc/$(qtc_doc_dir_name)
+	@mkdir -p $(QT5_PKG)/usr/share/doc/$(qtc_doc_dir_name)
+	@( cd $(SRC_DIR)/qtcreator ; \
+	   cp -a LICENSE.LGPL* LGPL_EXCEPTION.TXT \
+	         $(QT5_PKG)/usr/doc/$(qtc_doc_dir_name) ; \
+	   cp -a LICENSE.LGPL* LGPL_EXCEPTION.TXT README.md doc/html \
+	         $(QT5_PKG)/usr/share/doc/$(qtc_doc_dir_name) ; \
+	 )
+endif
 	@cd $(SRC_DIR) && $(QT_BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
 	# ======= Rename build-machine tools =======
 	@( cd $(QT5_PKG)/usr/lib$(LIBSUFFIX)/qt-$(version)/bin ; \
@@ -545,7 +609,7 @@ $(install_target): $(build_target)
 	 )
 	# ======= Change source directory to more 'normal' place =======
 	@( cd $(QT5_PKG)/usr/lib$(LIBSUFFIX)/qt-$(version)/lib ; \
-	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/src/qt-$(version),g" \
+	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/lib$(LIBSUFFIX)/qt-$(version),g" \
 	           libEnginio.prl              libQt5Bluetooth.prl           \
 	           libQt5Bootstrap.prl         libQt5CLucene.prl             \
 	           libQt5Concurrent.prl        libQt5Core.prl                \
@@ -609,7 +673,16 @@ $(install_target): $(build_target)
 	     rm -f $(TARGET)-qt5-$${file} ; \
 	   done ; \
 	 )
+ifeq ($(BUILD_QT_CREATOR),yes)
+	@( cd $(QT5_PKG)/usr/bin ; \
+	   for file in lconvert lrelease lupdate moc qdbuscpp2xml qdbusxml2cpp  \
+	               qdoc qlalr qmake qmlimportscanner qmllint qmlmin rcc uic ; do \
+	     rm -f $(TARGET)-qt5-$${file} ; \
+	   done ; \
+	 )
+else
 	@rm -rf $(QT5_PKG)/usr/bin
+endif
 	# ======= tune libtool *.la search path to the target destination for development =======
 	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/qt-$(version)/lib ; \
 	   sed -i "s,/usr/lib,$(TARGET_DEST_DIR)/usr/lib,g" libEnginio.la              libQt5Bluetooth.la           \
diff --git a/X11/libs/qt5/5.4.2/PATCHES.qtc-3.5.1 b/X11/libs/qt5/5.4.2/PATCHES.qtc-3.5.1
new file mode 100644
index 000000000..f6823c2e0
--- /dev/null
+++ b/X11/libs/qt5/5.4.2/PATCHES.qtc-3.5.1
@@ -0,0 +1,10 @@
+
+../../../../sources/packages/d/qt-creator/patches/qt-creator-3.5.1-ext-tools.patch -p0
+../../../../sources/packages/d/qt-creator/patches/qt-creator-3.5.1-sdk-libs.patch  -p0
+../../../../sources/packages/d/qt-creator/patches/qt-creator-3.5.1-docs.patch      -p0
+
+#
+# USE_SYSTEM_BOTAN = 1 in the .qmake.conf file instead following patch
+#
+# ../../../../sources/packages/d/qt-creator/patches/qt-creator-3.5.1-system-botan.patch -p0
+#
diff --git a/X11/libs/qt5/5.4.2/applications/qt5-creator.desktop b/X11/libs/qt5/5.4.2/applications/qt5-creator.desktop
new file mode 100644
index 000000000..93c1a6f37
--- /dev/null
+++ b/X11/libs/qt5/5.4.2/applications/qt5-creator.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Type=Application
+Exec=qtcreator %F
+Name=Qt Creator
+GenericName=C++ IDE for developing Qt applications
+X-KDE-StartupNotify=true
+Icon=qt5-creator.png
+Terminal=false
+Categories=Development;IDE;Qt;
+MimeType=text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.nokia.qt.qmakeprofile;application/vnd.nokia.xml.qt.resource;
diff --git a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-bt1-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-bt1-g++/qmake.conf.in
index 1ae5776d2..76795a93d 100644
--- a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-bt1-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-bt1-g++/qmake.conf.in
@@ -14,34 +14,36 @@ load(device_config)
 
 
 # modifications to g++.conf
-QMAKE_CC                 = @TARGET_BINDIR@/gcc
-QMAKE_CXX                = @TARGET_BINDIR@/g++
-QMAKE_LINK               = @TARGET_BINDIR@/g++
-QMAKE_LINK_SHLIB         = @TARGET_BINDIR@/g++
+QMAKE_CC                = @TARGET_BINDIR@/gcc
+QMAKE_CXX               = @TARGET_BINDIR@/g++
+QMAKE_LINK              = @TARGET_BINDIR@/g++
+QMAKE_LINK_SHLIB        = @TARGET_BINDIR@/g++
+QMAKE_LINK_C            = @TARGET_BINDIR@/gcc
 
 # modifications to linux.conf
-QMAKE_AR                 = @TARGET_BINDIR@/ar cqs
-QMAKE_OBJCOPY            = @TARGET_BINDIR@/objcopy
-QMAKE_STRIP              = @TARGET_BINDIR@/strip
+QMAKE_AR                = @TARGET_BINDIR@/ar cqs
+QMAKE_OBJCOPY           = @TARGET_BINDIR@/objcopy
+QMAKE_STRIP             = @TARGET_BINDIR@/strip
 
 
-QMAKE_INCDIR             = @TARGET_PREFIX@/include
-QMAKE_INCDIR            += @TARGET_PREFIX@/include/gstreamer-1.0
-QMAKE_INCDIR            += @TARGET_PREFIX@/lib@LIBDIRSUFFIX@/glib-2.0/include
-QMAKE_LIBDIR             = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
+QMAKE_INCDIR            = @TARGET_PREFIX@/include
+QMAKE_INCDIR           += @TARGET_PREFIX@/include/gstreamer-1.0
+QMAKE_INCDIR           += @TARGET_PREFIX@/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += @TARGET_PREFIX@/include/botan-1.10
+QMAKE_LIBDIR            = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
 
 QMAKE_CFLAGS_OPTIMIZE_FULL = -O2
 
-QMAKE_LIBS_EGL          += -lEGL
-QMAKE_LIBS_OPENGL_ES2   += -lGLESv2 -lEGL
-QMAKE_LIBS_OPENVG       += -lOpenVG -lEGL
+QMAKE_LIBS_EGL         += -lEGL
+QMAKE_LIBS_OPENGL_ES2  += -lGLESv2 -lEGL
+QMAKE_LIBS_OPENVG      += -lOpenVG -lEGL
 
-QMAKE_LFLAGS            += -Wl,-rpath-link,@TARGET_PREFIX@/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
+QMAKE_LFLAGS           += -Wl,-rpath-link,@TARGET_PREFIX@/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
 
-TARGET_HW_CFLAGS         = @ARCH_FLAGS@ -DLINUX=1
+TARGET_HW_CFLAGS        = @ARCH_FLAGS@ -DLINUX=1
 
-QMAKE_CFLAGS            += $$TARGET_HW_CFLAGS
-QMAKE_CXXFLAGS          += -std=c++11 $$TARGET_HW_CFLAGS -Wno-deprecated-declarations
+QMAKE_CFLAGS           += $$TARGET_HW_CFLAGS
+QMAKE_CXXFLAGS         += -std=c++11 $$TARGET_HW_CFLAGS -Wno-deprecated-declarations
 
 
 load(qt_config)
diff --git a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-cb1x-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-cb1x-g++/qmake.conf.in
index 9459f27f3..96cf1e718 100644
--- a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-cb1x-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-cb1x-g++/qmake.conf.in
@@ -10,6 +10,7 @@ QMAKE_CC                = @TARGET_BINDIR@/gcc
 QMAKE_CXX               = @TARGET_BINDIR@/g++
 QMAKE_LINK              = @TARGET_BINDIR@/g++
 QMAKE_LINK_SHLIB        = @TARGET_BINDIR@/g++
+QMAKE_LINK_C            = @TARGET_BINDIR@/gcc
 
 # modifications to linux.conf
 QMAKE_AR                = @TARGET_BINDIR@/ar cqs
@@ -20,6 +21,7 @@ QMAKE_STRIP             = @TARGET_BINDIR@/strip
 QMAKE_INCDIR            = @TARGET_PREFIX@/include
 QMAKE_INCDIR           += @TARGET_PREFIX@/include/gstreamer-1.0
 QMAKE_INCDIR           += @TARGET_PREFIX@/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += @TARGET_PREFIX@/include/botan-1.10
 QMAKE_LIBDIR            = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
 
 QMAKE_LIBS_EGL         += -lEGL
diff --git a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-cb2x-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-cb2x-g++/qmake.conf.in
index 9459f27f3..96cf1e718 100644
--- a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-cb2x-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-cb2x-g++/qmake.conf.in
@@ -10,6 +10,7 @@ QMAKE_CC                = @TARGET_BINDIR@/gcc
 QMAKE_CXX               = @TARGET_BINDIR@/g++
 QMAKE_LINK              = @TARGET_BINDIR@/g++
 QMAKE_LINK_SHLIB        = @TARGET_BINDIR@/g++
+QMAKE_LINK_C            = @TARGET_BINDIR@/gcc
 
 # modifications to linux.conf
 QMAKE_AR                = @TARGET_BINDIR@/ar cqs
@@ -20,6 +21,7 @@ QMAKE_STRIP             = @TARGET_BINDIR@/strip
 QMAKE_INCDIR            = @TARGET_PREFIX@/include
 QMAKE_INCDIR           += @TARGET_PREFIX@/include/gstreamer-1.0
 QMAKE_INCDIR           += @TARGET_PREFIX@/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += @TARGET_PREFIX@/include/botan-1.10
 QMAKE_LIBDIR            = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
 
 QMAKE_LIBS_EGL         += -lEGL
diff --git a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-cb3x-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-cb3x-g++/qmake.conf.in
index 9459f27f3..96cf1e718 100644
--- a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-cb3x-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-cb3x-g++/qmake.conf.in
@@ -10,6 +10,7 @@ QMAKE_CC                = @TARGET_BINDIR@/gcc
 QMAKE_CXX               = @TARGET_BINDIR@/g++
 QMAKE_LINK              = @TARGET_BINDIR@/g++
 QMAKE_LINK_SHLIB        = @TARGET_BINDIR@/g++
+QMAKE_LINK_C            = @TARGET_BINDIR@/gcc
 
 # modifications to linux.conf
 QMAKE_AR                = @TARGET_BINDIR@/ar cqs
@@ -20,6 +21,7 @@ QMAKE_STRIP             = @TARGET_BINDIR@/strip
 QMAKE_INCDIR            = @TARGET_PREFIX@/include
 QMAKE_INCDIR           += @TARGET_PREFIX@/include/gstreamer-1.0
 QMAKE_INCDIR           += @TARGET_PREFIX@/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += @TARGET_PREFIX@/include/botan-1.10
 QMAKE_LIBDIR            = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
 
 QMAKE_LIBS_EGL         += -lEGL
diff --git a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-ci20-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-ci20-g++/qmake.conf.in
index aae4af31d..ae06e8d7b 100644
--- a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-ci20-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-ci20-g++/qmake.conf.in
@@ -14,34 +14,36 @@ load(device_config)
 
 
 # modifications to g++.conf
-QMAKE_CC                 = @TARGET_BINDIR@/gcc
-QMAKE_CXX                = @TARGET_BINDIR@/g++
-QMAKE_LINK               = @TARGET_BINDIR@/g++
-QMAKE_LINK_SHLIB         = @TARGET_BINDIR@/g++
+QMAKE_CC                = @TARGET_BINDIR@/gcc
+QMAKE_CXX               = @TARGET_BINDIR@/g++
+QMAKE_LINK              = @TARGET_BINDIR@/g++
+QMAKE_LINK_SHLIB        = @TARGET_BINDIR@/g++
+QMAKE_LINK_C            = @TARGET_BINDIR@/gcc
 
 # modifications to linux.conf
-QMAKE_AR                 = @TARGET_BINDIR@/ar cqs
-QMAKE_OBJCOPY            = @TARGET_BINDIR@/objcopy
-QMAKE_STRIP              = @TARGET_BINDIR@/strip
+QMAKE_AR                = @TARGET_BINDIR@/ar cqs
+QMAKE_OBJCOPY           = @TARGET_BINDIR@/objcopy
+QMAKE_STRIP             = @TARGET_BINDIR@/strip
 
 
-QMAKE_INCDIR             = @TARGET_PREFIX@/include
-QMAKE_INCDIR            += @TARGET_PREFIX@/include/gstreamer-1.0
-QMAKE_INCDIR            += @TARGET_PREFIX@/lib@LIBDIRSUFFIX@/glib-2.0/include
-QMAKE_LIBDIR             = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
+QMAKE_INCDIR            = @TARGET_PREFIX@/include
+QMAKE_INCDIR           += @TARGET_PREFIX@/include/gstreamer-1.0
+QMAKE_INCDIR           += @TARGET_PREFIX@/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += @TARGET_PREFIX@/include/botan-1.10
+QMAKE_LIBDIR            = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
 
 QMAKE_CFLAGS_OPTIMIZE_FULL = -O2
 
-QMAKE_LIBS_EGL          += -lEGL
-QMAKE_LIBS_OPENGL_ES2   += -lGLESv2 -lEGL
-QMAKE_LIBS_OPENVG       += -lOpenVG -lEGL
+QMAKE_LIBS_EGL         += -lEGL
+QMAKE_LIBS_OPENGL_ES2  += -lGLESv2 -lEGL
+QMAKE_LIBS_OPENVG      += -lOpenVG -lEGL
 
-QMAKE_LFLAGS            += -Wl,-rpath-link,@TARGET_PREFIX@/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
+QMAKE_LFLAGS           += -Wl,-rpath-link,@TARGET_PREFIX@/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
 
-TARGET_HW_CFLAGS         = @ARCH_FLAGS@ -DLINUX=1
+TARGET_HW_CFLAGS        = @ARCH_FLAGS@ -DLINUX=1
 
-QMAKE_CFLAGS            += $$TARGET_HW_CFLAGS
-QMAKE_CXXFLAGS          += -std=c++11 $$TARGET_HW_CFLAGS -Wno-deprecated-declarations
+QMAKE_CFLAGS           += $$TARGET_HW_CFLAGS
+QMAKE_CXXFLAGS         += -std=c++11 $$TARGET_HW_CFLAGS -Wno-deprecated-declarations
 
 
 load(qt_config)
diff --git a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-dra7xxevm-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-dra7xxevm-g++/qmake.conf.in
index ffc8726fa..52dbcd8f1 100644
--- a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-dra7xxevm-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-dra7xxevm-g++/qmake.conf.in
@@ -10,6 +10,7 @@ QMAKE_CC                = @TARGET_BINDIR@/gcc
 QMAKE_CXX               = @TARGET_BINDIR@/g++
 QMAKE_LINK              = @TARGET_BINDIR@/g++
 QMAKE_LINK_SHLIB        = @TARGET_BINDIR@/g++
+QMAKE_LINK_C            = @TARGET_BINDIR@/gcc
 
 # modifications to linux.conf
 QMAKE_AR                = @TARGET_BINDIR@/ar cqs
@@ -20,6 +21,7 @@ QMAKE_STRIP             = @TARGET_BINDIR@/strip
 QMAKE_INCDIR            = @TARGET_PREFIX@/include
 QMAKE_INCDIR           += @TARGET_PREFIX@/include/gstreamer-1.0
 QMAKE_INCDIR           += @TARGET_PREFIX@/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += @TARGET_PREFIX@/include/botan-1.10
 QMAKE_LIBDIR            = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
 
 QMAKE_LIBS_EGL         += -lEGL
diff --git a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-ffrk3288-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-ffrk3288-g++/qmake.conf.in
index c0227158f..0e2eaef09 100644
--- a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-ffrk3288-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-ffrk3288-g++/qmake.conf.in
@@ -10,6 +10,7 @@ QMAKE_CC                = @TARGET_BINDIR@/gcc
 QMAKE_CXX               = @TARGET_BINDIR@/g++
 QMAKE_LINK              = @TARGET_BINDIR@/g++
 QMAKE_LINK_SHLIB        = @TARGET_BINDIR@/g++
+QMAKE_LINK_C            = @TARGET_BINDIR@/gcc
 
 # modifications to linux.conf
 QMAKE_AR                = @TARGET_BINDIR@/ar cqs
@@ -20,6 +21,7 @@ QMAKE_STRIP             = @TARGET_BINDIR@/strip
 QMAKE_INCDIR            = @TARGET_PREFIX@/include
 QMAKE_INCDIR           += @TARGET_PREFIX@/include/gstreamer-1.0
 QMAKE_INCDIR           += @TARGET_PREFIX@/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += @TARGET_PREFIX@/include/botan-1.10
 QMAKE_LIBDIR            = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
 
 QMAKE_LIBS_EGL         += -lEGL
diff --git a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-m201-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-m201-g++/qmake.conf.in
index 8872f5692..5a3feb821 100644
--- a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-m201-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-m201-g++/qmake.conf.in
@@ -10,6 +10,7 @@ QMAKE_CC                = @TARGET_BINDIR@/gcc
 QMAKE_CXX               = @TARGET_BINDIR@/g++
 QMAKE_LINK              = @TARGET_BINDIR@/g++
 QMAKE_LINK_SHLIB        = @TARGET_BINDIR@/g++
+QMAKE_LINK_C            = @TARGET_BINDIR@/gcc
 
 # modifications to linux.conf
 QMAKE_AR                = @TARGET_BINDIR@/ar cqs
@@ -20,6 +21,7 @@ QMAKE_STRIP             = @TARGET_BINDIR@/strip
 QMAKE_INCDIR            = @TARGET_PREFIX@/include
 QMAKE_INCDIR           += @TARGET_PREFIX@/include/gstreamer-1.0
 QMAKE_INCDIR           += @TARGET_PREFIX@/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += @TARGET_PREFIX@/include/botan-1.10
 QMAKE_LIBDIR            = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
 
 QMAKE_LIBS_EGL         += -lEGL
diff --git a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-mxq-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-mxq-g++/qmake.conf.in
index 8872f5692..5a3feb821 100644
--- a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-mxq-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-mxq-g++/qmake.conf.in
@@ -10,6 +10,7 @@ QMAKE_CC                = @TARGET_BINDIR@/gcc
 QMAKE_CXX               = @TARGET_BINDIR@/g++
 QMAKE_LINK              = @TARGET_BINDIR@/g++
 QMAKE_LINK_SHLIB        = @TARGET_BINDIR@/g++
+QMAKE_LINK_C            = @TARGET_BINDIR@/gcc
 
 # modifications to linux.conf
 QMAKE_AR                = @TARGET_BINDIR@/ar cqs
@@ -20,6 +21,7 @@ QMAKE_STRIP             = @TARGET_BINDIR@/strip
 QMAKE_INCDIR            = @TARGET_PREFIX@/include
 QMAKE_INCDIR           += @TARGET_PREFIX@/include/gstreamer-1.0
 QMAKE_INCDIR           += @TARGET_PREFIX@/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += @TARGET_PREFIX@/include/botan-1.10
 QMAKE_LIBDIR            = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
 
 QMAKE_LIBS_EGL         += -lEGL
diff --git a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-nit6q-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-nit6q-g++/qmake.conf.in
index aac35eeac..e6cd31a0b 100644
--- a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-nit6q-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-nit6q-g++/qmake.conf.in
@@ -10,6 +10,7 @@ QMAKE_CC                = @TARGET_BINDIR@/gcc
 QMAKE_CXX               = @TARGET_BINDIR@/g++
 QMAKE_LINK              = @TARGET_BINDIR@/g++
 QMAKE_LINK_SHLIB        = @TARGET_BINDIR@/g++
+QMAKE_LINK_C            = @TARGET_BINDIR@/gcc
 
 # modifications to linux.conf
 QMAKE_AR                = @TARGET_BINDIR@/ar cqs
@@ -20,6 +21,7 @@ QMAKE_STRIP             = @TARGET_BINDIR@/strip
 QMAKE_INCDIR            = @TARGET_PREFIX@/include
 QMAKE_INCDIR           += @TARGET_PREFIX@/include/gstreamer-1.0
 QMAKE_INCDIR           += @TARGET_PREFIX@/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += @TARGET_PREFIX@/include/botan-1.10
 QMAKE_LIBDIR            = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
 
 QMAKE_LIBS_EGL         += -lEGL
diff --git a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-omap5uevm-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-omap5uevm-g++/qmake.conf.in
index ffc8726fa..52dbcd8f1 100644
--- a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-omap5uevm-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-omap5uevm-g++/qmake.conf.in
@@ -10,6 +10,7 @@ QMAKE_CC                = @TARGET_BINDIR@/gcc
 QMAKE_CXX               = @TARGET_BINDIR@/g++
 QMAKE_LINK              = @TARGET_BINDIR@/g++
 QMAKE_LINK_SHLIB        = @TARGET_BINDIR@/g++
+QMAKE_LINK_C            = @TARGET_BINDIR@/gcc
 
 # modifications to linux.conf
 QMAKE_AR                = @TARGET_BINDIR@/ar cqs
@@ -20,6 +21,7 @@ QMAKE_STRIP             = @TARGET_BINDIR@/strip
 QMAKE_INCDIR            = @TARGET_PREFIX@/include
 QMAKE_INCDIR           += @TARGET_PREFIX@/include/gstreamer-1.0
 QMAKE_INCDIR           += @TARGET_PREFIX@/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += @TARGET_PREFIX@/include/botan-1.10
 QMAKE_LIBDIR            = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
 
 QMAKE_LIBS_EGL         += -lEGL
diff --git a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-pc32-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-pc32-g++/qmake.conf.in
index 7516c10c5..8e48b81e8 100644
--- a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-pc32-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-pc32-g++/qmake.conf.in
@@ -17,32 +17,34 @@ load(device_config)
 
 
 # modifications to g++.conf
-QMAKE_CC                 = @TARGET_BINDIR@/gcc
-QMAKE_CXX                = @TARGET_BINDIR@/g++
-QMAKE_LINK               = @TARGET_BINDIR@/g++
-QMAKE_LINK_SHLIB         = @TARGET_BINDIR@/g++
+QMAKE_CC                = @TARGET_BINDIR@/gcc
+QMAKE_CXX               = @TARGET_BINDIR@/g++
+QMAKE_LINK              = @TARGET_BINDIR@/g++
+QMAKE_LINK_SHLIB        = @TARGET_BINDIR@/g++
+QMAKE_LINK_C            = @TARGET_BINDIR@/gcc
 
 # modifications to linux.conf
-QMAKE_AR                 = @TARGET_BINDIR@/ar cqs
-QMAKE_OBJCOPY            = @TARGET_BINDIR@/objcopy
-QMAKE_STRIP              = @TARGET_BINDIR@/strip
+QMAKE_AR                = @TARGET_BINDIR@/ar cqs
+QMAKE_OBJCOPY           = @TARGET_BINDIR@/objcopy
+QMAKE_STRIP             = @TARGET_BINDIR@/strip
 
 
-QMAKE_INCDIR             = @TARGET_PREFIX@/include
-QMAKE_INCDIR            += @TARGET_PREFIX@/include/gstreamer-1.0
-QMAKE_INCDIR            += @TARGET_PREFIX@/lib@LIBDIRSUFFIX@/glib-2.0/include
-QMAKE_LIBDIR             = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
+QMAKE_INCDIR            = @TARGET_PREFIX@/include
+QMAKE_INCDIR           += @TARGET_PREFIX@/include/gstreamer-1.0
+QMAKE_INCDIR           += @TARGET_PREFIX@/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += @TARGET_PREFIX@/include/botan-1.10
+QMAKE_LIBDIR            = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
 
-QMAKE_LIBS_EGL          += -lEGL
-QMAKE_LIBS_OPENGL_ES2   += -lGLESv2 -lEGL
-QMAKE_LIBS_OPENVG       += -lOpenVG -lEGL
+QMAKE_LIBS_EGL         += -lEGL
+QMAKE_LIBS_OPENGL_ES2  += -lGLESv2 -lEGL
+QMAKE_LIBS_OPENVG      += -lOpenVG -lEGL
 
-QMAKE_LFLAGS            += -Wl,-rpath-link,@TARGET_PREFIX@/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
+QMAKE_LFLAGS           += -Wl,-rpath-link,@TARGET_PREFIX@/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
 
-TARGET_HW_CFLAGS         = @ARCH_FLAGS@ -DLINUX=1
+TARGET_HW_CFLAGS        = @ARCH_FLAGS@ -DLINUX=1
 
-QMAKE_CFLAGS            += $$TARGET_HW_CFLAGS
-QMAKE_CXXFLAGS          += -std=c++11 $$TARGET_HW_CFLAGS -Wno-deprecated-declarations
+QMAKE_CFLAGS           += $$TARGET_HW_CFLAGS
+QMAKE_CXXFLAGS         += -std=c++11 $$TARGET_HW_CFLAGS -Wno-deprecated-declarations
 
 
 load(qt_config)
diff --git a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-pc64-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-pc64-g++/qmake.conf.in
index 6b0d17821..e0cde12d1 100644
--- a/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-pc64-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs-pkg/devices/linux-pc64-g++/qmake.conf.in
@@ -17,32 +17,34 @@ load(device_config)
 
 
 # modifications to g++.conf
-QMAKE_CC                 = @TARGET_BINDIR@/gcc
-QMAKE_CXX                = @TARGET_BINDIR@/g++
-QMAKE_LINK               = @TARGET_BINDIR@/g++
-QMAKE_LINK_SHLIB         = @TARGET_BINDIR@/g++
+QMAKE_CC                = @TARGET_BINDIR@/gcc
+QMAKE_CXX               = @TARGET_BINDIR@/g++
+QMAKE_LINK              = @TARGET_BINDIR@/g++
+QMAKE_LINK_SHLIB        = @TARGET_BINDIR@/g++
+QMAKE_LINK_C            = @TARGET_BINDIR@/gcc
 
 # modifications to linux.conf
-QMAKE_AR                 = @TARGET_BINDIR@/ar cqs
-QMAKE_OBJCOPY            = @TARGET_BINDIR@/objcopy
-QMAKE_STRIP              = @TARGET_BINDIR@/strip
+QMAKE_AR                = @TARGET_BINDIR@/ar cqs
+QMAKE_OBJCOPY           = @TARGET_BINDIR@/objcopy
+QMAKE_STRIP             = @TARGET_BINDIR@/strip
 
 
-QMAKE_INCDIR             = @TARGET_PREFIX@/include
-QMAKE_INCDIR            += @TARGET_PREFIX@/include/gstreamer-1.0
-QMAKE_INCDIR            += @TARGET_PREFIX@/lib@LIBDIRSUFFIX@/glib-2.0/include
-QMAKE_LIBDIR             = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
+QMAKE_INCDIR            = @TARGET_PREFIX@/include
+QMAKE_INCDIR           += @TARGET_PREFIX@/include/gstreamer-1.0
+QMAKE_INCDIR           += @TARGET_PREFIX@/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += @TARGET_PREFIX@/include/botan-1.10
+QMAKE_LIBDIR            = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
 
-QMAKE_LIBS_EGL          += -lEGL
-QMAKE_LIBS_OPENGL_ES2   += -lGLESv2 -lEGL
-QMAKE_LIBS_OPENVG       += -lOpenVG -lEGL
+QMAKE_LIBS_EGL         += -lEGL
+QMAKE_LIBS_OPENGL_ES2  += -lGLESv2 -lEGL
+QMAKE_LIBS_OPENVG      += -lOpenVG -lEGL
 
-QMAKE_LFLAGS            += -Wl,-rpath-link,@TARGET_PREFIX@/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
+QMAKE_LFLAGS           += -Wl,-rpath-link,@TARGET_PREFIX@/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
 
-TARGET_HW_CFLAGS         = @ARCH_FLAGS@ -DLINUX=1
+TARGET_HW_CFLAGS        = @ARCH_FLAGS@ -DLINUX=1
 
-QMAKE_CFLAGS            += $$TARGET_HW_CFLAGS
-QMAKE_CXXFLAGS          += -std=c++11 $$TARGET_HW_CFLAGS -Wno-deprecated-declarations
+QMAKE_CFLAGS           += $$TARGET_HW_CFLAGS
+QMAKE_CXXFLAGS         += -std=c++11 $$TARGET_HW_CFLAGS -Wno-deprecated-declarations
 
 
 load(qt_config)
diff --git a/X11/libs/qt5/5.4.2/mkspecs-pkg/linux-arm-gnueabi-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs-pkg/linux-arm-gnueabi-g++/qmake.conf.in
index 5a4277680..02ef9ef23 100644
--- a/X11/libs/qt5/5.4.2/mkspecs-pkg/linux-arm-gnueabi-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs-pkg/linux-arm-gnueabi-g++/qmake.conf.in
@@ -12,29 +12,30 @@ include(../common/g++-unix.conf)
 
 
 # modifications to g++.conf
-QMAKE_CC                 = @TARGET_BINDIR@/gcc
-QMAKE_CXX                = @TARGET_BINDIR@/g++
-QMAKE_LINK               = @TARGET_BINDIR@/g++
-QMAKE_LINK_SHLIB         = @TARGET_BINDIR@/g++
+QMAKE_CC                = @TARGET_BINDIR@/gcc
+QMAKE_CXX               = @TARGET_BINDIR@/g++
+QMAKE_LINK              = @TARGET_BINDIR@/g++
+QMAKE_LINK_SHLIB        = @TARGET_BINDIR@/g++
+QMAKE_LINK_C            = @TARGET_BINDIR@/gcc
 
 # modifications to linux.conf
-QMAKE_AR                 = @TARGET_BINDIR@/ar cqs
-QMAKE_OBJCOPY            = @TARGET_BINDIR@/objcopy
-QMAKE_NM                 = @TARGET_BINDIR@/nm -P
-QMAKE_STRIP              = @TARGET_BINDIR@/strip
+QMAKE_AR                = @TARGET_BINDIR@/ar cqs
+QMAKE_OBJCOPY           = @TARGET_BINDIR@/objcopy
+QMAKE_NM                = @TARGET_BINDIR@/nm -P
+QMAKE_STRIP             = @TARGET_BINDIR@/strip
 
-QMAKE_INCDIR             = @TARGET_PREFIX@/include
-QMAKE_LIBDIR             = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
+QMAKE_INCDIR            = @TARGET_PREFIX@/include
+QMAKE_LIBDIR            = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
 
-QMAKE_LIBS_EGL          += -lEGL
-QMAKE_LIBS_OPENGL_ES2   += -lGLESv2
-QMAKE_LIBS_OPENVG       += -lOpenVG
+QMAKE_LIBS_EGL         += -lEGL
+QMAKE_LIBS_OPENGL_ES2  += -lGLESv2
+QMAKE_LIBS_OPENVG      += -lOpenVG
 
-QMAKE_LFLAGS            += -Wl,-rpath-link,@TARGET_PREFIX@/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
+QMAKE_LFLAGS           += -Wl,-rpath-link,@TARGET_PREFIX@/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
 
-TARGET_HW_CFLAGS         = @ARCH_FLAGS@ -DLINUX=1
+TARGET_HW_CFLAGS        = @ARCH_FLAGS@ -DLINUX=1
 
-QMAKE_CFLAGS            += $$TARGET_HW_CFLAGS
-QMAKE_CXXFLAGS          += $$TARGET_HW_CFLAGS
+QMAKE_CFLAGS           += $$TARGET_HW_CFLAGS
+QMAKE_CXXFLAGS         += $$TARGET_HW_CFLAGS
 
 load(qt_config)
diff --git a/X11/libs/qt5/5.4.2/mkspecs-pkg/linux-arm-gnueabihf-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs-pkg/linux-arm-gnueabihf-g++/qmake.conf.in
index 7a4f62516..01a7dc398 100644
--- a/X11/libs/qt5/5.4.2/mkspecs-pkg/linux-arm-gnueabihf-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs-pkg/linux-arm-gnueabihf-g++/qmake.conf.in
@@ -12,31 +12,32 @@ include(../common/g++-unix.conf)
 
 
 # modifications to g++.conf
-QMAKE_CC                 = @TARGET_BINDIR@/gcc
-QMAKE_CXX                = @TARGET_BINDIR@/g++
-QMAKE_LINK               = @TARGET_BINDIR@/g++
-QMAKE_LINK_SHLIB         = @TARGET_BINDIR@/g++
+QMAKE_CC                = @TARGET_BINDIR@/gcc
+QMAKE_CXX               = @TARGET_BINDIR@/g++
+QMAKE_LINK              = @TARGET_BINDIR@/g++
+QMAKE_LINK_SHLIB        = @TARGET_BINDIR@/g++
+QMAKE_LINK_C            = @TARGET_BINDIR@/gcc
 
 # modifications to linux.conf
-QMAKE_AR                 = @TARGET_BINDIR@/ar cqs
-QMAKE_OBJCOPY            = @TARGET_BINDIR@/objcopy
-QMAKE_NM                 = @TARGET_BINDIR@/nm -P
-QMAKE_STRIP              = @TARGET_BINDIR@/strip
+QMAKE_AR                = @TARGET_BINDIR@/ar cqs
+QMAKE_OBJCOPY           = @TARGET_BINDIR@/objcopy
+QMAKE_NM                = @TARGET_BINDIR@/nm -P
+QMAKE_STRIP             = @TARGET_BINDIR@/strip
 
-QMAKE_INCDIR             = @TARGET_PREFIX@/include
-QMAKE_LIBDIR             = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
+QMAKE_INCDIR            = @TARGET_PREFIX@/include
+QMAKE_LIBDIR            = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
 
-QMAKE_LIBS_EGL          += -lEGL
-QMAKE_LIBS_OPENGL_ES2   += -lGLESv2
-QMAKE_LIBS_OPENVG       += -lOpenVG
+QMAKE_LIBS_EGL         += -lEGL
+QMAKE_LIBS_OPENGL_ES2  += -lGLESv2
+QMAKE_LIBS_OPENVG      += -lOpenVG
 
-QMAKE_LFLAGS            += -Wl,-rpath-link,@TARGET_PREFIX@/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
+QMAKE_LFLAGS           += -Wl,-rpath-link,@TARGET_PREFIX@/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
 
-DISTRO_OPTS             += hard-float
+DISTRO_OPTS            += hard-float
 
-TARGET_HW_CFLAGS         = @ARCH_FLAGS@ -DLINUX=1
+TARGET_HW_CFLAGS        = @ARCH_FLAGS@ -DLINUX=1
 
-QMAKE_CFLAGS            += $$TARGET_HW_CFLAGS
-QMAKE_CXXFLAGS          += $$TARGET_HW_CFLAGS
+QMAKE_CFLAGS           += $$TARGET_HW_CFLAGS
+QMAKE_CXXFLAGS         += $$TARGET_HW_CFLAGS
 
 load(qt_config)
diff --git a/X11/libs/qt5/5.4.2/mkspecs-pkg/linux-i386-gnu-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs-pkg/linux-i386-gnu-g++/qmake.conf.in
index 20f5a055c..25ad0d102 100644
--- a/X11/libs/qt5/5.4.2/mkspecs-pkg/linux-i386-gnu-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs-pkg/linux-i386-gnu-g++/qmake.conf.in
@@ -15,29 +15,30 @@ include(../common/g++-unix.conf)
 
 
 # modifications to g++.conf
-QMAKE_CC                 = @TARGET_BINDIR@/gcc
-QMAKE_CXX                = @TARGET_BINDIR@/g++
-QMAKE_LINK               = @TARGET_BINDIR@/g++
-QMAKE_LINK_SHLIB         = @TARGET_BINDIR@/g++
+QMAKE_CC                = @TARGET_BINDIR@/gcc
+QMAKE_CXX               = @TARGET_BINDIR@/g++
+QMAKE_LINK              = @TARGET_BINDIR@/g++
+QMAKE_LINK_SHLIB        = @TARGET_BINDIR@/g++
+QMAKE_LINK_C            = @TARGET_BINDIR@/gcc
 
 # modifications to linux.conf
-QMAKE_AR                 = @TARGET_BINDIR@/ar cqs
-QMAKE_OBJCOPY            = @TARGET_BINDIR@/objcopy
-QMAKE_NM                 = @TARGET_BINDIR@/nm -P
-QMAKE_STRIP              = @TARGET_BINDIR@/strip
+QMAKE_AR                = @TARGET_BINDIR@/ar cqs
+QMAKE_OBJCOPY           = @TARGET_BINDIR@/objcopy
+QMAKE_NM                = @TARGET_BINDIR@/nm -P
+QMAKE_STRIP             = @TARGET_BINDIR@/strip
 
-QMAKE_INCDIR             = @TARGET_PREFIX@/include
-QMAKE_LIBDIR             = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
+QMAKE_INCDIR            = @TARGET_PREFIX@/include
+QMAKE_LIBDIR            = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
 
-QMAKE_LIBS_EGL          += -lEGL
-QMAKE_LIBS_OPENGL_ES2   += -lGLESv2
-QMAKE_LIBS_OPENVG       += -lOpenVG
+QMAKE_LIBS_EGL         += -lEGL
+QMAKE_LIBS_OPENGL_ES2  += -lGLESv2
+QMAKE_LIBS_OPENVG      += -lOpenVG
 
-QMAKE_LFLAGS            += -Wl,-rpath-link,@TARGET_PREFIX@/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
+QMAKE_LFLAGS           += -Wl,-rpath-link,@TARGET_PREFIX@/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
 
-TARGET_HW_CFLAGS         = @ARCH_FLAGS@ -DLINUX=1
+TARGET_HW_CFLAGS        = @ARCH_FLAGS@ -DLINUX=1
 
-QMAKE_CFLAGS            += $$TARGET_HW_CFLAGS
-QMAKE_CXXFLAGS          += $$TARGET_HW_CFLAGS
+QMAKE_CFLAGS           += $$TARGET_HW_CFLAGS
+QMAKE_CXXFLAGS         += $$TARGET_HW_CFLAGS
 
 load(qt_config)
diff --git a/X11/libs/qt5/5.4.2/mkspecs-pkg/linux-mips-gnu-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs-pkg/linux-mips-gnu-g++/qmake.conf.in
index c0e5ee73a..aaa4612b5 100644
--- a/X11/libs/qt5/5.4.2/mkspecs-pkg/linux-mips-gnu-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs-pkg/linux-mips-gnu-g++/qmake.conf.in
@@ -12,31 +12,32 @@ include(../common/g++-unix.conf)
 
 
 # modifications to g++.conf
-QMAKE_CC                 = @TARGET_BINDIR@/gcc
-QMAKE_CXX                = @TARGET_BINDIR@/g++
-QMAKE_LINK               = @TARGET_BINDIR@/g++
-QMAKE_LINK_SHLIB         = @TARGET_BINDIR@/g++
+QMAKE_CC                = @TARGET_BINDIR@/gcc
+QMAKE_CXX               = @TARGET_BINDIR@/g++
+QMAKE_LINK              = @TARGET_BINDIR@/g++
+QMAKE_LINK_SHLIB        = @TARGET_BINDIR@/g++
+QMAKE_LINK_C            = @TARGET_BINDIR@/gcc
 
 # modifications to linux.conf
-QMAKE_AR                 = @TARGET_BINDIR@/ar cqs
-QMAKE_OBJCOPY            = @TARGET_BINDIR@/objcopy
-QMAKE_NM                 = @TARGET_BINDIR@/nm -P
-QMAKE_STRIP              = @TARGET_BINDIR@/strip
+QMAKE_AR                = @TARGET_BINDIR@/ar cqs
+QMAKE_OBJCOPY           = @TARGET_BINDIR@/objcopy
+QMAKE_NM                = @TARGET_BINDIR@/nm -P
+QMAKE_STRIP             = @TARGET_BINDIR@/strip
 
-QMAKE_INCDIR             = @TARGET_PREFIX@/include
-QMAKE_LIBDIR             = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
+QMAKE_INCDIR            = @TARGET_PREFIX@/include
+QMAKE_LIBDIR            = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
 
 QMAKE_CFLAGS_OPTIMIZE_FULL = -O2
 
-QMAKE_LIBS_EGL          += -lEGL
-QMAKE_LIBS_OPENGL_ES2   += -lGLESv2
-QMAKE_LIBS_OPENVG       += -lOpenVG
+QMAKE_LIBS_EGL         += -lEGL
+QMAKE_LIBS_OPENGL_ES2  += -lGLESv2
+QMAKE_LIBS_OPENVG      += -lOpenVG
 
-QMAKE_LFLAGS            += -Wl,-rpath-link,@TARGET_PREFIX@/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
+QMAKE_LFLAGS           += -Wl,-rpath-link,@TARGET_PREFIX@/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
 
-TARGET_HW_CFLAGS         = @ARCH_FLAGS@ -DLINUX=1
+TARGET_HW_CFLAGS        = @ARCH_FLAGS@ -DLINUX=1
 
-QMAKE_CFLAGS            += $$TARGET_HW_CFLAGS
-QMAKE_CXXFLAGS          += $$TARGET_HW_CFLAGS
+QMAKE_CFLAGS           += $$TARGET_HW_CFLAGS
+QMAKE_CXXFLAGS         += $$TARGET_HW_CFLAGS
 
 load(qt_config)
diff --git a/X11/libs/qt5/5.4.2/mkspecs-pkg/linux-x86_64-gnu-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs-pkg/linux-x86_64-gnu-g++/qmake.conf.in
index 7b7a0e6a1..5892684f1 100644
--- a/X11/libs/qt5/5.4.2/mkspecs-pkg/linux-x86_64-gnu-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs-pkg/linux-x86_64-gnu-g++/qmake.conf.in
@@ -15,29 +15,30 @@ include(../common/g++-unix.conf)
 
 
 # modifications to g++.conf
-QMAKE_CC                 = @TARGET_BINDIR@/gcc
-QMAKE_CXX                = @TARGET_BINDIR@/g++
-QMAKE_LINK               = @TARGET_BINDIR@/g++
-QMAKE_LINK_SHLIB         = @TARGET_BINDIR@/g++
+QMAKE_CC                = @TARGET_BINDIR@/gcc
+QMAKE_CXX               = @TARGET_BINDIR@/g++
+QMAKE_LINK              = @TARGET_BINDIR@/g++
+QMAKE_LINK_SHLIB        = @TARGET_BINDIR@/g++
+QMAKE_LINK_C            = @TARGET_BINDIR@/gcc
 
 # modifications to linux.conf
-QMAKE_AR                 = @TARGET_BINDIR@/ar cqs
-QMAKE_OBJCOPY            = @TARGET_BINDIR@/objcopy
-QMAKE_NM                 = @TARGET_BINDIR@/nm -P
-QMAKE_STRIP              = @TARGET_BINDIR@/strip
+QMAKE_AR                = @TARGET_BINDIR@/ar cqs
+QMAKE_OBJCOPY           = @TARGET_BINDIR@/objcopy
+QMAKE_NM                = @TARGET_BINDIR@/nm -P
+QMAKE_STRIP             = @TARGET_BINDIR@/strip
 
-QMAKE_INCDIR             = @TARGET_PREFIX@/include
-QMAKE_LIBDIR             = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
+QMAKE_INCDIR            = @TARGET_PREFIX@/include
+QMAKE_LIBDIR            = @TARGET_PREFIX@/lib@LIBDIRSUFFIX@
 
-QMAKE_LIBS_EGL          += -lEGL
-QMAKE_LIBS_OPENGL_ES2   += -lGLESv2
-QMAKE_LIBS_OPENVG       += -lOpenVG
+QMAKE_LIBS_EGL         += -lEGL
+QMAKE_LIBS_OPENGL_ES2  += -lGLESv2
+QMAKE_LIBS_OPENVG      += -lOpenVG
 
-QMAKE_LFLAGS            += -Wl,-rpath-link,@TARGET_PREFIX@/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
+QMAKE_LFLAGS           += -Wl,-rpath-link,@TARGET_PREFIX@/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
 
-TARGET_HW_CFLAGS         = @ARCH_FLAGS@ -DLINUX=1
+TARGET_HW_CFLAGS        = @ARCH_FLAGS@ -DLINUX=1
 
-QMAKE_CFLAGS            += $$TARGET_HW_CFLAGS
-QMAKE_CXXFLAGS          += $$TARGET_HW_CFLAGS
+QMAKE_CFLAGS           += $$TARGET_HW_CFLAGS
+QMAKE_CXXFLAGS         += $$TARGET_HW_CFLAGS
 
 load(qt_config)
diff --git a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-bt1-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-bt1-g++/qmake.conf.in
index 2b1f877cb..62ddabd63 100644
--- a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-bt1-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-bt1-g++/qmake.conf.in
@@ -14,32 +14,34 @@ load(device_config)
 
 
 # modifications to g++.conf
-QMAKE_CC                 = $${CCACHE} $${CROSS_COMPILE}gcc
-QMAKE_CXX                = $${CCACHE} $${CROSS_COMPILE}g++
-QMAKE_LINK               = $${CROSS_COMPILE}g++
-QMAKE_LINK_SHLIB         = $${CROSS_COMPILE}g++
+QMAKE_CC                = $${CCACHE} $${CROSS_COMPILE}gcc
+QMAKE_CXX               = $${CCACHE} $${CROSS_COMPILE}g++
+QMAKE_LINK              = $${CROSS_COMPILE}g++
+QMAKE_LINK_SHLIB        = $${CROSS_COMPILE}g++
+QMAKE_LINK_C            = $${CROSS_COMPILE}gcc
 
 # modifications to linux.conf
-QMAKE_AR                 = $${CROSS_COMPILE}ar cqs
-QMAKE_OBJCOPY            = $${CROSS_COMPILE}objcopy
-QMAKE_STRIP              = $${CROSS_COMPILE}strip
+QMAKE_AR                = $${CROSS_COMPILE}ar cqs
+QMAKE_OBJCOPY           = $${CROSS_COMPILE}objcopy
+QMAKE_STRIP             = $${CROSS_COMPILE}strip
 
 
-QMAKE_INCDIR             = $$[QT_SYSROOT]/usr/include
-QMAKE_INCDIR            += $$[QT_SYSROOT]/usr/include/gstreamer-1.0
-QMAKE_INCDIR            += $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@/glib-2.0/include
-QMAKE_LIBDIR             = $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@
+QMAKE_INCDIR            = $$[QT_SYSROOT]/usr/include
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/gstreamer-1.0
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/botan-1.10
+QMAKE_LIBDIR            = $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@
 
-QMAKE_LIBS_EGL          += -lEGL
-QMAKE_LIBS_OPENGL_ES2   += -lGLESv2 -lEGL
-QMAKE_LIBS_OPENVG       += -lOpenVG -lEGL
+QMAKE_LIBS_EGL         += -lEGL
+QMAKE_LIBS_OPENGL_ES2  += -lGLESv2 -lEGL
+QMAKE_LIBS_OPENVG      += -lOpenVG -lEGL
 
-QMAKE_LFLAGS            += -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
+QMAKE_LFLAGS           += -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
 
-TARGET_HW_CFLAGS         = @ARCH_FLAGS@ @ARCH_DEFS@ @HW_FLAGS@ -DLINUX=1
+TARGET_HW_CFLAGS        = @ARCH_FLAGS@ @ARCH_DEFS@ @HW_FLAGS@ -DLINUX=1
 
-QMAKE_CFLAGS            += $$TARGET_HW_CFLAGS
-QMAKE_CXXFLAGS          += $$TARGET_HW_CFLAGS -Wno-deprecated-declarations
+QMAKE_CFLAGS           += $$TARGET_HW_CFLAGS
+QMAKE_CXXFLAGS         += $$TARGET_HW_CFLAGS -Wno-deprecated-declarations
 
 
 load(qt_config)
diff --git a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-cb1x-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-cb1x-g++/qmake.conf.in
index 353929ad6..8cacd9762 100644
--- a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-cb1x-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-cb1x-g++/qmake.conf.in
@@ -10,6 +10,7 @@ QMAKE_CC                = $${CCACHE} $${CROSS_COMPILE}gcc
 QMAKE_CXX               = $${CCACHE} $${CROSS_COMPILE}g++
 QMAKE_LINK              = $${CROSS_COMPILE}g++
 QMAKE_LINK_SHLIB        = $${CROSS_COMPILE}g++
+QMAKE_LINK_C            = $${CROSS_COMPILE}gcc
 
 # modifications to linux.conf
 QMAKE_AR                = $${CROSS_COMPILE}ar cqs
@@ -20,6 +21,7 @@ QMAKE_STRIP             = $${CROSS_COMPILE}strip
 QMAKE_INCDIR            = $$[QT_SYSROOT]/usr/include
 QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/gstreamer-1.0
 QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/botan-1.10
 QMAKE_LIBDIR            = $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@
 
 QMAKE_LIBS_EGL         += -lEGL
diff --git a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-cb2x-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-cb2x-g++/qmake.conf.in
index 353929ad6..8cacd9762 100644
--- a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-cb2x-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-cb2x-g++/qmake.conf.in
@@ -10,6 +10,7 @@ QMAKE_CC                = $${CCACHE} $${CROSS_COMPILE}gcc
 QMAKE_CXX               = $${CCACHE} $${CROSS_COMPILE}g++
 QMAKE_LINK              = $${CROSS_COMPILE}g++
 QMAKE_LINK_SHLIB        = $${CROSS_COMPILE}g++
+QMAKE_LINK_C            = $${CROSS_COMPILE}gcc
 
 # modifications to linux.conf
 QMAKE_AR                = $${CROSS_COMPILE}ar cqs
@@ -20,6 +21,7 @@ QMAKE_STRIP             = $${CROSS_COMPILE}strip
 QMAKE_INCDIR            = $$[QT_SYSROOT]/usr/include
 QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/gstreamer-1.0
 QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/botan-1.10
 QMAKE_LIBDIR            = $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@
 
 QMAKE_LIBS_EGL         += -lEGL
diff --git a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-cb3x-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-cb3x-g++/qmake.conf.in
index 353929ad6..8cacd9762 100644
--- a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-cb3x-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-cb3x-g++/qmake.conf.in
@@ -10,6 +10,7 @@ QMAKE_CC                = $${CCACHE} $${CROSS_COMPILE}gcc
 QMAKE_CXX               = $${CCACHE} $${CROSS_COMPILE}g++
 QMAKE_LINK              = $${CROSS_COMPILE}g++
 QMAKE_LINK_SHLIB        = $${CROSS_COMPILE}g++
+QMAKE_LINK_C            = $${CROSS_COMPILE}gcc
 
 # modifications to linux.conf
 QMAKE_AR                = $${CROSS_COMPILE}ar cqs
@@ -20,6 +21,7 @@ QMAKE_STRIP             = $${CROSS_COMPILE}strip
 QMAKE_INCDIR            = $$[QT_SYSROOT]/usr/include
 QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/gstreamer-1.0
 QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/botan-1.10
 QMAKE_LIBDIR            = $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@
 
 QMAKE_LIBS_EGL         += -lEGL
diff --git a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-ci20-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-ci20-g++/qmake.conf.in
index 828172961..cb17e1977 100644
--- a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-ci20-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-ci20-g++/qmake.conf.in
@@ -14,34 +14,36 @@ load(device_config)
 
 
 # modifications to g++.conf
-QMAKE_CC                 = $${CCACHE} $${CROSS_COMPILE}gcc
-QMAKE_CXX                = $${CCACHE} $${CROSS_COMPILE}g++
-QMAKE_LINK               = $${CROSS_COMPILE}g++
-QMAKE_LINK_SHLIB         = $${CROSS_COMPILE}g++
+QMAKE_CC                = $${CCACHE} $${CROSS_COMPILE}gcc
+QMAKE_CXX               = $${CCACHE} $${CROSS_COMPILE}g++
+QMAKE_LINK              = $${CROSS_COMPILE}g++
+QMAKE_LINK_SHLIB        = $${CROSS_COMPILE}g++
+QMAKE_LINK_C            = $${CROSS_COMPILE}gcc
 
 # modifications to linux.conf
-QMAKE_AR                 = $${CROSS_COMPILE}ar cqs
-QMAKE_OBJCOPY            = $${CROSS_COMPILE}objcopy
-QMAKE_STRIP              = $${CROSS_COMPILE}strip
+QMAKE_AR                = $${CROSS_COMPILE}ar cqs
+QMAKE_OBJCOPY           = $${CROSS_COMPILE}objcopy
+QMAKE_STRIP             = $${CROSS_COMPILE}strip
 
 
-QMAKE_INCDIR             = $$[QT_SYSROOT]/usr/include
-QMAKE_INCDIR            += $$[QT_SYSROOT]/usr/include/gstreamer-1.0
-QMAKE_INCDIR            += $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@/glib-2.0/include
-QMAKE_LIBDIR             = $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@
+QMAKE_INCDIR            = $$[QT_SYSROOT]/usr/include
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/gstreamer-1.0
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/botan-1.10
+QMAKE_LIBDIR            = $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@
 
 QMAKE_CFLAGS_OPTIMIZE_FULL = -O2
 
-QMAKE_LIBS_EGL          += -lEGL
-QMAKE_LIBS_OPENGL_ES2   += -lGLESv2 -lEGL
-QMAKE_LIBS_OPENVG       += -lOpenVG -lEGL
+QMAKE_LIBS_EGL         += -lEGL
+QMAKE_LIBS_OPENGL_ES2  += -lGLESv2 -lEGL
+QMAKE_LIBS_OPENVG      += -lOpenVG -lEGL
 
-QMAKE_LFLAGS            += -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
+QMAKE_LFLAGS           += -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
 
-TARGET_HW_CFLAGS         = @ARCH_FLAGS@ @ARCH_DEFS@ @HW_FLAGS@ -DLINUX=1
+TARGET_HW_CFLAGS        = @ARCH_FLAGS@ @ARCH_DEFS@ @HW_FLAGS@ -DLINUX=1
 
-QMAKE_CFLAGS            += $$TARGET_HW_CFLAGS
-QMAKE_CXXFLAGS          += $$TARGET_HW_CFLAGS -Wno-deprecated-declarations
+QMAKE_CFLAGS           += $$TARGET_HW_CFLAGS
+QMAKE_CXXFLAGS         += $$TARGET_HW_CFLAGS -Wno-deprecated-declarations
 
 
 load(qt_config)
diff --git a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-dra7xxevm-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-dra7xxevm-g++/qmake.conf.in
index eab33667b..eccae4165 100644
--- a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-dra7xxevm-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-dra7xxevm-g++/qmake.conf.in
@@ -10,6 +10,7 @@ QMAKE_CC                = $${CCACHE} $${CROSS_COMPILE}gcc
 QMAKE_CXX               = $${CCACHE} $${CROSS_COMPILE}g++
 QMAKE_LINK              = $${CROSS_COMPILE}g++
 QMAKE_LINK_SHLIB        = $${CROSS_COMPILE}g++
+QMAKE_LINK_C            = $${CROSS_COMPILE}gcc
 
 # modifications to linux.conf
 QMAKE_AR                = $${CROSS_COMPILE}ar cqs
@@ -20,6 +21,7 @@ QMAKE_STRIP             = $${CROSS_COMPILE}strip
 QMAKE_INCDIR            = $$[QT_SYSROOT]/usr/include
 QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/gstreamer-1.0
 QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/botan-1.10
 QMAKE_LIBDIR            = $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@
 
 QMAKE_LIBS_EGL         += -lEGL
diff --git a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-ffrk3288-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-ffrk3288-g++/qmake.conf.in
index 659144cb6..57377e3e4 100644
--- a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-ffrk3288-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-ffrk3288-g++/qmake.conf.in
@@ -10,6 +10,7 @@ QMAKE_CC                = $${CCACHE} $${CROSS_COMPILE}gcc
 QMAKE_CXX               = $${CCACHE} $${CROSS_COMPILE}g++
 QMAKE_LINK              = $${CROSS_COMPILE}g++
 QMAKE_LINK_SHLIB        = $${CROSS_COMPILE}g++
+QMAKE_LINK_C            = $${CROSS_COMPILE}gcc
 
 # modifications to linux.conf
 QMAKE_AR                = $${CROSS_COMPILE}ar cqs
@@ -20,6 +21,7 @@ QMAKE_STRIP             = $${CROSS_COMPILE}strip
 QMAKE_INCDIR            = $$[QT_SYSROOT]/usr/include
 QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/gstreamer-1.0
 QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/botan-1.10
 QMAKE_LIBDIR            = $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@
 
 QMAKE_LIBS_EGL         += -lEGL
diff --git a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-m201-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-m201-g++/qmake.conf.in
index c39f36965..f108e43d2 100644
--- a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-m201-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-m201-g++/qmake.conf.in
@@ -10,6 +10,7 @@ QMAKE_CC                = $${CCACHE} $${CROSS_COMPILE}gcc
 QMAKE_CXX               = $${CCACHE} $${CROSS_COMPILE}g++
 QMAKE_LINK              = $${CROSS_COMPILE}g++
 QMAKE_LINK_SHLIB        = $${CROSS_COMPILE}g++
+QMAKE_LINK_C            = $${CROSS_COMPILE}gcc
 
 # modifications to linux.conf
 QMAKE_AR                = $${CROSS_COMPILE}ar cqs
@@ -20,6 +21,7 @@ QMAKE_STRIP             = $${CROSS_COMPILE}strip
 QMAKE_INCDIR            = $$[QT_SYSROOT]/usr/include
 QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/gstreamer-1.0
 QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/botan-1.10
 QMAKE_LIBDIR            = $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@
 
 QMAKE_LIBS_EGL         += -lEGL
diff --git a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-mxq-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-mxq-g++/qmake.conf.in
index c39f36965..f108e43d2 100644
--- a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-mxq-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-mxq-g++/qmake.conf.in
@@ -10,6 +10,7 @@ QMAKE_CC                = $${CCACHE} $${CROSS_COMPILE}gcc
 QMAKE_CXX               = $${CCACHE} $${CROSS_COMPILE}g++
 QMAKE_LINK              = $${CROSS_COMPILE}g++
 QMAKE_LINK_SHLIB        = $${CROSS_COMPILE}g++
+QMAKE_LINK_C            = $${CROSS_COMPILE}gcc
 
 # modifications to linux.conf
 QMAKE_AR                = $${CROSS_COMPILE}ar cqs
@@ -20,6 +21,7 @@ QMAKE_STRIP             = $${CROSS_COMPILE}strip
 QMAKE_INCDIR            = $$[QT_SYSROOT]/usr/include
 QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/gstreamer-1.0
 QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/botan-1.10
 QMAKE_LIBDIR            = $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@
 
 QMAKE_LIBS_EGL         += -lEGL
diff --git a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-nit6q-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-nit6q-g++/qmake.conf.in
index 26e8076d3..c44aa3247 100644
--- a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-nit6q-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-nit6q-g++/qmake.conf.in
@@ -10,6 +10,7 @@ QMAKE_CC                = $${CCACHE} $${CROSS_COMPILE}gcc
 QMAKE_CXX               = $${CCACHE} $${CROSS_COMPILE}g++
 QMAKE_LINK              = $${CROSS_COMPILE}g++
 QMAKE_LINK_SHLIB        = $${CROSS_COMPILE}g++
+QMAKE_LINK_C            = $${CROSS_COMPILE}gcc
 
 # modifications to linux.conf
 QMAKE_AR                = $${CROSS_COMPILE}ar cqs
@@ -20,6 +21,7 @@ QMAKE_STRIP             = $${CROSS_COMPILE}strip
 QMAKE_INCDIR            = $$[QT_SYSROOT]/usr/include
 QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/gstreamer-1.0
 QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/botan-1.10
 QMAKE_LIBDIR            = $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@
 
 QMAKE_LIBS_EGL         += -lEGL
diff --git a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-omap5uevm-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-omap5uevm-g++/qmake.conf.in
index eab33667b..eccae4165 100644
--- a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-omap5uevm-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-omap5uevm-g++/qmake.conf.in
@@ -10,6 +10,7 @@ QMAKE_CC                = $${CCACHE} $${CROSS_COMPILE}gcc
 QMAKE_CXX               = $${CCACHE} $${CROSS_COMPILE}g++
 QMAKE_LINK              = $${CROSS_COMPILE}g++
 QMAKE_LINK_SHLIB        = $${CROSS_COMPILE}g++
+QMAKE_LINK_C            = $${CROSS_COMPILE}gcc
 
 # modifications to linux.conf
 QMAKE_AR                = $${CROSS_COMPILE}ar cqs
@@ -20,6 +21,7 @@ QMAKE_STRIP             = $${CROSS_COMPILE}strip
 QMAKE_INCDIR            = $$[QT_SYSROOT]/usr/include
 QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/gstreamer-1.0
 QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/botan-1.10
 QMAKE_LIBDIR            = $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@
 
 QMAKE_LIBS_EGL         += -lEGL
diff --git a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-pc32-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-pc32-g++/qmake.conf.in
index 43bd9afd4..76b15615c 100644
--- a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-pc32-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-pc32-g++/qmake.conf.in
@@ -17,32 +17,34 @@ load(device_config)
 
 
 # modifications to g++.conf
-QMAKE_CC                 = $${CCACHE} $${CROSS_COMPILE}gcc
-QMAKE_CXX                = $${CCACHE} $${CROSS_COMPILE}g++
-QMAKE_LINK               = $${CROSS_COMPILE}g++
-QMAKE_LINK_SHLIB         = $${CROSS_COMPILE}g++
+QMAKE_CC                = $${CCACHE} $${CROSS_COMPILE}gcc
+QMAKE_CXX               = $${CCACHE} $${CROSS_COMPILE}g++
+QMAKE_LINK              = $${CROSS_COMPILE}g++
+QMAKE_LINK_SHLIB        = $${CROSS_COMPILE}g++
+QMAKE_LINK_C            = $${CROSS_COMPILE}gcc
 
 # modifications to linux.conf
-QMAKE_AR                 = $${CROSS_COMPILE}ar cqs
-QMAKE_OBJCOPY            = $${CROSS_COMPILE}objcopy
-QMAKE_STRIP              = $${CROSS_COMPILE}strip
+QMAKE_AR                = $${CROSS_COMPILE}ar cqs
+QMAKE_OBJCOPY           = $${CROSS_COMPILE}objcopy
+QMAKE_STRIP             = $${CROSS_COMPILE}strip
 
 
-QMAKE_INCDIR             = $$[QT_SYSROOT]/usr/include
-QMAKE_INCDIR            += $$[QT_SYSROOT]/usr/include/gstreamer-1.0
-QMAKE_INCDIR            += $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@/glib-2.0/include
-QMAKE_LIBDIR             = $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@
+QMAKE_INCDIR            = $$[QT_SYSROOT]/usr/include
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/gstreamer-1.0
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/botan-1.10
+QMAKE_LIBDIR            = $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@
 
-QMAKE_LIBS_EGL          += -lEGL
-QMAKE_LIBS_OPENGL_ES2   += -lGLESv2 -lEGL
-QMAKE_LIBS_OPENVG       += -lOpenVG -lEGL
+QMAKE_LIBS_EGL         += -lEGL
+QMAKE_LIBS_OPENGL_ES2  += -lGLESv2 -lEGL
+QMAKE_LIBS_OPENVG      += -lOpenVG -lEGL
 
-QMAKE_LFLAGS            += -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
+QMAKE_LFLAGS           += -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
 
-TARGET_HW_CFLAGS         = @ARCH_FLAGS@ @ARCH_DEFS@ @HW_FLAGS@ -DLINUX=1
+TARGET_HW_CFLAGS        = @ARCH_FLAGS@ @ARCH_DEFS@ @HW_FLAGS@ -DLINUX=1
 
-QMAKE_CFLAGS            += $$TARGET_HW_CFLAGS
-QMAKE_CXXFLAGS          += $$TARGET_HW_CFLAGS -Wno-deprecated-declarations
+QMAKE_CFLAGS           += $$TARGET_HW_CFLAGS
+QMAKE_CXXFLAGS         += $$TARGET_HW_CFLAGS -Wno-deprecated-declarations
 
 
 load(qt_config)
diff --git a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-pc64-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-pc64-g++/qmake.conf.in
index bdcfd26ae..ff6108e99 100644
--- a/X11/libs/qt5/5.4.2/mkspecs/devices/linux-pc64-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs/devices/linux-pc64-g++/qmake.conf.in
@@ -17,32 +17,34 @@ load(device_config)
 
 
 # modifications to g++.conf
-QMAKE_CC                 = $${CCACHE} $${CROSS_COMPILE}gcc
-QMAKE_CXX                = $${CCACHE} $${CROSS_COMPILE}g++
-QMAKE_LINK               = $${CROSS_COMPILE}g++
-QMAKE_LINK_SHLIB         = $${CROSS_COMPILE}g++
+QMAKE_CC                = $${CCACHE} $${CROSS_COMPILE}gcc
+QMAKE_CXX               = $${CCACHE} $${CROSS_COMPILE}g++
+QMAKE_LINK              = $${CROSS_COMPILE}g++
+QMAKE_LINK_SHLIB        = $${CROSS_COMPILE}g++
+QMAKE_LINK_C            = $${CROSS_COMPILE}gcc
 
 # modifications to linux.conf
-QMAKE_AR                 = $${CROSS_COMPILE}ar cqs
-QMAKE_OBJCOPY            = $${CROSS_COMPILE}objcopy
-QMAKE_STRIP              = $${CROSS_COMPILE}strip
+QMAKE_AR                = $${CROSS_COMPILE}ar cqs
+QMAKE_OBJCOPY           = $${CROSS_COMPILE}objcopy
+QMAKE_STRIP             = $${CROSS_COMPILE}strip
 
 
-QMAKE_INCDIR             = $$[QT_SYSROOT]/usr/include
-QMAKE_INCDIR            += $$[QT_SYSROOT]/usr/include/gstreamer-1.0
-QMAKE_INCDIR            += $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@/glib-2.0/include
-QMAKE_LIBDIR             = $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@
+QMAKE_INCDIR            = $$[QT_SYSROOT]/usr/include
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/gstreamer-1.0
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@/glib-2.0/include
+QMAKE_INCDIR           += $$[QT_SYSROOT]/usr/include/botan-1.10
+QMAKE_LIBDIR            = $$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@
 
-QMAKE_LIBS_EGL          += -lEGL
-QMAKE_LIBS_OPENGL_ES2   += -lGLESv2 -lEGL
-QMAKE_LIBS_OPENVG       += -lOpenVG -lEGL
+QMAKE_LIBS_EGL         += -lEGL
+QMAKE_LIBS_OPENGL_ES2  += -lGLESv2 -lEGL
+QMAKE_LIBS_OPENVG      += -lOpenVG -lEGL
 
-QMAKE_LFLAGS            += -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
+QMAKE_LFLAGS           += -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib@LIBDIRSUFFIX@ -Wl,--export-dynamic
 
-TARGET_HW_CFLAGS         = @ARCH_FLAGS@ @ARCH_DEFS@ @HW_FLAGS@ -DLINUX=1
+TARGET_HW_CFLAGS        = @ARCH_FLAGS@ @ARCH_DEFS@ @HW_FLAGS@ -DLINUX=1
 
-QMAKE_CFLAGS            += $$TARGET_HW_CFLAGS
-QMAKE_CXXFLAGS          += $$TARGET_HW_CFLAGS -Wno-deprecated-declarations
+QMAKE_CFLAGS           += $$TARGET_HW_CFLAGS
+QMAKE_CXXFLAGS         += $$TARGET_HW_CFLAGS -Wno-deprecated-declarations
 
 
 load(qt_config)
diff --git a/X11/libs/qt5/5.4.2/mkspecs/linux-arm-gnueabi-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs/linux-arm-gnueabi-g++/qmake.conf.in
index 609d4ce74..9a956e6c6 100644
--- a/X11/libs/qt5/5.4.2/mkspecs/linux-arm-gnueabi-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs/linux-arm-gnueabi-g++/qmake.conf.in
@@ -16,6 +16,7 @@ QMAKE_CC                 = @CCACHE@ @CROSS_COMPILE@gcc --sysroot=@SYSROOT@
 QMAKE_CXX                = @CCACHE@ @CROSS_COMPILE@g++ --sysroot=@SYSROOT@
 QMAKE_LINK               = @CROSS_COMPILE@g++ --sysroot=@SYSROOT@
 QMAKE_LINK_SHLIB         = @CROSS_COMPILE@g++ --sysroot=@SYSROOT@
+QMAKE_LINK_C             = @CROSS_COMPILE@gcc --sysroot=@SYSROOT@
 
 # modifications to linux.conf
 QMAKE_AR                 = @CROSS_COMPILE@ar cqs
diff --git a/X11/libs/qt5/5.4.2/mkspecs/linux-arm-gnueabihf-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs/linux-arm-gnueabihf-g++/qmake.conf.in
index 3dc6dbfa8..c4c22c60a 100644
--- a/X11/libs/qt5/5.4.2/mkspecs/linux-arm-gnueabihf-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs/linux-arm-gnueabihf-g++/qmake.conf.in
@@ -16,6 +16,7 @@ QMAKE_CC                 = @CCACHE@ @CROSS_COMPILE@gcc --sysroot=@SYSROOT@
 QMAKE_CXX                = @CCACHE@ @CROSS_COMPILE@g++ --sysroot=@SYSROOT@
 QMAKE_LINK               = @CROSS_COMPILE@g++ --sysroot=@SYSROOT@
 QMAKE_LINK_SHLIB         = @CROSS_COMPILE@g++ --sysroot=@SYSROOT@
+QMAKE_LINK_C             = @CROSS_COMPILE@gcc --sysroot=@SYSROOT@
 
 # modifications to linux.conf
 QMAKE_AR                 = @CROSS_COMPILE@ar cqs
diff --git a/X11/libs/qt5/5.4.2/mkspecs/linux-i386-gnu-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs/linux-i386-gnu-g++/qmake.conf.in
index 49f0a67a5..bcd0349d7 100644
--- a/X11/libs/qt5/5.4.2/mkspecs/linux-i386-gnu-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs/linux-i386-gnu-g++/qmake.conf.in
@@ -19,6 +19,7 @@ QMAKE_CC                 = @CCACHE@ @CROSS_COMPILE@gcc --sysroot=@SYSROOT@
 QMAKE_CXX                = @CCACHE@ @CROSS_COMPILE@g++ --sysroot=@SYSROOT@
 QMAKE_LINK               = @CROSS_COMPILE@g++ --sysroot=@SYSROOT@
 QMAKE_LINK_SHLIB         = @CROSS_COMPILE@g++ --sysroot=@SYSROOT@
+QMAKE_LINK_C             = @CROSS_COMPILE@gcc --sysroot=@SYSROOT@
 
 # modifications to linux.conf
 QMAKE_AR                 = @CROSS_COMPILE@ar cqs
diff --git a/X11/libs/qt5/5.4.2/mkspecs/linux-mips-gnu-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs/linux-mips-gnu-g++/qmake.conf.in
index 1279e5a60..4de04749c 100644
--- a/X11/libs/qt5/5.4.2/mkspecs/linux-mips-gnu-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs/linux-mips-gnu-g++/qmake.conf.in
@@ -16,6 +16,7 @@ QMAKE_CC                 = @CCACHE@ @CROSS_COMPILE@gcc --sysroot=@SYSROOT@
 QMAKE_CXX                = @CCACHE@ @CROSS_COMPILE@g++ --sysroot=@SYSROOT@
 QMAKE_LINK               = @CROSS_COMPILE@g++ --sysroot=@SYSROOT@
 QMAKE_LINK_SHLIB         = @CROSS_COMPILE@g++ --sysroot=@SYSROOT@
+QMAKE_LINK_C             = @CROSS_COMPILE@gcc --sysroot=@SYSROOT@
 
 # modifications to linux.conf
 QMAKE_AR                 = @CROSS_COMPILE@ar cqs
diff --git a/X11/libs/qt5/5.4.2/mkspecs/linux-x86_64-gnu-g++/qmake.conf.in b/X11/libs/qt5/5.4.2/mkspecs/linux-x86_64-gnu-g++/qmake.conf.in
index e32a61fe3..f1a551e41 100644
--- a/X11/libs/qt5/5.4.2/mkspecs/linux-x86_64-gnu-g++/qmake.conf.in
+++ b/X11/libs/qt5/5.4.2/mkspecs/linux-x86_64-gnu-g++/qmake.conf.in
@@ -19,6 +19,7 @@ QMAKE_CC                 = @CCACHE@ @CROSS_COMPILE@gcc --sysroot=@SYSROOT@
 QMAKE_CXX                = @CCACHE@ @CROSS_COMPILE@g++ --sysroot=@SYSROOT@
 QMAKE_LINK               = @CROSS_COMPILE@g++ --sysroot=@SYSROOT@
 QMAKE_LINK_SHLIB         = @CROSS_COMPILE@g++ --sysroot=@SYSROOT@
+QMAKE_LINK_C             = @CROSS_COMPILE@gcc --sysroot=@SYSROOT@
 
 # modifications to linux.conf
 QMAKE_AR                 = @CROSS_COMPILE@ar cqs
diff --git a/X11/libs/qt5/5.7.0-x86_32/Makefile b/X11/libs/qt5/5.7.0-x86_32/Makefile
index 1cfec371d..716a9221c 100644
--- a/X11/libs/qt5/5.7.0-x86_32/Makefile
+++ b/X11/libs/qt5/5.7.0-x86_32/Makefile
@@ -437,7 +437,7 @@ $(install_target): $(build_target)
 	 )
 	# ======= Change source directory to more 'normal' place =======
 	@( cd $(QT5_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/qt-$(version)/lib ; \
-	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/src/qt-$(version),g" \
+	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/lib$(MULTILIB_X86_32_SUFFIX)/qt-$(version),g" \
 	            libQt53DCore.prl             libQt53DExtras.prl             \
 	            libQt53DInput.prl            libQt53DLogic.prl              \
 	            libQt53DQuick.prl            libQt53DQuickExtras.prl        \
diff --git a/X11/libs/qt5/5.7.0/Makefile b/X11/libs/qt5/5.7.0/Makefile
index 18048ebf8..120776d2f 100644
--- a/X11/libs/qt5/5.7.0/Makefile
+++ b/X11/libs/qt5/5.7.0/Makefile
@@ -570,7 +570,7 @@ ifeq ($(ENABLE_KMS_SUPPORT),yes)
 endif
 	# ======= Change source directory to more 'normal' place =======
 	@( cd $(QT5_PKG)/usr/lib$(LIBSUFFIX)/qt-$(version)/lib ; \
-	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/src/qt-$(version),g" \
+	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/lib$(LIBSUFFIX)/qt-$(version),g" \
 	                                    libQt53DCore.prl             libQt53DExtras.prl          \
 	                                    libQt53DInput.prl            libQt53DLogic.prl           \
 	                                    libQt53DQuick.prl            libQt53DQuickExtras.prl     \
@@ -608,14 +608,14 @@ endif
 ifeq ($(ENABLE_EGLFS_SUPPORT),yes)
 	# ======= Change source directory to more 'normal' place in libQt5EglDeviceIntegration.prl file =======
 	@( cd $(QT5_PKG)/usr/lib$(LIBSUFFIX)/qt-$(version)/lib ; \
-	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/src/qt-$(version),g" \
+	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/lib$(LIBSUFFIX)/qt-$(version),g" \
 	                                    libQt5EglDeviceIntegration.prl ; \
 	 )
 endif
 ifeq ($(ENABLE_KMS_SUPPORT),yes)
 	# ======= Change source directory to more 'normal' place in libQt5EglFsKmsSupport.prl file =======
 	@( cd $(QT5_PKG)/usr/lib$(LIBSUFFIX)/qt-$(version)/lib ; \
-	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/src/qt-$(version),g" \
+	   sed -i "s,$(CURDIR)/$(SRC_DIR),/usr/lib$(LIBSUFFIX)/qt-$(version),g" \
 	                                    libQt5EglFsKmsSupport.prl ; \
 	 )
 endif
diff --git a/app/celt/0.11.3-x86_32/Makefile b/app/celt/0.11.3-x86_32/Makefile
new file mode 100644
index 000000000..0954ac3dd
--- /dev/null
+++ b/app/celt/0.11.3-x86_32/Makefile
@@ -0,0 +1,189 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/xiph/celt
+
+REQUIRES           = app/celt/0.11.3
+REQUIRES          += libs/libogg/1.3.2-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.11.3
+tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/m/xiph/celt/celt-$(version).tar.gz
+SRC_ARCHIVE        = $(tar_gz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/celt-$(version)
+src_dir_name       = celt-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = app
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+CELT_32_PKG_NAME                = celt-x32
+CELT_32_PKG_VERSION             = 0.11.3
+CELT_32_PKG_ARCH                = $(TOOLCHAIN)
+CELT_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+CELT_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+CELT_32_PKG_GROUP               = $(PKG_GROUP)
+###                              |---handy-ruler-------------------------------|
+CELT_32_PKG_SHORT_DESCRIPTION   = Low-latency audio communication codec
+CELT_32_PKG_URL                 = $(BUG_URL)
+CELT_32_PKG_LICENSE             = BSD
+CELT_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(CELT_32_PKG_NAME)-pkg-description
+CELT_32_PKG_DESCRIPTION_FILE_IN = $(CELT_32_PKG_NAME)-pkg-description.in
+CELT_32_PKG_INSTALL_SCRIPT      = $(CELT_32_PKG_NAME)-pkg-install.sh
+
+CELT_32_PKG      = $(CURDIR)/$(TARGET_BUILD_DIR)/$(CELT_32_PKG_NAME)-package
+
+pkg_basename     = $(CELT_32_PKG_NAME)-$(CELT_32_PKG_VERSION)-$(CELT_32_PKG_ARCH)-$(CELT_32_PKG_DISTRO_NAME)-$(CELT_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(CELT_32_PKG)
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+extra_configure_switches += --enable-custom-modes
+
+extra_configure_switches += --disable-oggtest
+extra_configure_switches += --with-ogg=$(TARGET_DEST_DIR)/usr
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=yes
+
+
+CFLAGS += -Wno-unused-variable -Wno-unused-but-set-variable
+
+
+TARGET_BIN_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && \
+	  $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(CELT_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(CELT_32_PKG)/usr/include
+	@rm -rf $(CELT_32_PKG)/usr/share
+	# ======= remove target path from target libtool *.la files =======
+	@( cd $(CELT_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libcelt0.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(CELT_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libcelt0.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libcelt0.la \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" celt.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(CELT_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(CELT_32_PKG)/usr/bin/32 ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(CELT_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(CELT_32_PKG_DESCRIPTION_FILE): $(CELT_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(CELT_32_PKG_DESCRIPTION_FILE) $(CELT_32_PKG_INSTALL_SCRIPT)
+	@cp $(CELT_32_PKG_DESCRIPTION_FILE) $(CELT_32_PKG)/.DESCRIPTION
+	@cp $(CELT_32_PKG_INSTALL_SCRIPT) $(CELT_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(CELT_32_PKG)/.REQUIRES
+	@echo "pkgname=$(CELT_32_PKG_NAME)"                            >  $(CELT_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(CELT_32_PKG_VERSION)"                          >> $(CELT_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(CELT_32_PKG_ARCH)"                               >> $(CELT_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(CELT_32_PKG_DISTRO_NAME)"                  >> $(CELT_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(CELT_32_PKG_DISTRO_VERSION)"                >> $(CELT_32_PKG)/.PKGINFO ; \
+	 echo "group=$(CELT_32_PKG_GROUP)"                             >> $(CELT_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(CELT_32_PKG_SHORT_DESCRIPTION)\"" >> $(CELT_32_PKG)/.PKGINFO ; \
+	 echo "url=$(CELT_32_PKG_URL)"                                 >> $(CELT_32_PKG)/.PKGINFO ; \
+	 echo "license=$(CELT_32_PKG_LICENSE)"                         >> $(CELT_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(CELT_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/app/celt/0.11.3-x86_32/PATCHES b/app/celt/0.11.3-x86_32/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/app/celt/0.11.3-x86_32/celt-x32-pkg-description.in b/app/celt/0.11.3-x86_32/celt-x32-pkg-description.in
new file mode 100644
index 000000000..9600ac587
--- /dev/null
+++ b/app/celt/0.11.3-x86_32/celt-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler------------------------------------------------------|
+celt-x32: celt-x32 @VERSION@ (x86_32 Low-latency audio communication codec)
+celt-x32:
+celt-x32: CELT is a very low delay audio codec designed for high-quality
+celt-x32: communications.
+celt-x32:
+celt-x32: Traditional full-bandwidth  codecs such as Vorbis and AAC can
+celt-x32: offer high quality but they require codec delays of hundreds of
+celt-x32: milliseconds, which makes them unsuitable  for real-time
+celt-x32: interactive applications like tele-conferencing.
+celt-x32:
+celt-x32:
diff --git a/app/celt/0.11.3-x86_32/celt-x32-pkg-install.sh b/app/celt/0.11.3-x86_32/celt-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/app/celt/0.11.3-x86_32/celt-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/app/celt/0.11.3/Makefile b/app/celt/0.11.3/Makefile
new file mode 100644
index 000000000..3db60f3b5
--- /dev/null
+++ b/app/celt/0.11.3/Makefile
@@ -0,0 +1,227 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/xiph/celt
+
+ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
+REQUIRES           = dev/gcc/5.3.0
+endif
+REQUIRES          += libs/libogg/1.3.2
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.11.3
+tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/m/xiph/celt/celt-$(version).tar.gz
+SRC_ARCHIVE        = $(tar_gz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/celt-$(version)
+src_dir_name       = celt-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = app
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+CELT_PKG_NAME                = celt
+CELT_PKG_VERSION             = 0.11.3
+CELT_PKG_ARCH                = $(TOOLCHAIN)
+CELT_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+CELT_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+CELT_PKG_GROUP               = $(PKG_GROUP)
+###                           |---handy-ruler-------------------------------|
+CELT_PKG_SHORT_DESCRIPTION   = Low-latency audio communication codec
+CELT_PKG_URL                 = $(BUG_URL)
+CELT_PKG_LICENSE             = BSD
+CELT_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(CELT_PKG_NAME)-pkg-description
+CELT_PKG_DESCRIPTION_FILE_IN = $(CELT_PKG_NAME)-pkg-description.in
+CELT_PKG_INSTALL_SCRIPT      = $(CELT_PKG_NAME)-pkg-install.sh
+
+CELT_PKG         = $(CURDIR)/$(TARGET_BUILD_DIR)/$(CELT_PKG_NAME)-package
+
+pkg_basename     = $(CELT_PKG_NAME)-$(CELT_PKG_VERSION)-$(CELT_PKG_ARCH)-$(CELT_PKG_DISTRO_NAME)-$(CELT_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(CELT_PKG)
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --enable-custom-modes
+
+extra_configure_switches += --disable-oggtest
+extra_configure_switches += --with-ogg=$(TARGET_DEST_DIR)/usr
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=yes
+
+
+CFLAGS += -Wno-unused-variable -Wno-unused-but-set-variable
+
+
+TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && \
+	  $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(CELT_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= Install Documentation =======
+	@if [ -d $(CELT_PKG)/usr/share/man ]; then \
+	  ( cd $(CELT_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(CELT_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING \
+	       $(CELT_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(CELT_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS COPYING README TODO \
+	         $(CELT_PKG)/usr/share/doc/$(src_dir_name) \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog -a -s ChangeLog ]; then \
+	     DOCSDIR=`echo $(CELT_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove target path from target libtool *.la files =======
+	@( cd $(CELT_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libcelt0.la \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(CELT_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libcelt0.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libcelt0.la \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" celt.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(CELT_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(CELT_PKG)/usr/bin ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(CELT_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(CELT_PKG_DESCRIPTION_FILE): $(CELT_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(CELT_PKG_DESCRIPTION_FILE) $(CELT_PKG_INSTALL_SCRIPT)
+	@cp $(CELT_PKG_DESCRIPTION_FILE) $(CELT_PKG)/.DESCRIPTION
+	@cp $(CELT_PKG_INSTALL_SCRIPT) $(CELT_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(CELT_PKG)/.REQUIRES
+	@echo "pkgname=$(CELT_PKG_NAME)"                            >  $(CELT_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(CELT_PKG_VERSION)"                          >> $(CELT_PKG)/.PKGINFO ; \
+	 echo "arch=$(CELT_PKG_ARCH)"                               >> $(CELT_PKG)/.PKGINFO ; \
+	 echo "distroname=$(CELT_PKG_DISTRO_NAME)"                  >> $(CELT_PKG)/.PKGINFO ; \
+	 echo "distrover=$(CELT_PKG_DISTRO_VERSION)"                >> $(CELT_PKG)/.PKGINFO ; \
+	 echo "group=$(CELT_PKG_GROUP)"                             >> $(CELT_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(CELT_PKG_SHORT_DESCRIPTION)\"" >> $(CELT_PKG)/.PKGINFO ; \
+	 echo "url=$(CELT_PKG_URL)"                                 >> $(CELT_PKG)/.PKGINFO ; \
+	 echo "license=$(CELT_PKG_LICENSE)"                         >> $(CELT_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(CELT_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/app/celt/0.11.3/PATCHES b/app/celt/0.11.3/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/app/celt/0.11.3/celt-pkg-description.in b/app/celt/0.11.3/celt-pkg-description.in
new file mode 100644
index 000000000..cb6cbb910
--- /dev/null
+++ b/app/celt/0.11.3/celt-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+    |-----handy-ruler------------------------------------------------------|
+celt: celt @VERSION@ (Low-latency audio communication codec)
+celt:
+celt: CELT is a very low delay audio codec designed for high-quality
+celt: communications.
+celt:
+celt: Traditional full-bandwidth  codecs such as Vorbis and AAC can
+celt: offer high quality but they require codec delays of hundreds of
+celt: milliseconds, which makes them unsuitable  for real-time
+celt: interactive applications like tele-conferencing.
+celt:
+celt:
diff --git a/app/celt/0.11.3/celt-pkg-install.sh b/app/celt/0.11.3/celt-pkg-install.sh
new file mode 100755
index 000000000..b44c4e648
--- /dev/null
+++ b/app/celt/0.11.3/celt-pkg-install.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/app/dcadec/0.2.0-x86_32/Makefile b/app/dcadec/0.2.0-x86_32/Makefile
new file mode 100644
index 000000000..59141e258
--- /dev/null
+++ b/app/dcadec/0.2.0-x86_32/Makefile
@@ -0,0 +1,147 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/dcadec
+
+REQUIRES           = app/dcadec/0.2.0
+REQUIRES          += libs/glibc/2.23-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.2.0
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/m/dcadec/dcadec-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/dcadec-$(version)
+src_dir_name       = dcadec-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = app
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+DCADEC_32_PKG_NAME                = dcadec-x32
+DCADEC_32_PKG_VERSION             = 0.2.0
+DCADEC_32_PKG_ARCH                = $(TOOLCHAIN)
+DCADEC_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+DCADEC_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+DCADEC_32_PKG_GROUP               = $(PKG_GROUP)
+###                                |---handy-ruler-------------------------------|
+DCADEC_32_PKG_SHORT_DESCRIPTION   = DTS Coherent Acoustics decoder
+DCADEC_32_PKG_URL                 = $(BUG_URL)
+DCADEC_32_PKG_LICENSE             = LGPLv2.1
+DCADEC_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(DCADEC_32_PKG_NAME)-pkg-description
+DCADEC_32_PKG_DESCRIPTION_FILE_IN = $(DCADEC_32_PKG_NAME)-pkg-description.in
+DCADEC_32_PKG_INSTALL_SCRIPT      = $(DCADEC_32_PKG_NAME)-pkg-install.sh
+
+DCADEC_32_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(DCADEC_32_PKG_NAME)-package
+
+pkg_basename      = $(DCADEC_32_PKG_NAME)-$(DCADEC_32_PKG_VERSION)-$(DCADEC_32_PKG_ARCH)-$(DCADEC_32_PKG_DISTRO_NAME)-$(DCADEC_32_PKG_DISTRO_VERSION)
+
+pkg_archive       = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature     = $(call sign-name,$(pkg_archive))
+pkg_description   = $(call desc-name,$(pkg_archive))
+products          = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS     = $(build_target)
+BUILD_TARGETS    += $(install_target)
+
+PRODUCT_TARGETS   = $(products)
+
+ROOTFS_TARGETS    = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(DCADEC_32_PKG)
+
+
+CFLAGS += -Wno-unused-but-set-variable
+
+
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@( cd $(SRC_DIR) ; \
+	   $(BUILD_ENVIRONMENT) $(MAKE) CONFIG_SHARED=yes                            \
+	                                PREFIX="/usr"                                \
+	                                BINDIR="/usr/bin/32"                         \
+	                                LIBDIR="/usr/lib$(MULTILIB_X86_32_SUFFIX)" ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(DCADEC_32_PKG)
+	@( cd $(SRC_DIR) ; \
+	   $(BUILD_ENVIRONMENT) $(MAKE) -j1 CONFIG_SHARED=yes                           \
+	                                    PREFIX="/usr"                               \
+	                                    BINDIR="/usr/bin/32"                        \
+	                                    LIBDIR="/usr/lib$(MULTILIB_X86_32_SUFFIX)"  \
+	                                                       $(env_sysroot) install ; \
+	 )
+	@mv $(DCADEC_32_PKG)/usr/bin/32/dcadec{,-hd}
+	@chmod 755 $(DCADEC_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libdcadec.so.?.?.?
+	@rm -rf $(DCADEC_32_PKG)/usr/include
+	@rm -rf $(DCADEC_32_PKG)/usr/share
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(DCADEC_32_PKG))
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" dcadec.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(DCADEC_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+	@touch $@
+
+$(DCADEC_32_PKG_DESCRIPTION_FILE): $(DCADEC_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(DCADEC_32_PKG_DESCRIPTION_FILE) $(DCADEC_32_PKG_INSTALL_SCRIPT)
+	@cp $(DCADEC_32_PKG_DESCRIPTION_FILE) $(DCADEC_32_PKG)/.DESCRIPTION
+	@cp $(DCADEC_32_PKG_INSTALL_SCRIPT) $(DCADEC_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(DCADEC_32_PKG)/.REQUIRES
+	@echo "pkgname=$(DCADEC_32_PKG_NAME)"                            >  $(DCADEC_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(DCADEC_32_PKG_VERSION)"                          >> $(DCADEC_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(DCADEC_32_PKG_ARCH)"                               >> $(DCADEC_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(DCADEC_32_PKG_DISTRO_NAME)"                  >> $(DCADEC_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(DCADEC_32_PKG_DISTRO_VERSION)"                >> $(DCADEC_32_PKG)/.PKGINFO ; \
+	 echo "group=$(DCADEC_32_PKG_GROUP)"                             >> $(DCADEC_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(DCADEC_32_PKG_SHORT_DESCRIPTION)\"" >> $(DCADEC_32_PKG)/.PKGINFO ; \
+	 echo "url=$(DCADEC_32_PKG_URL)"                                 >> $(DCADEC_32_PKG)/.PKGINFO ; \
+	 echo "license=$(DCADEC_32_PKG_LICENSE)"                         >> $(DCADEC_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(DCADEC_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/app/dcadec/0.2.0-x86_32/PATCHES b/app/dcadec/0.2.0-x86_32/PATCHES
new file mode 100644
index 000000000..74fbddcf1
--- /dev/null
+++ b/app/dcadec/0.2.0-x86_32/PATCHES
@@ -0,0 +1,2 @@
+
+../../../sources/packages/m/dcadec/patches/dcadec-0.2.0-cross.patch -p0
diff --git a/app/dcadec/0.2.0-x86_32/dcadec-x32-pkg-description.in b/app/dcadec/0.2.0-x86_32/dcadec-x32-pkg-description.in
new file mode 100644
index 000000000..bf99b6e35
--- /dev/null
+++ b/app/dcadec/0.2.0-x86_32/dcadec-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+          |-----handy-ruler------------------------------------------------------|
+dcadec-x32: dcadec-x32 @VERSION@ (x86_32 DTS Coherent Acoustics decoder)
+dcadec-x32:
+dcadec-x32: dcadec is a free DTS Coherent Acoustics decoder with support
+dcadec-x32: for HD extensions.
+dcadec-x32:
+dcadec-x32:
+dcadec-x32: GitHub: https://github.com/foo86/dcadec
+dcadec-x32:
+dcadec-x32:
+dcadec-x32:
+dcadec-x32:
diff --git a/app/dcadec/0.2.0-x86_32/dcadec-x32-pkg-install.sh b/app/dcadec/0.2.0-x86_32/dcadec-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/app/dcadec/0.2.0-x86_32/dcadec-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/app/dcadec/0.2.0/Makefile b/app/dcadec/0.2.0/Makefile
new file mode 100644
index 000000000..897ed8e34
--- /dev/null
+++ b/app/dcadec/0.2.0/Makefile
@@ -0,0 +1,188 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/dcadec
+
+ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
+REQUIRES           = dev/gcc/5.3.0
+else
+REQUIRES          += libs/glibc/2.23
+endif
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.2.0
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/m/dcadec/dcadec-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/dcadec-$(version)
+src_dir_name       = dcadec-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = app
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+DCADEC_PKG_NAME                = dcadec
+DCADEC_PKG_VERSION             = 0.2.0
+DCADEC_PKG_ARCH                = $(TOOLCHAIN)
+DCADEC_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+DCADEC_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+DCADEC_PKG_GROUP               = $(PKG_GROUP)
+###                             |---handy-ruler-------------------------------|
+DCADEC_PKG_SHORT_DESCRIPTION   = DTS Coherent Acoustics decoder
+DCADEC_PKG_URL                 = $(BUG_URL)
+DCADEC_PKG_LICENSE             = LGPLv2.1
+DCADEC_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(DCADEC_PKG_NAME)-pkg-description
+DCADEC_PKG_DESCRIPTION_FILE_IN = $(DCADEC_PKG_NAME)-pkg-description.in
+DCADEC_PKG_INSTALL_SCRIPT      = $(DCADEC_PKG_NAME)-pkg-install.sh
+
+DCADEC_PKG       = $(CURDIR)/$(TARGET_BUILD_DIR)/$(DCADEC_PKG_NAME)-package
+
+pkg_basename     = $(DCADEC_PKG_NAME)-$(DCADEC_PKG_VERSION)-$(DCADEC_PKG_ARCH)-$(DCADEC_PKG_DISTRO_NAME)-$(DCADEC_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(DCADEC_PKG)
+
+
+CFLAGS += -Wno-unused-but-set-variable
+
+
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@( cd $(SRC_DIR) ; \
+	   $(BUILD_ENVIRONMENT) $(MAKE) CONFIG_SHARED=yes               \
+	                                PREFIX="/usr"                   \
+	                                BINDIR="/usr/bin"               \
+	                                LIBDIR="/usr/lib$(LIBSUFFIX)" ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(DCADEC_PKG)
+	@( cd $(SRC_DIR) ; \
+	   $(BUILD_ENVIRONMENT) $(MAKE) -j1 CONFIG_SHARED=yes              \
+	                                    PREFIX="/usr"                  \
+	                                    BINDIR="/usr/bin"              \
+	                                    LIBDIR="/usr/lib$(LIBSUFFIX)"  \
+	                                          $(env_sysroot) install ; \
+	 )
+	@mv $(DCADEC_PKG)/usr/bin/dcadec{,-hd}
+	@chmod 755 $(DCADEC_PKG)/usr/lib$(LIBSUFFIX)/libdcadec.so.?.?.?
+	# ======= Install Documentation =======
+	@if [ -d $(DCADEC_PKG)/usr/share/man ]; then \
+	  ( cd $(DCADEC_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(DCADEC_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/COPYING* \
+	       $(DCADEC_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(DCADEC_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a COPYING* README* \
+	         $(DCADEC_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r CHANGELOG.md ]; then \
+	     DOCSDIR=`echo $(DCADEC_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat CHANGELOG.md | head -n 1000 > $$DOCSDIR/CHANGELOG.md ; \
+	     touch -r CHANGELOG.md $$DOCSDIR/CHANGELOG.md ; \
+	   fi \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(DCADEC_PKG))
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" dcadec.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(DCADEC_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+	@touch $@
+
+$(DCADEC_PKG_DESCRIPTION_FILE): $(DCADEC_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(DCADEC_PKG_DESCRIPTION_FILE) $(DCADEC_PKG_INSTALL_SCRIPT)
+	@cp $(DCADEC_PKG_DESCRIPTION_FILE) $(DCADEC_PKG)/.DESCRIPTION
+	@cp $(DCADEC_PKG_INSTALL_SCRIPT) $(DCADEC_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(DCADEC_PKG)/.REQUIRES
+	@echo "pkgname=$(DCADEC_PKG_NAME)"                            >  $(DCADEC_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(DCADEC_PKG_VERSION)"                          >> $(DCADEC_PKG)/.PKGINFO ; \
+	 echo "arch=$(DCADEC_PKG_ARCH)"                               >> $(DCADEC_PKG)/.PKGINFO ; \
+	 echo "distroname=$(DCADEC_PKG_DISTRO_NAME)"                  >> $(DCADEC_PKG)/.PKGINFO ; \
+	 echo "distrover=$(DCADEC_PKG_DISTRO_VERSION)"                >> $(DCADEC_PKG)/.PKGINFO ; \
+	 echo "group=$(DCADEC_PKG_GROUP)"                             >> $(DCADEC_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(DCADEC_PKG_SHORT_DESCRIPTION)\"" >> $(DCADEC_PKG)/.PKGINFO ; \
+	 echo "url=$(DCADEC_PKG_URL)"                                 >> $(DCADEC_PKG)/.PKGINFO ; \
+	 echo "license=$(DCADEC_PKG_LICENSE)"                         >> $(DCADEC_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(DCADEC_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/app/dcadec/0.2.0/PATCHES b/app/dcadec/0.2.0/PATCHES
new file mode 100644
index 000000000..74fbddcf1
--- /dev/null
+++ b/app/dcadec/0.2.0/PATCHES
@@ -0,0 +1,2 @@
+
+../../../sources/packages/m/dcadec/patches/dcadec-0.2.0-cross.patch -p0
diff --git a/app/dcadec/0.2.0/dcadec-pkg-description.in b/app/dcadec/0.2.0/dcadec-pkg-description.in
new file mode 100644
index 000000000..690e794da
--- /dev/null
+++ b/app/dcadec/0.2.0/dcadec-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+      |-----handy-ruler------------------------------------------------------|
+dcadec: dcadec @VERSION@ (DTS Coherent Acoustics decoder)
+dcadec:
+dcadec: dcadec is a free DTS Coherent Acoustics decoder with support
+dcadec: for HD extensions.
+dcadec:
+dcadec:
+dcadec: GitHub: https://github.com/foo86/dcadec
+dcadec:
+dcadec:
+dcadec:
+dcadec:
diff --git a/app/dcadec/0.2.0/dcadec-pkg-install.sh b/app/dcadec/0.2.0/dcadec-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/app/dcadec/0.2.0/dcadec-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/app/eudev/3.1.5/Makefile b/app/eudev/3.1.5/Makefile
index 0b676ceb5..b2428a868 100644
--- a/app/eudev/3.1.5/Makefile
+++ b/app/eudev/3.1.5/Makefile
@@ -217,9 +217,9 @@ $(install_target): $(build_target)
 	# ======= Install the same to $(TARGET_DEST_DIR) =======
 	$(call install-into-devenv, $(EUDEV_PKG))
 	# ======= tune pkg-config *.pc in /usr/share/pkgconfig/udev.pc file =======
+	# ======= but do not touch udevdir variable                         =======
 	@( cd $(TARGET_DEST_DIR)/usr/share/pkgconfig ; \
 	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" udev.pc ; \
-	   sed -i "s,/lib,$(TARGET_DEST_DIR)/lib,g" udev.pc ; \
 	 )
 	# ======= Strip binaries =======
 	@( cd $(EUDEV_PKG)/sbin ; \
diff --git a/app/flac/1.3.1-x86_32/flac-x32-pkg-description.in b/app/flac/1.3.1-x86_32/flac-x32-pkg-description.in
index caef013b6..4b82a1a2a 100644
--- a/app/flac/1.3.1-x86_32/flac-x32-pkg-description.in
+++ b/app/flac/1.3.1-x86_32/flac-x32-pkg-description.in
@@ -6,7 +6,7 @@
 # customary to leave one space after the ':'.
 
         |-----handy-ruler------------------------------------------------------|
-flac-x32: flac-x32 @VERSION@ (Free Lossless Audio Codec)
+flac-x32: flac-x32 @VERSION@ (x86_32 Free Lossless Audio Codec)
 flac-x32:
 flac-x32: FLAC stands for Free Lossless Audio Codec. Grossly oversimplified,
 flac-x32: FLAC is similar to MP3, but lossless. "Free" means that the
diff --git a/app/jack/0.125.0-x86_32/Makefile b/app/jack/0.125.0-x86_32/Makefile
new file mode 100644
index 000000000..09906dd5b
--- /dev/null
+++ b/app/jack/0.125.0-x86_32/Makefile
@@ -0,0 +1,218 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/jackaudio/jack
+
+REQUIRES           = app/jack/0.125.0
+REQUIRES          += app/db/6.1.26-x86_32
+REQUIRES          += libs/libsamplerate/0.1.8-x86_32
+REQUIRES          += libs/zita-alsa-pcmi/0.2.0-x86_32
+REQUIRES          += libs/zita-resampler/1.3.0-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.125.0
+tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/m/jackaudio/jack/jack-audio-connection-kit-$(version).tar.gz
+SRC_ARCHIVE        = $(tar_gz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/jack-audio-connection-kit-$(version)
+src_dir_name       = jack-audio-connection-kit-$(version)
+doc_dir_name       = jack-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = app
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+JACK_32_PKG_NAME                = jack-x32
+JACK_32_PKG_VERSION             = 0.125.0
+JACK_32_PKG_ARCH                = $(TOOLCHAIN)
+JACK_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+JACK_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+JACK_32_PKG_GROUP               = $(PKG_GROUP)
+###                              |---handy-ruler-------------------------------|
+JACK_32_PKG_SHORT_DESCRIPTION   = Low-latency audio server
+JACK_32_PKG_URL                 = $(BUG_URL)
+JACK_32_PKG_LICENSE             = GPLv2
+JACK_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(JACK_32_PKG_NAME)-pkg-description
+JACK_32_PKG_DESCRIPTION_FILE_IN = $(JACK_32_PKG_NAME)-pkg-description.in
+JACK_32_PKG_INSTALL_SCRIPT      = $(JACK_32_PKG_NAME)-pkg-install.sh
+
+JACK_32_PKG      = $(CURDIR)/$(TARGET_BUILD_DIR)/$(JACK_32_PKG_NAME)-package
+
+pkg_basename     = $(JACK_32_PKG_NAME)-$(JACK_32_PKG_VERSION)-$(JACK_32_PKG_ARCH)-$(JACK_32_PKG_DISTRO_NAME)-$(JACK_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(JACK_32_PKG)
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+extra_configure_switches += --enable-alsa
+extra_configure_switches += --enable-cell
+extra_configure_switches += --enable-zalsa
+extra_configure_switches += --disable-portaudio
+extra_configure_switches += --disable-coreaudio
+extra_configure_switches += --disable-sun
+extra_configure_switches += --disable-sndio
+extra_configure_switches += --disable-freebob
+extra_configure_switches += --disable-firewire
+
+extra_configure_switches += --enable-stripped-jackd=no
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=yes
+
+
+CFLAGS += -Wno-maybe-uninitialized -Wno-deprecated-declarations
+CFLAGS += -Wno-discarded-qualifiers -Wno-int-conversion
+CFLAGS += -Wno-unused-but-set-variable -Wno-unused-function
+CFLAGS += -Wno-incompatible-pointer-types
+
+
+TARGET_BIN_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && \
+	  $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(JACK_32_PKG)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(JACK_32_PKG)/usr/include
+	@rm -rf $(JACK_32_PKG)/usr/share
+	# ======= remove target path from target libtool *.la files =======
+	@( cd $(JACK_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libjack.la libjackserver.la ; \
+	 )
+	@( cd $(JACK_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/jack ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" inprocess.la intime.la                 \
+	                                    jack_alsa.la jack_alsa_midi.la         \
+	                                    jack_dummy.la jack_net.la              \
+	                                    jack_oss.la zalsa_in.la zalsa_out.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(JACK_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libjack.la libjackserver.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libjack.la libjackserver.la \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/jack ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" inprocess.la intime.la                 \
+	                                            jack_alsa.la jack_alsa_midi.la         \
+	                                            jack_dummy.la jack_net.la              \
+	                                            jack_oss.la zalsa_in.la zalsa_out.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" inprocess.la intime.la                 \
+	                                              jack_alsa.la jack_alsa_midi.la         \
+	                                              jack_dummy.la jack_net.la              \
+	                                              jack_oss.la zalsa_in.la zalsa_out.la \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" jack.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(JACK_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(JACK_32_PKG)/usr/bin/32 ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(JACK_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(JACK_32_PKG_DESCRIPTION_FILE): $(JACK_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(JACK_32_PKG_DESCRIPTION_FILE) $(JACK_32_PKG_INSTALL_SCRIPT)
+	@cp $(JACK_32_PKG_DESCRIPTION_FILE) $(JACK_32_PKG)/.DESCRIPTION
+	@cp $(JACK_32_PKG_INSTALL_SCRIPT) $(JACK_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(JACK_32_PKG)/.REQUIRES
+	@echo "pkgname=$(JACK_32_PKG_NAME)"                            >  $(JACK_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(JACK_32_PKG_VERSION)"                          >> $(JACK_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(JACK_32_PKG_ARCH)"                               >> $(JACK_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(JACK_32_PKG_DISTRO_NAME)"                  >> $(JACK_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(JACK_32_PKG_DISTRO_VERSION)"                >> $(JACK_32_PKG)/.PKGINFO ; \
+	 echo "group=$(JACK_32_PKG_GROUP)"                             >> $(JACK_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(JACK_32_PKG_SHORT_DESCRIPTION)\"" >> $(JACK_32_PKG)/.PKGINFO ; \
+	 echo "url=$(JACK_32_PKG_URL)"                                 >> $(JACK_32_PKG)/.PKGINFO ; \
+	 echo "license=$(JACK_32_PKG_LICENSE)"                         >> $(JACK_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(JACK_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/app/jack/0.125.0-x86_32/PATCHES b/app/jack/0.125.0-x86_32/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/app/jack/0.125.0-x86_32/jack-x32-pkg-description.in b/app/jack/0.125.0-x86_32/jack-x32-pkg-description.in
new file mode 100644
index 000000000..60cb91f34
--- /dev/null
+++ b/app/jack/0.125.0-x86_32/jack-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler------------------------------------------------------|
+jack-x32: jack-x32 @VERSION@ (x86_32 Low-latency audio server)
+jack-x32:
+jack-x32: JACK is a low-latency audio server, written for any operating
+jack-x32: system that is reasonably POSIX compliant. It currently exists
+jack-x32: for Linux, OS X, Solaris, FreeBSD and Windows. It can connect
+jack-x32: several client applications to an audio device, and allow them
+jack-x32: to share audio with each other. Clients can run as separate
+jack-x32: processes like normal applications, or within the JACK server
+jack-x32: as "plugins".
+jack-x32:
+jack-x32:
diff --git a/app/jack/0.125.0-x86_32/jack-x32-pkg-install.sh b/app/jack/0.125.0-x86_32/jack-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/app/jack/0.125.0-x86_32/jack-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/app/jack/0.125.0/Makefile b/app/jack/0.125.0/Makefile
new file mode 100644
index 000000000..40d4792c6
--- /dev/null
+++ b/app/jack/0.125.0/Makefile
@@ -0,0 +1,264 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/jackaudio/jack
+
+ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
+REQUIRES           = dev/gcc/5.3.0
+endif
+REQUIRES          += app/db/6.1.26
+REQUIRES          += libs/libsamplerate/0.1.8
+REQUIRES          += libs/zita-alsa-pcmi/0.2.0
+REQUIRES          += libs/zita-resampler/1.3.0
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.125.0
+tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/m/jackaudio/jack/jack-audio-connection-kit-$(version).tar.gz
+SRC_ARCHIVE        = $(tar_gz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/jack-audio-connection-kit-$(version)
+src_dir_name       = jack-audio-connection-kit-$(version)
+doc_dir_name       = jack-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+udev_rules         = $(CURDIR)/udev/rules.d
+security_limits    = $(CURDIR)/security/limits.d
+
+
+####### Targets
+
+PKG_GROUP = app
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+JACK_PKG_NAME                = jack
+JACK_PKG_VERSION             = 0.125.0
+JACK_PKG_ARCH                = $(TOOLCHAIN)
+JACK_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+JACK_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+JACK_PKG_GROUP               = $(PKG_GROUP)
+###                           |---handy-ruler-------------------------------|
+JACK_PKG_SHORT_DESCRIPTION   = Low-latency audio server
+JACK_PKG_URL                 = $(BUG_URL)
+JACK_PKG_LICENSE             = GPLv2
+JACK_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(JACK_PKG_NAME)-pkg-description
+JACK_PKG_DESCRIPTION_FILE_IN = $(JACK_PKG_NAME)-pkg-description.in
+JACK_PKG_INSTALL_SCRIPT      = $(JACK_PKG_NAME)-pkg-install.sh
+
+JACK_PKG         = $(CURDIR)/$(TARGET_BUILD_DIR)/$(JACK_PKG_NAME)-package
+
+pkg_basename     = $(JACK_PKG_NAME)-$(JACK_PKG_VERSION)-$(JACK_PKG_ARCH)-$(JACK_PKG_DISTRO_NAME)-$(JACK_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(JACK_PKG)
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(doc_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --enable-alsa
+extra_configure_switches += --enable-cell
+extra_configure_switches += --enable-zalsa
+extra_configure_switches += --disable-portaudio
+extra_configure_switches += --disable-coreaudio
+extra_configure_switches += --disable-sun
+extra_configure_switches += --disable-sndio
+extra_configure_switches += --disable-freebob
+extra_configure_switches += --disable-firewire
+
+extra_configure_switches += --enable-stripped-jackd=no
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=yes
+
+
+CFLAGS += -Wno-maybe-uninitialized -Wno-deprecated-declarations
+CFLAGS += -Wno-discarded-qualifiers -Wno-int-conversion
+CFLAGS += -Wno-unused-but-set-variable -Wno-unused-function
+CFLAGS += -Wno-incompatible-pointer-types
+
+TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && \
+	  $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(JACK_PKG)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@mkdir -p $(JACK_PKG)/lib/udev/rules.d
+	@cp -a $(udev_rules)/40-hpet-permissions.rules $(JACK_PKG)/lib/udev/rules.d/40-hpet-permissions.rules.new
+	@mkdir -p $(JACK_PKG)/etc/security/limits.d
+	@cp -a $(security_limits)/99-audio.conf $(JACK_PKG)/etc/security/limits.d/99-audio.conf.new
+	# ======= Install Documentation =======
+	@if [ -d $(JACK_PKG)/usr/share/man ]; then \
+	  ( cd $(JACK_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(JACK_PKG)/usr/doc/$(doc_dir_name)
+	@cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING* \
+	       $(JACK_PKG)/usr/doc/$(doc_dir_name)
+	@mkdir -p $(JACK_PKG)/usr/share/doc/$(doc_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS COPYING* README TODO \
+	         $(JACK_PKG)/usr/share/doc/$(doc_dir_name) \
+	 )
+	@cp -ar $(JACK_PKG)/usr/share/jack-audio-connection-kit/reference/html \
+	        $(JACK_PKG)/usr/share/doc/$(doc_dir_name)
+	@rm -rf $(JACK_PKG)/usr/share/jack-audio-connection-kit
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog -a -s ChangeLog ]; then \
+	     DOCSDIR=`echo $(JACK_PKG)/usr/share/doc/$(doc_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove target path from target libtool *.la files =======
+	@( cd $(JACK_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libjack.la libjackserver.la ; \
+	 )
+	@( cd $(JACK_PKG)/usr/lib$(LIBSUFFIX)/jack ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" inprocess.la intime.la                 \
+	                                    jack_alsa.la jack_alsa_midi.la         \
+	                                    jack_dummy.la jack_net.la              \
+	                                    jack_oss.la zalsa_in.la zalsa_out.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(JACK_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libjack.la libjackserver.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libjack.la libjackserver.la \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/jack ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" inprocess.la intime.la                 \
+	                                            jack_alsa.la jack_alsa_midi.la         \
+	                                            jack_dummy.la jack_net.la              \
+	                                            jack_oss.la zalsa_in.la zalsa_out.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" inprocess.la intime.la                 \
+	                                              jack_alsa.la jack_alsa_midi.la         \
+	                                              jack_dummy.la jack_net.la              \
+	                                              jack_oss.la zalsa_in.la zalsa_out.la ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" jack.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(JACK_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(JACK_PKG)/usr/bin ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(JACK_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(JACK_PKG_DESCRIPTION_FILE): $(JACK_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(JACK_PKG_DESCRIPTION_FILE) $(JACK_PKG_INSTALL_SCRIPT)
+	@cp $(JACK_PKG_DESCRIPTION_FILE) $(JACK_PKG)/.DESCRIPTION
+	@cp $(JACK_PKG_INSTALL_SCRIPT) $(JACK_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(JACK_PKG)/.REQUIRES
+	@echo "pkgname=$(JACK_PKG_NAME)"                            >  $(JACK_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(JACK_PKG_VERSION)"                          >> $(JACK_PKG)/.PKGINFO ; \
+	 echo "arch=$(JACK_PKG_ARCH)"                               >> $(JACK_PKG)/.PKGINFO ; \
+	 echo "distroname=$(JACK_PKG_DISTRO_NAME)"                  >> $(JACK_PKG)/.PKGINFO ; \
+	 echo "distrover=$(JACK_PKG_DISTRO_VERSION)"                >> $(JACK_PKG)/.PKGINFO ; \
+	 echo "group=$(JACK_PKG_GROUP)"                             >> $(JACK_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(JACK_PKG_SHORT_DESCRIPTION)\"" >> $(JACK_PKG)/.PKGINFO ; \
+	 echo "url=$(JACK_PKG_URL)"                                 >> $(JACK_PKG)/.PKGINFO ; \
+	 echo "license=$(JACK_PKG_LICENSE)"                         >> $(JACK_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(JACK_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/app/jack/0.125.0/PATCHES b/app/jack/0.125.0/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/app/jack/0.125.0/jack-pkg-description.in b/app/jack/0.125.0/jack-pkg-description.in
new file mode 100644
index 000000000..2d1e0a729
--- /dev/null
+++ b/app/jack/0.125.0/jack-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+    |-----handy-ruler------------------------------------------------------|
+jack: jack @VERSION@ (Low-latency audio server)
+jack:
+jack: JACK is a low-latency audio server, written for any operating
+jack: system that is reasonably POSIX compliant. It currently exists
+jack: for Linux, OS X, Solaris, FreeBSD and Windows. It can connect
+jack: several client applications to an audio device, and allow them
+jack: to share audio with each other. Clients can run as separate
+jack: processes like normal applications, or within the JACK server
+jack: as "plugins".
+jack:
+jack:
diff --git a/app/jack/0.125.0/jack-pkg-install.sh b/app/jack/0.125.0/jack-pkg-install.sh
new file mode 100755
index 000000000..cae047d04
--- /dev/null
+++ b/app/jack/0.125.0/jack-pkg-install.sh
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  install_file lib/udev/rules.d/40-hpet-permissions.rules.new
+  install_file etc/security/limits.d/99-audio.conf.new
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/app/jack/0.125.0/security/limits.d/99-audio.conf b/app/jack/0.125.0/security/limits.d/99-audio.conf
new file mode 100644
index 000000000..5971b5011
--- /dev/null
+++ b/app/jack/0.125.0/security/limits.d/99-audio.conf
@@ -0,0 +1,3 @@
+
+@audio          -       rtprio          99
+@audio          -       memlock         unlimited
diff --git a/app/jack/0.125.0/udev/rules.d/40-hpet-permissions.rules b/app/jack/0.125.0/udev/rules.d/40-hpet-permissions.rules
new file mode 100644
index 000000000..8b2e32f7e
--- /dev/null
+++ b/app/jack/0.125.0/udev/rules.d/40-hpet-permissions.rules
@@ -0,0 +1,3 @@
+
+KERNEL=="rtc0", GROUP="audio"
+KERNEL=="hpet", GROUP="audio"
diff --git a/app/mpg123/1.23.3-x86_32/Makefile b/app/mpg123/1.23.3-x86_32/Makefile
index 2ecec5b33..7ce24f134 100644
--- a/app/mpg123/1.23.3-x86_32/Makefile
+++ b/app/mpg123/1.23.3-x86_32/Makefile
@@ -15,6 +15,8 @@ SOURCE_REQUIRES    = sources/packages/m/mpg123
 REQUIRES           = app/mpg123/1.23.3
 REQUIRES          += libs/alsa-oss/1.0.28-x86_32
 REQUIRES          += app/esound/0.2.41-x86_32
+REQUIRES          += libs/portaudio/19-20140130-x86_32
+REQUIRES          += app/jack/0.125.0-x86_32
 
 # ======= __END_OF_REQUIRES__ =======
 
@@ -93,9 +95,9 @@ extra_configure_switches += --with-default-audio=alsa
 #   in this stage we have only alsa and esound.
 #   Additional available output plugins are:
 #
-#      portaudio, pulse, sdl
+#      pulse, sdl
 #
-extra_configure_switches += --with-audio=alsa,oss,esd
+extra_configure_switches += --with-audio=alsa,oss,esd,portaudio,jack
 
 extra_configure_switches += --enable-shared=yes
 extra_configure_switches += --enable-static=yes
@@ -134,10 +136,12 @@ $(install_target): $(build_target)
 	   sed -i "s,$(TARGET_DEST_DIR),,g" libmpg123.la libout123.la ; \
 	 )
 	@( cd $(MPG123_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/mpg123 ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g" output_alsa.la  \
-	                                    output_dummy.la \
-	                                    output_esd.la   \
-	                                    output_oss.la   \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" output_alsa.la        \
+	                                    output_dummy.la       \
+	                                    output_esd.la         \
+	                                    output_jack.la        \
+	                                    output_oss.la         \
+	                                    output_portaudio.la ; \
 	 )
 	# ======= Install the same to $(TARGET_DEST_DIR) =======
 	$(call install-into-devenv, $(MPG123_32_PKG))
@@ -147,14 +151,18 @@ $(install_target): $(build_target)
 	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libmpg123.la libout123.la \
 	 )
 	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/mpg123 ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" output_alsa.la    \
-	                                            output_dummy.la   \
-	                                            output_esd.la     \
-	                                            output_oss.la   ; \
-	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" output_alsa.la  \
-	                                              output_dummy.la \
-	                                              output_esd.la   \
-	                                              output_oss.la   \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" output_alsa.la        \
+	                                            output_dummy.la       \
+	                                            output_esd.la         \
+	                                            output_jack.la        \
+	                                            output_oss.la         \
+	                                            output_portaudio.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" output_alsa.la        \
+	                                              output_dummy.la       \
+	                                              output_esd.la         \
+	                                              output_jack.la        \
+	                                              output_oss.la         \
+	                                              output_portaudio.la ; \
 	 )
 	# ======= tune pkg-config *.pc search path to the target destination for development =======
 	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
diff --git a/app/mpg123/1.23.3/Makefile b/app/mpg123/1.23.3/Makefile
index 882dcfe7e..2595ddafa 100644
--- a/app/mpg123/1.23.3/Makefile
+++ b/app/mpg123/1.23.3/Makefile
@@ -28,6 +28,8 @@ REQUIRES           = dev/gcc/5.3.0
 endif
 REQUIRES          += libs/alsa-oss/1.0.28
 REQUIRES          += app/esound/0.2.41
+REQUIRES          += libs/portaudio/19-20140130
+REQUIRES          += app/jack/0.125.0
 
 # ======= __END_OF_REQUIRES__ =======
 
@@ -103,9 +105,9 @@ extra_configure_switches += --with-default-audio=alsa
 #   in this stage we have only alsa and esound.
 #   Additional available output plugins are:
 #
-#      portaudio, pulse, sdl
+#      pulse, sdl
 #
-extra_configure_switches += --with-audio=alsa,oss,esd
+extra_configure_switches += --with-audio=alsa,oss,esd,portaudio,jack
 
 extra_configure_switches += --enable-shared=yes
 extra_configure_switches += --enable-static=yes
@@ -206,10 +208,12 @@ $(install_target): $(build_target)
 	   sed -i "s,$(TARGET_DEST_DIR),,g" libmpg123.la libout123.la ; \
 	 )
 	@( cd $(MPG123_PKG)/usr/lib$(LIBSUFFIX)/mpg123 ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g" output_alsa.la  \
-	                                    output_dummy.la \
-	                                    output_esd.la   \
-	                                    output_oss.la   \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" output_alsa.la        \
+	                                    output_dummy.la       \
+	                                    output_esd.la         \
+	                                    output_jack.la        \
+	                                    output_oss.la         \
+	                                    output_portaudio.la ; \
 	 )
 	# ======= Install the same to $(TARGET_DEST_DIR) =======
 	$(call install-into-devenv, $(MPG123_PKG))
@@ -219,14 +223,18 @@ $(install_target): $(build_target)
 	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libmpg123.la libout123.la \
 	 )
 	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/mpg123 ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" output_alsa.la    \
-	                                            output_dummy.la   \
-	                                            output_esd.la     \
-	                                            output_oss.la   ; \
-	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" output_alsa.la  \
-	                                              output_dummy.la \
-	                                              output_esd.la   \
-	                                              output_oss.la   \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" output_alsa.la        \
+	                                            output_dummy.la       \
+	                                            output_esd.la         \
+	                                            output_jack.la        \
+	                                            output_oss.la         \
+	                                            output_portaudio.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" output_alsa.la        \
+	                                              output_dummy.la       \
+	                                              output_esd.la         \
+	                                              output_jack.la        \
+	                                              output_oss.la         \
+	                                              output_portaudio.la ; \
 	 )
 	# ======= tune pkg-config *.pc search path to the target destination for development =======
 	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
diff --git a/app/openjpeg/1.5.2-x86_32/Makefile b/app/openjpeg/1.5.2-x86_32/Makefile
new file mode 100644
index 000000000..5d363e0bb
--- /dev/null
+++ b/app/openjpeg/1.5.2-x86_32/Makefile
@@ -0,0 +1,185 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/openjpeg
+
+REQUIRES           = app/openjpeg/1.5.2
+REQUIRES          += libs/lcms2/2.7-x86_32
+REQUIRES          += libs/libpng/libpng14/1.4.19-x86_32
+REQUIRES          += libs/libtiff/4.0.6-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.5.2
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/m/openjpeg/openjpeg-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/openjpeg-$(version)
+src_dir_name       = openjpeg-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = app
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+OPENJPEG_32_PKG_NAME                = openjpeg-x32
+OPENJPEG_32_PKG_VERSION             = 1.5.2
+OPENJPEG_32_PKG_ARCH                = $(TOOLCHAIN)
+OPENJPEG_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+OPENJPEG_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+OPENJPEG_32_PKG_GROUP               = $(PKG_GROUP)
+###                                  |---handy-ruler-------------------------------|
+OPENJPEG_32_PKG_SHORT_DESCRIPTION   = JPEG 2000 codec
+OPENJPEG_32_PKG_URL                 = $(BUG_URL)
+OPENJPEG_32_PKG_LICENSE             = BSD
+OPENJPEG_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(OPENJPEG_32_PKG_NAME)-pkg-description
+OPENJPEG_32_PKG_DESCRIPTION_FILE_IN = $(OPENJPEG_32_PKG_NAME)-pkg-description.in
+OPENJPEG_32_PKG_INSTALL_SCRIPT      = $(OPENJPEG_32_PKG_NAME)-pkg-install.sh
+
+OPENJPEG_32_PKG  = $(CURDIR)/$(TARGET_BUILD_DIR)/$(OPENJPEG_32_PKG_NAME)-package
+
+pkg_basename     = $(OPENJPEG_32_PKG_NAME)-$(OPENJPEG_32_PKG_VERSION)-$(OPENJPEG_32_PKG_ARCH)-$(OPENJPEG_32_PKG_DISTRO_NAME)-$(OPENJPEG_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(OPENJPEG_32_PKG)
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+extra_configure_switches += --disable-silent-rules
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=yes
+
+
+TARGET_BIN_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && \
+	  $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(OPENJPEG_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(OPENJPEG_32_PKG)/usr/include
+	@rm -rf $(OPENJPEG_32_PKG)/usr/share
+	# ======= remove target path from target libtool *.la files =======
+	@( cd $(OPENJPEG_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libopenjpeg.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(OPENJPEG_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libopenjpeg.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libopenjpeg.la \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libopenjpeg1.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(OPENJPEG_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(OPENJPEG_32_PKG)/usr/bin/32 ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(OPENJPEG_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(OPENJPEG_32_PKG_DESCRIPTION_FILE): $(OPENJPEG_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(OPENJPEG_32_PKG_DESCRIPTION_FILE) $(OPENJPEG_32_PKG_INSTALL_SCRIPT)
+	@cp $(OPENJPEG_32_PKG_DESCRIPTION_FILE) $(OPENJPEG_32_PKG)/.DESCRIPTION
+	@cp $(OPENJPEG_32_PKG_INSTALL_SCRIPT) $(OPENJPEG_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(OPENJPEG_32_PKG)/.REQUIRES
+	@echo "pkgname=$(OPENJPEG_32_PKG_NAME)"                            >  $(OPENJPEG_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(OPENJPEG_32_PKG_VERSION)"                          >> $(OPENJPEG_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(OPENJPEG_32_PKG_ARCH)"                               >> $(OPENJPEG_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(OPENJPEG_32_PKG_DISTRO_NAME)"                  >> $(OPENJPEG_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(OPENJPEG_32_PKG_DISTRO_VERSION)"                >> $(OPENJPEG_32_PKG)/.PKGINFO ; \
+	 echo "group=$(OPENJPEG_32_PKG_GROUP)"                             >> $(OPENJPEG_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(OPENJPEG_32_PKG_SHORT_DESCRIPTION)\"" >> $(OPENJPEG_32_PKG)/.PKGINFO ; \
+	 echo "url=$(OPENJPEG_32_PKG_URL)"                                 >> $(OPENJPEG_32_PKG)/.PKGINFO ; \
+	 echo "license=$(OPENJPEG_32_PKG_LICENSE)"                         >> $(OPENJPEG_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(OPENJPEG_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/app/openjpeg/1.5.2-x86_32/PATCHES b/app/openjpeg/1.5.2-x86_32/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/app/openjpeg/1.5.2-x86_32/openjpeg-x32-pkg-description.in b/app/openjpeg/1.5.2-x86_32/openjpeg-x32-pkg-description.in
new file mode 100644
index 000000000..397abde53
--- /dev/null
+++ b/app/openjpeg/1.5.2-x86_32/openjpeg-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+            |-----handy-ruler------------------------------------------------------|
+openjpeg-x32: openjpeg-x32 @VERSION@ (x86_32 JPEG 2000 codec)
+openjpeg-x32:
+openjpeg-x32: OpenJPEG is an open-source JPEG 2000 codec written in C language.
+openjpeg-x32: It has been developed in order to promote the use of JPEG 2000,
+openjpeg-x32: a still-image compression standard from the Joint Photographic
+openjpeg-x32: Experts Group (JPEG). Since may 2015, it is officially recognized
+openjpeg-x32: by ISO/IEC and ITU-T as a JPEG 2000 Reference Software.
+openjpeg-x32:
+openjpeg-x32: Homepage: http://www.openjpeg.org
+openjpeg-x32:
+openjpeg-x32:
diff --git a/app/openjpeg/1.5.2-x86_32/openjpeg-x32-pkg-install.sh b/app/openjpeg/1.5.2-x86_32/openjpeg-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/app/openjpeg/1.5.2-x86_32/openjpeg-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/app/openjpeg/1.5.2/Makefile b/app/openjpeg/1.5.2/Makefile
new file mode 100644
index 000000000..b124d931f
--- /dev/null
+++ b/app/openjpeg/1.5.2/Makefile
@@ -0,0 +1,226 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/openjpeg
+
+ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
+REQUIRES           = dev/gcc/5.3.0
+endif
+REQUIRES          += libs/lcms2/2.7
+REQUIRES          += libs/libpng/libpng14/1.4.19
+REQUIRES          += libs/libtiff/4.0.6
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.5.2
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/m/openjpeg/openjpeg-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/openjpeg-$(version)
+src_dir_name       = openjpeg-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = app
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+OPENJPEG_PKG_NAME                = openjpeg
+OPENJPEG_PKG_VERSION             = 1.5.2
+OPENJPEG_PKG_ARCH                = $(TOOLCHAIN)
+OPENJPEG_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+OPENJPEG_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+OPENJPEG_PKG_GROUP               = $(PKG_GROUP)
+###                               |---handy-ruler-------------------------------|
+OPENJPEG_PKG_SHORT_DESCRIPTION   = JPEG 2000 codec
+OPENJPEG_PKG_URL                 = $(BUG_URL)
+OPENJPEG_PKG_LICENSE             = BSD
+OPENJPEG_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(OPENJPEG_PKG_NAME)-pkg-description
+OPENJPEG_PKG_DESCRIPTION_FILE_IN = $(OPENJPEG_PKG_NAME)-pkg-description.in
+OPENJPEG_PKG_INSTALL_SCRIPT      = $(OPENJPEG_PKG_NAME)-pkg-install.sh
+
+OPENJPEG_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(OPENJPEG_PKG_NAME)-package
+
+pkg_basename     = $(OPENJPEG_PKG_NAME)-$(OPENJPEG_PKG_VERSION)-$(OPENJPEG_PKG_ARCH)-$(OPENJPEG_PKG_DISTRO_NAME)-$(OPENJPEG_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(OPENJPEG_PKG)
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --disable-silent-rules
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=yes
+
+
+TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && \
+	  $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(OPENJPEG_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@( cd $(OPENJPEG_PKG)/usr/share/doc ; \
+	   rm -rf openjpeg-$(version)-?.? ; \
+	 )
+	# ======= Install Documentation =======
+	@if [ -d $(OPENJPEG_PKG)/usr/share/man ]; then \
+	  ( cd $(OPENJPEG_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(OPENJPEG_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/LICENSE \
+	       $(OPENJPEG_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(OPENJPEG_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS LICENSE INSTALL NEWS README THANKS \
+	         $(OPENJPEG_PKG)/usr/share/doc/$(src_dir_name) \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r CHANGES -a -s CHANGES ]; then \
+	     DOCSDIR=`echo $(OPENJPEG_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat CHANGES | head -n 1000 > $$DOCSDIR/CHANGES ; \
+	     touch -r CHANGES $$DOCSDIR/CHANGES ; \
+	   fi \
+	 )
+	# ======= remove target path from target libtool *.la files =======
+	@( cd $(OPENJPEG_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libopenjpeg.la \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(OPENJPEG_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libopenjpeg.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libopenjpeg.la \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libopenjpeg1.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(OPENJPEG_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(OPENJPEG_PKG)/usr/bin ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(OPENJPEG_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(OPENJPEG_PKG_DESCRIPTION_FILE): $(OPENJPEG_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(OPENJPEG_PKG_DESCRIPTION_FILE) $(OPENJPEG_PKG_INSTALL_SCRIPT)
+	@cp $(OPENJPEG_PKG_DESCRIPTION_FILE) $(OPENJPEG_PKG)/.DESCRIPTION
+	@cp $(OPENJPEG_PKG_INSTALL_SCRIPT) $(OPENJPEG_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(OPENJPEG_PKG)/.REQUIRES
+	@echo "pkgname=$(OPENJPEG_PKG_NAME)"                            >  $(OPENJPEG_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(OPENJPEG_PKG_VERSION)"                          >> $(OPENJPEG_PKG)/.PKGINFO ; \
+	 echo "arch=$(OPENJPEG_PKG_ARCH)"                               >> $(OPENJPEG_PKG)/.PKGINFO ; \
+	 echo "distroname=$(OPENJPEG_PKG_DISTRO_NAME)"                  >> $(OPENJPEG_PKG)/.PKGINFO ; \
+	 echo "distrover=$(OPENJPEG_PKG_DISTRO_VERSION)"                >> $(OPENJPEG_PKG)/.PKGINFO ; \
+	 echo "group=$(OPENJPEG_PKG_GROUP)"                             >> $(OPENJPEG_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(OPENJPEG_PKG_SHORT_DESCRIPTION)\"" >> $(OPENJPEG_PKG)/.PKGINFO ; \
+	 echo "url=$(OPENJPEG_PKG_URL)"                                 >> $(OPENJPEG_PKG)/.PKGINFO ; \
+	 echo "license=$(OPENJPEG_PKG_LICENSE)"                         >> $(OPENJPEG_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(OPENJPEG_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/app/openjpeg/1.5.2/PATCHES b/app/openjpeg/1.5.2/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/app/openjpeg/1.5.2/openjpeg-pkg-description.in b/app/openjpeg/1.5.2/openjpeg-pkg-description.in
new file mode 100644
index 000000000..29ba30ed5
--- /dev/null
+++ b/app/openjpeg/1.5.2/openjpeg-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler------------------------------------------------------|
+openjpeg: openjpeg @VERSION@ (JPEG 2000 codec)
+openjpeg:
+openjpeg: OpenJPEG is an open-source JPEG 2000 codec written in C language.
+openjpeg: It has been developed in order to promote the use of JPEG 2000,
+openjpeg: a still-image compression standard from the Joint Photographic
+openjpeg: Experts Group (JPEG). Since may 2015, it is officially recognized
+openjpeg: by ISO/IEC and ITU-T as a JPEG 2000 Reference Software.
+openjpeg:
+openjpeg: Homepage: http://www.openjpeg.org
+openjpeg:
+openjpeg:
diff --git a/app/openjpeg/1.5.2/openjpeg-pkg-install.sh b/app/openjpeg/1.5.2/openjpeg-pkg-install.sh
new file mode 100755
index 000000000..b44c4e648
--- /dev/null
+++ b/app/openjpeg/1.5.2/openjpeg-pkg-install.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/app/openjpeg2/2.1.2-x86_32/Makefile b/app/openjpeg2/2.1.2-x86_32/Makefile
new file mode 100644
index 000000000..a930c0ab3
--- /dev/null
+++ b/app/openjpeg2/2.1.2-x86_32/Makefile
@@ -0,0 +1,189 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/openjpeg2
+
+REQUIRES           = app/openjpeg2/2.1.2
+REQUIRES          += libs/lcms2/2.7-x86_32
+REQUIRES          += libs/libpng/libpng14/1.4.19-x86_32
+REQUIRES          += libs/libtiff/4.0.6-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 2.1.2
+short_version      = $(shell echo $(version) | cut -f1,2 -d '.')
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/m/openjpeg2/openjpeg-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/openjpeg-$(version)
+src_dir_name       = openjpeg-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = app
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+OPENJPEG_32_PKG_NAME                = openjpeg2-x32
+OPENJPEG_32_PKG_VERSION             = 2.1.2
+OPENJPEG_32_PKG_ARCH                = $(TOOLCHAIN)
+OPENJPEG_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+OPENJPEG_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+OPENJPEG_32_PKG_GROUP               = $(PKG_GROUP)
+###                                  |---handy-ruler-------------------------------|
+OPENJPEG_32_PKG_SHORT_DESCRIPTION   = JPEG 2000 codec
+OPENJPEG_32_PKG_URL                 = $(BUG_URL)
+OPENJPEG_32_PKG_LICENSE             = BSD
+OPENJPEG_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(OPENJPEG_32_PKG_NAME)-pkg-description
+OPENJPEG_32_PKG_DESCRIPTION_FILE_IN = $(OPENJPEG_32_PKG_NAME)-pkg-description.in
+OPENJPEG_32_PKG_INSTALL_SCRIPT      = $(OPENJPEG_32_PKG_NAME)-pkg-install.sh
+
+OPENJPEG_32_PKG  = $(CURDIR)/$(TARGET_BUILD_DIR)/$(OPENJPEG_32_PKG_NAME)-package
+
+pkg_basename     = $(OPENJPEG_32_PKG_NAME)-$(OPENJPEG_32_PKG_VERSION)-$(OPENJPEG_32_PKG_ARCH)-$(OPENJPEG_32_PKG_DISTRO_NAME)-$(OPENJPEG_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(OPENJPEG_32_PKG)
+
+TARGET_BIN_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+configure_switches  = -DCMAKE_BUILD_TYPE='Release'
+
+configure_switches += -DCMAKE_C_COMPILER='$(CROSS_PREFIX)gcc'
+configure_switches += -DCMAKE_LINKER='$(CROSS_PREFIX)ld'
+configure_switches += -DCMAKE_AR='$(CROSS_PREFIX)ar'
+configure_switches += -DCMAKE_NM='$(CROSS_PREFIX)nm'
+configure_switches += -DCMAKE_RANLIB='$(CROSS_PREFIX)ranlib'
+configure_switches += -DCMAKE_OBJCOPY='$(CROSS_PREFIX)objcopy'
+configure_switches += -DCMAKE_OBJDUMP='$(CROSS_PREFIX)objdump'
+configure_switches += -DCMAKE_STRIP='$(CROSS_PREFIX)strip'
+
+configure_switches += -DCMAKE_C_FLAGS:STRING='--sysroot=$(TARGET_DEST_DIR) -m32 $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS)'
+
+configure_switches += -DCMAKE_EXE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_BIN_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
+configure_switches += -DCMAKE_MODULE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
+configure_switches += -DCMAKE_SHARED_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
+
+configure_switches += -DBUILD_DOC=off
+
+configure_switches += -DCMAKE_INSTALL_PREFIX=/usr
+
+configure_switches += -DOPENJPEG_INSTALL_BIN_DIR='bin/32'
+configure_switches += -DOPENJPEG_INSTALL_MAN_DIR='share/man'
+configure_switches += -DOPENJPEG_INSTALL_DOC_DIR='share/doc/openjpeg-$(version)'
+configure_switches += -DOPENJPEG_INSTALL_LIB_DIR='lib$(MULTILIB_X86_32_SUFFIX)'
+configure_switches += -DOPENJPEG_INSTALL_INCLUDE_DIR='include/openjpeg-$(short_version)'
+
+configure_switches += -DCMAKE_CROSSCOMPILING=True
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) cmake $(configure_switches) ../$(src_dir_name) ; \
+	 )
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) $(MAKE) ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(OPENJPEG_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(OPENJPEG_32_PKG)/usr/include
+	@rm -rf $(OPENJPEG_32_PKG)/usr/share
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(OPENJPEG_32_PKG))
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libopenjp2.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(OPENJPEG_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(OPENJPEG_32_PKG)/usr/bin/32 ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(OPENJPEG_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(OPENJPEG_32_PKG_DESCRIPTION_FILE): $(OPENJPEG_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(OPENJPEG_32_PKG_DESCRIPTION_FILE) $(OPENJPEG_32_PKG_INSTALL_SCRIPT)
+	@cp $(OPENJPEG_32_PKG_DESCRIPTION_FILE) $(OPENJPEG_32_PKG)/.DESCRIPTION
+	@cp $(OPENJPEG_32_PKG_INSTALL_SCRIPT) $(OPENJPEG_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(OPENJPEG_32_PKG)/.REQUIRES
+	@echo "pkgname=$(OPENJPEG_32_PKG_NAME)"                            >  $(OPENJPEG_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(OPENJPEG_32_PKG_VERSION)"                          >> $(OPENJPEG_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(OPENJPEG_32_PKG_ARCH)"                               >> $(OPENJPEG_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(OPENJPEG_32_PKG_DISTRO_NAME)"                  >> $(OPENJPEG_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(OPENJPEG_32_PKG_DISTRO_VERSION)"                >> $(OPENJPEG_32_PKG)/.PKGINFO ; \
+	 echo "group=$(OPENJPEG_32_PKG_GROUP)"                             >> $(OPENJPEG_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(OPENJPEG_32_PKG_SHORT_DESCRIPTION)\"" >> $(OPENJPEG_32_PKG)/.PKGINFO ; \
+	 echo "url=$(OPENJPEG_32_PKG_URL)"                                 >> $(OPENJPEG_32_PKG)/.PKGINFO ; \
+	 echo "license=$(OPENJPEG_32_PKG_LICENSE)"                         >> $(OPENJPEG_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(OPENJPEG_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/app/openjpeg2/2.1.2-x86_32/PATCHES b/app/openjpeg2/2.1.2-x86_32/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/app/openjpeg2/2.1.2-x86_32/openjpeg2-x32-pkg-description.in b/app/openjpeg2/2.1.2-x86_32/openjpeg2-x32-pkg-description.in
new file mode 100644
index 000000000..131dff70b
--- /dev/null
+++ b/app/openjpeg2/2.1.2-x86_32/openjpeg2-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+             |-----handy-ruler------------------------------------------------------|
+openjpeg2-x32: openjpeg2-x32 @VERSION@ (x86_32 JPEG 2000 codec)
+openjpeg2-x32:
+openjpeg2-x32: OpenJPEG is an open-source JPEG 2000 codec written in C language.
+openjpeg2-x32: It has been developed in order to promote the use of JPEG 2000,
+openjpeg2-x32: a still-image compression standard from the Joint Photographic
+openjpeg2-x32: Experts Group (JPEG). Since may 2015, it is officially recognized
+openjpeg2-x32: by ISO/IEC and ITU-T as a JPEG 2000 Reference Software.
+openjpeg2-x32:
+openjpeg2-x32: Homepage: http://www.openjpeg.org
+openjpeg2-x32:
+openjpeg2-x32:
diff --git a/app/openjpeg2/2.1.2-x86_32/openjpeg2-x32-pkg-install.sh b/app/openjpeg2/2.1.2-x86_32/openjpeg2-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/app/openjpeg2/2.1.2-x86_32/openjpeg2-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/app/openjpeg2/2.1.2/Makefile b/app/openjpeg2/2.1.2/Makefile
new file mode 100644
index 000000000..ef5c238b0
--- /dev/null
+++ b/app/openjpeg2/2.1.2/Makefile
@@ -0,0 +1,245 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/openjpeg2
+
+ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
+REQUIRES           = dev/gcc/5.3.0
+endif
+REQUIRES          += libs/lcms2/2.7
+REQUIRES          += libs/libpng/libpng14/1.4.19
+REQUIRES          += libs/libtiff/4.0.6
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 2.1.2
+short_version      = $(shell echo $(version) | cut -f1,2 -d '.')
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/m/openjpeg2/openjpeg-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/openjpeg-$(version)
+src_dir_name       = openjpeg-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = app
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+OPENJPEG_PKG_NAME                = openjpeg2
+OPENJPEG_PKG_VERSION             = 2.1.2
+OPENJPEG_PKG_ARCH                = $(TOOLCHAIN)
+OPENJPEG_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+OPENJPEG_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+OPENJPEG_PKG_GROUP               = $(PKG_GROUP)
+###                               |---handy-ruler-------------------------------|
+OPENJPEG_PKG_SHORT_DESCRIPTION   = JPEG 2000 codec
+OPENJPEG_PKG_URL                 = $(BUG_URL)
+OPENJPEG_PKG_LICENSE             = BSD
+OPENJPEG_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(OPENJPEG_PKG_NAME)-pkg-description
+OPENJPEG_PKG_DESCRIPTION_FILE_IN = $(OPENJPEG_PKG_NAME)-pkg-description.in
+OPENJPEG_PKG_INSTALL_SCRIPT      = $(OPENJPEG_PKG_NAME)-pkg-install.sh
+
+OPENJPEG_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(OPENJPEG_PKG_NAME)-package
+
+pkg_basename     = $(OPENJPEG_PKG_NAME)-$(OPENJPEG_PKG_VERSION)-$(OPENJPEG_PKG_ARCH)-$(OPENJPEG_PKG_DISTRO_NAME)-$(OPENJPEG_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(OPENJPEG_PKG)
+
+
+TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+
+configure_switches  = -DCMAKE_BUILD_TYPE='Release'
+
+configure_switches += -DCMAKE_C_COMPILER='$(CROSS_PREFIX)gcc'
+configure_switches += -DCMAKE_LINKER='$(CROSS_PREFIX)ld'
+configure_switches += -DCMAKE_AR='$(CROSS_PREFIX)ar'
+configure_switches += -DCMAKE_NM='$(CROSS_PREFIX)nm'
+configure_switches += -DCMAKE_RANLIB='$(CROSS_PREFIX)ranlib'
+configure_switches += -DCMAKE_OBJCOPY='$(CROSS_PREFIX)objcopy'
+configure_switches += -DCMAKE_OBJDUMP='$(CROSS_PREFIX)objdump'
+configure_switches += -DCMAKE_STRIP='$(CROSS_PREFIX)strip'
+
+configure_switches += -DCMAKE_C_FLAGS:STRING='--sysroot=$(TARGET_DEST_DIR) $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS)'
+
+ifneq ($(filter $(HARDWARE),$(HARDWARE_PC32)),)
+#
+# add private required libraries (for i486 only):
+#
+configure_switches += -DCMAKE_EXE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -Wl,-rpath,$(TARGET_BIN_RPATH) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) -lpthread -llzma -ljbig -ljpeg -lz -lm'
+else
+configure_switches += -DCMAKE_EXE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -Wl,-rpath,$(TARGET_BIN_RPATH) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)'
+endif
+configure_switches += -DCMAKE_MODULE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)'
+configure_switches += -DCMAKE_SHARED_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)'
+
+
+ifeq ($(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC))
+configure_switches += -DCMAKE_C_FLAGS_RELEASE='-O2 -DNDEBUG'
+configure_switches += -DCMAKE_CXX_FLAGS_RELEASE='-O2 -DNDEBUG'
+configure_switches += -DCMAKE_ASM_FLAGS_RELEASE='-O2 -DNDEBUG'
+endif
+
+configure_switches += -DBUILD_DOC=on
+
+configure_switches += -DCMAKE_INSTALL_PREFIX=/usr
+
+configure_switches += -DOPENJPEG_INSTALL_BIN_DIR='bin'
+configure_switches += -DOPENJPEG_INSTALL_MAN_DIR='share/man'
+configure_switches += -DOPENJPEG_INSTALL_DOC_DIR='share/doc/openjpeg-$(version)'
+configure_switches += -DOPENJPEG_INSTALL_LIB_DIR='lib$(LIBSUFFIX)'
+configure_switches += -DOPENJPEG_INSTALL_INCLUDE_DIR='include/openjpeg-$(short_version)'
+
+configure_switches += -DCMAKE_CROSSCOMPILING=True
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) cmake $(configure_switches) ../$(src_dir_name) ; \
+	 )
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) $(MAKE) ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(OPENJPEG_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@( cd $(OPENJPEG_PKG)/usr/share/doc ; mv html $(src_dir_name) ; )
+	# ======= Install Documentation =======
+	@if [ -d $(OPENJPEG_PKG)/usr/share/man ]; then \
+	  ( cd $(OPENJPEG_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(OPENJPEG_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/AUTHORS* $(SRC_DIR)/LICENSE \
+	       $(OPENJPEG_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(OPENJPEG_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS* INSTALL* NEWS* README* THANKS* \
+	         $(OPENJPEG_PKG)/usr/share/doc/$(src_dir_name) \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r CHANGELOG.md -a -s CHANGELOG.md ]; then \
+	     DOCSDIR=`echo $(OPENJPEG_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat CHANGELOG.md | head -n 1000 > $$DOCSDIR/CHANGELOG.md ; \
+	     touch -r CHANGELOG.md $$DOCSDIR/CHANGELOG.md ; \
+	   fi \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(OPENJPEG_PKG))
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libopenjp2.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(OPENJPEG_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(OPENJPEG_PKG)/usr/bin ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(OPENJPEG_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(OPENJPEG_PKG_DESCRIPTION_FILE): $(OPENJPEG_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(OPENJPEG_PKG_DESCRIPTION_FILE) $(OPENJPEG_PKG_INSTALL_SCRIPT)
+	@cp $(OPENJPEG_PKG_DESCRIPTION_FILE) $(OPENJPEG_PKG)/.DESCRIPTION
+	@cp $(OPENJPEG_PKG_INSTALL_SCRIPT) $(OPENJPEG_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(OPENJPEG_PKG)/.REQUIRES
+	@echo "pkgname=$(OPENJPEG_PKG_NAME)"                            >  $(OPENJPEG_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(OPENJPEG_PKG_VERSION)"                          >> $(OPENJPEG_PKG)/.PKGINFO ; \
+	 echo "arch=$(OPENJPEG_PKG_ARCH)"                               >> $(OPENJPEG_PKG)/.PKGINFO ; \
+	 echo "distroname=$(OPENJPEG_PKG_DISTRO_NAME)"                  >> $(OPENJPEG_PKG)/.PKGINFO ; \
+	 echo "distrover=$(OPENJPEG_PKG_DISTRO_VERSION)"                >> $(OPENJPEG_PKG)/.PKGINFO ; \
+	 echo "group=$(OPENJPEG_PKG_GROUP)"                             >> $(OPENJPEG_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(OPENJPEG_PKG_SHORT_DESCRIPTION)\"" >> $(OPENJPEG_PKG)/.PKGINFO ; \
+	 echo "url=$(OPENJPEG_PKG_URL)"                                 >> $(OPENJPEG_PKG)/.PKGINFO ; \
+	 echo "license=$(OPENJPEG_PKG_LICENSE)"                         >> $(OPENJPEG_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(OPENJPEG_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/app/openjpeg2/2.1.2/PATCHES b/app/openjpeg2/2.1.2/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/app/openjpeg2/2.1.2/openjpeg2-pkg-description.in b/app/openjpeg2/2.1.2/openjpeg2-pkg-description.in
new file mode 100644
index 000000000..3074034d7
--- /dev/null
+++ b/app/openjpeg2/2.1.2/openjpeg2-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+         |-----handy-ruler------------------------------------------------------|
+openjpeg2: openjpeg2 @VERSION@ (JPEG 2000 codec)
+openjpeg2:
+openjpeg2: OpenJPEG is an open-source JPEG 2000 codec written in C language.
+openjpeg2: It has been developed in order to promote the use of JPEG 2000,
+openjpeg2: a still-image compression standard from the Joint Photographic
+openjpeg2: Experts Group (JPEG). Since may 2015, it is officially recognized
+openjpeg2: by ISO/IEC and ITU-T as a JPEG 2000 Reference Software.
+openjpeg2:
+openjpeg2: Homepage: http://www.openjpeg.org
+openjpeg2:
+openjpeg2:
diff --git a/app/openjpeg2/2.1.2/openjpeg2-pkg-install.sh b/app/openjpeg2/2.1.2/openjpeg2-pkg-install.sh
new file mode 100755
index 000000000..b44c4e648
--- /dev/null
+++ b/app/openjpeg2/2.1.2/openjpeg2-pkg-install.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/app/postgresql/9.6.0-x86_32/Makefile b/app/postgresql/9.6.0-x86_32/Makefile
new file mode 100644
index 000000000..5e86acb72
--- /dev/null
+++ b/app/postgresql/9.6.0-x86_32/Makefile
@@ -0,0 +1,274 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/b/postgresql
+
+REQUIRES           = app/postgresql/9.6.0
+REQUIRES          += dev/perl/5.22.1-x86_32
+REQUIRES          += dev/python2/2.7.11-x86_32
+REQUIRES          += dev/python3/3.5.1-x86_32
+REQUIRES          += libs/libxml2/2.9.3-x86_32
+REQUIRES          += libs/libxslt/1.1.28-x86_32
+REQUIRES          += net/openssl/1.0.2f-x86_32
+REQUIRES          += secure/pam_unix2/2.9.1-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 9.6.0
+pg_version         = $(shell echo $(version) | cut -f1,2 -d '.')
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/b/postgresql/postgresql-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/postgresql-$(version)
+src_dir_name       = postgresql-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+abs_build_dir      = $(CURDIR)/$(build_dir)
+
+
+####### Targets
+
+PKG_GROUP = app
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+PGSQL_32_PKG_NAME                = postgresql-x32
+PGSQL_32_PKG_VERSION             = 9.6.0
+PGSQL_32_PKG_ARCH                = $(TOOLCHAIN)
+PGSQL_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+PGSQL_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+PGSQL_32_PKG_GROUP               = $(PKG_GROUP)
+###                               |---handy-ruler-------------------------------|
+PGSQL_32_PKG_SHORT_DESCRIPTION   = database management system
+PGSQL_32_PKG_URL                 = $(BUG_URL)
+PGSQL_32_PKG_LICENSE             = custom
+PGSQL_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(PGSQL_32_PKG_NAME)-pkg-description
+PGSQL_32_PKG_DESCRIPTION_FILE_IN = $(PGSQL_32_PKG_NAME)-pkg-description.in
+PGSQL_32_PKG_INSTALL_SCRIPT      = $(PGSQL_32_PKG_NAME)-pkg-install.sh
+
+PGSQL_32_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(PGSQL_32_PKG_NAME)-package
+
+pkg_basename     = $(PGSQL_32_PKG_NAME)-$(PGSQL_32_PKG_VERSION)-$(PGSQL_32_PKG_ARCH)-$(PGSQL_32_PKG_DISTRO_NAME)-$(PGSQL_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(PGSQL_32_PKG)
+
+
+ARCHNAME    = x86_32-linux
+
+extra_environment  = pgac_perl_version=5.22.1
+extra_environment += perl_archlibexp='$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/perl5/$(ARCHNAME)'
+extra_environment += perl_privlibexp='$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/perl5'
+extra_environment += perl_useshrplib='true'
+extra_environment += perl_embed_ldflags='-L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/perl5/$(ARCHNAME)/CORE -Wl,-E -Wl,-rpath,/usr/lib$(MULTILIB_X86_32_SUFFIX)/perl5/$(ARCHNAME)/CORE -lperl'
+
+
+#
+# Python Configuration:
+#
+PYTHON_MAJOR_VERSION = 3
+
+ifeq ($(PYTHON_MAJOR_VERSION),3)
+PYTHON_VERSION = 3.5
+
+extra_environment += python_majorversion=$(PYTHON_MAJOR_VERSION)
+extra_environment += python_version=$(PYTHON_VERSION)
+extra_environment += python_configdir='$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/config-$(PYTHON_VERSION)m'
+extra_environment += python_includespec='-I$(TARGET_DEST_DIR)/usr/include/python$(PYTHON_VERSION)m'
+extra_environment += python_libdir='$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
+extra_environment += python_enable_shared=1
+extra_environment += python_libspec='-L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) -lpython$(PYTHON_VERSION)m'
+extra_environment += python_additional_libs='-lpthread -ldl -lutil -lm'
+endif
+
+ifeq ($(PYTHON_MAJOR_VERSION),2)
+PYTHON_VERSION = 2.7
+
+extra_environment += python_majorversion=$(PYTHON_MAJOR_VERSION)
+extra_environment += python_version=$(PYTHON_VERSION)
+extra_environment += python_configdir='$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)'
+extra_environment += python_includespec='-I$(TARGET_DEST_DIR)/usr/include/python$(PYTHON_VERSION)'
+extra_environment += python_libdir='$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
+extra_environment += python_enable_shared=1
+extra_environment += python_libspec='-L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) -lpython$(PYTHON_VERSION)'
+extra_environment += python_additional_libs='-lpthread -ldl -lutil -lm'
+endif
+
+
+#
+# configure switches:
+#
+extra_configure_switches  = --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --mandir=/usr/share/man
+
+extra_configure_switches += --includedir=/usr/include
+extra_configure_switches += --sysconfdir=/etc/postgresql/$(pg_version)
+extra_configure_switches += --datarootdir=/usr/share
+extra_configure_switches += --datadir=/usr/share/postgresql-$(pg_version)
+
+extra_configure_switches += --with-openssl
+extra_configure_switches += --with-tcl=no
+extra_configure_switches += --with-perl
+extra_configure_switches += --with-python
+extra_configure_switches += --with-libxml
+extra_configure_switches += --with-libxslt
+extra_configure_switches += --enable-thread-safety
+extra_configure_switches += --with-system-tzdata=/usr/share/zoneinfo
+extra_configure_switches += --enable-nls
+extra_configure_switches += --with-pam
+
+
+TARGET_PERL_RPATH   = /usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)/perl5/$(ARCHNAME)/CORE:/usr/lib$(MULTILIB_X86_32_SUFFIX)/postgresql/$(pg_version)/lib
+TARGET_PYTHON_RPATH = /usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)/postgresql/$(pg_version)/lib
+TARGET_LIB_RPATH    = $(TARGET_PYTHON_RPATH)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && \
+	  $(BUILD_ENVIRONMENT) $(extra_environment) ../$(src_dir_name)/configure \
+	  --prefix=/usr/lib$(MULTILIB_X86_32_SUFFIX)/postgresql/$(pg_version) \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(PGSQL_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(PGSQL_32_PKG)/usr/include
+	@rm -rf $(PGSQL_32_PKG)/usr/share
+	# ======= create symlinks to binary executables =======
+	@mkdir -p $(PGSQL_32_PKG)/usr/bin/32
+	@( cd $(PGSQL_32_PKG)/usr/bin/32 ; \
+	   for i in `ls ../../lib$(MULTILIB_X86_32_SUFFIX)/postgresql/$(pg_version)/bin/*` ; do \
+	     ln -sf $$i ; \
+	   done ; \
+	 )
+	# ======= create symlinks to shared library for other programs =======
+	@( cd $(PGSQL_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for i in `ls postgresql/$(pg_version)/lib/lib*.so*` ; do \
+	     ln -sf $$i ; \
+	   done ; \
+	 )
+	# ======= create symlinks to pkg-config files for other programs =======
+	@mkdir $(PGSQL_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig
+	@( cd $(PGSQL_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   for i in `ls ../postgresql/$(pg_version)/lib/pkgconfig/*.pc` ; do \
+	     ln -sf $$i ; \
+	   done ; \
+	 )
+	# ======= remove toolchain path from target pkg-config *.pc files =======
+	@( cd $(PGSQL_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/postgresql/$(pg_version)/lib/pkgconfig ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libecpg.pc    libecpg_compat.pc  \
+	                                    libpgtypes.pc libpq.pc         ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(PGSQL_32_PKG))
+	# ======= tune target Makefile.global variables =======
+	@( cd $(PGSQL_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/postgresql/$(pg_version)/lib/pgxs/src ; \
+	   sed -i "s,$(abs_build_dir),/usr/src/x86_32/build-pgsql,g" Makefile.global ; \
+	   sed -i "s,$(BUILD),$(TARGET32),g"                         Makefile.global ; \
+	   sed -i "s, --sysroot=$(TARGET_DEST_DIR),,g"               Makefile.global ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g"                          Makefile.global ; \
+	   sed -i "s,CC=.*-gcc,CC=/usr/bin/gcc,g"                    Makefile.global ; \
+	   sed -i "s,CPP = .*-gcc,CPP = /usr/bin/gcc,g"              Makefile.global ; \
+	   sed -i "s,CC = .*-gcc,CC = /usr/bin/gcc,g"                Makefile.global ; \
+	   sed -i "s,AR = .*-ar,AR = /usr/bin/ar,g"                  Makefile.global ; \
+	   sed -i "s,LD = .*-ld,LD = /usr/bin/ld -melf_i386,g"       Makefile.global ; \
+	   sed -i "s,RANLIB = .*-ranlib,RANLIB = /usr/bin/ranlib,g"  Makefile.global ; \
+	   sed -i "s,= .*-strip,= /usr/bin/strip,g"                  Makefile.global ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/postgresql/$(pg_version)/lib/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libecpg.pc    libecpg_compat.pc  \
+	                                            libpgtypes.pc libpq.pc         ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libecpg.pc    libecpg_compat.pc  \
+	                                              libpgtypes.pc libpq.pc         ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(PGSQL_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(PGSQL_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)postgresql/$(pg_version)/lib ; \
+	   for file in plperl.so ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_PERL_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	   for file in plpython$(PYTHON_MAJOR_VERSION).so ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_PYTHON_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(PGSQL_32_PKG_DESCRIPTION_FILE): $(PGSQL_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(PGSQL_32_PKG_DESCRIPTION_FILE) $(PGSQL_32_PKG_INSTALL_SCRIPT)
+	@cp $(PGSQL_32_PKG_DESCRIPTION_FILE) $(PGSQL_32_PKG)/.DESCRIPTION
+	@cp $(PGSQL_32_PKG_INSTALL_SCRIPT) $(PGSQL_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(PGSQL_32_PKG)/.REQUIRES
+	@echo "pkgname=$(PGSQL_32_PKG_NAME)"                            >  $(PGSQL_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(PGSQL_32_PKG_VERSION)"                          >> $(PGSQL_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(PGSQL_32_PKG_ARCH)"                               >> $(PGSQL_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(PGSQL_32_PKG_DISTRO_NAME)"                  >> $(PGSQL_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(PGSQL_32_PKG_DISTRO_VERSION)"                >> $(PGSQL_32_PKG)/.PKGINFO ; \
+	 echo "group=$(PGSQL_32_PKG_GROUP)"                             >> $(PGSQL_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(PGSQL_32_PKG_SHORT_DESCRIPTION)\"" >> $(PGSQL_32_PKG)/.PKGINFO ; \
+	 echo "url=$(PGSQL_32_PKG_URL)"                                 >> $(PGSQL_32_PKG)/.PKGINFO ; \
+	 echo "license=$(PGSQL_32_PKG_LICENSE)"                         >> $(PGSQL_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(PGSQL_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/app/postgresql/9.6.0-x86_32/PATCHES b/app/postgresql/9.6.0-x86_32/PATCHES
new file mode 100644
index 000000000..226492c15
--- /dev/null
+++ b/app/postgresql/9.6.0-x86_32/PATCHES
@@ -0,0 +1,3 @@
+
+../../../sources/packages/b/postgresql/patches/postgresql-9.6.0-configure.patch      -p0
+../../../sources/packages/b/postgresql/patches/postgresql-9.6.0-run-socket-dir.patch -p0
diff --git a/app/postgresql/9.6.0-x86_32/postgresql-x32-pkg-description.in b/app/postgresql/9.6.0-x86_32/postgresql-x32-pkg-description.in
new file mode 100644
index 000000000..ad179fbe5
--- /dev/null
+++ b/app/postgresql/9.6.0-x86_32/postgresql-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+              |-----handy-ruler------------------------------------------------------|
+postgresql-x32: PostgreSQL-x32 @VERSION@ (x86_32 database management system)
+postgresql-x32:
+postgresql-x32: PostgreSQL is an advanced object-relational database management
+postgresql-x32: system (ORDBMS) based on POSTGRES. With more than 15 years of
+postgresql-x32: development history, it is quickly becoming the de facto
+postgresql-x32: database for enterprise level open source solutions.
+postgresql-x32:
+postgresql-x32: Homepage: http://www.postgresql.org
+postgresql-x32:
+postgresql-x32:
+postgresql-x32:
diff --git a/app/postgresql/9.6.0-x86_32/postgresql-x32-pkg-install.sh b/app/postgresql/9.6.0-x86_32/postgresql-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/app/postgresql/9.6.0-x86_32/postgresql-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/app/postgresql/9.6.0/Makefile b/app/postgresql/9.6.0/Makefile
new file mode 100644
index 000000000..04d0c0f3d
--- /dev/null
+++ b/app/postgresql/9.6.0/Makefile
@@ -0,0 +1,414 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/b/postgresql
+
+REQUIRES           = dev/perl/5.22.1
+REQUIRES          += dev/python2/2.7.11
+REQUIRES          += dev/python3/3.5.1
+REQUIRES          += libs/libxml2/2.9.3
+REQUIRES          += libs/libxslt/1.1.28
+REQUIRES          += net/openssl/1.0.2f
+REQUIRES          += secure/pam_unix2/2.9.1
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 9.6.0
+pg_version         = $(shell echo $(version) | cut -f1,2 -d '.')
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/b/postgresql/postgresql-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/postgresql-$(version)
+src_dir_name       = postgresql-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+abs_build_dir       = $(CURDIR)/$(build_dir)
+
+pg_port            = 5432
+pg_uid             = 209
+pg_gid             = 209
+
+rc_postgresql_in   = $(CURDIR)/etc/rc.d/rc.postgresql.in
+logrotate_in       = $(CURDIR)/etc/logrotate.d/postgresql.in
+postgresql_pam     = $(CURDIR)/etc/pam.d/postgresql
+setup_script_in    = $(CURDIR)/setup/setup.postgresql.in
+
+
+####### Targets
+
+PKG_GROUP = app
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+PGSQL_PKG_NAME                = postgresql
+PGSQL_PKG_VERSION             = 9.6.0
+PGSQL_PKG_ARCH                = $(TOOLCHAIN)
+PGSQL_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+PGSQL_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+PGSQL_PKG_GROUP               = $(PKG_GROUP)
+###                            |---handy-ruler-------------------------------|
+PGSQL_PKG_SHORT_DESCRIPTION   = database management system
+PGSQL_PKG_URL                 = $(BUG_URL)
+PGSQL_PKG_LICENSE             = custom
+PGSQL_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(PGSQL_PKG_NAME)-pkg-description
+PGSQL_PKG_DESCRIPTION_FILE_IN = $(PGSQL_PKG_NAME)-pkg-description.in
+PGSQL_PKG_INSTALL_SCRIPT      = $(PGSQL_PKG_NAME)-pkg-install.sh
+
+PGSQL_PKG        = $(CURDIR)/$(TARGET_BUILD_DIR)/$(PGSQL_PKG_NAME)-package
+
+pkg_basename     = $(PGSQL_PKG_NAME)-$(PGSQL_PKG_VERSION)-$(PGSQL_PKG_ARCH)-$(PGSQL_PKG_DISTRO_NAME)-$(PGSQL_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(PGSQL_PKG)
+
+
+#
+# PERL Configuration:
+#
+ifneq ($(filter $(HARDWARE),$(HARDWARE_PC32)),)
+ARCH = x86_32
+endif
+ifneq ($(filter $(HARDWARE),$(HARDWARE_PC64)),)
+ARCH = x86_64
+endif
+ifneq ($(filter $(HARDWARE),$(HARDWARE_CB1X) $(HARDWARE_CB2X) $(HARDWARE_CB3X)),)
+ARCH = arm
+endif
+ifneq ($(filter $(HARDWARE),$(HARDWARE_FFRK3288)),)
+ARCH = arm
+endif
+ifneq ($(filter $(HARDWARE),$(HARDWARE_M201) $(HARDWARE_MXQ)),)
+ARCH = arm
+endif
+ifneq ($(filter $(HARDWARE),$(HARDWARE_NIT6Q)),)
+ARCH = arm
+endif
+ifneq ($(filter $(HARDWARE),$(HARDWARE_OMAP5UEVM) $(HARDWARE_DRA7XXEVM)),)
+ARCH = arm
+endif
+ifneq ($(filter $(HARDWARE),$(HARDWARE_CI20)),)
+ARCH = mips32r2
+endif
+ifneq ($(filter $(HARDWARE),$(HARDWARE_BT1)),)
+ARCH = mips32r5
+endif
+
+ARCHNAME    = $(ARCH)-linux
+
+extra_environment  = pgac_perl_version=5.22.1
+extra_environment += perl_archlibexp='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/perl5/$(ARCHNAME)'
+extra_environment += perl_privlibexp='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/perl5'
+extra_environment += perl_useshrplib='true'
+extra_environment += perl_embed_ldflags='-L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/perl5/$(ARCHNAME)/CORE -Wl,-E -Wl,-rpath,/usr/lib$(LIBSUFFIX)/perl5/$(ARCHNAME)/CORE -lperl'
+
+
+#
+# Python Configuration:
+#
+PYTHON_MAJOR_VERSION = 3
+
+ifeq ($(PYTHON_MAJOR_VERSION),3)
+PYTHON_VERSION = 3.5
+
+extra_environment += python_majorversion=$(PYTHON_MAJOR_VERSION)
+extra_environment += python_version=$(PYTHON_VERSION)
+extra_environment += python_configdir='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/config-$(PYTHON_VERSION)m'
+extra_environment += python_includespec='-I$(TARGET_DEST_DIR)/usr/include/python$(PYTHON_VERSION)m'
+extra_environment += python_libdir='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)'
+extra_environment += python_enable_shared=1
+extra_environment += python_libspec='-L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) -lpython$(PYTHON_VERSION)m'
+extra_environment += python_additional_libs='-lpthread -ldl -lutil -lm'
+endif
+
+ifeq ($(PYTHON_MAJOR_VERSION),2)
+PYTHON_VERSION = 2.7
+
+extra_environment += python_majorversion=$(PYTHON_MAJOR_VERSION)
+extra_environment += python_version=$(PYTHON_VERSION)
+extra_environment += python_configdir='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON_VERSION)'
+extra_environment += python_includespec='-I$(TARGET_DEST_DIR)/usr/include/python$(PYTHON_VERSION)'
+extra_environment += python_libdir='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)'
+extra_environment += python_enable_shared=1
+extra_environment += python_libspec='-L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) -lpython$(PYTHON_VERSION)'
+extra_environment += python_additional_libs='-lpthread -ldl -lutil -lm'
+endif
+
+
+#
+# configure switches:
+#
+extra_configure_switches  = --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --mandir=/usr/share/man
+
+extra_configure_switches += --includedir=/usr/include
+extra_configure_switches += --sysconfdir=/etc/postgresql/$(pg_version)
+extra_configure_switches += --datarootdir=/usr/share
+extra_configure_switches += --datadir=/usr/share/postgresql-$(pg_version)
+
+extra_configure_switches += --with-openssl
+extra_configure_switches += --with-tcl=no
+extra_configure_switches += --with-perl
+extra_configure_switches += --with-python
+extra_configure_switches += --with-libxml
+extra_configure_switches += --with-libxslt
+extra_configure_switches += --enable-thread-safety
+extra_configure_switches += --with-system-tzdata=/usr/share/zoneinfo
+extra_configure_switches += --enable-nls
+extra_configure_switches += --with-pam
+
+
+#
+# Some interesting additional modules:
+#   http://www.postgresql.org/docs/9.6/static/contrib.html
+#
+# adminpack           - helper extension for pgAdmin
+# pgcrypto            - extension for some business applications
+# hstore, ltree, xml2 - useful extensions for developers
+# pg_standby          - high availability helpers
+# postgres_fdw        - foreign-data wrapper for access to external PostgreSQL servers
+# file_fdw            - foreign-data wrapper for access to data files on filesystem
+#
+PG_EXTENSIONS  = adminpack pgcrypto hstore ltree xml2
+PG_EXTENSIONS += pg_standby postgres_fdw file_fdw
+
+
+TARGET_PERL_RPATH   = /usr/lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)/perl5/$(ARCHNAME)/CORE:/usr/lib$(LIBSUFFIX)/postgresql/$(pg_version)/lib
+TARGET_PYTHON_RPATH = /usr/lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)/postgresql/$(pg_version)/lib
+TARGET_LIB_RPATH    = $(TARGET_PYTHON_RPATH)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && \
+	  $(BUILD_ENVIRONMENT) $(extra_environment) ../$(src_dir_name)/configure \
+	  --prefix=/usr/lib$(LIBSUFFIX)/postgresql/$(pg_version) \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1
+	@( cd $(build_dir)/contrib ; \
+	   for ext in $(PG_EXTENSIONS) ; do \
+	     ( cd $$ext && $(BUILD_ENVIRONMENT) $(MAKE) -j1 ) ; \
+	   done ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(PGSQL_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@( cd $(build_dir)/contrib ; \
+	   for ext in $(PG_EXTENSIONS) ; do \
+	     ( cd $$ext && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot) ) ; \
+	   done ; \
+	 )
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install-docs $(env_sysroot)
+	# ======= create symlinks to binary executables =======
+	@mkdir -p $(PGSQL_PKG)/usr/bin
+	@( cd $(PGSQL_PKG)/usr/bin ; \
+	   for i in `ls ../lib$(LIBSUFFIX)/postgresql/$(pg_version)/bin/*` ; do \
+	     ln -sf $$i ; \
+	   done ; \
+	 )
+	# ======= create symlinks to shared library for other programs =======
+	@( cd $(PGSQL_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for i in `ls postgresql/$(pg_version)/lib/lib*.so*` ; do \
+	     ln -sf $$i ; \
+	   done ; \
+	 )
+	# ======= create symlinks to pkg-config files for other programs =======
+	@mkdir $(PGSQL_PKG)/usr/lib$(LIBSUFFIX)/pkgconfig
+	@( cd $(PGSQL_PKG)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   for i in `ls ../postgresql/$(pg_version)/lib/pkgconfig/*.pc` ; do \
+	     ln -sf $$i ; \
+	   done ; \
+	 )
+	# ======= create database directories =======
+	@mkdir -p $(PGSQL_PKG)/var/lib/pgsql/$(pg_version)/data
+	# ======= install system scripts =======
+	@mkdir -p $(PGSQL_PKG)/etc/rc.d
+	@sed -e "s/@PG_VERSION@/$(pg_version)/" \
+	     -e "s/@PKGNAME@/postgresql/" \
+	     -e "s/@PG_PORT@/$(pg_port)/" \
+	     -e "s/@LIBDIRSUFFIX@/$(LIBSUFFIX)/" \
+	        $(rc_postgresql_in) > $(PGSQL_PKG)/etc/rc.d/rc.postgresql.new
+	@mkdir -p $(PGSQL_PKG)/etc/logrotate.d
+	@sed -e "s/@PG_VERSION@/$(pg_version)/" \
+	     -e "s/@PKGNAME@/postgresql/" \
+	        $(logrotate_in) > $(PGSQL_PKG)/etc/logrotate.d/postgresql.new
+	@mkdir -p $(PGSQL_PKG)/etc/pam.d
+	@cp -a $(postgresql_pam) $(PGSQL_PKG)/etc/pam.d/postgresql.new
+	@mkdir -p $(PGSQL_PKG)/var/log/$(DISTRO_NAME)/setup
+	@sed -e "s/@PG_VERSION@/$(pg_version)/" \
+	     -e "s/@UID@/$(pg_uid)/" \
+	     -e "s/@GID@/$(pg_gid)/" \
+	        $(setup_script_in) > $(PGSQL_PKG)/var/log/$(DISTRO_NAME)/setup/setup.postgresql
+	@chmod 0755 $(PGSQL_PKG)/var/log/$(DISTRO_NAME)/setup/setup.postgresql
+	@mkdir -p $(PGSQL_PKG)/var/run/pgsql
+	# ======= Install Documentation =======
+	@( cd $(PGSQL_PKG)/usr/share/man/man7 ; \
+	   for file in *.7 ; do                                \
+	     ln=`head -n 1 $$file` ;                           \
+	     if [ "`echo $$ln | grep '^\.so '`" != "" ] ; then \
+	       origin=`echo $$ln | cut -f 2 -d ' '` ;          \
+	       origin=`basename $$origin` ;                    \
+	       rm -f $$file ;                                  \
+	       ln -sf $$origin $$file ;                        \
+	     fi ;                                              \
+	   done ;                                              \
+	 )
+	@if [ -d $(PGSQL_PKG)/usr/share/man ]; then \
+	  ( cd $(PGSQL_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.? ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(PGSQL_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/COPYRIGHT \
+	       $(PGSQL_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(PGSQL_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a COPYRIGHT HISTORY INSTALL README doc/TODO \
+	         $(PGSQL_PKG)/usr/share/doc/$(src_dir_name) \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(PGSQL_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove toolchain path from target pkg-config *.pc files =======
+	@( cd $(PGSQL_PKG)/usr/lib$(LIBSUFFIX)/postgresql/$(pg_version)/lib/pkgconfig ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libecpg.pc    libecpg_compat.pc  \
+	                                    libpgtypes.pc libpq.pc         ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(PGSQL_PKG))
+	# ======= tune target Makefile.global variables =======
+	@( cd $(PGSQL_PKG)/usr/lib$(LIBSUFFIX)/postgresql/$(pg_version)/lib/pgxs/src ; \
+	   sed -i "s,$(abs_build_dir),/usr/src/build-pgsql,g"       Makefile.global ; \
+	   sed -i "s,$(BUILD),$(TARGET),g"                          Makefile.global ; \
+	   sed -i "s, --sysroot=$(TARGET_DEST_DIR),,g"              Makefile.global ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g"                         Makefile.global ; \
+	   sed -i "s,CC=.*-gcc,CC=/usr/bin/gcc,g"                   Makefile.global ; \
+	   sed -i "s,CPP = .*-gcc,CPP = /usr/bin/gcc,g"             Makefile.global ; \
+	   sed -i "s,CC = .*-gcc,CC = /usr/bin/gcc,g"               Makefile.global ; \
+	   sed -i "s,AR = .*-ar,AR = /usr/bin/ar,g"                 Makefile.global ; \
+	   sed -i "s,LD = .*-ld,LD = /usr/bin/ld,g"                 Makefile.global ; \
+	   sed -i "s,RANLIB = .*-ranlib,RANLIB = /usr/bin/ranlib,g" Makefile.global ; \
+	   sed -i "s,= .*-strip,= /usr/bin/strip,g"                 Makefile.global ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/postgresql/$(pg_version)/lib/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libecpg.pc    libecpg_compat.pc  \
+	                                            libpgtypes.pc libpq.pc         ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libecpg.pc    libecpg_compat.pc  \
+	                                              libpgtypes.pc libpq.pc         ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(PGSQL_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(PGSQL_PKG)/usr/lib$(LIBSUFFIX)postgresql/$(pg_version)/lib ; \
+	   for file in plperl.so ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_PERL_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	   for file in plpython$(PYTHON_MAJOR_VERSION).so ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_PYTHON_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(PGSQL_PKG_DESCRIPTION_FILE): $(PGSQL_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(PGSQL_PKG_DESCRIPTION_FILE) $(PGSQL_PKG_INSTALL_SCRIPT)
+	@cp $(PGSQL_PKG_DESCRIPTION_FILE) $(PGSQL_PKG)/.DESCRIPTION
+	@cp $(PGSQL_PKG_INSTALL_SCRIPT) $(PGSQL_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(PGSQL_PKG)/.REQUIRES
+	@echo "pkgname=$(PGSQL_PKG_NAME)"                            >  $(PGSQL_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(PGSQL_PKG_VERSION)"                          >> $(PGSQL_PKG)/.PKGINFO ; \
+	 echo "arch=$(PGSQL_PKG_ARCH)"                               >> $(PGSQL_PKG)/.PKGINFO ; \
+	 echo "distroname=$(PGSQL_PKG_DISTRO_NAME)"                  >> $(PGSQL_PKG)/.PKGINFO ; \
+	 echo "distrover=$(PGSQL_PKG_DISTRO_VERSION)"                >> $(PGSQL_PKG)/.PKGINFO ; \
+	 echo "group=$(PGSQL_PKG_GROUP)"                             >> $(PGSQL_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(PGSQL_PKG_SHORT_DESCRIPTION)\"" >> $(PGSQL_PKG)/.PKGINFO ; \
+	 echo "url=$(PGSQL_PKG_URL)"                                 >> $(PGSQL_PKG)/.PKGINFO ; \
+	 echo "license=$(PGSQL_PKG_LICENSE)"                         >> $(PGSQL_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(PGSQL_PKG) && \
+	                    chown -R root:root .     && \
+	                    chmod 700 var/lib/pgsql  && \
+	                    chown -R $(pg_uid):$(pg_gid) var/lib/pgsql  && \
+	                    $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/app/postgresql/9.6.0/PATCHES b/app/postgresql/9.6.0/PATCHES
new file mode 100644
index 000000000..226492c15
--- /dev/null
+++ b/app/postgresql/9.6.0/PATCHES
@@ -0,0 +1,3 @@
+
+../../../sources/packages/b/postgresql/patches/postgresql-9.6.0-configure.patch      -p0
+../../../sources/packages/b/postgresql/patches/postgresql-9.6.0-run-socket-dir.patch -p0
diff --git a/app/postgresql/9.6.0/etc/logrotate.d/postgresql.in b/app/postgresql/9.6.0/etc/logrotate.d/postgresql.in
new file mode 100644
index 000000000..1ca965f81
--- /dev/null
+++ b/app/postgresql/9.6.0/etc/logrotate.d/postgresql.in
@@ -0,0 +1,9 @@
+/var/log/@PKGNAME@-@PG_VERSION@ {
+    daily
+    rotate 7
+    copytruncate
+    delaycompress
+    compress
+    notifempty
+    missingok
+}
diff --git a/app/postgresql/9.6.0/etc/pam.d/postgresql b/app/postgresql/9.6.0/etc/pam.d/postgresql
new file mode 100644
index 000000000..b63d5b31b
--- /dev/null
+++ b/app/postgresql/9.6.0/etc/pam.d/postgresql
@@ -0,0 +1,7 @@
+#
+# /etc/pam.d/postgresql
+#
+
+auth        required        pam_unix.so
+account     required        pam_unix.so
+session     required        pam_unix.so
diff --git a/app/postgresql/9.6.0/etc/rc.d/rc.postgresql.in b/app/postgresql/9.6.0/etc/rc.d/rc.postgresql.in
new file mode 100644
index 000000000..b08bbcd90
--- /dev/null
+++ b/app/postgresql/9.6.0/etc/rc.d/rc.postgresql.in
@@ -0,0 +1,171 @@
+#!/bin/bash
+
+# PostgreSQL startup script for Radix Linux
+#
+# $Revision: 6804ca7db709 $
+# $Date: 2015/03/13 21:57:14 $
+#
+# Copyright 2007-2015 Adis Nezirovic <adis_at_linux.org.ba>
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+#
+#  THIS SOFTWARE IS PROVIDED BY THE AUTHOR "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 AUTHOR 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.
+
+# Do not source this script (since it contains exit() calls)
+#
+# Since version 9.3 this startup script can run multiple PostgreSQL
+# versions on different ports and with different data dirs.
+#
+# e.g. PG_VERSION=9.6 PG_PORT=6432 /etc/rc.d/rc.@PKGNAME@ start
+
+PG_VERSION=${PG_VERSION:-@PG_VERSION@}
+PG_PORT=${PG_PORT:-@PG_PORT@}
+LIBDIRSUFFIX="@LIBDIRSUFFIX@"
+LOGFILE=/var/log/@PKGNAME@-$PG_VERSION
+DATADIR=/var/lib/pgsql/$PG_VERSION/data
+POSTGRES=/usr/lib${LIBDIRSUFFIX}/@PKGNAME@/$PG_VERSION/bin/postgres
+PG_CTL=/usr/lib${LIBDIRSUFFIX}/@PKGNAME@/$PG_VERSION/bin/pg_ctl
+PIDFILE=$DATADIR/postmaster.pid
+
+# oom-killer score
+# if defined and set to -1000, main postmaster wont be killed
+# by Linux OOM killer, but individual backends still could be
+# (since OOM_SCORE_ADJ in SlackBuild is set to 0)
+#
+# http://www.kernel.org/doc/Documentation/filesystems/proc.txt
+OOM_SCORE_ADJ=-1000
+
+# Return values (according to LSB):
+# 0 - success
+# 1 - generic or unspecified error
+# 2 - invalid or excess argument(s)
+# 3 - unimplemented feature (e.g. "reload")
+# 4 - insufficient privilege
+# 5 - program is not installed
+# 6 - program is not configured
+# 7 - program is not running
+
+pg_ctl()
+{
+  CMD="$PG_CTL -o '-p $PG_PORT' $@"
+  su - postgres -c "$CMD"
+}
+
+if [ ! -f $POSTGRES ]; then
+  echo "Could not find 'postgres' binary. Maybe PostgreSQL is not installed properly?"
+  exit 5
+fi
+
+case "$1" in
+
+  "start")
+    echo "Starting PostgreSQL"
+    touch $LOGFILE
+    chown postgres:wheel $LOGFILE
+    chmod 0640 $LOGFILE
+
+    if [ ! -e $DATADIR/PG_VERSION ]; then
+      echo "You should initialize the PostgreSQL database at location $DATADIR"
+      echo "e.g. su postgres -c \"initdb -D $DATADIR --locale=en_US.UTF-8 -A md5 -W\""
+      exit 6
+    fi
+
+    if [ $(pgrep -f $POSTGRES) ]; then
+
+      echo "PostgreSQL daemon already running"
+      if [ ! -f $PIDFILE ]; then
+        echo "Warning: Missing pid file $PIDFILE"
+      fi
+      exit 1
+
+    else
+      test x"$OOM_SCORE_ADJ" != x && echo "$OOM_SCORE_ADJ" > /proc/self/oom_score_adj
+      pg_ctl start -w -l $LOGFILE -D $DATADIR
+      exit 0
+    fi
+  ;;
+
+  "stop")
+    echo "Shutting down PostgreSQL..."
+    pg_ctl stop -l $LOGFILE -D $DATADIR -m smart
+  ;;
+
+  "force-stop")
+    # Take care! This will kill _all_ client connections
+    # and rollback current transactions.
+    echo "Shutting down PostgreSQL (fast)..."
+    pg_ctl stop -l $LOGFILE -D $DATADIR -m fast
+  ;;
+
+  "unclean-stop")
+    # Take care! This will abort server process itself
+    # resulting with database recovery on next start.
+    echo "Shutting down PostgreSQL (immediate)..."
+    pg_ctl stop -l $LOGFILE -D $DATADIR -m immediate
+  ;;
+
+  "restart")
+    echo "Restarting PostgreSQL..."
+    test x"$OOM_SCORE_ADJ" != x && echo "$OOM_SCORE_ADJ" > /proc/self/oom_score_adj
+    pg_ctl restart -l $LOGFILE -D $DATADIR -m smart
+  ;;
+
+  "force-restart")
+    # Take care! This will kill _all_ client connections
+    # and rollback current transactions.
+    echo "Restarting PostgreSQL (fast)..."
+    pg_ctl restart -l $LOGFILE -D $DATADIR -m fast
+  ;;
+
+  "unclean-restart")
+    # Take care: This will abort server process itself
+    # resulting with database recovery on start.
+    echo "Restarting PostgreSQL (immediate)..."
+    pg_ctl restart -l $LOGFILE -D $DATADIR -m immediate
+  ;;
+
+  "reload")
+    echo "Reloading configuration for PostgreSQL..."
+    pg_ctl reload -l $LOGFILE -D $DATADIR -m smart
+  ;;
+
+  "status")
+    if [ $(pgrep -f $POSTGRES) ]; then
+      echo "PostgreSQL is running"
+
+      if [ ! -e $PIDFILE ]; then
+        echo "Warning: Missing pid file $PIDFILE"
+      fi
+
+      exit 0
+    else
+      echo "PostgreSQL is stopped"
+
+      if [ -e $PIDFILE ]; then
+        echo "Detected stale pid file $PIDFILE"
+      fi
+
+      exit 0
+    fi
+  ;;
+
+  *)
+    # unclean-stop and unclean-restart are not documented on purpose.
+    echo "Usage: $0 {start|stop|force-stop|status|restart|force-restart|reload}"
+    exit 1
+  ;;
+esac
diff --git a/app/postgresql/9.6.0/postgresql-pkg-description.in b/app/postgresql/9.6.0/postgresql-pkg-description.in
new file mode 100644
index 000000000..62db3212c
--- /dev/null
+++ b/app/postgresql/9.6.0/postgresql-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+          |-----handy-ruler------------------------------------------------------|
+postgresql: PostgreSQL @VERSION@ (database management system)
+postgresql:
+postgresql: PostgreSQL is an advanced object-relational database management
+postgresql: system (ORDBMS) based on POSTGRES. With more than 15 years of
+postgresql: development history, it is quickly becoming the de facto
+postgresql: database for enterprise level open source solutions.
+postgresql:
+postgresql: Homepage: http://www.postgresql.org
+postgresql:
+postgresql:
+postgresql:
diff --git a/app/postgresql/9.6.0/postgresql-pkg-install.sh b/app/postgresql/9.6.0/postgresql-pkg-install.sh
new file mode 100755
index 000000000..cae02273a
--- /dev/null
+++ b/app/postgresql/9.6.0/postgresql-pkg-install.sh
@@ -0,0 +1,66 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+preserve_perms() {
+  NEW="$1"
+  OLD="$(dirname $NEW)/$(basename $NEW .new)"
+  if [ -e $OLD ]; then
+    cp -a $OLD ${NEW}.incoming
+    cat $NEW > ${NEW}.incoming
+    mv ${NEW}.incoming $NEW
+  fi
+  install_file $NEW
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  preserve_perms etc/rc.d/rc.postgresql.new
+  install_file   etc/logrotate.d/postgresql.new
+  install_file   etc/pam.d/postgresql.new
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/app/postgresql/9.6.0/setup/setup.postgresql.in b/app/postgresql/9.6.0/setup/setup.postgresql.in
new file mode 100644
index 000000000..21af7468e
--- /dev/null
+++ b/app/postgresql/9.6.0/setup/setup.postgresql.in
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+PG_HOME=/var/lib/pgsql
+PG_USER=postgres
+PG_USER_ID=@UID@
+PG_GROUP=postgres
+PG_GROUP_ID=@GID@
+PG_VERSION=@PG_VERSION@
+
+echo "Adding PostgreSQL user and group..."
+groupadd -g $PG_GROUP_ID $PG_GROUP
+useradd -g $PG_GROUP -u $PG_USER_ID -d $PG_HOME -c PostgreSQL $PG_USER
+mkdir -p $PG_HOME/$PG_VERSION/data
+
+## default permissions
+echo "Setting up permissions..."
+chown -R $PG_USER:$PG_GROUP $PG_HOME
+chmod 700 $PG_HOME
+chmod 700 $PG_HOME/$PG_VERSION
+chmod 700 $PG_HOME/$PG_VERSION/data
+
+## database cluster
+if [ ! -f $PG_HOME/$PG_VERSION/data/PG_VERSION ]; then
+  echo "Creating database cluster in $PG_HOME/$PG_VERSION/data..."
+  su $PG_USER -c "initdb -D $PG_HOME/$PG_VERSION/data --locale=en_US.UTF-8 -A md5 -W"
+else
+  echo "*** WARNING ***" >&2
+  echo "  There is already a database cluster in $PG_HOME/$PG_VERSION/data." >&2
+  echo "  If you are upgrading from an older version of PostgreSQL" >&2
+  echo "  you will have to 'dump' and 'restore' your database." >&2
+  echo "  See PostgreSQL manual for more details." >&2
+fi
+
+echo "PostgreSQL post-installation setup completed"
diff --git a/app/remotecfg/1.0.0/Makefile b/app/remotecfg/1.0.0/Makefile
new file mode 100644
index 000000000..7b9a5e6b8
--- /dev/null
+++ b/app/remotecfg/1.0.0/Makefile
@@ -0,0 +1,142 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/tools/Amlogic/remotecfg
+
+
+ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
+REQUIRES           = dev/gcc/5.3.0
+else
+REQUIRES           = libs/glibc/2.23
+endif
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.0.0
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/tools/Amlogic/remotecfg/remotecfg-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/remotecfg-$(version)
+src_dir_name       = remotecfg-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source-done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+default_config     = $(CURDIR)/etc/rcu/remote-$(HARDWARE).conf
+rc_remote_script   = $(CURDIR)/etc/rc.d/rc.remote-control
+
+####### Targets
+
+PKG_GROUP = app
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+REMOTECFG_PKG_NAME                = remotecfg
+REMOTECFG_PKG_VERSION             = 1.0.0
+REMOTECFG_PKG_ARCH                = $(TOOLCHAIN)
+REMOTECFG_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+REMOTECFG_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+REMOTECFG_PKG_GROUP               = $(PKG_GROUP)
+###                                |---handy-ruler-------------------------------|
+REMOTECFG_PKG_SHORT_DESCRIPTION   = Amlogic remote configuration tool
+REMOTECFG_PKG_URL                 = $(BUG_URL)
+REMOTECFG_PKG_LICENSE             = BSD
+REMOTECFG_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(REMOTECFG_PKG_NAME)-pkg-description
+REMOTECFG_PKG_DESCRIPTION_FILE_IN = $(REMOTECFG_PKG_NAME)-pkg-description.in
+REMOTECFG_PKG_INSTALL_SCRIPT      = $(REMOTECFG_PKG_NAME)-pkg-install.sh
+
+REMOTECFG_PKG    = $(CURDIR)/$(TARGET_BUILD_DIR)/$(REMOTECFG_PKG_NAME)-package
+
+pkg_basename     = $(REMOTECFG_PKG_NAME)-$(REMOTECFG_PKG_VERSION)-$(REMOTECFG_PKG_ARCH)-$(REMOTECFG_PKG_DISTRO_NAME)-$(REMOTECFG_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(REMOTECFG_PKG)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(REMOTECFG_PKG)/sbin
+	@mkdir -p $(REMOTECFG_PKG)/usr/sbin
+	@mkdir -p $(REMOTECFG_PKG)/etc/rcu
+	@mkdir -p $(REMOTECFG_PKG)/etc/rc.d
+	# ======= Install remotecfg-$(version) =======
+	@cp -a $(default_config) $(REMOTECFG_PKG)/etc/rcu/remote.conf.new
+	@cp -a $(rc_remote_script) $(REMOTECFG_PKG)/etc/rc.d/rc.remote-control.new
+	@chmod 755 $(REMOTECFG_PKG)/etc/rc.d/rc.remote-control.new
+	@( cd $(SRC_DIR) ; \
+	   cat remotecfg > $(REMOTECFG_PKG)/sbin/remotecfg ; \
+	   chmod 755 $(REMOTECFG_PKG)/sbin/remotecfg ; \
+	   mkdir -p $(REMOTECFG_PKG)/usr/doc/remotecfg-$(version) ; \
+	   cp -a LICENSE $(REMOTECFG_PKG)/usr/doc/remotecfg-$(version) ; \
+	   mkdir -p $(REMOTECFG_PKG)/usr/share/doc/remotecfg-$(version) ; \
+	   cp -a LICENSE README $(REMOTECFG_PKG)/usr/share/doc/remotecfg-$(version) ; \
+	 )
+	@( cd $(REMOTECFG_PKG)/usr/sbin ; \
+	   ln -sf ../../sbin/remotecfg remotecfg ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(REMOTECFG_PKG))
+	# ======= Strip binaries =======
+	@( cd $(REMOTECFG_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+	@touch $@
+
+$(REMOTECFG_PKG_DESCRIPTION_FILE): $(REMOTECFG_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(REMOTECFG_PKG_DESCRIPTION_FILE) $(REMOTECFG_PKG_INSTALL_SCRIPT)
+	@cp $(REMOTECFG_PKG_DESCRIPTION_FILE) $(REMOTECFG_PKG)/.DESCRIPTION
+	@cp $(REMOTECFG_PKG_INSTALL_SCRIPT) $(REMOTECFG_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(REMOTECFG_PKG)/.REQUIRES
+	@echo "pkgname=$(REMOTECFG_PKG_NAME)"                            >  $(REMOTECFG_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(REMOTECFG_PKG_VERSION)"                          >> $(REMOTECFG_PKG)/.PKGINFO ; \
+	 echo "arch=$(REMOTECFG_PKG_ARCH)"                               >> $(REMOTECFG_PKG)/.PKGINFO ; \
+	 echo "distroname=$(REMOTECFG_PKG_DISTRO_NAME)"                  >> $(REMOTECFG_PKG)/.PKGINFO ; \
+	 echo "distrover=$(REMOTECFG_PKG_DISTRO_VERSION)"                >> $(REMOTECFG_PKG)/.PKGINFO ; \
+	 echo "group=$(REMOTECFG_PKG_GROUP)"                             >> $(REMOTECFG_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(REMOTECFG_PKG_SHORT_DESCRIPTION)\"" >> $(REMOTECFG_PKG)/.PKGINFO ; \
+	 echo "url=$(REMOTECFG_PKG_URL)"                                 >> $(REMOTECFG_PKG)/.PKGINFO ; \
+	 echo "license=$(REMOTECFG_PKG_LICENSE)"                         >> $(REMOTECFG_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(REMOTECFG_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/app/remotecfg/1.0.0/PATCHES b/app/remotecfg/1.0.0/PATCHES
new file mode 100644
index 000000000..87dcf541c
--- /dev/null
+++ b/app/remotecfg/1.0.0/PATCHES
@@ -0,0 +1,2 @@
+
+../../../sources/tools/Amlogic/remotecfg/patches/remotecfg-1.0.0-new-remote.patch -p0
diff --git a/app/remotecfg/1.0.0/etc/rc.d/rc.remote-control b/app/remotecfg/1.0.0/etc/rc.d/rc.remote-control
new file mode 100644
index 000000000..bca6a48e0
--- /dev/null
+++ b/app/remotecfg/1.0.0/etc/rc.d/rc.remote-control
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+PATH="/sbin:/usr/sbin"
+
+/sbin/remotecfg /etc/rcu/remote.conf 2>/dev/null 1>/dev/null
diff --git a/app/remotecfg/1.0.0/etc/rcu/remote-m201.conf b/app/remotecfg/1.0.0/etc/rcu/remote-m201.conf
new file mode 100644
index 000000000..9e0f20c55
--- /dev/null
+++ b/app/remotecfg/1.0.0/etc/rcu/remote-m201.conf
@@ -0,0 +1,138 @@
+#**************************************************************************************
+# configuration for factory remote devices
+#
+#       factory_code      each device has it's unique factory code.
+#                         pattern:custom_code(16bit)+index_code(16bit)
+#                         examble: 0xff000001 = 0xff00(custom cod)  0001 (index)
+#
+#       work_mode         0 :software mode  1 :hardware mode
+#       repeat_enable     0 :disable repeat 1 :enable repeat
+#
+#       release_delay     unit:ms.release will report from kernel to user layer after
+#                         this period of time from press or repeat triggered.
+#
+#       debug_enable      0 :debug disable  1 :debug disable
+#
+# SW MODE:
+#       bit_count         how many bits in each frame
+#       tw_leader_act     time window for leader active
+#       tw_bit0           time window for bit0 time
+#       tw_bit1           time window for bit1 time
+#       tw_repeat_leader  time window for repeat leader
+#
+# REG:
+#       reg_base_gen      set value for PREG_IR_DEC_BASE_GEN
+#       reg_control       set value for PREG_IR_DEC_CONTROL
+#       reg_leader_act    set value for PREG_IR_DEC_LEADER_ACTIVE
+#       reg_leader_idle   set value for PREG_IR_DEC_LEADER_IDLE
+#       reg_repeat_leader set value for PREG_IR_DEC_REPEAT_IDLE
+#       reg_bit0_time     set value for PREG_IR_DEC_BIT0_TIME
+#**************************************************************************************
+
+#
+# Amlogic default remote device
+#
+
+# parameter = value
+# ---------------------
+factory_code    = 0xfd000000
+work_mode       = 0
+repeat_enable   = 1
+repeat_delay    = 40
+repeat_peroid   = 39
+release_delay   = 121
+debug_enable    = 1
+
+# parameter = ir code
+# ---------------------
+fn_key_scancode = 0x58 # ir code for mouse / keyboard mode switch
+ok_key_scancode = 0x0d # ir code for mouse click in mouse mode 
+
+mouse_begin
+#	index | ir code
+#	------+--------------
+	0       0x49 # left
+	1       0x4a # right
+	2       0x0b # up
+	3       0x0f # down
+mouse_end
+
+factorycust_begin
+#	index | customer code
+#	------+--------------
+	0       0xfd00
+	1       0xfd20
+	2       0x4588
+	3       0x495A
+	4       0xf169
+factorycust_end
+
+key_begin
+#	 ir | scan code
+#	----+----------------
+	0x12 0x74 # KEY_POWER          116
+
+	0x02 0x0e # KEY_BACKSPACE       14
+	0x07 0x8b # KEY_MENU           139
+	0x58 0xad # KEY_REFRESH        173
+
+	0x49 0x69 # KEY_LEFT           105
+	0x4a 0x6a # KEY_RIGHT          106
+	0x0b 0x67 # KEY_UP             103
+	0x0f 0x6c # KEY_DOWN           108
+	0x0d 0x1c # KEY_ENTER           28
+
+	0x5a 0xa8 # KEY_REWIND         168
+	0x04 0xa4 # KEY_PLAYPAUSE      164
+	0x0e 0x9f # KEY_FORWARD        159
+
+	0x18 0x192 # KEY_CHANNELUP   0x192
+	0x1c 0x193 # KEY_CHANNELDOWN 0x193
+	0x60 0x195 # KEY_LAST        0x195
+
+	0x15 0x02 # KEY_1                2
+	0x16 0x03 # KEY_2                3
+	0x17 0x04 # KEY_3                4
+	0x19 0x05 # KEY_4                5
+	0x1a 0x06 # KEY_5                6
+	0x1b 0x07 # KEY_6                7
+	0x1d 0x08 # KEY_7                8
+	0x1e 0x09 # KEY_8                9
+	0x1f 0x0a # KEY_9               10
+	0x41 0x0b # KEY_0               11
+key_end
+
+repeat_key_begin
+#	 ir | scan code
+#	----+----------------
+	0x12 0x74 # KEY_POWER          116
+
+	0x02 0x0e # KEY_BACKSPACE       14
+	0x07 0x8b # KEY_MENU           139
+	0x58 0xad # KEY_REFRESH        173
+
+	0x49 0x69 # KEY_LEFT           105
+	0x4a 0x6a # KEY_RIGHT          106
+	0x0b 0x67 # KEY_UP             103
+	0x0f 0x6c # KEY_DOWN           108
+	0x0d 0x1c # KEY_ENTER           28
+
+	0x5a 0xa8 # KEY_REWIND         168
+	0x04 0xa4 # KEY_PLAYPAUSE      164
+	0x0e 0x9f # KEY_FORWARD        159
+
+	0x18 0x192 # KEY_CHANNELUP   0x192
+	0x1c 0x193 # KEY_CHANNELDOWN 0x193
+	0x60 0x195 # KEY_LAST        0x195
+
+	0x15 0x02 # KEY_1                2
+	0x16 0x03 # KEY_2                3
+	0x17 0x04 # KEY_3                4
+	0x19 0x05 # KEY_4                5
+	0x1a 0x06 # KEY_5                6
+	0x1b 0x07 # KEY_6                7
+	0x1d 0x08 # KEY_7                8
+	0x1e 0x09 # KEY_8                9
+	0x1f 0x0a # KEY_9               10
+	0x41 0x0b # KEY_0               11
+repeat_key_end
diff --git a/app/remotecfg/1.0.0/etc/rcu/remote-mxq.conf b/app/remotecfg/1.0.0/etc/rcu/remote-mxq.conf
new file mode 100644
index 000000000..1668e44cb
--- /dev/null
+++ b/app/remotecfg/1.0.0/etc/rcu/remote-mxq.conf
@@ -0,0 +1,139 @@
+#**************************************************************************************
+# configuration for factory remote devices
+#
+#       work_mode         0 :software mode  1 :hardware mode
+#       repeat_enable     0 :disable repeat 1 :enable repeat
+#
+#       factory_code      each device has it's unique factory code.
+#                         pattern:custom_code(16bit)+index_code(16bit)
+#                         examble: 0xff000001 = 0xff00(custom cod)  0001 (index)
+#
+#       release_delay     unit:ms.release will report from kernel to user layer after
+#                         this period of time from press or repeat triggered.
+#
+#       debug_enable      0 :debug disable  1 :debug disable
+#
+# SW MODE:
+#       bit_count         how many bits in each frame
+#       tw_leader_act     time window for leader active
+#       tw_bit0           time window for bit0 time
+#       tw_bit1           time window for bit1 time
+#       tw_repeat_leader  time window for repeat leader
+#
+# REG:
+#       reg_base_gen      set value for PREG_IR_DEC_BASE_GEN
+#       reg_control       set value for PREG_IR_DEC_CONTROL
+#       reg_leader_act    set value for PREG_IR_DEC_LEADER_ACTIVE
+#       reg_leader_idle   set value for PREG_IR_DEC_LEADER_IDLE
+#       reg_repeat_leader set value for PREG_IR_DEC_REPEAT_IDLE
+#       reg_bit0_time     set value for PREG_IR_DEC_BIT0_TIME
+#**************************************************************************************
+
+#
+# Amlogic default remote device
+#
+factory_code    = 0x40400001
+work_mode       = 0
+repeat_enable   = 1
+repeat_delay    = 40
+repeat_peroid   = 39
+release_delay   = 121
+debug_enable    = 1
+
+fn_key_scancode       = 0x8f
+left_key_scancode     = 0x69
+right_key_scancode    = 0x6a
+up_key_scancode       = 0x67
+down_key_scancode     = 0x6c
+ok_key_scancode       = 0x1c
+pageup_key_scancode   = 0x68
+pagedown_key_scancode = 0x6d
+
+mouse_begin
+	0 0x69 # left
+	1 0x6a # right
+	2 0x67 # up
+	3 0x6c # down
+mouse_end
+
+key_begin
+#	 ir | scan
+#	----+------
+	0x4d 0x74 # KEY_POWER      116
+	0x43 0x71 # KEY_MUTE       113
+
+	0x53 0x3b # KEY_F1          59 /* red    (help) */
+	0x5b 0x3c # KEY_F2          60 /* green  (save) */
+	0x57 0x3d # KEY_F3          61 /* yellow (view) */
+	0x54 0x3e # KEY_F4          62 /* blue   (edit) */
+
+	0x1c 0x72 # KEY_VOLUMEDOWN 114 /* VOL- */
+	0x15 0x73 # KEY_VOLUMEUP   115 /* VOL+ */
+	0x1e 0x68 # KEY_PAGEUP     104 /*  |<< */
+	0x1f 0x6d # KEY_PAGEDOWN   109 /*  >>| */
+
+	0x1a 0x66 # KEY_HOME       102 /* home   */
+	0x42 0x01 # KEY_ESC          1 /* return */
+	0x45 0x43 # KEY_F9          67 /* menu   */
+	0x44 0x6b # KEY_END        107 /* mouse  */
+
+	0x10 0x69 # KEY_LEFT       105
+	0x11 0x6a # KEY_RIGHT      106
+	0x0b 0x67 # KEY_UP         103
+	0x0e 0x6c # KEY_DOWN       108
+	0x0d 0x1c # KEY_ENTER       28
+
+	0x01 0x02 # KEY_1            2
+	0x02 0x03 # KEY_2            3
+	0x03 0x04 # KEY_3            4
+	0x04 0x05 # KEY_4            5
+	0x05 0x06 # KEY_5            6
+	0x06 0x07 # KEY_6            7
+	0x07 0x08 # KEY_7            8
+	0x08 0x09 # KEY_8            9
+	0x09 0x0a # KEY_9           10
+	0x00 0x0b # KEY_0           11
+	0x0c 0x0e # KEY_BACKSPACE   14
+	0x0f 0x45 # KEY_NUMLOCK     69 /* 1/A/a */
+key_end
+
+repeat_key_begin
+#	 ir | scan
+#	----+------
+	0x4d 0x74 # KEY_POWER      116
+	0x43 0x71 # KEY_MUTE       113
+
+	0x53 0x3b # KEY_F1          59 /* red    (help) */
+	0x5b 0x3c # KEY_F2          60 /* green  (save) */
+	0x57 0x3d # KEY_F3          61 /* yellow (view) */
+	0x54 0x3e # KEY_F4          62 /* blue   (edit) */
+
+	0x1c 0x72 # KEY_VOLUMEDOWN 114 /* VOL- */
+	0x15 0x73 # KEY_VOLUMEUP   115 /* VOL+ */
+	0x1e 0x68 # KEY_PAGEUP     104 /*  |<< */
+	0x1f 0x6d # KEY_PAGEDOWN   109 /*  >>| */
+
+	0x1a 0x66 # KEY_HOME       102 /* home   */
+	0x42 0x01 # KEY_ESC          1 /* return */
+	0x45 0x43 # KEY_F9          67 /* menu   */
+	0x44 0x6b # KEY_END        107 /* mouse  */
+
+	0x10 0x69 # KEY_LEFT       105
+	0x11 0x6a # KEY_RIGHT      106
+	0x0b 0x67 # KEY_UP         103
+	0x0e 0x6c # KEY_DOWN       108
+	0x0d 0x1c # KEY_ENTER       28
+
+	0x01 0x02 # KEY_1            2
+	0x02 0x03 # KEY_2            3
+	0x03 0x04 # KEY_3            4
+	0x04 0x05 # KEY_4            5
+	0x05 0x06 # KEY_5            6
+	0x06 0x07 # KEY_6            7
+	0x07 0x08 # KEY_7            8
+	0x08 0x09 # KEY_8            9
+	0x09 0x0a # KEY_9           10
+	0x00 0x0b # KEY_0           11
+	0x0c 0x0e # KEY_BACKSPACE   14
+	0x0f 0x45 # KEY_NUMLOCK     69
+repeat_key_end
diff --git a/app/remotecfg/1.0.0/remotecfg-pkg-description.in b/app/remotecfg/1.0.0/remotecfg-pkg-description.in
new file mode 100644
index 000000000..580c3680c
--- /dev/null
+++ b/app/remotecfg/1.0.0/remotecfg-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+         |-----handy-ruler------------------------------------------------------|
+remotecfg: remotecfg @VERSION@ (Amlogic remote configuration tool)
+remotecfg:
+remotecfg: remotecfg - Amlogic remote configuration tool.
+remotecfg:
+remotecfg:
+remotecfg: Homepage: http://openlinux.amlogic.com
+remotecfg:
+remotecfg:
+remotecfg:
+remotecfg:
+remotecfg:
diff --git a/app/remotecfg/1.0.0/remotecfg-pkg-install.sh b/app/remotecfg/1.0.0/remotecfg-pkg-install.sh
new file mode 100755
index 000000000..566818af5
--- /dev/null
+++ b/app/remotecfg/1.0.0/remotecfg-pkg-install.sh
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  install_file etc/rcu/remote.conf.new
+  install_file etc/rc.d/rc.remote-control.new
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/app/rtmpdump/2.4-x86_32/Makefile b/app/rtmpdump/2.4-x86_32/Makefile
new file mode 100644
index 000000000..663529c2f
--- /dev/null
+++ b/app/rtmpdump/2.4-x86_32/Makefile
@@ -0,0 +1,148 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/rtmpdump
+
+REQUIRES           = app/rtmpdump/2.4
+REQUIRES          += libs/zlib/1.2.8-x86_32
+REQUIRES          += net/openssl/1.0.2f-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 2.4
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/m/rtmpdump/rtmpdump-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/rtmpdump-$(version)
+src_dir_name       = rtmpdump-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = app
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+RTMPDUMP_32_PKG_NAME                = rtmpdump-x32
+RTMPDUMP_32_PKG_VERSION             = 2.4
+RTMPDUMP_32_PKG_ARCH                = $(TOOLCHAIN)
+RTMPDUMP_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+RTMPDUMP_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+RTMPDUMP_32_PKG_GROUP               = $(PKG_GROUP)
+###                                  |---handy-ruler-------------------------------|
+RTMPDUMP_32_PKG_SHORT_DESCRIPTION   = RTMP streaming media client
+RTMPDUMP_32_PKG_URL                 = $(BUG_URL)
+RTMPDUMP_32_PKG_LICENSE             = GPLv2
+RTMPDUMP_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(RTMPDUMP_32_PKG_NAME)-pkg-description
+RTMPDUMP_32_PKG_DESCRIPTION_FILE_IN = $(RTMPDUMP_32_PKG_NAME)-pkg-description.in
+RTMPDUMP_32_PKG_INSTALL_SCRIPT      = $(RTMPDUMP_32_PKG_NAME)-pkg-install.sh
+
+RTMPDUMP_32_PKG   = $(CURDIR)/$(TARGET_BUILD_DIR)/$(RTMPDUMP_32_PKG_NAME)-package
+
+pkg_basename      = $(RTMPDUMP_32_PKG_NAME)-$(RTMPDUMP_32_PKG_VERSION)-$(RTMPDUMP_32_PKG_ARCH)-$(RTMPDUMP_32_PKG_DISTRO_NAME)-$(RTMPDUMP_32_PKG_DISTRO_VERSION)
+
+pkg_archive       = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature     = $(call sign-name,$(pkg_archive))
+pkg_description   = $(call desc-name,$(pkg_archive))
+products          = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS     = $(build_target)
+BUILD_TARGETS    += $(install_target)
+
+PRODUCT_TARGETS   = $(products)
+
+ROOTFS_TARGETS    = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(RTMPDUMP_32_PKG)
+
+
+CFLAGS += -Wno-unused-but-set-variable
+
+
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@( cd $(SRC_DIR) ; \
+	   $(BUILD_ENVIRONMENT) $(MAKE) prefix="/usr"                               \
+	                                bindir="/usr/bin/32"                        \
+	                                sbindir="/usr/sbin/32"                      \
+	                                libdir="/usr/lib$(MULTILIB_X86_32_SUFFIX)"  \
+	                                mandir="/usr/share/man"                   ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(RTMPDUMP_32_PKG)
+	@( cd $(SRC_DIR) ; \
+	   $(BUILD_ENVIRONMENT) $(MAKE) -j1 prefix="/usr"                                    \
+	                                    bindir="/usr/bin/32"                             \
+	                                    sbindir="/usr/sbin/32"                           \
+	                                    libdir="/usr/lib$(MULTILIB_X86_32_SUFFIX)"       \
+	                                    mandir="/usr/share/man" $(env_sysroot) install ; \
+	 )
+	@rm -rf $(RTMPDUMP_32_PKG)/usr/include
+	@rm -rf $(RTMPDUMP_32_PKG)/usr/share
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(RTMPDUMP_32_PKG))
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" librtmp.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(RTMPDUMP_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+	@touch $@
+
+$(RTMPDUMP_32_PKG_DESCRIPTION_FILE): $(RTMPDUMP_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(RTMPDUMP_32_PKG_DESCRIPTION_FILE) $(RTMPDUMP_32_PKG_INSTALL_SCRIPT)
+	@cp $(RTMPDUMP_32_PKG_DESCRIPTION_FILE) $(RTMPDUMP_32_PKG)/.DESCRIPTION
+	@cp $(RTMPDUMP_32_PKG_INSTALL_SCRIPT) $(RTMPDUMP_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(RTMPDUMP_32_PKG)/.REQUIRES
+	@echo "pkgname=$(RTMPDUMP_32_PKG_NAME)"                            >  $(RTMPDUMP_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(RTMPDUMP_32_PKG_VERSION)"                          >> $(RTMPDUMP_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(RTMPDUMP_32_PKG_ARCH)"                               >> $(RTMPDUMP_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(RTMPDUMP_32_PKG_DISTRO_NAME)"                  >> $(RTMPDUMP_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(RTMPDUMP_32_PKG_DISTRO_VERSION)"                >> $(RTMPDUMP_32_PKG)/.PKGINFO ; \
+	 echo "group=$(RTMPDUMP_32_PKG_GROUP)"                             >> $(RTMPDUMP_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(RTMPDUMP_32_PKG_SHORT_DESCRIPTION)\"" >> $(RTMPDUMP_32_PKG)/.PKGINFO ; \
+	 echo "url=$(RTMPDUMP_32_PKG_URL)"                                 >> $(RTMPDUMP_32_PKG)/.PKGINFO ; \
+	 echo "license=$(RTMPDUMP_32_PKG_LICENSE)"                         >> $(RTMPDUMP_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(RTMPDUMP_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/app/rtmpdump/2.4-x86_32/PATCHES b/app/rtmpdump/2.4-x86_32/PATCHES
new file mode 100644
index 000000000..246ffc72a
--- /dev/null
+++ b/app/rtmpdump/2.4-x86_32/PATCHES
@@ -0,0 +1,2 @@
+
+../../../sources/packages/m/rtmpdump/patches/rtmpdump-2.4-cross.patch -p0
diff --git a/app/rtmpdump/2.4-x86_32/rtmpdump-x32-pkg-description.in b/app/rtmpdump/2.4-x86_32/rtmpdump-x32-pkg-description.in
new file mode 100644
index 000000000..4d80fd95d
--- /dev/null
+++ b/app/rtmpdump/2.4-x86_32/rtmpdump-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+            |-----handy-ruler------------------------------------------------------|
+rtmpdump-x32: rtmpdump-x32 @VERSION@ (x86_32 RTMP streaming media client)
+rtmpdump-x32:
+rtmpdump-x32: rtmpdump is a toolkit for RTMP streams.
+rtmpdump-x32:
+rtmpdump-x32: All forms of RTMP are supported, including rtmp://, rtmpt://,
+rtmpdump-x32: rtmpe://, rtmpte://, and rtmps://.
+rtmpdump-x32:
+rtmpdump-x32:
+rtmpdump-x32: Homepage: http://rtmpdump.mplayerhq.hu
+rtmpdump-x32:
+rtmpdump-x32:
diff --git a/app/rtmpdump/2.4-x86_32/rtmpdump-x32-pkg-install.sh b/app/rtmpdump/2.4-x86_32/rtmpdump-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/app/rtmpdump/2.4-x86_32/rtmpdump-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/app/rtmpdump/2.4/Makefile b/app/rtmpdump/2.4/Makefile
new file mode 100644
index 000000000..5a186c18b
--- /dev/null
+++ b/app/rtmpdump/2.4/Makefile
@@ -0,0 +1,191 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/rtmpdump
+
+REQUIRES           = libs/zlib/1.2.8
+REQUIRES          += net/openssl/1.0.2f
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 2.4
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/m/rtmpdump/rtmpdump-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/rtmpdump-$(version)
+src_dir_name       = rtmpdump-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = app
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+RTMPDUMP_PKG_NAME                = rtmpdump
+RTMPDUMP_PKG_VERSION             = 2.4
+RTMPDUMP_PKG_ARCH                = $(TOOLCHAIN)
+RTMPDUMP_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+RTMPDUMP_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+RTMPDUMP_PKG_GROUP               = $(PKG_GROUP)
+###                               |---handy-ruler-------------------------------|
+RTMPDUMP_PKG_SHORT_DESCRIPTION   = RTMP streaming media client
+RTMPDUMP_PKG_URL                 = $(BUG_URL)
+RTMPDUMP_PKG_LICENSE             = GPLv2
+RTMPDUMP_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(RTMPDUMP_PKG_NAME)-pkg-description
+RTMPDUMP_PKG_DESCRIPTION_FILE_IN = $(RTMPDUMP_PKG_NAME)-pkg-description.in
+RTMPDUMP_PKG_INSTALL_SCRIPT      = $(RTMPDUMP_PKG_NAME)-pkg-install.sh
+
+RTMPDUMP_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(RTMPDUMP_PKG_NAME)-package
+
+pkg_basename     = $(RTMPDUMP_PKG_NAME)-$(RTMPDUMP_PKG_VERSION)-$(RTMPDUMP_PKG_ARCH)-$(RTMPDUMP_PKG_DISTRO_NAME)-$(RTMPDUMP_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(RTMPDUMP_PKG)
+
+
+CFLAGS += -Wno-unused-but-set-variable
+
+
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@( cd $(SRC_DIR) ; \
+	   $(BUILD_ENVIRONMENT) $(MAKE) prefix="/usr"                  \
+	                                bindir="/usr/bin"              \
+	                                sbindir="/usr/sbin"            \
+	                                libdir="/usr/lib$(LIBSUFFIX)"  \
+	                                mandir="/usr/share/man"      ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(RTMPDUMP_PKG)
+	@( cd $(SRC_DIR) ; \
+	   $(BUILD_ENVIRONMENT) $(MAKE) -j1 prefix="/usr"                  \
+	                                    bindir="/usr/bin"              \
+	                                    sbindir="/usr/sbin"            \
+	                                    libdir="/usr/lib$(LIBSUFFIX)"  \
+	                                    mandir="/usr/share/man" $(env_sysroot) install ; \
+	 )
+	# ======= Install Documentation =======
+	@if [ -d $(RTMPDUMP_PKG)/usr/share/man ]; then \
+	  ( cd $(RTMPDUMP_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(RTMPDUMP_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/COPYING \
+	       $(RTMPDUMP_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/librtmp/COPYING \
+	       $(RTMPDUMP_PKG)/usr/doc/$(src_dir_name)/COPYING.librtmp
+	@mkdir -p $(RTMPDUMP_PKG)/usr/share/doc/$(src_dir_name)/html
+	@( cd $(SRC_DIR) ; \
+	   cp -a COPYING README \
+	         $(RTMPDUMP_PKG)/usr/share/doc/$(src_dir_name) ; \
+	   cp -a librtmp/COPYING \
+	         $(RTMPDUMP_PKG)/usr/share/doc/$(src_dir_name)/COPYING.librtmp ; \
+	   cp -a *.html \
+	         $(RTMPDUMP_PKG)/usr/share/doc/$(src_dir_name)/html ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(RTMPDUMP_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(RTMPDUMP_PKG))
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" librtmp.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(RTMPDUMP_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+	@touch $@
+
+$(RTMPDUMP_PKG_DESCRIPTION_FILE): $(RTMPDUMP_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(RTMPDUMP_PKG_DESCRIPTION_FILE) $(RTMPDUMP_PKG_INSTALL_SCRIPT)
+	@cp $(RTMPDUMP_PKG_DESCRIPTION_FILE) $(RTMPDUMP_PKG)/.DESCRIPTION
+	@cp $(RTMPDUMP_PKG_INSTALL_SCRIPT) $(RTMPDUMP_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(RTMPDUMP_PKG)/.REQUIRES
+	@echo "pkgname=$(RTMPDUMP_PKG_NAME)"                            >  $(RTMPDUMP_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(RTMPDUMP_PKG_VERSION)"                          >> $(RTMPDUMP_PKG)/.PKGINFO ; \
+	 echo "arch=$(RTMPDUMP_PKG_ARCH)"                               >> $(RTMPDUMP_PKG)/.PKGINFO ; \
+	 echo "distroname=$(RTMPDUMP_PKG_DISTRO_NAME)"                  >> $(RTMPDUMP_PKG)/.PKGINFO ; \
+	 echo "distrover=$(RTMPDUMP_PKG_DISTRO_VERSION)"                >> $(RTMPDUMP_PKG)/.PKGINFO ; \
+	 echo "group=$(RTMPDUMP_PKG_GROUP)"                             >> $(RTMPDUMP_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(RTMPDUMP_PKG_SHORT_DESCRIPTION)\"" >> $(RTMPDUMP_PKG)/.PKGINFO ; \
+	 echo "url=$(RTMPDUMP_PKG_URL)"                                 >> $(RTMPDUMP_PKG)/.PKGINFO ; \
+	 echo "license=$(RTMPDUMP_PKG_LICENSE)"                         >> $(RTMPDUMP_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(RTMPDUMP_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/app/rtmpdump/2.4/PATCHES b/app/rtmpdump/2.4/PATCHES
new file mode 100644
index 000000000..246ffc72a
--- /dev/null
+++ b/app/rtmpdump/2.4/PATCHES
@@ -0,0 +1,2 @@
+
+../../../sources/packages/m/rtmpdump/patches/rtmpdump-2.4-cross.patch -p0
diff --git a/app/rtmpdump/2.4/rtmpdump-pkg-description.in b/app/rtmpdump/2.4/rtmpdump-pkg-description.in
new file mode 100644
index 000000000..007388328
--- /dev/null
+++ b/app/rtmpdump/2.4/rtmpdump-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler------------------------------------------------------|
+rtmpdump: rtmpdump @VERSION@ (RTMP streaming media client)
+rtmpdump:
+rtmpdump: rtmpdump is a toolkit for RTMP streams.
+rtmpdump:
+rtmpdump: All forms of RTMP are supported, including rtmp://, rtmpt://,
+rtmpdump: rtmpe://, rtmpte://, and rtmps://.
+rtmpdump:
+rtmpdump:
+rtmpdump: Homepage: http://rtmpdump.mplayerhq.hu
+rtmpdump:
+rtmpdump:
diff --git a/app/rtmpdump/2.4/rtmpdump-pkg-install.sh b/app/rtmpdump/2.4/rtmpdump-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/app/rtmpdump/2.4/rtmpdump-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/base/radix-system/Makefile b/base/radix-system/Makefile
index ed59c0c85..13beda2bb 100644
--- a/base/radix-system/Makefile
+++ b/base/radix-system/Makefile
@@ -150,6 +150,15 @@ ifneq ($(filter $(HARDWARE),$(HARDWARE_CI20)),)
 endif
 ifneq ($(filter $(HARDWARE),$(HARDWARE_OMAP5UEVM)),)
 	@cat $(modprobes)/modprobe.$(HARDWARE) >> $(SYSINIT_BIN_PKG)/etc/rc.d/rc.modules.new
+endif
+ifneq ($(filter $(HARDWARE),$(HARDWARE_M201)),)
+	@echo "# Mali:"                        >> $(SYSINIT_BIN_PKG)/etc/rc.d/rc.modules.new
+	@echo "/sbin/modprobe mali"            >> $(SYSINIT_BIN_PKG)/etc/rc.d/rc.modules.new
+	@echo "/sbin/modprobe mali_drm"        >> $(SYSINIT_BIN_PKG)/etc/rc.d/rc.modules.new
+	@echo "# /sbin/modprobe ump"           >> $(SYSINIT_BIN_PKG)/etc/rc.d/rc.modules.new
+	@echo ""                               >> $(SYSINIT_BIN_PKG)/etc/rc.d/rc.modules.new
+	@echo "# Additional stuff:"            >> $(SYSINIT_BIN_PKG)/etc/rc.d/rc.modules.new
+	@echo "/sbin/modprobe udl"             >> $(SYSINIT_BIN_PKG)/etc/rc.d/rc.modules.new
 endif
 	@chmod a+x $(SYSINIT_BIN_PKG)/etc/rc.d/rc.{fbset.new,font.new,gpm.new,keymap.new,modules.new}
 	# ======= etc/inittab =======
diff --git a/base/radix-system/etc/group b/base/radix-system/etc/group
index 5861aa17a..49f07df92 100644
--- a/base/radix-system/etc/group
+++ b/base/radix-system/etc/group
@@ -15,7 +15,7 @@ news:x:13:news
 uucp:x:14:uucp
 man:x:15:
 dialout:x:16:uucp
-audio:x:17:root
+audio:x:17:root,pulse
 video:x:18:root
 cdrom:x:19:root
 games:x:20:
diff --git a/base/radix-system/etc/rc.d/rc.M.in b/base/radix-system/etc/rc.d/rc.M.in
index 3d6cd23b4..b67de7e05 100644
--- a/base/radix-system/etc/rc.d/rc.M.in
+++ b/base/radix-system/etc/rc.d/rc.M.in
@@ -278,6 +278,10 @@ elif [ -x /etc/rc.d/rc.networkmanager ]; then
   sh /etc/rc.d/rc.networkmanager start
 fi
 
+# Start system-wide PulseAudio daemon:
+if [ -x /etc/rc.d/rc.pulseaudio ]; then
+  . /etc/rc.d/rc.pulseaudio start
+fi
 
 # These GTK+ files need to be kept up to date for
 # proper input method, pixbuf loaders, and font support.
diff --git a/base/radix-system/etc/rc.d/rc.S b/base/radix-system/etc/rc.d/rc.S
index ea26c6ae2..71744a94d 100644
--- a/base/radix-system/etc/rc.d/rc.S
+++ b/base/radix-system/etc/rc.d/rc.S
@@ -428,6 +428,11 @@ if [ -x /etc/rc.d/rc.fbset ]; then
   . /etc/rc.d/rc.fbset
 fi
 
+# Start the remote control setup procedure.
+if [ -x /etc/rc.d/rc.remote-control ]; then
+  . /etc/rc.d/rc.remote-control
+fi
+
 # Carry an entropy pool between reboots to improve randomness.
 if [ -f /etc/random-seed ]; then
   echo "Using /etc/random-seed to initialize /dev/urandom."
diff --git a/base/radix-system/scripts/rc.mesonfb b/base/radix-system/scripts/rc.mesonfb
index 19cc422e3..68ebeee81 100644
--- a/base/radix-system/scripts/rc.mesonfb
+++ b/base/radix-system/scripts/rc.mesonfb
@@ -57,7 +57,7 @@ case $outputmode in
 
   *)
     # outputmode = 720p
-    /bin/echo 720p > /sys/class/display/mode  
+    /bin/echo 720p > /sys/class/display/mode
     /bin/echo 0 0 1279 719 > /sys/class/graphics/fb0/free_scale_axis
     /bin/echo 0 0 1279 719 > /sys/class/graphics/fb0/window_axis
     ;;
@@ -67,10 +67,10 @@ esac
 # Set framebuffer geometry to match the resolution
 case "$hdmimode" in
   720*)
-    /usr/sbin/fbset -fb /dev/fb0 -g 1280 720 1280 1440 32
+    /usr/sbin/fbset -fb /dev/fb0 -a -g 1280 720 1280 1440 32
     ;;
   1080*)
-    /usr/sbin/fbset -fb /dev/fb0 -g 1920 1080 1920 3240 32
+    /usr/sbin/fbset -fb /dev/fb0 -a -g 1920 1080 1920 3240 32
     ;;
 esac
 /usr/sbin/fbset -fb /dev/fb1 -g 32 32 32 32 32
diff --git a/boot/kernel/s805/3.10.103-20160830/configs/m201.config b/boot/kernel/s805/3.10.103-20160830/configs/m201.config
index 54738e6d4..512200b12 100644
--- a/boot/kernel/s805/3.10.103-20160830/configs/m201.config
+++ b/boot/kernel/s805/3.10.103-20160830/configs/m201.config
@@ -1422,17 +1422,17 @@ CONFIG_AML_VOUT_FRAMERATE_AUTOMATION=y
 #
 CONFIG_FB_AM=y
 CONFIG_FB_OSD2_ENABLE=y
-CONFIG_FB_OSD2_CURSOR=y
+# CONFIG_FB_OSD2_CURSOR is not set
 CONFIG_FB_OSD2_DEFAULT_BITS_PER_PIXEL=32
 CONFIG_FB_OSD2_DEFAULT_WIDTH=32
 CONFIG_FB_OSD2_DEFAULT_HEIGHT=32
 CONFIG_FB_OSD2_DEFAULT_WIDTH_VIRTUAL=32
 CONFIG_FB_OSD2_DEFAULT_HEIGHT_VIRTUAL=32
-CONFIG_FB_OSD1_DEFAULT_BITS_PER_PIXEL=16
-CONFIG_FB_OSD1_DEFAULT_WIDTH=720
-CONFIG_FB_OSD1_DEFAULT_HEIGHT=480
-CONFIG_FB_OSD1_DEFAULT_WIDTH_VIRTUAL=720
-CONFIG_FB_OSD1_DEFAULT_HEIGHT_VIRTUAL=480
+CONFIG_FB_OSD1_DEFAULT_BITS_PER_PIXEL=32
+CONFIG_FB_OSD1_DEFAULT_WIDTH=1920
+CONFIG_FB_OSD1_DEFAULT_HEIGHT=1080
+CONFIG_FB_OSD1_DEFAULT_WIDTH_VIRTUAL=1920
+CONFIG_FB_OSD1_DEFAULT_HEIGHT_VIRTUAL=3240
 CONFIG_FB_AMLOGIC_UMP=y
 
 #
diff --git a/boot/kernel/s805/3.10.103-20160830/configs/mxq.config b/boot/kernel/s805/3.10.103-20160830/configs/mxq.config
index 54738e6d4..512200b12 100644
--- a/boot/kernel/s805/3.10.103-20160830/configs/mxq.config
+++ b/boot/kernel/s805/3.10.103-20160830/configs/mxq.config
@@ -1422,17 +1422,17 @@ CONFIG_AML_VOUT_FRAMERATE_AUTOMATION=y
 #
 CONFIG_FB_AM=y
 CONFIG_FB_OSD2_ENABLE=y
-CONFIG_FB_OSD2_CURSOR=y
+# CONFIG_FB_OSD2_CURSOR is not set
 CONFIG_FB_OSD2_DEFAULT_BITS_PER_PIXEL=32
 CONFIG_FB_OSD2_DEFAULT_WIDTH=32
 CONFIG_FB_OSD2_DEFAULT_HEIGHT=32
 CONFIG_FB_OSD2_DEFAULT_WIDTH_VIRTUAL=32
 CONFIG_FB_OSD2_DEFAULT_HEIGHT_VIRTUAL=32
-CONFIG_FB_OSD1_DEFAULT_BITS_PER_PIXEL=16
-CONFIG_FB_OSD1_DEFAULT_WIDTH=720
-CONFIG_FB_OSD1_DEFAULT_HEIGHT=480
-CONFIG_FB_OSD1_DEFAULT_WIDTH_VIRTUAL=720
-CONFIG_FB_OSD1_DEFAULT_HEIGHT_VIRTUAL=480
+CONFIG_FB_OSD1_DEFAULT_BITS_PER_PIXEL=32
+CONFIG_FB_OSD1_DEFAULT_WIDTH=1920
+CONFIG_FB_OSD1_DEFAULT_HEIGHT=1080
+CONFIG_FB_OSD1_DEFAULT_WIDTH_VIRTUAL=1920
+CONFIG_FB_OSD1_DEFAULT_HEIGHT_VIRTUAL=3240
 CONFIG_FB_AMLOGIC_UMP=y
 
 #
diff --git a/boot/u-boot/s805/2011.03-20150117/Makefile b/boot/u-boot/s805/2011.03-20150117/Makefile
index 376f201fd..f2607155c 100644
--- a/boot/u-boot/s805/2011.03-20150117/Makefile
+++ b/boot/u-boot/s805/2011.03-20150117/Makefile
@@ -1,5 +1,6 @@
 
-COMPONENT_TARGETS = $(HARDWARE_M201)
+COMPONENT_TARGETS  = $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
 
 NEED_ABS_PATH     = true
 
@@ -11,14 +12,25 @@ include ../../../../build-system/constants.mk
 
 SOURCE_REQUIRES   = sources/U-Boot/Amlogic/M201
 
+ifneq ($(filter $(HARDWARE),$(HARDWARE_M201)),)
 REQUIRES          = boot/kernel/s805/3.10.33-20150117
+endif
+ifneq ($(filter $(HARDWARE),$(HARDWARE_MXQ)),)
+REQUIRES          = boot/kernel/s805/3.10.103-20160830
+endif
 
 # ======= __END_OF_REQUIRES__ =======
 
 
 DEFAULT_NFS_ROOT_IP_ADDR = 172.16.0.3
+ifneq ($(filter $(HARDWARE),$(HARDWARE_M201)),)
 DEFAULT_NFS_ROOT_PATH    = "nfsroot-m201"
 DEFAULT_HW_ADDR          = 2a:ab:c0:c4:41:4a
+endif
+ifneq ($(filter $(HARDWARE),$(HARDWARE_MXQ)),)
+DEFAULT_NFS_ROOT_PATH    = "nfsroot-mxq"
+DEFAULT_HW_ADDR          = 2a:ab:c0:58:b1:8d
+endif
 
 
 version         = 2011.03-20150117
@@ -29,7 +41,12 @@ src_done        = $(TARGET_BUILD_DIR)/.source_done
 
 u_boot          = $(TARGET_BUILD_DIR)/.u_boot_done
 
+ifneq ($(filter $(HARDWARE),$(HARDWARE_M201)),)
 u_boot_config   = m8b_m201_512M_config
+endif
+ifneq ($(filter $(HARDWARE),$(HARDWARE_MXQ)),)
+u_boot_config   = m8b_m201_1G_config
+endif
 
 boot_script_sd  = $(TARGET_BUILD_DIR)/boot.script.sd
 boot_scr_sd     = $(TARGET_BUILD_DIR)/boot.scr.sd
@@ -132,7 +149,8 @@ video_output_mode   = hdmi
 #
 # Extra kernel boot arguments:
 #
-extra  = vdaccfg=0xa001
+extra  = logo=osd1,loaded,0x7900000,$(hdmi_output_mode),full
+extra += vdaccfg=0xa001
 extra += cvbsmode=576cvbs
 extra += hdmimode=$(hdmi_output_mode)
 extra += hdmitx=cec0xf
@@ -146,6 +164,9 @@ extra += mac=$(DEFAULT_HW_ADDR)
 ifneq ($(filter $(HARDWARE),$(HARDWARE_M201)),)
 device_dtb  = meson8b_m201_512M.dtb
 endif
+ifneq ($(filter $(HARDWARE),$(HARDWARE_MXQ)),)
+device_dtb  = meson8b-mxq.dtb
+endif
 
 $(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
 	$(UNPACK_SRC_ARCHIVE)
@@ -190,7 +211,7 @@ $(build_uboot_pkg): $(boot_scr_sd)
 	@cp -a $(boot_scr_sd)   $(UBOOT_BIN_PKG)/boot
 	@cp -a $(boot_scr_sd)   $(UBOOT_BIN_PKG)/boot/boot.scr
 	@for logo in $(u_boot_logos) ; do \
-	   cp -a $(logos_path)/$$logo $(TARGET_DEST_DIR)/boot ; \
+	   cp -a $(logos_path)/$$logo $(UBOOT_BIN_PKG)/boot ; \
 	 done
 	@cd $(SRC_DIR) && \
 	  cp -a build/u-boot.bin $(TARGET_DEST_DIR)/bootfs && \
diff --git a/dev/orc/0.4.26.1-x86_32/Makefile b/dev/orc/0.4.26.1-x86_32/Makefile
new file mode 100644
index 000000000..8b29d3b90
--- /dev/null
+++ b/dev/orc/0.4.26.1-x86_32/Makefile
@@ -0,0 +1,161 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/d/orc
+
+REQUIRES           = dev/orc/0.4.26.1
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.4.26.1
+short_version      = $(shell echo $(version) | cut -f 1,2 -d '.' )
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/d/orc/orc-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/orc-$(version)
+src_dir_name       = orc-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = dev
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+ORC_32_PKG_NAME                = orc-x32
+ORC_32_PKG_VERSION             = 0.4.26.1
+ORC_32_PKG_ARCH                = $(TOOLCHAIN)
+ORC_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+ORC_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+ORC_32_PKG_GROUP               = $(PKG_GROUP)
+###                             |---handy-ruler-------------------------------|
+ORC_32_PKG_SHORT_DESCRIPTION   = Optimized Inner Loop Runtime Compiler
+ORC_32_PKG_URL                 = $(BUG_URL)
+ORC_32_PKG_LICENSE             = custom
+ORC_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(ORC_32_PKG_NAME)-pkg-description
+ORC_32_PKG_DESCRIPTION_FILE_IN = $(ORC_32_PKG_NAME)-pkg-description.in
+ORC_32_PKG_INSTALL_SCRIPT      = $(ORC_32_PKG_NAME)-pkg-install.sh
+
+ORC_32_PKG       = $(CURDIR)/$(TARGET_BUILD_DIR)/$(ORC_32_PKG_NAME)-package
+
+pkg_basename     = $(ORC_32_PKG_NAME)-$(ORC_32_PKG_VERSION)-$(ORC_32_PKG_ARCH)-$(ORC_32_PKG_DISTRO_NAME)-$(ORC_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(ORC_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+extra_configure_switches += --enable-backend=sse,mmx
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=yes
+
+
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(ORC_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(ORC_32_PKG)/usr/include
+	@rm -rf $(ORC_32_PKG)/usr/share
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(ORC_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" liborc-$(short_version).la liborc-test-$(short_version).la \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(ORC_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" liborc-$(short_version).la liborc-test-$(short_version).la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" liborc-$(short_version).la liborc-test-$(short_version).la \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" orc-$(short_version).pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(ORC_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+	@touch $@
+
+$(ORC_32_PKG_DESCRIPTION_FILE): $(ORC_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(ORC_32_PKG_DESCRIPTION_FILE) $(ORC_32_PKG_INSTALL_SCRIPT)
+	@cp $(ORC_32_PKG_DESCRIPTION_FILE) $(ORC_32_PKG)/.DESCRIPTION
+	@cp $(ORC_32_PKG_INSTALL_SCRIPT) $(ORC_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(ORC_32_PKG)/.REQUIRES
+	@echo "pkgname=$(ORC_32_PKG_NAME)"                            >  $(ORC_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(ORC_32_PKG_VERSION)"                          >> $(ORC_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(ORC_32_PKG_ARCH)"                               >> $(ORC_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(ORC_32_PKG_DISTRO_NAME)"                  >> $(ORC_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(ORC_32_PKG_DISTRO_VERSION)"                >> $(ORC_32_PKG)/.PKGINFO ; \
+	 echo "group=$(ORC_32_PKG_GROUP)"                             >> $(ORC_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(ORC_32_PKG_SHORT_DESCRIPTION)\"" >> $(ORC_32_PKG)/.PKGINFO ; \
+	 echo "url=$(ORC_32_PKG_URL)"                                 >> $(ORC_32_PKG)/.PKGINFO ; \
+	 echo "license=$(ORC_32_PKG_LICENSE)"                         >> $(ORC_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(ORC_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/dev/orc/0.4.26.1-x86_32/PATCHES b/dev/orc/0.4.26.1-x86_32/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/dev/orc/0.4.26.1-x86_32/orc-x32-pkg-description.in b/dev/orc/0.4.26.1-x86_32/orc-x32-pkg-description.in
new file mode 100644
index 000000000..145a92c2d
--- /dev/null
+++ b/dev/orc/0.4.26.1-x86_32/orc-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+       |-----handy-ruler------------------------------------------------------|
+orc-x32: orc-x32 @VERSION@ (x86_32 Optimized Inner Loop Runtime Compiler)
+orc-x32:
+orc-x32: Orc is a library and set of tools for compiling and executing
+orc-x32: very simple programs that operate on arrays of data. The "language"
+orc-x32: is a generic assembly language that represents many of the features
+orc-x32: available in SIMD architectures, including saturated addition and
+orc-x32: subtraction, and many arithmetic operations.
+orc-x32:
+orc-x32: Cgit: https://cgit.freedesktop.org/gstreamer/orc
+orc-x32:
+orc-x32:
diff --git a/dev/orc/0.4.26.1-x86_32/orc-x32-pkg-install.sh b/dev/orc/0.4.26.1-x86_32/orc-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/dev/orc/0.4.26.1-x86_32/orc-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/dev/orc/0.4.26.1/Makefile b/dev/orc/0.4.26.1/Makefile
new file mode 100644
index 000000000..17e3abdc6
--- /dev/null
+++ b/dev/orc/0.4.26.1/Makefile
@@ -0,0 +1,242 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/d/orc
+
+ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
+REQUIRES           = dev/gcc/5.3.0
+else
+ifneq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES           = libs/glibc/2.23
+else
+REQUIRES           = libs/glibc/2.23-x86_32
+endif
+endif
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.4.26.1
+short_version      = $(shell echo $(version) | cut -f 1,2 -d '.' )
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/d/orc/orc-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/orc-$(version)
+src_dir_name       = orc-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = dev
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+ORC_PKG_NAME                = orc
+ORC_PKG_VERSION             = 0.4.26.1
+ORC_PKG_ARCH                = $(TOOLCHAIN)
+ORC_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+ORC_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+ORC_PKG_GROUP               = $(PKG_GROUP)
+###                          |---handy-ruler-------------------------------|
+ORC_PKG_SHORT_DESCRIPTION   = Optimized Inner Loop Runtime Compiler
+ORC_PKG_URL                 = $(BUG_URL)
+ORC_PKG_LICENSE             = custom
+ORC_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(ORC_PKG_NAME)-pkg-description
+ORC_PKG_DESCRIPTION_FILE_IN = $(ORC_PKG_NAME)-pkg-description.in
+ORC_PKG_INSTALL_SCRIPT      = $(ORC_PKG_NAME)-pkg-install.sh
+
+ORC_PKG          = $(CURDIR)/$(TARGET_BUILD_DIR)/$(ORC_PKG_NAME)-package
+
+pkg_basename     = $(ORC_PKG_NAME)-$(ORC_PKG_VERSION)-$(ORC_PKG_ARCH)-$(ORC_PKG_DISTRO_NAME)-$(ORC_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(ORC_PKG)
+
+
+ENABLE_GTK_DOCUMENTATION  = yes
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+ifneq ($(filter $(HARDWARE),$(HARDWARE_CB1X)      \
+                            $(HARDWARE_CB2X)      \
+                            $(HARDWARE_CB3X)      \
+                            $(HARDWARE_FFRK3288)  \
+                            $(HARDWARE_M201)      \
+                            $(HARDWARE_MXQ)       \
+                            $(HARDWARE_NIT6Q)     \
+                            $(HARDWARE_OMAP5UEVM) \
+                            $(HARDWARE_DRA7XXEVM)),)
+extra_configure_switches += --enable-backend=neon
+endif
+ifneq ($(filter $(HARDWARE),$(HARDWARE_PC32)),)
+extra_configure_switches += --enable-backend=sse,mmx
+endif
+ifneq ($(filter $(HARDWARE),$(HARDWARE_PC64)),)
+extra_configure_switches += --enable-backend=sse,mmx
+endif
+ifneq ($(filter $(HARDWARE),$(HARDWARE_CI20) $(HARDWARE_BT1)),)
+extra_configure_switches += --enable-backend=mips
+endif
+
+extra_configure_switches += --enable-gtk-doc=no
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=yes
+
+
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && \
+	  $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(ORC_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+ifeq ($(ENABLE_GTK_DOCUMENTATION),yes)
+	# ======= Install Documentation =======
+	@( cd $(SRC_DIR) ; \
+	   ./configure --prefix=/usr --enable-gtk-doc ; \
+	   make -C doc ; \
+	   make -C doc install $(env_sysroot) ; \
+	 )
+endif
+	@if [ -d $(ORC_PKG)/usr/share/man ]; then \
+	  ( cd $(ORC_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(ORC_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/COPYING \
+	       $(ORC_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(ORC_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a COPYING README RELEASE ROADMAP TODO \
+	         $(ORC_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+ifeq ($(ENABLE_GTK_DOCUMENTATION),yes)
+	@( cd $(ORC_PKG)/usr/share/doc/$(src_dir_name) ; \
+	   ln -sf ../../gtk-doc/html/orc html ; \
+	 )
+endif
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(ORC_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(ORC_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" liborc-$(short_version).la liborc-test-$(short_version).la \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(ORC_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" liborc-$(short_version).la liborc-test-$(short_version).la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" liborc-$(short_version).la liborc-test-$(short_version).la \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" orc-$(short_version).pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(ORC_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+	@touch $@
+
+$(ORC_PKG_DESCRIPTION_FILE): $(ORC_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(ORC_PKG_DESCRIPTION_FILE) $(ORC_PKG_INSTALL_SCRIPT)
+	@cp $(ORC_PKG_DESCRIPTION_FILE) $(ORC_PKG)/.DESCRIPTION
+	@cp $(ORC_PKG_INSTALL_SCRIPT) $(ORC_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(ORC_PKG)/.REQUIRES
+	@echo "pkgname=$(ORC_PKG_NAME)"                            >  $(ORC_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(ORC_PKG_VERSION)"                          >> $(ORC_PKG)/.PKGINFO ; \
+	 echo "arch=$(ORC_PKG_ARCH)"                               >> $(ORC_PKG)/.PKGINFO ; \
+	 echo "distroname=$(ORC_PKG_DISTRO_NAME)"                  >> $(ORC_PKG)/.PKGINFO ; \
+	 echo "distrover=$(ORC_PKG_DISTRO_VERSION)"                >> $(ORC_PKG)/.PKGINFO ; \
+	 echo "group=$(ORC_PKG_GROUP)"                             >> $(ORC_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(ORC_PKG_SHORT_DESCRIPTION)\"" >> $(ORC_PKG)/.PKGINFO ; \
+	 echo "url=$(ORC_PKG_URL)"                                 >> $(ORC_PKG)/.PKGINFO ; \
+	 echo "license=$(ORC_PKG_LICENSE)"                         >> $(ORC_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(ORC_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/dev/orc/0.4.26.1/PATCHES b/dev/orc/0.4.26.1/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/dev/orc/0.4.26.1/orc-pkg-description.in b/dev/orc/0.4.26.1/orc-pkg-description.in
new file mode 100644
index 000000000..118f79071
--- /dev/null
+++ b/dev/orc/0.4.26.1/orc-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+   |-----handy-ruler------------------------------------------------------|
+orc: orc @VERSION@ (Optimized Inner Loop Runtime Compiler)
+orc:
+orc: Orc is a library and set of tools for compiling and executing
+orc: very simple programs that operate on arrays of data. The "language"
+orc: is a generic assembly language that represents many of the features
+orc: available in SIMD architectures, including saturated addition and
+orc: subtraction, and many arithmetic operations.
+orc:
+orc: Cgit: https://cgit.freedesktop.org/gstreamer/orc
+orc:
+orc:
diff --git a/dev/orc/0.4.26.1/orc-pkg-install.sh b/dev/orc/0.4.26.1/orc-pkg-install.sh
new file mode 100755
index 000000000..8d5cee116
--- /dev/null
+++ b/dev/orc/0.4.26.1/orc-pkg-install.sh
@@ -0,0 +1,69 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  #
+  # NOTE:
+  #   'install-info' can work using relative paths and we can make use build machine
+  #   utility during installation to the some partition and use target 'install-info'
+  #   during installation directly on the running target machine.
+  #
+  if [ -x /usr/bin/install-info ] ; then
+    install-info --info-dir=usr/share/info usr/share/info/check.info.gz 2>/dev/null
+  elif ! grep "(check)" usr/share/info/dir 1> /dev/null 2> /dev/null ; then
+  cat << EOF >> usr/share/info/dir
+
+Software development
+* Check: (check)Introduction.
+EOF
+  fi
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  if [ -x /usr/bin/install-info ] ; then
+    install-info --delete --info-file=usr/share/info/check.info.gz --dir-file=usr/share/info/dir 2> /dev/null || /bin/true
+  fi
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/env/libva/1.7.2-x86_32/Makefile b/env/libva/1.7.2-x86_32/Makefile
new file mode 100644
index 000000000..80332fe6b
--- /dev/null
+++ b/env/libva/1.7.2-x86_32/Makefile
@@ -0,0 +1,140 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/vaapi/libva
+
+REQUIRES           = env/libva/1.7.2
+REQUIRES          += X11/libs/libdrm/2.4.68-x86_32
+REQUIRES          += X11/X.org/lib/libXext/1.3.3-x86_32
+REQUIRES          += X11/X.org/lib/libXfixes/5.0.1-x86_32
+REQUIRES          += Wayland/wayland/1.11.0-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.7.2
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/m/vaapi/libva/libva-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/libva-$(version)
+src_dir_name       = libva-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+
+LIBVA_32_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/libva-x32-package
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(LIBVA_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+extra_configure_switches += --enable-dummy-driver
+
+extra_configure_switches += --enable-docs=no
+extra_configure_switches += --enable-drm=yes
+extra_configure_switches += --enable-x11=yes
+extra_configure_switches += --enable-wayland=yes
+
+extra_configure_switches += --enable-glx=no
+extra_configure_switches += --enable-egl=no
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=yes
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LIBVA_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(LIBVA_32_PKG)/usr/include
+	@rm -rf $(LIBVA_32_PKG)/usr/share
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(LIBVA_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libva-drm.la     libva-tpi.la \
+	                                    libva-wayland.la libva-x11.la \
+	                                    libva.la ; \
+	 )
+	@( cd $(LIBVA_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/dri ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" dummy_drv_video.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LIBVA_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libva-drm.la     libva-tpi.la \
+	                                            libva-wayland.la libva-x11.la \
+	                                            libva.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libva-drm.la     libva-tpi.la \
+	                                              libva-wayland.la libva-x11.la \
+	                                              libva.la ; \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/dri ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   dummy_drv_video.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" dummy_drv_video.la ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libva-drm.pc     libva-tpi.pc   \
+	                                            libva-wayland.pc libva-x11.pc ; \
+	 )
+	# ======= do not touch driverdir variable in libva.pc file =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,prefix=/usr,prefix=$(TARGET_DEST_DIR)/usr,g" libva.pc ; \
+	   sed -i "s,libdir=/usr,libdir=$(TARGET_DEST_DIR)/usr,g" libva.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(LIBVA_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+	@touch $@
diff --git a/env/libva/1.7.2-x86_32/PATCHES b/env/libva/1.7.2-x86_32/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/env/libva/1.7.2/Makefile b/env/libva/1.7.2/Makefile
new file mode 100644
index 000000000..f76ba7c9c
--- /dev/null
+++ b/env/libva/1.7.2/Makefile
@@ -0,0 +1,175 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/vaapi/libva
+
+REQUIRES           = X11/libs/libdrm/2.4.68
+REQUIRES          += X11/X.org/lib/libXext/1.3.3
+REQUIRES          += X11/X.org/lib/libXfixes/5.0.1
+REQUIRES          += Wayland/wayland/1.11.0
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.7.2
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/m/vaapi/libva/libva-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/libva-$(version)
+src_dir_name       = libva-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+LIBVA_PKG          = $(CURDIR)/$(TARGET_BUILD_DIR)/libva-package
+
+BUILD_TARGETS      = $(build_target)
+BUILD_TARGETS     += $(install_target)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(LIBVA_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+extra_configure_switches += --enable-dummy-driver
+
+extra_configure_switches += --enable-docs=no
+extra_configure_switches += --enable-drm=yes
+extra_configure_switches += --enable-x11=yes
+extra_configure_switches += --enable-wayland=yes
+
+extra_configure_switches += --enable-glx=no
+extra_configure_switches += --enable-egl=no
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=yes
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && \
+	  $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LIBVA_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= Install Documentation =======
+	@if [ -d $(LIBVA_PKG)/usr/share/man ]; then \
+	  ( cd $(LIBVA_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(LIBVA_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/COPYING \
+	       $(LIBVA_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(LIBVA_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a COPYING NEWS \
+	         $(LIBVA_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(LIBVA_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(LIBVA_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libva-drm.la     libva-tpi.la \
+	                                    libva-wayland.la libva-x11.la \
+	                                    libva.la ; \
+	 )
+	@( cd $(LIBVA_PKG)/usr/lib$(LIBSUFFIX)/dri ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" dummy_drv_video.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LIBVA_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libva-drm.la     libva-tpi.la \
+	                                            libva-wayland.la libva-x11.la \
+	                                            libva.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libva-drm.la     libva-tpi.la \
+	                                              libva-wayland.la libva-x11.la \
+	                                              libva.la ; \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/dri ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   dummy_drv_video.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" dummy_drv_video.la ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libva-drm.pc     libva-tpi.pc   \
+	                                            libva-wayland.pc libva-x11.pc ; \
+	 )
+	# ======= do not touch driverdir variable in libva.pc file =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,prefix=/usr,prefix=$(TARGET_DEST_DIR)/usr,g" libva.pc ; \
+	   sed -i "s,libdir=/usr,libdir=$(TARGET_DEST_DIR)/usr,g" libva.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(LIBVA_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+	@touch $@
diff --git a/env/libva/1.7.2/PATCHES b/env/libva/1.7.2/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/libs/botan/1.10.13-x86_32/Makefile b/libs/botan/1.10.13-x86_32/Makefile
new file mode 100644
index 000000000..3fafd5e63
--- /dev/null
+++ b/libs/botan/1.10.13-x86_32/Makefile
@@ -0,0 +1,185 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/l/botan
+
+REQUIRES           = libs/botan/1.10.13
+REQUIRES          += dev/python3/3.5.1-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+PYTHON_VERSION = 3.5
+
+
+version            = 1.10.13
+short_version      = $(shell echo $(version) | cut -f1,2 -d'.')
+tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/l/botan/Botan-$(version).tgz
+SRC_ARCHIVE        = $(tar_gz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/Botan-$(version)
+src_dir_name       = Botan-$(version)
+doc_dir_name       = botan-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+BOTAN_32_PKG_NAME                = botan-x32
+BOTAN_32_PKG_VERSION             = 1.10.13
+BOTAN_32_PKG_ARCH                = $(TOOLCHAIN)
+BOTAN_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+BOTAN_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+BOTAN_32_PKG_GROUP               = $(PKG_GROUP)
+###                               |---handy-ruler-------------------------------|
+BOTAN_32_PKG_SHORT_DESCRIPTION   = Crypto and TLS library for C++11
+BOTAN_32_PKG_URL                 = $(BUG_URL)
+BOTAN_32_PKG_LICENSE             = BSD
+BOTAN_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(BOTAN_32_PKG_NAME)-pkg-description
+BOTAN_32_PKG_DESCRIPTION_FILE_IN = $(BOTAN_32_PKG_NAME)-pkg-description.in
+BOTAN_32_PKG_INSTALL_SCRIPT      = $(BOTAN_32_PKG_NAME)-pkg-install.sh
+
+BOTAN_32_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(BOTAN_32_PKG_NAME)-package
+
+pkg_basename     = $(BOTAN_32_PKG_NAME)-$(BOTAN_32_PKG_VERSION)-$(BOTAN_32_PKG_ARCH)-$(BOTAN_32_PKG_DISTRO_NAME)-$(BOTAN_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+
+extra_configure_switches  = --libdir=lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=share/doc/$(src_dir_name)
+extra_configure_switches += --bindir=bin
+extra_configure_switches += --os=linux
+
+extra_configure_switches += --cpu=i486
+
+extra_configure_switches += --cc=gcc
+extra_configure_switches += --with-doxygen
+extra_configure_switches += --with-python-version=$(PYTHON_VERSION)
+
+
+#
+# Path to Python.h
+#
+CFLAGS += -I$(TARGET_DEST_DIR)/usr/include/python$(PYTHON_VERSION)
+
+
+# C++ Compiler
+botan_build_environment  = CXX='$(CCACHE)$(CROSS_PREFIX)g++ --sysroot=$(TARGET_DEST_DIR) $(CFLAGS) -m32'
+
+# Compiler Options
+botan_build_environment += LIB_OPT='-O2 -finline-functions'
+botan_build_environment += CHECK_OPT=-O2
+botan_build_environment += MACH_OPT='$(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS)'
+botan_build_environment += LANG_FLAGS='-D_REENTRANT -Wno-long-long'
+botan_build_environment += WARN_FLAGS='-W -Wall'
+botan_build_environment += SO_OBJ_FLAGS='-fPIC -fvisibility=hidden'
+botan_build_environment += SO_LINK_CMD='$(CROSS_PREFIX)g++ --sysroot=$(TARGET_DEST_DIR) -m32 \
+                                        -Wl,-rpath,$(TARGET_LIB_RPATH) -shared -fPIC -Wl,-soname,$(SONAME)'
+botan_build_environment += LINK_TO='-ldl -lpthread -lrt'
+
+# Installation Settings
+botan_build_environment += DESTDIR='$(BOTAN_32_PKG)/usr'
+botan_build_environment += BINDIR='$(BOTAN_32_PKG)/usr/bin/32'
+botan_build_environment += LIBDIR='$(BOTAN_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
+botan_build_environment += HEADERDIR='$(BOTAN_32_PKG)//usr/include/botan-$(short_version)/botan'
+botan_build_environment += DOCDIR='$(BOTAN_32_PKG)/usr/share/doc/botan-$(version)'
+botan_build_environment += PKGCONF_DIR='$(BOTAN_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig'
+
+# Aliases for Common Programs
+botan_build_environment += AR='$(CROSS_PREFIX)ar crs'
+botan_build_environment += RANLIB='$(CROSS_PREFIX)ranlib'
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && \
+	  $(BUILD_ENVIRONMENT) ./configure.py \
+	  --prefix=/usr               \
+	  $(extra_configure_switches)
+	@cd $(SRC_DIR) && $(MAKE) $(botan_build_environment)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(BOTAN_32_PKG)
+	# ======= Install Botan-$(version) library =======
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(botan_build_environment)
+	@rm -rf $(BOTAN_32_PKG)/usr/include
+	@rm -rf $(BOTAN_32_PKG)/usr/share
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(BOTAN_32_PKG))
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" botan-$(short_version).pc ; \
+	 )
+	# ======= tune botan-config script for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/bin/32 ; \
+	   sed -i "s,=/usr,=$(TARGET_DEST_DIR)/usr,g" botan-config-$(short_version) ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(BOTAN_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+	@touch $@
+
+$(BOTAN_32_PKG_DESCRIPTION_FILE): $(BOTAN_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(BOTAN_32_PKG_DESCRIPTION_FILE) $(BOTAN_32_PKG_INSTALL_SCRIPT)
+	@cp $(BOTAN_32_PKG_DESCRIPTION_FILE) $(BOTAN_32_PKG)/.DESCRIPTION
+	@cp $(BOTAN_32_PKG_INSTALL_SCRIPT) $(BOTAN_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(BOTAN_32_PKG)/.REQUIRES
+	@echo "pkgname=$(BOTAN_32_PKG_NAME)"                            >  $(BOTAN_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(BOTAN_32_PKG_VERSION)"                          >> $(BOTAN_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(BOTAN_32_PKG_ARCH)"                               >> $(BOTAN_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(BOTAN_32_PKG_DISTRO_NAME)"                  >> $(BOTAN_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(BOTAN_32_PKG_DISTRO_VERSION)"                >> $(BOTAN_32_PKG)/.PKGINFO ; \
+	 echo "group=$(BOTAN_32_PKG_GROUP)"                             >> $(BOTAN_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(BOTAN_32_PKG_SHORT_DESCRIPTION)\"" >> $(BOTAN_32_PKG)/.PKGINFO ; \
+	 echo "url=$(BOTAN_32_PKG_URL)"                                 >> $(BOTAN_32_PKG)/.PKGINFO ; \
+	 echo "license=$(BOTAN_32_PKG_LICENSE)"                         >> $(BOTAN_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(BOTAN_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/botan/1.10.13-x86_32/PATCHES b/libs/botan/1.10.13-x86_32/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/libs/botan/1.10.13-x86_32/botan-x32-pkg-description.in b/libs/botan/1.10.13-x86_32/botan-x32-pkg-description.in
new file mode 100644
index 000000000..b8236244a
--- /dev/null
+++ b/libs/botan/1.10.13-x86_32/botan-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+         |-----handy-ruler------------------------------------------------------|
+botan-x32: botan-x32 @VERSION@ (x86_32 Crypto and TLS library for C++11)
+botan-x32:
+botan-x32: Botan is a C++ library for performing a wide variety of
+botan-x32: cryptographic operations.
+botan-x32:
+botan-x32:
+botan-x32: Homepage: https://botan.randombit.net
+botan-x32:
+botan-x32:
+botan-x32:
+botan-x32:
diff --git a/libs/botan/1.10.13-x86_32/botan-x32-pkg-install.sh b/libs/botan/1.10.13-x86_32/botan-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/libs/botan/1.10.13-x86_32/botan-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/botan/1.10.13/Makefile b/libs/botan/1.10.13/Makefile
new file mode 100644
index 000000000..d7c20698b
--- /dev/null
+++ b/libs/botan/1.10.13/Makefile
@@ -0,0 +1,246 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/l/botan
+
+REQUIRES          += dev/python3/3.5.1
+
+# ======= __END_OF_REQUIRES__ =======
+
+PYTHON_VERSION = 3.5
+
+
+version            = 1.10.13
+short_version      = $(shell echo $(version) | cut -f1,2 -d'.')
+tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/l/botan/Botan-$(version).tgz
+SRC_ARCHIVE        = $(tar_gz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/Botan-$(version)
+src_dir_name       = Botan-$(version)
+doc_dir_name       = botan-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+BOTAN_PKG_NAME                = botan
+BOTAN_PKG_VERSION             = 1.10.13
+BOTAN_PKG_ARCH                = $(TOOLCHAIN)
+BOTAN_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+BOTAN_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+BOTAN_PKG_GROUP               = $(PKG_GROUP)
+###                            |---handy-ruler-------------------------------|
+BOTAN_PKG_SHORT_DESCRIPTION   = Crypto and TLS library for C++11
+BOTAN_PKG_URL                 = $(BUG_URL)
+BOTAN_PKG_LICENSE             = BSD
+BOTAN_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(BOTAN_PKG_NAME)-pkg-description
+BOTAN_PKG_DESCRIPTION_FILE_IN = $(BOTAN_PKG_NAME)-pkg-description.in
+BOTAN_PKG_INSTALL_SCRIPT      = $(BOTAN_PKG_NAME)-pkg-install.sh
+
+BOTAN_PKG        = $(CURDIR)/$(TARGET_BUILD_DIR)/$(BOTAN_PKG_NAME)-package
+
+pkg_basename     = $(BOTAN_PKG_NAME)-$(BOTAN_PKG_VERSION)-$(BOTAN_PKG_ARCH)-$(BOTAN_PKG_DISTRO_NAME)-$(BOTAN_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+
+extra_configure_switches  = --libdir=lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=share/doc/$(doc_dir_name)
+extra_configure_switches += --bindir=bin
+extra_configure_switches += --os=linux
+
+#
+# Botan wants to known but ... (see: src/build-data/arch/ directory).
+#
+ifneq ($(filter $(HARDWARE),$(HARDWARE_PC32)),)
+extra_configure_switches += --cpu=i486
+endif
+ifneq ($(filter $(HARDWARE),$(HARDWARE_PC64)),)
+extra_configure_switches += --cpu=x86-64
+endif
+ifneq ($(filter $(HARDWARE),$(HARDWARE_CB1X)       \
+                            $(HARDWARE_CB2X)       \
+                            $(HARDWARE_CB3X)       \
+                            $(HARDWARE_FFRK3288)   \
+                            $(HARDWARE_M201)       \
+                            $(HARDWARE_MXQ)        \
+                            $(HARDWARE_NIT6Q)      \
+                            $(HARDWARE_OMAP5UEVM)  \
+                            $(HARDWARE_DRA7XXEVM)),)
+extra_configure_switches += --cpu=armv7
+endif
+ifneq ($(filter $(HARDWARE),$(HARDWARE_CI20) $(HARDWARE_BT1)),)
+extra_configure_switches += --cpu=mipsel
+endif
+
+extra_configure_switches += --cc=gcc
+extra_configure_switches += --with-doxygen
+extra_configure_switches += --with-python-version=$(PYTHON_VERSION)
+
+
+#
+# Path to Python.h
+#
+CFLAGS += -I$(TARGET_DEST_DIR)/usr/include/python$(PYTHON_VERSION)
+
+
+# C++ Compiler
+botan_build_environment  = CXX='$(CCACHE)$(CROSS_PREFIX)g++ --sysroot=$(TARGET_DEST_DIR) $(CFLAGS)'
+
+# Compiler Options
+botan_build_environment += LIB_OPT='-O2 -finline-functions'
+botan_build_environment += CHECK_OPT=-O2
+botan_build_environment += MACH_OPT='$(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS)'
+botan_build_environment += LANG_FLAGS='-D_REENTRANT -Wno-long-long'
+botan_build_environment += WARN_FLAGS='-W -Wall'
+botan_build_environment += SO_OBJ_FLAGS='-fPIC -fvisibility=hidden'
+botan_build_environment += SO_LINK_CMD='$(CROSS_PREFIX)g++ --sysroot=$(TARGET_DEST_DIR) \
+                                        -Wl,-rpath,$(TARGET_LIB_RPATH) -shared -fPIC -Wl,-soname,$(SONAME)'
+botan_build_environment += LINK_TO='-ldl -lpthread -lrt'
+
+# Installation Settings
+botan_build_environment += DESTDIR='$(BOTAN_PKG)/usr'
+botan_build_environment += BINDIR='$(BOTAN_PKG)/usr/bin'
+botan_build_environment += LIBDIR='$(BOTAN_PKG)/usr/lib$(LIBSUFFIX)'
+botan_build_environment += HEADERDIR='$(BOTAN_PKG)/usr/include/botan-$(short_version)/botan'
+botan_build_environment += DOCDIR='$(BOTAN_PKG)/usr/share/doc/botan-$(version)'
+botan_build_environment += PKGCONF_DIR='$(BOTAN_PKG)/usr/lib$(LIBSUFFIX)/pkgconfig'
+
+# Aliases for Common Programs
+botan_build_environment += AR='$(CROSS_PREFIX)ar crs'
+botan_build_environment += RANLIB='$(CROSS_PREFIX)ranlib'
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && \
+	  $(BUILD_ENVIRONMENT) ./configure.py \
+	  --prefix=/usr               \
+	  $(extra_configure_switches)
+	@cd $(SRC_DIR) && $(MAKE) $(botan_build_environment)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(BOTAN_PKG)
+	# ======= Install Botan-$(version) library =======
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(botan_build_environment)
+	# ======= Install Documentation =======
+	@if [ -d $(BOTAN_PKG)/usr/share/man ]; then \
+	  ( cd $(BOTAN_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(BOTAN_PKG)/usr/doc/$(doc_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cat doc/license.txt | \
+	       sed '/^\.\./d' > $(BOTAN_PKG)/usr/doc/$(doc_dir_name)/LICENSE ; \
+	 )
+	@mkdir -p $(BOTAN_PKG)/usr/share/doc/$(doc_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cat doc/license.txt | \
+	       sed '/^\.\./d' > $(BOTAN_PKG)/usr/share/doc/$(doc_dir_name)/LICENSE ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(BOTAN_PKG)/usr/share/doc/$(doc_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(BOTAN_PKG))
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" botan-$(short_version).pc \
+	 )
+	# ======= tune botan-config script for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/bin ; \
+	   sed -i "s,=/usr,=$(TARGET_DEST_DIR)/usr,g" botan-config-$(short_version) ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(BOTAN_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+	@touch $@
+
+$(BOTAN_PKG_DESCRIPTION_FILE): $(BOTAN_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(BOTAN_PKG_DESCRIPTION_FILE) $(BOTAN_PKG_INSTALL_SCRIPT)
+	@cp $(BOTAN_PKG_DESCRIPTION_FILE) $(BOTAN_PKG)/.DESCRIPTION
+	@cp $(BOTAN_PKG_INSTALL_SCRIPT) $(BOTAN_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(BOTAN_PKG)/.REQUIRES
+	@echo "pkgname=$(BOTAN_PKG_NAME)"                            >  $(BOTAN_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(BOTAN_PKG_VERSION)"                          >> $(BOTAN_PKG)/.PKGINFO ; \
+	 echo "arch=$(BOTAN_PKG_ARCH)"                               >> $(BOTAN_PKG)/.PKGINFO ; \
+	 echo "distroname=$(BOTAN_PKG_DISTRO_NAME)"                  >> $(BOTAN_PKG)/.PKGINFO ; \
+	 echo "distrover=$(BOTAN_PKG_DISTRO_VERSION)"                >> $(BOTAN_PKG)/.PKGINFO ; \
+	 echo "group=$(BOTAN_PKG_GROUP)"                             >> $(BOTAN_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(BOTAN_PKG_SHORT_DESCRIPTION)\"" >> $(BOTAN_PKG)/.PKGINFO ; \
+	 echo "url=$(BOTAN_PKG_URL)"                                 >> $(BOTAN_PKG)/.PKGINFO ; \
+	 echo "license=$(BOTAN_PKG_LICENSE)"                         >> $(BOTAN_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(BOTAN_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/botan/1.10.13/PATCHES b/libs/botan/1.10.13/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/libs/botan/1.10.13/botan-pkg-description.in b/libs/botan/1.10.13/botan-pkg-description.in
new file mode 100644
index 000000000..353286d0e
--- /dev/null
+++ b/libs/botan/1.10.13/botan-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+     |-----handy-ruler------------------------------------------------------|
+botan: botan @VERSION@ (Crypto and TLS library for C++11)
+botan:
+botan: Botan is a C++ library for performing a wide variety of
+botan: cryptographic operations.
+botan:
+botan:
+botan: Homepage: https://botan.randombit.net
+botan:
+botan:
+botan:
+botan:
diff --git a/libs/botan/1.10.13/botan-pkg-install.sh b/libs/botan/1.10.13/botan-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/libs/botan/1.10.13/botan-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/expat/2.1.1-x86_32/Makefile b/libs/expat/2.1.1-x86_32/Makefile
index 27ee278d3..5df22f587 100644
--- a/libs/expat/2.1.1-x86_32/Makefile
+++ b/libs/expat/2.1.1-x86_32/Makefile
@@ -34,26 +34,27 @@ install_target     = $(TARGET_BUILD_DIR)/.install_done
 ####### Targets
 
 PKG_GROUP = libs
+
 #
 # *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
 #
-EXPAT32_PKG_NAME                = expat-x32
-EXPAT32_PKG_VERSION             = 2.1.1
-EXPAT32_PKG_ARCH                = $(TOOLCHAIN)
-EXPAT32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-EXPAT32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-EXPAT32_PKG_GROUP               = $(PKG_GROUP)
-###                              |---handy-ruler-------------------------------|
-EXPAT32_PKG_SHORT_DESCRIPTION   = C library for parsing XML
-EXPAT32_PKG_URL                 = $(BUG_URL)
-EXPAT32_PKG_LICENSE             = GPLv2
-EXPAT32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(EXPAT32_PKG_NAME)-pkg-description
-EXPAT32_PKG_DESCRIPTION_FILE_IN = $(EXPAT32_PKG_NAME)-pkg-description.in
-EXPAT32_PKG_INSTALL_SCRIPT      = $(EXPAT32_PKG_NAME)-pkg-install.sh
-
-EXPAT32_PKG      = $(CURDIR)/$(TARGET_BUILD_DIR)/$(EXPAT32_PKG_NAME)-package
-
-pkg_basename     = $(EXPAT32_PKG_NAME)-$(EXPAT32_PKG_VERSION)-$(EXPAT32_PKG_ARCH)-$(EXPAT32_PKG_DISTRO_NAME)-$(EXPAT32_PKG_DISTRO_VERSION)
+EXPAT_32_PKG_NAME                = expat-x32
+EXPAT_32_PKG_VERSION             = 2.1.1
+EXPAT_32_PKG_ARCH                = $(TOOLCHAIN)
+EXPAT_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+EXPAT_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+EXPAT_32_PKG_GROUP               = $(PKG_GROUP)
+###                               |---handy-ruler-------------------------------|
+EXPAT_32_PKG_SHORT_DESCRIPTION   = C library for parsing XML
+EXPAT_32_PKG_URL                 = $(BUG_URL)
+EXPAT_32_PKG_LICENSE             = GPLv2
+EXPAT_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(EXPAT_32_PKG_NAME)-pkg-description
+EXPAT_32_PKG_DESCRIPTION_FILE_IN = $(EXPAT_32_PKG_NAME)-pkg-description.in
+EXPAT_32_PKG_INSTALL_SCRIPT      = $(EXPAT_32_PKG_NAME)-pkg-install.sh
+
+EXPAT_32_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(EXPAT_32_PKG_NAME)-package
+
+pkg_basename     = $(EXPAT_32_PKG_NAME)-$(EXPAT_32_PKG_VERSION)-$(EXPAT_32_PKG_ARCH)-$(EXPAT_32_PKG_DISTRO_NAME)-$(EXPAT_32_PKG_DISTRO_VERSION)
 
 pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
 pkg_signature    = $(call sign-name,$(pkg_archive))
@@ -71,7 +72,7 @@ ROOTFS_TARGETS   = $(pkg_archive)
 include ../../../build-system/core.mk
 
 
-env_sysroot  = DESTDIR=$(EXPAT32_PKG)
+env_sysroot  = DESTDIR=$(EXPAT_32_PKG)
 
 
 extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
@@ -102,16 +103,16 @@ $(build_target): $(src_done)
 	@touch $@
 
 $(install_target): $(build_target)
-	@mkdir -p $(EXPAT32_PKG)
+	@mkdir -p $(EXPAT_32_PKG)
 	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
-	@rm -rf $(EXPAT32_PKG)/usr/include
-	@rm -rf $(EXPAT32_PKG)/usr/share
+	@rm -rf $(EXPAT_32_PKG)/usr/include
+	@rm -rf $(EXPAT_32_PKG)/usr/share
 	# ======= remove toolchain path from target libtool *.la files =======
-	@( cd $(EXPAT32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	@( cd $(EXPAT_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
 	   sed -i "s,$(TARGET_DEST_DIR),,g" libexpat.la \
 	 )
 	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(EXPAT32_PKG))
+	$(call install-into-devenv, $(EXPAT_32_PKG))
 	# ======= tune libtool *.la search path to the target destination for development =======
 	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
 	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libexpat.la ; \
@@ -122,30 +123,30 @@ $(install_target): $(build_target)
 	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" expat.pc \
 	 )
 	# =======Strip binaries =======
-	@( cd $(EXPAT32_PKG) ; \
+	@( cd $(EXPAT_32_PKG) ; \
 	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
 	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
 	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
 	 )
 	@touch $@
 
-$(EXPAT32_PKG_DESCRIPTION_FILE): $(EXPAT32_PKG_DESCRIPTION_FILE_IN)
+$(EXPAT_32_PKG_DESCRIPTION_FILE): $(EXPAT_32_PKG_DESCRIPTION_FILE_IN)
 	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
 
 $(pkg_signature)   : $(pkg_archive) ;
 $(pkg_description) : $(pkg_archive) ;
 
-$(pkg_archive): $(install_target) $(EXPAT32_PKG_DESCRIPTION_FILE) $(EXPAT32_PKG_INSTALL_SCRIPT)
-	@cp $(EXPAT32_PKG_DESCRIPTION_FILE) $(EXPAT32_PKG)/.DESCRIPTION
-	@cp $(EXPAT32_PKG_INSTALL_SCRIPT) $(EXPAT32_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(EXPAT32_PKG)/.REQUIRES
-	@echo "pkgname=$(EXPAT32_PKG_NAME)"                            >  $(EXPAT32_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(EXPAT32_PKG_VERSION)"                          >> $(EXPAT32_PKG)/.PKGINFO ; \
-	 echo "arch=$(EXPAT32_PKG_ARCH)"                               >> $(EXPAT32_PKG)/.PKGINFO ; \
-	 echo "distroname=$(EXPAT32_PKG_DISTRO_NAME)"                  >> $(EXPAT32_PKG)/.PKGINFO ; \
-	 echo "distrover=$(EXPAT32_PKG_DISTRO_VERSION)"                >> $(EXPAT32_PKG)/.PKGINFO ; \
-	 echo "group=$(EXPAT32_PKG_GROUP)"                             >> $(EXPAT32_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(EXPAT32_PKG_SHORT_DESCRIPTION)\"" >> $(EXPAT32_PKG)/.PKGINFO ; \
-	 echo "url=$(EXPAT32_PKG_URL)"                                 >> $(EXPAT32_PKG)/.PKGINFO ; \
-	 echo "license=$(EXPAT32_PKG_LICENSE)"                         >> $(EXPAT32_PKG)/.PKGINFO
-	@$(FAKEROOT) sh -c "cd $(EXPAT32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
+$(pkg_archive): $(install_target) $(EXPAT_32_PKG_DESCRIPTION_FILE) $(EXPAT_32_PKG_INSTALL_SCRIPT)
+	@cp $(EXPAT_32_PKG_DESCRIPTION_FILE) $(EXPAT_32_PKG)/.DESCRIPTION
+	@cp $(EXPAT_32_PKG_INSTALL_SCRIPT) $(EXPAT_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(EXPAT_32_PKG)/.REQUIRES
+	@echo "pkgname=$(EXPAT_32_PKG_NAME)"                            >  $(EXPAT_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(EXPAT_32_PKG_VERSION)"                          >> $(EXPAT_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(EXPAT_32_PKG_ARCH)"                               >> $(EXPAT_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(EXPAT_32_PKG_DISTRO_NAME)"                  >> $(EXPAT_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(EXPAT_32_PKG_DISTRO_VERSION)"                >> $(EXPAT_32_PKG)/.PKGINFO ; \
+	 echo "group=$(EXPAT_32_PKG_GROUP)"                             >> $(EXPAT_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(EXPAT_32_PKG_SHORT_DESCRIPTION)\"" >> $(EXPAT_32_PKG)/.PKGINFO ; \
+	 echo "url=$(EXPAT_32_PKG_URL)"                                 >> $(EXPAT_32_PKG)/.PKGINFO ; \
+	 echo "license=$(EXPAT_32_PKG_LICENSE)"                         >> $(EXPAT_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(EXPAT_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/fftw/3.3.5-x86_32/Makefile b/libs/fftw/3.3.5-x86_32/Makefile
new file mode 100644
index 000000000..6eb2cf1e4
--- /dev/null
+++ b/libs/fftw/3.3.5-x86_32/Makefile
@@ -0,0 +1,223 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/l/fftw
+
+REQUIRES           = libs/fftw/3.3.5
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 3.3.5
+tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/l/fftw/fftw-$(version).tar.gz
+SRC_ARCHIVE        = $(tar_gz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/fftw-$(version)
+src_dir_name       = fftw-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+FFTW_32_PKG_NAME                = fftw-x32
+FFTW_32_PKG_VERSION             = 3.3.5
+FFTW_32_PKG_ARCH                = $(TOOLCHAIN)
+FFTW_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+FFTW_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+FFTW_32_PKG_GROUP               = $(PKG_GROUP)
+###                              |---handy-ruler-------------------------------|
+FFTW_32_PKG_SHORT_DESCRIPTION   = Discrete Fourier Transform routines
+FFTW_32_PKG_URL                 = $(BUG_URL)
+FFTW_32_PKG_LICENSE             = GPLv2
+FFTW_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(FFTW_32_PKG_NAME)-pkg-description
+FFTW_32_PKG_DESCRIPTION_FILE_IN = $(FFTW_32_PKG_NAME)-pkg-description.in
+FFTW_32_PKG_INSTALL_SCRIPT      = $(FFTW_32_PKG_NAME)-pkg-install.sh
+
+FFTW_32_PKG       = $(CURDIR)/$(TARGET_BUILD_DIR)/$(FFTW_32_PKG_NAME)-package
+
+pkg_basename      = $(FFTW_32_PKG_NAME)-$(FFTW_32_PKG_VERSION)-$(FFTW_32_PKG_ARCH)-$(FFTW_32_PKG_DISTRO_NAME)-$(FFTW_32_PKG_DISTRO_VERSION)
+
+pkg_archive       = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature     = $(call sign-name,$(pkg_archive))
+pkg_description   = $(call desc-name,$(pkg_archive))
+products          = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS     = $(build_target)
+BUILD_TARGETS    += $(install_target)
+
+PRODUCT_TARGETS   = $(products)
+
+ROOTFS_TARGETS    = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(FFTW_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+
+float_configure_switches  = --enable-sse --enable-avx
+double_configure_switches = --enable-sse2 --enable-avx
+
+
+extra_configure_switches += --enable-openmp
+extra_configure_switches += --enable-threads
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=yes
+
+
+CFLAGS += -fstrict-aliasing -ffast-math
+
+
+TARGET_BIN_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@( cd $(TARGET_BUILD_DIR) ; \
+	   cp -a $(src_dir_name) $(src_dir_name)-long-double ; \
+	   cp -a $(src_dir_name) $(src_dir_name)-float ; \
+	 )
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && \
+	  $(BUILD_ENVIRONMENT) ./configure F77=gfortran \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches) \
+	  $(double_configure_switches)
+	@cd $(SRC_DIR)-long-double && \
+	  $(BUILD_ENVIRONMENT) ./configure F77=gfortran \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches) \
+	  --enable-long-double
+	@cd $(SRC_DIR)-float && \
+	  $(BUILD_ENVIRONMENT) ./configure F77=gfortran \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches) \
+	  --enable-float              \
+	  $(float_configure_switches)
+	@cd $(SRC_DIR)             && $(BUILD_ENVIRONMENT) $(MAKE)
+	@cd $(SRC_DIR)-long-double && $(BUILD_ENVIRONMENT) $(MAKE)
+	@cd $(SRC_DIR)-float       && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(FFTW_32_PKG)
+	@cd $(SRC_DIR)             && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@cd $(SRC_DIR)-long-double && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@cd $(SRC_DIR)-float       && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(FFTW_32_PKG)/usr/include
+	@rm -rf $(FFTW_32_PKG)/usr/share
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(FFTW_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libfftw3.la  libfftw3_omp.la  libfftw3_threads.la    \
+	                                    libfftw3f.la libfftw3f_omp.la libfftw3f_threads.la   \
+	                                    libfftw3l.la libfftw3l_omp.la libfftw3l_threads.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(FFTW_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libfftw3.la  libfftw3_omp.la  libfftw3_threads.la    \
+	                                            libfftw3f.la libfftw3f_omp.la libfftw3f_threads.la   \
+	                                            libfftw3l.la libfftw3l_omp.la libfftw3l_threads.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libfftw3.la  libfftw3_omp.la  libfftw3_threads.la    \
+	                                              libfftw3f.la libfftw3f_omp.la libfftw3f_threads.la   \
+	                                              libfftw3l.la libfftw3l_omp.la libfftw3l_threads.la ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" fftw3.pc fftw3f.pc fftw3l.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(FFTW_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(FFTW_32_PKG)/usr/bin/32 ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(FFTW_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(FFTW_32_PKG_DESCRIPTION_FILE): $(FFTW_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(FFTW_32_PKG_DESCRIPTION_FILE) $(FFTW_32_PKG_INSTALL_SCRIPT)
+	@cp $(FFTW_32_PKG_DESCRIPTION_FILE) $(FFTW_32_PKG)/.DESCRIPTION
+	@cp $(FFTW_32_PKG_INSTALL_SCRIPT) $(FFTW_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(FFTW_32_PKG)/.REQUIRES
+	@echo "pkgname=$(FFTW_32_PKG_NAME)"                            >  $(FFTW_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(FFTW_32_PKG_VERSION)"                          >> $(FFTW_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(FFTW_32_PKG_ARCH)"                               >> $(FFTW_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(FFTW_32_PKG_DISTRO_NAME)"                  >> $(FFTW_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(FFTW_32_PKG_DISTRO_VERSION)"                >> $(FFTW_32_PKG)/.PKGINFO ; \
+	 echo "group=$(FFTW_32_PKG_GROUP)"                             >> $(FFTW_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(FFTW_32_PKG_SHORT_DESCRIPTION)\"" >> $(FFTW_32_PKG)/.PKGINFO ; \
+	 echo "url=$(FFTW_32_PKG_URL)"                                 >> $(FFTW_32_PKG)/.PKGINFO ; \
+	 echo "license=$(FFTW_32_PKG_LICENSE)"                         >> $(FFTW_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(FFTW_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/fftw/3.3.5-x86_32/PATCHES b/libs/fftw/3.3.5-x86_32/PATCHES
new file mode 100644
index 000000000..0a3bf98eb
--- /dev/null
+++ b/libs/fftw/3.3.5-x86_32/PATCHES
@@ -0,0 +1,2 @@
+
+../../../sources/packages/l/fftw/patches/fftw-3.3.5-arm-cross.patch -p0
diff --git a/libs/fftw/3.3.5-x86_32/fftw-x32-pkg-description.in b/libs/fftw/3.3.5-x86_32/fftw-x32-pkg-description.in
new file mode 100644
index 000000000..6dad07ae8
--- /dev/null
+++ b/libs/fftw/3.3.5-x86_32/fftw-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler------------------------------------------------------|
+fftw-x32: fftw-x32 @VERSION@ (x86_32 Discrete Fourier Transform routines)
+fftw-x32:
+fftw-x32: FFTW is a free collection of fast C routines for computing the
+fftw-x32: Discrete Fourier Transform in one or more dimensions. It includes
+fftw-x32: complex, real, symmetric, and parallel transforms, and can handle
+fftw-x32: arbitrary array sizes efficiently.
+fftw-x32:
+fftw-x32: Homepage: http://www.fftw.org
+fftw-x32:
+fftw-x32:
+fftw-x32:
diff --git a/libs/fftw/3.3.5-x86_32/fftw-x32-pkg-install.sh b/libs/fftw/3.3.5-x86_32/fftw-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/libs/fftw/3.3.5-x86_32/fftw-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/fftw/3.3.5/Makefile b/libs/fftw/3.3.5/Makefile
new file mode 100644
index 000000000..000f5ef45
--- /dev/null
+++ b/libs/fftw/3.3.5/Makefile
@@ -0,0 +1,297 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/l/fftw
+
+ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
+REQUIRES           = dev/gcc/5.3.0
+else
+ifneq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES           = libs/glibc/2.23
+else
+REQUIRES           = libs/glibc/2.23-x86_32
+endif
+endif
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 3.3.5
+tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/l/fftw/fftw-$(version).tar.gz
+SRC_ARCHIVE        = $(tar_gz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/fftw-$(version)
+src_dir_name       = fftw-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+FFTW_PKG_NAME                = fftw
+FFTW_PKG_VERSION             = 3.3.5
+FFTW_PKG_ARCH                = $(TOOLCHAIN)
+FFTW_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+FFTW_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+FFTW_PKG_GROUP               = $(PKG_GROUP)
+###                           |---handy-ruler-------------------------------|
+FFTW_PKG_SHORT_DESCRIPTION   = Discrete Fourier Transform routines
+FFTW_PKG_URL                 = $(BUG_URL)
+FFTW_PKG_LICENSE             = GPLv2
+FFTW_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(FFTW_PKG_NAME)-pkg-description
+FFTW_PKG_DESCRIPTION_FILE_IN = $(FFTW_PKG_NAME)-pkg-description.in
+FFTW_PKG_INSTALL_SCRIPT      = $(FFTW_PKG_NAME)-pkg-install.sh
+
+FFTW_PKG         = $(CURDIR)/$(TARGET_BUILD_DIR)/$(FFTW_PKG_NAME)-package
+
+pkg_basename     = $(FFTW_PKG_NAME)-$(FFTW_PKG_VERSION)-$(FFTW_PKG_ARCH)-$(FFTW_PKG_DISTRO_NAME)-$(FFTW_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(FFTW_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+
+ifneq ($(filter $(HARDWARE),$(HARDWARE_CB1X)      \
+                            $(HARDWARE_CB2X)      \
+                            $(HARDWARE_CB3X)      \
+                            $(HARDWARE_FFRK3288)  \
+                            $(HARDWARE_M201)      \
+                            $(HARDWARE_MXQ)       \
+                            $(HARDWARE_OMAP5UEVM) \
+                            $(HARDWARE_DRA7XXEVM)),)
+#
+# Fast timer is available if armv7 has 64 bits readable CNTVCT
+# also we have to change try_run to try_link in configure script.
+#
+# If CCNT in not available, then we have to use `--with-slow-timer'
+# configure switch.
+#
+float_configure_switches  = --enable-neon
+endif
+ifneq ($(filter $(HARDWARE),$(HARDWARE_NIT6Q)),)
+float_configure_switches  = --enable-generic-simd128
+endif
+ifneq ($(filter $(HARDWARE),$(HARDWARE_PC32)),)
+float_configure_switches  = --enable-sse --enable-avx
+double_configure_switches = --enable-sse2 --enable-avx
+endif
+ifneq ($(filter $(HARDWARE),$(HARDWARE_PC64)),)
+float_configure_switches  = --enable-sse --enable-avx
+double_configure_switches = --enable-sse2 --enable-avx
+endif
+ifneq ($(filter $(HARDWARE),$(HARDWARE_CI20) $(HARDWARE_BT1)),)
+extra_configure_switches += --enable-mips-zbus-timer
+endif
+
+extra_configure_switches += --enable-openmp
+extra_configure_switches += --enable-threads
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=yes
+
+
+CFLAGS += -fstrict-aliasing -ffast-math
+
+
+TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@( cd $(TARGET_BUILD_DIR) ; \
+	   cp -a $(src_dir_name) $(src_dir_name)-long-double ; \
+	   cp -a $(src_dir_name) $(src_dir_name)-float ; \
+	 )
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && \
+	  $(BUILD_ENVIRONMENT) ./configure F77=gfortran \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches) \
+	  $(double_configure_switches)
+	@cd $(SRC_DIR)-long-double && \
+	  $(BUILD_ENVIRONMENT) ./configure F77=gfortran \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches) \
+	  --enable-long-double
+	@cd $(SRC_DIR)-float && \
+	  $(BUILD_ENVIRONMENT) ./configure F77=gfortran \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches) \
+	  --enable-float              \
+	  $(float_configure_switches)
+	@cd $(SRC_DIR)             && $(BUILD_ENVIRONMENT) $(MAKE)
+	@cd $(SRC_DIR)-long-double && $(BUILD_ENVIRONMENT) $(MAKE)
+	@cd $(SRC_DIR)-float       && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(FFTW_PKG)
+	@cd $(SRC_DIR)             && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@cd $(SRC_DIR)-long-double && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@cd $(SRC_DIR)-float       && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= Install Documentation =======
+	@rm -f $(FFTW_PKG)/usr/share/info/dir
+	@gzip -9 $(FFTW_PKG)/usr/share/info/*
+	@if [ -d $(FFTW_PKG)/usr/share/man ]; then \
+	  ( cd $(FFTW_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.? ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(FFTW_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING $(SRC_DIR)/COPYRIGHT \
+	       $(FFTW_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(FFTW_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS COPYING COPYRIGHT INSTALL NEWS README TODO \
+	         $(FFTW_PKG)/usr/share/doc/$(src_dir_name) \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(FFTW_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(FFTW_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libfftw3.la  libfftw3_omp.la  libfftw3_threads.la    \
+	                                    libfftw3f.la libfftw3f_omp.la libfftw3f_threads.la   \
+	                                    libfftw3l.la libfftw3l_omp.la libfftw3l_threads.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(FFTW_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libfftw3.la  libfftw3_omp.la  libfftw3_threads.la    \
+	                                            libfftw3f.la libfftw3f_omp.la libfftw3f_threads.la   \
+	                                            libfftw3l.la libfftw3l_omp.la libfftw3l_threads.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libfftw3.la  libfftw3_omp.la  libfftw3_threads.la    \
+	                                              libfftw3f.la libfftw3f_omp.la libfftw3f_threads.la   \
+	                                              libfftw3l.la libfftw3l_omp.la libfftw3l_threads.la ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" fftw3.pc fftw3f.pc fftw3l.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(FFTW_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(FFTW_PKG)/usr/bin ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(FFTW_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(FFTW_PKG_DESCRIPTION_FILE): $(FFTW_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(FFTW_PKG_DESCRIPTION_FILE) $(FFTW_PKG_INSTALL_SCRIPT)
+	@cp $(FFTW_PKG_DESCRIPTION_FILE) $(FFTW_PKG)/.DESCRIPTION
+	@cp $(FFTW_PKG_INSTALL_SCRIPT) $(FFTW_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(FFTW_PKG)/.REQUIRES
+	@echo "pkgname=$(FFTW_PKG_NAME)"                            >  $(FFTW_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(FFTW_PKG_VERSION)"                          >> $(FFTW_PKG)/.PKGINFO ; \
+	 echo "arch=$(FFTW_PKG_ARCH)"                               >> $(FFTW_PKG)/.PKGINFO ; \
+	 echo "distroname=$(FFTW_PKG_DISTRO_NAME)"                  >> $(FFTW_PKG)/.PKGINFO ; \
+	 echo "distrover=$(FFTW_PKG_DISTRO_VERSION)"                >> $(FFTW_PKG)/.PKGINFO ; \
+	 echo "group=$(FFTW_PKG_GROUP)"                             >> $(FFTW_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(FFTW_PKG_SHORT_DESCRIPTION)\"" >> $(FFTW_PKG)/.PKGINFO ; \
+	 echo "url=$(FFTW_PKG_URL)"                                 >> $(FFTW_PKG)/.PKGINFO ; \
+	 echo "license=$(FFTW_PKG_LICENSE)"                         >> $(FFTW_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(FFTW_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/fftw/3.3.5/PATCHES b/libs/fftw/3.3.5/PATCHES
new file mode 100644
index 000000000..0a3bf98eb
--- /dev/null
+++ b/libs/fftw/3.3.5/PATCHES
@@ -0,0 +1,2 @@
+
+../../../sources/packages/l/fftw/patches/fftw-3.3.5-arm-cross.patch -p0
diff --git a/libs/fftw/3.3.5/fftw-pkg-description.in b/libs/fftw/3.3.5/fftw-pkg-description.in
new file mode 100644
index 000000000..3ae82e2a1
--- /dev/null
+++ b/libs/fftw/3.3.5/fftw-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+    |-----handy-ruler------------------------------------------------------|
+fftw: fftw @VERSION@ (Discrete Fourier Transform routines)
+fftw:
+fftw: FFTW is a free collection of fast C routines for computing the
+fftw: Discrete Fourier Transform in one or more dimensions. It includes
+fftw: complex, real, symmetric, and parallel transforms, and can handle
+fftw: arbitrary array sizes efficiently.
+fftw:
+fftw: Homepage: http://www.fftw.org
+fftw:
+fftw:
+fftw:
diff --git a/libs/fftw/3.3.5/fftw-pkg-install.sh b/libs/fftw/3.3.5/fftw-pkg-install.sh
new file mode 100755
index 000000000..2d6192a84
--- /dev/null
+++ b/libs/fftw/3.3.5/fftw-pkg-install.sh
@@ -0,0 +1,69 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  #
+  # NOTE:
+  #   'install-info' can work using relative paths and we can make use build machine
+  #   utility during installation to the some partition and use target 'install-info'
+  #   during installation directly on the running target machine.
+  #
+  if [ -x /usr/bin/install-info ] ; then
+    install-info --info-dir=usr/share/info usr/share/info/fftw3.info.gz 2>/dev/null
+  elif ! grep "(fftw3)" usr/share/info/dir 1> /dev/null 2> /dev/null ; then
+  cat << EOF >> usr/share/info/dir
+
+Development
+* fftw3: (fftw3).               FFTW User's Manual.
+EOF
+  fi
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  if [ -x /usr/bin/install-info ] ; then
+    install-info --delete --info-file=usr/share/info/fftw3.info.gz --dir-file=usr/share/info/dir 2> /dev/null || /bin/true
+  fi
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/fribidi/0.19.7-x86_32/Makefile b/libs/fribidi/0.19.7-x86_32/Makefile
new file mode 100644
index 000000000..19ff90f70
--- /dev/null
+++ b/libs/fribidi/0.19.7-x86_32/Makefile
@@ -0,0 +1,202 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/l/fribidi
+
+REQUIRES           = libs/fribidi/0.19.7
+REQUIRES          += libs/glib2/2.48.0-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.19.7
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/l/fribidi/fribidi-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/fribidi-$(version)
+src_dir_name       = fribidi-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+FRIBIDI_32_PKG_NAME                = fribidi-x32
+FRIBIDI_32_PKG_VERSION             = 0.19.7
+FRIBIDI_32_PKG_ARCH                = $(TOOLCHAIN)
+FRIBIDI_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+FRIBIDI_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+FRIBIDI_32_PKG_GROUP               = $(PKG_GROUP)
+###                                 |---handy-ruler-------------------------------|
+FRIBIDI_32_PKG_SHORT_DESCRIPTION   = Unicode BiDirectional algorithm library
+FRIBIDI_32_PKG_URL                 = $(BUG_URL)
+FRIBIDI_32_PKG_LICENSE             = LGPLv2.1
+FRIBIDI_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(FRIBIDI_32_PKG_NAME)-pkg-description
+FRIBIDI_32_PKG_DESCRIPTION_FILE_IN = $(FRIBIDI_32_PKG_NAME)-pkg-description.in
+FRIBIDI_32_PKG_INSTALL_SCRIPT      = $(FRIBIDI_32_PKG_NAME)-pkg-install.sh
+
+FRIBIDI_32_PKG    = $(CURDIR)/$(TARGET_BUILD_DIR)/$(FRIBIDI_32_PKG_NAME)-package
+
+pkg_basename      = $(FRIBIDI_32_PKG_NAME)-$(FRIBIDI_32_PKG_VERSION)-$(FRIBIDI_32_PKG_ARCH)-$(FRIBIDI_32_PKG_DISTRO_NAME)-$(FRIBIDI_32_PKG_DISTRO_VERSION)
+
+pkg_archive       = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature     = $(call sign-name,$(pkg_archive))
+pkg_description   = $(call desc-name,$(pkg_archive))
+products          = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS     = $(build_target)
+BUILD_TARGETS    += $(install_target)
+
+PRODUCT_TARGETS   = $(products)
+
+ROOTFS_TARGETS    = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(FRIBIDI_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+extra_configure_switches += --sysconfdir=/etc
+
+extra_configure_switches += --with-pic
+
+extra_configure_switches += --enable-static=yes
+extra_configure_switches += --enable-shared=yes
+
+
+CFLAGS += -Wno-deprecated-declarations -Wno-unused-but-set-variable -Wno-switch
+
+
+TARGET_BIN_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	# ======= Building Generators for build mahine =======
+	@( cd $(SRC_DIR) ; \
+	   ./configure CC=gcc CXX=g++ CFLAGS=-I/usr/include CXXFLAGS=-I/usr/include \
+	               PKG_CONFIG_PATH=/usr/lib$(BUILD_MULTILIB_SUFFIX)/pkgconfig ; \
+	   make ; \
+	   cp gen.tab/gen-arabic-shaping-tab gen.tab/gen-arabic-shaping-tab-for-build ; \
+	   cp      gen.tab/gen-bidi-type-tab gen.tab/gen-bidi-type-tab-for-build      ; \
+	   cp   gen.tab/gen-joining-type-tab gen.tab/gen-joining-type-tab-for-build   ; \
+	   cp      gen.tab/gen-mirroring-tab gen.tab/gen-mirroring-tab-for-build      ; \
+	   cp    gen.tab/gen-unicode-version gen.tab/gen-unicode-version-for-build    ; \
+	   make distclean ; \
+	 )
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	# ======= Copy Generators for build mahine =======
+	@( cd $(SRC_DIR) ; \
+	   cp gen.tab/gen-arabic-shaping-tab-for-build gen.tab/gen-arabic-shaping-tab ; \
+	   cp      gen.tab/gen-bidi-type-tab-for-build gen.tab/gen-bidi-type-tab      ; \
+	   cp   gen.tab/gen-joining-type-tab-for-build gen.tab/gen-joining-type-tab   ; \
+	   cp      gen.tab/gen-mirroring-tab-for-build gen.tab/gen-mirroring-tab      ; \
+	   cp    gen.tab/gen-unicode-version-for-build gen.tab/gen-unicode-version    ; \
+	 )
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(FRIBIDI_32_PKG)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(FRIBIDI_32_PKG)/usr/include
+	@rm -rf $(FRIBIDI_32_PKG)/usr/share
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(FRIBIDI_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libfribidi.la \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(FRIBIDI_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libfribidi.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libfribidi.la \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,=/usr,=$(TARGET_DEST_DIR)/usr,g" fribidi.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(FRIBIDI_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(FRIBIDI_32_PKG)/usr/bin/32 ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(FRIBIDI_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(FRIBIDI_32_PKG_DESCRIPTION_FILE): $(FRIBIDI_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(FRIBIDI_32_PKG_DESCRIPTION_FILE) $(FRIBIDI_32_PKG_INSTALL_SCRIPT)
+	@cp $(FRIBIDI_32_PKG_DESCRIPTION_FILE) $(FRIBIDI_32_PKG)/.DESCRIPTION
+	@cp $(FRIBIDI_32_PKG_INSTALL_SCRIPT) $(FRIBIDI_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(FRIBIDI_32_PKG)/.REQUIRES
+	@echo "pkgname=$(FRIBIDI_32_PKG_NAME)"                            >  $(FRIBIDI_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(FRIBIDI_32_PKG_VERSION)"                          >> $(FRIBIDI_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(FRIBIDI_32_PKG_ARCH)"                               >> $(FRIBIDI_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(FRIBIDI_32_PKG_DISTRO_NAME)"                  >> $(FRIBIDI_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(FRIBIDI_32_PKG_DISTRO_VERSION)"                >> $(FRIBIDI_32_PKG)/.PKGINFO ; \
+	 echo "group=$(FRIBIDI_32_PKG_GROUP)"                             >> $(FRIBIDI_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(FRIBIDI_32_PKG_SHORT_DESCRIPTION)\"" >> $(FRIBIDI_32_PKG)/.PKGINFO ; \
+	 echo "url=$(FRIBIDI_32_PKG_URL)"                                 >> $(FRIBIDI_32_PKG)/.PKGINFO ; \
+	 echo "license=$(FRIBIDI_32_PKG_LICENSE)"                         >> $(FRIBIDI_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(FRIBIDI_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/fribidi/0.19.7-x86_32/PATCHES b/libs/fribidi/0.19.7-x86_32/PATCHES
new file mode 100644
index 000000000..25d8f4169
--- /dev/null
+++ b/libs/fribidi/0.19.7-x86_32/PATCHES
@@ -0,0 +1,2 @@
+
+../../../sources/packages/l/fribidi/patches/fribidi-0.19.7-c2man.patch -p0
diff --git a/libs/fribidi/0.19.7-x86_32/fribidi-x32-pkg-description.in b/libs/fribidi/0.19.7-x86_32/fribidi-x32-pkg-description.in
new file mode 100644
index 000000000..f4c1c2bc1
--- /dev/null
+++ b/libs/fribidi/0.19.7-x86_32/fribidi-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+           |-----handy-ruler------------------------------------------------------|
+fribidi-x32: fribidi-x32 @VERSION@ (x86_32 Unicode BiDirectional algorithm library)
+fribidi-x32:
+fribidi-x32: This library implements the Unicode BiDirectional algorithm, which
+fribidi-x32: is needed in order to support right-to-left languages such as Arabic
+fribidi-x32: and Hebrew. It is used in display software like KDE's SVG modules.
+fribidi-x32:
+fribidi-x32: Homepage: http://fribidi.org
+fribidi-x32:
+fribidi-x32:
+fribidi-x32:
+fribidi-x32:
diff --git a/libs/fribidi/0.19.7-x86_32/fribidi-x32-pkg-install.sh b/libs/fribidi/0.19.7-x86_32/fribidi-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/libs/fribidi/0.19.7-x86_32/fribidi-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/fribidi/0.19.7/Makefile b/libs/fribidi/0.19.7/Makefile
new file mode 100644
index 000000000..1bfb4c861
--- /dev/null
+++ b/libs/fribidi/0.19.7/Makefile
@@ -0,0 +1,242 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/l/fribidi
+
+REQUIRES           = libs/glib2/2.48.0
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.19.7
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/l/fribidi/fribidi-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/fribidi-$(version)
+src_dir_name       = fribidi-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+FRIBIDI_PKG_NAME                = fribidi
+FRIBIDI_PKG_VERSION             = 0.19.7
+FRIBIDI_PKG_ARCH                = $(TOOLCHAIN)
+FRIBIDI_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+FRIBIDI_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+FRIBIDI_PKG_GROUP               = $(PKG_GROUP)
+###                              |---handy-ruler-------------------------------|
+FRIBIDI_PKG_SHORT_DESCRIPTION   = Unicode BiDirectional algorithm library
+FRIBIDI_PKG_URL                 = $(BUG_URL)
+FRIBIDI_PKG_LICENSE             = LGPLv2.1
+FRIBIDI_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(FRIBIDI_PKG_NAME)-pkg-description
+FRIBIDI_PKG_DESCRIPTION_FILE_IN = $(FRIBIDI_PKG_NAME)-pkg-description.in
+FRIBIDI_PKG_INSTALL_SCRIPT      = $(FRIBIDI_PKG_NAME)-pkg-install.sh
+
+FRIBIDI_PKG      = $(CURDIR)/$(TARGET_BUILD_DIR)/$(FRIBIDI_PKG_NAME)-package
+
+pkg_basename     = $(FRIBIDI_PKG_NAME)-$(FRIBIDI_PKG_VERSION)-$(FRIBIDI_PKG_ARCH)-$(FRIBIDI_PKG_DISTRO_NAME)-$(FRIBIDI_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(FRIBIDI_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --sysconfdir=/etc
+
+extra_configure_switches += --with-pic
+
+extra_configure_switches += --enable-static=yes
+extra_configure_switches += --enable-shared=yes
+
+
+CFLAGS += -Wno-deprecated-declarations -Wno-unused-but-set-variable -Wno-switch
+
+
+TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	# ======= Building Generators for build mahine =======
+	@( cd $(SRC_DIR) ; \
+	   ./configure CC=gcc CXX=g++ CFLAGS=-I/usr/include CXXFLAGS=-I/usr/include \
+	               PKG_CONFIG_PATH=/usr/lib$(BUILD_MULTILIB_SUFFIX)/pkgconfig ; \
+	   make ; \
+	   cp gen.tab/gen-arabic-shaping-tab gen.tab/gen-arabic-shaping-tab-for-build ; \
+	   cp      gen.tab/gen-bidi-type-tab gen.tab/gen-bidi-type-tab-for-build      ; \
+	   cp   gen.tab/gen-joining-type-tab gen.tab/gen-joining-type-tab-for-build   ; \
+	   cp      gen.tab/gen-mirroring-tab gen.tab/gen-mirroring-tab-for-build      ; \
+	   cp    gen.tab/gen-unicode-version gen.tab/gen-unicode-version-for-build    ; \
+	   make distclean ; \
+	 )
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && \
+	  $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	# ======= Copy Generators for build mahine =======
+	@( cd $(SRC_DIR) ; \
+	   cp gen.tab/gen-arabic-shaping-tab-for-build gen.tab/gen-arabic-shaping-tab ; \
+	   cp      gen.tab/gen-bidi-type-tab-for-build gen.tab/gen-bidi-type-tab      ; \
+	   cp   gen.tab/gen-joining-type-tab-for-build gen.tab/gen-joining-type-tab   ; \
+	   cp      gen.tab/gen-mirroring-tab-for-build gen.tab/gen-mirroring-tab      ; \
+	   cp    gen.tab/gen-unicode-version-for-build gen.tab/gen-unicode-version    ; \
+	 )
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(FRIBIDI_PKG)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= delete wrong man pages =======
+	@( cd $(FRIBIDI_PKG)/usr/share/man/man3 ; \
+	   rm -f fribidi_set_debug.3 fribidi_unicode_version.3 fribidi_version_info.3 ; \
+	 )
+	# ======= Install Documentation =======
+	@if [ -d $(FRIBIDI_PKG)/usr/share/man ]; then \
+	  ( cd $(FRIBIDI_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(FRIBIDI_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING* \
+	       $(FRIBIDI_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(FRIBIDI_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS COPYING* INSTALL NEWS README THANKS TODO \
+	         $(FRIBIDI_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(FRIBIDI_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(FRIBIDI_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libfribidi.la \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(FRIBIDI_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	  sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libfribidi.la ; \
+	  sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libfribidi.la \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,=/usr,=$(TARGET_DEST_DIR)/usr,g" fribidi.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(FRIBIDI_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(FRIBIDI_PKG)/usr/bin ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(FRIBIDI_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(FRIBIDI_PKG_DESCRIPTION_FILE): $(FRIBIDI_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(FRIBIDI_PKG_DESCRIPTION_FILE) $(FRIBIDI_PKG_INSTALL_SCRIPT)
+	@cp $(FRIBIDI_PKG_DESCRIPTION_FILE) $(FRIBIDI_PKG)/.DESCRIPTION
+	@cp $(FRIBIDI_PKG_INSTALL_SCRIPT) $(FRIBIDI_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(FRIBIDI_PKG)/.REQUIRES
+	@echo "pkgname=$(FRIBIDI_PKG_NAME)"                            >  $(FRIBIDI_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(FRIBIDI_PKG_VERSION)"                          >> $(FRIBIDI_PKG)/.PKGINFO ; \
+	 echo "arch=$(FRIBIDI_PKG_ARCH)"                               >> $(FRIBIDI_PKG)/.PKGINFO ; \
+	 echo "distroname=$(FRIBIDI_PKG_DISTRO_NAME)"                  >> $(FRIBIDI_PKG)/.PKGINFO ; \
+	 echo "distrover=$(FRIBIDI_PKG_DISTRO_VERSION)"                >> $(FRIBIDI_PKG)/.PKGINFO ; \
+	 echo "group=$(FRIBIDI_PKG_GROUP)"                             >> $(FRIBIDI_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(FRIBIDI_PKG_SHORT_DESCRIPTION)\"" >> $(FRIBIDI_PKG)/.PKGINFO ; \
+	 echo "url=$(FRIBIDI_PKG_URL)"                                 >> $(FRIBIDI_PKG)/.PKGINFO ; \
+	 echo "license=$(FRIBIDI_PKG_LICENSE)"                         >> $(FRIBIDI_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(FRIBIDI_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/fribidi/0.19.7/PATCHES b/libs/fribidi/0.19.7/PATCHES
new file mode 100644
index 000000000..25d8f4169
--- /dev/null
+++ b/libs/fribidi/0.19.7/PATCHES
@@ -0,0 +1,2 @@
+
+../../../sources/packages/l/fribidi/patches/fribidi-0.19.7-c2man.patch -p0
diff --git a/libs/fribidi/0.19.7/fribidi-pkg-description.in b/libs/fribidi/0.19.7/fribidi-pkg-description.in
new file mode 100644
index 000000000..a807b15a2
--- /dev/null
+++ b/libs/fribidi/0.19.7/fribidi-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+       |-----handy-ruler------------------------------------------------------|
+fribidi: fribidi @VERSION@ (Unicode BiDirectional algorithm library)
+fribidi:
+fribidi: This library implements the Unicode BiDirectional algorithm, which
+fribidi: is needed in order to support right-to-left languages such as Arabic
+fribidi: and Hebrew. It is used in display software like KDE's SVG modules.
+fribidi:
+fribidi: Homepage: http://fribidi.org
+fribidi:
+fribidi:
+fribidi:
+fribidi:
diff --git a/libs/fribidi/0.19.7/fribidi-pkg-install.sh b/libs/fribidi/0.19.7/fribidi-pkg-install.sh
new file mode 100755
index 000000000..b44c4e648
--- /dev/null
+++ b/libs/fribidi/0.19.7/fribidi-pkg-install.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/ladspa/1.13-x86_32/Makefile b/libs/ladspa/1.13-x86_32/Makefile
new file mode 100644
index 000000000..2fe0b3288
--- /dev/null
+++ b/libs/ladspa/1.13-x86_32/Makefile
@@ -0,0 +1,135 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/ladspa
+
+REQUIRES           = libs/ladspa/1.13
+REQUIRES          += libs/glibc/2.23-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.13
+tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/m/ladspa/ladspa-$(version).tar.gz
+SRC_ARCHIVE        = $(tar_gz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/ladspa-$(version)
+src_dir_name       = ladspa-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+LADSPA_32_PKG_NAME                = ladspa-x32
+LADSPA_32_PKG_VERSION             = 1.13
+LADSPA_32_PKG_ARCH                = $(TOOLCHAIN)
+LADSPA_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+LADSPA_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+LADSPA_32_PKG_GROUP               = $(PKG_GROUP)
+###                                |---handy-ruler-------------------------------|
+LADSPA_32_PKG_SHORT_DESCRIPTION   = Simple Plugin API
+LADSPA_32_PKG_URL                 = $(BUG_URL)
+LADSPA_32_PKG_LICENSE             = LGPLv2.1
+LADSPA_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LADSPA_32_PKG_NAME)-pkg-description
+LADSPA_32_PKG_DESCRIPTION_FILE_IN = $(LADSPA_32_PKG_NAME)-pkg-description.in
+LADSPA_32_PKG_INSTALL_SCRIPT      = $(LADSPA_32_PKG_NAME)-pkg-install.sh
+
+LADSPA_32_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LADSPA_32_PKG_NAME)-package
+
+pkg_basename      = $(LADSPA_32_PKG_NAME)-$(LADSPA_32_PKG_VERSION)-$(LADSPA_32_PKG_ARCH)-$(LADSPA_32_PKG_DISTRO_NAME)-$(LADSPA_32_PKG_DISTRO_VERSION)
+
+pkg_archive       = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature     = $(call sign-name,$(pkg_archive))
+pkg_description   = $(call desc-name,$(pkg_archive))
+products          = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS     = $(build_target)
+BUILD_TARGETS    += $(install_target)
+
+PRODUCT_TARGETS   = $(products)
+
+ROOTFS_TARGETS    = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(LADSPA_32_PKG)
+
+
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+LD      += -melf_i386
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@( cd $(SRC_DIR)/src ; \
+	   $(BUILD_ENVIRONMENT) $(MAKE) INSTALL_PLUGINS_DIR="/usr/lib$(MULTILIB_X86_32_SUFFIX)/ladspa" \
+	                                INSTALL_INCLUDE_DIR="/usr/include"         \
+	                                INSTALL_BINARY_DIR="/usr/bin/32" targets ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LADSPA_32_PKG)
+	@( cd $(SRC_DIR)/src ; \
+	   $(BUILD_ENVIRONMENT) $(MAKE) -j1 INSTALL_PLUGINS_DIR="/usr/lib$(MULTILIB_X86_32_SUFFIX)/ladspa" \
+	                                    INSTALL_INCLUDE_DIR="/usr/include"                        \
+	                                    INSTALL_BINARY_DIR="/usr/bin/32" $(env_sysroot) install ; \
+	 )
+	@rm -rf $(LADSPA_32_PKG)/usr/include
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LADSPA_32_PKG))
+	# ======= Strip binaries =======
+	@( cd $(LADSPA_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+	@touch $@
+
+$(LADSPA_32_PKG_DESCRIPTION_FILE): $(LADSPA_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(LADSPA_32_PKG_DESCRIPTION_FILE) $(LADSPA_32_PKG_INSTALL_SCRIPT)
+	@cp $(LADSPA_32_PKG_DESCRIPTION_FILE) $(LADSPA_32_PKG)/.DESCRIPTION
+	@cp $(LADSPA_32_PKG_INSTALL_SCRIPT) $(LADSPA_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(LADSPA_32_PKG)/.REQUIRES
+	@echo "pkgname=$(LADSPA_32_PKG_NAME)"                            >  $(LADSPA_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(LADSPA_32_PKG_VERSION)"                          >> $(LADSPA_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(LADSPA_32_PKG_ARCH)"                               >> $(LADSPA_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(LADSPA_32_PKG_DISTRO_NAME)"                  >> $(LADSPA_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(LADSPA_32_PKG_DISTRO_VERSION)"                >> $(LADSPA_32_PKG)/.PKGINFO ; \
+	 echo "group=$(LADSPA_32_PKG_GROUP)"                             >> $(LADSPA_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(LADSPA_32_PKG_SHORT_DESCRIPTION)\"" >> $(LADSPA_32_PKG)/.PKGINFO ; \
+	 echo "url=$(LADSPA_32_PKG_URL)"                                 >> $(LADSPA_32_PKG)/.PKGINFO ; \
+	 echo "license=$(LADSPA_32_PKG_LICENSE)"                         >> $(LADSPA_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(LADSPA_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/ladspa/1.13-x86_32/PATCHES b/libs/ladspa/1.13-x86_32/PATCHES
new file mode 100644
index 000000000..3f198abaa
--- /dev/null
+++ b/libs/ladspa/1.13-x86_32/PATCHES
@@ -0,0 +1,3 @@
+
+../../../sources/packages/m/ladspa/patches/ladspa-1.13-ladspa-path.patch -p0
+../../../sources/packages/m/ladspa/patches/ladspa-1.13-memleak.patch     -p0
diff --git a/libs/ladspa/1.13-x86_32/ladspa-x32-pkg-description.in b/libs/ladspa/1.13-x86_32/ladspa-x32-pkg-description.in
new file mode 100644
index 000000000..041de34f3
--- /dev/null
+++ b/libs/ladspa/1.13-x86_32/ladspa-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+          |-----handy-ruler------------------------------------------------------|
+ladspa-x32: ladspa-x32 @VERSION@ (x86_32 Simple Plugin API)
+ladspa-x32:
+ladspa-x32: LADSPA - Linux Audio Developer's Simple Plugin API.
+ladspa-x32:
+ladspa-x32: The API itself can be be found in /usr/include/ladspa.h. The rest
+ladspa-x32: of this package is a software development kit to make the API even
+ladspa-x32: easier to work with.
+ladspa-x32:
+ladspa-x32: GitHub: https://github.com/OpenMandrivaAssociation/ladspa
+ladspa-x32:
+ladspa-x32:
diff --git a/libs/ladspa/1.13-x86_32/ladspa-x32-pkg-install.sh b/libs/ladspa/1.13-x86_32/ladspa-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/libs/ladspa/1.13-x86_32/ladspa-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/ladspa/1.13/Makefile b/libs/ladspa/1.13/Makefile
new file mode 100644
index 000000000..936e888ad
--- /dev/null
+++ b/libs/ladspa/1.13/Makefile
@@ -0,0 +1,180 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/ladspa
+
+ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
+REQUIRES           = dev/gcc/5.3.0
+else
+REQUIRES          += libs/glibc/2.23
+endif
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.13
+tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/m/ladspa/ladspa-$(version).tar.gz
+SRC_ARCHIVE        = $(tar_gz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/ladspa-$(version)
+src_dir_name       = ladspa-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+LADSPA_PKG_NAME                = ladspa
+LADSPA_PKG_VERSION             = 1.13
+LADSPA_PKG_ARCH                = $(TOOLCHAIN)
+LADSPA_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+LADSPA_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+LADSPA_PKG_GROUP               = $(PKG_GROUP)
+###                             |---handy-ruler-------------------------------|
+LADSPA_PKG_SHORT_DESCRIPTION   = Simple Plugin API
+LADSPA_PKG_URL                 = $(BUG_URL)
+LADSPA_PKG_LICENSE             = LGPLv2.1
+LADSPA_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LADSPA_PKG_NAME)-pkg-description
+LADSPA_PKG_DESCRIPTION_FILE_IN = $(LADSPA_PKG_NAME)-pkg-description.in
+LADSPA_PKG_INSTALL_SCRIPT      = $(LADSPA_PKG_NAME)-pkg-install.sh
+
+LADSPA_PKG       = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LADSPA_PKG_NAME)-package
+
+pkg_basename     = $(LADSPA_PKG_NAME)-$(LADSPA_PKG_VERSION)-$(LADSPA_PKG_ARCH)-$(LADSPA_PKG_DISTRO_NAME)-$(LADSPA_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(LADSPA_PKG)
+
+
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@( cd $(SRC_DIR)/src ; \
+	   $(BUILD_ENVIRONMENT) $(MAKE) INSTALL_PLUGINS_DIR="/usr/lib$(LIBSUFFIX)/ladspa" \
+	                                INSTALL_INCLUDE_DIR="/usr/include"      \
+	                                INSTALL_BINARY_DIR="/usr/bin" targets ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LADSPA_PKG)
+	@( cd $(SRC_DIR)/src ; \
+	   $(BUILD_ENVIRONMENT) $(MAKE) -j1 INSTALL_PLUGINS_DIR="/usr/lib$(LIBSUFFIX)/ladspa"      \
+	                                    INSTALL_INCLUDE_DIR="/usr/include"                     \
+	                                    INSTALL_BINARY_DIR="/usr/bin" $(env_sysroot) install ; \
+	 )
+	# ======= Install Documentation =======
+	@if [ -d $(LADSPA_PKG)/usr/share/man ]; then \
+	  ( cd $(LADSPA_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(LADSPA_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/doc/COPYING \
+	       $(LADSPA_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(LADSPA_PKG)/usr/share/doc/$(src_dir_name)/html
+	@( cd $(SRC_DIR) ; \
+	   cp -a doc/COPYING README snd \
+	         $(LADSPA_PKG)/usr/share/doc/$(src_dir_name) ; \
+	   cp -a doc/*.html \
+	         $(LADSPA_PKG)/usr/share/doc/$(src_dir_name)/html ; \
+	   cp -a src/ladspa.h \
+	         $(LADSPA_PKG)/usr/share/doc/$(src_dir_name)/html/ladspa.h.txt ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(LADSPA_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LADSPA_PKG))
+	# ======= Strip binaries =======
+	@( cd $(LADSPA_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+	@touch $@
+
+$(LADSPA_PKG_DESCRIPTION_FILE): $(LADSPA_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(LADSPA_PKG_DESCRIPTION_FILE) $(LADSPA_PKG_INSTALL_SCRIPT)
+	@cp $(LADSPA_PKG_DESCRIPTION_FILE) $(LADSPA_PKG)/.DESCRIPTION
+	@cp $(LADSPA_PKG_INSTALL_SCRIPT) $(LADSPA_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(LADSPA_PKG)/.REQUIRES
+	@echo "pkgname=$(LADSPA_PKG_NAME)"                            >  $(LADSPA_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(LADSPA_PKG_VERSION)"                          >> $(LADSPA_PKG)/.PKGINFO ; \
+	 echo "arch=$(LADSPA_PKG_ARCH)"                               >> $(LADSPA_PKG)/.PKGINFO ; \
+	 echo "distroname=$(LADSPA_PKG_DISTRO_NAME)"                  >> $(LADSPA_PKG)/.PKGINFO ; \
+	 echo "distrover=$(LADSPA_PKG_DISTRO_VERSION)"                >> $(LADSPA_PKG)/.PKGINFO ; \
+	 echo "group=$(LADSPA_PKG_GROUP)"                             >> $(LADSPA_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(LADSPA_PKG_SHORT_DESCRIPTION)\"" >> $(LADSPA_PKG)/.PKGINFO ; \
+	 echo "url=$(LADSPA_PKG_URL)"                                 >> $(LADSPA_PKG)/.PKGINFO ; \
+	 echo "license=$(LADSPA_PKG_LICENSE)"                         >> $(LADSPA_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(LADSPA_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/ladspa/1.13/PATCHES b/libs/ladspa/1.13/PATCHES
new file mode 100644
index 000000000..3f198abaa
--- /dev/null
+++ b/libs/ladspa/1.13/PATCHES
@@ -0,0 +1,3 @@
+
+../../../sources/packages/m/ladspa/patches/ladspa-1.13-ladspa-path.patch -p0
+../../../sources/packages/m/ladspa/patches/ladspa-1.13-memleak.patch     -p0
diff --git a/libs/ladspa/1.13/ladspa-pkg-description.in b/libs/ladspa/1.13/ladspa-pkg-description.in
new file mode 100644
index 000000000..ddb0226e4
--- /dev/null
+++ b/libs/ladspa/1.13/ladspa-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+      |-----handy-ruler------------------------------------------------------|
+ladspa: ladspa @VERSION@ (Simple Plugin API)
+ladspa:
+ladspa: LADSPA - Linux Audio Developer's Simple Plugin API.
+ladspa:
+ladspa: The API itself can be be found in /usr/include/ladspa.h. The rest
+ladspa: of this package is a software development kit to make the API even
+ladspa: easier to work with.
+ladspa:
+ladspa: GitHub: https://github.com/OpenMandrivaAssociation/ladspa
+ladspa:
+ladspa:
diff --git a/libs/ladspa/1.13/ladspa-pkg-install.sh b/libs/ladspa/1.13/ladspa-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/libs/ladspa/1.13/ladspa-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/libass/0.13.3-x86_32/Makefile b/libs/libass/0.13.3-x86_32/Makefile
new file mode 100644
index 000000000..cc8328c1c
--- /dev/null
+++ b/libs/libass/0.13.3-x86_32/Makefile
@@ -0,0 +1,175 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/libass
+
+REQUIRES           = libs/libass/0.13.3
+REQUIRES          += X11/libs/fontconfig/2.11.95-x86_32
+REQUIRES          += X11/libs/harfbuzz/1.2.7-x86_32
+REQUIRES          += libs/fribidi/0.19.7-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.13.3
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/m/libass/libass-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/libass-$(version)
+src_dir_name       = libass-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+LIBASS_32_PKG_NAME                = libass-x32
+LIBASS_32_PKG_VERSION             = 0.13.3
+LIBASS_32_PKG_ARCH                = $(TOOLCHAIN)
+LIBASS_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+LIBASS_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+LIBASS_32_PKG_GROUP               = $(PKG_GROUP)
+###                                |---handy-ruler-------------------------------|
+LIBASS_32_PKG_SHORT_DESCRIPTION   = Subtitle renderer for the ASS/SSA
+LIBASS_32_PKG_URL                 = $(BUG_URL)
+LIBASS_32_PKG_LICENSE             = MIT
+LIBASS_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LIBASS_32_PKG_NAME)-pkg-description
+LIBASS_32_PKG_DESCRIPTION_FILE_IN = $(LIBASS_32_PKG_NAME)-pkg-description.in
+LIBASS_32_PKG_INSTALL_SCRIPT      = $(LIBASS_32_PKG_NAME)-pkg-install.sh
+
+LIBASS_32_PKG    = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LIBASS_32_PKG_NAME)-package
+
+pkg_basename     = $(LIBASS_32_PKG_NAME)-$(LIBASS_32_PKG_VERSION)-$(LIBASS_32_PKG_ARCH)-$(LIBASS_32_PKG_DISTRO_NAME)-$(LIBASS_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(LIBASS_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+extra_configure_switches += --enable-fontconfig
+extra_configure_switches += --enable-harfbuzz
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=yes
+
+
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LIBASS_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(LIBASS_32_PKG)/usr/include
+	@rm -rf $(LIBASS_32_PKG)/usr/share
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(LIBASS_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libass.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LIBASS_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libass.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libass.la ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libass.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(LIBASS_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(LIBASS_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(LIBASS_32_PKG_DESCRIPTION_FILE): $(LIBASS_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(LIBASS_32_PKG_DESCRIPTION_FILE) $(LIBASS_32_PKG_INSTALL_SCRIPT)
+	@cp $(LIBASS_32_PKG_DESCRIPTION_FILE) $(LIBASS_32_PKG)/.DESCRIPTION
+	@cp $(LIBASS_32_PKG_INSTALL_SCRIPT) $(LIBASS_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(LIBASS_32_PKG)/.REQUIRES
+	@echo "pkgname=$(LIBASS_32_PKG_NAME)"                            >  $(LIBASS_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(LIBASS_32_PKG_VERSION)"                          >> $(LIBASS_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(LIBASS_32_PKG_ARCH)"                               >> $(LIBASS_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(LIBASS_32_PKG_DISTRO_NAME)"                  >> $(LIBASS_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(LIBASS_32_PKG_DISTRO_VERSION)"                >> $(LIBASS_32_PKG)/.PKGINFO ; \
+	 echo "group=$(LIBASS_32_PKG_GROUP)"                             >> $(LIBASS_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(LIBASS_32_PKG_SHORT_DESCRIPTION)\"" >> $(LIBASS_32_PKG)/.PKGINFO ; \
+	 echo "url=$(LIBASS_32_PKG_URL)"                                 >> $(LIBASS_32_PKG)/.PKGINFO ; \
+	 echo "license=$(LIBASS_32_PKG_LICENSE)"                         >> $(LIBASS_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(LIBASS_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/libass/0.13.3-x86_32/PATCHES b/libs/libass/0.13.3-x86_32/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/libs/libass/0.13.3-x86_32/libass-x32-pkg-description.in b/libs/libass/0.13.3-x86_32/libass-x32-pkg-description.in
new file mode 100644
index 000000000..1cd24223a
--- /dev/null
+++ b/libs/libass/0.13.3-x86_32/libass-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+          |-----handy-ruler------------------------------------------------------|
+libass-x32: libass-x32 @VERSION@ (x86_32 Subtitle renderer for the ASS/SSA)
+libass-x32:
+libass-x32: libass is a portable subtitle renderer for the ASS/SSA (Advanced
+libass-x32: Substation Alpha/Substation Alpha) subtitle format. It is mostly
+libass-x32: compatible with VSFilter.
+libass-x32:
+libass-x32:
+libass-x32: Homepage: https://github.com/libass/libass
+libass-x32:
+libass-x32:
+libass-x32:
diff --git a/libs/libass/0.13.3-x86_32/libass-x32-pkg-install.sh b/libs/libass/0.13.3-x86_32/libass-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/libs/libass/0.13.3-x86_32/libass-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/libass/0.13.3/Makefile b/libs/libass/0.13.3/Makefile
new file mode 100644
index 000000000..d623a53e6
--- /dev/null
+++ b/libs/libass/0.13.3/Makefile
@@ -0,0 +1,213 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/libass
+
+REQUIRES           = X11/libs/fontconfig/2.11.95
+REQUIRES          += X11/libs/harfbuzz/1.2.7
+REQUIRES          += libs/fribidi/0.19.7
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.13.3
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/m/libass/libass-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/libass-$(version)
+src_dir_name       = libass-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+LIBASS_PKG_NAME                = libass
+LIBASS_PKG_VERSION             = 0.13.3
+LIBASS_PKG_ARCH                = $(TOOLCHAIN)
+LIBASS_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+LIBASS_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+LIBASS_PKG_GROUP               = $(PKG_GROUP)
+###                             |---handy-ruler-------------------------------|
+LIBASS_PKG_SHORT_DESCRIPTION   = Subtitle renderer for the ASS/SSA
+LIBASS_PKG_URL                 = $(BUG_URL)
+LIBASS_PKG_LICENSE             = MIT
+LIBASS_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LIBASS_PKG_NAME)-pkg-description
+LIBASS_PKG_DESCRIPTION_FILE_IN = $(LIBASS_PKG_NAME)-pkg-description.in
+LIBASS_PKG_INSTALL_SCRIPT      = $(LIBASS_PKG_NAME)-pkg-install.sh
+
+LIBASS_PKG       = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LIBASS_PKG_NAME)-package
+
+pkg_basename     = $(LIBASS_PKG_NAME)-$(LIBASS_PKG_VERSION)-$(LIBASS_PKG_ARCH)-$(LIBASS_PKG_DISTRO_NAME)-$(LIBASS_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(LIBASS_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+extra_configure_switches += --enable-fontconfig
+extra_configure_switches += --enable-harfbuzz
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=yes
+
+
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && \
+	  $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LIBASS_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= Install Documentation =======
+	@if [ -d $(LIBASS_PKG)/usr/share/man ]; then \
+	  ( cd $(LIBASS_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(LIBASS_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/COPYING \
+	       $(LIBASS_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(LIBASS_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a COPYING README.md \
+	         $(LIBASS_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(LIBASS_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(LIBASS_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libass.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LIBASS_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libass.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libass.la ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libass.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(LIBASS_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(LIBASS_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(LIBASS_PKG_DESCRIPTION_FILE): $(LIBASS_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(LIBASS_PKG_DESCRIPTION_FILE) $(LIBASS_PKG_INSTALL_SCRIPT)
+	@cp $(LIBASS_PKG_DESCRIPTION_FILE) $(LIBASS_PKG)/.DESCRIPTION
+	@cp $(LIBASS_PKG_INSTALL_SCRIPT) $(LIBASS_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(LIBASS_PKG)/.REQUIRES
+	@echo "pkgname=$(LIBASS_PKG_NAME)"                            >  $(LIBASS_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(LIBASS_PKG_VERSION)"                          >> $(LIBASS_PKG)/.PKGINFO ; \
+	 echo "arch=$(LIBASS_PKG_ARCH)"                               >> $(LIBASS_PKG)/.PKGINFO ; \
+	 echo "distroname=$(LIBASS_PKG_DISTRO_NAME)"                  >> $(LIBASS_PKG)/.PKGINFO ; \
+	 echo "distrover=$(LIBASS_PKG_DISTRO_VERSION)"                >> $(LIBASS_PKG)/.PKGINFO ; \
+	 echo "group=$(LIBASS_PKG_GROUP)"                             >> $(LIBASS_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(LIBASS_PKG_SHORT_DESCRIPTION)\"" >> $(LIBASS_PKG)/.PKGINFO ; \
+	 echo "url=$(LIBASS_PKG_URL)"                                 >> $(LIBASS_PKG)/.PKGINFO ; \
+	 echo "license=$(LIBASS_PKG_LICENSE)"                         >> $(LIBASS_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(LIBASS_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/libass/0.13.3/PATCHES b/libs/libass/0.13.3/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/libs/libass/0.13.3/libass-pkg-description.in b/libs/libass/0.13.3/libass-pkg-description.in
new file mode 100644
index 000000000..fe91d8ab0
--- /dev/null
+++ b/libs/libass/0.13.3/libass-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+      |-----handy-ruler------------------------------------------------------|
+libass: libass @VERSION@ (Subtitle renderer for the ASS/SSA)
+libass:
+libass: libass is a portable subtitle renderer for the ASS/SSA (Advanced
+libass: Substation Alpha/Substation Alpha) subtitle format. It is mostly
+libass: compatible with VSFilter.
+libass:
+libass:
+libass: Homepage: https://github.com/libass/libass
+libass:
+libass:
+libass:
diff --git a/libs/libass/0.13.3/libass-pkg-install.sh b/libs/libass/0.13.3/libass-pkg-install.sh
new file mode 100755
index 000000000..b44c4e648
--- /dev/null
+++ b/libs/libass/0.13.3/libass-pkg-install.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/libasyncns/0.8-x86_32/Makefile b/libs/libasyncns/0.8-x86_32/Makefile
new file mode 100644
index 000000000..a068aba1b
--- /dev/null
+++ b/libs/libasyncns/0.8-x86_32/Makefile
@@ -0,0 +1,156 @@
+
+COMPONENT_TARGETS    = $(HARDWARE_PC64)
+
+NEED_ABS_PATH        = true
+COMPONENT_IS_3PP     = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES      = sources/packages/l/libasyncns
+
+REQUIRES             = libs/libasyncns/0.8
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version              = 0.8
+tar_xz_archive       = $(SRC_PACKAGE_PATH)/packages/l/libasyncns/libasyncns-$(version).tar.xz
+SRC_ARCHIVE          = $(tar_xz_archive)
+SRC_DIR              = $(TARGET_BUILD_DIR)/libasyncns-$(version)
+src_dir_name         = libasyncns-$(version)
+src_done             = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir            = $(TARGET_BUILD_DIR)/build
+build_target         = $(TARGET_BUILD_DIR)/.build_done
+install_target       = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+LIBASYNCNS_32_PKG_NAME                = libasyncns-x32
+LIBASYNCNS_32_PKG_VERSION             = 0.8
+LIBASYNCNS_32_PKG_ARCH                = $(TOOLCHAIN)
+LIBASYNCNS_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+LIBASYNCNS_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+LIBASYNCNS_32_PKG_GROUP               = $(PKG_GROUP)
+###                                    |---handy-ruler-------------------------------|
+LIBASYNCNS_32_PKG_SHORT_DESCRIPTION   = asynchronous name query library
+LIBASYNCNS_32_PKG_URL                 = $(BUG_URL)
+LIBASYNCNS_32_PKG_LICENSE             = LGPLv2.1
+LIBASYNCNS_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LIBASYNCNS_32_PKG_NAME)-pkg-description
+LIBASYNCNS_32_PKG_DESCRIPTION_FILE_IN = $(LIBASYNCNS_32_PKG_NAME)-pkg-description.in
+LIBASYNCNS_32_PKG_INSTALL_SCRIPT      = $(LIBASYNCNS_32_PKG_NAME)-pkg-install.sh
+
+LIBASYNCNS_32_PKG  = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LIBASYNCNS_32_PKG_NAME)-package
+
+pkg_basename       = $(LIBASYNCNS_32_PKG_NAME)-$(LIBASYNCNS_32_PKG_VERSION)-$(LIBASYNCNS_32_PKG_ARCH)-$(LIBASYNCNS_32_PKG_DISTRO_NAME)-$(LIBASYNCNS_32_PKG_DISTRO_VERSION)
+
+pkg_archive        = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature      = $(call sign-name,$(pkg_archive))
+pkg_description    = $(call desc-name,$(pkg_archive))
+products           = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS      = $(build_target)
+BUILD_TARGETS     += $(install_target)
+
+PRODUCT_TARGETS    = $(products)
+
+ROOTFS_TARGETS     = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(LIBASYNCNS_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+extra_configure_switches += --enable-static=yes
+extra_configure_switches += --enable-shared=yes
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	# ======= Ensure correct libdir is specified by pkg-config database =======
+	@( cd $(SRC_DIR) ; \
+	   sed -i.back -e "/^libdir/c libdir=$$\{exec_prefix\}\/lib$(MULTILIB_X86_32_SUFFIX)" libasyncns.pc.in ; \
+	 )
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LIBASYNCNS_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(LIBASYNCNS_32_PKG)/usr/include
+	@rm -rf $(LIBASYNCNS_32_PKG)/usr/share
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(LIBASYNCNS_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libasyncns.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LIBASYNCNS_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libasyncns.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libasyncns.la \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libasyncns.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(LIBASYNCNS_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+	@touch $@
+
+$(LIBASYNCNS_32_PKG_DESCRIPTION_FILE): $(LIBASYNCNS_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(LIBASYNCNS_32_PKG_DESCRIPTION_FILE) $(LIBASYNCNS_32_PKG_INSTALL_SCRIPT)
+	@cp $(LIBASYNCNS_32_PKG_DESCRIPTION_FILE) $(LIBASYNCNS_32_PKG)/.DESCRIPTION
+	@cp $(LIBASYNCNS_32_PKG_INSTALL_SCRIPT) $(LIBASYNCNS_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(LIBASYNCNS_32_PKG)/.REQUIRES
+	@echo "pkgname=$(LIBASYNCNS_32_PKG_NAME)"                            >  $(LIBASYNCNS_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(LIBASYNCNS_32_PKG_VERSION)"                          >> $(LIBASYNCNS_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(LIBASYNCNS_32_PKG_ARCH)"                               >> $(LIBASYNCNS_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(LIBASYNCNS_32_PKG_DISTRO_NAME)"                  >> $(LIBASYNCNS_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(LIBASYNCNS_32_PKG_DISTRO_VERSION)"                >> $(LIBASYNCNS_32_PKG)/.PKGINFO ; \
+	 echo "group=$(LIBASYNCNS_32_PKG_GROUP)"                             >> $(LIBASYNCNS_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(LIBASYNCNS_32_PKG_SHORT_DESCRIPTION)\"" >> $(LIBASYNCNS_32_PKG)/.PKGINFO ; \
+	 echo "url=$(LIBASYNCNS_32_PKG_URL)"                                 >> $(LIBASYNCNS_32_PKG)/.PKGINFO ; \
+	 echo "license=$(LIBASYNCNS_32_PKG_LICENSE)"                         >> $(LIBASYNCNS_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(LIBASYNCNS_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/libasyncns/0.8-x86_32/PATCHES b/libs/libasyncns/0.8-x86_32/PATCHES
new file mode 100644
index 000000000..46c3b65fa
--- /dev/null
+++ b/libs/libasyncns/0.8-x86_32/PATCHES
@@ -0,0 +1,2 @@
+
+../../../sources/packages/l/libasyncns/patches/libasyncns-0.8-rpl-malloc.patch -p0
diff --git a/libs/libasyncns/0.8-x86_32/libasyncns-x32-pkg-description.in b/libs/libasyncns/0.8-x86_32/libasyncns-x32-pkg-description.in
new file mode 100644
index 000000000..c12fb4e65
--- /dev/null
+++ b/libs/libasyncns/0.8-x86_32/libasyncns-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+              |-----handy-ruler------------------------------------------------------|
+libasyncns-x32: libasyncns-x32 @VERSION@ (x86_32 asynchronous name query library)
+libasyncns-x32:
+libasyncns-x32: libasyncns is a C library for asynchronous name queries.
+libasyncns-x32: It is an asynchronous wrapper around the libc's synchronous
+libasyncns-x32: getaddrinfo() API.
+libasyncns-x32:
+libasyncns-x32: Homepage: http://0pointer.de/lennart/projects/libasyncns
+libasyncns-x32:
+libasyncns-x32:
+libasyncns-x32:
+libasyncns-x32:
diff --git a/libs/libasyncns/0.8-x86_32/libasyncns-x32-pkg-install.sh b/libs/libasyncns/0.8-x86_32/libasyncns-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/libs/libasyncns/0.8-x86_32/libasyncns-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/libasyncns/0.8/Makefile b/libs/libasyncns/0.8/Makefile
new file mode 100644
index 000000000..3ef77462b
--- /dev/null
+++ b/libs/libasyncns/0.8/Makefile
@@ -0,0 +1,198 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/l/libasyncns
+
+ifneq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES           = libs/glibc/2.23
+else
+REQUIRES           = libs/glibc/2.23-x86_32
+endif
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.8
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/l/libasyncns/libasyncns-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/libasyncns-$(version)
+src_dir_name       = libasyncns-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+LIBASYNCNS_PKG_NAME                = libasyncns
+LIBASYNCNS_PKG_VERSION             = 0.8
+LIBASYNCNS_PKG_ARCH                = $(TOOLCHAIN)
+LIBASYNCNS_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+LIBASYNCNS_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+LIBASYNCNS_PKG_GROUP               = $(PKG_GROUP)
+###                                 |---handy-ruler-------------------------------|
+LIBASYNCNS_PKG_SHORT_DESCRIPTION   = asynchronous name query library
+LIBASYNCNS_PKG_URL                 = $(BUG_URL)
+LIBASYNCNS_PKG_LICENSE             = LGPLv2.1
+LIBASYNCNS_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LIBASYNCNS_PKG_NAME)-pkg-description
+LIBASYNCNS_PKG_DESCRIPTION_FILE_IN = $(LIBASYNCNS_PKG_NAME)-pkg-description.in
+LIBASYNCNS_PKG_INSTALL_SCRIPT      = $(LIBASYNCNS_PKG_NAME)-pkg-install.sh
+
+LIBASYNCNS_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LIBASYNCNS_PKG_NAME)-package
+
+pkg_basename       = $(LIBASYNCNS_PKG_NAME)-$(LIBASYNCNS_PKG_VERSION)-$(LIBASYNCNS_PKG_ARCH)-$(LIBASYNCNS_PKG_DISTRO_NAME)-$(LIBASYNCNS_PKG_DISTRO_VERSION)
+
+pkg_archive        = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature      = $(call sign-name,$(pkg_archive))
+pkg_description    = $(call desc-name,$(pkg_archive))
+products           = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS      = $(build_target)
+BUILD_TARGETS     += $(install_target)
+
+PRODUCT_TARGETS    = $(products)
+
+ROOTFS_TARGETS     = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(LIBASYNCNS_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+extra_configure_switches += --enable-static=yes
+extra_configure_switches += --enable-shared=yes
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	# ======= Ensure correct libdir is specified by pkg-config database =======
+	@( cd $(SRC_DIR) ; \
+	   sed -i.back -e "/^libdir/c libdir=$$\{exec_prefix\}\/lib$(LIBSUFFIX)" libasyncns.pc.in ; \
+	 )
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LIBASYNCNS_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= Install Documentation =======
+	@if [ -d $(LIBASYNCNS_PKG)/usr/share/man ]; then \
+	  ( cd $(LIBASYNCNS_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.? ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(LIBASYNCNS_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/LICENSE \
+	       $(LIBASYNCNS_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(LIBASYNCNS_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a LICENSE \
+	         $(LIBASYNCNS_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog -a -s ChangeLog ]; then \
+	     DOCSDIR=`echo $(LIBASYNCNS_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(LIBASYNCNS_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libasyncns.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LIBASYNCNS_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libasyncns.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libasyncns.la \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libasyncns.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(LIBASYNCNS_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+	@touch $@
+
+$(LIBASYNCNS_PKG_DESCRIPTION_FILE): $(LIBASYNCNS_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(LIBASYNCNS_PKG_DESCRIPTION_FILE) $(LIBASYNCNS_PKG_INSTALL_SCRIPT)
+	@cp $(LIBASYNCNS_PKG_DESCRIPTION_FILE) $(LIBASYNCNS_PKG)/.DESCRIPTION
+	@cp $(LIBASYNCNS_PKG_INSTALL_SCRIPT) $(LIBASYNCNS_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(LIBASYNCNS_PKG)/.REQUIRES
+	@echo "pkgname=$(LIBASYNCNS_PKG_NAME)"                            >  $(LIBASYNCNS_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(LIBASYNCNS_PKG_VERSION)"                          >> $(LIBASYNCNS_PKG)/.PKGINFO ; \
+	 echo "arch=$(LIBASYNCNS_PKG_ARCH)"                               >> $(LIBASYNCNS_PKG)/.PKGINFO ; \
+	 echo "distroname=$(LIBASYNCNS_PKG_DISTRO_NAME)"                  >> $(LIBASYNCNS_PKG)/.PKGINFO ; \
+	 echo "distrover=$(LIBASYNCNS_PKG_DISTRO_VERSION)"                >> $(LIBASYNCNS_PKG)/.PKGINFO ; \
+	 echo "group=$(LIBASYNCNS_PKG_GROUP)"                             >> $(LIBASYNCNS_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(LIBASYNCNS_PKG_SHORT_DESCRIPTION)\"" >> $(LIBASYNCNS_PKG)/.PKGINFO ; \
+	 echo "url=$(LIBASYNCNS_PKG_URL)"                                 >> $(LIBASYNCNS_PKG)/.PKGINFO ; \
+	 echo "license=$(LIBASYNCNS_PKG_LICENSE)"                         >> $(LIBASYNCNS_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(LIBASYNCNS_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/libasyncns/0.8/PATCHES b/libs/libasyncns/0.8/PATCHES
new file mode 100644
index 000000000..46c3b65fa
--- /dev/null
+++ b/libs/libasyncns/0.8/PATCHES
@@ -0,0 +1,2 @@
+
+../../../sources/packages/l/libasyncns/patches/libasyncns-0.8-rpl-malloc.patch -p0
diff --git a/libs/libasyncns/0.8/libasyncns-pkg-description.in b/libs/libasyncns/0.8/libasyncns-pkg-description.in
new file mode 100644
index 000000000..7ded0a86f
--- /dev/null
+++ b/libs/libasyncns/0.8/libasyncns-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+          |-----handy-ruler------------------------------------------------------|
+libasyncns: libasyncns @VERSION@ (asynchronous name query library)
+libasyncns:
+libasyncns: libasyncns is a C library for asynchronous name queries.
+libasyncns: It is an asynchronous wrapper around the libc's synchronous
+libasyncns: getaddrinfo() API.
+libasyncns:
+libasyncns: Homepage: http://0pointer.de/lennart/projects/libasyncns
+libasyncns:
+libasyncns:
+libasyncns:
+libasyncns:
diff --git a/libs/libasyncns/0.8/libasyncns-pkg-install.sh b/libs/libasyncns/0.8/libasyncns-pkg-install.sh
new file mode 100755
index 000000000..b44c4e648
--- /dev/null
+++ b/libs/libasyncns/0.8/libasyncns-pkg-install.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/libbluray/0.9.3-x86_32/Makefile b/libs/libbluray/0.9.3-x86_32/Makefile
new file mode 100644
index 000000000..17604e36d
--- /dev/null
+++ b/libs/libbluray/0.9.3-x86_32/Makefile
@@ -0,0 +1,183 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/VideoLAN/libbluray
+
+REQUIRES           = libs/libbluray/0.9.3
+REQUIRES          += X11/libs/fontconfig/2.11.95-x86_32
+REQUIRES          += libs/freetype/2.6.3-x86_32
+REQUIRES          += libs/libxml2/2.9.3-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.9.3
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/m/VideoLAN/libbluray/libbluray-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/libbluray-$(version)
+src_dir_name       = libbluray-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+LIBBLURAY_32_PKG_NAME                = libbluray-x32
+LIBBLURAY_32_PKG_VERSION             = 0.9.3
+LIBBLURAY_32_PKG_ARCH                = $(TOOLCHAIN)
+LIBBLURAY_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+LIBBLURAY_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+LIBBLURAY_32_PKG_GROUP               = $(PKG_GROUP)
+###                                   |---handy-ruler-------------------------------|
+LIBBLURAY_32_PKG_SHORT_DESCRIPTION   = Library to access Blu-Ray disks
+LIBBLURAY_32_PKG_URL                 = $(BUG_URL)
+LIBBLURAY_32_PKG_LICENSE             = LGPLv2.1
+LIBBLURAY_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LIBBLURAY_32_PKG_NAME)-pkg-description
+LIBBLURAY_32_PKG_DESCRIPTION_FILE_IN = $(LIBBLURAY_32_PKG_NAME)-pkg-description.in
+LIBBLURAY_32_PKG_INSTALL_SCRIPT      = $(LIBBLURAY_32_PKG_NAME)-pkg-install.sh
+
+LIBBLURAY_32_PKG  = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LIBBLURAY_32_PKG_NAME)-package
+
+pkg_basename      = $(LIBBLURAY_32_PKG_NAME)-$(LIBBLURAY_32_PKG_VERSION)-$(LIBBLURAY_32_PKG_ARCH)-$(LIBBLURAY_32_PKG_DISTRO_NAME)-$(LIBBLURAY_32_PKG_DISTRO_VERSION)
+
+pkg_archive       = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature     = $(call sign-name,$(pkg_archive))
+pkg_description   = $(call desc-name,$(pkg_archive))
+products          = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS     = $(build_target)
+BUILD_TARGETS    += $(install_target)
+
+PRODUCT_TARGETS   = $(products)
+
+ROOTFS_TARGETS    = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(LIBBLURAY_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+extra_configure_switches += --sysconfdir=/etc
+
+extra_configure_switches += --disable-bdjava
+extra_configure_switches += --disable-bdjava-jar
+
+extra_configure_switches += --enable-static=yes
+extra_configure_switches += --enable-shared=yes
+
+
+CFLAGS += -Wno-sign-compare
+
+
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LIBBLURAY_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(LIBBLURAY_32_PKG)/usr/include
+	@rm -rf $(LIBBLURAY_32_PKG)/usr/share
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(LIBBLURAY_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libbluray.la \
+	 )
+	# ======= remove toolchain path from target *.pc files =======
+	@( cd $(LIBBLURAY_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libbluray.pc \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LIBBLURAY_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libbluray.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libbluray.la \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libbluray.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(LIBBLURAY_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(LIBBLURAY_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(LIBBLURAY_32_PKG_DESCRIPTION_FILE): $(LIBBLURAY_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(LIBBLURAY_32_PKG_DESCRIPTION_FILE) $(LIBBLURAY_32_PKG_INSTALL_SCRIPT)
+	@cp $(LIBBLURAY_32_PKG_DESCRIPTION_FILE) $(LIBBLURAY_32_PKG)/.DESCRIPTION
+	@cp $(LIBBLURAY_32_PKG_INSTALL_SCRIPT) $(LIBBLURAY_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(LIBBLURAY_32_PKG)/.REQUIRES
+	@echo "pkgname=$(LIBBLURAY_32_PKG_NAME)"                            >  $(LIBBLURAY_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(LIBBLURAY_32_PKG_VERSION)"                          >> $(LIBBLURAY_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(LIBBLURAY_32_PKG_ARCH)"                               >> $(LIBBLURAY_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(LIBBLURAY_32_PKG_DISTRO_NAME)"                  >> $(LIBBLURAY_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(LIBBLURAY_32_PKG_DISTRO_VERSION)"                >> $(LIBBLURAY_32_PKG)/.PKGINFO ; \
+	 echo "group=$(LIBBLURAY_32_PKG_GROUP)"                             >> $(LIBBLURAY_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(LIBBLURAY_32_PKG_SHORT_DESCRIPTION)\"" >> $(LIBBLURAY_32_PKG)/.PKGINFO ; \
+	 echo "url=$(LIBBLURAY_32_PKG_URL)"                                 >> $(LIBBLURAY_32_PKG)/.PKGINFO ; \
+	 echo "license=$(LIBBLURAY_32_PKG_LICENSE)"                         >> $(LIBBLURAY_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(LIBBLURAY_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/libbluray/0.9.3-x86_32/PATCHES b/libs/libbluray/0.9.3-x86_32/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/libs/libbluray/0.9.3-x86_32/libbluray-x32-pkg-description.in b/libs/libbluray/0.9.3-x86_32/libbluray-x32-pkg-description.in
new file mode 100644
index 000000000..d46d54462
--- /dev/null
+++ b/libs/libbluray/0.9.3-x86_32/libbluray-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+             |-----handy-ruler------------------------------------------------------|
+libbluray-x32: libbluray-x32 @VERSION@ (x86_32 Library to access Blu-Ray disks)
+libbluray-x32:
+libbluray-x32: libbluray is simply a tool for playback of Blu-ray movies. It is
+libbluray-x32: intended for software that want to support Blu-ray playback (such
+libbluray-x32: as VLC and MPlayer).
+libbluray-x32:
+libbluray-x32: Homepage: http://www.videolan.org/developers/libbluray.html
+libbluray-x32:
+libbluray-x32:
+libbluray-x32:
+libbluray-x32:
diff --git a/libs/libbluray/0.9.3-x86_32/libbluray-x32-pkg-install.sh b/libs/libbluray/0.9.3-x86_32/libbluray-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/libs/libbluray/0.9.3-x86_32/libbluray-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/libbluray/0.9.3/Makefile b/libs/libbluray/0.9.3/Makefile
new file mode 100644
index 000000000..f77f5cd69
--- /dev/null
+++ b/libs/libbluray/0.9.3/Makefile
@@ -0,0 +1,219 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/VideoLAN/libbluray
+
+REQUIRES           = X11/libs/fontconfig/2.11.95
+REQUIRES          += libs/freetype/2.6.3
+REQUIRES          += libs/libxml2/2.9.3
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.9.3
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/m/VideoLAN/libbluray/libbluray-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/libbluray-$(version)
+src_dir_name       = libbluray-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+LIBBLURAY_PKG_NAME                = libbluray
+LIBBLURAY_PKG_VERSION             = 0.9.3
+LIBBLURAY_PKG_ARCH                = $(TOOLCHAIN)
+LIBBLURAY_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+LIBBLURAY_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+LIBBLURAY_PKG_GROUP               = $(PKG_GROUP)
+###                                |---handy-ruler-------------------------------|
+LIBBLURAY_PKG_SHORT_DESCRIPTION   = Library to access Blu-Ray disks
+LIBBLURAY_PKG_URL                 = $(BUG_URL)
+LIBBLURAY_PKG_LICENSE             = LGPLv2.1
+LIBBLURAY_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LIBBLURAY_PKG_NAME)-pkg-description
+LIBBLURAY_PKG_DESCRIPTION_FILE_IN = $(LIBBLURAY_PKG_NAME)-pkg-description.in
+LIBBLURAY_PKG_INSTALL_SCRIPT      = $(LIBBLURAY_PKG_NAME)-pkg-install.sh
+
+LIBBLURAY_PKG    = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LIBBLURAY_PKG_NAME)-package
+
+pkg_basename     = $(LIBBLURAY_PKG_NAME)-$(LIBBLURAY_PKG_VERSION)-$(LIBBLURAY_PKG_ARCH)-$(LIBBLURAY_PKG_DISTRO_NAME)-$(LIBBLURAY_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(LIBBLURAY_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --sysconfdir=/etc
+
+extra_configure_switches += --disable-bdjava
+extra_configure_switches += --disable-bdjava-jar
+
+extra_configure_switches += --enable-static=yes
+extra_configure_switches += --enable-shared=yes
+
+
+CFLAGS += -Wno-sign-compare
+
+
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && \
+	  $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LIBBLURAY_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= Install Documentation =======
+	@if [ -d $(LIBBLURAY_PKG)/usr/share/man ]; then \
+	  ( cd $(LIBBLURAY_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(LIBBLURAY_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/COPYING \
+	       $(LIBBLURAY_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(LIBBLURAY_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a COPYING README.txt \
+	         $(LIBBLURAY_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(LIBBLURAY_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(LIBBLURAY_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libbluray.la \
+	 )
+	# ======= remove toolchain path from target *.pc files =======
+	@( cd $(LIBBLURAY_PKG)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libbluray.pc \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LIBBLURAY_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	  sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libbluray.la ; \
+	  sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libbluray.la \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libbluray.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(LIBBLURAY_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(LIBBLURAY_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(LIBBLURAY_PKG_DESCRIPTION_FILE): $(LIBBLURAY_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(LIBBLURAY_PKG_DESCRIPTION_FILE) $(LIBBLURAY_PKG_INSTALL_SCRIPT)
+	@cp $(LIBBLURAY_PKG_DESCRIPTION_FILE) $(LIBBLURAY_PKG)/.DESCRIPTION
+	@cp $(LIBBLURAY_PKG_INSTALL_SCRIPT) $(LIBBLURAY_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(LIBBLURAY_PKG)/.REQUIRES
+	@echo "pkgname=$(LIBBLURAY_PKG_NAME)"                            >  $(LIBBLURAY_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(LIBBLURAY_PKG_VERSION)"                          >> $(LIBBLURAY_PKG)/.PKGINFO ; \
+	 echo "arch=$(LIBBLURAY_PKG_ARCH)"                               >> $(LIBBLURAY_PKG)/.PKGINFO ; \
+	 echo "distroname=$(LIBBLURAY_PKG_DISTRO_NAME)"                  >> $(LIBBLURAY_PKG)/.PKGINFO ; \
+	 echo "distrover=$(LIBBLURAY_PKG_DISTRO_VERSION)"                >> $(LIBBLURAY_PKG)/.PKGINFO ; \
+	 echo "group=$(LIBBLURAY_PKG_GROUP)"                             >> $(LIBBLURAY_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(LIBBLURAY_PKG_SHORT_DESCRIPTION)\"" >> $(LIBBLURAY_PKG)/.PKGINFO ; \
+	 echo "url=$(LIBBLURAY_PKG_URL)"                                 >> $(LIBBLURAY_PKG)/.PKGINFO ; \
+	 echo "license=$(LIBBLURAY_PKG_LICENSE)"                         >> $(LIBBLURAY_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(LIBBLURAY_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/libbluray/0.9.3/PATCHES b/libs/libbluray/0.9.3/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/libs/libbluray/0.9.3/libbluray-pkg-description.in b/libs/libbluray/0.9.3/libbluray-pkg-description.in
new file mode 100644
index 000000000..40a173485
--- /dev/null
+++ b/libs/libbluray/0.9.3/libbluray-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+         |-----handy-ruler------------------------------------------------------|
+libbluray: libbluray @VERSION@ (Library to access Blu-Ray disks)
+libbluray:
+libbluray: libbluray is simply a tool for playback of Blu-ray movies. It is
+libbluray: intended for software that want to support Blu-ray playback (such
+libbluray: as VLC and MPlayer).
+libbluray:
+libbluray: Homepage: http://www.videolan.org/developers/libbluray.html
+libbluray:
+libbluray:
+libbluray:
+libbluray:
diff --git a/libs/libbluray/0.9.3/libbluray-pkg-install.sh b/libs/libbluray/0.9.3/libbluray-pkg-install.sh
new file mode 100755
index 000000000..b44c4e648
--- /dev/null
+++ b/libs/libbluray/0.9.3/libbluray-pkg-install.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/libical/2.0.0-x86_32/Makefile b/libs/libical/2.0.0-x86_32/Makefile
new file mode 100644
index 000000000..3bf2d9a3d
--- /dev/null
+++ b/libs/libical/2.0.0-x86_32/Makefile
@@ -0,0 +1,181 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/l/libical
+
+REQUIRES           = libs/libical/2.0.0
+REQUIRES          += libs/icu4c/55.1-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 2.0.0
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/l/libical/libical-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/libical-$(version)
+src_dir_name       = libical-$(version)
+doc_dir_name       = libical-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+LIBICAL_32_PKG_NAME                = libical-x32
+LIBICAL_32_PKG_VERSION             = 2.0.0
+LIBICAL_32_PKG_ARCH                = $(TOOLCHAIN)
+LIBICAL_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+LIBICAL_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+LIBICAL_32_PKG_GROUP               = $(PKG_GROUP)
+###                                 |---handy-ruler-------------------------------|
+LIBICAL_32_PKG_SHORT_DESCRIPTION   = iCAL protocol implementation
+LIBICAL_32_PKG_URL                 = $(BUG_URL)
+LIBICAL_32_PKG_LICENSE             = LGPLv2.1
+LIBICAL_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LIBICAL_32_PKG_NAME)-pkg-description
+LIBICAL_32_PKG_DESCRIPTION_FILE_IN = $(LIBICAL_32_PKG_NAME)-pkg-description.in
+LIBICAL_32_PKG_INSTALL_SCRIPT      = $(LIBICAL_32_PKG_NAME)-pkg-install.sh
+
+LIBICAL_32_PKG   = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LIBICAL_32_PKG_NAME)-package
+
+pkg_basename     = $(LIBICAL_32_PKG_NAME)-$(LIBICAL_32_PKG_VERSION)-$(LIBICAL_32_PKG_ARCH)-$(LIBICAL_32_PKG_DISTRO_NAME)-$(LIBICAL_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(LIBICAL_32_PKG)
+
+TARGET_BIN_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+configure_switches  = -DCMAKE_BUILD_TYPE='Release'
+
+configure_switches += -DCMAKE_C_COMPILER='$(CROSS_PREFIX)gcc'
+configure_switches += -DCMAKE_LINKER='$(CROSS_PREFIX)ld'
+configure_switches += -DCMAKE_AR='$(CROSS_PREFIX)ar'
+configure_switches += -DCMAKE_NM='$(CROSS_PREFIX)nm'
+configure_switches += -DCMAKE_RANLIB='$(CROSS_PREFIX)ranlib'
+configure_switches += -DCMAKE_OBJCOPY='$(CROSS_PREFIX)objcopy'
+configure_switches += -DCMAKE_OBJDUMP='$(CROSS_PREFIX)objdump'
+configure_switches += -DCMAKE_STRIP='$(CROSS_PREFIX)strip'
+
+configure_switches += -DCMAKE_C_FLAGS:STRING='--sysroot=$(TARGET_DEST_DIR) -m32 $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) -Wno-type-limits'
+
+configure_switches += -DCMAKE_EXE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_BIN_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) -lstdc++'
+configure_switches += -DCMAKE_MODULE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) -lstdc++'
+configure_switches += -DCMAKE_SHARED_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) -lstdc++'
+
+configure_switches += -DCMAKE_INSTALL_PREFIX=/usr
+
+configure_switches += -DCMAKE_INSTALL_DOCDIR='/usr/share/doc/$(doc_dir_name)'
+configure_switches += -DCMAKE_INSTALL_INFODIR='/usr/share/info'
+configure_switches += -DCMAKE_INSTALL_MANDIR='/usr/share/man'
+
+configure_switches += -DCMAKE_INSTALL_SYSCONFDIR='etc'
+configure_switches += -DCMAKE_INSTALL_BINDIR='bin'
+configure_switches += -DCMAKE_INSTALL_LIBDIR='lib$(MULTILIB_X86_32_SUFFIX)'
+
+configure_switches += -DCMAKE_CROSSCOMPILING=True
+
+configure_switches += -DSHARED_ONLY:BOOL=true
+
+configure_switches += -DICU_INCLUDE_DIR:PATH=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DICU_LIBRARY:FILEPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libicuuc.so
+configure_switches += -DICU_I18N_LIBRARY:FILEPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libicui18n.so
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) cmake $(configure_switches) ../$(src_dir_name) ; \
+	 )
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) $(MAKE) ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LIBICAL_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(LIBICAL_32_PKG)/usr/include
+	@rm -rf $(LIBICAL_32_PKG)/usr/share
+	# ======= remove toolchain path from target pkg-config *.pc files =======
+	@( cd $(LIBICAL_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libical.pc ; \
+	 )
+	# ======= set libdir in the pkg-config *.pc files =======
+	@( cd $(LIBICAL_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/lib$$,/lib$(MULTILIB_X86_32_SUFFIX),g" libical.pc ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LIBICAL_32_PKG))
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libical.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(LIBICAL_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+	@touch $@
+
+$(LIBICAL_32_PKG_DESCRIPTION_FILE): $(LIBICAL_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(LIBICAL_32_PKG_DESCRIPTION_FILE) $(LIBICAL_32_PKG_INSTALL_SCRIPT)
+	@cp $(LIBICAL_32_PKG_DESCRIPTION_FILE) $(LIBICAL_32_PKG)/.DESCRIPTION
+	@cp $(LIBICAL_32_PKG_INSTALL_SCRIPT) $(LIBICAL_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(LIBICAL_32_PKG)/.REQUIRES
+	@echo "pkgname=$(LIBICAL_32_PKG_NAME)"                            >  $(LIBICAL_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(LIBICAL_32_PKG_VERSION)"                          >> $(LIBICAL_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(LIBICAL_32_PKG_ARCH)"                               >> $(LIBICAL_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(LIBICAL_32_PKG_DISTRO_NAME)"                  >> $(LIBICAL_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(LIBICAL_32_PKG_DISTRO_VERSION)"                >> $(LIBICAL_32_PKG)/.PKGINFO ; \
+	 echo "group=$(LIBICAL_32_PKG_GROUP)"                             >> $(LIBICAL_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(LIBICAL_32_PKG_SHORT_DESCRIPTION)\"" >> $(LIBICAL_32_PKG)/.PKGINFO ; \
+	 echo "url=$(LIBICAL_32_PKG_URL)"                                 >> $(LIBICAL_32_PKG)/.PKGINFO ; \
+	 echo "license=$(LIBICAL_32_PKG_LICENSE)"                         >> $(LIBICAL_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(LIBICAL_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/libical/2.0.0-x86_32/PATCHES b/libs/libical/2.0.0-x86_32/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/libs/libical/2.0.0-x86_32/libical-x32-pkg-description.in b/libs/libical/2.0.0-x86_32/libical-x32-pkg-description.in
new file mode 100644
index 000000000..df9abe908
--- /dev/null
+++ b/libs/libical/2.0.0-x86_32/libical-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+           |-----handy-ruler------------------------------------------------------|
+libical-x32: libical-x32 @VERSION@ (x86_32 iCAL protocol implementation)
+libical-x32:
+libical-x32: libical is an Open Source (MPL/LGPL) implementation of the IETF's
+libical-x32: iCalendar Calendaring and Scheduling protocols. (RFC 2445, 2446,
+libical-x32: and 2447). It parses iCal components and provides C/C++/Python/Java
+libical-x32: APIs for manipulating the component properties, parameters, and
+libical-x32: subcomponents.
+libical-x32:
+libical-x32: GitHub: https://github.com/libical/libical
+libical-x32:
+libical-x32:
diff --git a/libs/libical/2.0.0-x86_32/libical-x32-pkg-install.sh b/libs/libical/2.0.0-x86_32/libical-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/libs/libical/2.0.0-x86_32/libical-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/libical/2.0.0/Makefile b/libs/libical/2.0.0/Makefile
new file mode 100644
index 000000000..fae021405
--- /dev/null
+++ b/libs/libical/2.0.0/Makefile
@@ -0,0 +1,235 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/l/libical
+
+REQUIRES           = libs/icu4c/55.1
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 2.0.0
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/l/libical/libical-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/libical-$(version)
+src_dir_name       = libical-$(version)
+doc_dir_name       = libical-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+LIBICAL_PKG_NAME                = libical
+LIBICAL_PKG_VERSION             = 2.0.0
+LIBICAL_PKG_ARCH                = $(TOOLCHAIN)
+LIBICAL_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+LIBICAL_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+LIBICAL_PKG_GROUP               = $(PKG_GROUP)
+###                              |---handy-ruler-------------------------------|
+LIBICAL_PKG_SHORT_DESCRIPTION   = iCAL protocol implementation
+LIBICAL_PKG_URL                 = $(BUG_URL)
+LIBICAL_PKG_LICENSE             = LGPLv2.1
+LIBICAL_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LIBICAL_PKG_NAME)-pkg-description
+LIBICAL_PKG_DESCRIPTION_FILE_IN = $(LIBICAL_PKG_NAME)-pkg-description.in
+LIBICAL_PKG_INSTALL_SCRIPT      = $(LIBICAL_PKG_NAME)-pkg-install.sh
+
+LIBICAL_PKG      = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LIBICAL_PKG_NAME)-package
+
+pkg_basename     = $(LIBICAL_PKG_NAME)-$(LIBICAL_PKG_VERSION)-$(LIBICAL_PKG_ARCH)-$(LIBICAL_PKG_DISTRO_NAME)-$(LIBICAL_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(LIBICAL_PKG)
+
+
+TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+
+configure_switches  = -DCMAKE_BUILD_TYPE='Release'
+
+configure_switches += -DCMAKE_C_COMPILER='$(CROSS_PREFIX)gcc'
+configure_switches += -DCMAKE_LINKER='$(CROSS_PREFIX)ld'
+configure_switches += -DCMAKE_AR='$(CROSS_PREFIX)ar'
+configure_switches += -DCMAKE_NM='$(CROSS_PREFIX)nm'
+configure_switches += -DCMAKE_RANLIB='$(CROSS_PREFIX)ranlib'
+configure_switches += -DCMAKE_OBJCOPY='$(CROSS_PREFIX)objcopy'
+configure_switches += -DCMAKE_OBJDUMP='$(CROSS_PREFIX)objdump'
+configure_switches += -DCMAKE_STRIP='$(CROSS_PREFIX)strip'
+
+configure_switches += -DCMAKE_C_FLAGS:STRING='--sysroot=$(TARGET_DEST_DIR) $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) -Wno-type-limits'
+
+configure_switches += -DCMAKE_EXE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -Wl,-rpath,$(TARGET_BIN_RPATH) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) -lstdc++'
+configure_switches += -DCMAKE_MODULE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) -lstdc++'
+configure_switches += -DCMAKE_SHARED_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) -lstdc++'
+
+
+ifeq ($(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC))
+configure_switches += -DCMAKE_C_FLAGS_RELEASE='-O2 -DNDEBUG'
+configure_switches += -DCMAKE_CXX_FLAGS_RELEASE='-O2 -DNDEBUG'
+configure_switches += -DCMAKE_ASM_FLAGS_RELEASE='-O2 -DNDEBUG'
+endif
+
+configure_switches += -DCMAKE_INSTALL_PREFIX=/usr
+
+configure_switches += -DCMAKE_INSTALL_DOCDIR='/usr/share/doc/$(doc_dir_name)'
+configure_switches += -DCMAKE_INSTALL_INFODIR='/usr/share/info'
+configure_switches += -DCMAKE_INSTALL_MANDIR='/usr/share/man'
+
+configure_switches += -DCMAKE_INSTALL_SYSCONFDIR='etc'
+configure_switches += -DCMAKE_INSTALL_BINDIR='bin'
+configure_switches += -DCMAKE_INSTALL_LIBDIR='lib$(LIBSUFFIX)'
+
+configure_switches += -DCMAKE_CROSSCOMPILING=True
+
+configure_switches += -DSHARED_ONLY:BOOL=true
+
+
+configure_switches += -DICU_INCLUDE_DIR:PATH=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DICU_LIBRARY:FILEPATH=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libicuuc.so
+configure_switches += -DICU_I18N_LIBRARY:FILEPATH=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libicui18n.so
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@( cd $(SRC_DIR) ; \
+	   echo -e "\n----------------------------------------------------------------------" >> COPYING ; \
+	 )
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) cmake $(configure_switches) ../$(src_dir_name) ; \
+	 )
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) $(MAKE) ; \
+	   $(BUILD_ENVIRONMENT) $(MAKE) docs ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LIBICAL_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= Install Documentation =======
+	@if [ -d $(LIBICAL_PKG)/usr/share/man ]; then \
+	  ( cd $(LIBICAL_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(LIBICAL_PKG)/usr/doc/$(doc_dir_name)
+	@cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING $(SRC_DIR)/LICENSE \
+	       $(LIBICAL_PKG)/usr/doc/$(doc_dir_name)
+	@mkdir -p $(LIBICAL_PKG)/usr/share/doc/$(doc_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS COPYING Install.txt LICENSE ReadMe.* THANKS TODO \
+	         $(LIBICAL_PKG)/usr/share/doc/$(doc_dir_name) \
+	 )
+	@( cd $(build_dir)/apidocs ; \
+	   cp -ar html \
+	         $(LIBICAL_PKG)/usr/share/doc/$(doc_dir_name) \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog -a -s ChangeLog ]; then \
+	     DOCSDIR=`echo $(LIBICAL_PKG)/usr/share/doc/$(doc_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove toolchain path from target pkg-config *.pc files =======
+	@( cd $(LIBICAL_PKG)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libical.pc ; \
+	 )
+	# ======= set libdir in the pkg-config *.pc files =======
+	@( cd $(LIBICAL_PKG)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/lib$$,/lib$(LIBSUFFIX),g" libical.pc ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LIBICAL_PKG))
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libical.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(LIBICAL_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+	@touch $@
+
+$(LIBICAL_PKG_DESCRIPTION_FILE): $(LIBICAL_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(LIBICAL_PKG_DESCRIPTION_FILE) $(LIBICAL_PKG_INSTALL_SCRIPT)
+	@cp $(LIBICAL_PKG_DESCRIPTION_FILE) $(LIBICAL_PKG)/.DESCRIPTION
+	@cp $(LIBICAL_PKG_INSTALL_SCRIPT) $(LIBICAL_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(LIBICAL_PKG)/.REQUIRES
+	@echo "pkgname=$(LIBICAL_PKG_NAME)"                            >  $(LIBICAL_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(LIBICAL_PKG_VERSION)"                          >> $(LIBICAL_PKG)/.PKGINFO ; \
+	 echo "arch=$(LIBICAL_PKG_ARCH)"                               >> $(LIBICAL_PKG)/.PKGINFO ; \
+	 echo "distroname=$(LIBICAL_PKG_DISTRO_NAME)"                  >> $(LIBICAL_PKG)/.PKGINFO ; \
+	 echo "distrover=$(LIBICAL_PKG_DISTRO_VERSION)"                >> $(LIBICAL_PKG)/.PKGINFO ; \
+	 echo "group=$(LIBICAL_PKG_GROUP)"                             >> $(LIBICAL_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(LIBICAL_PKG_SHORT_DESCRIPTION)\"" >> $(LIBICAL_PKG)/.PKGINFO ; \
+	 echo "url=$(LIBICAL_PKG_URL)"                                 >> $(LIBICAL_PKG)/.PKGINFO ; \
+	 echo "license=$(LIBICAL_PKG_LICENSE)"                         >> $(LIBICAL_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(LIBICAL_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/libical/2.0.0/PATCHES b/libs/libical/2.0.0/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/libs/libical/2.0.0/libical-pkg-description.in b/libs/libical/2.0.0/libical-pkg-description.in
new file mode 100644
index 000000000..f03a93c0c
--- /dev/null
+++ b/libs/libical/2.0.0/libical-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+       |-----handy-ruler------------------------------------------------------|
+libical: libical @VERSION@ (iCAL protocol implementation)
+libical:
+libical: libical is an Open Source (MPL/LGPL) implementation of the IETF's
+libical: iCalendar Calendaring and Scheduling protocols. (RFC 2445, 2446,
+libical: and 2447). It parses iCal components and provides C/C++/Python/Java
+libical: APIs for manipulating the component properties, parameters, and
+libical: subcomponents.
+libical:
+libical: GitHub: https://github.com/libical/libical
+libical:
+libical:
diff --git a/libs/libical/2.0.0/libical-pkg-install.sh b/libs/libical/2.0.0/libical-pkg-install.sh
new file mode 100755
index 000000000..b44c4e648
--- /dev/null
+++ b/libs/libical/2.0.0/libical-pkg-install.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/libmodplug/0.8.8.5-x86_32/Makefile b/libs/libmodplug/0.8.8.5-x86_32/Makefile
new file mode 100644
index 000000000..0cf0658d5
--- /dev/null
+++ b/libs/libmodplug/0.8.8.5-x86_32/Makefile
@@ -0,0 +1,174 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/libmodplug
+
+REQUIRES           = libs/libmodplug/0.8.8.5
+REQUIRES          += libs/glibc/2.23-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.8.8.5
+tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/m/libmodplug/libmodplug-$(version).tar.gz
+SRC_ARCHIVE        = $(tar_gz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/libmodplug-$(version)
+src_dir_name       = libmodplug-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+MODPLUG_32_PKG_NAME                = libmodplug-x32
+MODPLUG_32_PKG_VERSION             = 0.8.8.5
+MODPLUG_32_PKG_ARCH                = $(TOOLCHAIN)
+MODPLUG_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+MODPLUG_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+MODPLUG_32_PKG_GROUP               = $(PKG_GROUP)
+###                                 |---handy-ruler-------------------------------|
+MODPLUG_32_PKG_SHORT_DESCRIPTION   = A MOD playing library
+MODPLUG_32_PKG_URL                 = $(BUG_URL)
+MODPLUG_32_PKG_LICENSE             = custom
+MODPLUG_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(MODPLUG_32_PKG_NAME)-pkg-description
+MODPLUG_32_PKG_DESCRIPTION_FILE_IN = $(MODPLUG_32_PKG_NAME)-pkg-description.in
+MODPLUG_32_PKG_INSTALL_SCRIPT      = $(MODPLUG_32_PKG_NAME)-pkg-install.sh
+
+MODPLUG_32_PKG   = $(CURDIR)/$(TARGET_BUILD_DIR)/$(MODPLUG_32_PKG_NAME)-package
+
+pkg_basename     = $(MODPLUG_32_PKG_NAME)-$(MODPLUG_32_PKG_VERSION)-$(MODPLUG_32_PKG_ARCH)-$(MODPLUG_32_PKG_DISTRO_NAME)-$(MODPLUG_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(MODPLUG_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=yes
+
+
+CXXFLAGS += -Wno-unused-but-set-variable -Wno-unused-function -Wno-sign-compare
+
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(MODPLUG_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(MODPLUG_32_PKG)/usr/include
+	@rm -rf $(MODPLUG_32_PKG)/usr/share
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(MODPLUG_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libmodplug.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(MODPLUG_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libmodplug.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libmodplug.la ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libmodplug.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(MODPLUG_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(MODPLUG_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(MODPLUG_32_PKG_DESCRIPTION_FILE): $(MODPLUG_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(MODPLUG_32_PKG_DESCRIPTION_FILE) $(MODPLUG_32_PKG_INSTALL_SCRIPT)
+	@cp $(MODPLUG_32_PKG_DESCRIPTION_FILE) $(MODPLUG_32_PKG)/.DESCRIPTION
+	@cp $(MODPLUG_32_PKG_INSTALL_SCRIPT) $(MODPLUG_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(MODPLUG_32_PKG)/.REQUIRES
+	@echo "pkgname=$(MODPLUG_32_PKG_NAME)"                            >  $(MODPLUG_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(MODPLUG_32_PKG_VERSION)"                          >> $(MODPLUG_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(MODPLUG_32_PKG_ARCH)"                               >> $(MODPLUG_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(MODPLUG_32_PKG_DISTRO_NAME)"                  >> $(MODPLUG_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(MODPLUG_32_PKG_DISTRO_VERSION)"                >> $(MODPLUG_32_PKG)/.PKGINFO ; \
+	 echo "group=$(MODPLUG_32_PKG_GROUP)"                             >> $(MODPLUG_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(MODPLUG_32_PKG_SHORT_DESCRIPTION)\"" >> $(MODPLUG_32_PKG)/.PKGINFO ; \
+	 echo "url=$(MODPLUG_32_PKG_URL)"                                 >> $(MODPLUG_32_PKG)/.PKGINFO ; \
+	 echo "license=$(MODPLUG_32_PKG_LICENSE)"                         >> $(MODPLUG_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(MODPLUG_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/libmodplug/0.8.8.5-x86_32/PATCHES b/libs/libmodplug/0.8.8.5-x86_32/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/libs/libmodplug/0.8.8.5-x86_32/libmodplug-x32-pkg-description.in b/libs/libmodplug/0.8.8.5-x86_32/libmodplug-x32-pkg-description.in
new file mode 100644
index 000000000..3bd29203e
--- /dev/null
+++ b/libs/libmodplug/0.8.8.5-x86_32/libmodplug-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+              |-----handy-ruler------------------------------------------------------|
+libmodplug-x32: libmodplug-x32 @VERSION@ (x86_32 MOD playing library)
+libmodplug-x32:
+libmodplug-x32: libmodplug is a library which was part of the Modplug-xmms project.
+libmodplug-x32:
+libmodplug-x32:
+libmodplug-x32:
+libmodplug-x32:
+libmodplug-x32: Homepage: http://modplug-xmms.sourceforge.net
+libmodplug-x32:
+libmodplug-x32:
+libmodplug-x32:
diff --git a/libs/libmodplug/0.8.8.5-x86_32/libmodplug-x32-pkg-install.sh b/libs/libmodplug/0.8.8.5-x86_32/libmodplug-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/libs/libmodplug/0.8.8.5-x86_32/libmodplug-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/libmodplug/0.8.8.5/Makefile b/libs/libmodplug/0.8.8.5/Makefile
new file mode 100644
index 000000000..a562c4aaa
--- /dev/null
+++ b/libs/libmodplug/0.8.8.5/Makefile
@@ -0,0 +1,216 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/libmodplug
+
+ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
+REQUIRES           = dev/gcc/5.3.0
+else
+REQUIRES           = libs/glibc/2.23
+endif
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.8.8.5
+tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/m/libmodplug/libmodplug-$(version).tar.gz
+SRC_ARCHIVE        = $(tar_gz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/libmodplug-$(version)
+src_dir_name       = libmodplug-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+MODPLUG_PKG_NAME                = libmodplug
+MODPLUG_PKG_VERSION             = 0.8.8.5
+MODPLUG_PKG_ARCH                = $(TOOLCHAIN)
+MODPLUG_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+MODPLUG_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+MODPLUG_PKG_GROUP               = $(PKG_GROUP)
+###                              |---handy-ruler-------------------------------|
+MODPLUG_PKG_SHORT_DESCRIPTION   = A MOD playing library
+MODPLUG_PKG_URL                 = $(BUG_URL)
+MODPLUG_PKG_LICENSE             = custom
+MODPLUG_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(MODPLUG_PKG_NAME)-pkg-description
+MODPLUG_PKG_DESCRIPTION_FILE_IN = $(MODPLUG_PKG_NAME)-pkg-description.in
+MODPLUG_PKG_INSTALL_SCRIPT      = $(MODPLUG_PKG_NAME)-pkg-install.sh
+
+MODPLUG_PKG      = $(CURDIR)/$(TARGET_BUILD_DIR)/$(MODPLUG_PKG_NAME)-package
+
+pkg_basename     = $(MODPLUG_PKG_NAME)-$(MODPLUG_PKG_VERSION)-$(MODPLUG_PKG_ARCH)-$(MODPLUG_PKG_DISTRO_NAME)-$(MODPLUG_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(MODPLUG_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+extra_configure_switches += --enable-shared=yes
+extra_configure_switches += --enable-static=yes
+
+
+CXXFLAGS += -Wno-unused-but-set-variable -Wno-unused-function -Wno-sign-compare
+
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && \
+	  $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(MODPLUG_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= Install Documentation =======
+	@if [ -d $(MODPLUG_PKG)/usr/share/man ]; then \
+	  ( cd $(MODPLUG_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(MODPLUG_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING \
+	       $(MODPLUG_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(MODPLUG_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS COPYING NEWS README TODO \
+	         $(MODPLUG_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(MODPLUG_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(MODPLUG_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libmodplug.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(MODPLUG_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libmodplug.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libmodplug.la ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libmodplug.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(MODPLUG_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(MODPLUG_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(MODPLUG_PKG_DESCRIPTION_FILE): $(MODPLUG_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(MODPLUG_PKG_DESCRIPTION_FILE) $(MODPLUG_PKG_INSTALL_SCRIPT)
+	@cp $(MODPLUG_PKG_DESCRIPTION_FILE) $(MODPLUG_PKG)/.DESCRIPTION
+	@cp $(MODPLUG_PKG_INSTALL_SCRIPT) $(MODPLUG_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(MODPLUG_PKG)/.REQUIRES
+	@echo "pkgname=$(MODPLUG_PKG_NAME)"                            >  $(MODPLUG_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(MODPLUG_PKG_VERSION)"                          >> $(MODPLUG_PKG)/.PKGINFO ; \
+	 echo "arch=$(MODPLUG_PKG_ARCH)"                               >> $(MODPLUG_PKG)/.PKGINFO ; \
+	 echo "distroname=$(MODPLUG_PKG_DISTRO_NAME)"                  >> $(MODPLUG_PKG)/.PKGINFO ; \
+	 echo "distrover=$(MODPLUG_PKG_DISTRO_VERSION)"                >> $(MODPLUG_PKG)/.PKGINFO ; \
+	 echo "group=$(MODPLUG_PKG_GROUP)"                             >> $(MODPLUG_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(MODPLUG_PKG_SHORT_DESCRIPTION)\"" >> $(MODPLUG_PKG)/.PKGINFO ; \
+	 echo "url=$(MODPLUG_PKG_URL)"                                 >> $(MODPLUG_PKG)/.PKGINFO ; \
+	 echo "license=$(MODPLUG_PKG_LICENSE)"                         >> $(MODPLUG_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(MODPLUG_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/libmodplug/0.8.8.5/PATCHES b/libs/libmodplug/0.8.8.5/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/libs/libmodplug/0.8.8.5/libmodplug-pkg-description.in b/libs/libmodplug/0.8.8.5/libmodplug-pkg-description.in
new file mode 100644
index 000000000..1ce729031
--- /dev/null
+++ b/libs/libmodplug/0.8.8.5/libmodplug-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+          |-----handy-ruler------------------------------------------------------|
+libmodplug: libmodplug @VERSION@ (A MOD playing library)
+libmodplug:
+libmodplug: libmodplug is a library which was part of the Modplug-xmms project.
+libmodplug:
+libmodplug:
+libmodplug:
+libmodplug:
+libmodplug: Homepage: http://modplug-xmms.sourceforge.net
+libmodplug:
+libmodplug:
+libmodplug:
diff --git a/libs/libmodplug/0.8.8.5/libmodplug-pkg-install.sh b/libs/libmodplug/0.8.8.5/libmodplug-pkg-install.sh
new file mode 100755
index 000000000..b44c4e648
--- /dev/null
+++ b/libs/libmodplug/0.8.8.5/libmodplug-pkg-install.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/libsoxr/0.1.2-x86_32/Makefile b/libs/libsoxr/0.1.2-x86_32/Makefile
new file mode 100644
index 000000000..8f25331a7
--- /dev/null
+++ b/libs/libsoxr/0.1.2-x86_32/Makefile
@@ -0,0 +1,183 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/libsoxr
+
+REQUIRES           = libs/libsoxr/0.1.2
+REQUIRES          += libs/glibc/2.23-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.1.2
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/m/libsoxr/soxr-$(version)-Source.tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/soxr-$(version)-Source
+src_dir_name       = soxr-$(version)-Source
+doc_dir_name       = libsoxr-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+LIBSOXR_32_PKG_NAME                = libsoxr-x32
+LIBSOXR_32_PKG_VERSION             = 0.1.2
+LIBSOXR_32_PKG_ARCH                = $(TOOLCHAIN)
+LIBSOXR_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+LIBSOXR_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+LIBSOXR_32_PKG_GROUP               = $(PKG_GROUP)
+###                                 |---handy-ruler-------------------------------|
+LIBSOXR_32_PKG_SHORT_DESCRIPTION   = The SoX Resampler library
+LIBSOXR_32_PKG_URL                 = $(BUG_URL)
+LIBSOXR_32_PKG_LICENSE             = LGPLv2.1
+LIBSOXR_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LIBSOXR_32_PKG_NAME)-pkg-description
+LIBSOXR_32_PKG_DESCRIPTION_FILE_IN = $(LIBSOXR_32_PKG_NAME)-pkg-description.in
+LIBSOXR_32_PKG_INSTALL_SCRIPT      = $(LIBSOXR_32_PKG_NAME)-pkg-install.sh
+
+LIBSOXR_32_PKG   = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LIBSOXR_32_PKG_NAME)-package
+
+pkg_basename     = $(LIBSOXR_32_PKG_NAME)-$(LIBSOXR_32_PKG_VERSION)-$(LIBSOXR_32_PKG_ARCH)-$(LIBSOXR_32_PKG_DISTRO_NAME)-$(LIBSOXR_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(LIBSOXR_32_PKG)
+
+TARGET_BIN_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+configure_switches  = -DCMAKE_BUILD_TYPE='Release'
+
+configure_switches += -DCMAKE_C_COMPILER='$(CROSS_PREFIX)gcc'
+configure_switches += -DCMAKE_LINKER='$(CROSS_PREFIX)ld'
+configure_switches += -DCMAKE_AR='$(CROSS_PREFIX)ar'
+configure_switches += -DCMAKE_NM='$(CROSS_PREFIX)nm'
+configure_switches += -DCMAKE_RANLIB='$(CROSS_PREFIX)ranlib'
+configure_switches += -DCMAKE_OBJCOPY='$(CROSS_PREFIX)objcopy'
+configure_switches += -DCMAKE_OBJDUMP='$(CROSS_PREFIX)objdump'
+configure_switches += -DCMAKE_STRIP='$(CROSS_PREFIX)strip'
+
+configure_switches += -DCMAKE_C_FLAGS:STRING='--sysroot=$(TARGET_DEST_DIR) -m32 $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) -Wno-unknown-pragmas'
+
+configure_switches += -DCMAKE_EXE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_BIN_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
+configure_switches += -DCMAKE_MODULE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
+configure_switches += -DCMAKE_SHARED_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
+
+configure_switches += -DCMAKE_INSTALL_PREFIX=/usr
+
+configure_switches += -DDOC_INSTALL_DIR='share/doc/$(doc_dir_name)'
+configure_switches += -DLIB_INSTALL_DIR='lib$(MULTILIB_X86_32_SUFFIX)'
+
+configure_switches += -DCMAKE_CROSSCOMPILING=True
+
+configure_switches += -DBUILD_TESTS=OFF
+configure_switches += -DBUILD_EXAMPLES=OFF
+configure_switches += -DBUILD_SHARED_LIBS=ON
+configure_switches += -DWITH_AVFFT=ON
+configure_switches += -DWITH_DOUBLE_PRECISION=ON
+configure_switches += -DWITH_LSR_BINDINGS=ON
+configure_switches += -DWITH_OPENMP=ON
+configure_switches += -DWITH_PFFFT=ON
+configure_switches += -DWITH_SIMD=ON
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) cmake $(configure_switches) ../$(src_dir_name) ; \
+	 )
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) $(MAKE) ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LIBSOXR_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(LIBSOXR_32_PKG)/usr/include
+	@rm -rf $(LIBSOXR_32_PKG)/usr/share
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LIBSOXR_32_PKG))
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" soxr-lsr.pc soxr.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(LIBSOXR_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(LIBSOXR_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(LIBSOXR_32_PKG_DESCRIPTION_FILE): $(LIBSOXR_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(LIBSOXR_32_PKG_DESCRIPTION_FILE) $(LIBSOXR_32_PKG_INSTALL_SCRIPT)
+	@cp $(LIBSOXR_32_PKG_DESCRIPTION_FILE) $(LIBSOXR_32_PKG)/.DESCRIPTION
+	@cp $(LIBSOXR_32_PKG_INSTALL_SCRIPT) $(LIBSOXR_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(LIBSOXR_32_PKG)/.REQUIRES
+	@echo "pkgname=$(LIBSOXR_32_PKG_NAME)"                            >  $(LIBSOXR_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(LIBSOXR_32_PKG_VERSION)"                          >> $(LIBSOXR_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(LIBSOXR_32_PKG_ARCH)"                               >> $(LIBSOXR_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(LIBSOXR_32_PKG_DISTRO_NAME)"                  >> $(LIBSOXR_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(LIBSOXR_32_PKG_DISTRO_VERSION)"                >> $(LIBSOXR_32_PKG)/.PKGINFO ; \
+	 echo "group=$(LIBSOXR_32_PKG_GROUP)"                             >> $(LIBSOXR_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(LIBSOXR_32_PKG_SHORT_DESCRIPTION)\"" >> $(LIBSOXR_32_PKG)/.PKGINFO ; \
+	 echo "url=$(LIBSOXR_32_PKG_URL)"                                 >> $(LIBSOXR_32_PKG)/.PKGINFO ; \
+	 echo "license=$(LIBSOXR_32_PKG_LICENSE)"                         >> $(LIBSOXR_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(LIBSOXR_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/libsoxr/0.1.2-x86_32/PATCHES b/libs/libsoxr/0.1.2-x86_32/PATCHES
new file mode 100644
index 000000000..8496414d3
--- /dev/null
+++ b/libs/libsoxr/0.1.2-x86_32/PATCHES
@@ -0,0 +1,2 @@
+
+../../../sources/packages/m/libsoxr/patches/soxr-0.1.2-policy.patch -p0
diff --git a/libs/libsoxr/0.1.2-x86_32/libsoxr-x32-pkg-description.in b/libs/libsoxr/0.1.2-x86_32/libsoxr-x32-pkg-description.in
new file mode 100644
index 000000000..2a99f5a64
--- /dev/null
+++ b/libs/libsoxr/0.1.2-x86_32/libsoxr-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+           |-----handy-ruler------------------------------------------------------|
+libsoxr-x32: libsoxr-x32 @VERSION@ (x86_32 SoX Resampler library)
+libsoxr-x32:
+libsoxr-x32: The SoX Resampler library `libsoxr' performs one-dimensional
+libsoxr-x32: sample-rate conversion -- it may be used, for example, to resample
+libsoxr-x32: PCM-encoded audio. For higher-dimensional resampling, such as for
+libsoxr-x32: visual-image processing, you should look elsewhere.libsoxr:
+libsoxr-x32:
+libsoxr-x32:
+libsoxr-x32: Homepage: https://sourceforge.net/p/soxr/wiki/Home
+libsoxr-x32:
+libsoxr-x32:
diff --git a/libs/libsoxr/0.1.2-x86_32/libsoxr-x32-pkg-install.sh b/libs/libsoxr/0.1.2-x86_32/libsoxr-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/libs/libsoxr/0.1.2-x86_32/libsoxr-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/libsoxr/0.1.2/Makefile b/libs/libsoxr/0.1.2/Makefile
new file mode 100644
index 000000000..a5100e23e
--- /dev/null
+++ b/libs/libsoxr/0.1.2/Makefile
@@ -0,0 +1,232 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/libsoxr
+
+ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
+REQUIRES           = dev/gcc/5.3.0
+else
+REQUIRES          += libs/glibc/2.23
+endif
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.1.2
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/m/libsoxr/soxr-$(version)-Source.tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/soxr-$(version)-Source
+src_dir_name       = soxr-$(version)-Source
+doc_dir_name       = libsoxr-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+LIBSOXR_PKG_NAME                = libsoxr
+LIBSOXR_PKG_VERSION             = 0.1.2
+LIBSOXR_PKG_ARCH                = $(TOOLCHAIN)
+LIBSOXR_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+LIBSOXR_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+LIBSOXR_PKG_GROUP               = $(PKG_GROUP)
+###                              |---handy-ruler-------------------------------|
+LIBSOXR_PKG_SHORT_DESCRIPTION   = The SoX Resampler library
+LIBSOXR_PKG_URL                 = $(BUG_URL)
+LIBSOXR_PKG_LICENSE             = LGPLv2.1
+LIBSOXR_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LIBSOXR_PKG_NAME)-pkg-description
+LIBSOXR_PKG_DESCRIPTION_FILE_IN = $(LIBSOXR_PKG_NAME)-pkg-description.in
+LIBSOXR_PKG_INSTALL_SCRIPT      = $(LIBSOXR_PKG_NAME)-pkg-install.sh
+
+LIBSOXR_PKG      = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LIBSOXR_PKG_NAME)-package
+
+pkg_basename     = $(LIBSOXR_PKG_NAME)-$(LIBSOXR_PKG_VERSION)-$(LIBSOXR_PKG_ARCH)-$(LIBSOXR_PKG_DISTRO_NAME)-$(LIBSOXR_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(LIBSOXR_PKG)
+
+
+TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+
+configure_switches  = -DCMAKE_BUILD_TYPE='Release'
+
+configure_switches += -DCMAKE_C_COMPILER='$(CROSS_PREFIX)gcc'
+configure_switches += -DCMAKE_LINKER='$(CROSS_PREFIX)ld'
+configure_switches += -DCMAKE_AR='$(CROSS_PREFIX)ar'
+configure_switches += -DCMAKE_NM='$(CROSS_PREFIX)nm'
+configure_switches += -DCMAKE_RANLIB='$(CROSS_PREFIX)ranlib'
+configure_switches += -DCMAKE_OBJCOPY='$(CROSS_PREFIX)objcopy'
+configure_switches += -DCMAKE_OBJDUMP='$(CROSS_PREFIX)objdump'
+configure_switches += -DCMAKE_STRIP='$(CROSS_PREFIX)strip'
+
+configure_switches += -DCMAKE_C_FLAGS:STRING='--sysroot=$(TARGET_DEST_DIR) $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) -Wno-unknown-pragmas'
+
+configure_switches += -DCMAKE_EXE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -Wl,-rpath,$(TARGET_BIN_RPATH) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)'
+configure_switches += -DCMAKE_MODULE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)'
+configure_switches += -DCMAKE_SHARED_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)'
+
+
+ifeq ($(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC))
+configure_switches += -DCMAKE_C_FLAGS_RELEASE='-O2 -DNDEBUG'
+configure_switches += -DCMAKE_CXX_FLAGS_RELEASE='-O2 -DNDEBUG'
+configure_switches += -DCMAKE_ASM_FLAGS_RELEASE='-O2 -DNDEBUG'
+endif
+
+configure_switches += -DCMAKE_INSTALL_PREFIX=/usr
+
+configure_switches += -DDOC_INSTALL_DIR='share/doc/$(doc_dir_name)'
+configure_switches += -DLIB_INSTALL_DIR='lib$(LIBSUFFIX)'
+
+configure_switches += -DCMAKE_CROSSCOMPILING=True
+
+configure_switches += -DBUILD_TESTS=OFF
+configure_switches += -DBUILD_EXAMPLES=OFF
+configure_switches += -DBUILD_SHARED_LIBS=ON
+configure_switches += -DWITH_AVFFT=ON
+configure_switches += -DWITH_DOUBLE_PRECISION=ON
+configure_switches += -DWITH_LSR_BINDINGS=ON
+configure_switches += -DWITH_OPENMP=ON
+configure_switches += -DWITH_PFFFT=ON
+configure_switches += -DWITH_SIMD=ON
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) cmake $(configure_switches) ../$(src_dir_name) ; \
+	 )
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) $(MAKE) ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LIBSOXR_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= Install Documentation =======
+	@if [ -d $(LIBSOXR_PKG)/usr/share/man ]; then \
+	  ( cd $(LIBSOXR_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(LIBSOXR_PKG)/usr/doc/$(doc_dir_name)
+	@cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING.LGPL $(SRC_DIR)/LICENCE \
+	       $(LIBSOXR_PKG)/usr/doc/$(doc_dir_name)
+	@mkdir -p $(LIBSOXR_PKG)/usr/share/doc/$(doc_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS COPYING.LGPL INSTALL TODO \
+	         $(LIBSOXR_PKG)/usr/share/doc/$(doc_dir_name) \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog -a -s ChangeLog ]; then \
+	     DOCSDIR=`echo $(LIBSOXR_PKG)/usr/share/doc/$(doc_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LIBSOXR_PKG))
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" soxr-lsr.pc soxr.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(LIBSOXR_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(LIBSOXR_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(LIBSOXR_PKG_DESCRIPTION_FILE): $(LIBSOXR_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(LIBSOXR_PKG_DESCRIPTION_FILE) $(LIBSOXR_PKG_INSTALL_SCRIPT)
+	@cp $(LIBSOXR_PKG_DESCRIPTION_FILE) $(LIBSOXR_PKG)/.DESCRIPTION
+	@cp $(LIBSOXR_PKG_INSTALL_SCRIPT) $(LIBSOXR_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(LIBSOXR_PKG)/.REQUIRES
+	@echo "pkgname=$(LIBSOXR_PKG_NAME)"                            >  $(LIBSOXR_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(LIBSOXR_PKG_VERSION)"                          >> $(LIBSOXR_PKG)/.PKGINFO ; \
+	 echo "arch=$(LIBSOXR_PKG_ARCH)"                               >> $(LIBSOXR_PKG)/.PKGINFO ; \
+	 echo "distroname=$(LIBSOXR_PKG_DISTRO_NAME)"                  >> $(LIBSOXR_PKG)/.PKGINFO ; \
+	 echo "distrover=$(LIBSOXR_PKG_DISTRO_VERSION)"                >> $(LIBSOXR_PKG)/.PKGINFO ; \
+	 echo "group=$(LIBSOXR_PKG_GROUP)"                             >> $(LIBSOXR_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(LIBSOXR_PKG_SHORT_DESCRIPTION)\"" >> $(LIBSOXR_PKG)/.PKGINFO ; \
+	 echo "url=$(LIBSOXR_PKG_URL)"                                 >> $(LIBSOXR_PKG)/.PKGINFO ; \
+	 echo "license=$(LIBSOXR_PKG_LICENSE)"                         >> $(LIBSOXR_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(LIBSOXR_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/libsoxr/0.1.2/PATCHES b/libs/libsoxr/0.1.2/PATCHES
new file mode 100644
index 000000000..8496414d3
--- /dev/null
+++ b/libs/libsoxr/0.1.2/PATCHES
@@ -0,0 +1,2 @@
+
+../../../sources/packages/m/libsoxr/patches/soxr-0.1.2-policy.patch -p0
diff --git a/libs/libsoxr/0.1.2/libsoxr-pkg-description.in b/libs/libsoxr/0.1.2/libsoxr-pkg-description.in
new file mode 100644
index 000000000..0b4791615
--- /dev/null
+++ b/libs/libsoxr/0.1.2/libsoxr-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+       |-----handy-ruler------------------------------------------------------|
+libsoxr: libsoxr @VERSION@ (The SoX Resampler library)
+libsoxr:
+libsoxr: The SoX Resampler library `libsoxr' performs one-dimensional
+libsoxr: sample-rate conversion -- it may be used, for example, to resample
+libsoxr: PCM-encoded audio. For higher-dimensional resampling, such as for
+libsoxr: visual-image processing, you should look elsewhere.libsoxr:
+libsoxr:
+libsoxr:
+libsoxr: Homepage: https://sourceforge.net/p/soxr/wiki/Home
+libsoxr:
+libsoxr:
diff --git a/libs/libsoxr/0.1.2/libsoxr-pkg-install.sh b/libs/libsoxr/0.1.2/libsoxr-pkg-install.sh
new file mode 100755
index 000000000..b44c4e648
--- /dev/null
+++ b/libs/libsoxr/0.1.2/libsoxr-pkg-install.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/libstrophe/0.9.1-x86_32/Makefile b/libs/libstrophe/0.9.1-x86_32/Makefile
new file mode 100644
index 000000000..9c09c7dc8
--- /dev/null
+++ b/libs/libstrophe/0.9.1-x86_32/Makefile
@@ -0,0 +1,168 @@
+
+COMPONENT_TARGETS    = $(HARDWARE_PC64)
+
+NEED_ABS_PATH        = true
+COMPONENT_IS_3PP     = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES      = sources/packages/l/libstrophe
+
+REQUIRES             = libs/libstrophe/0.9.1
+REQUIRES             = libs/expat/2.1.1-x86_32
+REQUIRES            += net/openssl/1.0.2f-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version              = 0.9.1
+tar_xz_archive       = $(SRC_PACKAGE_PATH)/packages/l/libstrophe/libstrophe-$(version).tar.xz
+SRC_ARCHIVE          = $(tar_xz_archive)
+SRC_DIR              = $(TARGET_BUILD_DIR)/libstrophe-$(version)
+src_dir_name         = libstrophe-$(version)
+src_done             = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir            = $(TARGET_BUILD_DIR)/build
+build_target         = $(TARGET_BUILD_DIR)/.build_done
+install_target       = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+LIBSTROPHE_32_PKG_NAME                = libstrophe-x32
+LIBSTROPHE_32_PKG_VERSION             = 0.9.1
+LIBSTROPHE_32_PKG_ARCH                = $(TOOLCHAIN)
+LIBSTROPHE_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+LIBSTROPHE_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+LIBSTROPHE_32_PKG_GROUP               = $(PKG_GROUP)
+###                                    |---handy-ruler-------------------------------|
+LIBSTROPHE_32_PKG_SHORT_DESCRIPTION   = An XMPP library for C
+LIBSTROPHE_32_PKG_URL                 = $(BUG_URL)
+LIBSTROPHE_32_PKG_LICENSE             = LGPLv2.1
+LIBSTROPHE_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LIBSTROPHE_32_PKG_NAME)-pkg-description
+LIBSTROPHE_32_PKG_DESCRIPTION_FILE_IN = $(LIBSTROPHE_32_PKG_NAME)-pkg-description.in
+LIBSTROPHE_32_PKG_INSTALL_SCRIPT      = $(LIBSTROPHE_32_PKG_NAME)-pkg-install.sh
+
+LIBSTROPHE_32_PKG  = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LIBSTROPHE_32_PKG_NAME)-package
+
+pkg_basename       = $(LIBSTROPHE_32_PKG_NAME)-$(LIBSTROPHE_32_PKG_VERSION)-$(LIBSTROPHE_32_PKG_ARCH)-$(LIBSTROPHE_32_PKG_DISTRO_NAME)-$(LIBSTROPHE_32_PKG_DISTRO_VERSION)
+
+pkg_archive        = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature      = $(call sign-name,$(pkg_archive))
+pkg_description    = $(call desc-name,$(pkg_archive))
+products           = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS      = $(build_target)
+BUILD_TARGETS     += $(install_target)
+
+PRODUCT_TARGETS    = $(products)
+
+ROOTFS_TARGETS     = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(LIBSTROPHE_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+extra_configure_switches += --enable-static=yes
+extra_configure_switches += --enable-shared=yes
+
+
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LIBSTROPHE_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(LIBSTROPHE_32_PKG)/usr/include
+	@rm -rf $(LIBSTROPHE_32_PKG)/usr/share
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(LIBSTROPHE_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libstrophe.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LIBSTROPHE_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libstrophe.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libstrophe.la \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libstrophe.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(LIBSTROPHE_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(LIBSTROPHE_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(LIBSTROPHE_32_PKG_DESCRIPTION_FILE): $(LIBSTROPHE_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(LIBSTROPHE_32_PKG_DESCRIPTION_FILE) $(LIBSTROPHE_32_PKG_INSTALL_SCRIPT)
+	@cp $(LIBSTROPHE_32_PKG_DESCRIPTION_FILE) $(LIBSTROPHE_32_PKG)/.DESCRIPTION
+	@cp $(LIBSTROPHE_32_PKG_INSTALL_SCRIPT) $(LIBSTROPHE_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(LIBSTROPHE_32_PKG)/.REQUIRES
+	@echo "pkgname=$(LIBSTROPHE_32_PKG_NAME)"                            >  $(LIBSTROPHE_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(LIBSTROPHE_32_PKG_VERSION)"                          >> $(LIBSTROPHE_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(LIBSTROPHE_32_PKG_ARCH)"                               >> $(LIBSTROPHE_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(LIBSTROPHE_32_PKG_DISTRO_NAME)"                  >> $(LIBSTROPHE_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(LIBSTROPHE_32_PKG_DISTRO_VERSION)"                >> $(LIBSTROPHE_32_PKG)/.PKGINFO ; \
+	 echo "group=$(LIBSTROPHE_32_PKG_GROUP)"                             >> $(LIBSTROPHE_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(LIBSTROPHE_32_PKG_SHORT_DESCRIPTION)\"" >> $(LIBSTROPHE_32_PKG)/.PKGINFO ; \
+	 echo "url=$(LIBSTROPHE_32_PKG_URL)"                                 >> $(LIBSTROPHE_32_PKG)/.PKGINFO ; \
+	 echo "license=$(LIBSTROPHE_32_PKG_LICENSE)"                         >> $(LIBSTROPHE_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(LIBSTROPHE_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/libstrophe/0.9.1-x86_32/PATCHES b/libs/libstrophe/0.9.1-x86_32/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/libs/libstrophe/0.9.1-x86_32/libstrophe-x32-pkg-description.in b/libs/libstrophe/0.9.1-x86_32/libstrophe-x32-pkg-description.in
new file mode 100644
index 000000000..b09e1de48
--- /dev/null
+++ b/libs/libstrophe/0.9.1-x86_32/libstrophe-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+              |-----handy-ruler------------------------------------------------------|
+libstrophe-x32: libstrophe-x32 @VERSION@ (x86_32 XMPP library for C)
+libstrophe-x32:
+libstrophe-x32: libstrophe is a minimal XMPP library written in C. It has almost no
+libstrophe-x32: external dependencies, only an XML parsing library (expat or libxml
+libstrophe-x32: are both supported). It is designed for both POSIX and Windows
+libstrophe-x32: systems.
+libstrophe-x32:
+libstrophe-x32: Homepage: http://strophe.im/libstrophe
+libstrophe-x32:
+libstrophe-x32:
+libstrophe-x32:
diff --git a/libs/libstrophe/0.9.1-x86_32/libstrophe-x32-pkg-install.sh b/libs/libstrophe/0.9.1-x86_32/libstrophe-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/libs/libstrophe/0.9.1-x86_32/libstrophe-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/libstrophe/0.9.1/Makefile b/libs/libstrophe/0.9.1/Makefile
new file mode 100644
index 000000000..4864e2d8f
--- /dev/null
+++ b/libs/libstrophe/0.9.1/Makefile
@@ -0,0 +1,208 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/l/libstrophe
+
+REQUIRES           = libs/expat/2.1.1
+REQUIRES          += net/openssl/1.0.2f
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.9.1
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/l/libstrophe/libstrophe-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/libstrophe-$(version)
+src_dir_name       = libstrophe-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+LIBSTROPHE_PKG_NAME                = libstrophe
+LIBSTROPHE_PKG_VERSION             = 0.9.1
+LIBSTROPHE_PKG_ARCH                = $(TOOLCHAIN)
+LIBSTROPHE_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+LIBSTROPHE_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+LIBSTROPHE_PKG_GROUP               = $(PKG_GROUP)
+###                                 |---handy-ruler-------------------------------|
+LIBSTROPHE_PKG_SHORT_DESCRIPTION   = An XMPP library for C
+LIBSTROPHE_PKG_URL                 = $(BUG_URL)
+LIBSTROPHE_PKG_LICENSE             = GPLv3
+LIBSTROPHE_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LIBSTROPHE_PKG_NAME)-pkg-description
+LIBSTROPHE_PKG_DESCRIPTION_FILE_IN = $(LIBSTROPHE_PKG_NAME)-pkg-description.in
+LIBSTROPHE_PKG_INSTALL_SCRIPT      = $(LIBSTROPHE_PKG_NAME)-pkg-install.sh
+
+LIBSTROPHE_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LIBSTROPHE_PKG_NAME)-package
+
+pkg_basename       = $(LIBSTROPHE_PKG_NAME)-$(LIBSTROPHE_PKG_VERSION)-$(LIBSTROPHE_PKG_ARCH)-$(LIBSTROPHE_PKG_DISTRO_NAME)-$(LIBSTROPHE_PKG_DISTRO_VERSION)
+
+pkg_archive        = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature      = $(call sign-name,$(pkg_archive))
+pkg_description    = $(call desc-name,$(pkg_archive))
+products           = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS      = $(build_target)
+BUILD_TARGETS     += $(install_target)
+
+PRODUCT_TARGETS    = $(products)
+
+ROOTFS_TARGETS     = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(LIBSTROPHE_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+extra_configure_switches += --enable-static=yes
+extra_configure_switches += --enable-shared=yes
+
+
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LIBSTROPHE_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= Install Documentation =======
+	@if [ -d $(LIBSTROPHE_PKG)/usr/share/man ]; then \
+	  ( cd $(LIBSTROPHE_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.? ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(LIBSTROPHE_PKG)/usr/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS COPYING GPL-LICENSE.txt LICENSE.txt MIT-LICENSE.txt \
+	       $(LIBSTROPHE_PKG)/usr/doc/$(src_dir_name) ; \
+	 )
+	@mkdir -p $(LIBSTROPHE_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS COPYING GPL-LICENSE.txt LICENSE.txt MIT-LICENSE.txt \
+	         README README.markdown \
+	         $(LIBSTROPHE_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog -a -s ChangeLog ]; then \
+	     DOCSDIR=`echo $(LIBSTROPHE_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(LIBSTROPHE_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libstrophe.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LIBSTROPHE_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libstrophe.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libstrophe.la \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libstrophe.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(LIBSTROPHE_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(LIBSTROPHE_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(LIBSTROPHE_PKG_DESCRIPTION_FILE): $(LIBSTROPHE_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(LIBSTROPHE_PKG_DESCRIPTION_FILE) $(LIBSTROPHE_PKG_INSTALL_SCRIPT)
+	@cp $(LIBSTROPHE_PKG_DESCRIPTION_FILE) $(LIBSTROPHE_PKG)/.DESCRIPTION
+	@cp $(LIBSTROPHE_PKG_INSTALL_SCRIPT) $(LIBSTROPHE_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(LIBSTROPHE_PKG)/.REQUIRES
+	@echo "pkgname=$(LIBSTROPHE_PKG_NAME)"                            >  $(LIBSTROPHE_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(LIBSTROPHE_PKG_VERSION)"                          >> $(LIBSTROPHE_PKG)/.PKGINFO ; \
+	 echo "arch=$(LIBSTROPHE_PKG_ARCH)"                               >> $(LIBSTROPHE_PKG)/.PKGINFO ; \
+	 echo "distroname=$(LIBSTROPHE_PKG_DISTRO_NAME)"                  >> $(LIBSTROPHE_PKG)/.PKGINFO ; \
+	 echo "distrover=$(LIBSTROPHE_PKG_DISTRO_VERSION)"                >> $(LIBSTROPHE_PKG)/.PKGINFO ; \
+	 echo "group=$(LIBSTROPHE_PKG_GROUP)"                             >> $(LIBSTROPHE_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(LIBSTROPHE_PKG_SHORT_DESCRIPTION)\"" >> $(LIBSTROPHE_PKG)/.PKGINFO ; \
+	 echo "url=$(LIBSTROPHE_PKG_URL)"                                 >> $(LIBSTROPHE_PKG)/.PKGINFO ; \
+	 echo "license=$(LIBSTROPHE_PKG_LICENSE)"                         >> $(LIBSTROPHE_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(LIBSTROPHE_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/libstrophe/0.9.1/PATCHES b/libs/libstrophe/0.9.1/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/libs/libstrophe/0.9.1/libstrophe-pkg-description.in b/libs/libstrophe/0.9.1/libstrophe-pkg-description.in
new file mode 100644
index 000000000..0f2f77cb9
--- /dev/null
+++ b/libs/libstrophe/0.9.1/libstrophe-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+          |-----handy-ruler------------------------------------------------------|
+libstrophe: libstrophe @VERSION@ (An XMPP library for C)
+libstrophe:
+libstrophe: libstrophe is a minimal XMPP library written in C. It has almost no
+libstrophe: external dependencies, only an XML parsing library (expat or libxml
+libstrophe: are both supported). It is designed for both POSIX and Windows
+libstrophe: systems.
+libstrophe:
+libstrophe: Homepage: http://strophe.im/libstrophe
+libstrophe:
+libstrophe:
+libstrophe:
diff --git a/libs/libstrophe/0.9.1/libstrophe-pkg-install.sh b/libs/libstrophe/0.9.1/libstrophe-pkg-install.sh
new file mode 100755
index 000000000..b44c4e648
--- /dev/null
+++ b/libs/libstrophe/0.9.1/libstrophe-pkg-install.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/libvidstab/1.1-x86_32/Makefile b/libs/libvidstab/1.1-x86_32/Makefile
new file mode 100644
index 000000000..63a9c62b0
--- /dev/null
+++ b/libs/libvidstab/1.1-x86_32/Makefile
@@ -0,0 +1,168 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/vid-stab
+
+REQUIRES           = libs/libvidstab/1.1
+REQUIRES          += libs/glibc/2.23-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.1
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/m/vid-stab/vid-stab-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/vid-stab-$(version)
+src_dir_name       = vid-stab-$(version)
+doc_dir_name       = libvidstab-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+VIDSTAB_32_PKG_NAME                = libvidstab-x32
+VIDSTAB_32_PKG_VERSION             = 1.1
+VIDSTAB_32_PKG_ARCH                = $(TOOLCHAIN)
+VIDSTAB_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+VIDSTAB_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+VIDSTAB_32_PKG_GROUP               = $(PKG_GROUP)
+###                                 |---handy-ruler-------------------------------|
+VIDSTAB_32_PKG_SHORT_DESCRIPTION   = video stabilization library
+VIDSTAB_32_PKG_URL                 = $(BUG_URL)
+VIDSTAB_32_PKG_LICENSE             = GPL
+VIDSTAB_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(VIDSTAB_32_PKG_NAME)-pkg-description
+VIDSTAB_32_PKG_DESCRIPTION_FILE_IN = $(VIDSTAB_32_PKG_NAME)-pkg-description.in
+VIDSTAB_32_PKG_INSTALL_SCRIPT      = $(VIDSTAB_32_PKG_NAME)-pkg-install.sh
+
+VIDSTAB_32_PKG   = $(CURDIR)/$(TARGET_BUILD_DIR)/$(VIDSTAB_32_PKG_NAME)-package
+
+pkg_basename     = $(VIDSTAB_32_PKG_NAME)-$(VIDSTAB_32_PKG_VERSION)-$(VIDSTAB_32_PKG_ARCH)-$(VIDSTAB_32_PKG_DISTRO_NAME)-$(VIDSTAB_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(VIDSTAB_32_PKG)
+
+TARGET_BIN_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+configure_switches  = -DCMAKE_BUILD_TYPE='Release'
+
+configure_switches += -DCMAKE_C_COMPILER='$(CROSS_PREFIX)gcc'
+configure_switches += -DCMAKE_LINKER='$(CROSS_PREFIX)ld'
+configure_switches += -DCMAKE_AR='$(CROSS_PREFIX)ar'
+configure_switches += -DCMAKE_NM='$(CROSS_PREFIX)nm'
+configure_switches += -DCMAKE_RANLIB='$(CROSS_PREFIX)ranlib'
+configure_switches += -DCMAKE_OBJCOPY='$(CROSS_PREFIX)objcopy'
+configure_switches += -DCMAKE_OBJDUMP='$(CROSS_PREFIX)objdump'
+configure_switches += -DCMAKE_STRIP='$(CROSS_PREFIX)strip'
+
+configure_switches += -DCMAKE_C_FLAGS:STRING='--sysroot=$(TARGET_DEST_DIR) -m32 $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) -Wno-unknown-pragmas'
+
+configure_switches += -DCMAKE_EXE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_BIN_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
+configure_switches += -DCMAKE_MODULE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
+configure_switches += -DCMAKE_SHARED_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
+
+configure_switches += -DCMAKE_INSTALL_PREFIX=/usr
+
+configure_switches += -DLIB_SUFFIX=$(MULTILIB_X86_32_SUFFIX)
+
+configure_switches += -DCMAKE_CROSSCOMPILING=True
+
+
+configure_switches += -DSSE2_FOUND:BOOL=true
+configure_switches += -DSSE3_FOUND:BOOL=true
+configure_switches += -DSSE4_1_FOUND:BOOL=true
+configure_switches += -DSSSE3_FOUND:BOOL=true
+configure_switches += -DUSE_OMP:BOOL=ON
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) cmake $(configure_switches) ../$(src_dir_name) ; \
+	 )
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) $(MAKE) ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(VIDSTAB_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(VIDSTAB_32_PKG)/usr/include
+	@rm -rf $(VIDSTAB_32_PKG)/usr/share
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(VIDSTAB_32_PKG))
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" vidstab.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(VIDSTAB_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+	@touch $@
+
+$(VIDSTAB_32_PKG_DESCRIPTION_FILE): $(VIDSTAB_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(VIDSTAB_32_PKG_DESCRIPTION_FILE) $(VIDSTAB_32_PKG_INSTALL_SCRIPT)
+	@cp $(VIDSTAB_32_PKG_DESCRIPTION_FILE) $(VIDSTAB_32_PKG)/.DESCRIPTION
+	@cp $(VIDSTAB_32_PKG_INSTALL_SCRIPT) $(VIDSTAB_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(VIDSTAB_32_PKG)/.REQUIRES
+	@echo "pkgname=$(VIDSTAB_32_PKG_NAME)"                            >  $(VIDSTAB_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(VIDSTAB_32_PKG_VERSION)"                          >> $(VIDSTAB_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(VIDSTAB_32_PKG_ARCH)"                               >> $(VIDSTAB_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(VIDSTAB_32_PKG_DISTRO_NAME)"                  >> $(VIDSTAB_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(VIDSTAB_32_PKG_DISTRO_VERSION)"                >> $(VIDSTAB_32_PKG)/.PKGINFO ; \
+	 echo "group=$(VIDSTAB_32_PKG_GROUP)"                             >> $(VIDSTAB_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(VIDSTAB_32_PKG_SHORT_DESCRIPTION)\"" >> $(VIDSTAB_32_PKG)/.PKGINFO ; \
+	 echo "url=$(VIDSTAB_32_PKG_URL)"                                 >> $(VIDSTAB_32_PKG)/.PKGINFO ; \
+	 echo "license=$(VIDSTAB_32_PKG_LICENSE)"                         >> $(VIDSTAB_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(VIDSTAB_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/libvidstab/1.1-x86_32/PATCHES b/libs/libvidstab/1.1-x86_32/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/libs/libvidstab/1.1-x86_32/libvidstab-x32-pkg-description.in b/libs/libvidstab/1.1-x86_32/libvidstab-x32-pkg-description.in
new file mode 100644
index 000000000..56deac717
--- /dev/null
+++ b/libs/libvidstab/1.1-x86_32/libvidstab-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+              |-----handy-ruler------------------------------------------------------|
+libvidstab-x32: libvidstab-x32 @VERSION@ (x86_32 video stabilization library)
+libvidstab-x32:
+libvidstab-x32: Vidstab is a video stabilization library which can be plugged-in
+libvidstab-x32: with Ffmpeg and Transcode.
+libvidstab-x32:
+libvidstab-x32:
+libvidstab-x32: Homepage: http://public.hronopik.de/vid.stab
+libvidstab-x32:   GitHub: https://github.com/georgmartius/vid.stab
+libvidstab-x32:
+libvidstab-x32:
+libvidstab-x32:
diff --git a/libs/libvidstab/1.1-x86_32/libvidstab-x32-pkg-install.sh b/libs/libvidstab/1.1-x86_32/libvidstab-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/libs/libvidstab/1.1-x86_32/libvidstab-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/libvidstab/1.1/Makefile b/libs/libvidstab/1.1/Makefile
new file mode 100644
index 000000000..166a28abd
--- /dev/null
+++ b/libs/libvidstab/1.1/Makefile
@@ -0,0 +1,225 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/vid-stab
+
+ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
+REQUIRES           = dev/gcc/5.3.0
+else
+REQUIRES          += libs/glibc/2.23
+endif
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.1
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/m/vid-stab/vid-stab-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/vid-stab-$(version)
+src_dir_name       = vid-stab-$(version)
+doc_dir_name       = libvidstab-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+VIDSTAB_PKG_NAME                = libvidstab
+VIDSTAB_PKG_VERSION             = 1.1
+VIDSTAB_PKG_ARCH                = $(TOOLCHAIN)
+VIDSTAB_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+VIDSTAB_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+VIDSTAB_PKG_GROUP               = $(PKG_GROUP)
+###                              |---handy-ruler-------------------------------|
+VIDSTAB_PKG_SHORT_DESCRIPTION   = video stabilization library
+VIDSTAB_PKG_URL                 = $(BUG_URL)
+VIDSTAB_PKG_LICENSE             = GPL
+VIDSTAB_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(VIDSTAB_PKG_NAME)-pkg-description
+VIDSTAB_PKG_DESCRIPTION_FILE_IN = $(VIDSTAB_PKG_NAME)-pkg-description.in
+VIDSTAB_PKG_INSTALL_SCRIPT      = $(VIDSTAB_PKG_NAME)-pkg-install.sh
+
+VIDSTAB_PKG      = $(CURDIR)/$(TARGET_BUILD_DIR)/$(VIDSTAB_PKG_NAME)-package
+
+pkg_basename     = $(VIDSTAB_PKG_NAME)-$(VIDSTAB_PKG_VERSION)-$(VIDSTAB_PKG_ARCH)-$(VIDSTAB_PKG_DISTRO_NAME)-$(VIDSTAB_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(VIDSTAB_PKG)
+
+
+TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+
+configure_switches  = -DCMAKE_BUILD_TYPE='Release'
+
+configure_switches += -DCMAKE_C_COMPILER='$(CROSS_PREFIX)gcc'
+configure_switches += -DCMAKE_LINKER='$(CROSS_PREFIX)ld'
+configure_switches += -DCMAKE_AR='$(CROSS_PREFIX)ar'
+configure_switches += -DCMAKE_NM='$(CROSS_PREFIX)nm'
+configure_switches += -DCMAKE_RANLIB='$(CROSS_PREFIX)ranlib'
+configure_switches += -DCMAKE_OBJCOPY='$(CROSS_PREFIX)objcopy'
+configure_switches += -DCMAKE_OBJDUMP='$(CROSS_PREFIX)objdump'
+configure_switches += -DCMAKE_STRIP='$(CROSS_PREFIX)strip'
+
+configure_switches += -DCMAKE_C_FLAGS:STRING='--sysroot=$(TARGET_DEST_DIR) $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) -Wno-unknown-pragmas'
+
+configure_switches += -DCMAKE_EXE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -Wl,-rpath,$(TARGET_BIN_RPATH) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)'
+configure_switches += -DCMAKE_MODULE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)'
+configure_switches += -DCMAKE_SHARED_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)'
+
+
+ifeq ($(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC))
+configure_switches += -DCMAKE_C_FLAGS_RELEASE='-O2 -DNDEBUG'
+configure_switches += -DCMAKE_CXX_FLAGS_RELEASE='-O2 -DNDEBUG'
+configure_switches += -DCMAKE_ASM_FLAGS_RELEASE='-O2 -DNDEBUG'
+endif
+
+configure_switches += -DCMAKE_INSTALL_PREFIX=/usr
+
+configure_switches += -DLIB_SUFFIX=$(LIBSUFFIX)
+
+configure_switches += -DCMAKE_CROSSCOMPILING=True
+
+
+ifneq ($(filter $(HARDWARE),$(HARDWARE_PC32) $(HARDWARE_PC64)),)
+configure_switches += -DSSE2_FOUND:BOOL=true
+configure_switches += -DSSE3_FOUND:BOOL=true
+configure_switches += -DSSE4_1_FOUND:BOOL=true
+configure_switches += -DSSSE3_FOUND:BOOL=true
+else
+configure_switches += -DSSE2_FOUND:BOOL=false
+configure_switches += -DSSE3_FOUND:BOOL=false
+configure_switches += -DSSE4_1_FOUND:BOOL=false
+configure_switches += -DSSSE3_FOUND:BOOL=false
+endif
+
+configure_switches += -DUSE_OMP:BOOL=ON
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) cmake $(configure_switches) ../$(src_dir_name) ; \
+	 )
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) $(MAKE) ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(VIDSTAB_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= Install Documentation =======
+	@if [ -d $(VIDSTAB_PKG)/usr/share/man ]; then \
+	  ( cd $(VIDSTAB_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(VIDSTAB_PKG)/usr/doc/$(doc_dir_name)
+	@cp -a $(SRC_DIR)/LICENSE \
+	       $(VIDSTAB_PKG)/usr/doc/$(doc_dir_name)
+	@mkdir -p $(VIDSTAB_PKG)/usr/share/doc/$(doc_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a LICENSE Install README.md \
+	         $(VIDSTAB_PKG)/usr/share/doc/$(doc_dir_name) \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog -a -s ChangeLog ]; then \
+	     DOCSDIR=`echo $(VIDSTAB_PKG)/usr/share/doc/$(doc_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(VIDSTAB_PKG))
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" vidstab.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(VIDSTAB_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+	@touch $@
+
+$(VIDSTAB_PKG_DESCRIPTION_FILE): $(VIDSTAB_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(VIDSTAB_PKG_DESCRIPTION_FILE) $(VIDSTAB_PKG_INSTALL_SCRIPT)
+	@cp $(VIDSTAB_PKG_DESCRIPTION_FILE) $(VIDSTAB_PKG)/.DESCRIPTION
+	@cp $(VIDSTAB_PKG_INSTALL_SCRIPT) $(VIDSTAB_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(VIDSTAB_PKG)/.REQUIRES
+	@echo "pkgname=$(VIDSTAB_PKG_NAME)"                            >  $(VIDSTAB_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(VIDSTAB_PKG_VERSION)"                          >> $(VIDSTAB_PKG)/.PKGINFO ; \
+	 echo "arch=$(VIDSTAB_PKG_ARCH)"                               >> $(VIDSTAB_PKG)/.PKGINFO ; \
+	 echo "distroname=$(VIDSTAB_PKG_DISTRO_NAME)"                  >> $(VIDSTAB_PKG)/.PKGINFO ; \
+	 echo "distrover=$(VIDSTAB_PKG_DISTRO_VERSION)"                >> $(VIDSTAB_PKG)/.PKGINFO ; \
+	 echo "group=$(VIDSTAB_PKG_GROUP)"                             >> $(VIDSTAB_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(VIDSTAB_PKG_SHORT_DESCRIPTION)\"" >> $(VIDSTAB_PKG)/.PKGINFO ; \
+	 echo "url=$(VIDSTAB_PKG_URL)"                                 >> $(VIDSTAB_PKG)/.PKGINFO ; \
+	 echo "license=$(VIDSTAB_PKG_LICENSE)"                         >> $(VIDSTAB_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(VIDSTAB_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/libvidstab/1.1/PATCHES b/libs/libvidstab/1.1/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/libs/libvidstab/1.1/libvidstab-pkg-description.in b/libs/libvidstab/1.1/libvidstab-pkg-description.in
new file mode 100644
index 000000000..aa5935435
--- /dev/null
+++ b/libs/libvidstab/1.1/libvidstab-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+          |-----handy-ruler------------------------------------------------------|
+libvidstab: libvidstab @VERSION@ (video stabilization library)
+libvidstab:
+libvidstab: Vidstab is a video stabilization library which can be plugged-in
+libvidstab: with Ffmpeg and Transcode.
+libvidstab:
+libvidstab:
+libvidstab: Homepage: http://public.hronopik.de/vid.stab
+libvidstab:   GitHub: https://github.com/georgmartius/vid.stab
+libvidstab:
+libvidstab:
+libvidstab:
diff --git a/libs/libvidstab/1.1/libvidstab-pkg-install.sh b/libs/libvidstab/1.1/libvidstab-pkg-install.sh
new file mode 100755
index 000000000..b44c4e648
--- /dev/null
+++ b/libs/libvidstab/1.1/libvidstab-pkg-install.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/pulseaudio/9.0-x86_32/Makefile b/libs/pulseaudio/9.0-x86_32/Makefile
new file mode 100644
index 000000000..78cc5b03d
--- /dev/null
+++ b/libs/pulseaudio/9.0-x86_32/Makefile
@@ -0,0 +1,253 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/pulseaudio
+
+ENABLE_X11_SUPPORT = yes
+
+REQUIRES           = libs/pulseaudio/9.0
+REQUIRES          += net/bluez/5.42-x86_32
+REQUIRES          += net/avahi-daemon/0.6.31-x86_32
+REQUIRES          += net/openssl/1.0.2f-x86_32
+REQUIRES          += libs/pcre/8.38-x86_32
+REQUIRES          += libs/libasyncns/0.8-x86_32
+REQUIRES          += libs/json-c/0.12-x86_32
+REQUIRES          += libs/sbc/1.3-x86_32
+REQUIRES          += libs/libsndfile/1.0.26-x86_32
+REQUIRES          += libs/libsoxr/0.1.2-x86_32
+REQUIRES          += libs/speex/1.2rc2-x86_32
+REQUIRES          += libs/fftw/3.3.5-x86_32
+REQUIRES          += app/jack/0.125.0-x86_32
+
+ifeq ($(ENABLE_X11_SUPPORT),yes)
+REQUIRES          += X11/X.org/lib/libSM/1.2.2-x86_32
+REQUIRES          += X11/X.org/lib/libXtst/1.2.2-x86_32
+endif
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 9.0
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/m/pulseaudio/pulseaudio-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/pulseaudio-$(version)
+src_dir_name       = pulseaudio-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+PAUDIO_32_PKG_NAME                = pulseaudio-x32
+PAUDIO_32_PKG_VERSION             = 9.0
+PAUDIO_32_PKG_ARCH                = $(TOOLCHAIN)
+PAUDIO_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+PAUDIO_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+PAUDIO_32_PKG_GROUP               = $(PKG_GROUP)
+###                                |---handy-ruler-------------------------------|
+PAUDIO_32_PKG_SHORT_DESCRIPTION   = PulseAudio sound server
+PAUDIO_32_PKG_URL                 = $(BUG_URL)
+PAUDIO_32_PKG_LICENSE             = GPLv2
+PAUDIO_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(PAUDIO_32_PKG_NAME)-pkg-description
+PAUDIO_32_PKG_DESCRIPTION_FILE_IN = $(PAUDIO_32_PKG_NAME)-pkg-description.in
+PAUDIO_32_PKG_INSTALL_SCRIPT      = $(PAUDIO_32_PKG_NAME)-pkg-install.sh
+
+PAUDIO_32_PKG    = $(CURDIR)/$(TARGET_BUILD_DIR)/$(PAUDIO_32_PKG_NAME)-package
+
+pkg_basename     = $(PAUDIO_32_PKG_NAME)-$(PAUDIO_32_PKG_VERSION)-$(PAUDIO_32_PKG_ARCH)-$(PAUDIO_32_PKG_DISTRO_NAME)-$(PAUDIO_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(PAUDIO_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+
+extra_configure_switches += --with-system-user=pulse
+extra_configure_switches += --with-system-group=pulse
+extra_configure_switches += --with-access-group=audio
+extra_configure_switches += --with-bash-completion-dir=/usr/share/bash-completion/completions
+
+extra_configure_switches += --with-fftw
+
+extra_configure_switches += --disable-orc
+extra_configure_switches += --disable-tcpwrap
+extra_configure_switches += --disable-hal-compat
+extra_configure_switches += --disable-bluez4
+
+ifneq ($(ENABLE_X11_SUPPORT),yes)
+extra_configure_switches += --disable-x11
+endif
+extra_configure_switches += --disable-gtk3
+extra_configure_switches += --disable-gconf
+extra_configure_switches += --disable-lirc
+extra_configure_switches += --disable-tests
+extra_configure_switches += --disable-systemd-daemon
+
+
+extra_configure_switches += --enable-static=yes
+extra_configure_switches += --enable-shared=yes
+
+
+TARGET_BIN_RPATH = /usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)/pulseaudio
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)/pulseaudio
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@( cd $(SRC_DIR) ; \
+	   sed -i -e '/@PA_BINARY@/ imkdir -p $$HOME/.config/pulse' src/daemon/start-pulseaudio-x11.in ; \
+	   sed -i    's/; flat-volumes = yes/flat-volumes = no/g'   src/daemon/daemon.conf.in          ; \
+	   echo "X-MATE-Autostart-Phase=Initialization"          >> src/daemon/pulseaudio.desktop.in   ; \
+	 )
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && \
+	  $(BUILD_ENVIRONMENT) ./configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(PAUDIO_32_PKG)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(PAUDIO_32_PKG)/etc
+	@rm -rf $(PAUDIO_32_PKG)/lib
+	@rm -rf $(PAUDIO_32_PKG)/usr/include
+	@rm -rf $(PAUDIO_32_PKG)/usr/share
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(PAUDIO_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libpulse-mainloop-glib.la        \
+	                                    libpulse-simple.la libpulse.la ; \
+	   sed -i "s,lib3232,lib32,g" libpulse-mainloop-glib.la        \
+	                              libpulse-simple.la libpulse.la ; \
+	 )
+	@( cd $(PAUDIO_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pulseaudio ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libpulsecommon-9.0.la  \
+	                                    libpulsecore-9.0.la    \
+	                                    libpulsedsp.la       ; \
+	   sed -i "s,lib3232,lib32,g" libpulsecommon-9.0.la  \
+	                              libpulsecore-9.0.la    \
+	                              libpulsedsp.la       ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(PAUDIO_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libpulse-mainloop-glib.la        \
+	                                            libpulse-simple.la libpulse.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libpulse-mainloop-glib.la        \
+	                                              libpulse-simple.la libpulse.la ; \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pulseaudio ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libpulsecommon-9.0.la  \
+	                                            libpulsecore-9.0.la    \
+	                                            libpulsedsp.la       ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libpulsecommon-9.0.la  \
+	                                              libpulsecore-9.0.la    \
+	                                              libpulsedsp.la       ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libpulse-mainloop-glib.pc        \
+	                                            libpulse-simple.pc libpulse.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(PAUDIO_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(PAUDIO_32_PKG)/usr/bin/32 ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(PAUDIO_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(PAUDIO_32_PKG_DESCRIPTION_FILE): $(PAUDIO_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(PAUDIO_32_PKG_DESCRIPTION_FILE) $(PAUDIO_32_PKG_INSTALL_SCRIPT)
+	@cp $(PAUDIO_32_PKG_DESCRIPTION_FILE) $(PAUDIO_32_PKG)/.DESCRIPTION
+	@cp $(PAUDIO_32_PKG_INSTALL_SCRIPT) $(PAUDIO_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(PAUDIO_32_PKG)/.REQUIRES
+	@echo "pkgname=$(PAUDIO_32_PKG_NAME)"                            >  $(PAUDIO_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(PAUDIO_32_PKG_VERSION)"                          >> $(PAUDIO_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(PAUDIO_32_PKG_ARCH)"                               >> $(PAUDIO_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(PAUDIO_32_PKG_DISTRO_NAME)"                  >> $(PAUDIO_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(PAUDIO_32_PKG_DISTRO_VERSION)"                >> $(PAUDIO_32_PKG)/.PKGINFO ; \
+	 echo "group=$(PAUDIO_32_PKG_GROUP)"                             >> $(PAUDIO_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(PAUDIO_32_PKG_SHORT_DESCRIPTION)\"" >> $(PAUDIO_32_PKG)/.PKGINFO ; \
+	 echo "url=$(PAUDIO_32_PKG_URL)"                                 >> $(PAUDIO_32_PKG)/.PKGINFO ; \
+	 echo "license=$(PAUDIO_32_PKG_LICENSE)"                         >> $(PAUDIO_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(PAUDIO_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/pulseaudio/9.0-x86_32/PATCHES b/libs/pulseaudio/9.0-x86_32/PATCHES
new file mode 100644
index 000000000..5ceaa0971
--- /dev/null
+++ b/libs/pulseaudio/9.0-x86_32/PATCHES
@@ -0,0 +1,6 @@
+
+../../../sources/packages/m/pulseaudio/patches/pulseaudio-9.0-root-autospawn-allow.patch -p0
+../../../sources/packages/m/pulseaudio/patches/pulseaudio-9.0-autostart-x11.patch        -p0
+../../../sources/packages/m/pulseaudio/patches/pulseaudio-9.0-no-parallel.patch          -p0
+../../../sources/packages/m/pulseaudio/patches/pulseaudio-9.0-no-root-warn.patch         -p0
+../../../sources/packages/m/pulseaudio/patches/pulseaudio-9.0-posix-completion.patch     -p0
diff --git a/libs/pulseaudio/9.0-x86_32/pulseaudio-x32-pkg-description.in b/libs/pulseaudio/9.0-x86_32/pulseaudio-x32-pkg-description.in
new file mode 100644
index 000000000..e96a9b790
--- /dev/null
+++ b/libs/pulseaudio/9.0-x86_32/pulseaudio-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+              |-----handy-ruler------------------------------------------------------|
+pulseaudio-x32: pulseaudio-x32 @VERSION@ (x86_32 PulseAudio sound server)
+pulseaudio-x32:
+pulseaudio-x32: pulseaudio is a networked low-latency sound server intended to be
+pulseaudio-x32: an improved replacement for the Enlightened Sound Daemon (EsounD).
+pulseaudio-x32:
+pulseaudio-x32:
+pulseaudio-x32: Homepage: http://www.pulseaudio.org
+pulseaudio-x32:
+pulseaudio-x32:
+pulseaudio-x32:
+pulseaudio-x32:
diff --git a/libs/pulseaudio/9.0-x86_32/pulseaudio-x32-pkg-install.sh b/libs/pulseaudio/9.0-x86_32/pulseaudio-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/libs/pulseaudio/9.0-x86_32/pulseaudio-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/pulseaudio/9.0/Makefile b/libs/pulseaudio/9.0/Makefile
new file mode 100644
index 000000000..050319e95
--- /dev/null
+++ b/libs/pulseaudio/9.0/Makefile
@@ -0,0 +1,304 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/pulseaudio
+
+ENABLE_X11_SUPPORT = yes
+
+REQUIRES           = net/bluez/5.42
+REQUIRES          += net/avahi-daemon/0.6.31
+REQUIRES          += net/openssl/1.0.2f
+REQUIRES          += libs/pcre/8.38
+REQUIRES          += libs/libasyncns/0.8
+REQUIRES          += libs/json-c/0.12
+REQUIRES          += libs/sbc/1.3
+REQUIRES          += libs/libsndfile/1.0.26
+REQUIRES          += libs/libsoxr/0.1.2
+REQUIRES          += libs/speex/1.2rc2
+REQUIRES          += libs/fftw/3.3.5
+REQUIRES          += app/jack/0.125.0
+
+ifeq ($(ENABLE_X11_SUPPORT),yes)
+REQUIRES          += X11/X.org/lib/libSM/1.2.2
+REQUIRES          += X11/X.org/lib/libXtst/1.2.2
+endif
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 9.0
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/m/pulseaudio/pulseaudio-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/pulseaudio-$(version)
+src_dir_name       = pulseaudio-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+rc_pulseaudio      = $(CURDIR)/etc/rc.d/rc.pulseaudio
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+PAUDIO_PKG_NAME                = pulseaudio
+PAUDIO_PKG_VERSION             = 9.0
+PAUDIO_PKG_ARCH                = $(TOOLCHAIN)
+PAUDIO_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+PAUDIO_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+PAUDIO_PKG_GROUP               = $(PKG_GROUP)
+###                            |---handy-ruler-------------------------------|
+PAUDIO_PKG_SHORT_DESCRIPTION   = PulseAudio sound server
+PAUDIO_PKG_URL                 = $(BUG_URL)
+PAUDIO_PKG_LICENSE             = GPLv2
+PAUDIO_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(PAUDIO_PKG_NAME)-pkg-description
+PAUDIO_PKG_DESCRIPTION_FILE_IN = $(PAUDIO_PKG_NAME)-pkg-description.in
+PAUDIO_PKG_INSTALL_SCRIPT      = $(PAUDIO_PKG_NAME)-pkg-install.sh
+
+PAUDIO_PKG        = $(CURDIR)/$(TARGET_BUILD_DIR)/$(PAUDIO_PKG_NAME)-package
+
+pkg_basename     = $(PAUDIO_PKG_NAME)-$(PAUDIO_PKG_VERSION)-$(PAUDIO_PKG_ARCH)-$(PAUDIO_PKG_DISTRO_NAME)-$(PAUDIO_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(PAUDIO_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+
+extra_configure_switches += --with-system-user=pulse
+extra_configure_switches += --with-system-group=pulse
+extra_configure_switches += --with-access-group=audio
+extra_configure_switches += --with-bash-completion-dir=/usr/share/bash-completion/completions
+
+extra_configure_switches += --with-fftw
+
+extra_configure_switches += --disable-orc
+extra_configure_switches += --disable-tcpwrap
+extra_configure_switches += --disable-hal-compat
+extra_configure_switches += --disable-bluez4
+
+ifneq ($(ENABLE_X11_SUPPORT),yes)
+extra_configure_switches += --disable-x11
+endif
+extra_configure_switches += --disable-gtk3
+extra_configure_switches += --disable-gconf
+extra_configure_switches += --disable-lirc
+extra_configure_switches += --disable-tests
+extra_configure_switches += --disable-systemd-daemon
+
+extra_configure_switches += --enable-webrtc-aec=no
+extra_configure_switches += --enable-adrian-aec=no
+
+
+extra_configure_switches += --enable-static=yes
+extra_configure_switches += --enable-shared=yes
+
+
+ifeq ($(TOOLCHAIN),$(TOOLCHAIN_I686_GLIBC))
+extra_environment  = LIBS="-lrt -lpthread -lgomp -lm -lstdc++"
+endif
+
+
+CFLAGS += -Wno-cast-align -Wno-cpp
+
+
+TARGET_BIN_RPATH = /usr/lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)/pulseaudio
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)/pulseaudio
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@( cd $(SRC_DIR) ; \
+	   sed -i -e '/@PA_BINARY@/ imkdir -p $$HOME/.config/pulse' src/daemon/start-pulseaudio-x11.in ; \
+	   sed -i    's/; flat-volumes = yes/flat-volumes = no/g'   src/daemon/daemon.conf.in          ; \
+	   echo "X-MATE-Autostart-Phase=Initialization"          >> src/daemon/pulseaudio.desktop.in   ; \
+	 )
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && \
+	  $(BUILD_ENVIRONMENT) $(extra_environment) ./configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(PAUDIO_PKG)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= Install system scripts =======
+	@mkdir -p $(PAUDIO_PKG)/etc/rc.d
+	@cp -a $(rc_pulseaudio) $(PAUDIO_PKG)/etc/rc.d/rc.pulseaudio.new
+	@chmod 644 $(PAUDIO_PKG)/etc/rc.d/rc.pulseaudio.new
+	@mv $(PAUDIO_PKG)/etc/pulse/client.conf $(PAUDIO_PKG)/etc/pulse/client.conf.new
+	@mv $(PAUDIO_PKG)/etc/pulse/daemon.conf $(PAUDIO_PKG)/etc/pulse/daemon.conf.new
+	@mv $(PAUDIO_PKG)/etc/pulse/default.pa  $(PAUDIO_PKG)/etc/pulse/default.pa.new
+	@mv $(PAUDIO_PKG)/etc/pulse/system.pa   $(PAUDIO_PKG)/etc/pulse/system.pa.new
+	@mv $(PAUDIO_PKG)/etc/dbus-1/system.d/pulseaudio-system.conf $(PAUDIO_PKG)/etc/dbus-1/system.d/pulseaudio-system.conf.new
+	# ======= Install Documentation =======
+	@if [ -d $(PAUDIO_PKG)/usr/share/man ]; then \
+	  ( cd $(PAUDIO_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(PAUDIO_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/GPL $(SRC_DIR)/LGPL $(SRC_DIR)/LICENSE \
+	       $(PAUDIO_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(PAUDIO_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a GPL LGPL LICENSE NEWS PROTOCOL README \
+	         $(PAUDIO_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(PAUDIO_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(PAUDIO_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libpulse-mainloop-glib.la        \
+	                                    libpulse-simple.la libpulse.la ; \
+	 )
+	@( cd $(PAUDIO_PKG)/usr/lib$(LIBSUFFIX)/pulseaudio ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libpulsecommon-9.0.la  \
+	                                    libpulsecore-9.0.la    \
+	                                    libpulsedsp.la       ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(PAUDIO_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libpulse-mainloop-glib.la        \
+	                                            libpulse-simple.la libpulse.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libpulse-mainloop-glib.la        \
+	                                              libpulse-simple.la libpulse.la ; \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pulseaudio ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libpulsecommon-9.0.la  \
+	                                            libpulsecore-9.0.la    \
+	                                            libpulsedsp.la       ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libpulsecommon-9.0.la  \
+	                                              libpulsecore-9.0.la    \
+	                                              libpulsedsp.la       ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libpulse-mainloop-glib.pc        \
+	                                            libpulse-simple.pc libpulse.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(PAUDIO_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(PAUDIO_PKG)/usr/bin ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(PAUDIO_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(PAUDIO_PKG_DESCRIPTION_FILE): $(PAUDIO_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(PAUDIO_PKG_DESCRIPTION_FILE) $(PAUDIO_PKG_INSTALL_SCRIPT)
+	@cp $(PAUDIO_PKG_DESCRIPTION_FILE) $(PAUDIO_PKG)/.DESCRIPTION
+	@cp $(PAUDIO_PKG_INSTALL_SCRIPT) $(PAUDIO_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(PAUDIO_PKG)/.REQUIRES
+	@echo "pkgname=$(PAUDIO_PKG_NAME)"                            >  $(PAUDIO_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(PAUDIO_PKG_VERSION)"                          >> $(PAUDIO_PKG)/.PKGINFO ; \
+	 echo "arch=$(PAUDIO_PKG_ARCH)"                               >> $(PAUDIO_PKG)/.PKGINFO ; \
+	 echo "distroname=$(PAUDIO_PKG_DISTRO_NAME)"                  >> $(PAUDIO_PKG)/.PKGINFO ; \
+	 echo "distrover=$(PAUDIO_PKG_DISTRO_VERSION)"                >> $(PAUDIO_PKG)/.PKGINFO ; \
+	 echo "group=$(PAUDIO_PKG_GROUP)"                             >> $(PAUDIO_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(PAUDIO_PKG_SHORT_DESCRIPTION)\"" >> $(PAUDIO_PKG)/.PKGINFO ; \
+	 echo "url=$(PAUDIO_PKG_URL)"                                 >> $(PAUDIO_PKG)/.PKGINFO ; \
+	 echo "license=$(PAUDIO_PKG_LICENSE)"                         >> $(PAUDIO_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(PAUDIO_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/pulseaudio/9.0/PATCHES b/libs/pulseaudio/9.0/PATCHES
new file mode 100644
index 000000000..5ceaa0971
--- /dev/null
+++ b/libs/pulseaudio/9.0/PATCHES
@@ -0,0 +1,6 @@
+
+../../../sources/packages/m/pulseaudio/patches/pulseaudio-9.0-root-autospawn-allow.patch -p0
+../../../sources/packages/m/pulseaudio/patches/pulseaudio-9.0-autostart-x11.patch        -p0
+../../../sources/packages/m/pulseaudio/patches/pulseaudio-9.0-no-parallel.patch          -p0
+../../../sources/packages/m/pulseaudio/patches/pulseaudio-9.0-no-root-warn.patch         -p0
+../../../sources/packages/m/pulseaudio/patches/pulseaudio-9.0-posix-completion.patch     -p0
diff --git a/libs/pulseaudio/9.0/etc/rc.d/rc.pulseaudio b/libs/pulseaudio/9.0/etc/rc.d/rc.pulseaudio
new file mode 100644
index 000000000..046a40080
--- /dev/null
+++ b/libs/pulseaudio/9.0/etc/rc.d/rc.pulseaudio
@@ -0,0 +1,47 @@
+#!/bin/sh
+#
+# Start/stop/restart PulseAudio in system mode.
+# In this mode, a single system instance of PulseAudio will be shared by
+# multiple local users.
+#
+# Please note:  this is not generally the best way to use PulseAudio!
+# Normally pulseaudio will start automatically as-needed with an instance
+# per audio user.  Unless you really need to use system mode you should leave
+# this script non-executable.
+#
+# For more information, see:
+# http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide
+
+pulse_start() {
+  if [ -x /usr/bin/pulseaudio ]; then
+    echo "Starting system PulseAudio daemon:  /usr/bin/pulseaudio --system --disallow-module-loading &"
+    rm -rf /var/lib/pulse
+    # Any errors/warnings will go to the log files:
+    /usr/bin/pulseaudio --system --disallow-module-loading 1> /dev/null 2> /dev/null &
+  fi
+}
+
+pulse_stop() {
+  echo "Stopping PulseAudio:  /bin/killall pulseaudio"
+  /bin/killall pulseaudio 2> /dev/null
+}
+
+pulse_restart() {
+  pulse_stop
+  sleep 1
+  pulse_start
+}
+
+case "$1" in
+'start')
+ pulse_start
+  ;;
+'stop')
+  pulse_stop
+  ;;
+'restart')
+ pulse_restart
+  ;;
+*)
+  echo "usage $0 start|stop|restart"
+esac
diff --git a/libs/pulseaudio/9.0/pulseaudio-pkg-description.in b/libs/pulseaudio/9.0/pulseaudio-pkg-description.in
new file mode 100644
index 000000000..f1c541fff
--- /dev/null
+++ b/libs/pulseaudio/9.0/pulseaudio-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+          |-----handy-ruler------------------------------------------------------|
+pulseaudio: pulseaudio @VERSION@ (PulseAudio sound server)
+pulseaudio:
+pulseaudio: pulseaudio is a networked low-latency sound server intended to be
+pulseaudio: an improved replacement for the Enlightened Sound Daemon (EsounD).
+pulseaudio:
+pulseaudio:
+pulseaudio: Homepage: http://www.pulseaudio.org
+pulseaudio:
+pulseaudio:
+pulseaudio:
+pulseaudio:
diff --git a/libs/pulseaudio/9.0/pulseaudio-pkg-install.sh b/libs/pulseaudio/9.0/pulseaudio-pkg-install.sh
new file mode 100755
index 000000000..6bd63aef9
--- /dev/null
+++ b/libs/pulseaudio/9.0/pulseaudio-pkg-install.sh
@@ -0,0 +1,69 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+preserve_perms() {
+  NEW="$1"
+  OLD="$(dirname $NEW)/$(basename $NEW .new)"
+  if [ -e $OLD ]; then
+    cp -a $OLD ${NEW}.incoming
+    cat $NEW > ${NEW}.incoming
+    mv ${NEW}.incoming $NEW
+  fi
+  install_file $NEW
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  preserve_perms etc/rc.d/rc.pulseaudio.new
+  install_file   etc/pulse/client.conf.new
+  install_file   etc/pulse/daemon.conf.new
+  install_file   etc/pulse/default.pa.new
+  install_file   etc/pulse/system.pa.new
+  install_file   etc/dbus-1/system.d/pulseaudio-system.conf.new
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/sbc/1.3-x86_32/Makefile b/libs/sbc/1.3-x86_32/Makefile
new file mode 100644
index 000000000..abdfc6c50
--- /dev/null
+++ b/libs/sbc/1.3-x86_32/Makefile
@@ -0,0 +1,184 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/l/sbc
+
+REQUIRES           = libs/sbc/1.3
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.3
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/l/sbc/sbc-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/sbc-$(version)
+src_dir_name       = sbc-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+SBC_32_PKG_NAME                = sbc-x32
+SBC_32_PKG_VERSION             = 1.3
+SBC_32_PKG_ARCH                = $(TOOLCHAIN)
+SBC_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+SBC_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+SBC_32_PKG_GROUP               = $(PKG_GROUP)
+###                             |---handy-ruler-------------------------------|
+SBC_32_PKG_SHORT_DESCRIPTION   = Bluetooth Subband Codec library
+SBC_32_PKG_URL                 = $(BUG_URL)
+SBC_32_PKG_LICENSE             = GPLv2
+SBC_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(SBC_32_PKG_NAME)-pkg-description
+SBC_32_PKG_DESCRIPTION_FILE_IN = $(SBC_32_PKG_NAME)-pkg-description.in
+SBC_32_PKG_INSTALL_SCRIPT      = $(SBC_32_PKG_NAME)-pkg-install.sh
+
+SBC_32_PKG        = $(CURDIR)/$(TARGET_BUILD_DIR)/$(SBC_32_PKG_NAME)-package
+
+pkg_basename      = $(SBC_32_PKG_NAME)-$(SBC_32_PKG_VERSION)-$(SBC_32_PKG_ARCH)-$(SBC_32_PKG_DISTRO_NAME)-$(SBC_32_PKG_DISTRO_VERSION)
+
+pkg_archive       = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature     = $(call sign-name,$(pkg_archive))
+pkg_description   = $(call desc-name,$(pkg_archive))
+products          = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS     = $(build_target)
+BUILD_TARGETS    += $(install_target)
+
+PRODUCT_TARGETS   = $(products)
+
+ROOTFS_TARGETS    = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(SBC_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+extra_configure_switches += --disable-tester
+
+extra_configure_switches += --enable-static=yes
+extra_configure_switches += --enable-shared=yes
+
+
+TARGET_BIN_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && \
+	  $(BUILD_ENVIRONMENT) ./configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(SBC_32_PKG)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(SBC_32_PKG)/usr/include
+	@rm -rf $(SBC_32_PKG)/usr/share
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(SBC_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libsbc.la \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(SBC_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libsbc.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libsbc.la \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" sbc.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(SBC_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(SBC_32_PKG)/usr/bin/32 ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(SBC_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(SBC_32_PKG_DESCRIPTION_FILE): $(SBC_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(SBC_32_PKG_DESCRIPTION_FILE) $(SBC_32_PKG_INSTALL_SCRIPT)
+	@cp $(SBC_32_PKG_DESCRIPTION_FILE) $(SBC_32_PKG)/.DESCRIPTION
+	@cp $(SBC_32_PKG_INSTALL_SCRIPT) $(SBC_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(SBC_32_PKG)/.REQUIRES
+	@echo "pkgname=$(SBC_32_PKG_NAME)"                            >  $(SBC_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(SBC_32_PKG_VERSION)"                          >> $(SBC_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(SBC_32_PKG_ARCH)"                               >> $(SBC_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(SBC_32_PKG_DISTRO_NAME)"                  >> $(SBC_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(SBC_32_PKG_DISTRO_VERSION)"                >> $(SBC_32_PKG)/.PKGINFO ; \
+	 echo "group=$(SBC_32_PKG_GROUP)"                             >> $(SBC_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(SBC_32_PKG_SHORT_DESCRIPTION)\"" >> $(SBC_32_PKG)/.PKGINFO ; \
+	 echo "url=$(SBC_32_PKG_URL)"                                 >> $(SBC_32_PKG)/.PKGINFO ; \
+	 echo "license=$(SBC_32_PKG_LICENSE)"                         >> $(SBC_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(SBC_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/sbc/1.3-x86_32/PATCHES b/libs/sbc/1.3-x86_32/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/libs/sbc/1.3-x86_32/sbc-x32-pkg-description.in b/libs/sbc/1.3-x86_32/sbc-x32-pkg-description.in
new file mode 100644
index 000000000..748fb0da1
--- /dev/null
+++ b/libs/sbc/1.3-x86_32/sbc-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+       |-----handy-ruler------------------------------------------------------|
+sbc-x32: sbc-x32 @VERSION@ (x86_32 Bluetooth Subband Codec library)
+sbc-x32:
+sbc-x32: Bluetooth low-complexity, subband codec (SBC) library.
+sbc-x32:
+sbc-x32: Homepage: http://www.bluez.org
+sbc-x32:
+sbc-x32:
+sbc-x32:
+sbc-x32:
+sbc-x32:
+sbc-x32:
diff --git a/libs/sbc/1.3-x86_32/sbc-x32-pkg-install.sh b/libs/sbc/1.3-x86_32/sbc-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/libs/sbc/1.3-x86_32/sbc-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/sbc/1.3/Makefile b/libs/sbc/1.3/Makefile
new file mode 100644
index 000000000..9b0f00752
--- /dev/null
+++ b/libs/sbc/1.3/Makefile
@@ -0,0 +1,228 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/l/sbc
+
+ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
+REQUIRES           = dev/gcc/5.3.0
+else
+ifneq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES           = libs/glibc/2.23
+else
+REQUIRES           = libs/glibc/2.23-x86_32
+endif
+endif
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.3
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/l/sbc/sbc-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/sbc-$(version)
+src_dir_name       = sbc-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+SBC_PKG_NAME                = sbc
+SBC_PKG_VERSION             = 1.3
+SBC_PKG_ARCH                = $(TOOLCHAIN)
+SBC_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+SBC_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+SBC_PKG_GROUP               = $(PKG_GROUP)
+###                          |---handy-ruler-------------------------------|
+SBC_PKG_SHORT_DESCRIPTION   = Bluetooth Subband Codec library
+SBC_PKG_URL                 = $(BUG_URL)
+SBC_PKG_LICENSE             = GPLv2
+SBC_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(SBC_PKG_NAME)-pkg-description
+SBC_PKG_DESCRIPTION_FILE_IN = $(SBC_PKG_NAME)-pkg-description.in
+SBC_PKG_INSTALL_SCRIPT      = $(SBC_PKG_NAME)-pkg-install.sh
+
+SBC_PKG          = $(CURDIR)/$(TARGET_BUILD_DIR)/$(SBC_PKG_NAME)-package
+
+pkg_basename     = $(SBC_PKG_NAME)-$(SBC_PKG_VERSION)-$(SBC_PKG_ARCH)-$(SBC_PKG_DISTRO_NAME)-$(SBC_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(SBC_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+extra_configure_switches += --disable-tester
+
+extra_configure_switches += --enable-static=yes
+extra_configure_switches += --enable-shared=yes
+
+
+TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && \
+	  $(BUILD_ENVIRONMENT) ./configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(SBC_PKG)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= Install Documentation =======
+	@if [ -d $(SBC_PKG)/usr/share/man ]; then \
+	  ( cd $(SBC_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(SBC_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING* \
+	       $(SBC_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(SBC_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS COPYING* INSTALL README TODO \
+	         $(SBC_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(SBC_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(SBC_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libsbc.la \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(SBC_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libsbc.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libsbc.la \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" sbc.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(SBC_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(SBC_PKG)/usr/bin ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(SBC_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(SBC_PKG_DESCRIPTION_FILE): $(SBC_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(SBC_PKG_DESCRIPTION_FILE) $(SBC_PKG_INSTALL_SCRIPT)
+	@cp $(SBC_PKG_DESCRIPTION_FILE) $(SBC_PKG)/.DESCRIPTION
+	@cp $(SBC_PKG_INSTALL_SCRIPT) $(SBC_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(SBC_PKG)/.REQUIRES
+	@echo "pkgname=$(SBC_PKG_NAME)"                            >  $(SBC_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(SBC_PKG_VERSION)"                          >> $(SBC_PKG)/.PKGINFO ; \
+	 echo "arch=$(SBC_PKG_ARCH)"                               >> $(SBC_PKG)/.PKGINFO ; \
+	 echo "distroname=$(SBC_PKG_DISTRO_NAME)"                  >> $(SBC_PKG)/.PKGINFO ; \
+	 echo "distrover=$(SBC_PKG_DISTRO_VERSION)"                >> $(SBC_PKG)/.PKGINFO ; \
+	 echo "group=$(SBC_PKG_GROUP)"                             >> $(SBC_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(SBC_PKG_SHORT_DESCRIPTION)\"" >> $(SBC_PKG)/.PKGINFO ; \
+	 echo "url=$(SBC_PKG_URL)"                                 >> $(SBC_PKG)/.PKGINFO ; \
+	 echo "license=$(SBC_PKG_LICENSE)"                         >> $(SBC_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(SBC_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/sbc/1.3/PATCHES b/libs/sbc/1.3/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/libs/sbc/1.3/sbc-pkg-description.in b/libs/sbc/1.3/sbc-pkg-description.in
new file mode 100644
index 000000000..166c0c0cd
--- /dev/null
+++ b/libs/sbc/1.3/sbc-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+   |-----handy-ruler------------------------------------------------------|
+sbc: sbc @VERSION@ (Bluetooth Subband Codec library)
+sbc:
+sbc: Bluetooth low-complexity, subband codec (SBC) library.
+sbc:
+sbc: Homepage: http://www.bluez.org
+sbc:
+sbc:
+sbc:
+sbc:
+sbc:
+sbc:
diff --git a/libs/sbc/1.3/sbc-pkg-install.sh b/libs/sbc/1.3/sbc-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/libs/sbc/1.3/sbc-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/schroedinger/1.0.11-x86_32/Makefile b/libs/schroedinger/1.0.11-x86_32/Makefile
new file mode 100644
index 000000000..7c24f5055
--- /dev/null
+++ b/libs/schroedinger/1.0.11-x86_32/Makefile
@@ -0,0 +1,174 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/schroedinger
+
+REQUIRES           = libs/schroedinger/1.0.11
+REQUIRES          += dev/orc/0.4.26.1-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.0.11
+tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/m/schroedinger/schroedinger-$(version).tar.gz
+SRC_ARCHIVE        = $(tar_gz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/schroedinger-$(version)
+src_dir_name       = schroedinger-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+DIRAC_32_PKG_NAME                = schroedinger-x32
+DIRAC_32_PKG_VERSION             = 1.0.11
+DIRAC_32_PKG_ARCH                = $(TOOLCHAIN)
+DIRAC_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+DIRAC_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+DIRAC_32_PKG_GROUP               = $(PKG_GROUP)
+###                               |---handy-ruler-------------------------------|
+DIRAC_32_PKG_SHORT_DESCRIPTION   = Dirac video codec
+DIRAC_32_PKG_URL                 = $(BUG_URL)
+DIRAC_32_PKG_LICENSE             = MIT
+DIRAC_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(DIRAC_32_PKG_NAME)-pkg-description
+DIRAC_32_PKG_DESCRIPTION_FILE_IN = $(DIRAC_32_PKG_NAME)-pkg-description.in
+DIRAC_32_PKG_INSTALL_SCRIPT      = $(DIRAC_32_PKG_NAME)-pkg-install.sh
+
+DIRAC_32_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(DIRAC_32_PKG_NAME)-package
+
+pkg_basename     = $(DIRAC_32_PKG_NAME)-$(DIRAC_32_PKG_VERSION)-$(DIRAC_32_PKG_ARCH)-$(DIRAC_32_PKG_DISTRO_NAME)-$(DIRAC_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(DIRAC_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+extra_configure_switches += --enable-gtk-doc=no
+
+extra_configure_switches += --enable-static=yes
+extra_configure_switches += --enable-shared=yes
+
+
+CFLAGS += -Wno-strict-overflow
+
+
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(DIRAC_32_PKG)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(DIRAC_32_PKG)/usr/include
+	@rm -rf $(DIRAC_32_PKG)/usr/share
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(DIRAC_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libschroedinger-?.?.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(DIRAC_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libschroedinger-?.?.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libschroedinger-?.?.la ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" schroedinger-?.?.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(DIRAC_32_PKG); \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(DIRAC_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(DIRAC_32_PKG_DESCRIPTION_FILE): $(DIRAC_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(DIRAC_32_PKG_DESCRIPTION_FILE) $(DIRAC_32_PKG_INSTALL_SCRIPT)
+	@cp $(DIRAC_32_PKG_DESCRIPTION_FILE) $(DIRAC_32_PKG)/.DESCRIPTION
+	@cp $(DIRAC_32_PKG_INSTALL_SCRIPT) $(DIRAC_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(DIRAC_32_PKG)/.REQUIRES
+	@echo "pkgname=$(DIRAC_32_PKG_NAME)"                            >  $(DIRAC_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(DIRAC_32_PKG_VERSION)"                          >> $(DIRAC_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(DIRAC_32_PKG_ARCH)"                               >> $(DIRAC_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(DIRAC_32_PKG_DISTRO_NAME)"                  >> $(DIRAC_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(DIRAC_32_PKG_DISTRO_VERSION)"                >> $(DIRAC_32_PKG)/.PKGINFO ; \
+	 echo "group=$(DIRAC_32_PKG_GROUP)"                             >> $(DIRAC_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(DIRAC_32_PKG_SHORT_DESCRIPTION)\"" >> $(DIRAC_32_PKG)/.PKGINFO ; \
+	 echo "url=$(DIRAC_32_PKG_URL)"                                 >> $(DIRAC_32_PKG)/.PKGINFO ; \
+	 echo "license=$(DIRAC_32_PKG_LICENSE)"                         >> $(DIRAC_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(DIRAC_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/schroedinger/1.0.11-x86_32/PATCHES b/libs/schroedinger/1.0.11-x86_32/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/libs/schroedinger/1.0.11-x86_32/schroedinger-x32-pkg-description.in b/libs/schroedinger/1.0.11-x86_32/schroedinger-x32-pkg-description.in
new file mode 100644
index 000000000..8d849265e
--- /dev/null
+++ b/libs/schroedinger/1.0.11-x86_32/schroedinger-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+                |-----handy-ruler------------------------------------------------------|
+schroedinger-x32: schroedinger-x32 @VERSION@ (x86_32 Dirac video codec)
+schroedinger-x32:
+schroedinger-x32: Schroedinger (or "schro" for short) is an implementation of the
+schroedinger-x32: Dirac and SMPTE VC-2 video compression specification. Dirac was
+schroedinger-x32: developed by BBC Research & Development [http://www.bbc.co.uk/rd/]
+schroedinger-x32: as an open technology with open licensing.
+schroedinger-x32:
+schroedinger-x32:
+schroedinger-x32:
+schroedinger-x32:
+schroedinger-x32:
diff --git a/libs/schroedinger/1.0.11-x86_32/schroedinger-x32-pkg-install.sh b/libs/schroedinger/1.0.11-x86_32/schroedinger-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/libs/schroedinger/1.0.11-x86_32/schroedinger-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/schroedinger/1.0.11/Makefile b/libs/schroedinger/1.0.11/Makefile
new file mode 100644
index 000000000..de1598992
--- /dev/null
+++ b/libs/schroedinger/1.0.11/Makefile
@@ -0,0 +1,229 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/schroedinger
+
+REQUIRES           = dev/orc/0.4.26.1
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.0.11
+tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/m/schroedinger/schroedinger-$(version).tar.gz
+SRC_ARCHIVE        = $(tar_gz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/schroedinger-$(version)
+src_dir_name       = schroedinger-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+DIRAC_PKG_NAME                = schroedinger
+DIRAC_PKG_VERSION             = 1.0.11
+DIRAC_PKG_ARCH                = $(TOOLCHAIN)
+DIRAC_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+DIRAC_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+DIRAC_PKG_GROUP               = $(PKG_GROUP)
+###                            |---handy-ruler-------------------------------|
+DIRAC_PKG_SHORT_DESCRIPTION   = Dirac video codec
+DIRAC_PKG_URL                 = $(BUG_URL)
+DIRAC_PKG_LICENSE             = MIT
+DIRAC_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(DIRAC_PKG_NAME)-pkg-description
+DIRAC_PKG_DESCRIPTION_FILE_IN = $(DIRAC_PKG_NAME)-pkg-description.in
+DIRAC_PKG_INSTALL_SCRIPT      = $(DIRAC_PKG_NAME)-pkg-install.sh
+
+DIRAC_PKG        = $(CURDIR)/$(TARGET_BUILD_DIR)/$(DIRAC_PKG_NAME)-package
+
+pkg_basename     = $(DIRAC_PKG_NAME)-$(DIRAC_PKG_VERSION)-$(DIRAC_PKG_ARCH)-$(DIRAC_PKG_DISTRO_NAME)-$(DIRAC_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(DIRAC_PKG)
+
+
+ENABLE_GTK_DOCUMENTATION  = yes
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+ifeq ($(ENABLE_GTK_DOCUMENTATION),yes)
+extra_configure_switches += --enable-gtk-doc=yes
+extra_configure_switches += --enable-gtk-doc-html=yes
+extra_configure_switches += --enable-gtk-doc-pdf=no
+else
+extra_configure_switches += --enable-gtk-doc=no
+extra_configure_switches += --enable-gtk-doc-html=no
+endif
+
+extra_configure_switches += --enable-static=yes
+extra_configure_switches += --enable-shared=yes
+
+
+CFLAGS += -Wno-strict-overflow
+
+
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && \
+	  $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(DIRAC_PKG)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= Install Documentation =======
+	@if [ -d $(DIRAC_PKG)/usr/share/man ]; then \
+	  ( cd $(DIRAC_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(DIRAC_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING* \
+	       $(DIRAC_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(DIRAC_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS COPYING* NEWS README TODO \
+	         $(DIRAC_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+ifneq ($(ENABLE_GTK_DOCUMENTATION),yes)
+	@mkdir -p $(DIRAC_PKG)/usr/share/gtk-doc/html/schroedinger
+	@( cd $(SRC_DIR)/doc/html ; \
+	   cp -a *.html *.sgml *.css *.png schroedinger.devhelp2 \
+	         $(DIRAC_PKG)/usr/share/gtk-doc/html/schroedinger ; \
+	 )
+endif
+	@ln -sf ../../gtk-doc/html/schroedinger $(DIRAC_PKG)/usr/share/doc/$(src_dir_name)/html
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(DIRAC_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(DIRAC_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libschroedinger-?.?.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(DIRAC_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libschroedinger-?.?.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libschroedinger-?.?.la ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" schroedinger-?.?.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(DIRAC_PKG); \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(DIRAC_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(DIRAC_PKG_DESCRIPTION_FILE): $(DIRAC_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(DIRAC_PKG_DESCRIPTION_FILE) $(DIRAC_PKG_INSTALL_SCRIPT)
+	@cp $(DIRAC_PKG_DESCRIPTION_FILE) $(DIRAC_PKG)/.DESCRIPTION
+	@cp $(DIRAC_PKG_INSTALL_SCRIPT) $(DIRAC_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(DIRAC_PKG)/.REQUIRES
+	@echo "pkgname=$(DIRAC_PKG_NAME)"                            >  $(DIRAC_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(DIRAC_PKG_VERSION)"                          >> $(DIRAC_PKG)/.PKGINFO ; \
+	 echo "arch=$(DIRAC_PKG_ARCH)"                               >> $(DIRAC_PKG)/.PKGINFO ; \
+	 echo "distroname=$(DIRAC_PKG_DISTRO_NAME)"                  >> $(DIRAC_PKG)/.PKGINFO ; \
+	 echo "distrover=$(DIRAC_PKG_DISTRO_VERSION)"                >> $(DIRAC_PKG)/.PKGINFO ; \
+	 echo "group=$(DIRAC_PKG_GROUP)"                             >> $(DIRAC_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(DIRAC_PKG_SHORT_DESCRIPTION)\"" >> $(DIRAC_PKG)/.PKGINFO ; \
+	 echo "url=$(DIRAC_PKG_URL)"                                 >> $(DIRAC_PKG)/.PKGINFO ; \
+	 echo "license=$(DIRAC_PKG_LICENSE)"                         >> $(DIRAC_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(DIRAC_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/schroedinger/1.0.11/PATCHES b/libs/schroedinger/1.0.11/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/libs/schroedinger/1.0.11/schroedinger-pkg-description.in b/libs/schroedinger/1.0.11/schroedinger-pkg-description.in
new file mode 100644
index 000000000..49c68fc81
--- /dev/null
+++ b/libs/schroedinger/1.0.11/schroedinger-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+            |-----handy-ruler------------------------------------------------------|
+schroedinger: schroedinger @VERSION@ (Dirac video codec)
+schroedinger:
+schroedinger: Schroedinger (or "schro" for short) is an implementation of the
+schroedinger: Dirac and SMPTE VC-2 video compression specification. Dirac was
+schroedinger: developed by BBC Research & Development [http://www.bbc.co.uk/rd/]
+schroedinger: as an open technology with open licensing.
+schroedinger:
+schroedinger:
+schroedinger:
+schroedinger:
+schroedinger:
diff --git a/libs/schroedinger/1.0.11/schroedinger-pkg-install.sh b/libs/schroedinger/1.0.11/schroedinger-pkg-install.sh
new file mode 100755
index 000000000..b44c4e648
--- /dev/null
+++ b/libs/schroedinger/1.0.11/schroedinger-pkg-install.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/xvidcore/1.3.4-x86_32/Makefile b/libs/xvidcore/1.3.4-x86_32/Makefile
new file mode 100644
index 000000000..a91ae157a
--- /dev/null
+++ b/libs/xvidcore/1.3.4-x86_32/Makefile
@@ -0,0 +1,139 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/xvidcore
+
+REQUIRES           = libs/xvidcore/1.3.4
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.3.4
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/m/xvidcore/xvidcore-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/xvidcore
+src_dir_name       = xvidcore
+doc_dir_name       = xvidcore-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+XVID_32_PKG_NAME                = xvidcore-x32
+XVID_32_PKG_VERSION             = 1.3.4
+XVID_32_PKG_ARCH                = $(TOOLCHAIN)
+XVID_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+XVID_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+XVID_32_PKG_GROUP               = $(PKG_GROUP)
+###                              |---handy-ruler-------------------------------|
+XVID_32_PKG_SHORT_DESCRIPTION   = XviD MPEG-4 video codec
+XVID_32_PKG_URL                 = $(BUG_URL)
+XVID_32_PKG_LICENSE             = GPLv2
+XVID_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(XVID_32_PKG_NAME)-pkg-description
+XVID_32_PKG_DESCRIPTION_FILE_IN = $(XVID_32_PKG_NAME)-pkg-description.in
+XVID_32_PKG_INSTALL_SCRIPT      = $(XVID_32_PKG_NAME)-pkg-install.sh
+
+XVID_32_PKG      = $(CURDIR)/$(TARGET_BUILD_DIR)/$(XVID_32_PKG_NAME)-package
+
+pkg_basename     = $(XVID_32_PKG_NAME)-$(XVID_32_PKG_VERSION)-$(XVID_32_PKG_ARCH)-$(XVID_32_PKG_DISTRO_NAME)-$(XVID_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(XVID_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(doc_dir_name)
+extra_configure_switches += --mandir=/usr/share/man
+
+
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR)/build/generic && $(BUILD_ENVIRONMENT) ./configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(SRC_DIR)/build/generic && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(XVID_32_PKG)
+	@cd $(SRC_DIR)/build/generic && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@chmod 755 $(XVID_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libxvidcore.so.?.*
+	@rm -rf $(XVID_32_PKG)/usr/include
+	@rm -rf $(XVID_32_PKG)/usr/share
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(XVID_32_PKG))
+	# =======Strip binaries =======
+	@( cd $(XVID_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+	@touch $@
+
+$(XVID_32_PKG_DESCRIPTION_FILE): $(XVID_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(XVID_32_PKG_DESCRIPTION_FILE) $(XVID_32_PKG_INSTALL_SCRIPT)
+	@cp $(XVID_32_PKG_DESCRIPTION_FILE) $(XVID_32_PKG)/.DESCRIPTION
+	@cp $(XVID_32_PKG_INSTALL_SCRIPT) $(XVID_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(XVID_32_PKG)/.REQUIRES
+	@echo "pkgname=$(XVID_32_PKG_NAME)"                            >  $(XVID_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(XVID_32_PKG_VERSION)"                          >> $(XVID_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(XVID_32_PKG_ARCH)"                               >> $(XVID_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(XVID_32_PKG_DISTRO_NAME)"                  >> $(XVID_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(XVID_32_PKG_DISTRO_VERSION)"                >> $(XVID_32_PKG)/.PKGINFO ; \
+	 echo "group=$(XVID_32_PKG_GROUP)"                             >> $(XVID_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(XVID_32_PKG_SHORT_DESCRIPTION)\"" >> $(XVID_32_PKG)/.PKGINFO ; \
+	 echo "url=$(XVID_32_PKG_URL)"                                 >> $(XVID_32_PKG)/.PKGINFO ; \
+	 echo "license=$(XVID_32_PKG_LICENSE)"                         >> $(XVID_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(XVID_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/xvidcore/1.3.4-x86_32/PATCHES b/libs/xvidcore/1.3.4-x86_32/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/libs/xvidcore/1.3.4-x86_32/xvidcore-x32-pkg-description.in b/libs/xvidcore/1.3.4-x86_32/xvidcore-x32-pkg-description.in
new file mode 100644
index 000000000..c4e5a4541
--- /dev/null
+++ b/libs/xvidcore/1.3.4-x86_32/xvidcore-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+            |-----handy-ruler------------------------------------------------------|
+xvidcore-x32: xvidcore-x32 @VERSION@ (x86_32 XviD MPEG-4 video codec)
+xvidcore-x32:
+xvidcore-x32: Xvid is a high performance and high quality MPEG-4 video
+xvidcore-x32: de-/encoding solution.
+xvidcore-x32:
+xvidcore-x32:
+xvidcore-x32: Homepage: http://www.xvid.org
+xvidcore-x32:
+xvidcore-x32:
+xvidcore-x32:
+xvidcore-x32:
diff --git a/libs/xvidcore/1.3.4-x86_32/xvidcore-x32-pkg-install.sh b/libs/xvidcore/1.3.4-x86_32/xvidcore-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/libs/xvidcore/1.3.4-x86_32/xvidcore-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/xvidcore/1.3.4/Makefile b/libs/xvidcore/1.3.4/Makefile
new file mode 100644
index 000000000..fc973a6fd
--- /dev/null
+++ b/libs/xvidcore/1.3.4/Makefile
@@ -0,0 +1,189 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/xvidcore
+
+ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
+REQUIRES           = dev/gcc/5.3.0
+else
+ifneq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES           = libs/glibc/2.23
+else
+REQUIRES           = libs/glibc/2.23-x86_32
+endif
+endif
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.3.4
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/m/xvidcore/xvidcore-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/xvidcore
+src_dir_name       = xvidcore
+doc_dir_name       = xvidcore-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+XVID_PKG_NAME                = xvidcore
+XVID_PKG_VERSION             = 1.3.4
+XVID_PKG_ARCH                = $(TOOLCHAIN)
+XVID_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+XVID_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+XVID_PKG_GROUP               = $(PKG_GROUP)
+###                           |---handy-ruler-------------------------------|
+XVID_PKG_SHORT_DESCRIPTION   = XviD MPEG-4 video codec
+XVID_PKG_URL                 = $(BUG_URL)
+XVID_PKG_LICENSE             = GPLv2
+XVID_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(XVID_PKG_NAME)-pkg-description
+XVID_PKG_DESCRIPTION_FILE_IN = $(XVID_PKG_NAME)-pkg-description.in
+XVID_PKG_INSTALL_SCRIPT      = $(XVID_PKG_NAME)-pkg-install.sh
+
+XVID_PKG         = $(CURDIR)/$(TARGET_BUILD_DIR)/$(XVID_PKG_NAME)-package
+
+pkg_basename     = $(XVID_PKG_NAME)-$(XVID_PKG_VERSION)-$(XVID_PKG_ARCH)-$(XVID_PKG_DISTRO_NAME)-$(XVID_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(XVID_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(doc_dir_name)
+extra_configure_switches += --mandir=/usr/share/man
+
+
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@( cd $(SRC_DIR) ; \
+	   sed -i 's/\r//' ChangeLog ; \
+	 )
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR)/build/generic && \
+	  $(BUILD_ENVIRONMENT) ./configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(SRC_DIR)/build/generic && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(XVID_PKG)
+	@cd $(SRC_DIR)/build/generic && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@chmod 755 $(XVID_PKG)/usr/lib$(LIBSUFFIX)/libxvidcore.so.?.*
+	# ======= Install Documentation =======
+	@if [ -d $(XVID_PKG)/usr/share/man ]; then \
+	  ( cd $(XVID_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(XVID_PKG)/usr/doc/$(doc_dir_name)
+	@cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/LICENSE \
+	       $(XVID_PKG)/usr/doc/$(doc_dir_name)
+	@mkdir -p $(XVID_PKG)/usr/share/doc/$(doc_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS LICENSE README TODO \
+	         $(XVID_PKG)/usr/share/doc/$(doc_dir_name) \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(XVID_PKG)/usr/share/doc/$(doc_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(XVID_PKG))
+	# ======= Strip binaries =======
+	@( cd $(XVID_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+	@touch $@
+
+$(XVID_PKG_DESCRIPTION_FILE): $(XVID_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(XVID_PKG_DESCRIPTION_FILE) $(XVID_PKG_INSTALL_SCRIPT)
+	@cp $(XVID_PKG_DESCRIPTION_FILE) $(XVID_PKG)/.DESCRIPTION
+	@cp $(XVID_PKG_INSTALL_SCRIPT) $(XVID_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(XVID_PKG)/.REQUIRES
+	@echo "pkgname=$(XVID_PKG_NAME)"                            >  $(XVID_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(XVID_PKG_VERSION)"                          >> $(XVID_PKG)/.PKGINFO ; \
+	 echo "arch=$(XVID_PKG_ARCH)"                               >> $(XVID_PKG)/.PKGINFO ; \
+	 echo "distroname=$(XVID_PKG_DISTRO_NAME)"                  >> $(XVID_PKG)/.PKGINFO ; \
+	 echo "distrover=$(XVID_PKG_DISTRO_VERSION)"                >> $(XVID_PKG)/.PKGINFO ; \
+	 echo "group=$(XVID_PKG_GROUP)"                             >> $(XVID_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(XVID_PKG_SHORT_DESCRIPTION)\"" >> $(XVID_PKG)/.PKGINFO ; \
+	 echo "url=$(XVID_PKG_URL)"                                 >> $(XVID_PKG)/.PKGINFO ; \
+	 echo "license=$(XVID_PKG_LICENSE)"                         >> $(XVID_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(XVID_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/xvidcore/1.3.4/PATCHES b/libs/xvidcore/1.3.4/PATCHES
new file mode 100644
index 000000000..e69de29bb
diff --git a/libs/xvidcore/1.3.4/xvidcore-pkg-description.in b/libs/xvidcore/1.3.4/xvidcore-pkg-description.in
new file mode 100644
index 000000000..cf1ea196c
--- /dev/null
+++ b/libs/xvidcore/1.3.4/xvidcore-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler------------------------------------------------------|
+xvidcore: xvidcore @VERSION@ (XviD MPEG-4 video codec)
+xvidcore:
+xvidcore: Xvid is a high performance and high quality MPEG-4 video
+xvidcore: de-/encoding solution.
+xvidcore:
+xvidcore:
+xvidcore: Homepage: http://www.xvid.org
+xvidcore:
+xvidcore:
+xvidcore:
+xvidcore:
diff --git a/libs/xvidcore/1.3.4/xvidcore-pkg-install.sh b/libs/xvidcore/1.3.4/xvidcore-pkg-install.sh
new file mode 100755
index 000000000..b44c4e648
--- /dev/null
+++ b/libs/xvidcore/1.3.4/xvidcore-pkg-install.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/zita-alsa-pcmi/0.2.0-x86_32/Makefile b/libs/zita-alsa-pcmi/0.2.0-x86_32/Makefile
new file mode 100644
index 000000000..4f82bd48e
--- /dev/null
+++ b/libs/zita-alsa-pcmi/0.2.0-x86_32/Makefile
@@ -0,0 +1,137 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/linuxaudio/kokkinizita/zita-alsa-pcmi
+
+REQUIRES           = libs/zita-alsa-pcmi/0.2.0
+REQUIRES          += libs/alsa-lib/1.1.1-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.2.0
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/m/linuxaudio/kokkinizita/zita-alsa-pcmi/zita-alsa-pcmi-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/zita-alsa-pcmi-$(version)
+src_dir_name       = zita-alsa-pcmi-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+Z_ALSA_PCM_32_PKG_NAME                = zita-alsa-pcmi-x32
+Z_ALSA_PCM_32_PKG_VERSION             = 0.2.0
+Z_ALSA_PCM_32_PKG_ARCH                = $(TOOLCHAIN)
+Z_ALSA_PCM_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+Z_ALSA_PCM_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+Z_ALSA_PCM_32_PKG_GROUP               = $(PKG_GROUP)
+###                                    |---handy-ruler-------------------------------|
+Z_ALSA_PCM_32_PKG_SHORT_DESCRIPTION   = easy access to ALSA PCM devices library
+Z_ALSA_PCM_32_PKG_URL                 = $(BUG_URL)
+Z_ALSA_PCM_32_PKG_LICENSE             = GPLv3
+Z_ALSA_PCM_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(Z_ALSA_PCM_32_PKG_NAME)-pkg-description
+Z_ALSA_PCM_32_PKG_DESCRIPTION_FILE_IN = $(Z_ALSA_PCM_32_PKG_NAME)-pkg-description.in
+Z_ALSA_PCM_32_PKG_INSTALL_SCRIPT      = $(Z_ALSA_PCM_32_PKG_NAME)-pkg-install.sh
+
+Z_ALSA_PCM_32_PKG = $(CURDIR)/$(TARGET_BUILD_DIR)/$(Z_ALSA_PCM_32_PKG_NAME)-package
+
+pkg_basename      = $(Z_ALSA_PCM_32_PKG_NAME)-$(Z_ALSA_PCM_32_PKG_VERSION)-$(Z_ALSA_PCM_32_PKG_ARCH)-$(Z_ALSA_PCM_32_PKG_DISTRO_NAME)-$(Z_ALSA_PCM_32_PKG_DISTRO_VERSION)
+
+pkg_archive       = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature     = $(call sign-name,$(pkg_archive))
+pkg_description   = $(call desc-name,$(pkg_archive))
+products          = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS     = $(build_target)
+BUILD_TARGETS    += $(install_target)
+
+PRODUCT_TARGETS   = $(products)
+
+ROOTFS_TARGETS    = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+CXXFLAGS += -I../libs
+
+
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+LDFLAGS += -L../libs -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@( cd $(SRC_DIR)/libs ; \
+	   $(BUILD_ENVIRONMENT) \
+	      $(MAKE) PREFIX=/usr LIBDIR=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   ln -sf libzita-alsa-pcmi.so.$(version) libzita-alsa-pcmi.so   ; \
+	 )
+	@( cd $(SRC_DIR)/apps ; \
+	   $(BUILD_ENVIRONMENT)  \
+	      $(MAKE) PREFIX=/usr LIBDIR=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(Z_ALSA_PCM_32_PKG)
+	@( cd $(SRC_DIR) ; \
+	   $(MAKE) -j1 -C libs DESTDIR="$(Z_ALSA_PCM_32_PKG)" PREFIX=/usr LIBDIR=lib$(MULTILIB_X86_32_SUFFIX) install ; \
+	   $(MAKE) -j1 -C apps DESTDIR="$(Z_ALSA_PCM_32_PKG)" PREFIX=/usr BINDIR=bin/32 LIBDIR=lib$(MULTILIB_X86_32_SUFFIX) install ; \
+	 )
+	@rm -rf $(Z_ALSA_PCM_32_PKG)/usr/include
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(Z_ALSA_PCM_32_PKG))
+	# ======= Strip binaries =======
+	@( cd $(Z_ALSA_PCM_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+	@touch $@
+
+$(Z_ALSA_PCM_32_PKG_DESCRIPTION_FILE): $(Z_ALSA_PCM_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(Z_ALSA_PCM_32_PKG_DESCRIPTION_FILE) $(Z_ALSA_PCM_32_PKG_INSTALL_SCRIPT)
+	@cp $(Z_ALSA_PCM_32_PKG_DESCRIPTION_FILE) $(Z_ALSA_PCM_32_PKG)/.DESCRIPTION
+	@cp $(Z_ALSA_PCM_32_PKG_INSTALL_SCRIPT) $(Z_ALSA_PCM_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(Z_ALSA_PCM_32_PKG)/.REQUIRES
+	@echo "pkgname=$(Z_ALSA_PCM_32_PKG_NAME)"                            >  $(Z_ALSA_PCM_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(Z_ALSA_PCM_32_PKG_VERSION)"                          >> $(Z_ALSA_PCM_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(Z_ALSA_PCM_32_PKG_ARCH)"                               >> $(Z_ALSA_PCM_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(Z_ALSA_PCM_32_PKG_DISTRO_NAME)"                  >> $(Z_ALSA_PCM_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(Z_ALSA_PCM_32_PKG_DISTRO_VERSION)"                >> $(Z_ALSA_PCM_32_PKG)/.PKGINFO ; \
+	 echo "group=$(Z_ALSA_PCM_32_PKG_GROUP)"                             >> $(Z_ALSA_PCM_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(Z_ALSA_PCM_32_PKG_SHORT_DESCRIPTION)\"" >> $(Z_ALSA_PCM_32_PKG)/.PKGINFO ; \
+	 echo "url=$(Z_ALSA_PCM_32_PKG_URL)"                                 >> $(Z_ALSA_PCM_32_PKG)/.PKGINFO ; \
+	 echo "license=$(Z_ALSA_PCM_32_PKG_LICENSE)"                         >> $(Z_ALSA_PCM_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(Z_ALSA_PCM_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/zita-alsa-pcmi/0.2.0-x86_32/PATCHES b/libs/zita-alsa-pcmi/0.2.0-x86_32/PATCHES
new file mode 100644
index 000000000..8a834cff7
--- /dev/null
+++ b/libs/zita-alsa-pcmi/0.2.0-x86_32/PATCHES
@@ -0,0 +1,2 @@
+
+../../../sources/packages/m/linuxaudio/kokkinizita/zita-alsa-pcmi/patches/zita-alsa-pcmi-0.2.0-make.patch -p0
diff --git a/libs/zita-alsa-pcmi/0.2.0-x86_32/zita-alsa-pcmi-x32-pkg-description.in b/libs/zita-alsa-pcmi/0.2.0-x86_32/zita-alsa-pcmi-x32-pkg-description.in
new file mode 100644
index 000000000..e3120b443
--- /dev/null
+++ b/libs/zita-alsa-pcmi/0.2.0-x86_32/zita-alsa-pcmi-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+                  |-----handy-ruler------------------------------------------------------|
+zita-alsa-pcmi-x32: zita-alsa-pcmi-x32 @VERSION@ (x86_32 access to ALSA PCM devices library)
+zita-alsa-pcmi-x32:
+zita-alsa-pcmi-x32: Zita-alsa-pcmi is the successor of clalsadrv. It provides easy
+zita-alsa-pcmi-x32: access to ALSA PCM devices, taking care of the many functions
+zita-alsa-pcmi-x32: required to open, initialise and use a hw: device in mmap mode,
+zita-alsa-pcmi-x32: and providing floating point audio data.
+zita-alsa-pcmi-x32:
+zita-alsa-pcmi-x32:
+zita-alsa-pcmi-x32: Homepage: http://kokkinizita.linuxaudio.org/linuxaudio
+zita-alsa-pcmi-x32:
+zita-alsa-pcmi-x32:
diff --git a/libs/zita-alsa-pcmi/0.2.0-x86_32/zita-alsa-pcmi-x32-pkg-install.sh b/libs/zita-alsa-pcmi/0.2.0-x86_32/zita-alsa-pcmi-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/libs/zita-alsa-pcmi/0.2.0-x86_32/zita-alsa-pcmi-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/zita-alsa-pcmi/0.2.0/Makefile b/libs/zita-alsa-pcmi/0.2.0/Makefile
new file mode 100644
index 000000000..7c81a057a
--- /dev/null
+++ b/libs/zita-alsa-pcmi/0.2.0/Makefile
@@ -0,0 +1,175 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/linuxaudio/kokkinizita/zita-alsa-pcmi
+
+REQUIRES           = libs/alsa-lib/1.1.1
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.2.0
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/m/linuxaudio/kokkinizita/zita-alsa-pcmi/zita-alsa-pcmi-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/zita-alsa-pcmi-$(version)
+src_dir_name       = zita-alsa-pcmi-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+Z_ALSA_PCM_PKG_NAME                = zita-alsa-pcmi
+Z_ALSA_PCM_PKG_VERSION             = 0.2.0
+Z_ALSA_PCM_PKG_ARCH                = $(TOOLCHAIN)
+Z_ALSA_PCM_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+Z_ALSA_PCM_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+Z_ALSA_PCM_PKG_GROUP               = $(PKG_GROUP)
+###                                 |---handy-ruler-------------------------------|
+Z_ALSA_PCM_PKG_SHORT_DESCRIPTION   = easy access to ALSA PCM devices library
+Z_ALSA_PCM_PKG_URL                 = $(BUG_URL)
+Z_ALSA_PCM_PKG_LICENSE             = GPLv3
+Z_ALSA_PCM_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(Z_ALSA_PCM_PKG_NAME)-pkg-description
+Z_ALSA_PCM_PKG_DESCRIPTION_FILE_IN = $(Z_ALSA_PCM_PKG_NAME)-pkg-description.in
+Z_ALSA_PCM_PKG_INSTALL_SCRIPT      = $(Z_ALSA_PCM_PKG_NAME)-pkg-install.sh
+
+Z_ALSA_PCM_PKG   = $(CURDIR)/$(TARGET_BUILD_DIR)/$(Z_ALSA_PCM_PKG_NAME)-package
+
+pkg_basename     = $(Z_ALSA_PCM_PKG_NAME)-$(Z_ALSA_PCM_PKG_VERSION)-$(Z_ALSA_PCM_PKG_ARCH)-$(Z_ALSA_PCM_PKG_DISTRO_NAME)-$(Z_ALSA_PCM_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+CXXFLAGS += -I../libs
+
+
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+LDFLAGS += -L../libs -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@( cd $(SRC_DIR)/libs ; \
+	   $(BUILD_ENVIRONMENT) \
+	      $(MAKE) PREFIX=/usr LIBDIR=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   ln -sf libzita-alsa-pcmi.so.$(version) libzita-alsa-pcmi.so   ; \
+	 )
+	@( cd $(SRC_DIR)/apps ; \
+	   $(BUILD_ENVIRONMENT)  \
+	      $(MAKE) PREFIX=/usr LIBDIR=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(Z_ALSA_PCM_PKG)
+	@( cd $(SRC_DIR) ; \
+	   $(MAKE) -j1 -C libs DESTDIR="$(Z_ALSA_PCM_PKG)" PREFIX=/usr LIBDIR=lib$(LIBSUFFIX) install ; \
+	   $(MAKE) -j1 -C apps DESTDIR="$(Z_ALSA_PCM_PKG)" PREFIX=/usr BINDIR=bin LIBDIR=lib$(LIBSUFFIX) install ; \
+	 )
+	# ======= Install Documentation =======
+	@if [ -d $(Z_ALSA_PCM_PKG)/usr/share/man ]; then \
+	  ( cd $(Z_ALSA_PCM_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(Z_ALSA_PCM_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING \
+	       $(Z_ALSA_PCM_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(Z_ALSA_PCM_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS COPYING INSTALL README \
+	         $(Z_ALSA_PCM_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(Z_ALSA_PCM_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(Z_ALSA_PCM_PKG))
+	# ======= Strip binaries =======
+	@( cd $(Z_ALSA_PCM_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+	@touch $@
+
+$(Z_ALSA_PCM_PKG_DESCRIPTION_FILE): $(Z_ALSA_PCM_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(Z_ALSA_PCM_PKG_DESCRIPTION_FILE) $(Z_ALSA_PCM_PKG_INSTALL_SCRIPT)
+	@cp $(Z_ALSA_PCM_PKG_DESCRIPTION_FILE) $(Z_ALSA_PCM_PKG)/.DESCRIPTION
+	@cp $(Z_ALSA_PCM_PKG_INSTALL_SCRIPT) $(Z_ALSA_PCM_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(Z_ALSA_PCM_PKG)/.REQUIRES
+	@echo "pkgname=$(Z_ALSA_PCM_PKG_NAME)"                            >  $(Z_ALSA_PCM_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(Z_ALSA_PCM_PKG_VERSION)"                          >> $(Z_ALSA_PCM_PKG)/.PKGINFO ; \
+	 echo "arch=$(Z_ALSA_PCM_PKG_ARCH)"                               >> $(Z_ALSA_PCM_PKG)/.PKGINFO ; \
+	 echo "distroname=$(Z_ALSA_PCM_PKG_DISTRO_NAME)"                  >> $(Z_ALSA_PCM_PKG)/.PKGINFO ; \
+	 echo "distrover=$(Z_ALSA_PCM_PKG_DISTRO_VERSION)"                >> $(Z_ALSA_PCM_PKG)/.PKGINFO ; \
+	 echo "group=$(Z_ALSA_PCM_PKG_GROUP)"                             >> $(Z_ALSA_PCM_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(Z_ALSA_PCM_PKG_SHORT_DESCRIPTION)\"" >> $(Z_ALSA_PCM_PKG)/.PKGINFO ; \
+	 echo "url=$(Z_ALSA_PCM_PKG_URL)"                                 >> $(Z_ALSA_PCM_PKG)/.PKGINFO ; \
+	 echo "license=$(Z_ALSA_PCM_PKG_LICENSE)"                         >> $(Z_ALSA_PCM_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(Z_ALSA_PCM_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/zita-alsa-pcmi/0.2.0/PATCHES b/libs/zita-alsa-pcmi/0.2.0/PATCHES
new file mode 100644
index 000000000..8a834cff7
--- /dev/null
+++ b/libs/zita-alsa-pcmi/0.2.0/PATCHES
@@ -0,0 +1,2 @@
+
+../../../sources/packages/m/linuxaudio/kokkinizita/zita-alsa-pcmi/patches/zita-alsa-pcmi-0.2.0-make.patch -p0
diff --git a/libs/zita-alsa-pcmi/0.2.0/zita-alsa-pcmi-pkg-description.in b/libs/zita-alsa-pcmi/0.2.0/zita-alsa-pcmi-pkg-description.in
new file mode 100644
index 000000000..f92dae2c8
--- /dev/null
+++ b/libs/zita-alsa-pcmi/0.2.0/zita-alsa-pcmi-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+              |-----handy-ruler------------------------------------------------------|
+zita-alsa-pcmi: zita-alsa-pcmi @VERSION@ (easy access to ALSA PCM devices library)
+zita-alsa-pcmi:
+zita-alsa-pcmi: Zita-alsa-pcmi is the successor of clalsadrv. It provides easy
+zita-alsa-pcmi: access to ALSA PCM devices, taking care of the many functions
+zita-alsa-pcmi: required to open, initialise and use a hw: device in mmap mode,
+zita-alsa-pcmi: and providing floating point audio data.
+zita-alsa-pcmi:
+zita-alsa-pcmi:
+zita-alsa-pcmi: Homepage: http://kokkinizita.linuxaudio.org/linuxaudio
+zita-alsa-pcmi:
+zita-alsa-pcmi:
diff --git a/libs/zita-alsa-pcmi/0.2.0/zita-alsa-pcmi-pkg-install.sh b/libs/zita-alsa-pcmi/0.2.0/zita-alsa-pcmi-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/libs/zita-alsa-pcmi/0.2.0/zita-alsa-pcmi-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/zita-resampler/1.3.0-x86_32/Makefile b/libs/zita-resampler/1.3.0-x86_32/Makefile
new file mode 100644
index 000000000..db76a0e84
--- /dev/null
+++ b/libs/zita-resampler/1.3.0-x86_32/Makefile
@@ -0,0 +1,138 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/linuxaudio/kokkinizita/zita-resampler
+
+REQUIRES           = libs/zita-resampler/1.3.0
+REQUIRES          += libs/libsndfile/1.0.26-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.3.0
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/m/linuxaudio/kokkinizita/zita-resampler/zita-resampler-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/zita-resampler-$(version)
+src_dir_name       = zita-resampler-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+Z_RESAMPLE_32_PKG_NAME                = zita-resampler-x32
+Z_RESAMPLE_32_PKG_VERSION             = 1.3.0
+Z_RESAMPLE_32_PKG_ARCH                = $(TOOLCHAIN)
+Z_RESAMPLE_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+Z_RESAMPLE_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+Z_RESAMPLE_32_PKG_GROUP               = $(PKG_GROUP)
+###                                    |---handy-ruler-------------------------------|
+Z_RESAMPLE_32_PKG_SHORT_DESCRIPTION   = sample rate conversion library
+Z_RESAMPLE_32_PKG_URL                 = $(BUG_URL)
+Z_RESAMPLE_32_PKG_LICENSE             = GPLv3
+Z_RESAMPLE_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(Z_RESAMPLE_32_PKG_NAME)-pkg-description
+Z_RESAMPLE_32_PKG_DESCRIPTION_FILE_IN = $(Z_RESAMPLE_32_PKG_NAME)-pkg-description.in
+Z_RESAMPLE_32_PKG_INSTALL_SCRIPT      = $(Z_RESAMPLE_32_PKG_NAME)-pkg-install.sh
+
+Z_RESAMPLE_32_PKG = $(CURDIR)/$(TARGET_BUILD_DIR)/$(Z_RESAMPLE_32_PKG_NAME)-package
+
+pkg_basename      = $(Z_RESAMPLE_32_PKG_NAME)-$(Z_RESAMPLE_32_PKG_VERSION)-$(Z_RESAMPLE_32_PKG_ARCH)-$(Z_RESAMPLE_32_PKG_DISTRO_NAME)-$(Z_RESAMPLE_32_PKG_DISTRO_VERSION)
+
+pkg_archive       = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature     = $(call sign-name,$(pkg_archive))
+pkg_description   = $(call desc-name,$(pkg_archive))
+products          = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS     = $(build_target)
+BUILD_TARGETS    += $(install_target)
+
+PRODUCT_TARGETS   = $(products)
+
+ROOTFS_TARGETS    = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+CXXFLAGS += -I../libs
+
+
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+LDFLAGS += -L../libs -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@( cd $(SRC_DIR)/libs ; \
+	   $(BUILD_ENVIRONMENT) \
+	      $(MAKE) PREFIX=/usr LIBDIR=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   ln -sf libzita-resampler.so.$(version) libzita-resampler.so   ; \
+	 )
+	@( cd $(SRC_DIR)/apps ; \
+	   $(BUILD_ENVIRONMENT)  \
+	      $(MAKE) PREFIX=/usr LIBDIR=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(Z_RESAMPLE_32_PKG)
+	@( cd $(SRC_DIR) ; \
+	   $(MAKE) -j1 -C libs DESTDIR="$(Z_RESAMPLE_32_PKG)" PREFIX=/usr LIBDIR=lib$(MULTILIB_X86_32_SUFFIX) install ; \
+	   $(MAKE) -j1 -C apps DESTDIR="$(Z_RESAMPLE_32_PKG)" PREFIX=/usr BINDIR=bin/32 LIBDIR=lib$(MULTILIB_X86_32_SUFFIX) install ; \
+	 )
+	@rm -rf $(Z_RESAMPLE_32_PKG)/usr/include
+	@rm -rf $(Z_RESAMPLE_32_PKG)/usr/share
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(Z_RESAMPLE_32_PKG))
+	# ======= Strip binaries =======
+	@( cd $(Z_RESAMPLE_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+	@touch $@
+
+$(Z_RESAMPLE_32_PKG_DESCRIPTION_FILE): $(Z_RESAMPLE_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(Z_RESAMPLE_32_PKG_DESCRIPTION_FILE) $(Z_RESAMPLE_32_PKG_INSTALL_SCRIPT)
+	@cp $(Z_RESAMPLE_32_PKG_DESCRIPTION_FILE) $(Z_RESAMPLE_32_PKG)/.DESCRIPTION
+	@cp $(Z_RESAMPLE_32_PKG_INSTALL_SCRIPT) $(Z_RESAMPLE_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(Z_RESAMPLE_32_PKG)/.REQUIRES
+	@echo "pkgname=$(Z_RESAMPLE_32_PKG_NAME)"                            >  $(Z_RESAMPLE_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(Z_RESAMPLE_32_PKG_VERSION)"                          >> $(Z_RESAMPLE_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(Z_RESAMPLE_32_PKG_ARCH)"                               >> $(Z_RESAMPLE_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(Z_RESAMPLE_32_PKG_DISTRO_NAME)"                  >> $(Z_RESAMPLE_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(Z_RESAMPLE_32_PKG_DISTRO_VERSION)"                >> $(Z_RESAMPLE_32_PKG)/.PKGINFO ; \
+	 echo "group=$(Z_RESAMPLE_32_PKG_GROUP)"                             >> $(Z_RESAMPLE_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(Z_RESAMPLE_32_PKG_SHORT_DESCRIPTION)\"" >> $(Z_RESAMPLE_32_PKG)/.PKGINFO ; \
+	 echo "url=$(Z_RESAMPLE_32_PKG_URL)"                                 >> $(Z_RESAMPLE_32_PKG)/.PKGINFO ; \
+	 echo "license=$(Z_RESAMPLE_32_PKG_LICENSE)"                         >> $(Z_RESAMPLE_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(Z_RESAMPLE_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/zita-resampler/1.3.0-x86_32/PATCHES b/libs/zita-resampler/1.3.0-x86_32/PATCHES
new file mode 100644
index 000000000..6a65fa30b
--- /dev/null
+++ b/libs/zita-resampler/1.3.0-x86_32/PATCHES
@@ -0,0 +1,2 @@
+
+../../../sources/packages/m/linuxaudio/kokkinizita/zita-resampler/patches/zita-resampler-1.3.0-make.patch -p0
diff --git a/libs/zita-resampler/1.3.0-x86_32/zita-resampler-x32-pkg-description.in b/libs/zita-resampler/1.3.0-x86_32/zita-resampler-x32-pkg-description.in
new file mode 100644
index 000000000..2d1691f68
--- /dev/null
+++ b/libs/zita-resampler/1.3.0-x86_32/zita-resampler-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+                  |-----handy-ruler------------------------------------------------------|
+zita-resampler-x32: zita-resampler-x32 @VERSION@ (x86_32 sample rate conversion library)
+zita-resampler-x32:
+zita-resampler-x32: Zita-resampler is a C++ library for sample rate conversion of
+zita-resampler-x32: audio signals. Full documentation is available in HTML format,
+zita-resampler-x32: see the 'docs' directory.
+zita-resampler-x32:
+zita-resampler-x32:
+zita-resampler-x32: Homepage: http://kokkinizita.linuxaudio.org/linuxaudio
+zita-resampler-x32:
+zita-resampler-x32:
+zita-resampler-x32:
diff --git a/libs/zita-resampler/1.3.0-x86_32/zita-resampler-x32-pkg-install.sh b/libs/zita-resampler/1.3.0-x86_32/zita-resampler-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/libs/zita-resampler/1.3.0-x86_32/zita-resampler-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/libs/zita-resampler/1.3.0/Makefile b/libs/zita-resampler/1.3.0/Makefile
new file mode 100644
index 000000000..16b1f9306
--- /dev/null
+++ b/libs/zita-resampler/1.3.0/Makefile
@@ -0,0 +1,163 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/linuxaudio/kokkinizita/zita-resampler
+
+REQUIRES           = libs/libsndfile/1.0.26
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.3.0
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/m/linuxaudio/kokkinizita/zita-resampler/zita-resampler-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/zita-resampler-$(version)
+src_dir_name       = zita-resampler-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+Z_RESAMPLE_PKG_NAME                = zita-resampler
+Z_RESAMPLE_PKG_VERSION             = 1.3.0
+Z_RESAMPLE_PKG_ARCH                = $(TOOLCHAIN)
+Z_RESAMPLE_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+Z_RESAMPLE_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+Z_RESAMPLE_PKG_GROUP               = $(PKG_GROUP)
+###                                 |---handy-ruler-------------------------------|
+Z_RESAMPLE_PKG_SHORT_DESCRIPTION   = sample rate conversion library
+Z_RESAMPLE_PKG_URL                 = $(BUG_URL)
+Z_RESAMPLE_PKG_LICENSE             = GPLv3
+Z_RESAMPLE_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(Z_RESAMPLE_PKG_NAME)-pkg-description
+Z_RESAMPLE_PKG_DESCRIPTION_FILE_IN = $(Z_RESAMPLE_PKG_NAME)-pkg-description.in
+Z_RESAMPLE_PKG_INSTALL_SCRIPT      = $(Z_RESAMPLE_PKG_NAME)-pkg-install.sh
+
+Z_RESAMPLE_PKG   = $(CURDIR)/$(TARGET_BUILD_DIR)/$(Z_RESAMPLE_PKG_NAME)-package
+
+pkg_basename     = $(Z_RESAMPLE_PKG_NAME)-$(Z_RESAMPLE_PKG_VERSION)-$(Z_RESAMPLE_PKG_ARCH)-$(Z_RESAMPLE_PKG_DISTRO_NAME)-$(Z_RESAMPLE_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+CXXFLAGS += -I../libs
+
+
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+LDFLAGS += -L../libs -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@( cd $(SRC_DIR)/libs ; \
+	   $(BUILD_ENVIRONMENT) \
+	      $(MAKE) PREFIX=/usr LIBDIR=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   ln -sf libzita-resampler.so.$(version) libzita-resampler.so   ; \
+	 )
+	@( cd $(SRC_DIR)/apps ; \
+	   $(BUILD_ENVIRONMENT)  \
+	      $(MAKE) PREFIX=/usr LIBDIR=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(Z_RESAMPLE_PKG)
+	@( cd $(SRC_DIR) ; \
+	   $(MAKE) -j1 -C libs DESTDIR="$(Z_RESAMPLE_PKG)" PREFIX=/usr LIBDIR=lib$(LIBSUFFIX) install ; \
+	   $(MAKE) -j1 -C apps DESTDIR="$(Z_RESAMPLE_PKG)" PREFIX=/usr BINDIR=bin LIBDIR=lib$(LIBSUFFIX) install ; \
+	 )
+	# ======= Install Documentation =======
+	@mkdir -p $(Z_RESAMPLE_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING \
+	       $(Z_RESAMPLE_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(Z_RESAMPLE_PKG)/usr/share/doc/$(src_dir_name)/html
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS COPYING INSTALL README \
+	         $(Z_RESAMPLE_PKG)/usr/share/doc/$(src_dir_name) ; \
+	   cp -a docs/* $(Z_RESAMPLE_PKG)/usr/share/doc/$(src_dir_name)/html ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(Z_RESAMPLE_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(Z_RESAMPLE_PKG))
+	# ======= Strip binaries =======
+	@( cd $(Z_RESAMPLE_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+	@touch $@
+
+$(Z_RESAMPLE_PKG_DESCRIPTION_FILE): $(Z_RESAMPLE_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(Z_RESAMPLE_PKG_DESCRIPTION_FILE) $(Z_RESAMPLE_PKG_INSTALL_SCRIPT)
+	@cp $(Z_RESAMPLE_PKG_DESCRIPTION_FILE) $(Z_RESAMPLE_PKG)/.DESCRIPTION
+	@cp $(Z_RESAMPLE_PKG_INSTALL_SCRIPT) $(Z_RESAMPLE_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(Z_RESAMPLE_PKG)/.REQUIRES
+	@echo "pkgname=$(Z_RESAMPLE_PKG_NAME)"                            >  $(Z_RESAMPLE_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(Z_RESAMPLE_PKG_VERSION)"                          >> $(Z_RESAMPLE_PKG)/.PKGINFO ; \
+	 echo "arch=$(Z_RESAMPLE_PKG_ARCH)"                               >> $(Z_RESAMPLE_PKG)/.PKGINFO ; \
+	 echo "distroname=$(Z_RESAMPLE_PKG_DISTRO_NAME)"                  >> $(Z_RESAMPLE_PKG)/.PKGINFO ; \
+	 echo "distrover=$(Z_RESAMPLE_PKG_DISTRO_VERSION)"                >> $(Z_RESAMPLE_PKG)/.PKGINFO ; \
+	 echo "group=$(Z_RESAMPLE_PKG_GROUP)"                             >> $(Z_RESAMPLE_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(Z_RESAMPLE_PKG_SHORT_DESCRIPTION)\"" >> $(Z_RESAMPLE_PKG)/.PKGINFO ; \
+	 echo "url=$(Z_RESAMPLE_PKG_URL)"                                 >> $(Z_RESAMPLE_PKG)/.PKGINFO ; \
+	 echo "license=$(Z_RESAMPLE_PKG_LICENSE)"                         >> $(Z_RESAMPLE_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(Z_RESAMPLE_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/libs/zita-resampler/1.3.0/PATCHES b/libs/zita-resampler/1.3.0/PATCHES
new file mode 100644
index 000000000..6a65fa30b
--- /dev/null
+++ b/libs/zita-resampler/1.3.0/PATCHES
@@ -0,0 +1,2 @@
+
+../../../sources/packages/m/linuxaudio/kokkinizita/zita-resampler/patches/zita-resampler-1.3.0-make.patch -p0
diff --git a/libs/zita-resampler/1.3.0/zita-resampler-pkg-description.in b/libs/zita-resampler/1.3.0/zita-resampler-pkg-description.in
new file mode 100644
index 000000000..13127561a
--- /dev/null
+++ b/libs/zita-resampler/1.3.0/zita-resampler-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+              |-----handy-ruler------------------------------------------------------|
+zita-resampler: zita-resampler @VERSION@ (sample rate conversion library)
+zita-resampler:
+zita-resampler: Zita-resampler is a C++ library for sample rate conversion of
+zita-resampler: audio signals. Full documentation is available in HTML format,
+zita-resampler: see the 'docs' directory.
+zita-resampler:
+zita-resampler:
+zita-resampler: Homepage: http://kokkinizita.linuxaudio.org/linuxaudio
+zita-resampler:
+zita-resampler:
+zita-resampler:
diff --git a/libs/zita-resampler/1.3.0/zita-resampler-pkg-install.sh b/libs/zita-resampler/1.3.0/zita-resampler-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/libs/zita-resampler/1.3.0/zita-resampler-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/net/bluez/5.42-x86_32/Makefile b/net/bluez/5.42-x86_32/Makefile
new file mode 100644
index 000000000..d37f5a1d6
--- /dev/null
+++ b/net/bluez/5.42-x86_32/Makefile
@@ -0,0 +1,212 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/n/bluez
+
+REQUIRES           = net/bluez/5.42
+REQUIRES          += app/dbus/1.11.2-x86_32
+REQUIRES          += libs/glib2/2.48.0-x86_32
+REQUIRES          += libs/libical/2.0.0-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 5.42
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/n/bluez/bluez-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/bluez-$(version)
+src_dir_name       = bluez-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = net
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+BLUEZ_32_PKG_NAME                = bluez-x32
+BLUEZ_32_PKG_VERSION             = 5.42
+BLUEZ_32_PKG_ARCH                = $(TOOLCHAIN)
+BLUEZ_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+BLUEZ_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+BLUEZ_32_PKG_GROUP               = $(PKG_GROUP)
+###                               |---handy-ruler-------------------------------|
+BLUEZ_32_PKG_SHORT_DESCRIPTION   = Bluetooth libraries and utilities
+BLUEZ_32_PKG_URL                 = $(BUG_URL)
+BLUEZ_32_PKG_LICENSE             = GPLv2
+BLUEZ_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(BLUEZ_32_PKG_NAME)-pkg-description
+BLUEZ_32_PKG_DESCRIPTION_FILE_IN = $(BLUEZ_32_PKG_NAME)-pkg-description.in
+BLUEZ_32_PKG_INSTALL_SCRIPT      = $(BLUEZ_32_PKG_NAME)-pkg-install.sh
+
+BLUEZ_32_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(BLUEZ_32_PKG_NAME)-package
+
+pkg_basename     = $(BLUEZ_32_PKG_NAME)-$(BLUEZ_32_PKG_VERSION)-$(BLUEZ_32_PKG_ARCH)-$(BLUEZ_32_PKG_DISTRO_NAME)-$(BLUEZ_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(BLUEZ_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+#
+# NOTE: we have to overwrite variables from DevEnv dbus-1.pc
+#
+extra_configure_switches += --with-dbusconfdir=/etc
+extra_configure_switches += --with-dbussessionbusdir=/usr/share/dbus-1/services
+extra_configure_switches += --with-dbussystembusdir=/usr/share/dbus-1/system-services
+
+extra_configure_switches += --disable-systemd
+
+extra_configure_switches += --enable-sixaxis
+extra_configure_switches += --enable-experimental
+extra_configure_switches += --enable-library
+
+extra_configure_switches += --enable-static=yes
+extra_configure_switches += --enable-shared=yes
+
+
+TARGET_BIN_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@( cd $(SRC_DIR) ; \
+	   autoreconf -vif ; \
+	   sed -i -e 's|-lreadline|\0 -lncursesw|g' Makefile.{in,tools} ; \
+	 )
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && \
+	  $(BUILD_ENVIRONMENT)  ./configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(BLUEZ_32_PKG)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(BLUEZ_32_PKG)/etc
+	@rm -rf $(BLUEZ_32_PKG)/lib
+	@rm -rf $(BLUEZ_32_PKG)/usr/include
+	@rm -rf $(BLUEZ_32_PKG)/usr/libexec
+	@rm -rf $(BLUEZ_32_PKG)/usr/share
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(BLUEZ_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libbluetooth.la ; \
+	 )
+	@( cd $(BLUEZ_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/bluetooth/plugins ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" sixaxis.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(BLUEZ_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libbluetooth.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libbluetooth.la ; \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/bluetooth/plugins ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" sixaxis.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" sixaxis.la ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" bluez.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(BLUEZ_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(BLUEZ_32_PKG) ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(BLUEZ_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(BLUEZ_32_PKG_DESCRIPTION_FILE): $(BLUEZ_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(BLUEZ_32_PKG_DESCRIPTION_FILE) $(BLUEZ_32_PKG_INSTALL_SCRIPT)
+	@cp $(BLUEZ_32_PKG_DESCRIPTION_FILE) $(BLUEZ_32_PKG)/.DESCRIPTION
+	@cp $(BLUEZ_32_PKG_INSTALL_SCRIPT) $(BLUEZ_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(BLUEZ_32_PKG)/.REQUIRES
+	@echo "pkgname=$(BLUEZ_32_PKG_NAME)"                            >  $(BLUEZ_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(BLUEZ_32_PKG_VERSION)"                          >> $(BLUEZ_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(BLUEZ_32_PKG_ARCH)"                               >> $(BLUEZ_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(BLUEZ_32_PKG_DISTRO_NAME)"                  >> $(BLUEZ_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(BLUEZ_32_PKG_DISTRO_VERSION)"                >> $(BLUEZ_32_PKG)/.PKGINFO ; \
+	 echo "group=$(BLUEZ_32_PKG_GROUP)"                             >> $(BLUEZ_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(BLUEZ_32_PKG_SHORT_DESCRIPTION)\"" >> $(BLUEZ_32_PKG)/.PKGINFO ; \
+	 echo "url=$(BLUEZ_32_PKG_URL)"                                 >> $(BLUEZ_32_PKG)/.PKGINFO ; \
+	 echo "license=$(BLUEZ_32_PKG_LICENSE)"                         >> $(BLUEZ_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(BLUEZ_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/net/bluez/5.42-x86_32/PATCHES b/net/bluez/5.42-x86_32/PATCHES
new file mode 100644
index 000000000..0ffcb3b04
--- /dev/null
+++ b/net/bluez/5.42-x86_32/PATCHES
@@ -0,0 +1,2 @@
+
+../../../sources/packages/n/bluez/patches/bluez-5.42-obex-rem-systemd.patch -p0
diff --git a/net/bluez/5.42-x86_32/bluez-x32-pkg-description.in b/net/bluez/5.42-x86_32/bluez-x32-pkg-description.in
new file mode 100644
index 000000000..42dd33a5a
--- /dev/null
+++ b/net/bluez/5.42-x86_32/bluez-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+         |-----handy-ruler------------------------------------------------------|
+bluez-x32: bluez-x32 @VERSION@ (x86_32 Bluetooth libraries and utilities)
+bluez-x32:
+bluez-x32: Bluez is the Bluetooth stack for Linux, allowing Bluetooth adaptors
+bluez-x32: and devices to be used with Linux.  This package contains the Bluez
+bluez-x32: libraries, utilities, and other support files.
+bluez-x32:
+bluez-x32:
+bluez-x32: Homepage: http://www.bluez.org
+bluez-x32:
+bluez-x32:
+bluez-x32:
diff --git a/net/bluez/5.42-x86_32/bluez-x32-pkg-install.sh b/net/bluez/5.42-x86_32/bluez-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/net/bluez/5.42-x86_32/bluez-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/net/bluez/5.42/Makefile b/net/bluez/5.42/Makefile
new file mode 100644
index 000000000..30e40b9e9
--- /dev/null
+++ b/net/bluez/5.42/Makefile
@@ -0,0 +1,277 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/n/bluez
+
+REQUIRES           = app/eudev/3.1.5
+REQUIRES          += app/dbus/1.11.2
+REQUIRES          += libs/glib2/2.48.0
+REQUIRES          += libs/libical/2.0.0
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 5.42
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/n/bluez/bluez-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/bluez-$(version)
+src_dir_name       = bluez-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+uart_config        = $(CURDIR)/etc/bluetooth/uart.conf
+default_config     = $(CURDIR)/etc/default/bluetooth
+rc_bluetooth       = $(CURDIR)/etc/rc.d/rc.bluetooth
+usb_modprobe       = $(CURDIR)/lib/modprobe.d/btusb.conf
+
+
+####### Targets
+
+PKG_GROUP = net
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+BLUEZ_PKG_NAME                = bluez
+BLUEZ_PKG_VERSION             = 5.42
+BLUEZ_PKG_ARCH                = $(TOOLCHAIN)
+BLUEZ_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+BLUEZ_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+BLUEZ_PKG_GROUP               = $(PKG_GROUP)
+###                            |---handy-ruler-------------------------------|
+BLUEZ_PKG_SHORT_DESCRIPTION   = Bluetooth libraries and utilities
+BLUEZ_PKG_URL                 = $(BUG_URL)
+BLUEZ_PKG_LICENSE             = GPLv2
+BLUEZ_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(BLUEZ_PKG_NAME)-pkg-description
+BLUEZ_PKG_DESCRIPTION_FILE_IN = $(BLUEZ_PKG_NAME)-pkg-description.in
+BLUEZ_PKG_INSTALL_SCRIPT      = $(BLUEZ_PKG_NAME)-pkg-install.sh
+
+BLUEZ_PKG        = $(CURDIR)/$(TARGET_BUILD_DIR)/$(BLUEZ_PKG_NAME)-package
+
+pkg_basename     = $(BLUEZ_PKG_NAME)-$(BLUEZ_PKG_VERSION)-$(BLUEZ_PKG_ARCH)-$(BLUEZ_PKG_DISTRO_NAME)-$(BLUEZ_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(BLUEZ_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+
+#
+# NOTE: we have to overwrite variables from DevEnv dbus-1.pc
+#
+extra_configure_switches += --with-dbusconfdir=/etc
+extra_configure_switches += --with-dbussessionbusdir=/usr/share/dbus-1/services
+extra_configure_switches += --with-dbussystembusdir=/usr/share/dbus-1/system-services
+
+extra_configure_switches += --disable-systemd
+
+extra_configure_switches += --enable-sixaxis
+extra_configure_switches += --enable-experimental
+extra_configure_switches += --enable-library
+
+extra_configure_switches += --enable-static=yes
+extra_configure_switches += --enable-shared=yes
+
+
+ifeq ($(TOOLCHAIN),$(TOOLCHAIN_I686_GLIBC))
+extra_environment  = LIBS="-lrt -lpthread -lm -lstdc++"
+endif
+
+
+TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@( cd $(SRC_DIR) ; \
+	   autoreconf -vif ; \
+	   sed -i -e 's|-lreadline|\0 -lncursesw|g' Makefile.{in,tools} ; \
+	 )
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && \
+	  $(BUILD_ENVIRONMENT) $(extra_environment) ./configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(BLUEZ_PKG)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= Install system scripts =======
+	@mkdir -p $(BLUEZ_PKG)/lib/modprobe.d
+	@cp -a $(usb_modprobe) $(BLUEZ_PKG)/lib/modprobe.d/btusb.conf
+	@chmod 644 $(BLUEZ_PKG)/lib/modprobe.d/btusb.conf
+	@mkdir -p $(BLUEZ_PKG)/etc/bluetooth
+	@cp -a $(uart_config) $(BLUEZ_PKG)/etc/bluetooth/uart.conf.new
+	@mkdir -p $(BLUEZ_PKG)/etc/default
+	@cp -a $(default_config) $(BLUEZ_PKG)/etc/default/bluetooth.new
+	@mkdir -p $(BLUEZ_PKG)/etc/rc.d
+	@cp -a $(rc_bluetooth) $(BLUEZ_PKG)/etc/rc.d/rc.bluetooth.new
+	@chmod 755 $(BLUEZ_PKG)/etc/rc.d/rc.bluetooth.new
+	@( cd $(SRC_DIR) ; \
+	   cat src/main.conf                     > $(BLUEZ_PKG)/etc/bluetooth/main.conf.new      ; \
+	   cat profiles/input/input.conf         > $(BLUEZ_PKG)/etc/bluetooth/input.conf.new     ; \
+	   cat profiles/network/network.conf     > $(BLUEZ_PKG)/etc/bluetooth/network.conf.new   ; \
+	   cat profiles/proximity/proximity.conf > $(BLUEZ_PKG)/etc/bluetooth/proximity.conf.new ; \
+	 )
+	@mv $(BLUEZ_PKG)/etc/dbus-1/system.d/bluetooth.conf $(BLUEZ_PKG)/etc/dbus-1/system.d/bluetooth.conf.new
+	# ======= Add bluetoothd symlink to /usr/sbin =======
+	@mkdir -p $(BLUEZ_PKG)/usr/sbin
+	@ln -sf ../libexec/bluetooth/bluetoothd $(BLUEZ_PKG)/usr/sbin
+	# ======= Install Documentation =======
+	@if [ -d $(BLUEZ_PKG)/usr/share/man ]; then \
+	  ( cd $(BLUEZ_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(BLUEZ_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING* \
+	       $(BLUEZ_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(BLUEZ_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS COPYING* INSTALL README TODO \
+	         $(BLUEZ_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(BLUEZ_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(BLUEZ_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libbluetooth.la ; \
+	 )
+	@( cd $(BLUEZ_PKG)/usr/lib$(LIBSUFFIX)/bluetooth/plugins ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" sixaxis.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(BLUEZ_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libbluetooth.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libbluetooth.la ; \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/bluetooth/plugins ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" sixaxis.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" sixaxis.la ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" bluez.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(BLUEZ_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+ifneq ($(CHRPATH),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(BLUEZ_PKG) ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(BLUEZ_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(CHRPATH) -l $$file 2> /dev/null | grep "R*PATH"` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(CHRPATH) -r $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(BLUEZ_PKG_DESCRIPTION_FILE): $(BLUEZ_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(BLUEZ_PKG_DESCRIPTION_FILE) $(BLUEZ_PKG_INSTALL_SCRIPT)
+	@cp $(BLUEZ_PKG_DESCRIPTION_FILE) $(BLUEZ_PKG)/.DESCRIPTION
+	@cp $(BLUEZ_PKG_INSTALL_SCRIPT) $(BLUEZ_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(BLUEZ_PKG)/.REQUIRES
+	@echo "pkgname=$(BLUEZ_PKG_NAME)"                            >  $(BLUEZ_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(BLUEZ_PKG_VERSION)"                          >> $(BLUEZ_PKG)/.PKGINFO ; \
+	 echo "arch=$(BLUEZ_PKG_ARCH)"                               >> $(BLUEZ_PKG)/.PKGINFO ; \
+	 echo "distroname=$(BLUEZ_PKG_DISTRO_NAME)"                  >> $(BLUEZ_PKG)/.PKGINFO ; \
+	 echo "distrover=$(BLUEZ_PKG_DISTRO_VERSION)"                >> $(BLUEZ_PKG)/.PKGINFO ; \
+	 echo "group=$(BLUEZ_PKG_GROUP)"                             >> $(BLUEZ_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(BLUEZ_PKG_SHORT_DESCRIPTION)\"" >> $(BLUEZ_PKG)/.PKGINFO ; \
+	 echo "url=$(BLUEZ_PKG_URL)"                                 >> $(BLUEZ_PKG)/.PKGINFO ; \
+	 echo "license=$(BLUEZ_PKG_LICENSE)"                         >> $(BLUEZ_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(BLUEZ_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/net/bluez/5.42/PATCHES b/net/bluez/5.42/PATCHES
new file mode 100644
index 000000000..0ffcb3b04
--- /dev/null
+++ b/net/bluez/5.42/PATCHES
@@ -0,0 +1,2 @@
+
+../../../sources/packages/n/bluez/patches/bluez-5.42-obex-rem-systemd.patch -p0
diff --git a/net/bluez/5.42/bluez-pkg-description.in b/net/bluez/5.42/bluez-pkg-description.in
new file mode 100644
index 000000000..e738e2e37
--- /dev/null
+++ b/net/bluez/5.42/bluez-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+     |-----handy-ruler------------------------------------------------------|
+bluez: bluez @VERSION@ (Bluetooth libraries and utilities)
+bluez:
+bluez: Bluez is the Bluetooth stack for Linux, allowing Bluetooth adaptors
+bluez: and devices to be used with Linux.  This package contains the Bluez
+bluez: libraries, utilities, and other support files.
+bluez:
+bluez:
+bluez: Homepage: http://www.bluez.org
+bluez:
+bluez:
+bluez:
diff --git a/net/bluez/5.42/bluez-pkg-install.sh b/net/bluez/5.42/bluez-pkg-install.sh
new file mode 100755
index 000000000..de6f9ebd9
--- /dev/null
+++ b/net/bluez/5.42/bluez-pkg-install.sh
@@ -0,0 +1,71 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+preserve_perms() {
+  NEW="$1"
+  OLD="$(dirname $NEW)/$(basename $NEW .new)"
+  if [ -e $OLD ]; then
+    cp -a $OLD ${NEW}.incoming
+    cat $NEW > ${NEW}.incoming
+    mv ${NEW}.incoming $NEW
+  fi
+  install_file $NEW
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  preserve_perms etc/rc.d/rc.bluetooth.new
+  install_file   etc/bluetooth/uart.conf.new
+  install_file   etc/default/bluetooth.new
+  install_file   etc/bluetooth/main.conf.new
+  install_file   etc/bluetooth/input.conf.new
+  install_file   etc/bluetooth/network.conf.new
+  install_file   etc/bluetooth/proximity.conf.new
+  install_file   etc/dbus-1/system.d/bluetooth.conf.new
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/net/bluez/5.42/etc/bluetooth/uart.conf b/net/bluez/5.42/etc/bluetooth/uart.conf
new file mode 100644
index 000000000..b2e276f4e
--- /dev/null
+++ b/net/bluez/5.42/etc/bluetooth/uart.conf
@@ -0,0 +1,6 @@
+# /etc/bluetooth/uart.conf
+
+# Attach serial devices via UART HCI to BlueZ stack
+# Use one line per device
+# See the hciattach man page for options
+
diff --git a/net/bluez/5.42/etc/default/bluetooth b/net/bluez/5.42/etc/default/bluetooth
new file mode 100644
index 000000000..b4da786e1
--- /dev/null
+++ b/net/bluez/5.42/etc/default/bluetooth
@@ -0,0 +1,9 @@
+# /etc/default/bluetooth
+
+# A space delimied list of devices to start at boot time
+ACTIVE_HCI_DEVICES_ON_BOOT="hci0"
+
+# A semicolon delimited list of SDP (Service Discovery Protocol)
+# operations for bluetooth devices.  See the sdptool for more details.
+SDPTOOL_OPTIONS=""
+
diff --git a/net/bluez/5.42/etc/rc.d/rc.bluetooth b/net/bluez/5.42/etc/rc.d/rc.bluetooth
new file mode 100644
index 000000000..b7b43b70b
--- /dev/null
+++ b/net/bluez/5.42/etc/rc.d/rc.bluetooth
@@ -0,0 +1,73 @@
+#!/bin/sh
+
+# /etc/rc.d/rc.bluetooth (based on BLFS script)
+
+# Populated from /etc/default/bluetooth:
+# ACTIVE_HCI_DEVICES_ON_BOOT and SDPTOOL_OPTIONS
+
+[ -r /etc/default/bluetooth ] && . /etc/default/bluetooth
+
+start_hci_dev() {
+   for dev in ${ACTIVE_HCI_DEVICES_ON_BOOT} ; do
+      hciconfig $dev up > /dev/null 2>&1 
+   done
+}
+
+run_sdptool() {
+  # Declaring IFS local in this function, removes the need to save/restore it
+  local IFS option
+  test -x /usr/bin/sdptool || return 1
+  IFS=";"
+  for option in ${SDPTOOL_OPTIONS}; do
+    IFS=" "
+    /usr/bin/sdptool $option > /dev/null 2>&1
+  done
+}
+
+start_uarts() {
+  [ -r /etc/bluetooth/uart.conf ] || return
+  grep -v '^[[:space:]]*(#|$)' /etc/bluetooth/uart.conf | while read i; do
+    /usr/bin/hciattach $i > /dev/null 2>&1
+  done
+}
+
+stop_uarts() {
+  killall /usr/bin/hciattach > /dev/null 2>&1 
+}
+
+start() {
+  if [ -d /sys/class/bluetooth ]; then
+    # Start as background process and assume OK
+    echo -n "Starting Bluetooth services:  bluetoothd "
+    /usr/sbin/bluetoothd &
+    echo -n "hciconfig "
+    start_hci_dev
+    echo -n "sdptool "
+    run_sdptool
+    echo "hciattach"
+    start_uarts
+  fi
+}
+
+stop() {
+  stop_uarts
+  killall /usr/sbin/bluetoothd > /dev/null 2>&1
+}
+
+case "${1}" in
+  start)
+    start
+    ;;
+  stop)
+    stop
+    ;;
+  restart)
+    stop
+    sleep 1
+    start
+    ;;
+  *)
+    echo "Usage: ${0} {start|stop|restart}"
+    exit 1
+    ;;
+esac
diff --git a/net/bluez/5.42/lib/modprobe.d/btusb.conf b/net/bluez/5.42/lib/modprobe.d/btusb.conf
new file mode 100644
index 000000000..67d887253
--- /dev/null
+++ b/net/bluez/5.42/lib/modprobe.d/btusb.conf
@@ -0,0 +1,3 @@
+# use "reset=1" as default, since it should be safe for
+# recent devices and solves all kind of problems.
+options btusb reset=1
diff --git a/net/libtirpc/1.0.1-x86_32/Makefile b/net/libtirpc/1.0.1-x86_32/Makefile
new file mode 100644
index 000000000..164504cf7
--- /dev/null
+++ b/net/libtirpc/1.0.1-x86_32/Makefile
@@ -0,0 +1,154 @@
+
+COMPONENT_TARGETS    = $(HARDWARE_PC64)
+
+NEED_ABS_PATH        = true
+COMPONENT_IS_3PP     = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES      = sources/packages/n/libtirpc
+
+REQUIRES             = net/libtirpc/1.0.1
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version              = 1.0.1
+tar_bz2_archive      = $(SRC_PACKAGE_PATH)/packages/n/libtirpc/libtirpc-$(version).tar.bz2
+SRC_ARCHIVE          = $(tar_bz2_archive)
+SRC_DIR              = $(TARGET_BUILD_DIR)/libtirpc-$(version)
+src_dir_name         = libtirpc-$(version)
+src_done             = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir            = $(TARGET_BUILD_DIR)/build
+build_target         = $(TARGET_BUILD_DIR)/.build_done
+install_target       = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = net
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+LIBTIRPC_32_PKG_NAME                = libtirpc-x32
+LIBTIRPC_32_PKG_VERSION             = 1.0.1
+LIBTIRPC_32_PKG_ARCH                = $(TOOLCHAIN)
+LIBTIRPC_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+LIBTIRPC_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+LIBTIRPC_32_PKG_GROUP               = $(PKG_GROUP)
+###                                  |---handy-ruler-------------------------------|
+LIBTIRPC_32_PKG_SHORT_DESCRIPTION   = Transport-Independent RPC library
+LIBTIRPC_32_PKG_URL                 = $(BUG_URL)
+LIBTIRPC_32_PKG_LICENSE             = BSD
+LIBTIRPC_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LIBTIRPC_32_PKG_NAME)-pkg-description
+LIBTIRPC_32_PKG_DESCRIPTION_FILE_IN = $(LIBTIRPC_32_PKG_NAME)-pkg-description.in
+LIBTIRPC_32_PKG_INSTALL_SCRIPT      = $(LIBTIRPC_32_PKG_NAME)-pkg-install.sh
+
+LIBTIRPC_32_PKG  = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LIBTIRPC_32_PKG_NAME)-package
+
+pkg_basename     = $(LIBTIRPC_32_PKG_NAME)-$(LIBTIRPC_32_PKG_VERSION)-$(LIBTIRPC_32_PKG_ARCH)-$(LIBTIRPC_32_PKG_DISTRO_NAME)-$(LIBTIRPC_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(LIBTIRPC_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+extra_configure_switches += --disable-gssapi
+extra_configure_switches += --enable-static=yes
+extra_configure_switches += --enable-shared=yes
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LIBTIRPC_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(LIBTIRPC_32_PKG)/etc
+	@rm -rf $(LIBTIRPC_32_PKG)/usr/include
+	@rm -rf $(LIBTIRPC_32_PKG)/usr/share
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(LIBTIRPC_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libtirpc.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LIBTIRPC_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libtirpc.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libtirpc.la \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libtirpc.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(LIBTIRPC_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+	@touch $@
+
+$(LIBTIRPC_32_PKG_DESCRIPTION_FILE): $(LIBTIRPC_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(LIBTIRPC_32_PKG_DESCRIPTION_FILE) $(LIBTIRPC_32_PKG_INSTALL_SCRIPT)
+	@cp $(LIBTIRPC_32_PKG_DESCRIPTION_FILE) $(LIBTIRPC_32_PKG)/.DESCRIPTION
+	@cp $(LIBTIRPC_32_PKG_INSTALL_SCRIPT) $(LIBTIRPC_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(LIBTIRPC_32_PKG)/.REQUIRES
+	@echo "pkgname=$(LIBTIRPC_32_PKG_NAME)"                            >  $(LIBTIRPC_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(LIBTIRPC_32_PKG_VERSION)"                          >> $(LIBTIRPC_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(LIBTIRPC_32_PKG_ARCH)"                               >> $(LIBTIRPC_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(LIBTIRPC_32_PKG_DISTRO_NAME)"                  >> $(LIBTIRPC_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(LIBTIRPC_32_PKG_DISTRO_VERSION)"                >> $(LIBTIRPC_32_PKG)/.PKGINFO ; \
+	 echo "group=$(LIBTIRPC_32_PKG_GROUP)"                             >> $(LIBTIRPC_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(LIBTIRPC_32_PKG_SHORT_DESCRIPTION)\"" >> $(LIBTIRPC_32_PKG)/.PKGINFO ; \
+	 echo "url=$(LIBTIRPC_32_PKG_URL)"                                 >> $(LIBTIRPC_32_PKG)/.PKGINFO ; \
+	 echo "license=$(LIBTIRPC_32_PKG_LICENSE)"                         >> $(LIBTIRPC_32_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(LIBTIRPC_32_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/net/libtirpc/1.0.1-x86_32/PATCHES b/net/libtirpc/1.0.1-x86_32/PATCHES
new file mode 100644
index 000000000..f326ce54d
--- /dev/null
+++ b/net/libtirpc/1.0.1-x86_32/PATCHES
@@ -0,0 +1,2 @@
+
+../../../sources/packages/n/libtirpc/patches/libtirpc-1.0.1-rwlock.patch -p0
diff --git a/net/libtirpc/1.0.1-x86_32/libtirpc-x32-pkg-description.in b/net/libtirpc/1.0.1-x86_32/libtirpc-x32-pkg-description.in
new file mode 100644
index 000000000..6aab63dbf
--- /dev/null
+++ b/net/libtirpc/1.0.1-x86_32/libtirpc-x32-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+            |-----handy-ruler------------------------------------------------------|
+libtirpc-x32: libtirpc-x32 @VERSION@ (x86_32 Transport-Independent RPC library)
+libtirpc-x32:
+libtirpc-x32: Libtirpc is a port of Sun's Transport-Independent RPC library to
+libtirpc-x32: Linux. It is being developed by Bull GNU/Linux NFSv4 project.
+libtirpc-x32:
+libtirpc-x32: You will need this library because the RPC stack has been removed
+libtirpc-x32: from GLIBC versions newer than 2.13. The library is required
+libtirpc-x32: by the 'rpcbind' package.
+libtirpc-x32:
+libtirpc-x32: Homepage: http://sourceforge.net/projects/libtirpc
+libtirpc-x32:
diff --git a/net/libtirpc/1.0.1-x86_32/libtirpc-x32-pkg-install.sh b/net/libtirpc/1.0.1-x86_32/libtirpc-x32-pkg-install.sh
new file mode 100755
index 000000000..8e8683cd6
--- /dev/null
+++ b/net/libtirpc/1.0.1-x86_32/libtirpc-x32-pkg-install.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/net/libtirpc/1.0.1/Makefile b/net/libtirpc/1.0.1/Makefile
new file mode 100644
index 000000000..680d96c98
--- /dev/null
+++ b/net/libtirpc/1.0.1/Makefile
@@ -0,0 +1,196 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_PC32)
+COMPONENT_TARGETS += $(HARDWARE_PC64)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXQ)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT1)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/n/libtirpc
+
+ifneq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES           = libs/glibc/2.23
+else
+REQUIRES           = libs/glibc/2.23-x86_32
+endif
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.0.1
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/n/libtirpc/libtirpc-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/libtirpc-$(version)
+src_dir_name       = libtirpc-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = net
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+LIBTIRPC_PKG_NAME                = libtirpc
+LIBTIRPC_PKG_VERSION             = 1.0.1
+LIBTIRPC_PKG_ARCH                = $(TOOLCHAIN)
+LIBTIRPC_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+LIBTIRPC_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+LIBTIRPC_PKG_GROUP               = $(PKG_GROUP)
+###                               |---handy-ruler-------------------------------|
+LIBTIRPC_PKG_SHORT_DESCRIPTION   = Transport-Independent RPC library
+LIBTIRPC_PKG_URL                 = $(BUG_URL)
+LIBTIRPC_PKG_LICENSE             = BSD
+LIBTIRPC_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LIBTIRPC_PKG_NAME)-pkg-description
+LIBTIRPC_PKG_DESCRIPTION_FILE_IN = $(LIBTIRPC_PKG_NAME)-pkg-description.in
+LIBTIRPC_PKG_INSTALL_SCRIPT      = $(LIBTIRPC_PKG_NAME)-pkg-install.sh
+
+LIBTIRPC_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LIBTIRPC_PKG_NAME)-package
+
+pkg_basename     = $(LIBTIRPC_PKG_NAME)-$(LIBTIRPC_PKG_VERSION)-$(LIBTIRPC_PKG_ARCH)-$(LIBTIRPC_PKG_DISTRO_NAME)-$(LIBTIRPC_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(LIBTIRPC_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --disable-dependency-tracking
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+extra_configure_switches += --disable-gssapi
+extra_configure_switches += --enable-static=yes
+extra_configure_switches += --enable-shared=yes
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LIBTIRPC_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@( cd $(LIBTIRPC_PKG)/etc ; mv netconfig netconfig.new )
+	# ======= Install Documentation =======
+	@if [ -d $(LIBTIRPC_PKG)/usr/share/man ]; then \
+	  ( cd $(LIBTIRPC_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.* ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(LIBTIRPC_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING \
+	       $(LIBTIRPC_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(LIBTIRPC_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS COPYING HACKING INSTALL NEWS README THANKS TODO VERSION \
+	         $(LIBTIRPC_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog -a -s ChangeLog ]; then \
+	     DOCSDIR=`echo $(LIBTIRPC_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(LIBTIRPC_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libtirpc.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LIBTIRPC_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libtirpc.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libtirpc.la \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libtirpc.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(LIBTIRPC_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+	@touch $@
+
+$(LIBTIRPC_PKG_DESCRIPTION_FILE): $(LIBTIRPC_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(LIBTIRPC_PKG_DESCRIPTION_FILE) $(LIBTIRPC_PKG_INSTALL_SCRIPT)
+	@cp $(LIBTIRPC_PKG_DESCRIPTION_FILE) $(LIBTIRPC_PKG)/.DESCRIPTION
+	@cp $(LIBTIRPC_PKG_INSTALL_SCRIPT) $(LIBTIRPC_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(LIBTIRPC_PKG)/.REQUIRES
+	@echo "pkgname=$(LIBTIRPC_PKG_NAME)"                            >  $(LIBTIRPC_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(LIBTIRPC_PKG_VERSION)"                          >> $(LIBTIRPC_PKG)/.PKGINFO ; \
+	 echo "arch=$(LIBTIRPC_PKG_ARCH)"                               >> $(LIBTIRPC_PKG)/.PKGINFO ; \
+	 echo "distroname=$(LIBTIRPC_PKG_DISTRO_NAME)"                  >> $(LIBTIRPC_PKG)/.PKGINFO ; \
+	 echo "distrover=$(LIBTIRPC_PKG_DISTRO_VERSION)"                >> $(LIBTIRPC_PKG)/.PKGINFO ; \
+	 echo "group=$(LIBTIRPC_PKG_GROUP)"                             >> $(LIBTIRPC_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(LIBTIRPC_PKG_SHORT_DESCRIPTION)\"" >> $(LIBTIRPC_PKG)/.PKGINFO ; \
+	 echo "url=$(LIBTIRPC_PKG_URL)"                                 >> $(LIBTIRPC_PKG)/.PKGINFO ; \
+	 echo "license=$(LIBTIRPC_PKG_LICENSE)"                         >> $(LIBTIRPC_PKG)/.PKGINFO
+	@$(FAKEROOT) sh -c "cd $(LIBTIRPC_PKG) && chown -R root:root . && $(MAKE_PACKAGE) --linkadd yes .."
diff --git a/net/libtirpc/1.0.1/PATCHES b/net/libtirpc/1.0.1/PATCHES
new file mode 100644
index 000000000..f326ce54d
--- /dev/null
+++ b/net/libtirpc/1.0.1/PATCHES
@@ -0,0 +1,2 @@
+
+../../../sources/packages/n/libtirpc/patches/libtirpc-1.0.1-rwlock.patch -p0
diff --git a/net/libtirpc/1.0.1/libtirpc-pkg-description.in b/net/libtirpc/1.0.1/libtirpc-pkg-description.in
new file mode 100644
index 000000000..6a11f56a1
--- /dev/null
+++ b/net/libtirpc/1.0.1/libtirpc-pkg-description.in
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler------------------------------------------------------|
+libtirpc: libtirpc @VERSION@ (Transport-Independent RPC library)
+libtirpc:
+libtirpc: Libtirpc is a port of Sun's Transport-Independent RPC library to
+libtirpc: Linux. It is being developed by Bull GNU/Linux NFSv4 project.
+libtirpc:
+libtirpc: You will need this library because the RPC stack has been removed
+libtirpc: from GLIBC versions newer than 2.13. The library is required
+libtirpc: by the 'rpcbind' package.
+libtirpc:
+libtirpc: Homepage: http://sourceforge.net/projects/libtirpc
+libtirpc:
diff --git a/net/libtirpc/1.0.1/libtirpc-pkg-install.sh b/net/libtirpc/1.0.1/libtirpc-pkg-install.sh
new file mode 100755
index 000000000..4981402d5
--- /dev/null
+++ b/net/libtirpc/1.0.1/libtirpc-pkg-install.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  install_file etc/netconfig.new
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
diff --git a/products/X11/Makefile b/products/X11/Makefile
index 292233ab0..ce8fdf7e1 100644
--- a/products/X11/Makefile
+++ b/products/X11/Makefile
@@ -29,7 +29,7 @@ REQUIRES  = boot/u-boot/s805/2011.03-20150117
 endif
 
 ifneq ($(filter $(HARDWARE),$(HARDWARE_MXQ)),)
-REQUIRES  = boot/kernel/s805/3.10.103-20160830
+REQUIRES  = boot/u-boot/s805/2011.03-20150117
 endif
 
 ifneq ($(filter $(HARDWARE),$(HARDWARE_NIT6Q)),)
@@ -369,6 +369,10 @@ ifeq ($(HARDWARE),$(HARDWARE_PC64))
 REQUIRES += app/kbd/2.0.3-x86_32
 endif
 
+ifneq ($(filter $(HARDWARE),$(HARDWARE_M201) $(HARDWARE_MXQ)),)
+REQUIRES += app/remotecfg/1.0.0
+endif
+
 #######
 ####### Dictionaries for /usr/share/dict (see FHS):
 #######
@@ -453,12 +457,21 @@ ifeq ($(HARDWARE),$(HARDWARE_PC64))
 REQUIRES += secure/libcgroup/0.41-x86_32
 endif
 
+REQUIRES += libs/libstrophe/0.9.1
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += libs/libstrophe/0.9.1-x86_32
+endif
+
 REQUIRES += app/sdparm/1.09
 
 
 #######
 ####### Networking:
 #######
+REQUIRES += net/libtirpc/1.0.1
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += net/libtirpc/1.0.1-x86_32
+endif
 REQUIRES += net/icmpinfo/1.11
 REQUIRES += net/net-tools/1.60
 REQUIRES += net/netdate/4
@@ -537,6 +550,11 @@ REQUIRES += net/ebtables/2.0.10-4
 REQUIRES += net/iftop/1.0pre4
 REQUIRES += net/iptraf-ng/1.1.4
 
+REQUIRES += net/bluez/5.42
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += net/bluez/5.42-x86_32
+endif
+
 
 #######
 ####### Development tools:
@@ -654,6 +672,11 @@ ifeq ($(HARDWARE),$(HARDWARE_PC64))
 REQUIRES += dev/vala/0.32.0-x86_32
 endif
 
+REQUIRES += dev/orc/0.4.26.1
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += dev/orc/0.4.26.1-x86_32
+endif
+
 
 #######
 ####### Python2.7 modules:
@@ -670,6 +693,17 @@ REQUIRES += dev/python-modules/pip3/8.1.1
 
 
 
+#######
+####### Database:
+#######
+
+REQUIRES += app/postgresql/9.6.0
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += app/postgresql/9.6.0-x86_32
+endif
+
+
+
 #######
 ####### Media packages:
 #######
@@ -697,10 +731,6 @@ REQUIRES += libs/opus/1.1.2
 ifeq ($(HARDWARE),$(HARDWARE_PC64))
 REQUIRES += libs/opus/1.1.2-x86_32
 endif
-REQUIRES += libs/portaudio/19-20140130
-ifeq ($(HARDWARE),$(HARDWARE_PC64))
-REQUIRES += libs/portaudio/19-20140130-x86_32
-endif
 REQUIRES += app/cdparanoia/10.2
 ifeq ($(HARDWARE),$(HARDWARE_PC64))
 REQUIRES += app/cdparanoia/10.2-x86_32
@@ -720,6 +750,44 @@ endif
 REQUIRES += app/icecast/2.4.3
 REQUIRES += app/ices/2.0.2
 
+REQUIRES += app/openjpeg/1.5.2
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += app/openjpeg/1.5.2-x86_32
+endif
+REQUIRES += app/openjpeg2/2.1.2
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += app/openjpeg2/2.1.2-x86_32
+endif
+REQUIRES += libs/libsoxr/0.1.2
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += libs/libsoxr/0.1.2-x86_32
+endif
+
+REQUIRES += libs/schroedinger/1.0.11
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += libs/schroedinger/1.0.11-x86_32
+endif
+REQUIRES += libs/ladspa/1.13
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += libs/ladspa/1.13-x86_32
+endif
+REQUIRES += app/rtmpdump/2.4
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += app/rtmpdump/2.4-x86_32
+endif
+REQUIRES += app/dcadec/0.2.0
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += app/dcadec/0.2.0-x86_32
+endif
+REQUIRES += libs/libvidstab/1.1
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += libs/libvidstab/1.1-x86_32
+endif
+REQUIRES += libs/xvidcore/1.3.4
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += libs/xvidcore/1.3.4-x86_32
+endif
+
 
 ####################################################################################################
 #
@@ -1323,6 +1391,31 @@ REQUIRES += libs/libart-lgpl/2.3.21-x86_32
 endif
 
 
+REQUIRES += X11/libs/libva/1.7.2
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += X11/libs/libva/1.7.2-x86_32
+endif
+
+ifneq ($(filter $(HARDWARE),$(HARDWARE_PC32) $(HARDWARE_PC64)),)
+REQUIRES += X11/libs/libva-intel-driver/1.7.2
+endif
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += X11/libs/libva-intel-driver/1.7.2-x86_32
+endif
+
+REQUIRES += X11/libs/libvdpau/1.1.1
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += X11/libs/libvdpau/1.1.1-x86_32
+endif
+
+ifneq ($(filter $(HARDWARE),$(HARDWARE_PC32) $(HARDWARE_PC64)),)
+REQUIRES += X11/libs/libva-vdpau-driver/0.7.4
+endif
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += X11/libs/libva-vdpau-driver/0.7.4-x86_32
+endif
+
+
 #######
 ####### Development:
 #######
diff --git a/products/base/Makefile b/products/base/Makefile
index f28ce2a93..c69a195c3 100644
--- a/products/base/Makefile
+++ b/products/base/Makefile
@@ -29,7 +29,7 @@ REQUIRES  = boot/u-boot/s805/2011.03-20150117
 endif
 
 ifneq ($(filter $(HARDWARE),$(HARDWARE_MXQ)),)
-REQUIRES  = boot/kernel/s805/3.10.103-20160830
+REQUIRES  = boot/u-boot/s805/2011.03-20150117
 endif
 
 ifneq ($(filter $(HARDWARE),$(HARDWARE_NIT6Q)),)
@@ -369,6 +369,10 @@ ifeq ($(HARDWARE),$(HARDWARE_PC64))
 REQUIRES += app/kbd/2.0.3-x86_32
 endif
 
+ifneq ($(filter $(HARDWARE),$(HARDWARE_M201) $(HARDWARE_MXQ)),)
+REQUIRES += app/remotecfg/1.0.0
+endif
+
 #######
 ####### Dictionaries for /usr/share/dict (see FHS):
 #######
@@ -453,12 +457,21 @@ ifeq ($(HARDWARE),$(HARDWARE_PC64))
 REQUIRES += secure/libcgroup/0.41-x86_32
 endif
 
+REQUIRES += libs/libstrophe/0.9.1
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += libs/libstrophe/0.9.1-x86_32
+endif
+
 REQUIRES += app/sdparm/1.09
 
 
 #######
 ####### Networking:
 #######
+REQUIRES += net/libtirpc/1.0.1
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += net/libtirpc/1.0.1-x86_32
+endif
 REQUIRES += net/icmpinfo/1.11
 REQUIRES += net/net-tools/1.60
 REQUIRES += net/netdate/4
@@ -537,6 +550,11 @@ REQUIRES += net/ebtables/2.0.10-4
 REQUIRES += net/iftop/1.0pre4
 REQUIRES += net/iptraf-ng/1.1.4
 
+REQUIRES += net/bluez/5.42
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += net/bluez/5.42-x86_32
+endif
+
 
 #######
 ####### Development tools:
@@ -654,6 +672,11 @@ ifeq ($(HARDWARE),$(HARDWARE_PC64))
 REQUIRES += dev/vala/0.32.0-x86_32
 endif
 
+REQUIRES += dev/orc/0.4.26.1
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += dev/orc/0.4.26.1-x86_32
+endif
+
 
 #######
 ####### Python2.7 modules:
@@ -670,6 +693,17 @@ REQUIRES += dev/python-modules/pip3/8.1.1
 
 
 
+#######
+####### Database:
+#######
+
+REQUIRES += app/postgresql/9.6.0
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += app/postgresql/9.6.0-x86_32
+endif
+
+
+
 #######
 ####### Media packages:
 #######
@@ -697,10 +731,6 @@ REQUIRES += libs/opus/1.1.2
 ifeq ($(HARDWARE),$(HARDWARE_PC64))
 REQUIRES += libs/opus/1.1.2-x86_32
 endif
-REQUIRES += libs/portaudio/19-20140130
-ifeq ($(HARDWARE),$(HARDWARE_PC64))
-REQUIRES += libs/portaudio/19-20140130-x86_32
-endif
 REQUIRES += app/cdparanoia/10.2
 ifeq ($(HARDWARE),$(HARDWARE_PC64))
 REQUIRES += app/cdparanoia/10.2-x86_32
@@ -720,6 +750,44 @@ endif
 REQUIRES += app/icecast/2.4.3
 REQUIRES += app/ices/2.0.2
 
+REQUIRES += app/openjpeg/1.5.2
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += app/openjpeg/1.5.2-x86_32
+endif
+REQUIRES += app/openjpeg2/2.1.2
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += app/openjpeg2/2.1.2-x86_32
+endif
+REQUIRES += libs/libsoxr/0.1.2
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += libs/libsoxr/0.1.2-x86_32
+endif
+
+REQUIRES += libs/schroedinger/1.0.11
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += libs/schroedinger/1.0.11-x86_32
+endif
+REQUIRES += libs/ladspa/1.13
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += libs/ladspa/1.13-x86_32
+endif
+REQUIRES += app/rtmpdump/2.4
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += app/rtmpdump/2.4-x86_32
+endif
+REQUIRES += app/dcadec/0.2.0
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += app/dcadec/0.2.0-x86_32
+endif
+REQUIRES += libs/libvidstab/1.1
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += libs/libvidstab/1.1-x86_32
+endif
+REQUIRES += libs/xvidcore/1.3.4
+ifeq ($(HARDWARE),$(HARDWARE_PC64))
+REQUIRES += libs/xvidcore/1.3.4-x86_32
+endif
+
 
 # ======= __END_OF_REQUIRES__ =======
 
diff --git a/secure/pam/1.1.8-x86_32/Makefile b/secure/pam/1.1.8-x86_32/Makefile
index a1d8b9b05..5c0cb4bd5 100644
--- a/secure/pam/1.1.8-x86_32/Makefile
+++ b/secure/pam/1.1.8-x86_32/Makefile
@@ -14,6 +14,7 @@ SOURCE_REQUIRES    = sources/packages/s/Linux-PAM
 
 REQUIRES           = secure/pam/1.1.8
 REQUIRES          += secure/cracklib/2.9.5-x86_32
+REQUIRES          += net/libtirpc/1.0.1-x86_32
 REQUIRES          += dev/flex/2.6.0-x86_32
 
 # ======= __END_OF_REQUIRES__ =======
diff --git a/secure/pam/1.1.8/Makefile b/secure/pam/1.1.8/Makefile
index f007f4c3e..e18f5b1db 100644
--- a/secure/pam/1.1.8/Makefile
+++ b/secure/pam/1.1.8/Makefile
@@ -24,6 +24,7 @@ include ../../../build-system/constants.mk
 SOURCE_REQUIRES    = sources/packages/s/Linux-PAM
 
 REQUIRES           = secure/cracklib/2.9.5
+REQUIRES          += net/libtirpc/1.0.1
 REQUIRES          += dev/flex/2.6.0
 
 # ======= __END_OF_REQUIRES__ =======
diff --git a/sources/Linux/Amlogic/M201/create-3.10.33-20150117-m201-dtbs-patch/linux-aml-3.10.33-20150117-new/arch/arm/boot/dts/amlogic/meson8b_m201_1G.dtd b/sources/Linux/Amlogic/M201/create-3.10.33-20150117-m201-dtbs-patch/linux-aml-3.10.33-20150117-new/arch/arm/boot/dts/amlogic/meson8b_m201_1G.dtd
index 9fb7e5e75..be8bfdfdc 100644
--- a/sources/Linux/Amlogic/M201/create-3.10.33-20150117-m201-dtbs-patch/linux-aml-3.10.33-20150117-new/arch/arm/boot/dts/amlogic/meson8b_m201_1G.dtd
+++ b/sources/Linux/Amlogic/M201/create-3.10.33-20150117-m201-dtbs-patch/linux-aml-3.10.33-20150117-new/arch/arm/boot/dts/amlogic/meson8b_m201_1G.dtd
@@ -1938,9 +1938,12 @@ void root_func(){
 //$$ L2 PROP_U32 10 = "amlogic,clrmask"
 //$$ L2 PROP_STR 6 = "amlogic,pins"
         audio_pins:audio_pin{
-            amlogic,setmask=<10 0x78000008>;
-            amlogic,clrmask=<10 0x80002000>;
-            amlogic,pins = "GPIOAO_8","GPIOAO_9","GPIOAO_10","GPIOAO_11","GPIOAO_13";
+            amlogic,setmask=<0xa 0x78000000
+                             0x1 0x80>;
+            amlogic,clrmask=<0xa 0x80002000
+                             0x1 0x10000
+                             0x3 0x40000>;
+            amlogic,pins = "GPIOAO_8","GPIOAO_9","GPIOAO_10","GPIOAO_11","GPIOY_3";
         };
 
 //$$ MATCH "Spi_pin_0_match" = "&aml_spi_nor_pins"
diff --git a/sources/Linux/Amlogic/M201/create-3.10.33-20150117-m201-dtbs-patch/linux-aml-3.10.33-20150117-new/arch/arm/boot/dts/amlogic/meson8b_m201_512M.dtd b/sources/Linux/Amlogic/M201/create-3.10.33-20150117-m201-dtbs-patch/linux-aml-3.10.33-20150117-new/arch/arm/boot/dts/amlogic/meson8b_m201_512M.dtd
index ee306bd35..21204518e 100644
--- a/sources/Linux/Amlogic/M201/create-3.10.33-20150117-m201-dtbs-patch/linux-aml-3.10.33-20150117-new/arch/arm/boot/dts/amlogic/meson8b_m201_512M.dtd
+++ b/sources/Linux/Amlogic/M201/create-3.10.33-20150117-m201-dtbs-patch/linux-aml-3.10.33-20150117-new/arch/arm/boot/dts/amlogic/meson8b_m201_512M.dtd
@@ -1881,9 +1881,12 @@ sdhc_sd_clk_cmd_pins:sdhc_sd_clk_cmd_pins{
 //$$ L2 PROP_U32 10 = "amlogic,clrmask"
 //$$ L2 PROP_STR 6 = "amlogic,pins"
         audio_pins:audio_pin{
-            amlogic,setmask=<10 0x78000008>;
-            amlogic,clrmask=<10 0x80002000>;
-            amlogic,pins = "GPIOAO_8","GPIOAO_9","GPIOAO_10","GPIOAO_11","GPIOAO_13";
+            amlogic,setmask=<0xa 0x78000000
+                             0x1 0x80>;
+            amlogic,clrmask=<0xa 0x80002000
+                             0x1 0x10000
+                             0x3 0x40000>;
+            amlogic,pins = "GPIOAO_8","GPIOAO_9","GPIOAO_10","GPIOAO_11","GPIOY_3";
         };
 
 //$$ MATCH "Spi_pin_0_match" = "&aml_spi_nor_pins"
diff --git a/sources/Linux/Amlogic/M201/create-3.10.33-20150117-osd-xrgb-patch/linux-aml-3.10.33-20150117-new/drivers/amlogic/display/osd/osd_hw.c b/sources/Linux/Amlogic/M201/create-3.10.33-20150117-osd-xrgb-patch/linux-aml-3.10.33-20150117-new/drivers/amlogic/display/osd/osd_hw.c
index 7cd116547..755c323cb 100644
--- a/sources/Linux/Amlogic/M201/create-3.10.33-20150117-osd-xrgb-patch/linux-aml-3.10.33-20150117-new/drivers/amlogic/display/osd/osd_hw.c
+++ b/sources/Linux/Amlogic/M201/create-3.10.33-20150117-osd-xrgb-patch/linux-aml-3.10.33-20150117-new/drivers/amlogic/display/osd/osd_hw.c
@@ -2591,6 +2591,7 @@ static   void  osd1_update_gbl_alpha(void)
 	data32 &= ~(0x1ff << 12);
 	data32 |= osd_hw.gbl_alpha[OSD1] << 12;
 	VSYNCOSD_WR_MPEG_REG(VIU_OSD1_CTRL_STAT, data32);
+	VSYNCOSD_SET_MPEG_REG_MASK(VPP_MISC, 1<<9); /* enable OSD1 premultiplied alpha */
 	remove_from_update_list(OSD1, OSD_GBL_ALPHA);
 }
 static   void  osd2_update_gbl_alpha(void)
diff --git a/sources/Linux/Hardkernel/S805/create-3.10.103-20160830-m201-dtbs-patch/linux-aml-3.10.103-20160830-new/arch/arm/boot/dts/meson8b_m201_1G.dts b/sources/Linux/Hardkernel/S805/create-3.10.103-20160830-m201-dtbs-patch/linux-aml-3.10.103-20160830-new/arch/arm/boot/dts/meson8b_m201_1G.dts
index 251a34bc0..d1a8cff3f 100644
--- a/sources/Linux/Hardkernel/S805/create-3.10.103-20160830-m201-dtbs-patch/linux-aml-3.10.103-20160830-new/arch/arm/boot/dts/meson8b_m201_1G.dts
+++ b/sources/Linux/Hardkernel/S805/create-3.10.103-20160830-m201-dtbs-patch/linux-aml-3.10.103-20160830-new/arch/arm/boot/dts/meson8b_m201_1G.dts
@@ -1868,9 +1868,12 @@ sdhc_sd_clk_cmd_pins:sdhc_sd_clk_cmd_pins{
 //$$ L2 PROP_U32 10 = "amlogic,clrmask"
 //$$ L2 PROP_STR 6 = "amlogic,pins"
         audio_pins:audio_pin{
-            amlogic,setmask=<10 0x78000008>;
-            amlogic,clrmask=<10 0x80002000>;
-            amlogic,pins = "GPIOAO_8","GPIOAO_9","GPIOAO_10","GPIOAO_11","GPIOAO_13";
+            amlogic,setmask=<0xa 0x78000000
+                             0x1 0x80>;
+            amlogic,clrmask=<0xa 0x80002000
+                             0x1 0x10000
+                             0x3 0x40000>;
+            amlogic,pins = "GPIOAO_8","GPIOAO_9","GPIOAO_10","GPIOAO_11","GPIOY_3";
         };
 
 //$$ MATCH "Spi_pin_0_match" = "&aml_spi_nor_pins"
diff --git a/sources/Linux/Hardkernel/S805/create-3.10.103-20160830-m201-dtbs-patch/linux-aml-3.10.103-20160830-new/arch/arm/boot/dts/meson8b_m201_512M.dts b/sources/Linux/Hardkernel/S805/create-3.10.103-20160830-m201-dtbs-patch/linux-aml-3.10.103-20160830-new/arch/arm/boot/dts/meson8b_m201_512M.dts
index 2ef10d551..680e07aae 100644
--- a/sources/Linux/Hardkernel/S805/create-3.10.103-20160830-m201-dtbs-patch/linux-aml-3.10.103-20160830-new/arch/arm/boot/dts/meson8b_m201_512M.dts
+++ b/sources/Linux/Hardkernel/S805/create-3.10.103-20160830-m201-dtbs-patch/linux-aml-3.10.103-20160830-new/arch/arm/boot/dts/meson8b_m201_512M.dts
@@ -1870,9 +1870,12 @@ sdhc_sd_clk_cmd_pins:sdhc_sd_clk_cmd_pins{
 //$$ L2 PROP_U32 10 = "amlogic,clrmask"
 //$$ L2 PROP_STR 6 = "amlogic,pins"
         audio_pins:audio_pin{
-            amlogic,setmask=<10 0x78000008>;
-            amlogic,clrmask=<10 0x80002000>;
-            amlogic,pins = "GPIOAO_8","GPIOAO_9","GPIOAO_10","GPIOAO_11","GPIOAO_13";
+            amlogic,setmask=<0xa 0x78000000
+                             0x1 0x80>;
+            amlogic,clrmask=<0xa 0x80002000
+                             0x1 0x10000
+                             0x3 0x40000>;
+            amlogic,pins = "GPIOAO_8","GPIOAO_9","GPIOAO_10","GPIOAO_11","GPIOY_3";
         };
 
 //$$ MATCH "Spi_pin_0_match" = "&aml_spi_nor_pins"
diff --git a/sources/Linux/Hardkernel/S805/create-3.10.103-20160830-osd-xrgb-patch/linux-aml-3.10.103-20160830-new/drivers/amlogic/display/osd/osd_hw.c b/sources/Linux/Hardkernel/S805/create-3.10.103-20160830-osd-xrgb-patch/linux-aml-3.10.103-20160830-new/drivers/amlogic/display/osd/osd_hw.c
index fcf6008c6..4f69db8e8 100644
--- a/sources/Linux/Hardkernel/S805/create-3.10.103-20160830-osd-xrgb-patch/linux-aml-3.10.103-20160830-new/drivers/amlogic/display/osd/osd_hw.c
+++ b/sources/Linux/Hardkernel/S805/create-3.10.103-20160830-osd-xrgb-patch/linux-aml-3.10.103-20160830-new/drivers/amlogic/display/osd/osd_hw.c
@@ -2252,6 +2252,7 @@ static   void  osd1_update_gbl_alpha(void)
 	data32&=~(0x1ff<<12);
 	data32|=osd_hw.gbl_alpha[OSD1] <<12;
 	VSYNCOSD_WR_MPEG_REG(VIU_OSD1_CTRL_STAT,data32);
+	VSYNCOSD_SET_MPEG_REG_MASK(VPP_MISC, 1<<9); /* enable OSD1 premultiplied alpha */
 	remove_from_update_list(OSD1,OSD_GBL_ALPHA);
 }
 static   void  osd2_update_gbl_alpha(void)
diff --git a/sources/packages/b/postgresql/Makefile b/sources/packages/b/postgresql/Makefile
new file mode 100644
index 000000000..06f116923
--- /dev/null
+++ b/sources/packages/b/postgresql/Makefile
@@ -0,0 +1,59 @@
+
+COMPONENT_TARGETS = $(HARDWARE_NOARCH)
+
+
+include ../../../../build-system/constants.mk
+
+
+url         = $(DOWNLOAD_SERVER)/sources/packages/b/postgresql
+
+versions    = 9.6.0
+pkgname     = postgresql
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+patches     = $(CURDIR)/patches/postgresql-9.6.0-configure.patch
+patches    += $(CURDIR)/patches/postgresql-9.6.0-run-socket-dir.patch
+
+.NOTPARALLEL: $(patches)
+
+
+BUILD_TARGETS = $(tarballs) $(sha1s) $(patches)
+
+
+include ../../../../build-system/core.mk
+
+
+.PHONY: download_clean
+
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======" ; \
+	 for tarball in $(tarballs) ; do \
+	   echo "$(url)/$$tarball" | xargs -n 1 -P 100 wget $(WGET_OPTIONS) -i & \
+	 done ; wait
+
+$(sha1s): $(tarballs)
+	@for sha in $@ ; do \
+	   echo -e "\n======= Downloading '$$sha' signature =======\n" ; \
+	   echo "$(url)/$$sha" | xargs -n 1 -P 100 wget $(WGET_OPTIONS) -i & wait %1 ; \
+	   touch $$sha ; \
+	   echo -e "\n======= Check the '$$sha' sha1sum =======\n" ; \
+	   sha1sum --check $$sha ; ret="$$?" ; \
+	   if [ "$$ret" == "1" ]; then \
+	     echo -e "\n======= ERROR: Bad '$$sha' sha1sum =======\n" ; \
+	     exit 1 ; \
+	   fi ; \
+	 done
+
+$(patches): $(sha1s)
+	@echo -e "\n======= Create Patches =======\n" ; \
+	 ( cd create-9.6.0-configure-patch      ; ./create.patch.sh ) ; \
+	 ( cd create-9.6.0-run-socket-dir-patch ; ./create.patch.sh ) ; \
+	 echo -e "\n"
+
+download_clean:
+	@rm -f $(tarballs) $(sha1s) $(patches)
diff --git a/sources/packages/b/postgresql/create-9.6.0-configure-patch/create.patch.sh b/sources/packages/b/postgresql/create-9.6.0-configure-patch/create.patch.sh
new file mode 100755
index 000000000..48ebe3147
--- /dev/null
+++ b/sources/packages/b/postgresql/create-9.6.0-configure-patch/create.patch.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=9.6.0
+
+tar --files-from=file.list -xjvf ../postgresql-$VERSION.tar.bz2
+mv postgresql-$VERSION postgresql-$VERSION-orig
+
+cp -rf ./postgresql-$VERSION-new ./postgresql-$VERSION
+
+diff -b --unified -Nr  postgresql-$VERSION-orig  postgresql-$VERSION > postgresql-$VERSION-configure.patch
+
+mv postgresql-$VERSION-configure.patch ../patches
+
+rm -rf ./postgresql-$VERSION
+rm -rf ./postgresql-$VERSION-orig
diff --git a/sources/packages/b/postgresql/create-9.6.0-configure-patch/file.list b/sources/packages/b/postgresql/create-9.6.0-configure-patch/file.list
new file mode 100644
index 000000000..702ae037c
--- /dev/null
+++ b/sources/packages/b/postgresql/create-9.6.0-configure-patch/file.list
@@ -0,0 +1 @@
+postgresql-9.6.0/configure
diff --git a/sources/packages/b/postgresql/create-9.6.0-configure-patch/postgresql-9.6.0-new/configure b/sources/packages/b/postgresql/create-9.6.0-configure-patch/postgresql-9.6.0-new/configure
new file mode 100755
index 000000000..d0971c179
--- /dev/null
+++ b/sources/packages/b/postgresql/create-9.6.0-configure-patch/postgresql-9.6.0-new/configure
@@ -0,0 +1,17090 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.69 for PostgreSQL 9.6.0.
+#
+# Report bugs to <pgsql-bugs@postgresql.org>.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+#
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+#
+# Copyright (c) 1996-2016, PostgreSQL Global Development Group
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+	expr "X$arg" : "X\\(.*\\)$as_nl";
+	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
+if test "x$CONFIG_SHELL" = x; then
+  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+"
+  as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+  exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
+  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1"
+  if (eval "$as_required") 2>/dev/null; then :
+  as_have_required=yes
+else
+  as_have_required=no
+fi
+  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  as_found=:
+  case $as_dir in #(
+	 /*)
+	   for as_base in sh bash ksh sh5; do
+	     # Try only shells that exist, to save several forks.
+	     as_shell=$as_dir/$as_base
+	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  CONFIG_SHELL=$as_shell as_have_required=yes
+		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  break 2
+fi
+fi
+	   done;;
+       esac
+  as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+  CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+      if test "x$CONFIG_SHELL" != x; then :
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
+fi
+
+    if test x$as_have_required = xno; then :
+  $as_echo "$0: This script requires a shell more modern than all"
+  $as_echo "$0: the shells that I found on your system."
+  if test x${ZSH_VERSION+set} = xset ; then
+    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+  else
+    $as_echo "$0: Please tell bug-autoconf@gnu.org and
+$0: pgsql-bugs@postgresql.org about your system, including
+$0: any error possibly output before this message. Then
+$0: install a modern shell, or manually run the script
+$0: under such a shell if you do have one."
+  fi
+  exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+  as_lineno_1=$LINENO as_lineno_1a=$LINENO
+  as_lineno_2=$LINENO as_lineno_2a=$LINENO
+  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='	';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -pR'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -pR'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -pR'
+  fi
+else
+  as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME='PostgreSQL'
+PACKAGE_TARNAME='postgresql'
+PACKAGE_VERSION='9.6.0'
+PACKAGE_STRING='PostgreSQL 9.6.0'
+PACKAGE_BUGREPORT='pgsql-bugs@postgresql.org'
+PACKAGE_URL=''
+
+ac_unique_file="src/backend/access/common/heaptuple.c"
+ac_default_prefix=/usr/local/pgsql
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+#  include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='LTLIBOBJS
+vpath_build
+PG_VERSION_NUM
+PROVE
+OSX
+XSLTPROC
+XMLLINT
+DBTOEPUB
+COLLATEINDEX
+DOCBOOKSTYLE
+have_docbook
+JADE
+NSGMLS
+TCL_SHLIB_LD_LIBS
+TCL_SHARED_BUILD
+TCL_LIB_SPEC
+TCL_LIBS
+TCL_INCLUDE_SPEC
+TCL_CONFIG_SH
+TCLSH
+XGETTEXT
+MSGMERGE
+MSGFMT_FLAGS
+MSGFMT
+PG_CRC32C_OBJS
+CFLAGS_SSE42
+have_win32_dbghelp
+HAVE_IPV6
+LIBOBJS
+UUID_LIBS
+LDAP_LIBS_BE
+LDAP_LIBS_FE
+PTHREAD_CFLAGS
+PTHREAD_LIBS
+PTHREAD_CC
+ax_pthread_config
+ZIC
+python_additional_libs
+python_libspec
+python_libdir
+python_includespec
+python_version
+python_majorversion
+PYTHON
+perl_embed_ldflags
+perl_useshrplib
+perl_privlibexp
+perl_archlibexp
+PERL
+FLEXFLAGS
+FLEX
+BISONFLAGS
+BISON
+MKDIR_P
+AWK
+LN_S
+TAR
+install_bin
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+WINDRES
+DLLWRAP
+DLLTOOL
+AR
+STRIP_SHARED_LIB
+STRIP_STATIC_LIB
+STRIP
+RANLIB
+ld_R_works
+with_gnu_ld
+LD
+LDFLAGS_SL
+LDFLAGS_EX
+ELF_SYS
+EGREP
+GREP
+with_zlib
+with_system_tzdata
+with_libxslt
+with_libxml
+XML2_CONFIG
+UUID_EXTRA_OBJS
+with_uuid
+with_systemd
+with_selinux
+with_openssl
+krb_srvtab
+with_python
+with_perl
+with_tcl
+enable_thread_safety
+INCLUDES
+autodepend
+TAS
+GCC
+CPP
+CFLAGS_VECTOR
+SUN_STUDIO_CC
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+enable_tap_tests
+enable_dtrace
+DTRACEFLAGS
+DTRACE
+enable_coverage
+GENHTML
+LCOV
+GCOV
+enable_debug
+enable_rpath
+default_port
+WANTED_LANGUAGES
+enable_nls
+PORTNAME
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+PG_MAJORVERSION
+configure_args
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+with_extra_version
+with_template
+with_includes
+with_libraries
+with_libs
+enable_integer_datetimes
+enable_nls
+with_pgport
+enable_rpath
+enable_spinlocks
+enable_atomics
+enable_debug
+enable_profiling
+enable_coverage
+enable_dtrace
+enable_tap_tests
+with_blocksize
+with_segsize
+with_wal_blocksize
+with_wal_segsize
+with_CC
+enable_depend
+enable_cassert
+enable_thread_safety
+with_tcl
+with_tclconfig
+with_perl
+with_python
+with_gssapi
+with_krb_srvnam
+with_pam
+with_bsd_auth
+with_ldap
+with_bonjour
+with_openssl
+with_selinux
+with_systemd
+with_readline
+with_libedit_preferred
+with_uuid
+with_ossp_uuid
+with_libxml
+with_libxslt
+with_system_tzdata
+with_zlib
+with_gnu_ld
+enable_largefile
+enable_float4_byval
+enable_float8_byval
+'
+      ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP
+LDFLAGS_EX
+LDFLAGS_SL
+DOCBOOKSTYLE'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval $ac_prev=\$ac_option
+    ac_prev=
+    continue
+  fi
+
+  case $ac_option in
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
+    datadir=$ac_optarg ;;
+
+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+  | --dataroo | --dataro | --datar)
+    ac_prev=datarootdir ;;
+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+    datarootdir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=no ;;
+
+  -docdir | --docdir | --docdi | --doc | --do)
+    ac_prev=docdir ;;
+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+    docdir=$ac_optarg ;;
+
+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+    ac_prev=dvidir ;;
+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+    dvidir=$ac_optarg ;;
+
+  -enable-* | --enable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=\$ac_optarg ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+    ac_prev=htmldir ;;
+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+  | --ht=*)
+    htmldir=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localedir | --localedir | --localedi | --localed | --locale)
+    ac_prev=localedir ;;
+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+    localedir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst | --locals)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+    ac_prev=pdfdir ;;
+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+    pdfdir=$ac_optarg ;;
+
+  -psdir | --psdir | --psdi | --psd | --ps)
+    ac_prev=psdir ;;
+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+    psdir=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=\$ac_optarg ;;
+
+  -without-* | --without-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=no ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    case $ac_envvar in #(
+      '' | [0-9]* | *[!_$as_cr_alnum]* )
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+    esac
+    eval $ac_envvar=\$ac_optarg
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  as_fn_error $? "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+  case $enable_option_checking in
+    no) ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+  esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
+		datadir sysconfdir sharedstatedir localstatedir includedir \
+		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+		libdir localedir mandir
+do
+  eval ac_val=\$$ac_var
+  # Remove trailing slashes.
+  case $ac_val in
+    */ )
+      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+      eval $ac_var=\$ac_val;;
+  esac
+  # Be sure to have absolute directory names.
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+  esac
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  as_fn_error $? "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  as_fn_error $? "pwd does not report name of working directory"
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then the parent directory.
+  ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_myself" : 'X\(//\)[^/]' \| \
+	 X"$as_myself" : 'X\(//\)$' \| \
+	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r "$srcdir/$ac_unique_file"; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+	pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_env_${ac_var}_value=\$${ac_var}
+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+  # Omit some internal or obsolete options to make the list less imposing.
+  # This message is too long to be a string in the A/UX 3.1 sh.
+  cat <<_ACEOF
+\`configure' configures PostgreSQL 9.6.0 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking ...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                          [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR            user executables [EPREFIX/bin]
+  --sbindir=DIR           system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR        program executables [EPREFIX/libexec]
+  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --libdir=DIR            object code libraries [EPREFIX/lib]
+  --includedir=DIR        C header files [PREFIX/include]
+  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
+  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR           info documentation [DATAROOTDIR/info]
+  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR            man documentation [DATAROOTDIR/man]
+  --docdir=DIR            documentation root [DATAROOTDIR/doc/postgresql]
+  --htmldir=DIR           html documentation [DOCDIR]
+  --dvidir=DIR            dvi documentation [DOCDIR]
+  --pdfdir=DIR            pdf documentation [DOCDIR]
+  --psdir=DIR             ps documentation [DOCDIR]
+_ACEOF
+
+  cat <<\_ACEOF
+
+System types:
+  --build=BUILD     configure for building on BUILD [guessed]
+  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+  case $ac_init_help in
+     short | recursive ) echo "Configuration of PostgreSQL 9.6.0:";;
+   esac
+  cat <<\_ACEOF
+
+Optional Features:
+  --disable-option-checking  ignore unrecognized --enable/--with options
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --disable-integer-datetimes
+                          disable 64-bit integer date/time support
+  --enable-nls[=LANGUAGES]
+                          enable Native Language Support
+  --disable-rpath         do not embed shared library search path in
+                          executables
+  --disable-spinlocks     do not use spinlocks
+  --disable-atomics       do not use atomic operations
+  --enable-debug          build with debugging symbols (-g)
+  --enable-profiling      build with profiling enabled
+  --enable-coverage       build with coverage testing instrumentation
+  --enable-dtrace         build with DTrace support
+  --enable-tap-tests      enable TAP tests (requires Perl and IPC::Run)
+  --enable-depend         turn on automatic dependency tracking
+  --enable-cassert        enable assertion checks (for debugging)
+  --disable-thread-safety disable thread-safety in client libraries
+  --disable-largefile     omit support for large files
+  --disable-float4-byval  disable float4 passed by value
+  --disable-float8-byval  disable float8 passed by value
+
+Optional Packages:
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-extra-version=STRING
+                          append STRING to version
+  --with-template=NAME    override operating system template
+  --with-includes=DIRS    look for additional header files in DIRS
+  --with-libraries=DIRS   look for additional libraries in DIRS
+  --with-libs=DIRS        alternative spelling of --with-libraries
+  --with-pgport=PORTNUM   set default port number [5432]
+  --with-blocksize=BLOCKSIZE
+                          set table block size in kB [8]
+  --with-segsize=SEGSIZE  set table segment size in GB [1]
+  --with-wal-blocksize=BLOCKSIZE
+                          set WAL block size in kB [8]
+  --with-wal-segsize=SEGSIZE
+                          set WAL segment size in MB [16]
+  --with-CC=CMD           set compiler (deprecated)
+  --with-tcl              build Tcl modules (PL/Tcl)
+  --with-tclconfig=DIR    tclConfig.sh is in DIR
+  --with-perl             build Perl modules (PL/Perl)
+  --with-python           build Python modules (PL/Python)
+  --with-gssapi           build with GSSAPI support
+  --with-krb-srvnam=NAME  default service principal name in Kerberos (GSSAPI)
+                          [postgres]
+  --with-pam              build with PAM support
+  --with-bsd-auth         build with BSD Authentication support
+  --with-ldap             build with LDAP support
+  --with-bonjour          build with Bonjour support
+  --with-openssl          build with OpenSSL support
+  --with-selinux          build with SELinux support
+  --with-systemd          build with systemd support
+  --without-readline      do not use GNU Readline nor BSD Libedit for editing
+  --with-libedit-preferred
+                          prefer BSD Libedit over GNU Readline
+  --with-uuid=LIB         build contrib/uuid-ossp using LIB (bsd,e2fs,ossp)
+  --with-ossp-uuid        obsolete spelling of --with-uuid=ossp
+  --with-libxml           build with XML support
+  --with-libxslt          use XSLT support when building contrib/xml2
+  --with-system-tzdata=DIR
+                          use system time zone data in DIR
+  --without-zlib          do not use Zlib
+  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
+
+Some influential environment variables:
+  CC          C compiler command
+  CFLAGS      C compiler flags
+  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+              nonstandard directory <lib dir>
+  LIBS        libraries to pass to the linker, e.g. -l<library>
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
+              you have headers in a nonstandard directory <include dir>
+  CPP         C preprocessor
+  LDFLAGS_EX  extra linker flags for linking executables only
+  LDFLAGS_SL  extra linker flags for linking shared libraries only
+  DOCBOOKSTYLE
+              location of DocBook stylesheets
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to <pgsql-bugs@postgresql.org>.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d "$ac_dir" ||
+      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+      continue
+    ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+    cd "$ac_dir" || { ac_status=$?; continue; }
+    # Check for guested configure.
+    if test -f "$ac_srcdir/configure.gnu"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+    elif test -f "$ac_srcdir/configure"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure" --help=recursive
+    else
+      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
+  done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+  cat <<\_ACEOF
+PostgreSQL configure 9.6.0
+generated by GNU Autoconf 2.69
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+
+Copyright (c) 1996-2016, PostgreSQL Global Development Group
+_ACEOF
+  exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext
+  if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext conftest$ac_exeext
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+	 test "$cross_compiling" = yes ||
+	 test -x conftest$ac_exeext
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+  # interfere with the next link command; also delete a directory that is
+  # left behind by Apple's compiler.  We do this before executing the actions.
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
+
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } > conftest.i && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+    ac_retval=1
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_cpp
+
+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_c_check_header_mongrel ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if eval \${$3+:} false; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_header_compiler=yes
+else
+  ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <$2>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  ac_header_preproc=yes
+else
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
+  yes:no: )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+( $as_echo "## ---------------------------------------- ##
+## Report this to pgsql-bugs@postgresql.org ##
+## ---------------------------------------- ##"
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_mongrel
+
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+       $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_retval=$ac_status
+fi
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $2 (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_func
+
+# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
+# ----------------------------------------------------
+# Tries to find if the field MEMBER exists in type AGGR, after including
+# INCLUDES, setting cache variable VAR accordingly.
+ac_fn_c_check_member ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
+$as_echo_n "checking for $2.$3... " >&6; }
+if eval \${$4+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$5
+int
+main ()
+{
+static $2 ac_aggr;
+if (ac_aggr.$3)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$4=yes"
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$5
+int
+main ()
+{
+static $2 ac_aggr;
+if (sizeof ac_aggr.$3)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$4=yes"
+else
+  eval "$4=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$4
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_member
+
+# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
+# -------------------------------------------
+# Tests whether TYPE exists after having included INCLUDES, setting cache
+# variable VAR accordingly.
+ac_fn_c_check_type ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=no"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+if (sizeof ($2))
+	 return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+if (sizeof (($2)))
+	    return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  eval "$3=yes"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_type
+
+# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
+# --------------------------------------------
+# Tries to find the compile-time value of EXPR in a program that includes
+# INCLUDES, setting VAR accordingly. Returns whether the value could be
+# computed
+ac_fn_c_compute_int ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if test "$cross_compiling" = yes; then
+    # Depending upon the size, compute the lo and hi bounds.
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) >= 0)];
+test_array [0] = 0;
+return test_array [0];
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_lo=0 ac_mid=0
+  while :; do
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+test_array [0] = 0;
+return test_array [0];
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_hi=$ac_mid; break
+else
+  as_fn_arith $ac_mid + 1 && ac_lo=$as_val
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  done
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) < 0)];
+test_array [0] = 0;
+return test_array [0];
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_hi=-1 ac_mid=-1
+  while :; do
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) >= $ac_mid)];
+test_array [0] = 0;
+return test_array [0];
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_lo=$ac_mid; break
+else
+  as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  done
+else
+  ac_lo= ac_hi=
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+  as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+test_array [0] = 0;
+return test_array [0];
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_hi=$ac_mid
+else
+  as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in #((
+?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
+'') ac_retval=1 ;;
+esac
+  else
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+static long int longval () { return $2; }
+static unsigned long int ulongval () { return $2; }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+  FILE *f = fopen ("conftest.val", "w");
+  if (! f)
+    return 1;
+  if (($2) < 0)
+    {
+      long int i = longval ();
+      if (i != ($2))
+	return 1;
+      fprintf (f, "%ld", i);
+    }
+  else
+    {
+      unsigned long int i = ulongval ();
+      if (i != ($2))
+	return 1;
+      fprintf (f, "%lu", i);
+    }
+  /* Do not output a trailing newline, as this causes \r\n confusion
+     on some platforms.  */
+  return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  echo >>conftest.val; read $3 <conftest.val; ac_retval=0
+else
+  ac_retval=1
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f conftest.val
+
+  fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_compute_int
+
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
+ac_fn_c_check_decl ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  as_decl_name=`echo $2|sed 's/ *(.*//'`
+  as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+#ifndef $as_decl_name
+#ifdef __cplusplus
+  (void) $as_decl_use;
+#else
+  (void) $as_decl_name;
+#endif
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_decl
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by PostgreSQL $as_me 9.6.0, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    $as_echo "PATH: $as_dir"
+  done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *\'*)
+      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+    2)
+      as_fn_append ac_configure_args1 " '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+	ac_must_keep_next=false # Got value, back to normal.
+      else
+	case $ac_arg in
+	  *=* | --config-cache | -C | -disable-* | --disable-* \
+	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+	  | -with-* | --with-* | -without-* | --without-* | --x)
+	    case "$ac_configure_args0 " in
+	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+	    esac
+	    ;;
+	  -* ) ac_must_keep_next=true ;;
+	esac
+      fi
+      as_fn_append ac_configure_args " '$ac_arg'"
+      ;;
+    esac
+  done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    $as_echo "## ---------------- ##
+## Cache variables. ##
+## ---------------- ##"
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+  (set) 2>&1 |
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      sed -n \
+	"s/'\''/'\''\\\\'\'''\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
+    *)
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+)
+    echo
+
+    $as_echo "## ----------------- ##
+## Output variables. ##
+## ----------------- ##"
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      $as_echo "$ac_var='\''$ac_val'\''"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      $as_echo "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
+      echo
+      for ac_var in $ac_subst_files
+      do
+	eval ac_val=\$$ac_var
+	case $ac_val in
+	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+	esac
+	$as_echo "$ac_var='\''$ac_val'\''"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      $as_echo "## ----------- ##
+## confdefs.h. ##
+## ----------- ##"
+      echo
+      cat confdefs.h
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      $as_echo "$as_me: caught signal $ac_signal"
+    $as_echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+$as_echo "/* confdefs.h */" > confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
+elif test "x$prefix" != xNONE; then
+  ac_site_file1=$prefix/share/config.site
+  ac_site_file2=$prefix/etc/config.site
+else
+  ac_site_file1=$ac_default_prefix/share/config.site
+  ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+  test "x$ac_site_file" = xNONE && continue
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
+    esac
+  fi
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+	# differences in whitespace do not lead to failure.
+	ac_old_val_w=`echo x $ac_old_val`
+	ac_new_val_w=`echo x $ac_new_val`
+	if test "$ac_old_val_w" != "$ac_new_val_w"; then
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	  ac_cache_corrupted=:
+	else
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+	  eval $ac_var=\$ac_old_val
+	fi
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
+$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
+$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+ac_aux_dir=
+for ac_dir in config "$srcdir"/config; do
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in config \"$srcdir\"/config" "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
+
+
+
+configure_args=$ac_configure_args
+
+
+PG_MAJORVERSION=`expr "$PACKAGE_VERSION" : '\([0-9][0-9]*\.[0-9][0-9]*\)'`
+
+
+cat >>confdefs.h <<_ACEOF
+#define PG_MAJORVERSION "$PG_MAJORVERSION"
+_ACEOF
+
+
+
+
+
+# Check whether --with-extra-version was given.
+if test "${with_extra_version+set}" = set; then :
+  withval=$with_extra_version;
+  case $withval in
+    yes)
+      as_fn_error $? "argument required for --with-extra-version option" "$LINENO" 5
+      ;;
+    no)
+      as_fn_error $? "argument required for --with-extra-version option" "$LINENO" 5
+      ;;
+    *)
+      PG_VERSION="$PACKAGE_VERSION$withval"
+      ;;
+  esac
+
+else
+  PG_VERSION="$PACKAGE_VERSION"
+fi
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define PG_VERSION "$PG_VERSION"
+_ACEOF
+
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if ${ac_cv_build+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if ${ac_cv_host+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+
+template=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which template to use" >&5
+$as_echo_n "checking which template to use... " >&6; }
+
+
+
+
+# Check whether --with-template was given.
+if test "${with_template+set}" = set; then :
+  withval=$with_template;
+  case $withval in
+    yes)
+      as_fn_error $? "argument required for --with-template option" "$LINENO" 5
+      ;;
+    no)
+      as_fn_error $? "argument required for --with-template option" "$LINENO" 5
+      ;;
+    *)
+
+  case $withval in
+    list)   echo; ls "$srcdir/src/template"; exit;;
+    *)      if test -f "$srcdir/src/template/$with_template" ; then
+              template=$withval
+            else
+              as_fn_error $? "'$withval' is not a valid template name. Use 'list' for a list." "$LINENO" 5
+            fi;;
+  esac
+
+      ;;
+  esac
+
+else
+
+# --with-template not given
+
+case $host_os in
+     aix*) template=aix ;;
+  cygwin*) template=cygwin ;;
+  darwin*) template=darwin ;;
+dragonfly*) template=netbsd ;;
+ freebsd*) template=freebsd ;;
+    hpux*) template=hpux ;;
+ linux*|gnu*|k*bsd*-gnu)
+           template=linux ;;
+   mingw*) template=win32 ;;
+  netbsd*) template=netbsd ;;
+ openbsd*) template=openbsd ;;
+     sco*) template=sco ;;
+ solaris*) template=solaris ;;
+   sysv5*) template=unixware ;;
+esac
+
+  if test x"$template" = x"" ; then
+    as_fn_error $? "
+*******************************************************************
+PostgreSQL has apparently not been ported to your platform yet.
+To try a manual configuration, look into the src/template directory
+for a similar platform and use the '--with-template=' option.
+
+Please also contact <pgsql-bugs@postgresql.org> to see about
+rectifying this.  Include the above 'checking host system type...'
+line.
+*******************************************************************
+" "$LINENO" 5
+  fi
+
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $template" >&5
+$as_echo "$template" >&6; }
+
+PORTNAME=$template
+
+
+# Initialize default assumption that we do not need separate assembly code
+# for TAS (test-and-set).  This can be overridden by the template file
+# when it's executed.
+need_tas=no
+tas_file=dummy.s
+
+
+
+##
+## Command line options
+##
+
+#
+# Add non-standard directories to the include path
+#
+
+
+
+# Check whether --with-includes was given.
+if test "${with_includes+set}" = set; then :
+  withval=$with_includes;
+  case $withval in
+    yes)
+      as_fn_error $? "argument required for --with-includes option" "$LINENO" 5
+      ;;
+    no)
+      as_fn_error $? "argument required for --with-includes option" "$LINENO" 5
+      ;;
+    *)
+
+      ;;
+  esac
+
+fi
+
+
+
+
+#
+# Add non-standard directories to the library search path
+#
+
+
+
+# Check whether --with-libraries was given.
+if test "${with_libraries+set}" = set; then :
+  withval=$with_libraries;
+  case $withval in
+    yes)
+      as_fn_error $? "argument required for --with-libraries option" "$LINENO" 5
+      ;;
+    no)
+      as_fn_error $? "argument required for --with-libraries option" "$LINENO" 5
+      ;;
+    *)
+      LIBRARY_DIRS=$withval
+      ;;
+  esac
+
+fi
+
+
+
+
+
+
+# Check whether --with-libs was given.
+if test "${with_libs+set}" = set; then :
+  withval=$with_libs;
+  case $withval in
+    yes)
+      as_fn_error $? "argument required for --with-libs option" "$LINENO" 5
+      ;;
+    no)
+      as_fn_error $? "argument required for --with-libs option" "$LINENO" 5
+      ;;
+    *)
+      LIBRARY_DIRS=$withval
+      ;;
+  esac
+
+fi
+
+
+
+
+#
+# 64-bit integer date/time storage: enabled by default.
+#
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build with 64-bit integer date/time support" >&5
+$as_echo_n "checking whether to build with 64-bit integer date/time support... " >&6; }
+
+
+# Check whether --enable-integer-datetimes was given.
+if test "${enable_integer_datetimes+set}" = set; then :
+  enableval=$enable_integer_datetimes;
+  case $enableval in
+    yes)
+
+$as_echo "#define USE_INTEGER_DATETIMES 1" >>confdefs.h
+
+      ;;
+    no)
+      :
+      ;;
+    *)
+      as_fn_error $? "no argument expected for --enable-integer-datetimes option" "$LINENO" 5
+      ;;
+  esac
+
+else
+  enable_integer_datetimes=yes
+
+$as_echo "#define USE_INTEGER_DATETIMES 1" >>confdefs.h
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_integer_datetimes" >&5
+$as_echo "$enable_integer_datetimes" >&6; }
+
+
+#
+# NLS
+#
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is wanted" >&5
+$as_echo_n "checking whether NLS is wanted... " >&6; }
+
+
+# Check whether --enable-nls was given.
+if test "${enable_nls+set}" = set; then :
+  enableval=$enable_nls;
+  case $enableval in
+    yes)
+      :
+      ;;
+    no)
+      :
+      ;;
+    *)
+      enable_nls=yes
+WANTED_LANGUAGES=$enableval
+      ;;
+  esac
+
+else
+  enable_nls=no
+fi
+
+
+
+if test "$enable_nls" = yes; then
+
+$as_echo "#define ENABLE_NLS 1" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_nls" >&5
+$as_echo "$enable_nls" >&6; }
+
+
+
+#
+# Default port number (--with-pgport), default 5432
+#
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for default port number" >&5
+$as_echo_n "checking for default port number... " >&6; }
+
+
+
+# Check whether --with-pgport was given.
+if test "${with_pgport+set}" = set; then :
+  withval=$with_pgport;
+  case $withval in
+    yes)
+      as_fn_error $? "argument required for --with-pgport option" "$LINENO" 5
+      ;;
+    no)
+      as_fn_error $? "argument required for --with-pgport option" "$LINENO" 5
+      ;;
+    *)
+      default_port=$withval
+      ;;
+  esac
+
+else
+  default_port=5432
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $default_port" >&5
+$as_echo "$default_port" >&6; }
+# Need both of these because some places want an integer and some a string
+
+cat >>confdefs.h <<_ACEOF
+#define DEF_PGPORT ${default_port}
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define DEF_PGPORT_STR "${default_port}"
+_ACEOF
+
+
+
+# It's worth validating port; you can get very confusing errors otherwise
+if test x"$default_port" = x""; then
+  as_fn_error $? "invalid --with-pgport specification: empty string" "$LINENO" 5
+elif test ! x`echo "$default_port" | sed -e 's/[0-9]*//'` = x""; then
+  as_fn_error $? "invalid --with-pgport specification: must be a number" "$LINENO" 5
+elif test ! x`echo "$default_port" | sed -e 's/^0.//'` = x"$default_port"; then
+  as_fn_error $? "invalid --with-pgport specification: must not have leading 0" "$LINENO" 5
+elif test "$default_port" -lt "1" -o "$default_port" -gt "65535"; then
+  as_fn_error $? "invalid --with-pgport specification: must be between 1 and 65535" "$LINENO" 5
+fi
+
+#
+# '-rpath'-like feature can be disabled
+#
+
+
+# Check whether --enable-rpath was given.
+if test "${enable_rpath+set}" = set; then :
+  enableval=$enable_rpath;
+  case $enableval in
+    yes)
+      :
+      ;;
+    no)
+      :
+      ;;
+    *)
+      as_fn_error $? "no argument expected for --enable-rpath option" "$LINENO" 5
+      ;;
+  esac
+
+else
+  enable_rpath=yes
+
+fi
+
+
+
+
+#
+# Spinlocks
+#
+
+
+# Check whether --enable-spinlocks was given.
+if test "${enable_spinlocks+set}" = set; then :
+  enableval=$enable_spinlocks;
+  case $enableval in
+    yes)
+      :
+      ;;
+    no)
+      :
+      ;;
+    *)
+      as_fn_error $? "no argument expected for --enable-spinlocks option" "$LINENO" 5
+      ;;
+  esac
+
+else
+  enable_spinlocks=yes
+
+fi
+
+
+
+#
+# Atomic operations
+#
+
+
+# Check whether --enable-atomics was given.
+if test "${enable_atomics+set}" = set; then :
+  enableval=$enable_atomics;
+  case $enableval in
+    yes)
+      :
+      ;;
+    no)
+      :
+      ;;
+    *)
+      as_fn_error $? "no argument expected for --enable-atomics option" "$LINENO" 5
+      ;;
+  esac
+
+else
+  enable_atomics=yes
+
+fi
+
+
+
+#
+# --enable-debug adds -g to compiler flags
+#
+
+
+# Check whether --enable-debug was given.
+if test "${enable_debug+set}" = set; then :
+  enableval=$enable_debug;
+  case $enableval in
+    yes)
+      :
+      ;;
+    no)
+      :
+      ;;
+    *)
+      as_fn_error $? "no argument expected for --enable-debug option" "$LINENO" 5
+      ;;
+  esac
+
+else
+  enable_debug=no
+
+fi
+
+
+
+
+#
+# --enable-profiling enables gcc profiling
+#
+
+
+# Check whether --enable-profiling was given.
+if test "${enable_profiling+set}" = set; then :
+  enableval=$enable_profiling;
+  case $enableval in
+    yes)
+      :
+      ;;
+    no)
+      :
+      ;;
+    *)
+      as_fn_error $? "no argument expected for --enable-profiling option" "$LINENO" 5
+      ;;
+  esac
+
+else
+  enable_profiling=no
+
+fi
+
+
+
+#
+# --enable-coverage enables generation of code coverage metrics with gcov
+#
+
+
+# Check whether --enable-coverage was given.
+if test "${enable_coverage+set}" = set; then :
+  enableval=$enable_coverage;
+  case $enableval in
+    yes)
+      for ac_prog in gcov
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_GCOV+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$GCOV"; then
+  ac_cv_prog_GCOV="$GCOV" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_GCOV="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+GCOV=$ac_cv_prog_GCOV
+if test -n "$GCOV"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCOV" >&5
+$as_echo "$GCOV" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$GCOV" && break
+done
+
+if test -z "$GCOV"; then
+  as_fn_error $? "gcov not found" "$LINENO" 5
+fi
+for ac_prog in lcov
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_LCOV+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$LCOV"; then
+  ac_cv_prog_LCOV="$LCOV" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_LCOV="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+LCOV=$ac_cv_prog_LCOV
+if test -n "$LCOV"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LCOV" >&5
+$as_echo "$LCOV" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$LCOV" && break
+done
+
+if test -z "$LCOV"; then
+  as_fn_error $? "lcov not found" "$LINENO" 5
+fi
+for ac_prog in genhtml
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_GENHTML+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$GENHTML"; then
+  ac_cv_prog_GENHTML="$GENHTML" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_GENHTML="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+GENHTML=$ac_cv_prog_GENHTML
+if test -n "$GENHTML"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GENHTML" >&5
+$as_echo "$GENHTML" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$GENHTML" && break
+done
+
+if test -z "$GENHTML"; then
+  as_fn_error $? "genhtml not found" "$LINENO" 5
+fi
+      ;;
+    no)
+      :
+      ;;
+    *)
+      as_fn_error $? "no argument expected for --enable-coverage option" "$LINENO" 5
+      ;;
+  esac
+
+else
+  enable_coverage=no
+
+fi
+
+
+
+
+#
+# DTrace
+#
+
+
+# Check whether --enable-dtrace was given.
+if test "${enable_dtrace+set}" = set; then :
+  enableval=$enable_dtrace;
+  case $enableval in
+    yes)
+      for ac_prog in dtrace
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DTRACE+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DTRACE"; then
+  ac_cv_prog_DTRACE="$DTRACE" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_DTRACE="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DTRACE=$ac_cv_prog_DTRACE
+if test -n "$DTRACE"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DTRACE" >&5
+$as_echo "$DTRACE" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$DTRACE" && break
+done
+
+if test -z "$DTRACE"; then
+  as_fn_error $? "dtrace not found" "$LINENO" 5
+fi
+
+      ;;
+    no)
+      :
+      ;;
+    *)
+      as_fn_error $? "no argument expected for --enable-dtrace option" "$LINENO" 5
+      ;;
+  esac
+
+else
+  enable_dtrace=no
+
+fi
+
+
+
+
+#
+# TAP tests
+#
+
+
+# Check whether --enable-tap-tests was given.
+if test "${enable_tap_tests+set}" = set; then :
+  enableval=$enable_tap_tests;
+  case $enableval in
+    yes)
+      :
+      ;;
+    no)
+      :
+      ;;
+    *)
+      as_fn_error $? "no argument expected for --enable-tap-tests option" "$LINENO" 5
+      ;;
+  esac
+
+else
+  enable_tap_tests=no
+
+fi
+
+
+
+
+#
+# Block size
+#
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for block size" >&5
+$as_echo_n "checking for block size... " >&6; }
+
+
+
+# Check whether --with-blocksize was given.
+if test "${with_blocksize+set}" = set; then :
+  withval=$with_blocksize;
+  case $withval in
+    yes)
+      as_fn_error $? "argument required for --with-blocksize option" "$LINENO" 5
+      ;;
+    no)
+      as_fn_error $? "argument required for --with-blocksize option" "$LINENO" 5
+      ;;
+    *)
+      blocksize=$withval
+      ;;
+  esac
+
+else
+  blocksize=8
+fi
+
+
+case ${blocksize} in
+  1) BLCKSZ=1024;;
+  2) BLCKSZ=2048;;
+  4) BLCKSZ=4096;;
+  8) BLCKSZ=8192;;
+ 16) BLCKSZ=16384;;
+ 32) BLCKSZ=32768;;
+  *) as_fn_error $? "Invalid block size. Allowed values are 1,2,4,8,16,32." "$LINENO" 5
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${blocksize}kB" >&5
+$as_echo "${blocksize}kB" >&6; }
+
+
+cat >>confdefs.h <<_ACEOF
+#define BLCKSZ ${BLCKSZ}
+_ACEOF
+
+
+#
+# Relation segment size
+#
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for segment size" >&5
+$as_echo_n "checking for segment size... " >&6; }
+
+
+
+# Check whether --with-segsize was given.
+if test "${with_segsize+set}" = set; then :
+  withval=$with_segsize;
+  case $withval in
+    yes)
+      as_fn_error $? "argument required for --with-segsize option" "$LINENO" 5
+      ;;
+    no)
+      as_fn_error $? "argument required for --with-segsize option" "$LINENO" 5
+      ;;
+    *)
+      segsize=$withval
+      ;;
+  esac
+
+else
+  segsize=1
+fi
+
+
+# this expression is set up to avoid unnecessary integer overflow
+# blocksize is already guaranteed to be a factor of 1024
+RELSEG_SIZE=`expr '(' 1024 / ${blocksize} ')' '*' ${segsize} '*' 1024`
+test $? -eq 0 || exit 1
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${segsize}GB" >&5
+$as_echo "${segsize}GB" >&6; }
+
+
+cat >>confdefs.h <<_ACEOF
+#define RELSEG_SIZE ${RELSEG_SIZE}
+_ACEOF
+
+
+#
+# WAL block size
+#
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for WAL block size" >&5
+$as_echo_n "checking for WAL block size... " >&6; }
+
+
+
+# Check whether --with-wal-blocksize was given.
+if test "${with_wal_blocksize+set}" = set; then :
+  withval=$with_wal_blocksize;
+  case $withval in
+    yes)
+      as_fn_error $? "argument required for --with-wal-blocksize option" "$LINENO" 5
+      ;;
+    no)
+      as_fn_error $? "argument required for --with-wal-blocksize option" "$LINENO" 5
+      ;;
+    *)
+      wal_blocksize=$withval
+      ;;
+  esac
+
+else
+  wal_blocksize=8
+fi
+
+
+case ${wal_blocksize} in
+  1) XLOG_BLCKSZ=1024;;
+  2) XLOG_BLCKSZ=2048;;
+  4) XLOG_BLCKSZ=4096;;
+  8) XLOG_BLCKSZ=8192;;
+ 16) XLOG_BLCKSZ=16384;;
+ 32) XLOG_BLCKSZ=32768;;
+ 64) XLOG_BLCKSZ=65536;;
+  *) as_fn_error $? "Invalid WAL block size. Allowed values are 1,2,4,8,16,32,64." "$LINENO" 5
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${wal_blocksize}kB" >&5
+$as_echo "${wal_blocksize}kB" >&6; }
+
+
+cat >>confdefs.h <<_ACEOF
+#define XLOG_BLCKSZ ${XLOG_BLCKSZ}
+_ACEOF
+
+
+#
+# WAL segment size
+#
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for WAL segment size" >&5
+$as_echo_n "checking for WAL segment size... " >&6; }
+
+
+
+# Check whether --with-wal-segsize was given.
+if test "${with_wal_segsize+set}" = set; then :
+  withval=$with_wal_segsize;
+  case $withval in
+    yes)
+      as_fn_error $? "argument required for --with-wal-segsize option" "$LINENO" 5
+      ;;
+    no)
+      as_fn_error $? "argument required for --with-wal-segsize option" "$LINENO" 5
+      ;;
+    *)
+      wal_segsize=$withval
+      ;;
+  esac
+
+else
+  wal_segsize=16
+fi
+
+
+case ${wal_segsize} in
+  1) ;;
+  2) ;;
+  4) ;;
+  8) ;;
+ 16) ;;
+ 32) ;;
+ 64) ;;
+  *) as_fn_error $? "Invalid WAL segment size. Allowed values are 1,2,4,8,16,32,64." "$LINENO" 5
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${wal_segsize}MB" >&5
+$as_echo "${wal_segsize}MB" >&6; }
+
+
+cat >>confdefs.h <<_ACEOF
+#define XLOG_SEG_SIZE (${wal_segsize} * 1024 * 1024)
+_ACEOF
+
+
+#
+# C compiler
+#
+
+# For historical reasons you can also use --with-CC to specify the C compiler
+# to use, although the standard way to do this is to set the CC environment
+# variable.
+
+
+
+# Check whether --with-CC was given.
+if test "${with_CC+set}" = set; then :
+  withval=$with_CC;
+  case $withval in
+    yes)
+      as_fn_error $? "argument required for --with-CC option" "$LINENO" 5
+      ;;
+    no)
+      as_fn_error $? "argument required for --with-CC option" "$LINENO" 5
+      ;;
+    *)
+      CC=$with_CC
+      ;;
+  esac
+
+fi
+
+
+
+case $template in
+  aix) pgac_cc_list="gcc xlc";;
+    *) pgac_cc_list="gcc cc";;
+esac
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  for ac_prog in $pgac_cc_list
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LI