diff mbox

[oe,meta-oe,01/16] boinc: Add recipe for boinc-client

Message ID 20161019053834.11523-1-raj.khem@gmail.com
State New
Headers show

Commit Message

Khem Raj Oct. 19, 2016, 5:38 a.m. UTC
Signed-off-by: Khem Raj <raj.khem@gmail.com>

---
 .../boinc/boinc-client/boinc-AM_CONDITIONAL.patch  | 19 +++++
 .../boinc/boinc-client/cross-compile.patch         | 92 ++++++++++++++++++++++
 .../boinc/boinc-client/opengl_m4_check.patch       | 13 +++
 .../recipes-extended/boinc/boinc-client_7.6.33.bb  | 60 ++++++++++++++
 4 files changed, 184 insertions(+)
 create mode 100644 meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch
 create mode 100644 meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch
 create mode 100644 meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch
 create mode 100644 meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb

-- 
2.10.0

-- 
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Comments

Armin Kuster Oct. 19, 2016, 8:06 p.m. UTC | #1
On 10/18/2016 10:38 PM, Khem Raj wrote:
> Signed-off-by: Khem Raj <raj.khem@gmail.com>


Looks like the patches are missing OE patch format. No Upstream-Status 
or Signoff, etc

- armin
> ---

>   .../boinc/boinc-client/boinc-AM_CONDITIONAL.patch  | 19 +++++

>   .../boinc/boinc-client/cross-compile.patch         | 92 ++++++++++++++++++++++

>   .../boinc/boinc-client/opengl_m4_check.patch       | 13 +++

>   .../recipes-extended/boinc/boinc-client_7.6.33.bb  | 60 ++++++++++++++

>   4 files changed, 184 insertions(+)

>   create mode 100644 meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch

>   create mode 100644 meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch

>   create mode 100644 meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch

>   create mode 100644 meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb

>

> diff --git a/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch b/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch

> new file mode 100644

> index 0000000..3ebf7c8

> --- /dev/null

> +++ b/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch

> @@ -0,0 +1,19 @@

> +--- A/configure.ac

> ++++ B/configure.ac

> +@@ -39,6 +39,7 @@ AC_PROG_CC

> + AC_PROG_CXX

> + AC_PROG_F77

> + AC_PROG_CPP

> ++AC_PROG_OBJCXX

> + AC_PROG_MAKE_SET

> + SAH_LINKS

> + AC_LANG_PUSH(C)

> +@@ -744,6 +745,8 @@ AM_CONDITIONAL(ENABLE_LIBRARIES, [test "

> + AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes])

> + AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so])

> +

> ++PKG_CHECK_MODULES([GTK2], [gtk+-2.0])

> ++

> + dnl ======================================================================

> + dnl some more vodoo required for building portable client-binary (client, clientgui)

> + dnl ======================================================================

> diff --git a/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch b/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch

> new file mode 100644

> index 0000000..3d29558

> --- /dev/null

> +++ b/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch

> @@ -0,0 +1,92 @@

> +Index: boinc-client_release-7.6-7.6.33/api/Makefile.am

> +===================================================================

> +--- boinc-client_release-7.6-7.6.33.orig/api/Makefile.am

> ++++ boinc-client_release-7.6-7.6.33/api/Makefile.am

> +@@ -43,18 +43,18 @@ endif

> +

> + lib_LTLIBRARIES = libboinc_api.la

> + libboinc_api_la_SOURCES = $(api_files)

> +-libboinc_api_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)

> ++libboinc_api_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)

> +

> + if BUILD_GRAPHICS_API

> + lib_LTLIBRARIES += libboinc_graphics2.la

> + libboinc_graphics2_la_SOURCES = $(graphics2_files)

> + libboinc_graphics2_la_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_srcdir)/samples/image_libs

> +-libboinc_graphics2_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION) -ljpeg

> ++libboinc_graphics2_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) -ljpeg

> + endif #BUILD_GRAPHICS_API

> +

> + lib_LTLIBRARIES += libboinc_opencl.la

> + libboinc_opencl_la_SOURCES = $(opencl_files)

> +-libboinc_opencl_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)

> ++libboinc_opencl_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)

> +

> + if INSTALL_HEADERS

> + ## install only headers that are meant for exporting the API !!

> +Index: boinc-client_release-7.6-7.6.33/lib/Makefile.am

> +===================================================================

> +--- boinc-client_release-7.6-7.6.33.orig/lib/Makefile.am

> ++++ boinc-client_release-7.6-7.6.33/lib/Makefile.am

> +@@ -173,7 +173,7 @@ lib_LTLIBRARIES = libboinc.la

> + libboinc_la_SOURCES = $(generic_sources) $(mac_sources) $(win_sources)

> + libboinc_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)

> + libboinc_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)

> +-libboinc_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -static -version-number $(LIBBOINC_VERSION)

> ++libboinc_la_LDFLAGS = -static -version-number $(LIBBOINC_VERSION)

> + libboinc_la_LIBADD =

> +

> + if ENABLE_BOINCCRYPT

> +@@ -181,7 +181,7 @@ lib_LTLIBRARIES += libboinc_crypt.la

> + libboinc_crypt_la_SOURCES = crypt.cpp

> + libboinc_crypt_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CFLAGS)

> + libboinc_crypt_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CXXFLAGS)

> +-libboinc_crypt_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -static -version-number $(LIBBOINC_VERSION)

> ++libboinc_crypt_la_LDFLAGS = -static -version-number $(LIBBOINC_VERSION)

> + libboinc_crypt_la_LIBADD =

> + endif

> +

> +@@ -190,7 +190,7 @@ lib_LTLIBRARIES += libboinc_fcgi.la

> + libboinc_fcgi_la_SOURCES = $(libfcgi_sources) $(mac_sources) $(win_sources)

> + libboinc_fcgi_la_CFLAGS = -D_USING_FCGI_ $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)

