add armhf support stuff
authorGrazvydas Ignotas <notasas@gmail.com>
Sun, 10 Apr 2016 16:00:52 +0000 (19:00 +0300)
committerGrazvydas Ignotas <notasas@gmail.com>
Sun, 10 Apr 2016 16:00:52 +0000 (19:00 +0300)
just repackaging some Debian Jessie armhf libs, except:
libsdl - rebuilt with pandora hacks
libgles - armhf SGX libs from TI

17 files changed:
recipes/armhf/armhf-support.bb [new file with mode: 0644]
recipes/armhf/armhf.inc [new file with mode: 0644]
recipes/armhf/armhflibasound2_1.0.28.bb [new file with mode: 0644]
recipes/armhf/armhflibc6_2.19.bb [new file with mode: 0644]
recipes/armhf/armhflibgcc1_4.9.2.bb [new file with mode: 0644]
recipes/armhf/armhflibgles_4.10.00.01.bb [new file with mode: 0644]
recipes/armhf/armhflibpng12-0_1.2.50.bb [new file with mode: 0644]
recipes/armhf/armhflibsdl-x11/sdl.m4 [new file with mode: 0644]
recipes/armhf/armhflibsdl-x11_1.2.14.1.bb [new file with mode: 0644]
recipes/armhf/armhflibstdc++6_4.9.2.bb [new file with mode: 0644]
recipes/armhf/armhflibx11-6_1.6.2.bb [new file with mode: 0644]
recipes/armhf/armhflibxau6_1.0.8.bb [new file with mode: 0644]
recipes/armhf/armhflibxcb1_1.10.bb [new file with mode: 0644]
recipes/armhf/armhflibxdmcp6_1.1.1.bb [new file with mode: 0644]
recipes/armhf/armhflibxext6_1.3.3.bb [new file with mode: 0644]
recipes/armhf/armhfzlib1g_1.2.8.bb [new file with mode: 0644]
recipes/armhf/ti-eula-unpack.inc [new file with mode: 0644]

