From a954c781733024fddc2d9f15bc69d9a074ba063e Mon Sep 17 00:00:00 2001 From: Sven Eden Date: Wed, 21 Mar 2018 12:42:19 +0100 Subject: sci-misc/boinc: New version 7.9.3 and new xlocale patch The client release series 7.10 is currently a "pre-release", so the series has the lower client version 7.9.3 as its newest release. As predicted the old xlocale patch does not fit any more, so a new patch was created. Tested-by: Sven Eden Package-Manager: Portage-2.3.28, Repoman-2.3.9 --- sci-misc/boinc/Manifest | 1 + sci-misc/boinc/boinc-7.9.3.ebuild | 196 ++++++++++++++++++++++++++++ sci-misc/boinc/files/7.10-fix_xlocale.patch | 37 ++++++ 3 files changed, 234 insertions(+) create mode 100644 sci-misc/boinc/boinc-7.9.3.ebuild create mode 100644 sci-misc/boinc/files/7.10-fix_xlocale.patch (limited to 'sci-misc/boinc') diff --git a/sci-misc/boinc/Manifest b/sci-misc/boinc/Manifest index a04ac5afb500..f2bd0f57b269 100644 --- a/sci-misc/boinc/Manifest +++ b/sci-misc/boinc/Manifest @@ -1,2 +1,3 @@ DIST boinc-7.8.6.tar.gz 52037690 BLAKE2B 21d356488d8ea7e665f1b47e8ef0a0055d8b1a11e6e2aeea0b0ee7839fc7c0498b97ff9bc0183cd7391b5c86590ffc8234d823a743688a833ffcbe83797fd679 SHA512 e565fff30bc7214ae48548ae726544be3c8b09455a8c78a9e30410fd6cffe3b04b2e5c7f54381fa4190aa8adb259243b7d6443b6760c038ed8347edfed1ba997 +DIST boinc-7.9.3.tar.gz 49628586 BLAKE2B a053645f5e5c41610863c19be028963fb2e92fc0015b9df5377e734af968f1a70e4913cdc2052fd4a396dd1a9a782464e3ffc96a4b59a166f25c387de4c30d6d SHA512 d85880ec8e58d53af2cc5c9e357a29fbefe149450f33dea6fed5847b8e8c8bd9c9c5a309180c801c77fbedd740ebef83c1b410e8bc514e35fe210af57552bad5 DIST boinc.tif 288208 BLAKE2B 156a99f08dcabc62a46874830600b9d237e64b650b8edf35db67b82006a67039a3965707194e8f0b25cfd65138b8700c0bfb877507418393b9cd3df32e94d260 SHA512 548e19b87fd70dbeb05687320b86aad39981c161b5b5b7e02fc3ce886d4c464c9bb763d5652d9895dd505ce247c7ff4490caa3d407e28f54ce889ffbab22d046 diff --git a/sci-misc/boinc/boinc-7.9.3.ebuild b/sci-misc/boinc/boinc-7.9.3.ebuild new file mode 100644 index 000000000000..784d06069db1 --- /dev/null +++ b/sci-misc/boinc/boinc-7.9.3.ebuild @@ -0,0 +1,196 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +WX_GTK_VER=3.0-gtk3 + +inherit autotools eutils gnome2-utils linux-info systemd user wxwidgets + +MY_PV="7.10" + +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? ( https://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" + +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. +COMMON_DEPEND=" + >=app-misc/ca-certificates-20080809 + cuda? ( + >=dev-util/nvidia-cuda-toolkit-2.1 + >=x11-drivers/nvidia-drivers-180.22 + ) + 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 + X? ( + dev-db/sqlite:3 + media-libs/freeglut + virtual/jpeg:0= + x11-libs/gtk+:3 + >=x11-libs/libnotify-0.7 + x11-libs/wxGTK:${WX_GTK_VER}[X,opengl,webkit] + ) +" +DEPEND="${RDEPEND} + app-text/docbook-xml-dtd:4.4 + app-text/docbook2X + sys-devel/gettext + X? ( virtual/imagemagick-tools[png,tiff] ) +" +RDEPEND="${COMMON_DEPEND} + !app-admin/quickswitch +" + +PATCHES=( + # >=x11-libs/wxGTK-3.0.2.0-r3 has webview removed, bug 587462 + "${FILESDIR}"/fix_webview.patch + # xlocale.h was removed in modern glibc, bug 639108 + "${FILESDIR}"/${MY_PV}-fix_xlocale.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" + find "${D}" -name '*.la' -delete || die "Removing .la files 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() { + gnome2_icon_savelist + + 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() { + if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then + gnome2_icon_cache_update + fi + + 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 +} + +pkg_postrm() { + if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then + gnome2_icon_cache_update + fi +} diff --git a/sci-misc/boinc/files/7.10-fix_xlocale.patch b/sci-misc/boinc/files/7.10-fix_xlocale.patch new file mode 100644 index 000000000000..6d2360138f8b --- /dev/null +++ b/sci-misc/boinc/files/7.10-fix_xlocale.patch @@ -0,0 +1,37 @@ +--- a/configure.ac 2018-03-21 12:08:02.287768932 +0100 ++++ b/configure.ac 2018-03-21 12:09:32.918771652 +0100 +@@ -592,7 +592,7 @@ + echo "DEBUG: GLUT_CFLAGS = $GLUT_CFLAGS" >&5 + echo "DEBUG: GLUT_LIBS = $GLUT_LIBS" >&5 + +- AC_CHECK_HEADERS([gl.h glu.h glut.h glaux.h GL/gl.h GL/glu.h GL/glut.h GL/glaux.h OpenGL/gl.h OpenGL/glu.h OpenGL/glut.h OpenGL/glaux.h GLUT/glut.h MesaGL/gl.h MesaGL/glu.h MesaGL/glut.h MesaGL/glaux.h libnotify/notify.h gtk/gtk.h locale.h xlocale.h]) ++ AC_CHECK_HEADERS([gl.h glu.h glut.h glaux.h GL/gl.h GL/glu.h GL/glut.h GL/glaux.h OpenGL/gl.h OpenGL/glu.h OpenGL/glut.h OpenGL/glaux.h GLUT/glut.h MesaGL/gl.h MesaGL/glu.h MesaGL/glut.h MesaGL/glaux.h libnotify/notify.h gtk/gtk.h locale.h]) + + AC_CHECK_LIB([jpeg], [jpeg_start_compress],[have_jpeg=1],[have_jpeg=0]) + AC_CHECK_HEADER([jpeglib.h],[have_jpeg=1],[have_jpeg=0]) +--- a/lib/gui_rpc_client.h 2018-03-21 12:07:51.300768602 +0100 ++++ b/lib/gui_rpc_client.h 2018-03-21 12:09:11.671771015 +0100 +@@ -810,8 +810,8 @@ + + #elif defined(__APPLE__) && (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_4) + // uselocale() is not available in OS 10.3.9 so use weak linking +-#if HAVE_XLOCALE_H +-#include ++#if HAVE_LOCALE_H ++#include + #endif + extern int freelocale(locale_t) __attribute__((weak_import)); + extern locale_t newlocale(int, __const char *, locale_t) __attribute__((weak_import)); +--- a/clientgui/AsyncRPC.cpp 2018-03-21 12:08:17.241769380 +0100 ++++ b/clientgui/AsyncRPC.cpp 2018-03-21 12:08:50.664770384 +0100 +@@ -19,8 +19,8 @@ + #pragma implementation "AsyncRPC.h" + #endif + +-#if HAVE_XLOCALE_H +-#include ++#if HAVE_LOCALE_H ++#include + #endif + + #include "stdwx.h" -- cgit v1.2.3-65-gdbad