diff --git a/sci-misc/boinc/Manifest b/sci-misc/boinc/Manifest index fd1a866558786..e3d43cfdd6f9f 100644 --- a/sci-misc/boinc/Manifest +++ b/sci-misc/boinc/Manifest @@ -1,3 +1,4 @@ DIST boinc-7.24.1.tar.gz 46747399 BLAKE2B 872cf16a67a69c297aa3096c44b8272c039e913991253c7e52847f438050c0f87088c9cb84a5761877c9acb6bcb73dfdfbc7452e7ae98a0aeee55916838fbc93 SHA512 7dad36900c13b69a89b5a173fc283130bc4cf15c781ed31ed72ce0b6ba0db4895a12314d0f302c7a91c2762333b7c162f20f32e67ed5e2e7a4099e1f2238c255 DIST boinc-8.0.2.tar.gz 46978849 BLAKE2B 6af8836f9ce5ab295685d573c11878971edb85191d757228ba1b05931ca25dc1eabab7c39107eda8ff501eeff1d390931da40300612bdb70fe76b586b0809d27 SHA512 ed6c90a40e74d891e28fdb99c684f004b90e9fecc22584e61d67a325c0f61039ea7dc823baf321ff4a84fafc96470d6cd903d9b0268c8ff42b3eb54f8c565426 +DIST boinc-8.2.4.tar.gz 47582706 BLAKE2B 7b798e5367628ce75f26ec5e76065d54e26ef503ab5e904865d958ed6e708e547bd314139417595f8edcbd9d82d2ab8a288b750d2c0567357fa3707c56a5cc4e SHA512 aa3814d4d17954704644a99e9367decfdbefe9eeb1cc4a77f80f86c0b8760c6f93d44a6accac3a51a255a18f2464ac288936db4733378418a1248147db63261e DIST boinc.tif 288208 BLAKE2B 156a99f08dcabc62a46874830600b9d237e64b650b8edf35db67b82006a67039a3965707194e8f0b25cfd65138b8700c0bfb877507418393b9cd3df32e94d260 SHA512 548e19b87fd70dbeb05687320b86aad39981c161b5b5b7e02fc3ce886d4c464c9bb763d5652d9895dd505ce247c7ff4490caa3d407e28f54ce889ffbab22d046 diff --git a/sci-misc/boinc/boinc-8.2.4.ebuild b/sci-misc/boinc/boinc-8.2.4.ebuild new file mode 100644 index 0000000000000..b6938e4c093b4 --- /dev/null +++ b/sci-misc/boinc/boinc-8.2.4.ebuild @@ -0,0 +1,185 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PV=$(ver_cut 1-2) +WX_GTK_VER=3.2-gtk3 + +inherit autotools bash-completion-r1 linux-info optfeature wxwidgets xdg-utils + +DESCRIPTION="The Berkeley Open Infrastructure for Network Computing" +HOMEPAGE="https://boinc.berkeley.edu/" + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/BOINC/${PN}.git" + inherit git-r3 +else + SRC_URI="https://github.com/BOINC/boinc/archive/client_release/${MY_PV}/${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}-client_release-${MY_PV}-${PV}" + + # We don't mark "stable" and "alpha" release channels in any special way but + # use stable/testing keywords instead. + # + # "Alpha" versions are only named as such, they are actually more like beta + # versions or release candidates. + # https://github.com/BOINC/boinc/wiki/AlphaInstructions + # + # The current versions for each of release channels can be found at: + # https://boinc.berkeley.edu/linux_install.php + KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~sparc ~x86" +fi + +LICENSE="LGPL-3+" +SLOT="0" + +# - "X" builds idle tracking via XScrnSaver and the libboinc_graphics2 library +# - "gui" builds the manager app and the screensaver +IUSE="X gui" + +DEPEND=" + >=acct-user/boinc-1 + app-misc/ca-certificates + dev-libs/openssl:= + net-misc/curl[ssl] + sys-libs/zlib:= + X? ( + media-libs/freeglut + media-libs/libjpeg-turbo:= + x11-libs/libX11 + x11-libs/libXScrnSaver + ) + gui? ( + dev-libs/glib:2 + x11-libs/gtk+:3 + x11-libs/libnotify + x11-libs/libxcb:= + x11-libs/wxGTK:${WX_GTK_VER}=[opengl,webkit] + x11-libs/xcb-util + ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + app-text/docbook-xml-dtd:4.4 + app-text/docbook2X + virtual/pkgconfig +" + +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 +} + +src_configure() { + use gui && setup-wxwidgets + + local myeconfargs=( + --disable-server + --enable-client + --enable-dynamic-client-linkage + --enable-unicode + --with-ssl + $(usex X "" ax_cv_check_glut_libglut="no") + $(use_with X x) + $(use_enable gui manager) + $(usex gui --with-wx-config="${WX_CONFIG}" --without-wxdir) + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + + # cleanup cruft + rm -r "${ED}"/etc || die "rm failed" + find "${D}/usr/$(get_libdir)" -name '*.la' -delete || die "Removing .la files failed" + find "${D}/usr/$(get_libdir)" -name '*.a' -delete || die "Removing static libs failed" + + newbashcomp client/scripts/boinc.bash boinc + bashcomp_alias boinc boinccmd + + keepdir /var/lib/boinc + fowners boinc:boinc /var/lib/boinc + fperms 750 /var/lib/boinc + + dosym -r /etc/ssl/certs/ca-certificates.crt /var/lib/boinc/ca-bundle.crt + + exeinto /etc/X11/xinit/xinitrc.d + newexe packages/generic/36x11-common_xhost-boinc 95-boinc + + newinitd "${FILESDIR}"/boinc.initd-r1 boinc + newconfd "${FILESDIR}"/boinc.confd-r1 boinc +} + +pkg_postinst() { + if use gui; then + xdg_desktop_database_update + xdg_mimeinfo_database_update + xdg_icon_cache_update + fi + + elog + elog "You need to attach to a project to do anything useful with boinc." + elog "You can do this by running:" + elog "# rc-service boinc attach" + elog "The user manual is located at:" + elog "https://github.com/BOINC/boinc/wiki/User-manual" + elog + # Add warning about the new password for the client, bug 121896. + if use gui; 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/boinc 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 + + # OpenCL and CUDA libraries are loaded with dlopen(), + # no headers used at build time and no linking occurs. + optfeature "CUDA applications support" x11-drivers/nvidia-drivers + optfeature "Docker applications support" \ + "app-containers/podman app-containers/podman-compose" \ + "app-containers/docker app-containers/docker-compose:2" + optfeature "OpenCL applications support" virtual/opencl + optfeature "VirtualBox applications support" app-emulation/virtualbox + + optfeature_header "If you want to run ATLAS native tasks by LHC@home, you need to install:" + optfeature "CERN VM filesystem support" net-fs/cvmfs +} + +pkg_postrm() { + if use gui; then + xdg_desktop_database_update + xdg_mimeinfo_database_update + xdg_icon_cache_update + fi +} diff --git a/sci-misc/boinc/boinc-9999.ebuild b/sci-misc/boinc/boinc-9999.ebuild index 31f5fa57ee1d0..b6938e4c093b4 100644 --- a/sci-misc/boinc/boinc-9999.ebuild +++ b/sci-misc/boinc/boinc-9999.ebuild @@ -16,8 +16,18 @@ if [[ ${PV} == *9999 ]] ; then inherit git-r3 else SRC_URI="https://github.com/BOINC/boinc/archive/client_release/${MY_PV}/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~sparc ~x86" S="${WORKDIR}/${PN}-client_release-${MY_PV}-${PV}" + + # We don't mark "stable" and "alpha" release channels in any special way but + # use stable/testing keywords instead. + # + # "Alpha" versions are only named as such, they are actually more like beta + # versions or release candidates. + # https://github.com/BOINC/boinc/wiki/AlphaInstructions + # + # The current versions for each of release channels can be found at: + # https://boinc.berkeley.edu/linux_install.php + KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~sparc ~x86" fi LICENSE="LGPL-3+" @@ -28,7 +38,7 @@ SLOT="0" IUSE="X gui" DEPEND=" - acct-user/boinc + >=acct-user/boinc-1 app-misc/ca-certificates dev-libs/openssl:= net-misc/curl[ssl] @@ -107,18 +117,22 @@ src_configure() { src_install() { default + # cleanup cruft + rm -r "${ED}"/etc || die "rm failed" + find "${D}/usr/$(get_libdir)" -name '*.la' -delete || die "Removing .la files failed" + find "${D}/usr/$(get_libdir)" -name '*.a' -delete || die "Removing static libs failed" + newbashcomp client/scripts/boinc.bash boinc bashcomp_alias boinc boinccmd keepdir /var/lib/boinc fowners boinc:boinc /var/lib/boinc + fperms 750 /var/lib/boinc dosym -r /etc/ssl/certs/ca-certificates.crt /var/lib/boinc/ca-bundle.crt - # cleanup cruft - rm -r "${ED}"/etc || die "rm failed" - find "${D}/usr/$(get_libdir)" -name '*.la' -delete || die "Removing .la files failed" - find "${D}/usr/$(get_libdir)" -name '*.a' -delete || die "Removing static libs failed" + exeinto /etc/X11/xinit/xinitrc.d + newexe packages/generic/36x11-common_xhost-boinc 95-boinc newinitd "${FILESDIR}"/boinc.initd-r1 boinc newconfd "${FILESDIR}"/boinc.confd-r1 boinc @@ -152,6 +166,9 @@ pkg_postinst() { # OpenCL and CUDA libraries are loaded with dlopen(), # no headers used at build time and no linking occurs. optfeature "CUDA applications support" x11-drivers/nvidia-drivers + optfeature "Docker applications support" \ + "app-containers/podman app-containers/podman-compose" \ + "app-containers/docker app-containers/docker-compose:2" optfeature "OpenCL applications support" virtual/opencl optfeature "VirtualBox applications support" app-emulation/virtualbox diff --git a/sci-misc/boinc/files/boinc.initd-r1 b/sci-misc/boinc/files/boinc.initd-r1 index 2a71c7f5f079b..64d72312f1d62 100644 --- a/sci-misc/boinc/files/boinc.initd-r1 +++ b/sci-misc/boinc/files/boinc.initd-r1 @@ -25,7 +25,7 @@ healthcheck_timer="60" : "${retry:="SIGTERM/60/SIGTERM/30/SIGKILL/30"}" depend() { - use dns net ntp-client ntpd + use dns net ntp-client ntpd docker } eboinccmd() {