diff --git a/recipes/armhf/armhf-support.bb b/recipes/armhf/armhf-support.bb
new file mode 100644 (file)
index 0000000..f860225
--- /dev/null
@@ -0,0 +1,18 @@
+DESCRIPTION = "Task file for armhf support libs"
+
+PR = "r0"
+
+inherit task
+
+# ANGSTROM_EXTRA_INSTALL ?= ""
+
+RDEPENDS_${PN} = " \
+  armhflibc6 \
+  armhflibgcc1 \
+  armhflibstdc++6 \
+  armhfzlib1g \
+  armhflibpng12-0 \
+  armhflibx11-6 \
+  armhflibsdl-x11 \
+  armhflibgles \
+"
diff --git a/recipes/armhf/armhf.inc b/recipes/armhf/armhf.inc
new file mode 100644 (file)
index 0000000..f63a873
--- /dev/null
@@ -0,0 +1,15 @@
+ARMHF_DEB_MIRROR = "http://notaz.gp2x.de/misc/pnd/armhf_deb"
+
+PRI = "0"
+
+S = "${WORKDIR}"
+
+do_install() {
+  for f in ${S}/*.deb; do
+    dpkg-deb -x $f ${D}/
+  done
+}
+
+FILES_${PN}     += "lib/arm-linux-gnueabihf/*.so* \
+                    usr/lib/arm-linux-gnueabihf/*.so*"
+FILES_${PN}-dbg += "usr/lib/debug"
diff --git a/recipes/armhf/armhflibasound2_1.0.28.bb b/recipes/armhf/armhflibasound2_1.0.28.bb
new file mode 100644 (file)
index 0000000..fd6c118
--- /dev/null
@@ -0,0 +1,16 @@
+SUMMARY = "ALSA sound library"
+HOMEPAGE = "http://www.alsa-project.org"
+SECTION = "libs/multimedia"
+LICENSE = "LGPLv2.1 GPLv2+"
+RDEPENDS = "armhflibc6"
+
+require armhf.inc
+
+DEBV = "1"
+PR = "${DEBV}.r${PRI}.0"
+
+SRC_URI = "${ARMHF_DEB_MIRROR}/libasound2_${PV}-${DEBV}_armhf.deb;name=deb1 \
+          ${ARMHF_DEB_MIRROR}/libasound2-dbg_${PV}-${DEBV}_armhf.deb;name=deb2"
+
+SRC_URI[deb1.md5sum] = "a402fbaa974fc22f115a7a7d19f40546"
+SRC_URI[deb2.md5sum] = "0965851780c5df16040a068ee01db0b1"
diff --git a/recipes/armhf/armhflibc6_2.19.bb b/recipes/armhf/armhflibc6_2.19.bb
new file mode 100644 (file)
index 0000000..a9b7a89
--- /dev/null
@@ -0,0 +1,22 @@
+SUMMARY = "GLIBC (GNU C Library)"
+DESCRIPTION = "The GNU C Library is used as the system C library in most systems with the Linux kernel."
+HOMEPAGE = "http://www.gnu.org/software/libc/libc.html"
+SECTION = "libs"
+LICENSE = "GPLv2 LGPLv2.1"
+
+require armhf.inc
+
+DEBV = "18+deb8u4"
+PR = "${DEBV}.r${PRI}.0"
+
+SRC_URI = "${ARMHF_DEB_MIRROR}/libc6_${PV}-${DEBV}_armhf.deb;name=deb1 \
+          ${ARMHF_DEB_MIRROR}/libc6-dbg_${PV}-${DEBV}_armhf.deb;name=deb2"
+
+FILES_${PN} += "usr/lib/arm-linux-gnueabihf/audit \
+                usr/lib/arm-linux-gnueabihf/gconv/CP*.so* \
+                usr/lib/arm-linux-gnueabihf/gconv/ISO8859*.so* \
+                usr/lib/arm-linux-gnueabihf/gconv/UTF*.so* \
+                usr/lib/arm-linux-gnueabihf/gconv/UNICODE.so*"
+
+SRC_URI[deb1.md5sum] = "b7ac74ec6627c992e2f6009006e9ad59"
+SRC_URI[deb2.md5sum] = "056587df271909396478d1ab4b90a140"
diff --git a/recipes/armhf/armhflibgcc1_4.9.2.bb b/recipes/armhf/armhflibgcc1_4.9.2.bb
new file mode 100644 (file)
index 0000000..c4412af
--- /dev/null
@@ -0,0 +1,17 @@
+SUMMARY = "GNU cc and gcc C compiler library"
+HOMEPAGE = "http://www.gnu.org/software/gcc/"
+SECTION = "libs"
+LICENSE = "libgcc"
+
+RDEPENDS = "armhflibc6"
+
+require armhf.inc
+
+DEBV = "10"
+PR = "${DEBV}.r${PRI}.0"
+
+SRC_URI = "${ARMHF_DEB_MIRROR}/libgcc1_${PV}-${DEBV}_armhf.deb;name=deb1 \
+           ${ARMHF_DEB_MIRROR}/libgcc1-dbg_${PV}-${DEBV}_armhf.deb;name=deb2"
+
+SRC_URI[deb1.md5sum] = "6e1941a547478e95ddf50ec6d093999a"
+SRC_URI[deb2.md5sum] = "855e35e480e2610cbbda6085fc93dc9b"
diff --git a/recipes/armhf/armhflibgles_4.10.00.01.bb b/recipes/armhf/armhflibgles_4.10.00.01.bb
new file mode 100644 (file)
index 0000000..d398498
--- /dev/null
@@ -0,0 +1,81 @@
+DESCRIPTION = "SGX driver binary blobs, armhf version"
+LICENSE = "TSPA"
+RDEPENDS = "armhflibc6 armhflibgcc1 libgles-omap3-es23"
+
+PR = "r0"
+
+SGXPV = "4_10_00_01"
+IMGPV = "1.10.2359475"
+
+BINFILE = "Graphics_SDK_setuplinux_4_10_00_01_hardfp_minimal_demos.bin"
+SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \
+"
+
+# Logic to unpack installjammer file
+TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
+require ti-eula-unpack.inc
+
+S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
+
+export ES3LOCATION ?= "${S}/gfx_rel_es3.x"
+export ES5LOCATION ?= "${S}/gfx_rel_es5.x"
+
+DL = ${D}/usr/lib/arm-linux-gnueabihf
+
+do_configure() {
+       # clear out old stuff
+       find Binaries/ | xargs rm -f || true
+}
+
+do_compile() {
+       find ${S} -name "*_org" -delete
+}
+
+do_install () {
+       install -d ${DL}
+       install -d ${DL}/.debug
+
+       # these don't differ between ES3 and ES5
+       for f in libEGL libpvrPVR2D_BLITWSEGL libpvrPVR2D_DRIWSEGL libpvrPVR2D_FLIPWSEGL libpvrPVR2D_FRONTWSEGL libpvrPVR2D_LINUXFBWSEGL libusc; do
+               cp -a ${ES3LOCATION}/${f}.so ${DL}/
+               cp -a ${ES3LOCATION}/${f}.dbg ${DL}/.debug/
+       done
+
+       # unused: libGLES_CM_eglimage libGLESv2_eglimage libglslcompiler_eglimage libIMGegl_eglimage libsrv_um_dri
+
+       # separate for ES3 and ES5
+       for esrev in 3 5; do
+               install -d ${DL}/ES${esrev}.0/.debug
+
+               ESLOCATION=$(eval echo $(echo \$\{ES${esrev}LOCATION\}))
+               for f in libews libGLES_CM libGLESv2 libglslcompiler libIMGegl libpvr2d libpvrEWS_REMWSEGL libpvrEWS_WSEGL libPVRScopeServices libsrv_init libsrv_um pvr_drv; do
+                       cp -a ${ESLOCATION}/${f}.so ${DL}/ES${esrev}.0/
+                       cp -a ${ESLOCATION}/${f}.dbg ${DL}/ES${esrev}.0/.debug/
+               done
+       done
+
+       # for compatibility with other systems
+       cd ${DL}/
+       ln -s libEGL.so libEGL.so.1
+       ln -s libGLES_CM.so libGLESv1_CM.so
+       ln -s libGLES_CM.so libGLESv1_CM.so.1
+       ln -s libGLESv2.so libGLESv2.so.2
+       cd -
+}
+
+FILES_${PN} = "usr/lib/arm-linux-gnueabihf"
+
+FILES_${PN}-dbg = "usr/lib/arm-linux-gnueabihf/.debug \
+                   usr/lib/arm-linux-gnueabihf/ES*/.debug \
+"
+
+#HACK! These are binaries, so we can't guarantee that LDFLAGS match :(
+INSANE_SKIP_${PN} = True
+
+# Append to update-rc.d postinst
+pkg_postinst_${PN}_append() {
+rm -f $D${sysconfdir}/powervr-esrev-armhf
+/etc/init.d/pvr-init restart || true
+}
+
+SRC_URI[md5sum] = "15a3ccb66e98580e474fc112565f66b6"
diff --git a/recipes/armhf/armhflibpng12-0_1.2.50.bb b/recipes/armhf/armhflibpng12-0_1.2.50.bb
new file mode 100644 (file)
index 0000000..71593c7
--- /dev/null
@@ -0,0 +1,14 @@
+SUMMARY = "PNG image format decoding library"
+HOMEPAGE = "http://www.libpng.org/"
+SECTION = "libs"
+LICENSE = "Libpng"
+RDEPENDS = "armhflibc6 armhfzlib1g"
+
+require armhf.inc
+
+DEBV = "2+deb8u2"
+PR = "${DEBV}.r${PRI}.0"
+
+SRC_URI = "${ARMHF_DEB_MIRROR}/libpng12-0_${PV}-${DEBV}_armhf.deb"
+
+SRC_URI[md5sum] = "1c89442504697629465888a43b121daa"
diff --git a/recipes/armhf/armhflibsdl-x11/sdl.m4 b/recipes/armhf/armhflibsdl-x11/sdl.m4
new file mode 100644 (file)
index 0000000..6acf1b2
--- /dev/null
@@ -0,0 +1,203 @@
+# Configure paths for SDL
+# Sam Lantinga 9/21/99
+# stolen from Manish Singh
+# stolen back from Frank Belew
+# stolen from Manish Singh
+# Shamelessly stolen from Owen Taylor
+
+dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS
+dnl
+AC_DEFUN([AM_PATH_SDL],
+[dnl 
+dnl Get the cflags and libraries from the sdl-config script
+dnl
+AC_ARG_WITH(sdl-prefix,[  --with-sdl-prefix=PFX   Prefix where SDL is installed (optional)],
+            sdl_prefix="$withval", sdl_prefix="")
+AC_ARG_WITH(sdl-exec-prefix,[  --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)],
+            sdl_exec_prefix="$withval", sdl_exec_prefix="")
+AC_ARG_ENABLE(sdltest, [  --disable-sdltest       Do not try to compile and run a test SDL program],
+                   , enable_sdltest=yes)
+
+  min_sdl_version=ifelse([$1], ,1.2.0,$1)
+
+  if test "x$sdl_prefix$sdl_exec_prefix" = x ; then
+    PKG_CHECK_MODULES(SDL, [sdl >= $min_sdl_version],
+           [sdl_pc=yes],
+           [dnl
+             AC_MSG_RESULT(no)
+             sdl_pc=no
+           ])
+  else
+    sdl_pc=no
+    if test x$sdl_exec_prefix != x ; then
+      sdl_config_args="$sdl_config_args --exec-prefix=$sdl_exec_prefix"
+      if test x${SDL_CONFIG+set} != xset ; then
+        SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config
+      fi
+    fi
+    if test x$sdl_prefix != x ; then
+      sdl_config_args="$sdl_config_args --prefix=$sdl_prefix"
+      if test x${SDL_CONFIG+set} != xset ; then
+        SDL_CONFIG=$sdl_prefix/bin/sdl-config
+      fi
+    fi
+  fi
+
+  if test "x$sdl_pc" = xyes ; then
+    no_sdl=""
+    SDL_CONFIG="pkg-config sdl"
+  else
+    as_save_PATH="$PATH"
+    if test "x$prefix" != xNONE && test "$cross_compiling" != yes; then
+      PATH="$prefix/bin:$prefix/usr/bin:$PATH"
+    fi
+    AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH])
+    PATH="$as_save_PATH"
+    AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
+    no_sdl=""
+
+    if test "$SDL_CONFIG" = "no" ; then
+      no_sdl=yes
+    else
+      SDL_CFLAGS=`$SDL_CONFIG $sdl_config_args --cflags`
+      SDL_LIBS=`$SDL_CONFIG $sdl_config_args --libs`
+
+      sdl_major_version=`$SDL_CONFIG $sdl_config_args --version | \
+             sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+      sdl_minor_version=`$SDL_CONFIG $sdl_config_args --version | \
+             sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+      sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \
+             sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+      if test "x$enable_sdltest" = "xyes" ; then
+        ac_save_CFLAGS="$CFLAGS"
+        ac_save_CXXFLAGS="$CXXFLAGS"
+        ac_save_LIBS="$LIBS"
+        CFLAGS="$CFLAGS $SDL_CFLAGS"
+        CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
+        LIBS="$LIBS $SDL_LIBS"
+dnl
+dnl Now check if the installed SDL is sufficiently new. (Also sanity
+dnl checks the results of sdl-config to some extent
+dnl
+      rm -f conf.sdltest
+      AC_TRY_RUN([
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "SDL.h"
+
+char*
+my_strdup (char *str)
+{
+  char *new_str;
+  
+  if (str)
+    {
+      new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
+      strcpy (new_str, str);
+    }
+  else
+    new_str = NULL;
+  
+  return new_str;
+}
+
+int main (int argc, char *argv[])
+{
+  int major, minor, micro;
+  char *tmp_version;
+
+  /* This hangs on some systems (?)
+  system ("touch conf.sdltest");
+  */
+  { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); }
+
+  /* HP/UX 9 (%@#!) writes to sscanf strings */
+  tmp_version = my_strdup("$min_sdl_version");
+  if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
+     printf("%s, bad version string\n", "$min_sdl_version");
+     exit(1);
+   }
+
+   if (($sdl_major_version > major) ||
+      (($sdl_major_version == major) && ($sdl_minor_version > minor)) ||
+      (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro)))
+    {
+      return 0;
+    }
+  else
+    {
+      printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version);
+      printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro);
+      printf("*** best to upgrade to the required version.\n");
+      printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n");
+      printf("*** to point to the correct copy of sdl-config, and remove the file\n");
+      printf("*** config.cache before re-running configure\n");
+      return 1;
+    }
+}
+
+],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+        CFLAGS="$ac_save_CFLAGS"
+        CXXFLAGS="$ac_save_CXXFLAGS"
+        LIBS="$ac_save_LIBS"
+      fi
+    fi
+    if test "x$no_sdl" = x ; then
+      AC_MSG_RESULT(yes)
+    else
+      AC_MSG_RESULT(no)
+    fi
+  fi
+  if test "x$no_sdl" = x ; then
+     ifelse([$2], , :, [$2])
+  else
+     if test "$SDL_CONFIG" = "no" ; then
+       echo "*** The sdl-config script installed by SDL could not be found"
+       echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in"
+       echo "*** your path, or set the SDL_CONFIG environment variable to the"
+       echo "*** full path to sdl-config."
+     else
+       if test -f conf.sdltest ; then
+        :
+       else
+          echo "*** Could not run SDL test program, checking why..."
+          CFLAGS="$CFLAGS $SDL_CFLAGS"
+          CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
+          LIBS="$LIBS $SDL_LIBS"
+          AC_TRY_LINK([
+#include <stdio.h>
+#include "SDL.h"
+
+int main(int argc, char *argv[])
+{ return 0; }
+#undef  main
+#define main K_and_R_C_main
+],      [ return 0; ],
+        [ echo "*** The test program compiled, but did not run. This usually means"
+          echo "*** that the run-time linker is not finding SDL or finding the wrong"
+          echo "*** version of SDL. If it is not finding SDL, you'll need to set your"
+          echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
+          echo "*** to the installed location  Also, make sure you have run ldconfig if that"
+          echo "*** is required on your system"
+         echo "***"
+          echo "*** If you have an old version installed, it is best to remove it, although"
+          echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
+        [ echo "*** The test program failed to compile or link. See the file config.log for the"
+          echo "*** exact error that occured. This usually means SDL was incorrectly installed"
+          echo "*** or that you have moved SDL since it was installed. In the latter case, you"
+          echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ])
+          CFLAGS="$ac_save_CFLAGS"
+          CXXFLAGS="$ac_save_CXXFLAGS"
+          LIBS="$ac_save_LIBS"
+       fi
+     fi
+     SDL_CFLAGS=""
+     SDL_LIBS=""
+     ifelse([$3], , :, [$3])
+  fi
+  AC_SUBST(SDL_CFLAGS)
+  AC_SUBST(SDL_LIBS)
+  rm -f conf.sdltest
+])
diff --git a/recipes/armhf/armhflibsdl-x11_1.2.14.1.bb b/recipes/armhf/armhflibsdl-x11_1.2.14.1.bb
new file mode 100644 (file)
index 0000000..873e1b6
--- /dev/null
@@ -0,0 +1,65 @@
+DESCRIPTION = "Simple DirectMedia Layer (X11, Framebuffer, +some OMAP support)"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "LGPL"
+RDEPENDS = "armhflibc6 armhflibasound2 armhflibx11-6 armhflibxext6"
+PR = "r0"
+
+SRCREV = "d45df001413d714c8995e755f04c9936b18aa44a"
+
+SRC_URI = " \
+  git://notaz.gp2x.de/~notaz/sdl_omap.git;protocol=git;branch=master \
+  file://sdl.m4 \
+"
+
+S = "${WORKDIR}/git"
+
+inherit autotools binconfig pkgconfig
+
+do_configure_prepend() {
+  sh autogen.sh
+}
+
+# assumes armhf (arm-unknown-linux-gnueabihf) cross-compiler is available in PATH
+# with all required deps
+do_configure() {
+  unset CPP
+  unset CC
+  unset CXX
+  unset AR
+  unset LD
+  unset NM
+  unset STRIP
+  unset OBJCOPY
+  unset CPPFLAGS
+  unset CFLAGS
+  unset CXXFLAGS
+  unset PKG_CONFIG_DIR
+  unset PKG_CONFIG_PATH
+  unset LDFLAGS
+  export CPPFLAGS="-I`arm-unknown-linux-gnueabihf-gcc -print-sysroot`/usr/local/include"
+  export LDFLAGS="-Wl,--hash-style=gnu"
+  ${S}/configure --host=arm-unknown-linux-gnueabihf --prefix=/usr --libdir=/usr/lib/arm-linux-gnueabihf \
+    --disable-static --disable-esd --disable-pulseaudio --enable-video-x11
+}
+
+do_configure_append () {
+  cd ${S}
+
+  # prevent libtool from linking libs against libstdc++, libgcc, ...
+  cat ${TARGET_PREFIX}libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${TARGET_PREFIX}libtool.tmp
+  mv ${TARGET_PREFIX}libtool.tmp ${TARGET_PREFIX}libtool
+
+  # copy new sdl.m4 macrofile to the dir for installing
+  cp ${WORKDIR}/sdl.m4 ${S}/
+}
+
+do_stage() {
+  autotools_stage_all          
+  rm ${STAGING_LIBDIR}/arm-linux-gnueabihf/libSDL.la
+}
+
+FILES_${PN} = "usr/lib/arm-linux-gnueabihf/*.so.*"
+FILES_${PN}-dbg += "usr/lib/arm-linux-gnueabihf/.debug"
+# no conflicts with armel files, please
+FILES_${PN}-dev := ""
diff --git a/recipes/armhf/armhflibstdc++6_4.9.2.bb b/recipes/armhf/armhflibstdc++6_4.9.2.bb
new file mode 100644 (file)
index 0000000..845a42b
--- /dev/null
@@ -0,0 +1,15 @@
+SUMMARY = "GNU Standard C++ Library"
+HOMEPAGE = "http://www.gnu.org/software/gcc/"
+SECTION = "libs"
+LICENSE = "libgcc"
+
+RDEPENDS = "armhflibc6 armhflibgcc1"
+
+require armhf.inc
+
+DEBV = "10"
+PR = "${DEBV}.r${PRI}.0"
+
+SRC_URI = "${ARMHF_DEB_MIRROR}/libstdc++6_${PV}-${DEBV}_armhf.deb"
+
+SRC_URI[md5sum] = "b1f9700c58bae72aa0219cd2727ac4da"
diff --git a/recipes/armhf/armhflibx11-6_1.6.2.bb b/recipes/armhf/armhflibx11-6_1.6.2.bb
new file mode 100644 (file)
index 0000000..45b8326
--- /dev/null
@@ -0,0 +1,19 @@
+SUMMARY = "Xlib: C Language X Interface library"
+DESCRIPTION = "This package provides a client interface to the X Window \
+System, otherwise known as 'Xlib'.  It provides a complete API for the \
+basic functions of the window system."
+
+HOMEPAGE = "http://www.x.org"
+SECTION = "x11/libs"
+LICENSE = "MIT-X"
+
+RDEPENDS = "armhflibc6 armhflibxcb1"
+
+require armhf.inc
+
+DEBV = "3"
+PR = "${DEBV}.r${PRI}.0"
+
+SRC_URI = "${ARMHF_DEB_MIRROR}/libx11-6_${PV}-${DEBV}_armhf.deb"
+
+SRC_URI[md5sum] = "3365d16e486c880006cc6bb7552197a7"
diff --git a/recipes/armhf/armhflibxau6_1.0.8.bb b/recipes/armhf/armhflibxau6_1.0.8.bb
new file mode 100644 (file)
index 0000000..be75ca4
--- /dev/null
@@ -0,0 +1,19 @@
+SUMMARY = "Xau: X Authority Database library"
+DESCRIPTION = "libxau provides the main interfaces to the X11 \
+authorisation handling, which controls authorisation for X connections, \
+both client-side and server-side."
+
+HOMEPAGE = "http://www.x.org"
+SECTION = "x11/libs"
+LICENSE = "MIT-X"
+
+RDEPENDS = "armhflibc6"
+
+require armhf.inc
+
+DEBV = "1"
+PR = "${DEBV}.r${PRI}.0"
+
+SRC_URI = "${ARMHF_DEB_MIRROR}/libxau6_${PV}-${DEBV}_armhf.deb"
+
+SRC_URI[md5sum] = "d3ae7c68e51a44e6e07b0afad56d559f"
diff --git a/recipes/armhf/armhflibxcb1_1.10.bb b/recipes/armhf/armhflibxcb1_1.10.bb
new file mode 100644 (file)
index 0000000..4ab485f
--- /dev/null
@@ -0,0 +1,18 @@
+SUMMARY = "XCB: The X protocol C binding library"
+DESCRIPTION = "The X protocol C-language Binding (XCB) is a replacement \
+for Xlib featuring a small footprint, latency hiding, direct access to \
+the protocol, improved threading support, and extensibility."
+HOMEPAGE = "http://xcb.freedesktop.org"
+SECTION = "x11/libs"
+LICENSE = "MIT-X"
+
+RDEPENDS = "armhflibxau6 armhflibxdmcp6"
+
+require armhf.inc
+
+DEBV = "3+b1"
+PR = "${DEBV}.r${PRI}.0"
+
+SRC_URI = "${ARMHF_DEB_MIRROR}/libxcb1_${PV}-${DEBV}_armhf.deb"
+
+SRC_URI[md5sum] = "a0f783bfbf449d5e658bea0c73fd75b6"
diff --git a/recipes/armhf/armhflibxdmcp6_1.1.1.bb b/recipes/armhf/armhflibxdmcp6_1.1.1.bb
new file mode 100644 (file)
index 0000000..c8bc4a2
--- /dev/null
@@ -0,0 +1,21 @@
+SUMMARY = "XDMCP: X Display Manager Control Protocol library"
+DESCRIPTION = "The purpose of the X Display Manager Control Protocol \
+(XDMCP) is to provide a uniform mechanism for an autonomous display to \
+request login service from a remote host. An X terminal (screen, \
+keyboard, mouse, processor, network interface) is a prime example of an \
+autonomous display."
+
+HOMEPAGE = "http://www.x.org"
+SECTION = "x11/libs"
+LICENSE = "MIT-X"
+
+RDEPENDS = "armhflibc6"
+
+require armhf.inc
+
+DEBV = "1+b1"
+PR = "${DEBV}.r${PRI}.0"
+
+SRC_URI = "${ARMHF_DEB_MIRROR}/libxdmcp6_${PV}-${DEBV}_armhf.deb"
+
+SRC_URI[md5sum] = "406364969dc6bd3d330d295356b5c98d"
diff --git a/recipes/armhf/armhflibxext6_1.3.3.bb b/recipes/armhf/armhflibxext6_1.3.3.bb
new file mode 100644 (file)
index 0000000..e7aef7a
--- /dev/null
@@ -0,0 +1,23 @@
+SUMMARY = "XExt: X Extension library"
+DESCRIPTION = "libXext provides an X Window System client interface to \
+several extensions to the X protocol.  The supported protocol extensions \
+are DOUBLE-BUFFER, DPMS, Extended-Visual-Information, LBX, MIT_SHM, \
+MIT_SUNDRY-NONSTANDARD, Multi-Buffering, SECURITY, SHAPE, SYNC, TOG-CUP, \
+XC-APPGROUP, XC-MISC, XTEST.  libXext also provides a small set of \
+utility functions to aid authors of client APIs for X protocol \
+extensions."
+
+HOMEPAGE = "http://www.x.org"
+SECTION = "x11/libs"
+LICENSE = "MIT-X"
+
+RDEPENDS = "armhflibc6 armhflibx11-6"
+
+require armhf.inc
+
+DEBV = "1"
+PR = "${DEBV}.r${PRI}.0"
+
+SRC_URI = "${ARMHF_DEB_MIRROR}/libxext6_${PV}-${DEBV}_armhf.deb"
+
+SRC_URI[md5sum] = "2e2ea23c03c37c7fc287142c7a1e2c74"
diff --git a/recipes/armhf/armhfzlib1g_1.2.8.bb b/recipes/armhf/armhfzlib1g_1.2.8.bb
new file mode 100644 (file)
index 0000000..d358af8
--- /dev/null
@@ -0,0 +1,18 @@
+SUMMARY = "Zlib Compression Library"
+DESCRIPTION = "Zlib is a general-purpose, patent-free, lossless data compression \
+library which is used by many different programs."
+HOMEPAGE = "http://zlib.net/"
+SECTION = "libs"
+LICENSE = "Zlib"
+RDEPENDS = "armhflibc6"
+
+require armhf.inc
+
+DEBV = "dfsg-2+b1"
+PR = "${DEBV}.r${PRI}.0"
+
+SRC_URI = "${ARMHF_DEB_MIRROR}/zlib1g_${PV}.${DEBV}_armhf.deb;name=deb1 \
+          ${ARMHF_DEB_MIRROR}/zlib1g-dbg_${PV}.${DEBV}_armhf.deb;name=deb2"
+
+SRC_URI[deb1.md5sum] = "7f654390409cba672c5139a67be47af0"
+SRC_URI[deb2.md5sum] = "3ff597ae8523a1bed4defb14f2c74f13"
diff --git a/recipes/armhf/ti-eula-unpack.inc b/recipes/armhf/ti-eula-unpack.inc
new file mode 100644 (file)
index 0000000..3b79c24
--- /dev/null
@@ -0,0 +1,71 @@
+# This file defines function used for unpacking the .bin file downloaded over
+# the http and display EULA.
+#  BINFILE - name of the install jammer .bin file
+#  TARFILE - name of the tar file inside the install jammer
+#  TI_BIN_UNPK_CMDS   - contains list of commands separated with colon to be 
+#                       passed while unpacking the bin file. The keyword 
+#                       workdir expands to WORKDIR and commands are appendded
+#                       with '\n'. Eg. TI_BIN_UNPK_CMDS="Y:Y: qY:workdir"
+#  TI_BIN_UNPK_WDEXT  - This variable extends workdir path, if user wants to put
+#                       the output in some internal directory
+
+python do_unpack () {
+    bb.build.exec_func('base_do_unpack', d)
+    bb.build.exec_func('ti_bin_do_unpack', d)
+}
+
+TI_BIN_UNPK_WDEXT += ""
+python ti_bin_do_unpack() {
+
+    import os
+
+    localdata = bb.data.createCopy(d)
+    bb.data.update_data(localdata)
+
+    binfile  = bb.data.getVar('BINFILE', localdata)
+    binfile  = bb.data.expand(binfile, localdata)
+
+    # Change to the working directory
+    save_cwd = os.getcwd()
+    workdir  = bb.data.getVar('WORKDIR', localdata)
+    workdir  = bb.data.expand(workdir, localdata)
+    os.chdir(workdir)
+
+    # Get unpack commands
+    cmd_string = bb.data.getVar('TI_BIN_UNPK_CMDS', localdata)
+    cmd_list = cmd_string.split( ":" )
+
+    # Make the InstallJammer binary executable so we can run it
+    os.chmod(binfile, 0755)
+
+    # Run the InstallJammer binary and accept the EULA
+    filename = "HOME=%s ./%s --mode console" % (workdir, binfile)
+    
+    # Test executable by printing installer version or help screen (--version currently broken for some installers) 
+    # - this is currently broken in some IJ installers - comment out for now
+    #if os.system(filename + " --version") != 0:
+    #   print "ERROR: ti-eula-unpack: failed to execute binary installer"
+    #   raise bb.build.FuncFailed()
+    f = os.popen(filename,'w')
+    for cmd in cmd_list:
+        if cmd == "workdir":
+            wdext = bb.data.getVar('TI_BIN_UNPK_WDEXT', localdata)
+            wdext = bb.data.expand(wdext, localdata)
+            cmd = workdir+wdext
+        print >>f, "%s\n" % cmd
+    f.close()
+
+    # Expand the tarball that was created if required
+    tarfile  = bb.data.getVar('TARFILE', localdata)    
+    if bool(tarfile) == True:
+        tarfile  = bb.data.expand(tarfile, localdata)
+        tcmd = 'tar x --no-same-owner -f %s -C %s' % (tarfile, workdir)
+        if os.system(tcmd) != 0:
+            print "ERROR: ti-eula-unpack: failed to extract tarfile"
+            raise bb.build.FuncFailed()
+
+    # Return to the previous directory
+    os.chdir(save_cwd)
+}
+