> + libboinc_fcgi_la_CXXFLAGS = -D_USING_FCGI_ $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)

> +-libboinc_fcgi_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)

> ++libboinc_fcgi_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)

> + libboinc_fcgi_la_LIBADD =

> + endif

> + # end of "if ENABLE_FCGI"

> +Index: boinc-client_release-7.6-7.6.33/sched/Makefile.am

> +===================================================================

> +--- boinc-client_release-7.6-7.6.33.orig/sched/Makefile.am

> ++++ boinc-client_release-7.6-7.6.33/sched/Makefile.am

> +@@ -26,7 +26,7 @@ lib_LTLIBRARIES = libsched.la

> + libsched_la_SOURCES = $(libsched_sources)

> + libsched_la_CFLAGS = $(AM_CPPFLAGS)

> + libsched_la_CXXFLAGS = $(AM_CPPFLAGS)

> +-libsched_la_LDFLAGS= -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)

> ++libsched_la_LDFLAGS= -version-number $(LIBBOINC_VERSION)

> + libsched_la_LIBADD= $(SSL_LIBS)

> +

> + ## install only headers that are meant for exporting the API !!

> +@@ -48,7 +48,7 @@ lib_LTLIBRARIES += libsched_fcgi.la

> + libsched_fcgi_la_SOURCES = $(libsched_sources)

> + libsched_fcgi_la_CFLAGS = -D_USING_FCGI_ $(AM_CPPFLAGS)

> + libsched_fcgi_la_CXXFLAGS = -D_USING_FCGI_ $(AM_CPPFLAGS)

> +-libsched_fcgi_la_LDFLAGS= -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)

> ++libsched_fcgi_la_LDFLAGS= -version-number $(LIBBOINC_VERSION)

> + libsched_fcgi_la_LIBADD=

> +

> + endif

> +Index: boinc-client_release-7.6-7.6.33/zip/Makefile.am

> +===================================================================

> +--- boinc-client_release-7.6-7.6.33.orig/zip/Makefile.am

> ++++ boinc-client_release-7.6-7.6.33/zip/Makefile.am

> +@@ -61,7 +61,7 @@ endif

> +

> + lib_LTLIBRARIES = libboinc_zip.la

> + libboinc_zip_la_SOURCES = $(libboinc_zip_sources)

> +-libboinc_zip_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)

> ++libboinc_zip_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)

> + libboinc_zip_la_LIBADD =

> +

> + # Some OSs may not prefix libraries with lib.

> diff --git a/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch b/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch

> new file mode 100644

> index 0000000..f7295c1

> --- /dev/null

> +++ b/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch

> @@ -0,0 +1,13 @@

> +Index: boinc-client_release-7.6-7.6.33/m4/ax_check_gl.m4

> +===================================================================

> +--- boinc-client_release-7.6-7.6.33.orig/m4/ax_check_gl.m4

> ++++ boinc-client_release-7.6-7.6.33/m4/ax_check_gl.m4

> +@@ -58,7 +58,7 @@ else

> +     else

> +       ax_try_lib="${ax_lib}"

> +     fi

> +-    LIBS="-L${prefix}/lib ${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}"

> ++    LIBS="${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}"

