summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /sci-misc/boinc
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sci-misc/boinc')
-rw-r--r--sci-misc/boinc/Manifest2
-rw-r--r--sci-misc/boinc/boinc-7.2.0-r1.ebuild147
-rw-r--r--sci-misc/boinc/boinc-7.2.0.ebuild146
-rw-r--r--sci-misc/boinc/boinc-7.4.42.ebuild141
-rw-r--r--sci-misc/boinc/files/boinc-7.2.0-fix_subdirs.patch69
-rw-r--r--sci-misc/boinc/files/boinc.conf17
-rw-r--r--sci-misc/boinc/files/boinc.init103
-rw-r--r--sci-misc/boinc/files/boinc.service11
-rw-r--r--sci-misc/boinc/files/generate_tarball.sh103
-rw-r--r--sci-misc/boinc/metadata.xml19
10 files changed, 758 insertions, 0 deletions
diff --git a/sci-misc/boinc/Manifest b/sci-misc/boinc/Manifest
new file mode 100644
index 000000000000..a064a6ba6649
--- /dev/null
+++ b/sci-misc/boinc/Manifest
@@ -0,0 +1,2 @@
+DIST boinc-7.2.0.tar.xz 25138432 SHA256 714ac3a10bec41afc224e8343f5bc221a488eefca4592dbc9ce4eea2c10cad5e SHA512 4ee360c14117cf4bbc26dfb48682462cdd15ca04b16f40b76562c0f5fa1a4531775762a1ce1f59960b4d0166a5d429af1279199f5140d3e112c72361ad01c46e WHIRLPOOL 3d41bf1f80d04aa9ec576da18bbb6a8078c98060bd6167dcf6a75fa34619fb95831695fb145a8f4400ec0d99a743f42539751667fcbc505fba7c747c0e0bedfd
+DIST boinc-7.4.42.tar.gz 44075908 SHA256 2656727628cae8b15c39e48e08e0521aae345dd1cf4674c6730150500b30145f SHA512 6eabb130d38c55b551ce216afcb8b4a27d9755c4a20dfc30e7ab0c7e8ba5ab5af6995348ec5fee6b9711aa85f7fdbcef78b05894873d8780f20c9e29e17c8ad1 WHIRLPOOL 3b61de0a5a443d457ceda3c01bf824fa5d9a72c7e5d8e8da1bf35f1510a7d3fb72dbbf8ce329b2f8ca18c82afc16852df0cd047d4870b06537ddff473277d655
diff --git a/sci-misc/boinc/boinc-7.2.0-r1.ebuild b/sci-misc/boinc/boinc-7.2.0-r1.ebuild
new file mode 100644
index 000000000000..8330ab3336d6
--- /dev/null
+++ b/sci-misc/boinc/boinc-7.2.0-r1.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+#WANT_AUTOMAKE="1.11"
+
+AUTOTOOLS_AUTORECONF=true
+
+inherit autotools-utils flag-o-matic eutils wxwidgets user systemd
+
+DESCRIPTION="The Berkeley Open Infrastructure for Network Computing"
+HOMEPAGE="http://boinc.ssl.berkeley.edu/"
+SRC_URI="http://dev.gentoo.org/~jlec/distfiles/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="X cuda static-libs"
+
+RDEPEND="
+ !sci-misc/boinc-bin
+ !app-admin/quickswitch
+ >=app-misc/ca-certificates-20080809
+ dev-libs/openssl:0=
+ net-misc/curl[ssl,-gnutls(-),-nss(-),curl_ssl_openssl(+)]
+ sys-apps/util-linux
+ sys-libs/zlib
+ cuda? (
+ >=dev-util/nvidia-cuda-toolkit-2.1
+ >=x11-drivers/nvidia-drivers-180.22
+ )
+ X? (
+ dev-db/sqlite:3
+ media-libs/freeglut
+ sys-libs/glibc:2.2
+ virtual/jpeg:0=
+ x11-libs/gtk+:2
+ >=x11-libs/libnotify-0.7
+ x11-libs/wxGTK:2.8[X,opengl]
+ )
+"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ app-text/docbook-xml-dtd:4.4
+ app-text/docbook2X
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix_subdirs.patch
+)
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_prepare() {
+ # prevent bad changes in compile flags, bug 286701
+ sed -i -e "s:BOINC_SET_COMPILE_FLAGS::" configure.ac || die "sed failed"
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local wxconf=""
+
+ # add gtk includes
+ append-flags "$(pkg-config --cflags gtk+-2.0)"
+
+ # look for wxGTK
+ if use X; then
+ WX_GTK_VER="2.8"
+ need-wxwidgets unicode
+ wxconf+=" --with-wx-config=${WX_CONFIG}"
+ else
+ wxconf+=" --without-wxdir"
+ fi
+
+ local myeconfargs=(
+ --disable-server
+ --enable-client
+ --enable-dynamic-client-linkage
+ --disable-static
+ --enable-unicode
+ --with-ssl
+ $(use_with X x)
+ $(use_enable X manager)
+ ${wxconf}
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ dodir /var/lib/${PN}/
+ keepdir /var/lib/${PN}/
+
+ if use X; then
+ newicon "${S}"/packages/generic/sea/${PN}mgr.48x48.png ${PN}.png || die
+ make_desktop_entry boincmgr "${PN}" "${PN}" "Math;Science" "Path=/var/lib/${PN}"
+ fi
+
+ # cleanup cruft
+ rm -rf "${ED}"/etc/
+
+ newinitd "${FILESDIR}"/${PN}.init ${PN}
+ newconfd "${FILESDIR}"/${PN}.conf ${PN}
+ systemd_dounit "${FILESDIR}"/${PN}.service
+}
+
+pkg_preinst() {
+ enewgroup ${PN}
+ # note this works only for first install so we have to
+ # elog user about the need of being in video group
+ if use cuda; then
+ enewuser ${PN} -1 -1 /var/lib/${PN} "${PN},video"
+ else
+ enewuser ${PN} -1 -1 /var/lib/${PN} "${PN}"
+ fi
+}
+
+pkg_postinst() {
+ echo
+ elog "You are using the source compiled version of ${PN}."
+ use X && elog "The graphical manager can be found at /usr/bin/${PN}mgr"
+ elog
+ 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 "The howto for configuration is located at:"
+ elog "http://boinc.berkeley.edu/wiki/Anonymous_platform"
+ elog
+ # Add warning about the new password for the client, bug 121896.
+ if use X; then
+ elog "If you need to use the graphical manager the password is in:"
+ elog "/var/lib/${PN}/gui_rpc_auth.cfg"
+ elog "Where /var/lib/ is default RUNTIMEDIR, that can be changed in:"
+ elog "/etc/conf.d/${PN}"
+ elog "You should change this password to something more memorable (can be even blank)."
+ elog "Remember to launch init script before using manager. Or changing the password."
+ elog
+ fi
+ if use cuda; then
+ elog "To be able to use CUDA you should add boinc user to video group."
+ elog "Run as root:"
+ elog "gpasswd -a boinc video"
+ fi
+}
diff --git a/sci-misc/boinc/boinc-7.2.0.ebuild b/sci-misc/boinc/boinc-7.2.0.ebuild
new file mode 100644
index 000000000000..c162cf1d311c
--- /dev/null
+++ b/sci-misc/boinc/boinc-7.2.0.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+#WANT_AUTOMAKE="1.11"
+
+AUTOTOOLS_AUTORECONF=true
+
+inherit autotools-utils flag-o-matic eutils wxwidgets user
+
+DESCRIPTION="The Berkeley Open Infrastructure for Network Computing"
+HOMEPAGE="http://boinc.ssl.berkeley.edu/"
+SRC_URI="http://dev.gentoo.org/~jlec/distfiles/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="X cuda static-libs"
+
+RDEPEND="
+ !sci-misc/boinc-bin
+ !app-admin/quickswitch
+ >=app-misc/ca-certificates-20080809
+ dev-libs/openssl:0=
+ net-misc/curl[ssl,-gnutls(-),-nss(-),curl_ssl_openssl(+)]
+ sys-apps/util-linux
+ sys-libs/zlib
+ cuda? (
+ >=dev-util/nvidia-cuda-toolkit-2.1
+ >=x11-drivers/nvidia-drivers-180.22
+ )
+ X? (
+ dev-db/sqlite:3
+ media-libs/freeglut
+ sys-libs/glibc:2.2
+ virtual/jpeg:0=
+ x11-libs/gtk+:2
+ >=x11-libs/libnotify-0.7
+ x11-libs/wxGTK:2.8[X,opengl]
+ )
+"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ app-text/docbook-xml-dtd:4.4
+ app-text/docbook2X
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix_subdirs.patch
+)
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_prepare() {
+ # prevent bad changes in compile flags, bug 286701
+ sed -i -e "s:BOINC_SET_COMPILE_FLAGS::" configure.ac || die "sed failed"
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local wxconf=""
+
+ # add gtk includes
+ append-flags "$(pkg-config --cflags gtk+-2.0)"
+
+ # look for wxGTK
+ if use X; then
+ WX_GTK_VER="2.8"
+ need-wxwidgets unicode
+ wxconf+=" --with-wx-config=${WX_CONFIG}"
+ else
+ wxconf+=" --without-wxdir"
+ fi
+
+ local myeconfargs=(
+ --disable-server
+ --enable-client
+ --enable-dynamic-client-linkage
+ --disable-static
+ --enable-unicode
+ --with-ssl
+ $(use_with X x)
+ $(use_enable X manager)
+ ${wxconf}
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ dodir /var/lib/${PN}/
+ keepdir /var/lib/${PN}/
+
+ if use X; then
+ newicon "${S}"/packages/generic/sea/${PN}mgr.48x48.png ${PN}.png || die
+ make_desktop_entry boincmgr "${PN}" "${PN}" "Math;Science" "Path=/var/lib/${PN}"
+ fi
+
+ # cleanup cruft
+ rm -rf "${ED}"/etc/
+
+ newinitd "${FILESDIR}"/${PN}.init ${PN}
+ newconfd "${FILESDIR}"/${PN}.conf ${PN}
+}
+
+pkg_preinst() {
+ enewgroup ${PN}
+ # note this works only for first install so we have to
+ # elog user about the need of being in video group
+ if use cuda; then
+ enewuser ${PN} -1 -1 /var/lib/${PN} "${PN},video"
+ else
+ enewuser ${PN} -1 -1 /var/lib/${PN} "${PN}"
+ fi
+}
+
+pkg_postinst() {
+ echo
+ elog "You are using the source compiled version of ${PN}."
+ use X && elog "The graphical manager can be found at /usr/bin/${PN}mgr"
+ elog
+ 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 "The howto for configuration is located at:"
+ elog "http://boinc.berkeley.edu/wiki/Anonymous_platform"
+ elog
+ # Add warning about the new password for the client, bug 121896.
+ if use X; then
+ elog "If you need to use the graphical manager the password is in:"
+ elog "/var/lib/${PN}/gui_rpc_auth.cfg"
+ elog "Where /var/lib/ is default RUNTIMEDIR, that can be changed in:"
+ elog "/etc/conf.d/${PN}"
+ elog "You should change this password to something more memorable (can be even blank)."
+ elog "Remember to launch init script before using manager. Or changing the password."
+ elog
+ fi
+ if use cuda; then
+ elog "To be able to use CUDA you should add boinc user to video group."
+ elog "Run as root:"
+ elog "gpasswd -a boinc video"
+ fi
+}
diff --git a/sci-misc/boinc/boinc-7.4.42.ebuild b/sci-misc/boinc/boinc-7.4.42.ebuild
new file mode 100644
index 000000000000..2cfff07888ef
--- /dev/null
+++ b/sci-misc/boinc/boinc-7.4.42.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+#WANT_AUTOMAKE="1.11"
+
+AUTOTOOLS_AUTORECONF=true
+
+inherit autotools-utils eutils flag-o-matic systemd user versionator wxwidgets
+
+MY_PV=$(get_version_component_range 1-2)
+
+DESCRIPTION="The Berkeley Open Infrastructure for Network Computing"
+HOMEPAGE="http://boinc.ssl.berkeley.edu/"
+SRC_URI="https://github.com/BOINC/boinc/archive/client_release/${MY_PV}/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="X cuda static-libs"
+
+RDEPEND="
+ !sci-misc/boinc-bin
+ !app-admin/quickswitch
+ >=app-misc/ca-certificates-20080809
+ dev-libs/openssl:0=
+ net-misc/curl[ssl,-gnutls(-),-nss(-),curl_ssl_openssl(+)]
+ sys-apps/util-linux
+ sys-libs/zlib
+ cuda? (
+ >=dev-util/nvidia-cuda-toolkit-2.1
+ >=x11-drivers/nvidia-drivers-180.22
+ )
+ X? (
+ dev-db/sqlite:3
+ media-libs/freeglut
+ sys-libs/glibc:2.2
+ virtual/jpeg:0=
+ x11-libs/gtk+:2
+ >=x11-libs/libnotify-0.7
+ x11-libs/wxGTK:2.8[X,opengl]
+ )
+"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ app-text/docbook-xml-dtd:4.4
+ app-text/docbook2X
+"
+
+S="${WORKDIR}/${PN}-client_release-${MY_PV}-${PV}"
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_prepare() {
+ # prevent bad changes in compile flags, bug 286701
+ sed -i -e "s:BOINC_SET_COMPILE_FLAGS::" configure.ac || die "sed failed"
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-server
+ --enable-client
+ --enable-dynamic-client-linkage
+ --disable-static
+ --enable-unicode
+ --with-ssl
+ $(use_with X x)
+ $(use_enable X manager)
+ )
+
+ # look for wxGTK
+ if use X; then
+ WX_GTK_VER="2.8"
+ need-wxwidgets unicode
+ myeconfargs+=(--with-wx-config="${WX_CONFIG}")
+ else
+ myeconfargs+=(--without-wxdir)
+ fi
+
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ keepdir /var/lib/${PN}
+
+ if use X; then
+ newicon "${S}"/packages/generic/sea/${PN}mgr.48x48.png ${PN}.png
+ make_desktop_entry boincmgr "${PN}" "${PN}" "Math;Science" "Path=/var/lib/${PN}"
+ fi
+
+ # cleanup cruft
+ rm -rf "${ED}"/etc
+
+ newinitd "${FILESDIR}"/${PN}.init ${PN}
+ newconfd "${FILESDIR}"/${PN}.conf ${PN}
+ systemd_dounit "${FILESDIR}"/${PN}.service
+}
+
+pkg_preinst() {
+ enewgroup ${PN}
+ # note this works only for first install so we have to
+ # elog user about the need of being in video group
+ local groups="${PN}"
+ if use cuda; then
+ group+=",video"
+ fi
+ enewuser ${PN} -1 -1 /var/lib/${PN} "${groups}"
+}
+
+pkg_postinst() {
+ echo
+ elog "You are using the source compiled version of boinc."
+ use X && elog "The graphical manager can be found at /usr/bin/boincmgr"
+ elog
+ elog "You need to attach to a project to do anything useful with boinc."
+ elog "You can do this by running /etc/init.d/boinc attach"
+ elog "The howto for configuration is located at:"
+ elog "http://boinc.berkeley.edu/wiki/Anonymous_platform"
+ elog
+ # Add warning about the new password for the client, bug 121896.
+ if use X; then
+ elog "If you need to use the graphical manager the password is in:"
+ elog "/var/lib/boinc/gui_rpc_auth.cfg"
+ elog "Where /var/lib/ is default RUNTIMEDIR, that can be changed in:"
+ elog "/etc/conf.d/boinc"
+ elog "You should change this password to something more memorable (can be even blank)."
+ elog "Remember to launch init script before using manager. Or changing the password."
+ elog
+ fi
+ if use cuda; then
+ elog "To be able to use CUDA you should add boinc user to video group."
+ elog "Run as root:"
+ elog "gpasswd -a boinc video"
+ fi
+}
diff --git a/sci-misc/boinc/files/boinc-7.2.0-fix_subdirs.patch b/sci-misc/boinc/files/boinc-7.2.0-fix_subdirs.patch
new file mode 100644
index 000000000000..be0a02c30cfd
--- /dev/null
+++ b/sci-misc/boinc/files/boinc-7.2.0-fix_subdirs.patch
@@ -0,0 +1,69 @@
+ Makefile.am | 14 +++++++-------
+ configure.ac | 5 -----
+ 2 files changed, 7 insertions(+), 12 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 6322db1..45d8b67 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -10,13 +10,13 @@ ACLOCAL_AMFLAGS = -I m4
+
+ if ENABLE_LIBRARIES
+ API_SUBDIRS = api lib
+-if ENABLE_SERVER
+- API_SUBDIRS += zip
+-endif
++#if ENABLE_SERVER
++# API_SUBDIRS += zip
++#endif
+ endif
+
+ if ENABLE_SERVER
+- SERVER_SUBDIRS = db test py sched apps tools vda html
++ SERVER_SUBDIRS = db test py sched apps tools vda
+ ## once contained samples/example_app which breaks out-of-source-tree builds
+ endif
+
+@@ -26,9 +26,9 @@ endif
+
+ if ENABLE_MANAGER
+ CLIENTGUI_SUBDIRS = clientgui locale
+-if BUILD_X11_SCREENSAVER
+- CLIENTGUI_SUBDIRS += clientscr
+-endif
++#if BUILD_X11_SCREENSAVER
++# CLIENTGUI_SUBDIRS += clientscr
++#endif
+ endif
+
+ # ORDER MATTERS below. One must build dependencies FIRST, then things
+diff --git a/configure.ac b/configure.ac
+index 2bef437..5a9e104 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -955,7 +955,6 @@ AC_CONFIG_FILES([
+ apps/Makefile
+ clientgui/Makefile
+ clientgui/res/Makefile
+- clientscr/Makefile
+ client/Makefile
+ client/win/boinc_path_config.py:py/boinc_path_config.py.in
+ client/scripts/Makefile
+@@ -963,7 +962,6 @@ AC_CONFIG_FILES([
+ db/Makefile
+ doc/Makefile
+ doc/manpages/Makefile
+- html/Makefile
+ lib/Makefile
+ locale/Makefile
+ Makefile
+@@ -993,9 +991,6 @@ AC_CONFIG_FILES([
+ tools/boinc_path_config.py:py/boinc_path_config.py.in
+ tools/Makefile
+ vda/Makefile
+- zip/Makefile
+- zip/zip/Makefile
+- zip/unzip/Makefile
+ m4/Makefile
+ ])
+
diff --git a/sci-misc/boinc/files/boinc.conf b/sci-misc/boinc/files/boinc.conf
new file mode 100644
index 000000000000..0fef6ae58e37
--- /dev/null
+++ b/sci-misc/boinc/files/boinc.conf
@@ -0,0 +1,17 @@
+# Config file for /etc/init.d/boinc
+
+# Owner of BOINC process (must be existing)
+USER="boinc"
+GROUP="boinc"
+
+# Directory with runtime data: Work units, project binaries, user info etc.
+RUNTIMEDIR="/var/lib/boinc"
+
+# Location of the boinc command line binary
+BOINCBIN="/usr/bin/boinc_client"
+
+# Allow remote gui RPC yes or no
+ALLOW_REMOTE_RPC="no"
+
+# nice level
+NICELEVEL="19"
diff --git a/sci-misc/boinc/files/boinc.init b/sci-misc/boinc/files/boinc.init
new file mode 100644
index 000000000000..a350e3efd7c4
--- /dev/null
+++ b/sci-misc/boinc/files/boinc.init
@@ -0,0 +1,103 @@
+#!/sbin/runscript
+
+extra_started_commands="attach"
+
+depend() {
+ # we can use dns and net, but we can also in most cases live without them
+ use dns net ntp-client ntpd
+}
+
+create_work_directory() {
+ if [ ! -d "${RUNTIMEDIR}" ]; then
+ einfo "Directory ${RUNTIMEDIR} not existing, creating now."
+ mkdir "${RUNTIMEDIR}"
+ if [ ! -d "${RUNTIMEDIR}" ]; then
+ eeror "Directory ${RUNTIMEDIR} could not be created!"
+ return 1
+ fi
+ fi
+ if [ ! -e "${RUNTIMEDIR}"/ca-bundle.crt ] ; then
+ ln -s /etc/ssl/certs/ca-certificates.crt "${RUNTIMEDIR}"/ca-bundle.crt
+ fi
+}
+
+cuda_check() {
+ if [ -f /opt/cuda/lib/libcudart.so ]; then
+ # symlink wont harm :]
+ ln -snf /opt/cuda/lib/libcudart.so "${RUNTIMEDIR}"/libcudart.so
+ fi
+}
+
+check_baselayout() {
+ if [ "${RC_VERSION:-0}" = "0" ]; then
+ eerror "This script cannot be used for baselayout-1."
+ return 1
+ fi
+}
+
+start() {
+ check_baselayout || return 1
+ create_work_directory || return 1
+ cuda_check
+
+ # always ensure proper ownership
+ chown -R "${USER}:${GROUP}" "${RUNTIMEDIR}"
+
+ if [ ! -f "${RUNTIMEDIR}/lockfile" ]; then
+ einfo "File \"${RUNTIMEDIR}/lockfile\" does not exist, assuming first run."
+ einfo "You need to setup an account on the BOINC project homepage beforehand!"
+ einfo "Go to http://boinc.berkeley.edu/ and locate your project."
+ einfo "Then either run /etc/init.d/boinc attach or connect with a gui client"
+ einfo "and attach to a project with that."
+ echo
+ ewarn "Note that for attaching to some project you need your network up and running."
+ ewarn "network is needed only for jobs fetching afterwards"
+ fi
+
+ if [ "${ALLOW_REMOTE_RPC}" = "yes" ]; then
+ ARGS="${ARGS} --allow_remote_gui_rpc"
+ fi
+
+ ebegin "Starting ${SVCNAME}"
+ su -m ${USER} -c "nice -n ${NICELEVEL} \"${BOINCBIN}\" ${ARGS} --daemon --dir \"${RUNTIMEDIR}\" --redirectio"
+ eend $?
+}
+
+attach() {
+ local password url key
+
+ einfo "If you cant find your account key just try to obtain it by using:"
+ einfo " boinccmd --passwd PASSWORD_FROM_GUI_RPC_AUTH --lookup_account URL EMAIL PASSWORD"
+
+ printf " Enter the Project URL: "
+ read url
+ printf " Enter your Account Key: "
+ read key
+
+ if ! service_started; then
+ "${RC_SERVICE}" start
+ fi
+
+ password=$(cat "${RUNTIMEDIR}/gui_rpc_auth.cfg")
+
+ ebegin "${SVCNAME}: Attaching to project"
+ su -m ${USER} -c "boinccmd --passwd \"${password}\" --project_attach ${url} ${key}"
+ eend $?
+
+ unset password url key
+
+ sleep 10
+ tail "${RUNTIMEDIR}/stdoutdae.txt"
+}
+
+stop() {
+ local password
+
+ password=$(cat "${RUNTIMEDIR}/gui_rpc_auth.cfg")
+
+ ebegin "Stopping ${SVCNAME}"
+ su -m ${USER} -c "boinccmd --passwd \"${password}\" --quit"
+ eend $?
+
+ unset password
+}
diff --git a/sci-misc/boinc/files/boinc.service b/sci-misc/boinc/files/boinc.service
new file mode 100644
index 000000000000..af8edf4d5041
--- /dev/null
+++ b/sci-misc/boinc/files/boinc.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=BOINC Daemon
+
+[Service]
+User=boinc
+Group=boinc
+Nice=19
+ExecStart=/usr/bin/boinc_client --dir /var/lib/boinc --redirectio
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sci-misc/boinc/files/generate_tarball.sh b/sci-misc/boinc/files/generate_tarball.sh
new file mode 100644
index 000000000000..eb98b46c39ff
--- /dev/null
+++ b/sci-misc/boinc/files/generate_tarball.sh
@@ -0,0 +1,103 @@
+#!/usr/bin/env bash
+## $Id$
+## Modified by scarabeus 2008-10-23
+###############################################################################
+# functions
+###############################################################################
+# print out help function
+help() {
+ echo "Welcome to Boinc tarball generator"
+ echo
+ echo "For correct usage set VERSION argument"
+ echo "Example:"
+ echo "$0 -v 6.1.1"
+ exit 0
+}
+###############################################################################
+# argument passing
+###############################################################################
+if [[ $1 == "--help" ]]; then
+ help
+fi
+while getopts v: arg ; do
+ case $arg in
+ v) VERSION=${OPTARG};;
+ *) help;;
+ esac
+done
+if [ -z "${VERSION}" ]; then
+ help
+fi
+###############################################################################
+# variable definition
+###############################################################################
+GIT_URI="git://boinc.berkeley.edu/boinc-v2.git"
+PACKAGE="boinc-${VERSION}"
+BUNDLE_PREFIX="boinc-dist"
+LOG=linux.log
+###############################################################################
+# prepare enviroment
+###############################################################################
+mkdir ${BUNDLE_PREFIX} -p
+rm -rf "${BUNDLE_PREFIX}"/* # CLEANUP
+cd "${BUNDLE_PREFIX}"
+touch "${LOG}"
+echo "" > "${LOG}" # LOG CLEANUP
+###############################################################################
+# get data from GIT
+###############################################################################
+echo "<Downloading files from GIT repository>"
+echo "<******************************>"
+# No direct archive possible
+git clone ${GIT_URI} ${PACKAGE} >> "${LOG}"
+pushd "${PACKAGE}" > /dev/null
+git checkout -b gentoo client_release/${VERSION%.*}/${VERSION} || exit 0
+popd > /dev/null
+###############################################################################
+# cleanup files we fetched
+###############################################################################
+echo "<Cleaning up data we fetched>"
+echo "<******************************>"
+pushd "${PACKAGE}" > /dev/null
+
+# First remove NON Linux stuff we will not use
+rm -rf mac_installer/ # mac installer scripts
+rm -rf clientgui/mac/ # mac windows
+rm -rf clientscr/ # windows screensaver
+rm -rf clienttray/ # windows systray
+rm -rf win_build/ # windows build stuff
+rm -rf clientlib/ # only windows stuff
+rm -rf client/os2/ # OS2 stuff
+rm -rf client/win/ # windows stuff
+rm -rf mac_build/ # mac build scripts
+rm -rf RSAEuro/ # empty folder
+rm -rf html/ # webpages WTF?
+
+
+# BUNDLED STUFF NEEDED REMOVAL
+rm -rf coprocs/ # CUDA
+rm -rf curl/
+#rm -rf locale/*/*.mo # translations should be generated on user machines
+# Actualy they dont generate them
+rm -rf zlib/
+rm -rf zip/
+rm -rf openssl/
+
+git commit -a -m "Cleaned"
+
+popd > /dev/null
+
+###############################################################################
+# create tbz
+###############################################################################
+git archive --prefix=${PACKAGE}/ --remote=${PACKAGE} gentoo -o ${PACKAGE}.tar
+xz -ve9 "${PACKAGE}".tar | tee -a "${LOG}"
+find ./ -maxdepth 1 -type f -name \*.tar.xz -print | while read FILE ; do
+ echo "FILE: ${FILE}"
+ echo " SIZE: $(`which du` -h ${FILE} |`which awk` -F' ' '{print $1}')"
+ echo " MD5SUM: $(`which md5sum` ${FILE} |`which awk` -F' ' '{print $1}')"
+ echo " SHA1SUM: $(`which sha1sum` ${FILE} |`which awk` -F' ' '{print $1}')"
+ echo
+done
+echo "<<<All done>>>"
+###############################################################################
diff --git a/sci-misc/boinc/metadata.xml b/sci-misc/boinc/metadata.xml
new file mode 100644
index 000000000000..587dfa1190b9
--- /dev/null
+++ b/sci-misc/boinc/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ BOINC (Berkeley Open Infrastructure for Network Computing) is a software
+ platform for distributed computing using volunteered computer resources.
+</longdescription>
+ <use>
+ <flag name="cuda">
+ Use nvidia cuda toolkit for speeding up computations.
+ NOTE: works only for subset of nvidia graphic cards so make sure your card
+ is supported before opening bug about it.
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="github">BOINC/boinc</remote-id>
+ </upstream>
+</pkgmetadata>