Merge updates from master

This commit is contained in:
Repository mirror & CI
2025-12-18 22:01:04 +00:00
12 changed files with 444 additions and 140 deletions

View File

@@ -1 +1 @@
DIST xed-3.8.4.tar.gz 4603399 BLAKE2B fe311f47850615a14077904af8beeba11b054f849f399f2916b7338dd3b5bc7e29a71cde70d32d1201b01bbca12ef4417cf2078db038a747aa21281c0d8b204a SHA512 f443803ea07f5d35f9c1925dac76037750df9b9135c32746b8e0ef175c6b75ebcd92f5853bc94ced1f52a01d0a1f3c57a3ae1a58cb45a8ca98464459dbca8b2b
DIST xed-3.8.7.tar.gz 4639906 BLAKE2B 24796b2d39f56e8a1e5dfeeca70c8d8b10ad8c4ace1cd08730f3216787109d1c7884de1a0eede8738034c9b6e9c9d35aec3c4aa5328bda7fe78ee40947b4b8aa SHA512 668ca54207ca56f8e707c15eb97ef83f302758012486c33090bd078ef83b22db813ea8c4c891e97e515af252b73439decc9f8ddd6487db4993c8b4fcac50b4ee

View File

@@ -20,6 +20,7 @@ RDEPEND="
>=x11-libs/gtk+-3.19.3:=
>=x11-libs/gtksourceview-4.0.3
>=dev-libs/libpeas-1.12.0
<dev-libs/libpeas-2.0.0
x11-libs/pango
x11-libs/libxklavier
>=x11-libs/xapp-1.9.0
@@ -27,7 +28,10 @@ RDEPEND="
gtk-doc? ( dev-util/gtk-doc )
"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
BDEPEND="
virtual/pkgconfig
dev-util/itstool
"
src_configure() {
local emesonargs=(

View File

@@ -1 +1 @@
DIST curseforge-1.293.0_p29621.deb 95445056 BLAKE2B 5546b6cef9f02cbf7110d8cf9cbf541eaea2efdd1dadfa3af8cdf42a4cef571f3f03b586887f587aec25e29e818b32ecfe8122e4fa548f9726fdc6be4e3f746a SHA512 42deb6dc7412d23e8869087a40b4a98002e0ab828a73b6e430ae28f25f88fc69431d8320a07a88447a31fc16a53a4c9eec314f4358b80a8925024f076ff61920
DIST curseforge-1.294.0_p29866.deb 95641148 BLAKE2B c99248f4ffb75c3bd01351c5d0e6d3182384721269cf686e8ce958bf0d17d4c8d36940c3eb544fbb4e0ebb43d779d69cf05ab328a41fa76ab7272e5af81b47f8 SHA512 b096ea6e909ec055f7a1a9537514e478783890e8083015af3d095c634b416115a292b2bf208021941b6b9b18ae527653a81c81e338a79da941edfaffd9c0e293

View File

@@ -1,3 +1,2 @@
DIST Logic-2.4.29-linux-x64.AppImage 190784685 BLAKE2B 77e3ef319656fa000a33f7f43385d8132331df6b2aa7bcb7609b53e7cdf53b8c82c99e1508877c07ea20ac0af761501f2db9ae3043e71e09f701a171a4c13167 SHA512 7f99549b3aa1a0c60d157177b14216c2cb55eadbecd4043051a657e0b60a040c6d38ab3117575100f35e3a8fd3805436986b3653dad02240a262ce5283600aa3
DIST Logic-2.4.36-linux-x64.AppImage 191333184 BLAKE2B 2d7e9aa54ffcc47182acce8c158461f9cf2a152acaef3edef601e712dd065db9373403d5f75d39c027a74b2cd897e8c2b0d270d3f4a6972849cb08e52bb1bef6 SHA512 d38f2891f2fe2fe4294c25e737c4574d72d945348b9d833b22e8e96e7698c61594b77b87cce4cb56b76ed3788239aa8198b8a29e6402be11cecf7e8e7a638139
DIST Logic-2.4.39-linux-x64.AppImage 191523196 BLAKE2B 5c12092bb1ae95e8e5095bcb2d75f86044473308ce20c2dd288f76f5a441742dea5f7fc7bf4168eaef0b58caadcd20b8874d52d1b1c22e4fb8425802a6f34b96 SHA512 7eb9e90ab3cb1cf20aeee4af93b6bcc24021a4853dde53f84e1260c7029f876d2cd4f5eefecec66bd741662084f3743d3ede8f252c1dc21e1d96beb1d74efe2d
DIST Logic-2.4.40-linux-x64.AppImage 191604343 BLAKE2B c342c195c5de201d909bd8000844b4e0f0b14ab1996e7a7a6cca5ddd10397feb463a137b1a70eac3b208ae30ee12754c4f828a2dfb8b518b637113a0112c8edb SHA512 bc43b6f4690a1957db3bddc4d56c2bf5179ede9e2bd556306d638cb8a5fc6da7c4c1f495222f26e32af6806b07dcb6a43b4706e2649e55fc02e75c05b7e11733

View File

@@ -1,128 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CHROMIUM_LANGS="
af am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi
hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv
sw ta te th tr uk ur vi zh-CN zh-TW
"
inherit chromium-2 desktop xdg
APPIMAGE="Logic-${PV}-linux-x64.AppImage"
DESCRIPTION="Saleae logic analyzer"
HOMEPAGE="https://www.saleae.com"
SRC_URI="https://downloads2.saleae.com/logic2/${APPIMAGE}"
S="${WORKDIR}"
LICENSE="Saleae"
SLOT="0"
KEYWORDS="-* ~amd64"
RESTRICT="bindist mirror strip"
RDEPEND="
app-accessibility/at-spi2-core:2
dev-libs/dbus-glib
dev-libs/expat
dev-libs/glib:2
dev-libs/libdbusmenu
dev-libs/nspr
dev-libs/nss
media-libs/alsa-lib
media-libs/mesa
net-print/cups
sys-apps/dbus
sys-libs/libxcrypt
virtual/zlib
x11-libs/cairo
x11-libs/gdk-pixbuf:2
x11-libs/gtk+:2
x11-libs/gtk+:3
x11-libs/libnotify
x11-libs/libX11
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXrandr
x11-libs/libXScrnSaver
x11-libs/libXtst
x11-libs/libdrm
x11-libs/libxcb
x11-libs/libxkbcommon
x11-libs/pango
"
BDEPEND="dev-util/patchelf"
QA_PREBUILT="*"
src_unpack() {
cp "${DISTDIR}/${APPIMAGE}" "${S}" || die
cd "${S}" || die # "appimage-extract" unpacks to current directory
chmod +x "${APPIMAGE}" || die
./"${APPIMAGE}" --appimage-extract || die
}
src_prepare() {
# Fix permissions
find "${S}" -type d -exec chmod a+rx {} + || die
find "${S}" -type f -exec chmod a+r {} + || die
cd squashfs-root || die
for f in *.so; do
patchelf --set-rpath '$ORIGIN' $f || die
done
# scanelf: rpath_security_checks(): Security problem NULL DT_RUNPATH
pushd resources/linux-x64/Analyzers || die
for f in *.so; do
patchelf --set-rpath '$ORIGIN' $f || die
done
popd
pushd locales || die
chromium_remove_language_paks
popd
default
}
src_configure() {
default
chromium_suid_sandbox_check_kernel_config
}
src_install() {
cd "${S}/squashfs-root" || die
insinto /usr/share
doins -r ./usr/share/icons
local -a toremove=(
.DirIcon
AppRun
Logic.png
usr/lib/libnotify.so.4
usr/lib/libXss.so.1
usr/lib/libXtst.so.6
)
rm -r "${toremove[@]}" || die
insinto /opt/Logic
doins -r *
fperms 4755 /opt/Logic/chrome-sandbox
for i in Logic chrome_crashpad_handler *.so* usr/lib/*.so*; do
fperms +x "/opt/Logic/${i}"
done
dosym -r "/opt/Logic/Logic" /usr/bin/Logic
domenu Logic.desktop
}

View File

@@ -15,9 +15,11 @@ APPIMAGE="Logic-${PV}-linux-x64.AppImage"
DESCRIPTION="Saleae logic analyzer"
HOMEPAGE="https://www.saleae.com"
SRC_URI="https://downloads2.saleae.com/logic2/${APPIMAGE}"
SRC_URI="
amd64? ( https://downloads2.saleae.com/logic2/${APPIMAGE} )
"
S="${WORKDIR}"
LICENSE="Saleae"
SLOT="0"
KEYWORDS="-* ~amd64"
@@ -85,11 +87,11 @@ src_prepare() {
for f in *.so; do
patchelf --set-rpath '$ORIGIN' $f || die
done
popd
popd || die
pushd locales || die
chromium_remove_language_paks
popd
popd || die
default
}
@@ -116,7 +118,7 @@ src_install() {
rm -r "${toremove[@]}" || die
insinto /opt/Logic
doins -r *
doins -r ./*
fperms 4755 /opt/Logic/chrome-sandbox
for i in Logic chrome_crashpad_handler *.so* usr/lib/*.so*; do

View File

@@ -4,3 +4,5 @@ DIST ollama-0.13.1-deps.tar.xz 49906880 BLAKE2B efd7b64921784b1d68a27d07c1de8083
DIST ollama-0.13.1.gh.tar.gz 20813055 BLAKE2B 588ddb803868b3be49ac25f3798a6ad762cdb6a05c355876ab5f1b9b86457f5cebad3f023d6f2ba6f622ff130e4af2a8bfbb7a48284988643bba7e713b07d079 SHA512 91369ec02b7cfa001707b10226db805497df34e24dbc01d4408825775ba305f2c7ff3eccba508843c3e5f659624ced77bd88b1857c75bf08322bdda279dc7c13
DIST ollama-0.13.2-deps.tar.xz 49906880 BLAKE2B efd7b64921784b1d68a27d07c1de80836a57f163fc4a17748e52ac0e78480c8811f68149d8f75eff9ba2e19c8be62683c9e75d2b92cfef84100a0de2e7818e3c SHA512 0af9f5fc1d5633b6ac9934e5a7d232aa20c5e2f8d4eaeb0152c6fcf77e1922dc7b67fcc039933562832939553dc3861ca35cf2e604fd310934669227666aee3e
DIST ollama-0.13.2.gh.tar.gz 20871489 BLAKE2B 97fdec1c45eeca4394e3455655460e8363e5d70bcfcde8f5993107d5cf7229aea99ea60727d5240fd338546a93cb07f48c47d0adb6bd51f82642d3ea9a37e52a SHA512 4c29e7933c5cc3114382ba32ee9bf6f57ceab03963520e552885ff67ab0ab22f7e6cd1933e237ab22bfbe73ff366be63068a139955293e282819b492a64f8f7d
DIST ollama-0.13.4-deps.tar.xz 49906880 BLAKE2B efd7b64921784b1d68a27d07c1de80836a57f163fc4a17748e52ac0e78480c8811f68149d8f75eff9ba2e19c8be62683c9e75d2b92cfef84100a0de2e7818e3c SHA512 0af9f5fc1d5633b6ac9934e5a7d232aa20c5e2f8d4eaeb0152c6fcf77e1922dc7b67fcc039933562832939553dc3861ca35cf2e604fd310934669227666aee3e
DIST ollama-0.13.4.gh.tar.gz 20941151 BLAKE2B 76ae6bcd668f1f25477084f20ae549fbd5c9ac389f323661fa434af20ec3455a174dbdfcd99f68e045d55cd36aa46580b612e93037c669173534fb5032f9d054 SHA512 fc6e341fce5c40cd8d046bc9e303af9e6ab789b3ed9d48dc3565c7e52d3553062e0fa8acd587fb43c3710ab53e9b42ee126df8064e9c86f79e7149488d4b8d7d

View File

@@ -0,0 +1,350 @@
# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# supports ROCM/HIP >=5.5, but we define 6.1 due to the eclass
ROCM_VERSION="6.1"
inherit cuda rocm
inherit cmake
inherit flag-o-matic go-module linux-info systemd toolchain-funcs
DESCRIPTION="Get up and running with Llama 3, Mistral, Gemma, and other language models."
HOMEPAGE="https://ollama.com"
if [[ ${PV} == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/ollama/ollama.git"
else
SRC_URI="
https://github.com/ollama/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz
https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/${P}-deps.tar.xz
"
KEYWORDS="~amd64"
fi
LICENSE="MIT"
SLOT="0"
X86_CPU_FLAGS=(
sse4_2
avx
f16c
avx2
bmi2
fma3
avx512f
avx512vbmi
avx512_vnni
avx_vnni
)
CPU_FLAGS=( "${X86_CPU_FLAGS[@]/#/cpu_flags_x86_}" )
IUSE="blas ${CPU_FLAGS[*]} cuda mkl rocm vulkan"
# IUSE+=" opencl"
RESTRICT="mirror test"
COMMON_DEPEND="
blas? (
!mkl? (
virtual/blas
)
mkl? (
sci-libs/mkl[llvm-openmp]
)
)
cuda? (
dev-util/nvidia-cuda-toolkit:=
)
rocm? (
>=dev-util/hip-${ROCM_VERSION}:=
>=sci-libs/hipBLAS-${ROCM_VERSION}:=
>=sci-libs/rocBLAS-${ROCM_VERSION}:=
)
"
DEPEND="
${COMMON_DEPEND}
>=dev-lang/go-1.23.4
"
BDEPEND="
vulkan? (
dev-util/vulkan-headers
media-libs/shaderc
)
"
RDEPEND="
${COMMON_DEPEND}
acct-group/${PN}
>=acct-user/${PN}-3[cuda?]
"
PATCHES=(
"${FILESDIR}/${PN}-9999-use-GNUInstallDirs.patch"
)
pkg_pretend() {
if use amd64; then
if use cpu_flags_x86_f16c && use cpu_flags_x86_avx2 && use cpu_flags_x86_fma3 && ! use cpu_flags_x86_bmi2; then
ewarn
ewarn "CPU_FLAGS_X86: bmi2 not enabled."
ewarn " Not building haswell runner."
ewarn " Not building skylakex runner."
ewarn " Not building icelake runner."
ewarn " Not building alderlake runner."
ewarn
if grep bmi2 /proc/cpuinfo > /dev/null; then
ewarn "bmi2 found in /proc/cpuinfo"
ewarn
fi
fi
fi
}
pkg_setup() {
if use rocm; then
linux-info_pkg_setup
if linux-info_get_any_version && linux_config_exists; then
if ! linux_chkconfig_present HSA_AMD_SVM; then
ewarn "To use ROCm/HIP, you need to have HSA_AMD_SVM option enabled in your kernel."
fi
fi
fi
}
src_unpack() {
# Already filter lto flags for ROCM
# 963401
if use rocm; then
# copied from _rocm_strip_unsupported_flags
strip-unsupported-flags
export CXXFLAGS="$(test-flags-HIPCXX "${CXXFLAGS}")"
fi
if [[ "${PV}" == *9999* ]]; then
git-r3_src_unpack
go-module_live_vendor
else
go-module_src_unpack
fi
}
src_prepare() {
cmake_src_prepare
sed \
-e "/set(GGML_CCACHE/s/ON/OFF/g" \
-e "/PRE_INCLUDE_REGEXES.*cu/d" \
-e "/PRE_INCLUDE_REGEXES.*hip/d" \
-i CMakeLists.txt || die "bundle headers sed failed"
# TODO see src_unpack?
sed \
-e "s/ -O3//g" \
-i \
ml/backend/ggml/ggml/src/ggml-cpu/cpu.go \
|| die "-O3 sed failed"
# grep -Rl -e 'lib/ollama' -e '"..", "lib"' --include '*.go'
sed \
-e "s/\"..\", \"lib\"/\"..\", \"$(get_libdir)\"/" \
-e "s#\"lib/ollama\"#\"$(get_libdir)/ollama\"#" \
-i \
ml/backend/ggml/ggml/src/ggml.go \
ml/path.go \
|| die "libdir sed failed"
if use amd64; then
if
! use cpu_flags_x86_sse4_2; then
sed -e "/ggml_add_cpu_backend_variant(sse42/s/^/# /g" -i ml/backend/ggml/ggml/src/CMakeLists.txt || die
# SSE42)
fi
if
! use cpu_flags_x86_sse4_2 ||
! use cpu_flags_x86_avx; then
sed -e "/ggml_add_cpu_backend_variant(sandybridge/s/^/# /g" -i ml/backend/ggml/ggml/src/CMakeLists.txt || die
# SSE42 AVX)
fi
if
! use cpu_flags_x86_sse4_2 ||
! use cpu_flags_x86_avx ||
! use cpu_flags_x86_f16c ||
! use cpu_flags_x86_avx2 ||
! use cpu_flags_x86_bmi2 ||
! use cpu_flags_x86_fma3; then
sed -e "/ggml_add_cpu_backend_variant(haswell/s/^/# /g" -i ml/backend/ggml/ggml/src/CMakeLists.txt || die
# SSE42 AVX F16C AVX2 BMI2 FMA)
fi
if
! use cpu_flags_x86_sse4_2 ||
! use cpu_flags_x86_avx ||
! use cpu_flags_x86_f16c ||
! use cpu_flags_x86_avx2 ||
! use cpu_flags_x86_bmi2 ||
! use cpu_flags_x86_fma3 ||
! use cpu_flags_x86_avx512f; then
sed -e "/ggml_add_cpu_backend_variant(skylakex/s/^/# /g" -i ml/backend/ggml/ggml/src/CMakeLists.txt || die
# SSE42 AVX F16C AVX2 BMI2 FMA AVX512)
fi
if
! use cpu_flags_x86_sse4_2 ||
! use cpu_flags_x86_avx ||
! use cpu_flags_x86_f16c ||
! use cpu_flags_x86_avx2 ||
! use cpu_flags_x86_bmi2 ||
! use cpu_flags_x86_fma3 ||
! use cpu_flags_x86_avx512f ||
! use cpu_flags_x86_avx512vbmi ||
! use cpu_flags_x86_avx512_vnni; then
sed -e "/ggml_add_cpu_backend_variant(icelake/s/^/# /g" -i ml/backend/ggml/ggml/src/CMakeLists.txt || die
# SSE42 AVX F16C AVX2 BMI2 FMA AVX512 AVX512_VBMI AVX512_VNNI)
fi
if
! use cpu_flags_x86_sse4_2 ||
! use cpu_flags_x86_avx ||
! use cpu_flags_x86_f16c ||
! use cpu_flags_x86_avx2 ||
! use cpu_flags_x86_bmi2 ||
! use cpu_flags_x86_fma3 ||
! use cpu_flags_x86_avx_vnni; then
sed -e "/ggml_add_cpu_backend_variant(alderlake/s/^/# /g" -i ml/backend/ggml/ggml/src/CMakeLists.txt || die
# SSE42 AVX F16C AVX2 BMI2 FMA AVX_VNNI)
fi
# ml/backend/ggml/ggml/src/CMakeLists.txt
fi
if use cuda; then
cuda_src_prepare
fi
if use rocm; then
# --hip-version gets appended to the compile flags which isn't a known flag.
# This causes rocm builds to fail because -Wunused-command-line-argument is turned on.
# Use nuclear option to fix this.
# Disable -Werror's from go modules.
find "${S}" -name ".go" -exec sed -i "s/ -Werror / /g" {} + || die
fi
}
src_configure() {
local mycmakeargs=(
-DGGML_CCACHE="no"
# -DGGML_CPU="yes"
-DGGML_BLAS="$(usex blas)"
# -DGGML_CUDA="$(usex cuda)"
# -DGGML_HIP="$(usex rocm)"
# -DGGML_METAL="yes" # apple
# missing from ml/backend/ggml/ggml/src/
# -DGGML_CANN="yes"
# -DGGML_MUSA="yes"
# -DGGML_RPC="yes"
# -DGGML_SYCL="yes"
# -DGGML_KOMPUTE="$(usex kompute)"
# -DGGML_OPENCL="$(usex opencl)"
# -DGGML_VULKAN="$(usex vulkan)"
"$(cmake_use_find_package vulkan Vulkan)"
)
if use blas; then
if use mkl; then
mycmakeargs+=(
-DGGML_BLAS_VENDOR="Intel10_64lp"
)
else
mycmakeargs+=(
-DGGML_BLAS_VENDOR="Generic"
)
fi
fi
if use cuda; then
local -x CUDAHOSTCXX CUDAHOSTLD
CUDAHOSTCXX="$(cuda_gccdir)"
CUDAHOSTLD="$(tc-getCXX)"
cuda_add_sandbox -w
addpredict "/dev/char/"
else
mycmakeargs+=(
-DCMAKE_CUDA_COMPILER="NOTFOUND"
)
fi
if use rocm; then
mycmakeargs+=(
-DCMAKE_HIP_ARCHITECTURES="$(get_amdgpu_flags)"
-DCMAKE_HIP_PLATFORM="amd"
)
local -x HIP_PATH="${ESYSROOT}/usr"
else
mycmakeargs+=(
-DCMAKE_HIP_COMPILER="NOTFOUND"
)
fi
cmake_src_configure
}
src_compile() {
# export version information
# https://github.com/gentoo/guru/pull/205
# https://forums.gentoo.org/viewtopic-p-8831646.html
local VERSION
if [[ "${PV}" == *9999* ]]; then
VERSION="$(
git describe --tags --first-parent --abbrev=7 --long --dirty --always \
| sed -e "s/^v//g"
)"
else
VERSION="${PVR}"
fi
local EXTRA_GOFLAGS_LD=(
# "-w" # disable DWARF generation
# "-s" # disable symbol table
"-X=github.com/ollama/ollama/version.Version=${VERSION}"
"-X=github.com/ollama/ollama/server.mode=release"
)
GOFLAGS+=" '-ldflags=${EXTRA_GOFLAGS_LD[*]}'"
ego build
cmake_src_compile
}
src_install() {
dobin ollama
cmake_src_install
newinitd "${FILESDIR}/ollama.init" "${PN}"
newconfd "${FILESDIR}/ollama.confd" "${PN}"
systemd_dounit "${FILESDIR}/ollama.service"
}
pkg_preinst() {
keepdir /var/log/ollama
fperms 750 /var/log/ollama
fowners "${PN}:${PN}" /var/log/ollama
}
pkg_postinst() {
if [[ -z ${REPLACING_VERSIONS} ]] ; then
einfo "Quick guide:"
einfo "\tollama serve"
einfo "\tollama run llama3:70b"
einfo
einfo "See available models at https://ollama.com/library"
fi
if use cuda ; then
einfo "When using cuda the user running ${PN} has to be in the video group or it won't detect devices."
einfo "The ebuild ensures this for user ${PN} via acct-user/${PN}[cuda]"
fi
}

View File

@@ -50,7 +50,7 @@ COMMON_DEPEND="
virtual/blas
)
mkl? (
sci-libs/mkl
sci-libs/mkl[llvm-openmp]
)
)
cuda? (
@@ -253,7 +253,7 @@ src_configure() {
if use blas; then
if use mkl; then
mycmakeargs+=(
-DGGML_BLAS_VENDOR="Intel"
-DGGML_BLAS_VENDOR="Intel10_64lp"
)
else
mycmakeargs+=(

View File

@@ -1 +1,2 @@
DIST corefreq-2.0.8.tar.gz 1236511 BLAKE2B bb125d356e9b140bf9e93b3e5d96a27f2bdc56f6588fcf24bfd423fa7a11a04a1e2f777aab0141cbffeb0757133a22c01599d791df38f3230e6a413e1e1f78d3 SHA512 efbebb70d80425db2f448814e2c219013f795150a1cf13246565e3863fd0c66780e38f7a673479fe99cc3d5605d260e6caa77671cdfa74edf75d28db26817109
DIST corefreq-2.0.9.tar.gz 1237167 BLAKE2B 711de9b3293082997e62b7909bee6839bf7c02ee54ff564566f0791fd34f16c187951606dbc53f82117a00626a1e1a2a1be48f90f24aa44e1dcf6cb4f778908f SHA512 dfc6da41a3345b8d66dff7a7359e4cfc860f4fe2756820f9bc782feb64491b5e74e5ff8aaba43d94cdd830d42aa2c896dacfe0564504adc5e379ddeb120b075f

View File

@@ -0,0 +1,74 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit linux-mod-r1 systemd toolchain-funcs
DESCRIPTION="CPU monitoring and tuning software designed for 64-bit processors"
HOMEPAGE="https://www.cyring.fr/"
SRC_URI="https://github.com/cyring/CoreFreq/archive/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/CoreFreq-${PV}"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64"
DOCS=( README.md )
pkg_setup() {
# see README.md
# required
local CONFIG_CHECK="SMP X86_MSR"
# optional
local optional_checks=(
HOTPLUG_CPU
CPU_IDLE
CPU_FREQ
PM_SLEEP
DMI
HAVE_NMI
XEN
AMD_NB
HAVE_PERF_EVENTS
SCHED_MUQSS
SCHED_BMQ
SCHED_PDS
)
CONFIG_CHECK+="$(printf " ~%s" "${optional_checks[@]}")"
local check
for check in "${optional_checks[@]}"; do
eval "WARNING_${check}"="\"CONFIG_${check} is optional and not enabled\""
done
linux-mod-r1_pkg_setup
}
src_compile() {
local modlist=( corefreqk=misc::build )
local modargs=( KERNELDIR="${KV_OUT_DIR}" )
linux-mod-r1_src_compile
emake V=1 CC="$(tc-getCC)" OPTIM_FLG="${CFLAGS} ${LDFLAGS}" corefreqd corefreq-cli
}
src_install() {
linux-mod-r1_src_install
dobin build/{corefreqd,corefreq-cli}
newconfd "${FILESDIR}/${PN}.conf" "${PN}"
doinitd "${FILESDIR}/${PN}"
systemd_dounit "${PN}d.service"
}
pkg_postinst() {
linux-mod-r1_pkg_postinst
einfo "To be able to use corefreq, you need to load kernel module:"
einfo "modprobe corefreqk"
einfo "After that - start daemon with corefreqd"
einfo "or by 'rc-service corefreq start'"
einfo "And only after that you can start corefreq-cli"
}