diff --git a/sci-misc/boinc-wrapper/boinc-wrapper-26018-r2.ebuild b/sci-misc/boinc-wrapper/boinc-wrapper-26018-r2.ebuild new file mode 100644 index 0000000000..57e857ec56 --- /dev/null +++ b/sci-misc/boinc-wrapper/boinc-wrapper-26018-r2.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools edo + +DESCRIPTION="Wrapper to use non-BOINC apps with BOINC" +HOMEPAGE="https://boinc.berkeley.edu/trac/wiki/WrapperApp" +SRC_URI="https://github.com/BOINC/boinc/archive/refs/tags/wrapper/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Info-ZIP LGPL-3+ regexp-UofT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +DOCS=( job.xml ) + +PATCHES=( "${FILESDIR}"/${PN}-26018-sigstop.patch ) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + edo bash generate_svn_version.sh + + local myeconfargs=( + # build libraries only + --enable-pkg-devel + --disable-fcgi + + # link with libboinc_api statically + --disable-shared + --enable-static + + # do not build libboinc_graphics + --without-x + ax_cv_check_gl_libgl=no + ) + econf "${myeconfargs[@]}" +} + +src_compile() { + emake + emake -C samples/wrapper +} + +src_install() { + cd samples/wrapper || die + + einstalldocs + newbin wrapper boinc-wrapper +} diff --git a/sci-misc/boinc-wrapper/files/boinc-wrapper-26018-sigstop.patch b/sci-misc/boinc-wrapper/files/boinc-wrapper-26018-sigstop.patch new file mode 100644 index 0000000000..d36f118f63 --- /dev/null +++ b/sci-misc/boinc-wrapper/files/boinc-wrapper-26018-sigstop.patch @@ -0,0 +1,28 @@ +Smaller version of a patch merged upstream in +https://github.com/BOINC/boinc/pull/3045, not released yet. + +Author: Benn Snyder +Bug: https://bugs.gentoo.org/939902 + +diff --git a/lib/proc_control.cpp b/lib/proc_control.cpp +index 71f783d02f..090574ca4b 100644 +--- a/lib/proc_control.cpp ++++ b/lib/proc_control.cpp +@@ -256,7 +256,7 @@ void suspend_or_resume_descendants(bool resume) { + int pid = getpid(); + get_descendants(pid, descendants); + for (unsigned int i=0; i