> +     AC_LINK_IFELSE(

> +     [AC_LANG_PROGRAM([[

> + # if HAVE_WINDOWS_H && defined(_WIN32)

> diff --git a/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb b/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb

> new file mode 100644

> index 0000000..34472e0

> --- /dev/null

> +++ b/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb

> @@ -0,0 +1,60 @@

> +# Copyright (C) 2016 Khem Raj <raj.khem@gmail.com>

> +# Released under the MIT license (see COPYING.MIT for the terms)

> +

> +SUMMARY = "Open-source software for volunteer computing"

> +DESCRIPTION = "The Berkeley Open Infrastructure for Network Computing (BOINC) is an open- \

> +source software platform which supports distributed computing, primarily in \

> +the form of volunteer computing and desktop Grid computing.  It is well \

> +suited for problems which are often described as trivially parallel.  BOINC \

> +is the underlying software used by projects such as SETI@home, Einstein@Home, \

> +ClimatePrediciton.net, the World Community Grid, and many other distributed \

> +computing projects. \

> +This package installs the BOINC client software, which will allow your \

> +computer to participate in one or more BOINC projects, using your spare \

> +computer time to search for cures for diseases, model protein folding, study \

> +global warming, discover sources of gravitational waves, and many other types \

> +of scientific and mathematical research."

> +

> +HOMEPAGE = "http://boinc.berkeley.edu/"

> +LICENSE = "LGPLv2+ & GPLv3"

> +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \

> +                    file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6"

> +SECTION = "applications"

> +DEPENDS = "curl jpeg openssl xcb-util sqlite3 virtual/libgl libnotify gtk+ nettle"

> +

> +SRC_URI = "https://github.com/BOINC/boinc/archive/client_release/7.6/${PV}.tar.gz \

> +           file://boinc-AM_CONDITIONAL.patch \

> +           file://opengl_m4_check.patch \

> +           file://cross-compile.patch \

> +"

> +SRC_URI[md5sum] = "437b4b98e384b4bda4ef7056e68166ac"

> +SRC_URI[sha256sum] = "c4b1c29b9655013e0ac61dddf47ad7f30f38c46159f02a9d9dc8ab854e99aa6d"

> +

> +inherit gettext autotools-brokensep pkgconfig

> +

> +S = "${WORKDIR}/${BPN}_release-7.6-${PV}"

> +

> +EXTRA_OECONF += "\

> +    --enable-libraries \

> +    --enable-unicode \

> +    --enable-shared \

> +    --enable-dynamic-client-linkage \

> +    --enable-client \

> +    --disable-server \

> +    --disable-static \

> +    --disable-manager \

> +    --with-ssl=${STAGING_EXECPREFIXDIR} \

> +    --without-wxdir \

> +    --without-x \

> +    --with-boinc-platform=${TARGET_SYS} \

> +"

> +export PKG_CONFIG = "${STAGING_BINDIR_NATIVE}/pkg-config"

> +

> +do_compile_prepend () {

> +	# Disable rpaths

> +	sed -i -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${B}/${TARGET_SYS}-libtool

> +	sed -i -e 's|^sys_lib_dlsearch_path_spec=.*|sys_lib_dlsearch_path_spec=""|g' ${B}/${TARGET_SYS}-libtool

> +	sed -i -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${B}/${TARGET_SYS}-libtool

> +}

> +

> +SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"


-- 
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel
Martin Jansa Oct. 25, 2016, 1:32 p.m. UTC | #2
On Tue, Oct 18, 2016 at 10:38:19PM -0700, Khem Raj wrote:
> Signed-off-by: Khem Raj <raj.khem@gmail.com>


boinc-client-7.6.33: boinc-client rdepends on libxscrnsaver, but it
isn't a build dependency, missing libxscrnsaver in DEPENDS or
PACKAGECONFIG? [build-deps]

> ---

>  .../boinc/boinc-client/boinc-AM_CONDITIONAL.patch  | 19 +++++

>  .../boinc/boinc-client/cross-compile.patch         | 92 ++++++++++++++++++++++

>  .../boinc/boinc-client/opengl_m4_check.patch       | 13 +++

>  .../recipes-extended/boinc/boinc-client_7.6.33.bb  | 60 ++++++++++++++

>  4 files changed, 184 insertions(+)

>  create mode 100644 meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch

>  create mode 100644 meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch

>  create mode 100644 meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch

>  create mode 100644 meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb

> 

> diff --git a/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch b/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch

> new file mode 100644

> index 0000000..3ebf7c8

> --- /dev/null

> +++ b/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch

> @@ -0,0 +1,19 @@

> +--- A/configure.ac

> ++++ B/configure.ac

> +@@ -39,6 +39,7 @@ AC_PROG_CC

> + AC_PROG_CXX

> + AC_PROG_F77

> + AC_PROG_CPP

> ++AC_PROG_OBJCXX

> + AC_PROG_MAKE_SET

> + SAH_LINKS

> + AC_LANG_PUSH(C)

> +@@ -744,6 +745,8 @@ AM_CONDITIONAL(ENABLE_LIBRARIES, [test "

> + AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes])

> + AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so])

> + 

> ++PKG_CHECK_MODULES([GTK2], [gtk+-2.0])

> ++

> + dnl ======================================================================

> + dnl some more vodoo required for building portable client-binary (client, clientgui)

> + dnl ======================================================================

> diff --git a/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch b/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch

> new file mode 100644

> index 0000000..3d29558

> --- /dev/null

> +++ b/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch

> @@ -0,0 +1,92 @@

> +Index: boinc-client_release-7.6-7.6.33/api/Makefile.am

> +===================================================================

> +--- boinc-client_release-7.6-7.6.33.orig/api/Makefile.am

> ++++ boinc-client_release-7.6-7.6.33/api/Makefile.am

> +@@ -43,18 +43,18 @@ endif

> + 

> + lib_LTLIBRARIES = libboinc_api.la

> + libboinc_api_la_SOURCES = $(api_files)

> +-libboinc_api_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)

> ++libboinc_api_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)

> + 

> + if BUILD_GRAPHICS_API

> + lib_LTLIBRARIES += libboinc_graphics2.la

> + libboinc_graphics2_la_SOURCES = $(graphics2_files)

> + libboinc_graphics2_la_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_srcdir)/samples/image_libs

> +-libboinc_graphics2_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION) -ljpeg

> ++libboinc_graphics2_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) -ljpeg

> + endif #BUILD_GRAPHICS_API

> + 

> + lib_LTLIBRARIES += libboinc_opencl.la

> + libboinc_opencl_la_SOURCES = $(opencl_files)

> +-libboinc_opencl_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)

> ++libboinc_opencl_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)

> + 

> + if INSTALL_HEADERS

> + ## install only headers that are meant for exporting the API !!

> +Index: boinc-client_release-7.6-7.6.33/lib/Makefile.am

> +===================================================================

> +--- boinc-client_release-7.6-7.6.33.orig/lib/Makefile.am

> ++++ boinc-client_release-7.6-7.6.33/lib/Makefile.am

> +@@ -173,7 +173,7 @@ lib_LTLIBRARIES = libboinc.la

> + libboinc_la_SOURCES = $(generic_sources) $(mac_sources) $(win_sources)

> + libboinc_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)

> + libboinc_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)

> +-libboinc_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -static -version-number $(LIBBOINC_VERSION)

> ++libboinc_la_LDFLAGS = -static -version-number $(LIBBOINC_VERSION)

> + libboinc_la_LIBADD =

> + 

> + if ENABLE_BOINCCRYPT

> +@@ -181,7 +181,7 @@ lib_LTLIBRARIES += libboinc_crypt.la

> + libboinc_crypt_la_SOURCES = crypt.cpp

> + libboinc_crypt_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CFLAGS)

> + libboinc_crypt_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CXXFLAGS)

> +-libboinc_crypt_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -static -version-number $(LIBBOINC_VERSION)

> ++libboinc_crypt_la_LDFLAGS = -static -version-number $(LIBBOINC_VERSION)

> + libboinc_crypt_la_LIBADD =

> + endif

> + 

> +@@ -190,7 +190,7 @@ lib_LTLIBRARIES += libboinc_fcgi.la

> + libboinc_fcgi_la_SOURCES = $(libfcgi_sources) $(mac_sources) $(win_sources)

> + libboinc_fcgi_la_CFLAGS = -D_USING_FCGI_ $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)

> + libboinc_fcgi_la_CXXFLAGS = -D_USING_FCGI_ $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)

