summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-extended/boinc
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2016-11-03 01:20:33 -0700
committerMartin Jansa <Martin.Jansa@gmail.com>2016-11-23 15:24:00 +0100
commitaaa64ef4b406e35e2b4507898cd34c8eca5122bc (patch)
tree1630ec237c42fc3afbfbc637a3c76be3fb51b558 /meta-oe/recipes-extended/boinc
parent8076afca3d5f3b099be7344e6339085f3796394a (diff)
downloadmeta-openembedded-aaa64ef4b406e35e2b4507898cd34c8eca5122bc.tar.gz
boinc: Add recipe for boinc-client
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-oe/recipes-extended/boinc')
-rw-r--r--meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch24
-rw-r--r--meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch98
-rw-r--r--meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch29
-rw-r--r--meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch19
-rw-r--r--meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb77
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 000000000..7becb94e6
--- /dev/null
+++ b/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch
@@ -0,0 +1,24 @@
1Add configure check for gtk2+ and objc++
2
3Signed-off-by: Khem Raj <raj.khem@gmail.com>
4Upstream-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 000000000..287391a52
--- /dev/null
+++ b/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch
@@ -0,0 +1,98 @@
1Remove rpath, its bad for cross compiling to encode
2build time rpaths
3
4Signed-off-by: Khem Raj <raj.khem@gmail.com>
5Upstream-Status: Pending
6
7Index: 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 !!
33Index: 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"
64Index: 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
86Index: 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 000000000..4ae8d580d
--- /dev/null
+++ b/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch
@@ -0,0 +1,29 @@
1Check for gtk2+ only when manager is enabled
2
3Signed-off-by: Khem Raj <raj.khem@gmail.com>
4Upstream-Status: Pending
5
6Index: 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 000000000..0b057eabc
--- /dev/null
+++ b/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch
@@ -0,0 +1,19 @@
1Do not add prefix/lib to library search path
2let sysroot take care of that
3
4Signed-off-by: Khem Raj <raj.khem@gmail.com>
5Upstream-Status: Inappropriate[Cross-compile specific]
6
7Index: 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 000000000..ac5f7559b
--- /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
4SUMMARY = "Open-source software for volunteer computing"
5DESCRIPTION = "The Berkeley Open Infrastructure for Network Computing (BOINC) is an open- \
6source software platform which supports distributed computing, primarily in \
7the form of volunteer computing and desktop Grid computing. It is well \
8suited for problems which are often described as trivially parallel. BOINC \
9is the underlying software used by projects such as SETI@home, Einstein@Home, \
10ClimatePrediciton.net, the World Community Grid, and many other distributed \
11computing projects. \
12This package installs the BOINC client software, which will allow your \
13computer to participate in one or more BOINC projects, using your spare \
14computer time to search for cures for diseases, model protein folding, study \
15global warming, discover sources of gravitational waves, and many other types \
16of scientific and mathematical research."
17
18HOMEPAGE = "http://boinc.berkeley.edu/"
19LICENSE = "LGPLv2+ & GPLv3"
20LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
21 file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6"
22SECTION = "applications"
23DEPENDS = "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
33SRC_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"
39SRC_URI[md5sum] = "437b4b98e384b4bda4ef7056e68166ac"
40SRC_URI[sha256sum] = "c4b1c29b9655013e0ac61dddf47ad7f30f38c46159f02a9d9dc8ab854e99aa6d"
41
42inherit gettext autotools-brokensep pkgconfig
43
44S = "${WORKDIR}/${BPN}_release-7.6-${PV}"
45
46EXTRA_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"
60export PKG_CONFIG = "${STAGING_BINDIR_NATIVE}/pkg-config"
61
62do_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
70do_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
77SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"