diff options
-rw-r--r-- | sci-misc/boinc/ChangeLog | 9 | ||||
-rw-r--r-- | sci-misc/boinc/boinc-6.2.15.ebuild | 207 | ||||
-rw-r--r-- | sci-misc/boinc/files/boinc-6.2.15-mute-warnings.patch | 47 | ||||
-rw-r--r-- | sci-misc/boinc/files/boinc-6.2.15-project-list-size.patch | 10 |
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); |