> +-libboinc_fcgi_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)

> ++libboinc_fcgi_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)

> + libboinc_fcgi_la_LIBADD =

> + endif 

> + # end of "if ENABLE_FCGI"

> +Index: boinc-client_release-7.6-7.6.33/sched/Makefile.am

> +===================================================================

> +--- boinc-client_release-7.6-7.6.33.orig/sched/Makefile.am

> ++++ boinc-client_release-7.6-7.6.33/sched/Makefile.am

> +@@ -26,7 +26,7 @@ lib_LTLIBRARIES = libsched.la

> + libsched_la_SOURCES = $(libsched_sources)

> + libsched_la_CFLAGS = $(AM_CPPFLAGS)

> + libsched_la_CXXFLAGS = $(AM_CPPFLAGS)

> +-libsched_la_LDFLAGS= -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)

> ++libsched_la_LDFLAGS= -version-number $(LIBBOINC_VERSION)

> + libsched_la_LIBADD= $(SSL_LIBS)

> + 

> + ## install only headers that are meant for exporting the API !!

> +@@ -48,7 +48,7 @@ lib_LTLIBRARIES += libsched_fcgi.la

> + libsched_fcgi_la_SOURCES = $(libsched_sources)

> + libsched_fcgi_la_CFLAGS = -D_USING_FCGI_ $(AM_CPPFLAGS)

> + libsched_fcgi_la_CXXFLAGS = -D_USING_FCGI_ $(AM_CPPFLAGS)

> +-libsched_fcgi_la_LDFLAGS= -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)

> ++libsched_fcgi_la_LDFLAGS= -version-number $(LIBBOINC_VERSION)

> + libsched_fcgi_la_LIBADD=

> + 

> + endif

> +Index: boinc-client_release-7.6-7.6.33/zip/Makefile.am

> +===================================================================

> +--- boinc-client_release-7.6-7.6.33.orig/zip/Makefile.am

> ++++ boinc-client_release-7.6-7.6.33/zip/Makefile.am

> +@@ -61,7 +61,7 @@ endif

> + 

> + lib_LTLIBRARIES = libboinc_zip.la

> + libboinc_zip_la_SOURCES = $(libboinc_zip_sources)

> +-libboinc_zip_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)

> ++libboinc_zip_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)

> + libboinc_zip_la_LIBADD =

> + 

> + # Some OSs may not prefix libraries with lib.

> diff --git a/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch b/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch

> new file mode 100644

> index 0000000..f7295c1

> --- /dev/null

> +++ b/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch

> @@ -0,0 +1,13 @@

> +Index: boinc-client_release-7.6-7.6.33/m4/ax_check_gl.m4

> +===================================================================

> +--- boinc-client_release-7.6-7.6.33.orig/m4/ax_check_gl.m4

> ++++ boinc-client_release-7.6-7.6.33/m4/ax_check_gl.m4

> +@@ -58,7 +58,7 @@ else

> +     else

> +       ax_try_lib="${ax_lib}"

> +     fi

> +-    LIBS="-L${prefix}/lib ${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}"

> ++    LIBS="${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}"

