Merge updates from master

This commit is contained in:
Repository mirror & CI
2024-07-14 15:33:49 +00:00
9 changed files with 135 additions and 230 deletions

View File

@@ -1 +1 @@
DIST tdscpp-20240629.tar.gz 726330 BLAKE2B 61d3de2cf991d109cd58e3fc5cbdb2e5d5503fedba40431fff7eb01483e06e6d5ace737f650d44e1033f778cfcb893fd6f1f0506bc848ebebbb9e152332cc4ee SHA512 96ccfe86ecbe34fa7c55115d33ceb277c065f3ffef8600e1cf5df5daf458fedf35e994d3d335b5724436bf283622d32252616d4e9336fcf0123af5edb3f32bf1
DIST tdscpp-20240707.tar.gz 728339 BLAKE2B 1a5cc1410b87872e59ca64a01900c1cdde550aadf12f7f4bc954b34d4bee9d266eb634e7e6cdc12281060baa8c7a267d2d8b9ba84e1d542ada23522fe71decf6 SHA512 62cab90e17394a5f1c4058bc3a606c1f9542fbad4a749032964ae76dfbcf903f7ff1b20a459c2b3d784c4abb31b5abe7e582b30eaebd83ac9887629221f4a694

View File

@@ -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

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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>

View File

@@ -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>

View File

@@ -1 +1 @@
DIST openpgp-keys-emersion-20230421.asc 2263 BLAKE2B 03d35a3daa24b811de36e34f5c7bf082b8a49438acd33080ce2f01d8db7b0e0cdbd03d254ebb0ca8b1608815092a6e6e42fe7b5cbdecfa6f310e9f8608f04d6f SHA512 5681bac74f6e7e34230ad9a0127161872eb77a237ac5534127467046d90bdff1abe96d269ca4f8ff8c076ccbb88a4e71feb1525196f9df19a03efe05a69cea6f
DIST openpgp-keys-emersion-20240714.asc 2263 BLAKE2B 2cee5af46ddfd374b94368c805f7a663015ebc90501f1ecb21e548ec209156ff658f6f8ad97eb0415fe74b6c0e30dd232872bfca28b5002ce130cdf590742550 SHA512 0033b669a58a63c256aa641178b9cbbbeef5bd8a017f0080f2a07c3fb393273e151931378b33724428491f7c537b26026781abede72d225a7d95e6b48bbd2dc5

View File

@@ -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