Add Boinc client component
[slapos.git] / component / boinc-client / buildout.cfg
1 [buildout]
2
3 parts =
4   boinc
5
6 extends =
7   ../curl/buildout.cfg
8   ../openssl/buildout.cfg
9   ../zlib/buildout.cfg
10   ../subversion/buildout.cfg
11   ../m4/buildout.cfg
12   ../automake/buildout.cfg
13   ../libtool/buildout.cfg
14   ../pkgconfig/buildout.cfg
15   ../cyrus-sasl/buildout.cfg
16   ../openldap/buildout.cfg
17   ../gnutls/buildout.cfg
18   ../../stack/slapos.cfg
19
20 [download-boinc]
21 recipe = slapos.recipe.download
22 url = http://boinc.berkeley.edu/dl/boinc_7.0.28_x86_64-pc-linux-gnu.sh
23 md5sum = efdfd115ae69227ceb6118ca09777988
24 location = ${buildout:parts-directory}/${:_buildout_section_name_}
25 filename = boinc_7.0.28_x86_64-pc-linux-gnu.sh
26 mode = 0744
27
28 [boinc-bin]
29 recipe = plone.recipe.command
30 on_install = true
31 on_update = true
32 command = cp ${download-boinc:location}/${download-boinc:filename} ${buildout:parts-directory} && \
33   cd ${buildout:parts-directory} && \
34   ./${download-boinc:filename}
35 #boinc client is a binary: write LD_LABRARY_PATH
36 ld_library = ${curl:location}/lib:${openssl:location}/lib:${zlib:location}/lib
37 location = ${buildout:parts-directory}/BOINC
38
39 [boinc-patch]
40 recipe = slapos.recipe.download
41 url = ${:_profile_base_location_}/boinc-abs-path.patch
42 md5sum = 4f385abae9da5ebea7a73d316ebda318
43 location = ${buildout:parts-directory}/${:_buildout_section_name_}
44 filename = boinc-abs-path.patch
45
46
47 #checkout boinc package from svn repository
48 [boinc-package]
49 recipe = plone.recipe.command
50 location = ${buildout:parts-directory}/${:_buildout_section_name_}
51 svnversion = ${subversion:location}/bin/svnversion
52 command = ${subversion:location}/bin/svn co http://boinc.berkeley.edu/svn/branches/server_stable ${:location} && \
53   sed -i 's#/usr/bin/svnversion#${:svnversion}#' ${:location}/tools/make_project
54
55 # Compile now boinc client
56 [boinc]
57 recipe = hexagonit.recipe.cmmi
58 url = ${boinc-package:location}
59 source = ${buildout:parts-directory}/${:_buildout_section_name_}__compile__
60 configure-command =
61   echo 'AC_PROG_OBJCXX' >> configure.ac
62   aclocal -I${pkgconfig:location}/share/aclocal -I${libtool:location}/share/aclocal
63   ./_autosetup
64   ./configure
65
66 configure-options =
67   --prefix=${buildout:parts-directory}/${:_buildout_section_name_}
68   --disable-fcgi
69   --disable-shared
70   --enable-static
71   --with-pic
72   --disable-manager
73   --disable-server
74   --with-pkg-config
75   --with-ssl=${openssl:location}
76   --with-libsasl2=${cyrus-sasl:location}/lib
77   --with-libldap=${openldap:location}/lib
78   --with-libgnutls=${gnutls:location}/lib
79   --with-libcurl=${curl:location}/lib
80   --with-x=no
81
82 patches =
83   ${boinc-patch:location}/${boinc-patch:filename}
84
85 patch-options = -p1
86
87 environment =
88   PATH=${pkgconfig:location}/bin:${automake:location}/bin:${autoconf:location}/bin:${libtool:location}/bin:${subversion:location}/bin:${curl:location}/bin:%(PATH)s
89   PKG_CONFIG_PATH=${openssl:location}/lib/pkgconfig
90   M4=${m4:location}/bin/m4
91   CFLAGS=-fPIC
92   CPPFLAGS=-I${openssl:location}/include -I${zlib:location}/include
93   LDFLAGS = -L${openssl:location}/lib -Wl,-rpath=${openssl:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
94   ACLOCAL_PATH=${pkgconfig:location}/share/aclocal:${libtool:location}/share/aclocal