diff options
5 files changed, 247 insertions, 0 deletions
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 0000000000..7becb94e6f --- /dev/null +++ b/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | Add configure check for gtk2+ and objc++ | ||
| 2 | |||
| 3 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 4 | Upstream-Status: Pending | ||
| 5 | |||
| 6 | --- A/configure.ac | ||
| 7 | +++ B/configure.ac | ||
| 8 | @@ -39,6 +39,7 @@ AC_PROG_CC | ||
| 9 | AC_PROG_CXX | ||
| 10 | AC_PROG_F77 | ||
| 11 | AC_PROG_CPP | ||
| 12 | +AC_PROG_OBJCXX | ||
| 13 | AC_PROG_MAKE_SET | ||
| 14 | SAH_LINKS | ||
| 15 | AC_LANG_PUSH(C) | ||
| 16 | @@ -744,6 +745,8 @@ AM_CONDITIONAL(ENABLE_LIBRARIES, [test " | ||
| 17 | AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes]) | ||
| 18 | AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so]) | ||
| 19 | |||
| 20 | +PKG_CHECK_MODULES([GTK2], [gtk+-2.0]) | ||
| 21 | + | ||
| 22 | dnl ====================================================================== | ||
| 23 | dnl some more vodoo required for building portable client-binary (client, clientgui) | ||
| 24 | 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 0000000000..287391a522 --- /dev/null +++ b/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch | |||
| @@ -0,0 +1,98 @@ | |||
| 1 | Remove rpath, its bad for cross compiling to encode | ||
| 2 | build time rpaths | ||
| 3 | |||
| 4 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 5 | Upstream-Status: Pending | ||
| 6 | |||
| 7 | Index: boinc-client_release-7.6-7.6.33/api/Makefile.am | ||
| 8 | =================================================================== | ||
| 9 | --- boinc-client_release-7.6-7.6.33.orig/api/Makefile.am | ||
| 10 | +++ boinc-client_release-7.6-7.6.33/api/Makefile.am | ||
| 11 | @@ -43,18 +43,18 @@ endif | ||
| 12 | |||
| 13 | lib_LTLIBRARIES = libboinc_api.la | ||
| 14 | libboinc_api_la_SOURCES = $(api_files) | ||
| 15 | -libboinc_api_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION) | ||
| 16 | +libboinc_api_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) | ||
| 17 | |||
| 18 | if BUILD_GRAPHICS_API | ||
| 19 | lib_LTLIBRARIES += libboinc_graphics2.la | ||
| 20 | libboinc_graphics2_la_SOURCES = $(graphics2_files) | ||
| 21 | libboinc_graphics2_la_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_srcdir)/samples/image_libs | ||
| 22 | -libboinc_graphics2_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION) -ljpeg | ||
| 23 | +libboinc_graphics2_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) -ljpeg | ||
| 24 | endif #BUILD_GRAPHICS_API | ||
| 25 | |||
| 26 | lib_LTLIBRARIES += libboinc_opencl.la | ||
| 27 | libboinc_opencl_la_SOURCES = $(opencl_files) | ||
| 28 | -libboinc_opencl_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION) | ||
| 29 | +libboinc_opencl_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) | ||
| 30 | |||
| 31 | if INSTALL_HEADERS | ||
| 32 | ## install only headers that are meant for exporting the API !! | ||
| 33 | Index: boinc-client_release-7.6-7.6.33/lib/Makefile.am | ||
| 34 | =================================================================== | ||
| 35 | --- boinc-client_release-7.6-7.6.33.orig/lib/Makefile.am | ||
| 36 | +++ boinc-client_release-7.6-7.6.33/lib/Makefile.am | ||
| 37 | @@ -173,7 +173,7 @@ lib_LTLIBRARIES = libboinc.la | ||
| 38 | libboinc_la_SOURCES = $(generic_sources) $(mac_sources) $(win_sources) | ||
| 39 | libboinc_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) | ||
| 40 | libboinc_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) | ||
| 41 | -libboinc_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -static -version-number $(LIBBOINC_VERSION) | ||
| 42 | +libboinc_la_LDFLAGS = -static -version-number $(LIBBOINC_VERSION) | ||
| 43 | libboinc_la_LIBADD = | ||
| 44 | |||
| 45 | if ENABLE_BOINCCRYPT | ||
| 46 | @@ -181,7 +181,7 @@ lib_LTLIBRARIES += libboinc_crypt.la | ||
| 47 | libboinc_crypt_la_SOURCES = crypt.cpp | ||
| 48 | libboinc_crypt_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CFLAGS) | ||
| 49 | libboinc_crypt_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CXXFLAGS) | ||
| 50 | -libboinc_crypt_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -static -version-number $(LIBBOINC_VERSION) | ||
| 51 | +libboinc_crypt_la_LDFLAGS = -static -version-number $(LIBBOINC_VERSION) | ||
| 52 | libboinc_crypt_la_LIBADD = | ||
| 53 | endif | ||
| 54 | |||
| 55 | @@ -190,7 +190,7 @@ lib_LTLIBRARIES += libboinc_fcgi.la | ||
| 56 | libboinc_fcgi_la_SOURCES = $(libfcgi_sources) $(mac_sources) $(win_sources) | ||
| 57 | libboinc_fcgi_la_CFLAGS = -D_USING_FCGI_ $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) | ||
| 58 | libboinc_fcgi_la_CXXFLAGS = -D_USING_FCGI_ $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) | ||
| 59 | -libboinc_fcgi_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION) | ||
| 60 | +libboinc_fcgi_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) | ||
| 61 | libboinc_fcgi_la_LIBADD = | ||
| 62 | endif | ||
| 63 | # end of "if ENABLE_FCGI" | ||
| 64 | Index: boinc-client_release-7.6-7.6.33/sched/Makefile.am | ||
| 65 | =================================================================== | ||
| 66 | --- boinc-client_release-7.6-7.6.33.orig/sched/Makefile.am | ||
| 67 | +++ boinc-client_release-7.6-7.6.33/sched/Makefile.am | ||
| 68 | @@ -26,7 +26,7 @@ lib_LTLIBRARIES = libsched.la | ||
| 69 | libsched_la_SOURCES = $(libsched_sources) | ||
| 70 | libsched_la_CFLAGS = $(AM_CPPFLAGS) | ||
| 71 | libsched_la_CXXFLAGS = $(AM_CPPFLAGS) | ||
| 72 | -libsched_la_LDFLAGS= -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION) | ||
| 73 | +libsched_la_LDFLAGS= -version-number $(LIBBOINC_VERSION) | ||
| 74 | libsched_la_LIBADD= $(SSL_LIBS) | ||
| 75 | |||
| 76 | ## install only headers that are meant for exporting the API !! | ||
| 77 | @@ -48,7 +48,7 @@ lib_LTLIBRARIES += libsched_fcgi.la | ||
| 78 | libsched_fcgi_la_SOURCES = $(libsched_sources) | ||
| 79 | libsched_fcgi_la_CFLAGS = -D_USING_FCGI_ $(AM_CPPFLAGS) | ||
| 80 | libsched_fcgi_la_CXXFLAGS = -D_USING_FCGI_ $(AM_CPPFLAGS) | ||
| 81 | -libsched_fcgi_la_LDFLAGS= -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION) | ||
| 82 | +libsched_fcgi_la_LDFLAGS= -version-number $(LIBBOINC_VERSION) | ||
| 83 | libsched_fcgi_la_LIBADD= | ||
| 84 | |||
| 85 | endif | ||
| 86 | Index: boinc-client_release-7.6-7.6.33/zip/Makefile.am | ||
| 87 | =================================================================== | ||
| 88 | --- boinc-client_release-7.6-7.6.33.orig/zip/Makefile.am | ||
| 89 | +++ boinc-client_release-7.6-7.6.33/zip/Makefile.am | ||
| 90 | @@ -61,7 +61,7 @@ endif | ||
| 91 | |||
| 92 | lib_LTLIBRARIES = libboinc_zip.la | ||
| 93 | libboinc_zip_la_SOURCES = $(libboinc_zip_sources) | ||
| 94 | -libboinc_zip_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION) | ||
| 95 | +libboinc_zip_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) | ||
| 96 | libboinc_zip_la_LIBADD = | ||
| 97 | |||
| 98 | # Some OSs may not prefix libraries with lib. | ||
diff --git a/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch b/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch new file mode 100644 index 0000000000..4ae8d580d7 --- /dev/null +++ b/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | Check for gtk2+ only when manager is enabled | ||
| 2 | |||
| 3 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 4 | Upstream-Status: Pending | ||
| 5 | |||
| 6 | Index: boinc-client_release-7.6-7.6.33/configure.ac | ||
| 7 | =================================================================== | ||
| 8 | --- boinc-client_release-7.6-7.6.33.orig/configure.ac | ||
| 9 | +++ boinc-client_release-7.6-7.6.33/configure.ac | ||
| 10 | @@ -1033,6 +1033,11 @@ else | ||
| 11 | AM_CONDITIONAL([GUI_GTK], false) | ||
| 12 | fi | ||
| 13 | |||
| 14 | +dnl ---------- GTK+2.0----------------------------------------------------- | ||
| 15 | +if test "X${no_x}" != "Xyes"; then | ||
| 16 | + PKG_CHECK_MODULES([GTK2], [gtk+-2.0]) | ||
| 17 | +fi | ||
| 18 | + | ||
| 19 | dnl ---------- libNotify -------------------------------------------------- | ||
| 20 | if test "${enable_manager}" = yes ; then | ||
| 21 | PKG_CHECK_MODULES(LIBNOTIFY, [libnotify]) | ||
| 22 | @@ -1082,7 +1087,6 @@ AM_CONDITIONAL(ENABLE_BOINCCRYPT, [test | ||
| 23 | AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes]) | ||
| 24 | AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so]) | ||
| 25 | |||
| 26 | -PKG_CHECK_MODULES([GTK2], [gtk+-2.0]) | ||
| 27 | |||
| 28 | dnl ====================================================================== | ||
| 29 | dnl some more vodoo required for building portable client-binary (client, clientgui) | ||
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 0000000000..0b057eabc8 --- /dev/null +++ b/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | Do not add prefix/lib to library search path | ||
| 2 | let sysroot take care of that | ||
| 3 | |||
| 4 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 5 | Upstream-Status: Inappropriate[Cross-compile specific] | ||
| 6 | |||
| 7 | Index: boinc-client_release-7.6-7.6.33/m4/ax_check_gl.m4 | ||
| 8 | =================================================================== | ||
| 9 | --- boinc-client_release-7.6-7.6.33.orig/m4/ax_check_gl.m4 | ||
| 10 | +++ boinc-client_release-7.6-7.6.33/m4/ax_check_gl.m4 | ||
| 11 | @@ -58,7 +58,7 @@ else | ||
| 12 | else | ||
| 13 | ax_try_lib="${ax_lib}" | ||
| 14 | fi | ||
| 15 | - LIBS="-L${prefix}/lib ${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}" | ||
| 16 | + LIBS="${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}" | ||
| 17 | AC_LINK_IFELSE( | ||
| 18 | [AC_LANG_PROGRAM([[ | ||
| 19 | # 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 0000000000..ac5f7559b4 --- /dev/null +++ b/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb | |||
| @@ -0,0 +1,77 @@ | |||
| 1 | # Copyright (C) 2016 Khem Raj <raj.khem@gmail.com> | ||
| 2 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
| 3 | |||
| 4 | SUMMARY = "Open-source software for volunteer computing" | ||
| 5 | DESCRIPTION = "The Berkeley Open Infrastructure for Network Computing (BOINC) is an open- \ | ||
| 6 | source software platform which supports distributed computing, primarily in \ | ||
| 7 | the form of volunteer computing and desktop Grid computing. It is well \ | ||
| 8 | suited for problems which are often described as trivially parallel. BOINC \ | ||
| 9 | is the underlying software used by projects such as SETI@home, Einstein@Home, \ | ||
| 10 | ClimatePrediciton.net, the World Community Grid, and many other distributed \ | ||
| 11 | computing projects. \ | ||
| 12 | This package installs the BOINC client software, which will allow your \ | ||
| 13 | computer to participate in one or more BOINC projects, using your spare \ | ||
| 14 | computer time to search for cures for diseases, model protein folding, study \ | ||
| 15 | global warming, discover sources of gravitational waves, and many other types \ | ||
| 16 | of scientific and mathematical research." | ||
| 17 | |||
| 18 | HOMEPAGE = "http://boinc.berkeley.edu/" | ||
| 19 | LICENSE = "LGPLv2+ & GPLv3" | ||
| 20 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ | ||
| 21 | file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6" | ||
| 22 | SECTION = "applications" | ||
| 23 | DEPENDS = "curl \ | ||
| 24 | jpeg \ | ||
| 25 | openssl \ | ||
| 26 | sqlite3 \ | ||
| 27 | virtual/libgl \ | ||
| 28 | ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libnotify', '', d)} \ | ||
| 29 | ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk+ libnotify xcb-util libxscrnsaver', '', d)} \ | ||
| 30 | nettle \ | ||
| 31 | " | ||
| 32 | |||
| 33 | SRC_URI = "https://github.com/BOINC/boinc/archive/client_release/7.6/${PV}.tar.gz \ | ||
| 34 | file://boinc-AM_CONDITIONAL.patch \ | ||
| 35 | file://opengl_m4_check.patch \ | ||
| 36 | file://cross-compile.patch \ | ||
| 37 | file://gtk-configure.patch \ | ||
| 38 | " | ||
| 39 | SRC_URI[md5sum] = "437b4b98e384b4bda4ef7056e68166ac" | ||
| 40 | SRC_URI[sha256sum] = "c4b1c29b9655013e0ac61dddf47ad7f30f38c46159f02a9d9dc8ab854e99aa6d" | ||
| 41 | |||
| 42 | inherit gettext autotools-brokensep pkgconfig | ||
| 43 | |||
| 44 | S = "${WORKDIR}/${BPN}_release-7.6-${PV}" | ||
| 45 | |||
| 46 | EXTRA_OECONF += "\ | ||
| 47 | --enable-libraries \ | ||
| 48 | --enable-unicode \ | ||
| 49 | --enable-shared \ | ||
| 50 | --enable-dynamic-client-linkage \ | ||
| 51 | --enable-client \ | ||
| 52 | --disable-server \ | ||
| 53 | --disable-static \ | ||
| 54 | --disable-manager \ | ||
| 55 | --with-ssl=${STAGING_EXECPREFIXDIR} \ | ||
| 56 | --without-wxdir \ | ||
| 57 | --without-x \ | ||
| 58 | --with-boinc-platform=${TARGET_SYS} \ | ||
| 59 | " | ||
| 60 | export PKG_CONFIG = "${STAGING_BINDIR_NATIVE}/pkg-config" | ||
| 61 | |||
| 62 | do_configure_prepend () { | ||
| 63 | if "${@bb.utils.contains('DEPENDS', 'gtk+', '1', '0', d)}" = "0" | ||
| 64 | then | ||
| 65 | export GTK2_CFLAGS="" | ||
| 66 | export GTK2_LIBS="" | ||
| 67 | fi | ||
| 68 | } | ||
| 69 | |||
| 70 | do_compile_prepend () { | ||
| 71 | # Disable rpaths | ||
| 72 | sed -i -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${B}/${TARGET_SYS}-libtool | ||
| 73 | sed -i -e 's|^sys_lib_dlsearch_path_spec=.*|sys_lib_dlsearch_path_spec=""|g' ${B}/${TARGET_SYS}-libtool | ||
| 74 | sed -i -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${B}/${TARGET_SYS}-libtool | ||
| 75 | } | ||
| 76 | |||
| 77 | SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" | ||
