New package: boinc-7.6.12

Closes #2065

This certainly needs review because of the system account,
config and service files in the template.
This commit is contained in:
Jürgen Buchmüller 2015-10-13 17:06:15 +02:00
parent 5b2645f5d2
commit 40e4b0b96e
17 changed files with 308 additions and 0 deletions

View File

@ -2227,3 +2227,9 @@ libcsound64.so.6.0 csound-6.05.0_1
libcsnd6.so.6.0 csound-6.05.0_1
libfko.so.2 libfko-2.6.7_1
libvterm.so.0 libvterm-0.0.20151005_1
libboinc_opencl.so.7 boinc-7.6.2_1
libboinc_api.so.7 boinc-7.6.2_1
libboinc_graphics2.so.7 boinc-7.6.2_1
libboinc_opencl.so.7 boinc-nox-7.6.2_1
libboinc_api.so.7 boinc-nox-7.6.2_1
libboinc_graphics2.so.7 boinc-nox-7.6.2_1

1
srcpkgs/boinc-devel Symbolic link
View File

@ -0,0 +1 @@
boinc

1
srcpkgs/boinc-nox Symbolic link
View File

@ -0,0 +1 @@
boinc

View File

@ -0,0 +1,99 @@
# Source this file in BASH to get command completion (using tab) for
# boinc and boinccmd. Written by Frank S. Thomas <fst@debian.org>.
# See also: http://boinc.berkeley.edu/trac/wiki/BashCommandCompletion
_boinc()
{
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts="$(boinc_client --help | \
sed -n -r 's/^[[:space:]]*(--[a-z_]*).*/\1/p')"
# Handle options that require one or more arguments.
case "$prev" in
--attach_project|--detach_project|--reset_project|--update_prefs|\
--gui_rpc_port)
return 0
;;
esac
# Handle options that require two arguments.
if [[ COMP_CWORD -gt 1 ]]; then
pprev="${COMP_WORDS[COMP_CWORD-2]}"
case "$pprev" in
--attach_project)
return 0
;;
esac
fi
if [[ "$cur" == -* ]]; then
COMPREPLY=( $(compgen -W "$opts" -- "$cur") )
return 0
fi
}
complete -F _boinc -o default boinc_client
_boinccmd()
{
local cur prev opts cmds
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts="--host --passwd -h --help -V --version"
cmds="$(boinc_cmd --help 2>&1 | \
sed -n -r 's/^[[:space:]]*(--[a-z_]*).*/\1/p')"
# The following construct assures that:
# - no command follows if one of $opts or $cmds was given
# - after --host follows only one command or --passwd and one command
# - after --passwd follows only one command
if [[ $COMP_CWORD -eq 1 ]]; then
COMPREPLY=( $(compgen -W "$opts $cmds" -- "$cur") )
return 0
else
if [[ "${COMP_WORDS[@]}" =~ ".* --host .* --passwd .*" ]]; then
if [[ $COMP_CWORD -eq 5 ]]; then
COMPREPLY=( $(compgen -W "$cmds" -- "$cur") )
fi
elif [[ "${COMP_WORDS[@]}" =~ ".* --passwd .*" ]]; then
if [[ $COMP_CWORD -eq 3 ]]; then
COMPREPLY=( $(compgen -W "$cmds" -- "$cur") )
fi
elif [[ "${COMP_WORDS[@]}" =~ ".* --host .*" ]]; then
if [[ $COMP_CWORD -eq 3 ]]; then
COMPREPLY=( $(compgen -W "--passwd $cmds" -- "$cur") )
fi
fi
fi
# Handle options/commands that require one or more arguments.
case "$prev" in
--get_messages|--passwd)
return 0
;;
--host)
_known_hosts
return 0
;;
--set_run_mode|--set_network_mode)
COMPREPLY=( $(compgen -W "always auto never" -- "$cur") )
return 0
;;
--set_screensaver_mode)
COMPREPLY=( $(compgen -W "on off" -- "$cur") )
return 0
;;
esac
}
complete -F _boinccmd boinc_cmd
# vim: syntax=sh

View File

