summaryrefslogtreecommitdiff
path: root/sci-misc/boinc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sci-misc/boinc
reinit the tree, so we can have metadata
Diffstat (limited to 'sci-misc/boinc')
-rw-r--r--sci-misc/boinc/Manifest16
-rw-r--r--sci-misc/boinc/boinc-7.2.47.ebuild175
-rw-r--r--sci-misc/boinc/boinc-7.4.52-r6.ebuild180
-rw-r--r--sci-misc/boinc/boinc-7.6.33-r6.ebuild181
-rw-r--r--sci-misc/boinc/boinc-7.8.1.ebuild181
-rw-r--r--sci-misc/boinc/files/boinc.conf23
-rw-r--r--sci-misc/boinc/files/boinc.init.in254
-rw-r--r--sci-misc/boinc/files/boinc.service11
-rw-r--r--sci-misc/boinc/files/fix_webview.patch11
-rw-r--r--sci-misc/boinc/metadata.xml27
10 files changed, 1059 insertions, 0 deletions
diff --git a/sci-misc/boinc/Manifest b/sci-misc/boinc/Manifest
new file mode 100644
index 000000000000..0f1b88961c05
--- /dev/null
+++ b/sci-misc/boinc/Manifest
@@ -0,0 +1,16 @@
+AUX boinc.conf 524 SHA256 ed42b285adc35b8d2d5e5aeac934e63e36e67e99036978d05e48deccaf3042b8 SHA512 60091e8ff96a07fd9bf508cb295f97be280a4c64d0dbefb88414c86bb193ead72c25dd085d20105b616be5e94dfd5aaf3f5b35fa6b6ce2adf09e38996f1f67b0 WHIRLPOOL 89dab4bc8e7d65cd47a8b8376adef273c91e66e99ba0e65b932ae596db31108ba1c8d7e7ddc558b2df95dfead05962d0968bc4b8dfd0c6b659b88b9925ae0645
+AUX boinc.init.in 6144 SHA256 c8d6daacb06c3be6eed1afbd942384ecf0aa98d78fd23fc44e3f008f49404c5d SHA512 be57013b24d4cf7a140890d70e08f8113560a88c000c7f42ea0da0c4d6b5207a25f10fb08cb3f42ec02ea8d0697e2e108e8a4f2276b30554197b214a70f98697 WHIRLPOOL bbbb95bb55a84cfca74d2b21434066849aebdca9c3713934fbacd8d50d511bf8a3211b91f53cf1164cd0149045f018873da32778b8f7443f5f80dfbe32bc4bff
+AUX boinc.service 178 SHA256 3bcd2bdc65f7b6d9f568eeb63f54e7beaa2f0681f34bfd2d486cfd212fced105 SHA512 86a59b9096b19e6472781cb2a7229dd0540569666bcb5bedd83371e6264f1d6bee70e8b47216e1a5b6462726dcd3b54d86ba8de4478faab6c1792071b76abaf9 WHIRLPOOL 1c34aef20a8cdc0cb50a5b25c759cf622488dd2749945317f9f162a1ef1e8189b1f1069ea7be78528d1ee6454945f02f859b02359381e1d27240b796c5c0a85b
+AUX fix_webview.patch 413 SHA256 829baa79e1e423df39ec732aa0b5ecfa623af1fd70bfc1b55cf1451cb0d1288b SHA512 71f34c4211b28dfdf6837bee64cbf966abf4129109b23a8d05af1d5c3a9f7a5026aa7d88df9a7a646337ee8cad53f42235b9a5a8e43d3074def4c9319c8fb785 WHIRLPOOL 1257e014523ed3a0d80195823ace577e3c581fd0794c5ca684e078fbbf4d9f3fe6c16f5a31f8faa066269dbb5ef643c5cb04e0d80eddee3673b6af68200f1cc9
+DIST boinc-7.2.47.tar.gz 45121528 SHA256 2b06d0bbff2aae52645db124052ba1b749c38261e9b9f006fc9b5d00b35c2141 SHA512 25d44c5db8533367bdf960f76c52bb6f1763110843be3616b822dbc2d0d1aea2837052f041c04e0336f3371449a96562740f484969b73e26c0f5b20407c74e14 WHIRLPOOL 9b6ad2d776dd0ab506af25df576b098988a12649da6d4deef6505c7e2284062d494293f5b9b9ddb44cce131819112b705e7658cd1473ca5889fed6f9a0b7e306
+DIST boinc-7.4.52.tar.gz 44146597 SHA256 b1a53a845c3f9e727d2b3017b266438fd346d73b06c5b0b371e689e803ef0b02 SHA512 09743401e204b4af1e2fb5a594a4cb024b5270b80e69a82cf67eb5e648b14b348a3f7f3b45128667e3ba4ef5f85bc3206606276a91a3497a1a3e7f775f1df006 WHIRLPOOL 27f29ac83a6494943c55f89bbdca8cbbbdd469ab1bf389c6772423e7eb0aaf4e4650a4a883ad45a99f97aa32fb3d598c926ae06a5f8ceae30a415e41fb3dd9e1
+DIST boinc-7.6.33.tar.gz 43569061 SHA256 dd2bee1f0ee734961a24f4edfb9f45efa4bd6d7351f5bd5f715a822245ac4353 SHA512 dc374b4dcfbe4cc1b75274ba651ee8bb7da1223263bd71d9589eeee39330b09757a9c8c22da43d06126cf444933c01814775d234294a5d4c00dc31a7ec27895b WHIRLPOOL 15221749191abf7fe28091f2b916c896fd9101e23ff3e711fa4bd9d925f00fb58d14345c656ad0fe5988eba5f22f2671fc6fc748f39615eeba1aab08cc8619cb
+DIST boinc-7.8.1.tar.gz 52056850 SHA256 6c9668bf2240b4d4e96ee5955b91d474011ec62414434de2d4f170e3ecb7bd6d SHA512 32a30f19dd6b7e6b6050de9952091c2a60e27f4891542f70a449a7d7af347d9b0eecae4501bfb7465f453d1bbe321369f911be74b882384aa5216db3bf569656 WHIRLPOOL 3fee0f50d96e6a4ddd5f0c6b7976658e92358ae73c1169f403495a42f3758398d3ba5d868ec433519ded3f65f01a50325a6f24ae5fbfddf8f63201e246e32980
+DIST boinc.tif 288208 SHA256 5c14c65a7531e1dc3f7f7c18ef86eb0e27726527cb835967aed8b0d003eb564a SHA512 548e19b87fd70dbeb05687320b86aad39981c161b5b5b7e02fc3ce886d4c464c9bb763d5652d9895dd505ce247c7ff4490caa3d407e28f54ce889ffbab22d046 WHIRLPOOL 6a6cace44c8483000cda787da39006db521fd9408539f8abca2c2ab913371405b97719af0518acd2f5239451a9605d0f6d67a40fdb14cb49a03a42a7a44a4c86
+EBUILD boinc-7.2.47.ebuild 5422 SHA256 e358dc7707fc377f98e4d80c48c651b59eaeb2d7cb479229944ca7a5f910ee4e SHA512 38a67fa8c2307f95179a4adc037f942595b7c8b86039c0669db258f0a5ba31be34251278fca18e57e7dbb08d6e4984d9c562e5beca8721776f3da57befa39941 WHIRLPOOL 3ee2b11e5bfeba1e03643699c99f4bd3b57b069d965f3f0926245c197183caa9428149a925805f5653e63be5d1bec0aac1217b667b7fcb71150fa05af5d174bc
+EBUILD boinc-7.4.52-r6.ebuild 5538 SHA256 dbeae452f9f100cedb45031c4c368ae8b9a520683d4fe8c63556e248c71d795b SHA512 141187ee0c3b1e57b993eedfd24abf8d7ab7e11ccb8959556328255a38c51db401f67a28b10a7174508d72c8293f3f910dec5c09f0ce01ba99ec7468cd4228c6 WHIRLPOOL 4cf797aa9bcdce629c41767dd1c1d044cb931e2d31eca560a281343d02b84e54713f73fdaccf1b36f3ad395bd82ee14b40d62df251c2daa47b1ef076d90b21b2
+EBUILD boinc-7.6.33-r6.ebuild 5545 SHA256 510c1f926930a0173c66aaa89c1d90065538faa8262d5ff33175ef05bb522459 SHA512 43a17a1ec145b9547c102506280ee116d110162290df1bbe8359122a86602d37502e3f0cf94836b7d98124b5e51f643aac4d269d47ed9f728d8e7f258e343e0a WHIRLPOOL af17d2eead45955b49cb5ae1d1d7e4a3457b80bbe14a5079330aeaa473b2626e428cc4d4ab4f9bf3358216ee801ee1b0ce431aeabfca1255d77c6ade223f4e71
+EBUILD boinc-7.8.1.ebuild 5545 SHA256 510c1f926930a0173c66aaa89c1d90065538faa8262d5ff33175ef05bb522459 SHA512 43a17a1ec145b9547c102506280ee116d110162290df1bbe8359122a86602d37502e3f0cf94836b7d98124b5e51f643aac4d269d47ed9f728d8e7f258e343e0a WHIRLPOOL af17d2eead45955b49cb5ae1d1d7e4a3457b80bbe14a5079330aeaa473b2626e428cc4d4ab4f9bf3358216ee801ee1b0ce431aeabfca1255d77c6ade223f4e71
+MISC ChangeLog 13736 SHA256 0ec51bf8d69bfd100be0e714ef223ae7aeee5234065523ee4e9eedd8f2928fde SHA512 dd3cd838d53444e8278e0b2c2bf94d3b6da12da3c0eccc21bcda4f380bfd924f0f7d7f5a9800bd32f1a621b3ac8cf76d739e14f288149f14b72f7a79af2bafa0 WHIRLPOOL 5b1756746da994dd6f75c0a61d714e17696c83708c39c38644a4314a57ca0f407aaea6976331b66024e892f1277097cf3c97dd9a64fe41c0083436b8cc92d25c
+MISC ChangeLog-2015 21036 SHA256 25d01b170cfc019bc7ecaf5d524d7c353fc55aa98ddb79c2b245df99fc741fca SHA512 5946fb7fdac08f702254d734165d2157bb48c7e3aaf14097aa678d1a565bcfd714d8563f3863ff84a0ded05977853fb29f9a083e42ef540bfd94966f616db2fd WHIRLPOOL 580fd13c28f85c517b41ec5b1995dbe49080760fbb02326e9e30531e2d5b2b67caa1e5c30922c930ef5bbcfdaf3f449099e8d65bf6d7d68305ba69fa19655dc5
+MISC metadata.xml 956 SHA256 9eb4b9accf700bd9c706fecb52b33b8238dceb805053e44e69c3698d2c20fc16 SHA512 383b00c559f1144fe8288406d085f4894e11a0067260d5ba6c38ca498db73e83b59d0ba9073b57abe5cc88ea6c8e82685f692d92523ac9beef359a5d0926803f WHIRLPOOL b86cb2636d0b8650d4850bea0263730bf5ec95c34f596e91c52662ff55a6ff5e4ee67700a2fa660ace1129a6842222b632fe791ef63a1f5fa2b638c409b917d4
diff --git a/sci-misc/boinc/boinc-7.2.47.ebuild b/sci-misc/boinc/boinc-7.2.47.ebuild
new file mode 100644
index 000000000000..a5b8a0a8c2dc
--- /dev/null
+++ b/sci-misc/boinc/boinc-7.2.47.ebuild
@@ -0,0 +1,175 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+WX_GTK_VER=2.8
+
+inherit autotools eutils linux-info 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
+ X? ( http://boinc.berkeley.edu/logo/boinc_glossy2_512_F.tif -> ${PN}.tif )"
+RESTRICT="mirror"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="X cuda curl_ssl_gnutls curl_ssl_libressl +curl_ssl_openssl static-libs"
+
+REQUIRED_USE="^^ ( curl_ssl_gnutls curl_ssl_libressl curl_ssl_openssl ) "
+
+# libcurl must not be using an ssl backend boinc does not support.
+# If the libcurl ssl backend changes, boinc should be recompiled.
+RDEPEND="
+ !sci-misc/boinc-bin
+ !app-admin/quickswitch
+ >=app-misc/ca-certificates-20080809
+ net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_libressl(-)=,-curl_ssl_nss(-),curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-)]
+ 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:${WX_GTK_VER}[X,opengl]
+ )
+"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ app-text/docbook-xml-dtd:4.4
+ app-text/docbook2X
+ X? ( virtual/imagemagick-tools[png,tiff] )
+"
+
+S="${WORKDIR}/${PN}-client_release-${MY_PV}-${PV}"
+
+pkg_setup() {
+ # Bug 578750
+ if use kernel_linux; then
+ linux-info_pkg_setup
+ if ! linux_config_exists; then
+ ewarn "Can't check the linux kernel configuration."
+ ewarn "You might be missing vsyscall support."
+ elif kernel_is -ge 4 4 \
+ && linux_chkconfig_present LEGACY_VSYSCALL_NONE; then
+ ewarn "You do not have vsyscall emulation enabled."
+ ewarn "This will prevent some boinc projects from running."
+ ewarn "Please enable vsyscall emulation:"
+ ewarn " CONFIG_LEGACY_VSYSCALL_EMULATE=y"
+ ewarn "in /usr/src/linux/.config, to be found at"
+ ewarn " Processor type and features --->"
+ ewarn " vsyscall table for legacy applications (None) --->"
+ ewarn " (X) Emulate"
+ ewarn "Alternatively, you can enable CONFIG_LEGACY_VSYSCALL_NATIVE."
+ ewarn "However, this has security implications and is not recommended."
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+
+ # prevent bad changes in compile flags, bug 286701
+ sed -i -e "s:BOINC_SET_COMPILE_FLAGS::" configure.ac || die "sed failed"
+
+ eautoreconf
+
+ use X && need-wxwidgets unicode
+}
+
+src_configure() {
+ econf --disable-server \
+ --enable-client \
+ --enable-dynamic-client-linkage \
+ --disable-static \
+ --enable-unicode \
+ --with-ssl \
+ $(use_with X x) \
+ $(use_enable X manager) \
+ $(usex X --with-wx-config="${WX_CONFIG}" --without-wxdir)
+}
+
+src_install() {
+ default
+
+ keepdir /var/lib/${PN}
+
+ if use X; then
+ # Create new icons. bug 593362
+ local s SIZES=(16 22 24 32 36 48 64 72 96 128 192 256)
+ for s in "${SIZES[@]}"; do
+ convert "${DISTDIR}"/${PN}.tif -resize ${s}x${s} "${WORKDIR}"/boinc_${s}.png || die
+ newicon -s $s "${WORKDIR}"/boinc_${s}.png boinc.png
+ done
+ make_desktop_entry boincmgr "${PN}" "${PN}" "Math;Science" "Path=/var/lib/${PN}"
+
+ # Rename the desktop file to boincmgr.desktop to (hot)fix bug 599910
+ mv "${ED%/}"/usr/share/applications/boincmgr{-${PN},}.desktop || \
+ die "Failed to rename desktop file"
+ fi
+
+ # cleanup cruft
+ rm -rf "${ED%/}"/etc || die "rm failed"
+
+ sed -e "s/@libdir@/$(get_libdir)/" "${FILESDIR}"/${PN}.init.in > ${PN}.init || die
+ newinitd ${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
+ groups+=",video"
+ fi
+ enewuser ${PN} -1 -1 /var/lib/${PN} "${groups}"
+}
+
+pkg_postinst() {
+ elog
+ 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
+ # Add information about BOINC supporting OpenCL
+ elog "BOINC supports OpenCL. To use it you have to eselect"
+ if use cuda; then
+ elog "nvidia as the OpenCL implementation, as you are using CUDA."
+ else
+ elog "the correct OpenCL implementation for your graphic card."
+ fi
+ elog
+}
diff --git a/sci-misc/boinc/boinc-7.4.52-r6.ebuild b/sci-misc/boinc/boinc-7.4.52-r6.ebuild
new file mode 100644
index 000000000000..55454c00e456
--- /dev/null
+++ b/sci-misc/boinc/boinc-7.4.52-r6.ebuild
@@ -0,0 +1,180 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+WX_GTK_VER=3.0
+
+inherit autotools eutils linux-info 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
+ X? ( http://boinc.berkeley.edu/logo/boinc_glossy2_512_F.tif -> ${PN}.tif )"
+RESTRICT="mirror"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="X cuda curl_ssl_gnutls curl_ssl_libressl +curl_ssl_openssl static-libs"
+
+REQUIRED_USE="^^ ( curl_ssl_gnutls curl_ssl_libressl curl_ssl_openssl ) "
+
+# libcurl must not be using an ssl backend boinc does not support.
+# If the libcurl ssl backend changes, boinc should be recompiled.
+RDEPEND="
+ !sci-misc/boinc-bin
+ !app-admin/quickswitch
+ >=app-misc/ca-certificates-20080809
+ net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_libressl(-)=,-curl_ssl_nss(-),curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-)]
+ 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:${WX_GTK_VER}[X,opengl,webkit]
+ )
+"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ app-text/docbook-xml-dtd:4.4
+ app-text/docbook2X
+ X? ( virtual/imagemagick-tools[png,tiff] )
+"
+
+PATCHES=(
+ # >=x11-libs/wxGTK-3.0.2.0-r3 has webview removed, bug 587462
+ "${FILESDIR}"/fix_webview.patch
+)
+
+S="${WORKDIR}/${PN}-client_release-${MY_PV}-${PV}"
+
+pkg_setup() {
+ # Bug 578750
+ if use kernel_linux; then
+ linux-info_pkg_setup
+ if ! linux_config_exists; then
+ ewarn "Can't check the linux kernel configuration."
+ ewarn "You might be missing vsyscall support."
+ elif kernel_is -ge 4 4 \
+ && linux_chkconfig_present LEGACY_VSYSCALL_NONE; then
+ ewarn "You do not have vsyscall emulation enabled."
+ ewarn "This will prevent some boinc projects from running."
+ ewarn "Please enable vsyscall emulation:"
+ ewarn " CONFIG_LEGACY_VSYSCALL_EMULATE=y"
+ ewarn "in /usr/src/linux/.config, to be found at"
+ ewarn " Processor type and features --->"
+ ewarn " vsyscall table for legacy applications (None) --->"
+ ewarn " (X) Emulate"
+ ewarn "Alternatively, you can enable CONFIG_LEGACY_VSYSCALL_NATIVE."
+ ewarn "However, this has security implications and is not recommended."
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+
+ # prevent bad changes in compile flags, bug 286701
+ sed -i -e "s:BOINC_SET_COMPILE_FLAGS::" configure.ac || die "sed failed"
+
+ eautoreconf
+
+ use X && need-wxwidgets unicode
+}
+
+src_configure() {
+ econf --disable-server \
+ --enable-client \
+ --enable-dynamic-client-linkage \
+ --disable-static \
+ --enable-unicode \
+ --with-ssl \
+ $(use_with X x) \
+ $(use_enable X manager) \
+ $(usex X --with-wx-config="${WX_CONFIG}" --without-wxdir)
+}
+
+src_install() {
+ default
+
+ keepdir /var/lib/${PN}
+
+ if use X; then
+ # Create new icons. bug 593362
+ local s SIZES=(16 22 24 32 36 48 64 72 96 128 192 256)
+ for s in "${SIZES[@]}"; do
+ convert "${DISTDIR}"/${PN}.tif -resize ${s}x${s} "${WORKDIR}"/boinc_${s}.png || die
+ newicon -s $s "${WORKDIR}"/boinc_${s}.png boinc.png
+ done
+ make_desktop_entry boincmgr "${PN}" "${PN}" "Math;Science" "Path=/var/lib/${PN}"
+
+ # Rename the desktop file to boincmgr.desktop to (hot)fix bug 599910
+ mv "${ED%/}"/usr/share/applications/boincmgr{-${PN},}.desktop || \
+ die "Failed to rename desktop file"
+ fi
+
+ # cleanup cruft
+ rm -rf "${ED%/}"/etc || die "rm failed"
+
+ sed -e "s/@libdir@/$(get_libdir)/" "${FILESDIR}"/${PN}.init.in > ${PN}.init || die
+ newinitd ${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
+ groups+=",video"
+ fi
+ enewuser ${PN} -1 -1 /var/lib/${PN} "${groups}"
+}
+
+pkg_postinst() {
+ elog
+ 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
+ # Add information about BOINC supporting OpenCL
+ elog "BOINC supports OpenCL. To use it you have to eselect"
+ if use cuda; then
+ elog "nvidia as the OpenCL implementation, as you are using CUDA."
+ else
+ elog "the correct OpenCL implementation for your graphic card."
+ fi
+ elog
+}
diff --git a/sci-misc/boinc/boinc-7.6.33-r6.ebuild b/sci-misc/boinc/boinc-7.6.33-r6.ebuild
new file mode 100644
index 000000000000..59a13dfeba92
--- /dev/null
+++ b/sci-misc/boinc/boinc-7.6.33-r6.ebuild
@@ -0,0 +1,181 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+WX_GTK_VER=3.0
+
+inherit autotools eutils linux-info 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
+ X? ( http://boinc.berkeley.edu/logo/boinc_glossy2_512_F.tif -> ${PN}.tif )"
+RESTRICT="mirror"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="X cuda curl_ssl_gnutls curl_ssl_libressl +curl_ssl_openssl static-libs"
+
+REQUIRED_USE="^^ ( curl_ssl_gnutls curl_ssl_libressl curl_ssl_openssl ) "
+
+# libcurl must not be using an ssl backend boinc does not support.
+# If the libcurl ssl backend changes, boinc should be recompiled.
+RDEPEND="
+ !sci-misc/boinc-bin
+ !app-admin/quickswitch
+ >=app-misc/ca-certificates-20080809
+ net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_libressl(-)=,-curl_ssl_nss(-),curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-)]
+ 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:${WX_GTK_VER}[X,opengl,webkit]
+ )
+"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ app-text/docbook-xml-dtd:4.4
+ app-text/docbook2X
+ X? ( virtual/imagemagick-tools[png,tiff] )
+"
+
+PATCHES=(
+ # >=x11-libs/wxGTK-3.0.2.0-r3 has webview removed, bug 587462
+ "${FILESDIR}"/fix_webview.patch
+)
+
+S="${WORKDIR}/${PN}-client_release-${MY_PV}-${PV}"
+
+pkg_setup() {
+ # Bug 578750
+ if use kernel_linux; then
+ linux-info_pkg_setup
+ if ! linux_config_exists; then
+ ewarn "Can't check the linux kernel configuration."
+ ewarn "You might be missing vsyscall support."
+ elif kernel_is -ge 4 4 \
+ && linux_chkconfig_present LEGACY_VSYSCALL_NONE; then
+ ewarn "You do not have vsyscall emulation enabled."
+ ewarn "This will prevent some boinc projects from running."
+ ewarn "Please enable vsyscall emulation:"
+ ewarn " CONFIG_LEGACY_VSYSCALL_EMULATE=y"
+ ewarn "in /usr/src/linux/.config, to be found at"
+ ewarn " Processor type and features --->"
+ ewarn " vsyscall table for legacy applications (None) --->"
+ ewarn " (X) Emulate"
+ ewarn "Alternatively, you can enable CONFIG_LEGACY_VSYSCALL_NATIVE."
+ ewarn "However, this has security implications and is not recommended."
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+
+ # prevent bad changes in compile flags, bug 286701
+ sed -i -e "s:BOINC_SET_COMPILE_FLAGS::" configure.ac || die "sed failed"
+
+ eautoreconf
+
+ use X && need-wxwidgets unicode
+}
+
+src_configure() {
+ econf --disable-server \
+ --enable-client \
+ --enable-dynamic-client-linkage \
+ --disable-static \
+ --enable-unicode \
+ --with-ssl \
+ $(use_with X x) \
+ $(use_enable X manager) \
+ $(usex X --with-wx-config="${WX_CONFIG}" --without-wxdir)
+}
+
+src_install() {
+ default
+
+ keepdir /var/lib/${PN}
+
+ if use X; then
+ # Create new icons. bug 593362
+ local s SIZES=(16 22 24 32 36 48 64 72 96 128 192 256)
+ for s in "${SIZES[@]}"; do
+ convert "${DISTDIR}"/${PN}.tif -resize ${s}x${s} "${WORKDIR}"/boinc_${s}.png || die
+ newicon -s $s "${WORKDIR}"/boinc_${s}.png boinc.png
+ done
+ make_desktop_entry boincmgr "${PN}" "${PN}" "Math;Science" "Path=/var/lib/${PN}"
+
+ # Rename the desktop file to boincmgr.desktop to (hot)fix bug 599910
+ mv "${ED%/}"/usr/share/applications/boincmgr{-${PN},}.desktop || \
+ die "Failed to rename desktop file"
+ fi
+
+ # cleanup cruft
+ rm -rf "${ED%/}"/etc || die "rm failed"
+
+ sed -e "s/@libdir@/$(get_libdir)/" "${FILESDIR}"/${PN}.init.in > ${PN}.init || die
+ newinitd ${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
+ groups+=",video"
+ fi
+ enewuser ${PN} -1 -1 /var/lib/${PN} "${groups}"
+}
+
+pkg_postinst() {
+ elog
+ 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"
+ elog
+ fi
+ # Add information about BOINC supporting OpenCL
+ elog "BOINC supports OpenCL. To use it you have to eselect"
+ if use cuda; then
+ elog "nvidia as the OpenCL implementation, as you are using CUDA."
+ else
+ elog "the correct OpenCL implementation for your graphic card."
+ fi
+ elog
+}
diff --git a/sci-misc/boinc/boinc-7.8.1.ebuild b/sci-misc/boinc/boinc-7.8.1.ebuild
new file mode 100644
index 000000000000..59a13dfeba92
--- /dev/null
+++ b/sci-misc/boinc/boinc-7.8.1.ebuild
@@ -0,0 +1,181 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+WX_GTK_VER=3.0
+
+inherit autotools eutils linux-info 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
+ X? ( http://boinc.berkeley.edu/logo/boinc_glossy2_512_F.tif -> ${PN}.tif )"
+RESTRICT="mirror"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="X cuda curl_ssl_gnutls curl_ssl_libressl +curl_ssl_openssl static-libs"
+
+REQUIRED_USE="^^ ( curl_ssl_gnutls curl_ssl_libressl curl_ssl_openssl ) "
+
+# libcurl must not be using an ssl backend boinc does not support.
+# If the libcurl ssl backend changes, boinc should be recompiled.
+RDEPEND="
+ !sci-misc/boinc-bin
+ !app-admin/quickswitch
+ >=app-misc/ca-certificates-20080809
+ net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_libressl(-)=,-curl_ssl_nss(-),curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-)]
+ 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:${WX_GTK_VER}[X,opengl,webkit]
+ )
+"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ app-text/docbook-xml-dtd:4.4
+ app-text/docbook2X
+ X? ( virtual/imagemagick-tools[png,tiff] )
+"
+
+PATCHES=(
+ # >=x11-libs/wxGTK-3.0.2.0-r3 has webview removed, bug 587462
+ "${FILESDIR}"/fix_webview.patch
+)
+
+S="${WORKDIR}/${PN}-client_release-${MY_PV}-${PV}"
+
+pkg_setup() {
+ # Bug 578750
+ if use kernel_linux; then
+ linux-info_pkg_setup
+ if ! linux_config_exists; then
+ ewarn "Can't check the linux kernel configuration."
+ ewarn "You might be missing vsyscall support."
+ elif kernel_is -ge 4 4 \
+ && linux_chkconfig_present LEGACY_VSYSCALL_NONE; then
+ ewarn "You do not have vsyscall emulation enabled."
+ ewarn "This will prevent some boinc projects from running."
+ ewarn "Please enable vsyscall emulation:"
+ ewarn " CONFIG_LEGACY_VSYSCALL_EMULATE=y"
+ ewarn "in /usr/src/linux/.config, to be found at"
+ ewarn " Processor type and features --->"
+ ewarn " vsyscall table for legacy applications (None) --->"
+ ewarn " (X) Emulate"
+ ewarn "Alternatively, you can enable CONFIG_LEGACY_VSYSCALL_NATIVE."
+ ewarn "However, this has security implications and is not recommended."
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+
+ # prevent bad changes in compile flags, bug 286701
+ sed -i -e "s:BOINC_SET_COMPILE_FLAGS::" configure.ac || die "sed failed"
+
+ eautoreconf
+
+ use X && need-wxwidgets unicode
+}
+
+src_configure() {
+ econf --disable-server \
+ --enable-client \
+ --enable-dynamic-client-linkage \
+ --disable-static \
+ --enable-unicode \
+ --with-ssl \
+ $(use_with X x) \
+ $(use_enable X manager) \
+ $(usex X --with-wx-config="${WX_CONFIG}" --without-wxdir)
+}
+
+src_install() {
+ default
+
+ keepdir /var/lib/${PN}
+
+ if use X; then
+ # Create new icons. bug 593362
+ local s SIZES=(16 22 24 32 36 48 64 72 96 128 192 256)
+ for s in "${SIZES[@]}"; do
+ convert "${DISTDIR}"/${PN}.tif -resize ${s}x${s} "${WORKDIR}"/boinc_${s}.png || die
+ newicon -s $s "${WORKDIR}"/boinc_${s}.png boinc.png
+ done
+ make_desktop_entry boincmgr "${PN}" "${PN}" "Math;Science" "Path=/var/lib/${PN}"
+
+ # Rename the desktop file to boincmgr.desktop to (hot)fix bug 599910
+ mv "${ED%/}"/usr/share/applications/boincmgr{-${PN},}.desktop || \
+ die "Failed to rename desktop file"
+ fi
+
+ # cleanup cruft
+ rm -rf "${ED%/}"/etc || die "rm failed"
+
+ sed -e "s/@libdir@/$(get_libdir)/" "${FILESDIR}"/${PN}.init.in > ${PN}.init || die
+ newinitd ${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
+ groups+=",video"
+ fi
+ enewuser ${PN} -1 -1 /var/lib/${PN} "${groups}"
+}
+
+pkg_postinst() {
+ elog
+ 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"
+ elog
+ fi
+ # Add information about BOINC supporting OpenCL
+ elog "BOINC supports OpenCL. To use it you have to eselect"
+ if use cuda; then
+ elog "nvidia as the OpenCL implementation, as you are using CUDA."
+ else
+ elog "the correct OpenCL implementation for your graphic card."
+ fi
+ elog
+}
diff --git a/sci-misc/boinc/files/boinc.conf b/sci-misc/boinc/files/boinc.conf
new file mode 100644
index 000000000000..22fcca0d3001
--- /dev/null
+++ b/sci-misc/boinc/files/boinc.conf
@@ -0,0 +1,23 @@
+# 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"
+
+# Location of the boinc_client pid file
+BOINC_PIDFILE="/var/run/boinc_client.pid"
+
+# Location of the boinccmd command
+BOINCCMD="/usr/bin/boinccmd"
+
+# Allow remote gui RPC yes or no
+ALLOW_REMOTE_RPC="no"
+
+# nice level
+NICELEVEL="19"
diff --git a/sci-misc/boinc/files/boinc.init.in b/sci-misc/boinc/files/boinc.init.in
new file mode 100644
index 000000000000..b46a06e3d384
--- /dev/null
+++ b/sci-misc/boinc/files/boinc.init.in
@@ -0,0 +1,254 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_started_commands="attach resume suspend"
+
+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() {
+ local sslcrt="/etc/ssl/certs/ca-certificates.crt"
+
+ if [ ! -d "${RUNTIMEDIR}" ]; then
+ einfo "Directory ${RUNTIMEDIR} does not exist, creating now."
+ if ! mkdir -p "${RUNTIMEDIR}"; then
+ eerror "Directory ${RUNTIMEDIR} could not be created!"
+ return 1
+ fi
+
+ # ensure proper ownership
+ if ! chown "${USER}:${GROUP}" "${RUNTIMEDIR}"; then
+ eerror "Changing ownership of '${RUNTIMEDIR}' to '${USER}:${GROUP}' failed!"
+ return 1
+ fi
+ fi
+
+ if [ ! -e "${RUNTIMEDIR}"/ca-bundle.crt ]; then
+ if [ ! -f "${sslcrt}" ]; then
+ eerror "'${sslcrt}' does not exist!"
+ return 1
+ fi
+
+ if ! ln -s "${sslcrt}" "${RUNTIMEDIR}"/ca-bundle.crt; then
+ eerror "Symlinking '${sslcrt}' failed!"
+ return 1
+ fi
+ fi
+
+ return 0
+}
+
+fix_lib_symlinks() {
+ local src="$1"
+ local tgt="$2"
+
+ # If the source does not exist, we can not do anything
+ if [ ! -f "${src}" ] ; then
+ return 1
+ fi
+
+ # Check whether the symlink is already there and in order
+ if [ -L "${tgt}" ] ; then
+ if [ -f "${tgt}" ] ; then
+ return 0
+ fi
+
+ # Remove broken symlink
+ if ! rm -f "${tgt}"; then
+ eerror "Removing '${tgt}' failed!"
+ return 1
+ fi
+ fi
+
+ # symlink the correct path
+ if ! ln -snf "${src}" "${tgt}"; then
+ eerror "Symlinking '${src}' to '${tgt}' failed!"
+ return 1
+ fi
+
+ return 0
+}
+
+cuda_check() {
+ local libsource="/opt/cuda/@libdir@/libcudart.so"
+ local libtarget="${RUNTIMEDIR}/libcudart.so"
+
+ fix_lib_symlinks "${libsource}" "${libtarget}" || return 1
+ return 0
+}
+
+opencl_check() {
+ local libsource="/usr/@libdir@/libOpenCL.so"
+ local libtarget="${RUNTIMEDIR}/libOpenCL.so"
+
+ fix_lib_symlinks "${libsource}" "${libtarget}" || return 1
+ return 0
+}
+
+env_check() {
+ # Make sure the configuration is sane
+ : ${USER:="boinc"}
+ : ${GROUP:="boinc"}
+ : ${RUNTIMEDIR:="/var/lib/boinc"}
+ : ${BOINCBIN:="$(which boinc_client)"}
+ : ${BOINC_PIDFILE:="/var/run/boinc_client.pid"}
+ : ${BOINCCMD:="$(which /usr/bin/boinccmd)"}
+ : ${ALLOW_REMOTE_RPC:="yes"}
+ : ${NICELEVEL:="19"}
+ # ARGS is not checked, it could have been explicitly set
+ # to be empty by the user.
+
+ # If the client was not found (how?) something is seriously wrong
+ if [ ! -x "${BOINCBIN}" ]; then
+ eerror "No boinc_client found!"
+ return 1
+ fi
+
+ # The boinccmd is crucial, or we can not attach, suspend or resume
+ # the boinc client
+ if [ ! -x "${BOINCCMD}" ]; then
+ eerror "No boinccmd program found!"
+ return 1
+ fi
+
+ return 0
+}
+
+need_passwd_arg() {
+ local vers=$(${BOINCBIN} --version | tr -d .)
+ [ -z "${vers}" ] && vers="00"
+ [ $(expr substr "${vers}" 1 2) -lt 74 ] && return 0
+
+ # From version 7.4 on, the default is to read
+ # gui_rpc_auth.cfg for the password.
+
+ return 1
+}
+
+start_pre() {
+ env_check || return 1
+ create_work_directory || return 1
+ cuda_check || einfo "CUDA not supported"
+ opencl_check || einfo "OpenCL not supported"
+
+ 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 ${RC_SERVICE} attach or connect with a gui client"
+ einfo "and attach to a project with that."
+ einfo ""
+ 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
+
+ return 0
+}
+
+start() {
+ if [ "${ALLOW_REMOTE_RPC}" = "yes" ]; then
+ ARGS="${ARGS} --allow_remote_gui_rpc"
+ fi
+
+ ARGS="${ARGS} --dir "${RUNTIMEDIR}" --redirectio"
+
+ ebegin "Starting ${RC_SVCNAME}"
+ start-stop-daemon --start --nicelevel ${NICELEVEL} \
+ --user "${USER}:${GROUP}" --quiet --make-pidfile \
+ --pidfile "${BOINC_PIDFILE}" --background \
+ --exec "${BOINCBIN}" -- ${ARGS}
+ eend $?
+}
+
+attach() {
+ local password=""
+ local url=""
+ local key=""
+
+ env_check || return 1
+
+ einfo "If you can't 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
+
+ if need_passwd_arg; then
+ password="--passwd \"$(cat "${RUNTIMEDIR}/gui_rpc_auth.cfg")\""
+ fi
+
+ ebegin "${RC_SVCNAME}: Attaching to project"
+ start-stop-daemon --user "${USER}:${GROUP}" --quiet \
+ --chdir "${RUNTIMEDIR}" --exec "${BOINCCMD}" \
+ -- ${password} --project_attach ${url} ${key}
+ eend $?
+
+ sleep 10
+ tail "${RUNTIMEDIR}/stdoutdae.txt"
+}
+
+stop() {
+ local password=""
+ local stop_timeout="SIGTERM/60/SIGTERM/30/SIGKILL/30"
+
+ env_check || return 1
+
+ if need_passwd_arg; then
+ password="--passwd \"$(cat "${RUNTIMEDIR}/gui_rpc_auth.cfg")\""
+ fi
+
+ ebegin "Stopping ${RC_SVCNAME}"
+ start-stop-daemon --stop --quiet --progress \
+ --retry ${stop_timeout} \
+ --pidfile "${BOINC_PIDFILE}"
+ eend $?
+}
+
+resume() {
+ env_check || return 1
+
+ local password=""
+
+ if need_passwd_arg; then
+ password="--passwd \"$(cat "${RUNTIMEDIR}/gui_rpc_auth.cfg")\""
+ fi
+
+ for url in $(cd "${RUNTIMEDIR}" ; \
+ "${BOINCCMD}" ${password} --get_project_status | \
+ sed -n 's/\s*master URL: //p'); do
+ ebegin "Resuming ${url}"
+ start-stop-daemon --user "${USER}:${GROUP}" --quiet \
+ --chdir "${RUNTIMEDIR}" --exec "${BOINCCMD}" \
+ -- ${password} --project ${url} resume
+ eend $?
+ done
+}
+
+suspend() {
+ env_check || return 1
+
+ local password=""
+
+ if need_passwd_arg; then
+ password="--passwd \"$(cat "${RUNTIMEDIR}/gui_rpc_auth.cfg")\""
+ fi
+
+ for url in $(cd "${RUNTIMEDIR}" ; \
+ "${BOINCCMD}" ${password} --get_project_status | \
+ sed -n 's/\s*master URL: //p'); do
+ ebegin "Suspending ${url}"
+ start-stop-daemon --user "${USER}:${GROUP}" --quiet \
+ --chdir "${RUNTIMEDIR}" --exec "${BOINCCMD}" \
+ -- ${password} --project ${url} suspend
+ eend $?
+ done
+}
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/fix_webview.patch b/sci-misc/boinc/files/fix_webview.patch
new file mode 100644
index 000000000000..6c141eb7c829
--- /dev/null
+++ b/sci-misc/boinc/files/fix_webview.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac 2016-07-06 11:16:41.000000000 +0200
++++ b/configure.ac 2016-07-06 11:45:51.088155620 +0200
+@@ -1250,7 +1250,7 @@
+ CLIENTGUIFLAGS="${CLIENTGUIFLAGS} -DNDEBUG"
+ fi
+
+-CLIENTGUILIBS="${WX_LIBS} ${SQLITE3_LIBS}"
++CLIENTGUILIBS="${WX_LIBS} $($WX_CONFIG_WITH_ARGS --libs webview) ${SQLITE3_LIBS}"
+
+ if test "${enable_client_release}" = "yes" ; then
+ if test "x${WX_LIBS_STATIC}" = "x" ; then
diff --git a/sci-misc/boinc/metadata.xml b/sci-misc/boinc/metadata.xml
new file mode 100644
index 000000000000..5e74c0cc24c0
--- /dev/null
+++ b/sci-misc/boinc/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>yamakuzure@gmx.net</email>
+ <name>Sven Eden</name>
+ <description>Proxied maintainer; set to assignee in all bugs</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+<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 a bug about it.
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="github">BOINC/boinc</remote-id>
+ </upstream>
+</pkgmetadata>