commit:     a954c781733024fddc2d9f15bc69d9a074ba063e
Author:     Sven Eden <yamakuzure <AT> gmx <DOT> net>
AuthorDate: Wed Mar 21 11:42:19 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Apr 24 21:56:31 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a954c781

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 <yamakuzure <AT> gmx.net>
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(+)

diff --git a/sci-misc/boinc/Manifest b/sci-misc/boinc/Manifest
index a04ac5afb50..f2bd0f57b26 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 00000000000..784d06069db
--- /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 00000000000..6d2360138f8
--- /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 <xlocale.h>
++#if HAVE_LOCALE_H
++#include <locale.h>
+ #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 <xlocale.h>
++#if HAVE_LOCALE_H
++#include <locale.h>
+ #endif
+ 
+ #include "stdwx.h"

Reply via email to