> +     AC_LINK_IFELSE(

> +     [AC_LANG_PROGRAM([[

> + # if HAVE_WINDOWS_H && defined(_WIN32)

> diff --git a/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb b/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb

> new file mode 100644

> index 0000000..34472e0

> --- /dev/null

> +++ b/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb

> @@ -0,0 +1,60 @@

> +# Copyright (C) 2016 Khem Raj <raj.khem@gmail.com>

> +# Released under the MIT license (see COPYING.MIT for the terms)

> +

> +SUMMARY = "Open-source software for volunteer computing"

> +DESCRIPTION = "The Berkeley Open Infrastructure for Network Computing (BOINC) is an open- \

> +source software platform which supports distributed computing, primarily in \

> +the form of volunteer computing and desktop Grid computing.  It is well \

> +suited for problems which are often described as trivially parallel.  BOINC \

> +is the underlying software used by projects such as SETI@home, Einstein@Home, \

> +ClimatePrediciton.net, the World Community Grid, and many other distributed \

> +computing projects. \

> +This package installs the BOINC client software, which will allow your \

> +computer to participate in one or more BOINC projects, using your spare \

> +computer time to search for cures for diseases, model protein folding, study \

> +global warming, discover sources of gravitational waves, and many other types \

> +of scientific and mathematical research."

> +

> +HOMEPAGE = "http://boinc.berkeley.edu/"

> +LICENSE = "LGPLv2+ & GPLv3"

> +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \

> +                    file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6"

> +SECTION = "applications"

> +DEPENDS = "curl jpeg openssl xcb-util sqlite3 virtual/libgl libnotify gtk+ nettle"

> +

> +SRC_URI = "https://github.com/BOINC/boinc/archive/client_release/7.6/${PV}.tar.gz \

> +           file://boinc-AM_CONDITIONAL.patch \

> +           file://opengl_m4_check.patch \

> +           file://cross-compile.patch \

> +"

> +SRC_URI[md5sum] = "437b4b98e384b4bda4ef7056e68166ac"

> +SRC_URI[sha256sum] = "c4b1c29b9655013e0ac61dddf47ad7f30f38c46159f02a9d9dc8ab854e99aa6d"

> +

> +inherit gettext autotools-brokensep pkgconfig

> +

> +S = "${WORKDIR}/${BPN}_release-7.6-${PV}"

> +

> +EXTRA_OECONF += "\

> +    --enable-libraries \

> +    --enable-unicode \

> +    --enable-shared \

> +    --enable-dynamic-client-linkage \

> +    --enable-client \

> +    --disable-server \

> +    --disable-static \

> +    --disable-manager \

> +    --with-ssl=${STAGING_EXECPREFIXDIR} \

> +    --without-wxdir \

> +    --without-x \

> +    --with-boinc-platform=${TARGET_SYS} \

> +"

> +export PKG_CONFIG = "${STAGING_BINDIR_NATIVE}/pkg-config"

> +

> +do_compile_prepend () {

> +	# Disable rpaths

> +	sed -i -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${B}/${TARGET_SYS}-libtool

> +	sed -i -e 's|^sys_lib_dlsearch_path_spec=.*|sys_lib_dlsearch_path_spec=""|g' ${B}/${TARGET_SYS}-libtool

> +	sed -i -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${B}/${TARGET_SYS}-libtool

> +}

> +

> +SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"

> -- 

> 2.10.0

> 

> -- 

> _______________________________________________

> Openembedded-devel mailing list

> Openembedded-devel@lists.openembedded.org

> http://lists.openembedded.org/mailman/listinfo/openembedded-devel


-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com
-- 
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel
Khem Raj Oct. 25, 2016, 1:49 p.m. UTC | #3
> On Oct 25, 2016, at 6:32 AM, Martin Jansa <martin.jansa@gmail.com> wrote:

> 

> On Tue, Oct 18, 2016 at 10:38:19PM -0700, Khem Raj wrote:

>> Signed-off-by: Khem Raj <raj.khem@gmail.com>

> 

> boinc-client-7.6.33: boinc-client rdepends on libxscrnsaver, but it

> isn't a build dependency, missing libxscrnsaver in DEPENDS or

> PACKAGECONFIG? [build-deps]


thanks, drop this one for now. I will send a v2 with feedback addressed.

> 

>> ---

>> .../boinc/boinc-client/boinc-AM_CONDITIONAL.patch  | 19 +++++

>> .../boinc/boinc-client/cross-compile.patch         | 92 ++++++++++++++++++++++

>> .../boinc/boinc-client/opengl_m4_check.patch       | 13 +++

>> .../recipes-extended/boinc/boinc-client_7.6.33.bb  | 60 ++++++++++++++

>> 4 files changed, 184 insertions(+)

>> create mode 100644 meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch

>> create mode 100644 meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch

>> create mode 100644 meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch

>> create mode 100644 meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb

>> 

>> diff --git a/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch b/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch

>> new file mode 100644

>> index 0000000..3ebf7c8

>> --- /dev/null

>> +++ b/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch

>> @@ -0,0 +1,19 @@

>> +--- A/configure.ac

>> ++++ B/configure.ac

>> +@@ -39,6 +39,7 @@ AC_PROG_CC

>> + AC_PROG_CXX

>> + AC_PROG_F77

>> + AC_PROG_CPP

>> ++AC_PROG_OBJCXX

>> + AC_PROG_MAKE_SET

>> + SAH_LINKS

>> + AC_LANG_PUSH(C)

>> +@@ -744,6 +745,8 @@ AM_CONDITIONAL(ENABLE_LIBRARIES, [test "

>> + AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes])

>> + AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so])

>> +

>> ++PKG_CHECK_MODULES([GTK2], [gtk+-2.0])

>> ++

>> + dnl ======================================================================

>> + dnl some more vodoo required for building portable client-binary (client, clientgui)

>> + dnl ======================================================================

>> diff --git a/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch b/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch

>> new file mode 100644

>> index 0000000..3d29558

>> --- /dev/null

>> +++ b/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch

>> @@ -0,0 +1,92 @@

>> +Index: boinc-client_release-7.6-7.6.33/api/Makefile.am

>> +===================================================================

>> +--- boinc-client_release-7.6-7.6.33.orig/api/Makefile.am

>> ++++ boinc-client_release-7.6-7.6.33/api/Makefile.am

>> +@@ -43,18 +43,18 @@ endif

>> +

>> + lib_LTLIBRARIES = libboinc_api.la

>> + libboinc_api_la_SOURCES = $(api_files)

>> +-libboinc_api_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)

>> ++libboinc_api_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)

>> +

>> + if BUILD_GRAPHICS_API

>> + lib_LTLIBRARIES += libboinc_graphics2.la

>> + libboinc_graphics2_la_SOURCES = $(graphics2_files)

>> + libboinc_graphics2_la_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_srcdir)/samples/image_libs

>> +-libboinc_graphics2_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION) -ljpeg

>> ++libboinc_graphics2_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) -ljpeg

>> + endif #BUILD_GRAPHICS_API

>> +

>> + lib_LTLIBRARIES += libboinc_opencl.la

>> + libboinc_opencl_la_SOURCES = $(opencl_files)

>> +-libboinc_opencl_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)

>> ++libboinc_opencl_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)

>> +

>> + if INSTALL_HEADERS

>> + ## install only headers that are meant for exporting the API !!

>> +Index: boinc-client_release-7.6-7.6.33/lib/Makefile.am

>> +===================================================================

>> +--- boinc-client_release-7.6-7.6.33.orig/lib/Makefile.am

>> ++++ boinc-client_release-7.6-7.6.33/lib/Makefile.am

>> +@@ -173,7 +173,7 @@ lib_LTLIBRARIES = libboinc.la

>> + libboinc_la_SOURCES = $(generic_sources) $(mac_sources) $(win_sources)

>> + libboinc_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)

>> + libboinc_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)

>> +-libboinc_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -static -version-number $(LIBBOINC_VERSION)

>> ++libboinc_la_LDFLAGS = -static -version-number $(LIBBOINC_VERSION)

>> + libboinc_la_LIBADD =

>> +

>> + if ENABLE_BOINCCRYPT

>> +@@ -181,7 +181,7 @@ lib_LTLIBRARIES += libboinc_crypt.la

>> + libboinc_crypt_la_SOURCES = crypt.cpp

>> + libboinc_crypt_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CFLAGS)

>> + libboinc_crypt_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CXXFLAGS)

>> +-libboinc_crypt_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -static -version-number $(LIBBOINC_VERSION)

>> ++libboinc_crypt_la_LDFLAGS = -static -version-number $(LIBBOINC_VERSION)

