diff options
Diffstat (limited to 'external/meta-openembedded/meta-oe/recipes-extended/boinc')
4 files changed, 161 insertions, 0 deletions
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch b/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch new file mode 100644 index 00000000..ab8042f7 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch @@ -0,0 +1,26 @@ +Add configure check for gtk2+ and objc++ + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending + +Index: boinc-client_release-7.6-7.6.33/configure.ac +=================================================================== +--- boinc-client_release-7.6-7.6.33.orig/configure.ac ++++ boinc-client_release-7.6-7.6.33/configure.ac +@@ -64,6 +64,7 @@ m4_ifdef([AC_PROG_OBJCXX],[AC_PROG_OBJCX + dnl ------ + AC_PROG_F77 + AC_PROG_CPP ++AC_PROG_OBJCXX + AC_PROG_MAKE_SET + SAH_LINKS + AC_LANG_PUSH(C) +@@ -1081,6 +1082,8 @@ AM_CONDITIONAL(ENABLE_BOINCCRYPT, [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/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch b/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch new file mode 100644 index 00000000..4ae8d580 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch @@ -0,0 +1,29 @@ +Check for gtk2+ only when manager is enabled + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending + +Index: boinc-client_release-7.6-7.6.33/configure.ac +=================================================================== +--- boinc-client_release-7.6-7.6.33.orig/configure.ac ++++ boinc-client_release-7.6-7.6.33/configure.ac +@@ -1033,6 +1033,11 @@ else + AM_CONDITIONAL([GUI_GTK], false) + fi + ++dnl ---------- GTK+2.0----------------------------------------------------- ++if test "X${no_x}" != "Xyes"; then ++ PKG_CHECK_MODULES([GTK2], [gtk+-2.0]) ++fi ++ + dnl ---------- libNotify -------------------------------------------------- + if test "${enable_manager}" = yes ; then + PKG_CHECK_MODULES(LIBNOTIFY, [libnotify]) +@@ -1082,7 +1087,6 @@ AM_CONDITIONAL(ENABLE_BOINCCRYPT, [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) diff --git a/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch b/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch new file mode 100644 index 00000000..0b057eab --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch @@ -0,0 +1,19 @@ +Do not add prefix/lib to library search path +let sysroot take care of that + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Inappropriate[Cross-compile specific] + +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/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.12.bb b/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.12.bb new file mode 100644 index 00000000..e505bb4c --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.12.bb @@ -0,0 +1,87 @@ +# 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 \ + sqlite3 \ + virtual/libgl \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libnotify', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk+ libnotify xcb-util libxscrnsaver', '', d)} \ + nettle \ +" +SRCREV = "bd12338dbd29083daa5a4b022592ca31ff68cd98" +BRANCH = "client_release/7/${PV}" +SRC_URI = "git://github.com/BOINC/boinc;protocol=https;branch=${BRANCH} \ + file://boinc-AM_CONDITIONAL.patch \ + file://opengl_m4_check.patch \ + file://gtk-configure.patch \ +" + +inherit gettext autotools pkgconfig distro_features_check systemd + +REQUIRED_DISTRO_FEATURES += "opengl" + +S = "${WORKDIR}/git" + +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_configure_prepend () { + if "${@bb.utils.contains('DEPENDS', 'gtk+', '1', '0', d)}" = "0" + then + export GTK2_CFLAGS="" + export GTK2_LIBS="" + fi +} + +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 +} +do_install_append() { + if [ -e ${D}${libdir}/systemd/system/boinc-client.service ]; then + install -D -m 0644 \ + ${D}${libdir}/systemd/system/boinc-client.service \ + ${D}${systemd_system_unitdir}/boinc-client.service + rm -rf ${D}${libdir}/systemd + fi +} + +SYSTEMD_SERVICE_${PN} = "boinc-client.service" + +FILES_${PN} += "${libdir}/systemd" |