@ -0,0 +1,16 @@
[Desktop Entry]
Type=Application
Version=1.0
Exec=/usr/bin/boincmgr
Path=/var/lib/boinc
Icon=boinc
Categories=System;Monitor;GTK;
Name=BOINC Manager
GenericName=BOINC monitor and control utility
GenericName[cs]=Monitorovací a ovládací nástroj pro BOINC
GenericName[de]=BOINC Überwachungs- und Kontrollprogramm
GenericName[pt]=Monitorização BOINC e utilitário de controlo
Comment=Configure or monitor a BOINC core client
Comment[cs]=Monitoruje a nastavuje klienta BOINC
Comment[de]=BOINC Basis Client konfigurieren oder überwachen
Comment[pt]=Configurar ou monitorizar o cliente básico do BOINC

View File

@ -0,0 +1,5 @@
#!/bin/sh
# Read default configuration
[ -f /etc/default/boinc-client ] && . /etc/default/boinc-client
# Override with global configuration
[ -f /etc/boinc-client.conf ] && . /etc/boinc-client.conf

View File

@ -0,0 +1,13 @@
#!/bin/sh
[ -r conf ] && . ./conf
BOINCEXE_NAME=${BOINCEXE_NAME:-boinc_client}
BOINCCMD_NAME=${BOINCCMD_NAME:-boinccmd}
BOINCUSER=${BOINCUSER:-boinc}
BOINCDIR=${BOINCDIR:-/var/lib/boinc}
LOGFILE=${LOGFILE:-/var/log/${BOINCEXE_NAME}.log}
ERRORLOG=${ERRORLOG:-/var/log/${BOINCEXE_NAME}_err.log}
[ ! -d ${BOINCDIR} ] && mkdir -m 755 -p ${BOINCDIR} && chown ${BOINCUSER} ${BOINCDIR}
[ ! -f ${LOGFILE} ] && touch ${LOGFILE} && chown ${BOINCUSER} ${LOGFILE}
[ ! -f ${ERRORLOG} ] && touch ${ERRORLOG} && chown ${BOINCUSER} ${ERRORLOG}
exec 2>&1
exec chpst -u ${BOINCUSER} ${BOINCEXE_NAME} ${BOINCOPTS}

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 803 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@ -0,0 +1,22 @@
Add objective c++ program and check for gtk2
--- configure.ac
+++ configure.ac
@@ -39,6 +39,7 @@ AC_PROG_CC
AC_PROG_CXX
AC_PROG_F77
AC_PROG_CPP
+AC_PROG_OBJCXX
AC_PROG_MAKE_SET
SAH_LINKS
AC_LANG_PUSH(C)
@@ -744,6 +745,8 @@ AM_CONDITIONAL(ENABLE_LIBRARIES, [test "
AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes])
AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so])
+PKG_CHECK_MODULES([GTK2], [gtk+-2.0])
+
dnl ======================================================================
dnl some more vodoo required for building portable client-binary (client, clientgui)
dnl ======================================================================

View File

@ -0,0 +1,21 @@
--- client/scripts/Makefile.am 2015-09-29 11:16:41.000000000 +0200
+++ client/scripts/Makefile.am 2015-10-13 16:28:35.475293365 +0200
@@ -2,16 +2,5 @@
install-exec-hook:
chmod +x boinc-client
- $(INSTALL) -d $(DESTDIR)$(sysconfdir)/init.d
- $(INSTALL) -b $(srcdir)/boinc-client $(DESTDIR)$(sysconfdir)/init.d/boinc-client
- if [ -d /etc/sysconfig ] ; then \
- $(INSTALL) -d $(DESTDIR)$(sysconfdir)/sysconfig ; \
- $(INSTALL) $(srcdir)/boinc-client.conf $(DESTDIR)$(sysconfdir)/sysconfig/boinc-client ; \
- elif [ -d /etc/default ] ; then \
- $(INSTALL) -d $(DESTDIR)$(sysconfdir)/default ; \
- $(INSTALL) $(srcdir)/boinc-client.conf $(DESTDIR)$(sysconfdir)/default/boinc-client ; \
- else \
- $(INSTALL) -d $(DESTDIR)$(sysconfdir) ; \
- $(INSTALL) $(srcdir)/boinc-client.conf $(DESTDIR)$(sysconfdir)/boinc-client.conf ; \
- fi
-
+ $(INSTALL) -d $(DESTDIR)$(sysconfdir)/default
+ $(INSTALL) $(srcdir)/boinc-client.conf $(DESTDIR)$(sysconfdir)/default/boinc-client

View File