>> + libboinc_crypt_la_LIBADD =

>> + endif

>> +

>> +@@ -190,7 +190,7 @@ lib_LTLIBRARIES += libboinc_fcgi.la

>> + libboinc_fcgi_la_SOURCES = $(libfcgi_sources) $(mac_sources) $(win_sources)

>> + libboinc_fcgi_la_CFLAGS = -D_USING_FCGI_ $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)

>> + libboinc_fcgi_la_CXXFLAGS = -D_USING_FCGI_ $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)

>> +-libboinc_fcgi_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)

>> ++libboinc_fcgi_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)

>> + libboinc_fcgi_la_LIBADD =

>> + endif

>> + # end of "if ENABLE_FCGI"

>> +Index: boinc-client_release-7.6-7.6.33/sched/Makefile.am

>> +===================================================================

>> +--- boinc-client_release-7.6-7.6.33.orig/sched/Makefile.am

>> ++++ boinc-client_release-7.6-7.6.33/sched/Makefile.am

>> +@@ -26,7 +26,7 @@ lib_LTLIBRARIES = libsched.la

>> + libsched_la_SOURCES = $(libsched_sources)

>> + libsched_la_CFLAGS = $(AM_CPPFLAGS)

>> + libsched_la_CXXFLAGS = $(AM_CPPFLAGS)

>> +-libsched_la_LDFLAGS= -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)

>> ++libsched_la_LDFLAGS= -version-number $(LIBBOINC_VERSION)

>> + libsched_la_LIBADD= $(SSL_LIBS)

>> +

>> + ## install only headers that are meant for exporting the API !!

>> +@@ -48,7 +48,7 @@ lib_LTLIBRARIES += libsched_fcgi.la

>> + libsched_fcgi_la_SOURCES = $(libsched_sources)

>> + libsched_fcgi_la_CFLAGS = -D_USING_FCGI_ $(AM_CPPFLAGS)

>> + libsched_fcgi_la_CXXFLAGS = -D_USING_FCGI_ $(AM_CPPFLAGS)

>> +-libsched_fcgi_la_LDFLAGS= -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)

>> ++libsched_fcgi_la_LDFLAGS= -version-number $(LIBBOINC_VERSION)

>> + libsched_fcgi_la_LIBADD=

>> +

>> + endif

>> +Index: boinc-client_release-7.6-7.6.33/zip/Makefile.am

>> +===================================================================

>> +--- boinc-client_release-7.6-7.6.33.orig/zip/Makefile.am

>> ++++ boinc-client_release-7.6-7.6.33/zip/Makefile.am

>> +@@ -61,7 +61,7 @@ endif

>> +

>> + lib_LTLIBRARIES = libboinc_zip.la

>> + libboinc_zip_la_SOURCES = $(libboinc_zip_sources)

>> +-libboinc_zip_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)

>> ++libboinc_zip_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)

>> + libboinc_zip_la_LIBADD =

>> +

>> + # Some OSs may not prefix libraries with lib.

>> diff --git a/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch b/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch

>> new file mode 100644

>> index 0000000..f7295c1

>> --- /dev/null

>> +++ b/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch

>> @@ -0,0 +1,13 @@

>> +Index: boinc-client_release-7.6-7.6.33/m4/ax_check_gl.m4

>> +===================================================================

>> +--- boinc-client_release-7.6-7.6.33.orig/m4/ax_check_gl.m4

>> ++++ boinc-client_release-7.6-7.6.33/m4/ax_check_gl.m4

>> +@@ -58,7 +58,7 @@ else

>> +     else

>> +       ax_try_lib="${ax_lib}"

>> +     fi

>> +-    LIBS="-L${prefix}/lib ${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}"

>> ++    LIBS="${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}"

