summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sci-misc/boinc/ChangeLog9
-rw-r--r--sci-misc/boinc/boinc-6.2.15.ebuild207
-rw-r--r--sci-misc/boinc/files/boinc-6.2.15-mute-warnings.patch47
-rw-r--r--sci-misc/boinc/files/boinc-6.2.15-project-list-size.patch10
4 files changed, 272 insertions, 1 deletions
diff --git a/sci-misc/boinc/ChangeLog b/sci-misc/boinc/ChangeLog
index ee35dc5da910..2c72194d9e95 100644
--- a/sci-misc/boinc/ChangeLog
+++ b/sci-misc/boinc/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sci-misc/boinc
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-misc/boinc/ChangeLog,v 1.41 2008/08/06 18:23:54 ulm Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-misc/boinc/ChangeLog,v 1.42 2008/11/24 19:03:49 scarabeus Exp $
+
+*boinc-6.2.15 (24 Nov 2008)
+
+ 24 Nov 2008; Tomas Chvatal <scarabeus@gentoo.org>
+ +files/boinc-6.2.15-mute-warnings.patch,
+ +files/boinc-6.2.15-project-list-size.patch, +boinc-6.2.15.ebuild:
+ Version bump. Mostly rewrite from scratch.
06 Aug 2008; Ulrich Mueller <ulm@gentoo.org> metadata.xml:
Add USE flag description to metadata wrt GLEP 56.
diff --git a/sci-misc/boinc/boinc-6.2.15.ebuild b/sci-misc/boinc/boinc-6.2.15.ebuild
new file mode 100644
index 000000000000..ec4195d0f8dd
--- /dev/null
+++ b/sci-misc/boinc/boinc-6.2.15.ebuild
@@ -0,0 +1,207 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-misc/boinc/boinc-6.2.15.ebuild,v 1.1 2008/11/24 19:03:49 scarabeus Exp $
+
+EAPI="1"
+
+inherit depend.apache flag-o-matic wxwidgets autotools
+
+MY_PV="${PV//./_}"
+DESCRIPTION="The Berkeley Open Infrastructure for Network Computing"
+HOMEPAGE="http://boinc.ssl.berkeley.edu/"
+SRC_URI="http://dev.gentooexperimental.org/~scarabeus/${P}.tar.bz2
+ bindist? ( amd64? ( http://${PN}dl.ssl.berkeley.edu/dl/${P/-/_}_x86_64-pc-linux-gnu.sh )
+ x86? ( http://${PN}dl.ssl.berkeley.edu/dl/${P/-/_}_i686-pc-linux-gnu.sh )
+ )"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~sparc ~x86"
+IUSE="X bindist server unicode"
+# bindist is only for x86 and amd64 for rest package.use.mask
+
+RDEPEND="sys-libs/zlib
+ >=net-misc/curl-7.15.5
+ >=dev-libs/openssl-0.9.7
+ X? ( =x11-libs/wxGTK-2.8* )
+ server? (
+ !bindist? (
+ >=virtual/mysql-4.0
+ virtual/php
+ >=dev-lang/python-2.2.3
+ >=dev-python/mysql-python-0.9.2
+ )
+ )"
+DEPEND="!bindist? (
+ >=sys-devel/gcc-3.0.4
+ >=sys-devel/autoconf-2.58
+ >=sys-devel/automake-1.8
+ >=dev-util/pkgconfig-0.15
+ >=sys-devel/m4-1.4
+ )
+ X? ( x11-libs/libXmu
+ x11-libs/libXt
+ x11-libs/libX11
+ x11-proto/xproto
+ media-libs/freeglut
+ virtual/glu
+ media-libs/jpeg )
+ server? ( !bindist? ( virtual/imap-c-client ) )
+ ${RDEPEND}"
+# subversion is not needed only if user choose binary for amd64 or x86
+want_apache server
+
+LANGS="ar be bg ca cs da de el en_US es eu fi fr hr hu it ja lt lv nb nl pl pt pt_BR ro ru sk sl sv_SE tr uk zh_CN zh_TW"
+for LNG in ${LANGS}; do
+ IUSE="${IUSE} linguas_${LNG}"
+done
+
+src_unpack() {
+ local target
+
+ if ! use bindist; then
+ unpack ${P}.tar.bz2
+ cd "${S}"
+ # replace CXXFLAGS, those added are suggested by upstream
+ sed -i \
+ -e "s:-O3 -fomit-frame-pointer -fforce-addr -ffast-math \$(AM_CPPFLAGS):\$(AM_CPPFLAGS) -O3 -funroll-loops -fforce-addr -ffast-math:" \
+ client/Makefile.am || die "sed client/Makefile.am failed"
+ # silence warnings
+ epatch "${FILESDIR}"/"${P}"-project-list-size.patch
+ epatch "${FILESDIR}"/"${P}"-mute-warnings.patch
+ # do autoreconf
+ rm "${S}"/m4/libtool.m4
+ AT_M4DIR="m4" eautoreconf
+ else
+ use server && elog "Server feature is working only for source build, please disable bindist if you really intend to use server."
+ use x86 && target="i686" || target="x86_64"
+ cp "${DISTDIR}"/${P/-/_}_${target}-pc-linux-gnu.sh "${WORKDIR}"
+ cd "${WORKDIR}"
+ sh ${P/-/_}_${target}-pc-linux-gnu.sh
+ fi
+}
+
+src_compile() {
+ if ! use bindist; then
+ if use X; then
+ WX_GTK_VER=2.8
+ use unicode && need-wxwidgets unicode || need-wxwidgets gtk2
+ wxconf="--with-wx-config=${WX_CONFIG}"
+ fi
+
+ econf \
+ --enable-client \
+ --with-ssl \
+ ${wxconf} \
+ $(use_enable unicode) \
+ $(use_enable server) \
+ $(use_with X x) || die "econf failed"
+
+ # Make it link to the compiled libs, not the installed ones
+ # remove precompiled binaries from svn
+ sed -i \
+ -e "s:LDFLAGS = :LDFLAGS = -L../lib :g" \
+ */Makefile || die "sed failed"
+ emake || die "emake failed"
+ fi
+}
+
+src_install() {
+ mkdir -p "${D}"/var/lib/${PN}/
+ newinitd "${FILESDIR}"/${PN}.init ${PN}
+ newconfd "${FILESDIR}"/${PN}.conf ${PN}
+ if ! use bindist; then
+ cp "${S}"/ca-bundle.crt "${D}"/var/lib/${PN}
+ make install DESTDIR="${D}" || die "make install failed"
+ # icon
+ newicon "${S}"/sea/${PN}mgr.48x48.png ${PN}.png
+ # wrapper to allow gui to load gui_rpc_auth.cfg because ${PN} devs assume curdir to be datadir for ${PN}_gui
+ mv "${D}"/usr/bin/${PN}_gui "${D}"/usr/bin/${PN}mgr
+ echo "cd \"/var/lib/${PN}\" && exec /usr/bin/${PN}mgr \$@" > "${D}"/usr/bin/${PN}_gui
+ chmod 755 "${D}"/usr/bin/${PN}_gui
+ # desktop
+ if use X; then
+ make_desktop_entry ${PN}_gui ${PN} ${PN} "Education;Science" /var/lib/${PN}
+ fi
+ # required headers by seti@home
+ insopts -m0644
+ insinto /usr/include/${PN}
+ doins "${S}"/api/{reduce.h,graphics_api.h,graphics_data.h,${PN}_gl.h}
+ # symlink locale so it actualy work for source dist.
+ insinto /usr/share/locale/
+ cd "${S}"/locale/client
+ for LNG in ${LINGUAS}; do
+ doins -r ${LNG}
+ done
+ dosym /usr/share/locale /var/lib/${PN}/locale
+ cd "${S}"
+ else
+ local S_BIN="${WORKDIR}"/BOINC
+ cd "${S_BIN}"
+ cp "${S_BIN}"/ca-bundle.crt "${D}"/var/lib/${PN}
+ # fix ${PN}.conf file for binary package
+ sed -i -e "s:/usr/bin/${PN}_client:/opt/${PN}/${PN}:g" "${D}"/etc/conf.d/${PN}
+ if use X; then
+ # icon
+ newicon "${S_BIN}"/${PN}mgr.48x48.png ${PN}.png
+ # desktop
+ make_desktop_entry /opt/${PN}/run_manager "${PN}" ${PN} "Education;Science" /var/lib/${PN}
+ fi
+ # use correct path in scripts
+ sed -i \
+ -e "s:${S_BIN}:/var/lib/${PN}:g" \
+ -e "s:./${PN}:/opt/${PN}/${PN}:g" \
+ run_client || die "sed run_client failed"
+ sed -i \
+ -e "s:${S_BIN}:/var/lib/${PN}:g" \
+ -e "s:./${PN}mgr:/opt/${PN}/${PN}mgr:g" \
+ run_manager || die "sed run_manager failed"
+ # install binaries
+ exeopts -m0755
+ exeinto /opt/${PN}
+ doexe "${S_BIN}"//{${PN},${PN}_cmd,${PN}cmd,${PN}mgr,run_client,run_manager}
+ fowners 0:${PN} /opt/${PN}/{${PN},${PN}_cmd,${PN}cmd,${PN}mgr,run_client,run_manager}
+ # locale
+ mkdir -p "${D}"/opt/${PN}/locale
+ insopts -m0644
+ insinto /opt/${PN}/
+ cd "${S_BIN}"/locale/
+ for LNG in ${LINGUAS}; do
+ doins -r "${LNG}"
+ done
+ dosym /opt/${PN}/locale /var/lib/${PN}/locale
+ cd "${S}"
+ fi
+ fowners ${PN}:${PN} /var/lib/${PN}/ca-bundle.crt
+ chown ${PN}:${PN} "${D}"/var/lib/${PN}
+}
+
+pkg_preinst() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 /var/lib/${PN} ${PN}
+}
+
+pkg_postinst() {
+ echo
+ if use bindist; then
+ elog "You are using the binary distributed version."
+ elog "The manager can be found at /opt/${PN}/run_manager"
+ fi
+ elog "You need to attach to a project to do anything useful with ${PN}."
+ elog "You can do this by running /etc/init.d/${PN} attach"
+ elog "${PN} The howto for configuration is located at:"
+ elog "http://${PN}.berkeley.edu/anonymous_platform.php"
+ if use server && ! use bindist ; then
+ echo
+ elog "You have chosen to enable server mode. this ebuild has installed"
+ elog "the necessary packages to be a server. You will need to have a"
+ elog "project. Contact ${PN} directly for further information."
+ fi
+ echo
+ # Add warning about the new password for the client, bug 121896.
+ elog "If you need to use the graphical client the password is in "
+ elog "/var/lib/${PN}/gui_rpc_auth.cfg which is randomly generated "
+ elog "by ${PN} upon successfully running the gui for the first time."
+ elog "You can change this to something more memorable."
+ echo
+}
diff --git a/sci-misc/boinc/files/boinc-6.2.15-mute-warnings.patch b/sci-misc/boinc/files/boinc-6.2.15-mute-warnings.patch
new file mode 100644
index 000000000000..a2a9ba32f9e9
--- /dev/null
+++ b/sci-misc/boinc/files/boinc-6.2.15-mute-warnings.patch
@@ -0,0 +1,47 @@
+--- lib/parse.h.orig 2008-09-15 16:37:16.000000000 -0700
++++ lib/parse.h 2008-09-15 16:44:37.000000000 -0700
+@@ -23,9 +23,10 @@
+ #ifdef _WIN32
+ #include "boinc_win.h"
+ #else
+-#include "config.h"
++//#include "config.h"
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <cstring>
+ #ifdef HAVE_STRING_H
+ #include <string.h>
+ #endif
+--- api/boinc_gl.h.orig 2008-09-15 16:42:22.000000000 -0700
++++ api/boinc_gl.h 2008-09-15 16:42:42.000000000 -0700
+@@ -37,7 +37,7 @@
+
+
+ #else // !_WIN32, !__APPLE_CC__
+-#include "config.h"
++//#include "config.h"
+
+ # if defined(HAVE_GL_H)
+ # include <gl.h>
+--- ./api/texfont.C.orig 2008-09-15 18:28:54.000000000 -0700
++++ ./api/texfont.C 2008-09-15 18:31:56.000000000 -0700
+@@ -7,6 +7,8 @@
+ #pragma warning (disable:4244) // disable bogus conversion warnings
+ #endif
+
++#include "config.h"
++
+ #include <assert.h>
+ #include <ctype.h>
+ #include <stdlib.h>
+--- api/txf_util.C.orig 2008-09-15 18:32:24.000000000 -0700
++++ api/txf_util.C 2008-09-15 18:32:40.000000000 -0700
+@@ -24,6 +24,8 @@
+ #include "boinc_win.h"
+ #endif
+
++#include "config.h"
++
+ #include <cstring>
+ #include "filesys.h"
+ #include "boinc_api.h"
diff --git a/sci-misc/boinc/files/boinc-6.2.15-project-list-size.patch b/sci-misc/boinc/files/boinc-6.2.15-project-list-size.patch
new file mode 100644
index 000000000000..2f28f3bc018b
--- /dev/null
+++ b/sci-misc/boinc/files/boinc-6.2.15-project-list-size.patch
@@ -0,0 +1,10 @@
+--- clientgui/ProjectInfoPage.cpp.orig 2008-09-16 17:17:02.000000000 -0700
++++ clientgui/ProjectInfoPage.cpp 2008-09-16 17:57:51.000000000 -0700
+@@ -132,6 +132,7 @@
+ m_pProjectListCtrl = new CProjectListCtrl;
+ m_pProjectListCtrl->Create( itemWizardPage23 );
+ itemFlexGridSizer3->Add(m_pProjectListCtrl, 0, wxGROW|wxRIGHT, 10);
++ itemFlexGridSizer3->SetMinSize(-1,200);
+
+ wxFlexGridSizer* itemFlexGridSizer11 = new wxFlexGridSizer(2, 1, 0, 0);
+ itemFlexGridSizer11->AddGrowableRow(0);