@ -0,0 +1,11 @@
--- clientgui/AsyncRPC.cpp 2015-09-29 11:16:41.000000000 +0200
+++ clientgui/AsyncRPC.cpp 2015-10-13 16:17:54.313343388 +0200
@@ -19,7 +19,7 @@
#pragma implementation "AsyncRPC.h"
#endif
-#if !(defined(_WIN32) || (defined(__WXMAC__) && (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_4)))
+#if !(defined(_WIN32) || (defined(__WXMAC__) && (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_4))) && defined(__GLIBC__)
#include <xlocale.h>
#endif

113
srcpkgs/boinc/template Normal file
View File

@ -0,0 +1,113 @@
# Template file for 'boinc'
pkgname=boinc
version=7.6.12
revision=1
wrksrc=boinc-client_release-${version%.*}-${version}
build_style=gnu-configure
hostmakedepends="automake libtool pkg-config python"
makedepends="glu-devel libfreeglut-devel libcurl-devel wxWidgets-devel webkitgtk2-devel
libjpeg-turbo-devel libnotify-devel sqlite-devel libXmu-devel libXi-devel"
depends="curl ca-certificates"
system_accounts="boinc"
boinc_homedir="/var/lib/boinc"
boinc_shell="/bin/bash"
conf_files="/etc/default/boinc-client"
short_desc="Berkely Infrastructure for Network Computing"
maintainer="Jürgen Buchmüller <pullmoll@t-online.de>"
license="LGPL-3.0"
homepage="https://boinc.berkeley.edu/"
distfiles="https://github.com/BOINC/boinc/archive/client_release/${version%.*}/${version}.tar.gz>boinc-${version}.tar.gz"
checksum=c396ab46b4ce5d8547e86b51bd66b2ac861602722ffd6953eb17cb75539f9f1b
conflicts="boinc-nox>=0"
CXXFLAGS="-Wno-redundant-decls"
pre_configure() {
autoreconf -if
}
do_configure() {
mkdir /tmp/x11
mv * /tmp/x11
mv /tmp/x11 .
mkdir nox
cp -ar x11/* nox
cd ${wrksrc}/x11
LDFLAGS="-lX11" ./configure \
${configure_args} \
--enable-libraries \
--enable-unicode \
--enable-shared \
--enable-static \
--enable-dynamic-client-linkage \
--enable-client \
--enable-manager \
--disable-server \
--with-ssl \
--with-x \
--with-wx-config=/usr/bin/wx-config-3.0 \
--with-wxdir=${XBPS_CROSS_BASE}/usr/lib
cd ${wrksrc}/nox
PKG_CONFIG=/usr/bin/pkg-config ./configure \
${configure_args} \
--enable-libraries \
--enable-unicode \
--enable-shared \
--enable-static \
--enable-dynamic-client-linkage \
--enable-client \
--disable-manager \
--disable-server \
--disable-xss \
--disable-server \
--with-ssl \
--without-x \
--without-wxdir
}
do_build() {
cd ${wrksrc}/x11
make ${makejobs}
cd ${wrksrc}/nox
make ${makejobs}
}
do_install() {
cd ${wrksrc}/x11
make ${makejobs} DESTDIR="${DESTDIR}" install
# Bash completion
vinstall ${FILESDIR}/boinc.bash 644 usr/share/bash-completion/completions boinc
# Desktop
vmkdir usr/share/applications
vinstall ${FILESDIR}/boinc.desktop 644 usr/share/applications
for size in 16 24 32 64 128 256; do
vinstall ${FILESDIR}/boinc${size}.png 644 usr/share/icons/hicolor/${size}x${size}/apps boinc.png
done
vinstall ${FILESDIR}/boinc32.png 644 usr/share/pixmaps boinc.png
vsv boinc
}
boinc-devel_package() {
depends="${sourcepkg}>=${version}_${revision}"
short_desc+=" - development files"
pkg_install() {
vmove usr/include
vmove "usr/lib/*.a"
vmove "usr/lib/*.so"
}
}
boinc-nox_package() {
short_desc+=" - no X"
conflicts="boinc>=0"
pkg_install() {
cd ${wrksrc}/nox
make ${makejobs} DESTDIR=${PKGDESTDIR} install
# no devel package - no includes, *.a and *.so
rm -rf ${PKGDESTDIR}/usr/include
rm -f ${PKGDESTDIR}/usr/lib/*.a
rm -f ${PKGDESTDIR}/usr/lib/*.so
# Bash completion
vinstall ${FILESDIR}/boinc.bash 644 usr/share/bash-completion/completions boinc
vsv boinc
}
}