-
Notifications
You must be signed in to change notification settings - Fork 116
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
sys-power/auto-cpufreq: add 2.4.0 ebuild
Signed-off-by: Michal Vu <[email protected]>
- Loading branch information
Michal Vu
committed
Sep 11, 2024
1 parent
04722c6
commit fec152b
Showing
2 changed files
with
148 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
DIST auto-cpufreq-2.1.0.tar.gz 211221 BLAKE2B ee376e44b31cd93ae37c3a800fd1b7e89af3b696e1d128d2bc8d335b1240d2e2b0d5aa0e90cd1465185bfff9cee02069ee1d46120be014b1dc61ce056308d4a1 SHA512 e01e6f03e7fcd3e0640ebd829234a07043c8d88bd1feabbcc6df463007b2e93410935394257bc28ed1297b294292425adfe4079a3dff0ec5636c23c3cbdd9ee0 | ||
DIST auto-cpufreq-2.2.0.tar.gz 213108 BLAKE2B 78d61df3120153fddc50a6cea1c209d14da4aa1072fa10ba4a40c7e4268cf4b2d203a932950087716b08b0551c939bf694d7501c4df4f27d266c2711118afa58 SHA512 9a41f9e7b6e27f0bf7c58da28f84db4db442dee1ab77ee0a849190127b148cb15f5c1a1886f8d2950ef861e6250432383f78b01851f8cdc6ebb9c95b1113acf4 | ||
DIST auto-cpufreq-2.3.0.tar.gz 216356 BLAKE2B ac4c0f293575d7e0deb7b31437674f06e614930eeff35cc7e57cca0088e8cf928b9401fcda72d48de12ccf158181cb9290a57dd49047fe3ae9ee182507dfab12 SHA512 46438401cfc662c8b26350e8e6d8ff147d87b49b65162dbdcced5c6e2d7a4762e8d732823c92ae6da80e2b4298999a3131ff574a3ec4293bd8b65979de36e688 | ||
DIST auto-cpufreq-2.4.0.tar.gz 217070 BLAKE2B c572f6665feb55d2fc62d7cb0ec1ec5a8fd382e6745a422ab276deacd1936a6fbd4af8191725877c07958c1b89cb2daaff8cfb9c8ecdbd7cd4047e7986ce82ec SHA512 42fbf2d1a0b97b76343546d1f67c6da25e912001b521a94b7d4e4170b0b5e8e5450a08535a9f22e289ffaccffcd8c8377b22b7bb07d3e139b602f1cb924bd301 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,147 @@ | ||
# Copyright 1999-2024 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=8 | ||
|
||
PYTHON_COMPAT=( python3_{10..13} ) | ||
DISTUTILS_USE_PEP517=poetry | ||
|
||
inherit distutils-r1 systemd xdg-utils desktop | ||
|
||
DESCRIPTION="Automatic CPU speed & power optimizer for Linux" | ||
HOMEPAGE="https://github.com/AdnanHodzic/auto-cpufreq" | ||
SRC_URI="https://github.com/AdnanHodzic/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" | ||
|
||
LICENSE="GPL-3" | ||
SLOT="0" | ||
KEYWORDS="~amd64" | ||
|
||
RDEPEND=" | ||
dev-python/click[${PYTHON_USEDEP}] | ||
dev-python/distro[${PYTHON_USEDEP}] | ||
dev-python/psutil[${PYTHON_USEDEP}] | ||
dev-python/pygobject[${PYTHON_USEDEP}] | ||
dev-python/pyinotify[${PYTHON_USEDEP}] | ||
dev-python/requests[${PYTHON_USEDEP}] | ||
" | ||
DEPEND="${RDEPEND}" | ||
BDEPEND=" | ||
dev-python/poetry-core[${PYTHON_USEDEP}] | ||
" | ||
|
||
DOCS=( README.md ) | ||
|
||
src_prepare() { | ||
default | ||
# Update pyproject.toml to avoid dynamic_versioning in poetry | ||
sed -i 's/poetry_dynamic_versioning.backend/poetry.core.masonry.api/' pyproject.toml || die | ||
# Replace /usr/local/ paths with /usr/ in the source code to adhere to Gentoo standards | ||
sed -i 's|/usr/local/share|/usr/share|g' scripts/auto-cpufreq-install.sh || die | ||
sed -i 's|usr/local|usr|g' "scripts/${PN}.service" "scripts/${PN}-openrc" auto_cpufreq/core.py || die | ||
sed -i 's|usr/local|usr|g' "scripts/${PN}.service" "scripts/${PN}-openrc" auto_cpufreq/gui/app.py || die | ||
# Modify the service file to launch auto-cpufreq natively without the need for virtual environment | ||
sed -i 's|WorkingDirectory=/opt/auto-cpufreq/venv||g' scripts/auto-cpufreq.service || die | ||
sed -i 's|Environment=PYTHONPATH=/opt/auto-cpufreq||g' scripts/auto-cpufreq.service || die | ||
sed -i 's|ExecStart=/opt/auto-cpufreq/venv/bin/python /opt/auto-cpufreq/venv/bin/auto-cpufreq --daemon|ExecStart=/usr/bin/auto-cpufreq --daemon|g' scripts/auto-cpufreq.service || die | ||
# Change the path in core.py | ||
sed -i 's|/opt/auto-cpufreq/override.pickle|/var/lib/auto-cpufreq/override.pickle|g' auto_cpufreq/core.py || die | ||
distutils-r1_src_prepare | ||
} | ||
|
||
python_install() { | ||
distutils-r1_python_install | ||
|
||
# Create the scripts directory if it doesn't exist | ||
dodir "/usr/share/${PN}/scripts" | ||
|
||
# Create the directory for override.pickle | ||
dodir /var/lib/auto-cpufreq | ||
keepdir /var/lib/auto-cpufreq | ||
fowners root:root /var/lib/auto-cpufreq | ||
fperms 0755 /var/lib/auto-cpufreq | ||
|
||
# Copy all scripts from the 'scripts' directory | ||
for script in scripts/*; do | ||
if [[ -f "$script" ]]; then | ||
case "${script##*/}" in | ||
*.sh|*.py|auto-cpufreq-*|cpufreqctl.sh) | ||
exeinto "/usr/share/${PN}/scripts" | ||
doexe "$script" | ||
;; | ||
*) | ||
insinto "/usr/share/${PN}/scripts" | ||
doins "$script" | ||
;; | ||
esac | ||
fi | ||
done | ||
|
||
# Copy images | ||
insinto "/usr/share/${PN}/images" | ||
doins images/* | ||
|
||
# Install icon | ||
doicon -s 128 images/icon.png | ||
|
||
# Install polkit policy | ||
insinto /usr/share/polkit-1/actions | ||
doins scripts/org.auto-cpufreq.pkexec.policy | ||
|
||
# Install desktop file | ||
domenu scripts/auto-cpufreq-gtk.desktop | ||
|
||
# Install systemd service file | ||
systemd_dounit "scripts/${PN}.service" | ||
|
||
# Install OpenRC init script | ||
newinitd "scripts/${PN}-openrc" "${PN}" | ||
} | ||
|
||
pkg_postinst() { | ||
xdg_icon_cache_update | ||
xdg_desktop_database_update | ||
|
||
elog "Updating XDG database" | ||
|
||
elog "The auto-cpufreq override file will be stored in /var/lib/auto-cpufreq/override.pickle" | ||
|
||
# Create log file | ||
touch /var/log/auto-cpufreq.log | ||
elog "" | ||
elog "Enable auto-cpufreq daemon service at boot:" | ||
elog "systemd: systemctl enable --now auto-cpufreq" | ||
elog "openrc: rc-update add auto-cpufreq default" | ||
elog "" | ||
elog "To view live log, run:" | ||
elog "auto-cpufreq --stats" | ||
} | ||
|
||
pkg_postrm() { | ||
xdg_icon_cache_update | ||
xdg_desktop_database_update | ||
|
||
# Remove the override.pickle file and directory | ||
if [[ -d "${EROOT}/var/lib/auto-cpufreq" ]]; then | ||
rm -rf "${EROOT}"/var/lib/auto-cpufreq || die | ||
fi | ||
|
||
# Remove auto-cpufreq log file | ||
if [ -f "${EROOT}/var/log/auto-cpufreq.log" ]; then | ||
rm "${EROOT}"/var/log/auto-cpufreq.log || die | ||
fi | ||
|
||
# Remove auto-cpufreq-install script | ||
if [ -f "${EROOT}/usr/bin/auto-cpufreq-install" ]; then | ||
rm "${EROOT}"/usr/bin/auto-cpufreq-install || die | ||
fi | ||
|
||
# Restore original cpufreqctl binary if backup was made | ||
if [ -f "${EROOT}/usr/bin/cpufreqctl.auto-cpufreq.bak" ]; then | ||
mv "${EROOT}"/usr/bin/cpufreqctl.auto-cpufreq{.bak,} || die | ||
fi | ||
# Remove auto-cpufreq's cpufreqctl binary | ||
# it overwrites cpufreqctl.sh | ||
if [ -f "${EROOT}/usr/bin/cpufreqctl" ]; then | ||
rm "${EROOT}"/usr/bin/cpufreqctl || die | ||
fi | ||
} |