mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-21 13:03:31 -04:00
Merge updates from master
This commit is contained in:
@@ -1 +1 @@
|
||||
DIST tdscpp-20240629.tar.gz 726330 BLAKE2B 61d3de2cf991d109cd58e3fc5cbdb2e5d5503fedba40431fff7eb01483e06e6d5ace737f650d44e1033f778cfcb893fd6f1f0506bc848ebebbb9e152332cc4ee SHA512 96ccfe86ecbe34fa7c55115d33ceb277c065f3ffef8600e1cf5df5daf458fedf35e994d3d335b5724436bf283622d32252616d4e9336fcf0123af5edb3f32bf1
|
||||
DIST tdscpp-20240707.tar.gz 728339 BLAKE2B 1a5cc1410b87872e59ca64a01900c1cdde550aadf12f7f4bc954b34d4bee9d266eb634e7e6cdc12281060baa8c7a267d2d8b9ba84e1d542ada23522fe71decf6 SHA512 62cab90e17394a5f1c4058bc3a606c1f9542fbad4a749032964ae76dfbcf903f7ff1b20a459c2b3d784c4abb31b5abe7e582b30eaebd83ac9887629221f4a694
|
||||
|
||||
@@ -22,10 +22,11 @@
|
||||
|
||||
case ${EAPI} in
|
||||
8) ;;
|
||||
*) die "${ECLASS}: EAPI ${EAPI} unsupported."
|
||||
*) die "${ECLASS}: EAPI ${EAPI:-0} unsupported"
|
||||
esac
|
||||
|
||||
# @ECLASS_VARIABLE: BOINC_APP_OPTIONAL
|
||||
# @PRE_INHERIT
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# If set to a non-null value, BOINC part in the ebuild will be
|
||||
@@ -34,10 +35,6 @@ esac
|
||||
# If you enable BOINC_APP_OPTIONAL, you have to call boinc-app
|
||||
# default phase functions and add dependencies manually.
|
||||
|
||||
if [[ ! ${BOINC_APP_OPTIONAL} ]]; then
|
||||
EXPORT_FUNCTIONS pkg_postinst pkg_postrm
|
||||
fi
|
||||
|
||||
if [[ ! ${_BOINC_APP_ECLASS} ]]; then
|
||||
|
||||
# @ECLASS_VARIABLE: BOINC_MASTER_URL
|
||||
@@ -59,6 +56,7 @@ if [[ ! ${_BOINC_APP_ECLASS} ]]; then
|
||||
# it's published on project's website.
|
||||
|
||||
# @ECLASS_VARIABLE: HOMEPAGE
|
||||
# @OUTPUT_VARIABLE
|
||||
# @DESCRIPTION:
|
||||
# This variable defines the HOMEPAGE for BOINC projects if BOINC_MASTER_URL
|
||||
# was set before inherit.
|
||||
@@ -71,49 +69,52 @@ if [[ ! ${_BOINC_APP_ECLASS} ]]; then
|
||||
You have to attach to the corresponding project
|
||||
in order to use this application with BOINC.}
|
||||
|
||||
# @ECLASS_VARIABLE: BOINC_RUNTIMEDIR
|
||||
# @USER_VARIABLE
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# Directory with BOINC runtime data.
|
||||
|
||||
# @FUNCTION: boinc-app_add_deps
|
||||
# @USAGE: [--wrapper]
|
||||
# @DESCRIPTION:
|
||||
# Generate appropriate (R)DEPEND for wrapper-enabled or
|
||||
# Generate appropriate IUSE and (R)DEPEND for wrapper-enabled or
|
||||
# native application.
|
||||
#
|
||||
# If BOINC_APP_OPTIONAL is set to a non-null value, dependencies
|
||||
# will be added for "boinc" USE-flag.
|
||||
boinc-app_add_deps() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
if [[ $1 == "--wrapper" ]]; then
|
||||
RDEPEND="sci-misc/boinc-wrapper"
|
||||
local depend rdepend
|
||||
if [[ ${1} == "--wrapper" ]]; then
|
||||
rdepend="sci-misc/boinc-wrapper"
|
||||
else
|
||||
DEPEND="sci-misc/boinc"
|
||||
RDEPEND="sci-misc/boinc"
|
||||
depend="sci-misc/boinc"
|
||||
rdepend="sci-misc/boinc"
|
||||
fi
|
||||
|
||||
DEPEND="${DEPEND} acct-user/boinc"
|
||||
RDEPEND="${RDEPEND} acct-user/boinc"
|
||||
}
|
||||
depend+=" acct-user/boinc"
|
||||
rdepend+=" acct-user/boinc"
|
||||
|
||||
# @FUNCTION: boinc_master_url_check
|
||||
# @USAGE:
|
||||
# @DESCRIPTION:
|
||||
# Make sure BOINC_MASTER_URL has a value.
|
||||
boinc_master_url_check() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
[[ -n ${BOINC_MASTER_URL} ]] || \
|
||||
die "BOINC_MASTER_URL is not set"
|
||||
return 0
|
||||
if [[ ${BOINC_APP_OPTIONAL} ]]; then
|
||||
IUSE+=" boinc"
|
||||
DEPEND+=" boinc? ( ${depend} )"
|
||||
RDEPEND+=" boinc? ( ${rdepend} )"
|
||||
else
|
||||
DEPEND+=" ${depend}"
|
||||
RDEPEND+=" ${rdepend}"
|
||||
fi
|
||||
}
|
||||
|
||||
# @FUNCTION: get_boincdir
|
||||
# @USAGE:
|
||||
# @RETURN: non-prefixed default BOINC runtime directory
|
||||
# @RETURN: non-prefixed BOINC runtime directory
|
||||
get_boincdir() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
echo /var/lib/boinc
|
||||
echo "${BOINC_RUNTIMEDIR:-/var/lib/boinc}"
|
||||
}
|
||||
|
||||
# @FUNCTION: get_project_dirname
|
||||
# @INTERNAL
|
||||
# @USAGE:
|
||||
# @RETURN: project's dirname, derived from BOINC_MASTER_URL
|
||||
# @DESCRIPTION:
|
||||
# Example:
|
||||
@@ -124,9 +125,8 @@ get_boincdir() {
|
||||
# -> boinc.berkeley.edu_example
|
||||
# @CODE
|
||||
get_project_dirname() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
boinc_master_url_check
|
||||
[[ ${BOINC_MASTER_URL} ]] || \
|
||||
die "BOINC_MASTER_URL is not set"
|
||||
|
||||
local dirname
|
||||
dirname=${BOINC_MASTER_URL#*://} # strip http[s]://
|
||||
@@ -137,16 +137,12 @@ get_project_dirname() {
|
||||
}
|
||||
|
||||
# @FUNCTION: get_project_root
|
||||
# @USAGE:
|
||||
# @RETURN: non-prefixed directory where applications and files should be installed
|
||||
get_project_root() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
echo "$(get_boincdir)/projects/$(get_project_dirname)"
|
||||
}
|
||||
|
||||
# @FUNCTION: _boinc-app_fix_permissions
|
||||
# @USAGE:
|
||||
# @INTERNAL
|
||||
# @DESCRIPTION:
|
||||
# Fix owner and permissions for the project root.
|
||||
@@ -161,20 +157,23 @@ _boinc-app_fix_permissions() {
|
||||
}
|
||||
|
||||
# @FUNCTION: boinc-app_appinfo_prepare
|
||||
# @USAGE: <writable app_info.xml>
|
||||
# @USAGE: <app_info>
|
||||
# @DESCRIPTION:
|
||||
# The default appinfo_prepare(). It replaces all occurences
|
||||
# of @PV@ with its corresponding value.
|
||||
boinc-app_appinfo_prepare() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
sed -i "$1" \
|
||||
(( $# == 1 )) || \
|
||||
die "${FUNCNAME} takes exactly one argument"
|
||||
|
||||
sed -i "${1:?}" \
|
||||
-e "s:@PV@:${PV}:g" \
|
||||
|| die "app_info.xml sed failed"
|
||||
}
|
||||
|
||||
# @FUNCTION: doappinfo
|
||||
# @USAGE: <app_info.xml>
|
||||
# @FUNCTION: boinc_install_appinfo
|
||||
# @USAGE: <app_info>
|
||||
# @DESCRIPTION:
|
||||
# Installs given app_info.xml file to the project root.
|
||||
#
|
||||
@@ -191,106 +190,124 @@ boinc-app_appinfo_prepare() {
|
||||
# }
|
||||
#
|
||||
# src_install() {
|
||||
# doappinfo "${FILESDIR}"/app_info_${PV}.xml
|
||||
# boinc_install_appinfo "${FILESDIR}"/app_info_1.0.xml
|
||||
#
|
||||
# exeinto $(get_project_root)
|
||||
# exeopts -m 0755 --owner root --group boinc
|
||||
# newexe bin/${PN} example_app_v${PV}
|
||||
# newexe bin/${PN} example_app_v1.0
|
||||
# }
|
||||
# @CODE
|
||||
doappinfo() {
|
||||
boinc_install_appinfo() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
(( $# == 1 )) || \
|
||||
die "${FUNCNAME} takes exactly one argument"
|
||||
|
||||
cp "$1" "${T}"/app_info.xml || die
|
||||
cp "${1:?}" "${T:?}"/app_info.xml || die
|
||||
|
||||
if declare -f appinfo_prepare >/dev/null; then
|
||||
appinfo_prepare "${T}"/app_info.xml
|
||||
appinfo_prepare "${T:?}"/app_info.xml
|
||||
else
|
||||
boinc-app_appinfo_prepare "${T}"/app_info.xml
|
||||
boinc-app_appinfo_prepare "${T:?}"/app_info.xml
|
||||
fi
|
||||
|
||||
( # subshell to avoid pollution of calling environment
|
||||
insinto $(get_project_root)
|
||||
insinto "$(get_project_root)"
|
||||
insopts -m 0644 --owner root --group boinc
|
||||
doins "${T}"/app_info.xml
|
||||
doins "${T:?}"/app_info.xml
|
||||
) || die "failed to install app_info.xml"
|
||||
|
||||
_boinc-app_fix_permissions
|
||||
}
|
||||
|
||||
# @FUNCTION: boinc-wrapper_foreach_wrapper_job
|
||||
# @USAGE: <job.xml>
|
||||
# @FUNCTION: doappinfo
|
||||
# @DEPRECATED: boinc_install_appinfo
|
||||
# @USAGE: <app_info>
|
||||
# @DESCRIPTION:
|
||||
# Installs given app_info.xml file to the project root.
|
||||
doappinfo() {
|
||||
boinc_install_appinfo "${@}"
|
||||
}
|
||||
|
||||
# @FUNCTION: boinc-app_foreach_wrapper_job
|
||||
# @USAGE: <job>
|
||||
# @DESCRIPTION:
|
||||
# The default foreach_wrapper_job(). It replaces all occurences
|
||||
# of @PV@, @EPREFIX@ and @LIBDIR@ strings with their corresponding values.
|
||||
boinc-wrapper_foreach_wrapper_job() {
|
||||
boinc-app_foreach_wrapper_job() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
sed -i "$1" \
|
||||
(( $# == 1 )) || \
|
||||
die "${FUNCNAME} takes exactly one argument"
|
||||
|
||||
sed -i "${1:?}" \
|
||||
-e "s:@PV@:${PV}:g" \
|
||||
-e "s:@EPREFIX@:${EPREFIX}:g" \
|
||||
-e "s:@LIBDIR@:$(get_libdir):g" \
|
||||
|| die "$(basename "$1") sed failed"
|
||||
|| die "$(basename "${1}") sed failed"
|
||||
}
|
||||
|
||||
# @FUNCTION: dowrapper
|
||||
# @USAGE: <app> [more apps...]
|
||||
# @FUNCTION: boinc_install_wrapper
|
||||
# @USAGE: <bin> <job> [new name]
|
||||
# @DESCRIPTION:
|
||||
# This function provides a uniform way to install wrapper applications
|
||||
# for BOINC projects. It makes symlinks to the BOINC wrapper and also
|
||||
# installs respective job.xml files.
|
||||
#
|
||||
# When sci-misc/boinc-example-1.0 calls `dowrapper boinc-example` it:
|
||||
# When `dowrapper boinc-example_wrapper A.xml B.xml` is called, it:
|
||||
#
|
||||
# 1. Installs boinc-example_job_1.0.xml from ebuild's files/ directory
|
||||
# to project's root directory
|
||||
# 1. Installs A.xml in the project's root directory, renaming it to B.xml
|
||||
#
|
||||
# 2. Installs boinc-example_wrapper_1.0 symlink, which points
|
||||
# to /usr/bin/boinc-wrapper, to project's root directory
|
||||
# 2. Installs boinc-example_wrapper symlink, which points
|
||||
# to /usr/bin/boinc-wrapper, in the project's root directory
|
||||
#
|
||||
# Example:
|
||||
# @CODE
|
||||
# src_install() {
|
||||
# meson_src_install
|
||||
#
|
||||
# dowrapper boinc-example boinc-sample
|
||||
# doappinfo "${FILESDIR}"/app_info_${PV}.xml
|
||||
# boinc_install_wrapper boinc-example_wrapper "${FILESDIR}"/job.xml
|
||||
# boinc_install_appinfo "${FILESDIR}"/app_info_1.0.xml
|
||||
# }
|
||||
# @CODE
|
||||
#
|
||||
# Keep your job.xml files in sync with app_info.xml!
|
||||
dowrapper() {
|
||||
boinc_install_wrapper() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
for app in "$@"; do
|
||||
local wrapperjob="${app}_job_${PV}.xml"
|
||||
local wrapperexe="${app}_wrapper_${PV}"
|
||||
(( $# >= 2 && $# <= 3 )) || \
|
||||
die "${FUNCNAME} got wrong number of arguments"
|
||||
|
||||
[[ -f "${FILESDIR}/${wrapperjob}" ]] || \
|
||||
die "${wrapperjob} not found in ebuild's files/ directory"
|
||||
local exe="${1:?}"
|
||||
local job="${2:?}"
|
||||
local job_dest="${3:-$(basename "${job:?}")}"
|
||||
|
||||
cp "${FILESDIR}/${wrapperjob}" "${T}" || die
|
||||
cp "${job:?}" "${T:?}/${job_dest:?}" || die
|
||||
if declare -f foreach_wrapper_job >/dev/null; then
|
||||
foreach_wrapper_job "${T:?}/${job_dest:?}"
|
||||
else
|
||||
boinc-app_foreach_wrapper_job "${T:?}/${job_dest:?}"
|
||||
fi
|
||||
|
||||
if declare -f foreach_wrapper_job >/dev/null; then
|
||||
foreach_wrapper_job "${T}/${wrapperjob}"
|
||||
else
|
||||
boinc-wrapper_foreach_wrapper_job "${T}/${wrapperjob}"
|
||||
fi
|
||||
|
||||
( # subshell to avoid pollution of calling environment
|
||||
insinto $(get_project_root)
|
||||
insopts -m 0644 --owner root --group boinc
|
||||
doins "${T}/${wrapperjob}"
|
||||
dosym -r /usr/bin/boinc-wrapper "$(get_project_root)/${wrapperexe}"
|
||||
) || die "failed to install '${app}' wrapper app"
|
||||
done
|
||||
( # subshell to avoid pollution of calling environment
|
||||
insinto "$(get_project_root)"
|
||||
insopts -m 0644 --owner root --group boinc
|
||||
doins "${T:?}/${job_dest:?}"
|
||||
) || die "failed to install ${exe:?} wrapper job"
|
||||
rm -f "${T:?}/${job_dest:?}"
|
||||
|
||||
dosym -r /usr/bin/boinc-wrapper "$(get_project_root)/${exe:?}"
|
||||
_boinc-app_fix_permissions
|
||||
}
|
||||
|
||||
# @FUNCTION: dowrapper
|
||||
# @DEPRECATED: boinc_install_wrapper
|
||||
# @DESCRIPTION:
|
||||
# Install BOINC wrappers and job definitions.
|
||||
dowrapper() {
|
||||
die "${FUNCNAME} has been removed, please use boinc_install_wrapper instead"
|
||||
}
|
||||
|
||||
# @FUNCTION: boinc-app_pkg_postinst
|
||||
# @DESCRIPTION:
|
||||
# Display helpful instructions on how to make the BOINC client use installed
|
||||
@@ -299,16 +316,13 @@ boinc-app_pkg_postinst() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
if [[ -f "${EROOT}/$(get_boincdir)/master_$(get_project_dirname).xml" ]]; then
|
||||
if [[ -z ${REPLACING_VERSIONS} ]]; then
|
||||
if [[ ! ${REPLACING_VERSIONS} ]]; then
|
||||
# most likely replacing applications downloaded
|
||||
# by the BOINC client from project's website
|
||||
elog "Restart the BOINC daemon for changes to take place:"
|
||||
elog "# rc-service boinc restart"
|
||||
return
|
||||
else
|
||||
# applications are already in use
|
||||
return
|
||||
fi
|
||||
return
|
||||
fi
|
||||
|
||||
elog
|
||||
@@ -319,10 +333,10 @@ boinc-app_pkg_postinst() {
|
||||
|
||||
if [[ ! ${BOINC_INVITATION_CODE} ]]; then
|
||||
elog "# rc-service boinc attach"
|
||||
elog " Enter the Project URL: ${BOINC_MASTER_URL}"
|
||||
elog " Enter the Project URL: ${BOINC_MASTER_URL:?}"
|
||||
else
|
||||
elog "- Master URL: ${BOINC_MASTER_URL}"
|
||||
elog "- Invitation code: ${BOINC_INVITATION_CODE}"
|
||||
elog "- Master URL: ${BOINC_MASTER_URL:?}"
|
||||
elog "- Invitation code: ${BOINC_INVITATION_CODE:?}"
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -333,20 +347,24 @@ boinc-app_pkg_postinst() {
|
||||
boinc-app_pkg_postrm() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
if [[ -z ${REPLACED_BY_VERSION} ]]; then
|
||||
if [[ ! ${REPLACED_BY_VERSION} ]]; then
|
||||
local gui_rpc_auth="$(get_boincdir)/gui_rpc_auth.cfg"
|
||||
local passwd=$(cat "${EROOT}/${gui_rpc_auth}" 2>/dev/null)
|
||||
if [[ -z ${passwd} ]]; then
|
||||
passwd="\$(cat ${gui_rpc_auth})"
|
||||
if [[ ! ${passwd?} ]]; then
|
||||
passwd="\$(cat ${gui_rpc_auth:?})"
|
||||
fi
|
||||
|
||||
elog "You should detach this project from the BOINC client"
|
||||
elog "to stop current tasks and delete remaining project files:"
|
||||
elog
|
||||
elog "$ boinccmd --passwd ${passwd} --project ${BOINC_MASTER_URL} detach"
|
||||
elog "$ boinccmd --passwd ${passwd:?} --project ${BOINC_MASTER_URL:?} detach"
|
||||
elog
|
||||
fi
|
||||
}
|
||||
|
||||
_BOINC_APP_ECLASS=1
|
||||
fi
|
||||
|
||||
if [[ ! ${BOINC_APP_OPTIONAL} ]]; then
|
||||
EXPORT_FUNCTIONS pkg_postinst pkg_postrm
|
||||
fi
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
BOINC_APP_OPTIONAL="true"
|
||||
BOINC_APP_OPTIONAL=1
|
||||
inherit boinc-app flag-o-matic meson optfeature python-any-r1
|
||||
|
||||
DESCRIPTION="Program for docking ligands to proteins and nucleic acids"
|
||||
@@ -15,14 +15,11 @@ S="${WORKDIR}/${PN}-v${PV}"
|
||||
LICENSE="LGPL-3 ZLIB"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="apidoc boinc cpu_flags_x86_sse2 doc test"
|
||||
IUSE="apidoc cpu_flags_x86_sse2 doc test"
|
||||
|
||||
# Flaky tests
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="
|
||||
boinc? ( sci-misc/boinc-wrapper )
|
||||
"
|
||||
DEPEND="
|
||||
dev-cpp/eigen:3
|
||||
>=dev-cpp/indicators-2.3-r1
|
||||
@@ -58,6 +55,8 @@ is to attach it to SiDock@home BOINC project."
|
||||
|
||||
INSTALL_PREFIX="${EPREFIX}/opt/${P}"
|
||||
|
||||
boinc-app_add_deps
|
||||
|
||||
python_check_deps() {
|
||||
use doc || return 0
|
||||
|
||||
@@ -77,7 +76,7 @@ src_prepare() {
|
||||
src_configure() {
|
||||
# very weird directory layout
|
||||
local emesonargs=(
|
||||
--prefix="${INSTALL_PREFIX}"
|
||||
--prefix="${INSTALL_PREFIX:?}"
|
||||
$(meson_use apidoc)
|
||||
$(meson_use doc)
|
||||
$(meson_use test tests)
|
||||
@@ -90,22 +89,22 @@ src_configure() {
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
python_optimize "${D}${INSTALL_PREFIX}"/bin
|
||||
python_optimize "${D}${INSTALL_PREFIX:?}"/bin
|
||||
|
||||
if use boinc; then
|
||||
doappinfo "${FILESDIR}"/app_info_${PV}.xml
|
||||
dowrapper cmdock-l
|
||||
boinc_install_appinfo "${FILESDIR}"/app_info_0.2.0-r1.xml
|
||||
boinc_install_wrapper cmdock-l_wrapper \
|
||||
"${FILESDIR}"/cmdock-l_job_0.2.0-r1.xml cmdock-l_job.xml
|
||||
|
||||
# install cmdock executable
|
||||
exeinto "$(get_project_root)"
|
||||
exeopts --owner root --group boinc
|
||||
newexe "${D}${INSTALL_PREFIX}"/bin/cmdock cmdock-${PV}
|
||||
doexe "${D}${INSTALL_PREFIX:?}"/bin/cmdock
|
||||
|
||||
# install a blank file
|
||||
touch "${T}"/docking_out || die
|
||||
insinto "$(get_project_root)"
|
||||
insopts --owner root --group boinc
|
||||
doins "${T}"/docking_out
|
||||
insopts -m 0644 --owner root --group boinc
|
||||
newins - docking_out
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -1,112 +0,0 @@
|
||||
# Copyright 2021-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
BOINC_APP_OPTIONAL="true"
|
||||
inherit boinc-app flag-o-matic meson optfeature python-any-r1
|
||||
|
||||
DESCRIPTION="Program for docking ligands to proteins and nucleic acids"
|
||||
HOMEPAGE="https://gitlab.com/Jukic/cmdock"
|
||||
SRC_URI="https://gitlab.com/Jukic/${PN}/-/archive/v${PV}/${PN}-v${PV}.tar.bz2"
|
||||
S="${WORKDIR}/${PN}-v${PV}"
|
||||
|
||||
LICENSE="LGPL-3 ZLIB"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="apidoc boinc cpu_flags_x86_sse2 doc test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
boinc? ( sci-misc/boinc-wrapper )
|
||||
"
|
||||
DEPEND="
|
||||
dev-cpp/eigen:3
|
||||
dev-cpp/indicators
|
||||
>=dev-cpp/pcg-cpp-0.98.1_p20210406-r1
|
||||
dev-libs/cxxopts
|
||||
"
|
||||
BDEPEND="
|
||||
apidoc? (
|
||||
app-text/doxygen
|
||||
dev-texlive/texlive-fontutils
|
||||
)
|
||||
doc? (
|
||||
$(python_gen_any_dep '
|
||||
dev-python/insipid-sphinx-theme[${PYTHON_USEDEP}]
|
||||
dev-python/sphinx[${PYTHON_USEDEP}]
|
||||
')
|
||||
)
|
||||
test? ( ${PYTHON_DEPS} )
|
||||
"
|
||||
|
||||
DOCS=( README.md changelog.md )
|
||||
|
||||
BOINC_MASTER_URL="https://www.sidock.si/sidock/"
|
||||
BOINC_INVITATION_CODE="Crunch_4Science"
|
||||
BOINC_APP_HELPTEXT=\
|
||||
"The easiest way to do something useful with this application
|
||||
is to attach it to SiDock@home BOINC project."
|
||||
|
||||
INSTALL_PREFIX="${EPREFIX}/opt/${P}"
|
||||
|
||||
python_check_deps() {
|
||||
use doc || return 0
|
||||
|
||||
python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]" &&
|
||||
python_has_version "dev-python/insipid-sphinx-theme[${PYTHON_USEDEP}]"
|
||||
}
|
||||
|
||||
foreach_wrapper_job() {
|
||||
sed -e "s:@PREFIX@:${INSTALL_PREFIX}:g" -i "${1}" || die
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
python_fix_shebang "${S}"/bin
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# very weird directory layout
|
||||
local emesonargs=(
|
||||
--prefix="${INSTALL_PREFIX}"
|
||||
$(meson_use apidoc)
|
||||
$(meson_use doc)
|
||||
$(meson_use test tests)
|
||||
-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
|
||||
)
|
||||
meson_src_configure
|
||||
|
||||
use cpu_flags_x86_sse2 || append-cppflags "-DBUNDLE_NO_SSE"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
python_optimize "${D}${INSTALL_PREFIX}"/bin
|
||||
|
||||
if use boinc; then
|
||||
doappinfo "${FILESDIR}"/app_info_${PV}.xml
|
||||
dowrapper cmdock-l
|
||||
|
||||
# install cmdock executable
|
||||
exeinto "$(get_project_root)"
|
||||
exeopts --owner root --group boinc
|
||||
newexe "${D}${INSTALL_PREFIX}"/bin/cmdock cmdock-${PV}
|
||||
|
||||
# install a blank file
|
||||
touch "${T}"/docking_out || die
|
||||
insinto "$(get_project_root)"
|
||||
insopts --owner root --group boinc
|
||||
doins "${T}"/docking_out
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
optfeature "sdtether.py and sdrmsd.py scripts" "dev-python/numpy sci-chemistry/openbabel[python]"
|
||||
use boinc && boinc-app_pkg_postinst
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use boinc && boinc-app_pkg_postrm
|
||||
}
|
||||
@@ -1,22 +1,22 @@
|
||||
<app_info>
|
||||
<app>
|
||||
<name>cmdock-l</name>
|
||||
<user_friendly_name>CurieMarieDock 0.2.0 long tasks</user_friendly_name>
|
||||
<user_friendly_name>CurieMarieDock @PV@ long tasks</user_friendly_name>
|
||||
</app>
|
||||
|
||||
<file_info>
|
||||
<name>cmdock-l_wrapper_@PV@</name>
|
||||
<name>cmdock-l_wrapper</name>
|
||||
<sticky/>
|
||||
<executable/>
|
||||
</file_info>
|
||||
<file_info>
|
||||
<name>cmdock-@PV@</name>
|
||||
<name>cmdock</name>
|
||||
<sticky/>
|
||||
<executable/>
|
||||
</file_info>
|
||||
|
||||
<file_info>
|
||||
<name>cmdock-l_job_@PV@.xml</name>
|
||||
<name>cmdock-l_job.xml</name>
|
||||
<sticky/>
|
||||
</file_info>
|
||||
<file_info>
|
||||
@@ -28,16 +28,16 @@
|
||||
<app_name>cmdock-l</app_name>
|
||||
<version_num>100</version_num>
|
||||
<file_ref>
|
||||
<file_name>cmdock-l_wrapper_@PV@</file_name>
|
||||
<file_name>cmdock-l_wrapper</file_name>
|
||||
<main_program/>
|
||||
</file_ref>
|
||||
<file_ref>
|
||||
<file_name>cmdock-@PV@</file_name>
|
||||
<file_name>cmdock</file_name>
|
||||
<open_name>cmdock</open_name>
|
||||
<copy_file/>
|
||||
</file_ref>
|
||||
<file_ref>
|
||||
<file_name>cmdock-l_job_@PV@.xml</file_name>
|
||||
<file_name>cmdock-l_job.xml</file_name>
|
||||
<open_name>job.xml</open_name>
|
||||
<copy_file/>
|
||||
</file_ref>
|
||||
@@ -2,7 +2,7 @@
|
||||
<task>
|
||||
<application>cmdock</application>
|
||||
<stdout_filename>docking_log</stdout_filename>
|
||||
<command_line>-c -j 1 -b 1 -x -r target.prm -p "@PREFIX@/data/scripts/dock.prm" -f htvs.ptc -i ligands.sdf -o docking_out</command_line>
|
||||
<command_line>-c -j 1 -b 1 -r target.prm -p "@PREFIX@/data/scripts/dock.prm" -f htvs.ptc -i ligands.sdf -o docking_out</command_line>
|
||||
<checkpoint_filename>docking_out.chk</checkpoint_filename>
|
||||
<fraction_done_filename>docking_out.progress</fraction_done_filename>
|
||||
<setenv>CMDOCK_ROOT=@PREFIX@</setenv>
|
||||
@@ -1 +1 @@
|
||||
DIST openpgp-keys-emersion-20230421.asc 2263 BLAKE2B 03d35a3daa24b811de36e34f5c7bf082b8a49438acd33080ce2f01d8db7b0e0cdbd03d254ebb0ca8b1608815092a6e6e42fe7b5cbdecfa6f310e9f8608f04d6f SHA512 5681bac74f6e7e34230ad9a0127161872eb77a237ac5534127467046d90bdff1abe96d269ca4f8ff8c076ccbb88a4e71feb1525196f9df19a03efe05a69cea6f
|
||||
DIST openpgp-keys-emersion-20240714.asc 2263 BLAKE2B 2cee5af46ddfd374b94368c805f7a663015ebc90501f1ecb21e548ec209156ff658f6f8ad97eb0415fe74b6c0e30dd232872bfca28b5002ce130cdf590742550 SHA512 0033b669a58a63c256aa641178b9cbbbeef5bd8a017f0080f2a07c3fb393273e151931378b33724428491f7c537b26026781abede72d225a7d95e6b48bbd2dc5
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2022 Gentoo Authors
|
||||
# Copyright 2022-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
Reference in New Issue
Block a user