146 lines
3.5 KiB
Bash
146 lines
3.5 KiB
Bash
|
# Copyright 1999-2014 Gentoo Foundation
|
||
|
# Distributed under the terms of the GNU General Public License v2
|
||
|
# $Header: $
|
||
|
|
||
|
EAPI=5
|
||
|
|
||
|
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://people.znc.in/~dessa/gentoo/${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
|
||
|
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
|
||
|
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}"/${PN}-7.2.0-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
|
||
|
use X && 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
|
||
|
}
|