>> +     AC_LINK_IFELSE(

>> +     [AC_LANG_PROGRAM([[

>> + # if HAVE_WINDOWS_H && defined(_WIN32)

>> diff --git a/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb b/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb

>> new file mode 100644

>> index 0000000..34472e0

>> --- /dev/null

>> +++ b/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb

>> @@ -0,0 +1,60 @@

>> +# Copyright (C) 2016 Khem Raj <raj.khem@gmail.com>

>> +# Released under the MIT license (see COPYING.MIT for the terms)

>> +

>> +SUMMARY = "Open-source software for volunteer computing"

>> +DESCRIPTION = "The Berkeley Open Infrastructure for Network Computing (BOINC) is an open- \

>> +source software platform which supports distributed computing, primarily in \

>> +the form of volunteer computing and desktop Grid computing.  It is well \

>> +suited for problems which are often described as trivially parallel.  BOINC \

>> +is the underlying software used by projects such as SETI@home, Einstein@Home, \

>> +ClimatePrediciton.net, the World Community Grid, and many other distributed \

>> +computing projects. \

>> +This package installs the BOINC client software, which will allow your \

>> +computer to participate in one or more BOINC projects, using your spare \

>> +computer time to search for cures for diseases, model protein folding, study \

>> +global warming, discover sources of gravitational waves, and many other types \

>> +of scientific and mathematical research."

>> +

>> +HOMEPAGE = "http://boinc.berkeley.edu/"

>> +LICENSE = "LGPLv2+ & GPLv3"

>> +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \

>> +                    file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6"

>> +SECTION = "applications"

>> +DEPENDS = "curl jpeg openssl xcb-util sqlite3 virtual/libgl libnotify gtk+ nettle"

>> +

>> +SRC_URI = "https://github.com/BOINC/boinc/archive/client_release/7.6/${PV}.tar.gz \

>> +           file://boinc-AM_CONDITIONAL.patch \

>> +           file://opengl_m4_check.patch \

>> +           file://cross-compile.patch \

>> +"

>> +SRC_URI[md5sum] = "437b4b98e384b4bda4ef7056e68166ac"

>> +SRC_URI[sha256sum] = "c4b1c29b9655013e0ac61dddf47ad7f30f38c46159f02a9d9dc8ab854e99aa6d"

>> +

>> +inherit gettext autotools-brokensep pkgconfig

>> +

>> +S = "${WORKDIR}/${BPN}_release-7.6-${PV}"

>> +

>> +EXTRA_OECONF += "\

>> +    --enable-libraries \

>> +    --enable-unicode \

>> +    --enable-shared \

>> +    --enable-dynamic-client-linkage \

>> +    --enable-client \

>> +    --disable-server \

>> +    --disable-static \

>> +    --disable-manager \

>> +    --with-ssl=${STAGING_EXECPREFIXDIR} \

>> +    --without-wxdir \

>> +    --without-x \

>> +    --with-boinc-platform=${TARGET_SYS} \

>> +"

>> +export PKG_CONFIG = "${STAGING_BINDIR_NATIVE}/pkg-config"

>> +

>> +do_compile_prepend () {

>> +	# Disable rpaths

>> +	sed -i -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${B}/${TARGET_SYS}-libtool

>> +	sed -i -e 's|^sys_lib_dlsearch_path_spec=.*|sys_lib_dlsearch_path_spec=""|g' ${B}/${TARGET_SYS}-libtool

>> +	sed -i -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${B}/${TARGET_SYS}-libtool

>> +}

>> +

>> +SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"

>> --

>> 2.10.0

>> 

>> --

>> _______________________________________________

>> Openembedded-devel mailing list

>> Openembedded-devel@lists.openembedded.org

>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

> 

> --

> Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

> --

> _______________________________________________

> Openembedded-devel mailing list

> Openembedded-devel@lists.openembedded.org

> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
-- 
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel
diff mbox

Patch

diff --git a/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch b/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch
new file mode 100644
index 0000000..3ebf7c8
--- /dev/null
+++ b/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch
@@ -0,0 +1,19 @@ 
+--- A/configure.ac
++++ B/configure.ac
+@@ -39,6 +39,7 @@ AC_PROG_CC
+ AC_PROG_CXX
+ AC_PROG_F77
+ AC_PROG_CPP
++AC_PROG_OBJCXX
+ AC_PROG_MAKE_SET
+ SAH_LINKS
+ AC_LANG_PUSH(C)
+@@ -744,6 +745,8 @@ AM_CONDITIONAL(ENABLE_LIBRARIES, [test "
+ AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes])
+ AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so])
+ 
++PKG_CHECK_MODULES([GTK2], [gtk+-2.0])
++
+ dnl ======================================================================
+ dnl some more vodoo required for building portable client-binary (client, clientgui)
+ dnl ======================================================================
diff --git a/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch b/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch
new file mode 100644
index 0000000..3d29558
--- /dev/null
+++ b/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch
@@ -0,0 +1,92 @@ 
+Index: boinc-client_release-7.6-7.6.33/api/Makefile.am
+===================================================================
+--- boinc-client_release-7.6-7.6.33.orig/api/Makefile.am
++++ boinc-client_release-7.6-7.6.33/api/Makefile.am
+@@ -43,18 +43,18 @@ endif
+ 
+ lib_LTLIBRARIES = libboinc_api.la
+ libboinc_api_la_SOURCES = $(api_files)
+-libboinc_api_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
++libboinc_api_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)
+ 
+ if BUILD_GRAPHICS_API
+ lib_LTLIBRARIES += libboinc_graphics2.la
+ libboinc_graphics2_la_SOURCES = $(graphics2_files)
+ libboinc_graphics2_la_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_srcdir)/samples/image_libs
+-libboinc_graphics2_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION) -ljpeg
++libboinc_graphics2_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) -ljpeg
+ endif #BUILD_GRAPHICS_API
+ 
+ lib_LTLIBRARIES += libboinc_opencl.la
+ libboinc_opencl_la_SOURCES = $(opencl_files)
+-libboinc_opencl_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
++libboinc_opencl_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)
+ 
+ if INSTALL_HEADERS
+ ## install only headers that are meant for exporting the API !!
+Index: boinc-client_release-7.6-7.6.33/lib/Makefile.am
+===================================================================
+--- boinc-client_release-7.6-7.6.33.orig/lib/Makefile.am
++++ boinc-client_release-7.6-7.6.33/lib/Makefile.am
+@@ -173,7 +173,7 @@ lib_LTLIBRARIES = libboinc.la
+ libboinc_la_SOURCES = $(generic_sources) $(mac_sources) $(win_sources)
+ libboinc_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)
+ libboinc_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)
+-libboinc_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -static -version-number $(LIBBOINC_VERSION)
++libboinc_la_LDFLAGS = -static -version-number $(LIBBOINC_VERSION)
+ libboinc_la_LIBADD =
+ 
+ if ENABLE_BOINCCRYPT
+@@ -181,7 +181,7 @@ lib_LTLIBRARIES += libboinc_crypt.la
+ libboinc_crypt_la_SOURCES = crypt.cpp
+ libboinc_crypt_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CFLAGS)
+ libboinc_crypt_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CXXFLAGS)
+-libboinc_crypt_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -static -version-number $(LIBBOINC_VERSION)
++libboinc_crypt_la_LDFLAGS = -static -version-number $(LIBBOINC_VERSION)
+ libboinc_crypt_la_LIBADD =
+ endif
+ 
+@@ -190,7 +190,7 @@ lib_LTLIBRARIES += libboinc_fcgi.la
+ libboinc_fcgi_la_SOURCES = $(libfcgi_sources) $(mac_sources) $(win_sources)
+ libboinc_fcgi_la_CFLAGS = -D_USING_FCGI_ $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)
+ libboinc_fcgi_la_CXXFLAGS = -D_USING_FCGI_ $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)
+-libboinc_fcgi_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
++libboinc_fcgi_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)
+ libboinc_fcgi_la_LIBADD =
+ endif 
+ # end of "if ENABLE_FCGI"
+Index: boinc-client_release-7.6-7.6.33/sched/Makefile.am
+===================================================================
+--- boinc-client_release-7.6-7.6.33.orig/sched/Makefile.am
++++ boinc-client_release-7.6-7.6.33/sched/Makefile.am
+@@ -26,7 +26,7 @@ lib_LTLIBRARIES = libsched.la
+ libsched_la_SOURCES = $(libsched_sources)
+ libsched_la_CFLAGS = $(AM_CPPFLAGS)
+ libsched_la_CXXFLAGS = $(AM_CPPFLAGS)
+-libsched_la_LDFLAGS= -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
++libsched_la_LDFLAGS= -version-number $(LIBBOINC_VERSION)
+ libsched_la_LIBADD= $(SSL_LIBS)
+ 
+ ## install only headers that are meant for exporting the API !!
+@@ -48,7 +48,7 @@ lib_LTLIBRARIES += libsched_fcgi.la
+ libsched_fcgi_la_SOURCES = $(libsched_sources)
+ libsched_fcgi_la_CFLAGS = -D_USING_FCGI_ $(AM_CPPFLAGS)
+ libsched_fcgi_la_CXXFLAGS = -D_USING_FCGI_ $(AM_CPPFLAGS)
+-libsched_fcgi_la_LDFLAGS= -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
++libsched_fcgi_la_LDFLAGS= -version-number $(LIBBOINC_VERSION)
+ libsched_fcgi_la_LIBADD=
+ 
+ endif
+Index: boinc-client_release-7.6-7.6.33/zip/Makefile.am
+===================================================================
+--- boinc-client_release-7.6-7.6.33.orig/zip/Makefile.am
++++ boinc-client_release-7.6-7.6.33/zip/Makefile.am
+@@ -61,7 +61,7 @@ endif
+ 
+ lib_LTLIBRARIES = libboinc_zip.la
+ libboinc_zip_la_SOURCES = $(libboinc_zip_sources)
+-libboinc_zip_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
++libboinc_zip_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)
+ libboinc_zip_la_LIBADD =
+ 
+ # Some OSs may not prefix libraries with lib.
diff --git a/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch b/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch
new file mode 100644
index 0000000..f7295c1
--- /dev/null
+++ b/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch
@@ -0,0 +1,13 @@ 
+Index: boinc-client_release-7.6-7.6.33/m4/ax_check_gl.m4
+===================================================================
+--- boinc-client_release-7.6-7.6.33.orig/m4/ax_check_gl.m4
++++ boinc-client_release-7.6-7.6.33/m4/ax_check_gl.m4
+@@ -58,7 +58,7 @@ else
+     else
+       ax_try_lib="${ax_lib}"
+     fi
+-    LIBS="-L${prefix}/lib ${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}"
++    LIBS="${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}"
+     AC_LINK_IFELSE(
+     [AC_LANG_PROGRAM([[
+ # if HAVE_WINDOWS_H && defined(_WIN32)
diff --git a/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb b/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb
new file mode 100644
index 0000000..34472e0
--- /dev/null
+++ b/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb
@@ -0,0 +1,60 @@ 
+# Copyright (C) 2016 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Open-source software for volunteer computing"
+DESCRIPTION = "The Berkeley Open Infrastructure for Network Computing (BOINC) is an open- \
+source software platform which supports distributed computing, primarily in \
+the form of volunteer computing and desktop Grid computing.  It is well \
+suited for problems which are often described as trivially parallel.  BOINC \
+is the underlying software used by projects such as SETI@home, Einstein@Home, \
+ClimatePrediciton.net, the World Community Grid, and many other distributed \
+computing projects. \
+This package installs the BOINC client software, which will allow your \
+computer to participate in one or more BOINC projects, using your spare \
+computer time to search for cures for diseases, model protein folding, study \
+global warming, discover sources of gravitational waves, and many other types \
+of scientific and mathematical research."
+
+HOMEPAGE = "http://boinc.berkeley.edu/"
+LICENSE = "LGPLv2+ & GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+                    file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6"
+SECTION = "applications"
+DEPENDS = "curl jpeg openssl xcb-util sqlite3 virtual/libgl libnotify gtk+ nettle"
+
+SRC_URI = "https://github.com/BOINC/boinc/archive/client_release/7.6/${PV}.tar.gz \
+           file://boinc-AM_CONDITIONAL.patch \
+           file://opengl_m4_check.patch \
+           file://cross-compile.patch \
+"
+SRC_URI[md5sum] = "437b4b98e384b4bda4ef7056e68166ac"
+SRC_URI[sha256sum] = "c4b1c29b9655013e0ac61dddf47ad7f30f38c46159f02a9d9dc8ab854e99aa6d"
+
+inherit gettext autotools-brokensep pkgconfig
+
+S = "${WORKDIR}/${BPN}_release-7.6-${PV}"
+
+EXTRA_OECONF += "\
+    --enable-libraries \
+    --enable-unicode \
+    --enable-shared \
+    --enable-dynamic-client-linkage \
+    --enable-client \
+    --disable-server \
+    --disable-static \
+    --disable-manager \
+    --with-ssl=${STAGING_EXECPREFIXDIR} \
+    --without-wxdir \
+    --without-x \
+    --with-boinc-platform=${TARGET_SYS} \
+"
+export PKG_CONFIG = "${STAGING_BINDIR_NATIVE}/pkg-config"
+
+do_compile_prepend () {
+	# Disable rpaths
+	sed -i -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${B}/${TARGET_SYS}-libtool
+	sed -i -e 's|^sys_lib_dlsearch_path_spec=.*|sys_lib_dlsearch_path_spec=""|g' ${B}/${TARGET_SYS}-libtool
+	sed -i -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${B}/${TARGET_SYS}-libtool
+}
+
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"