Merge updates from master

This commit is contained in:
Repository mirror & CI
2026-01-10 14:16:17 +00:00
25 changed files with 694 additions and 128 deletions

View File

@@ -1,2 +1,2 @@
DIST codebook-0.3.22-deps.tar.xz 40343320 BLAKE2B 2c4a5ba980cccbe55f8934d1d7fce9bae3b3c783d86c323cdf21f4a3334f55e0bd2bf4e378538f83ba42ed696cc8ef89a00b22714e4051c998a8efeedb660dea SHA512 74af0c20e9edacb75033a4686ccb6087983c7f6d63d6cc83a9bda9f076e998a1e5e5bc59008c737e50eb85b0b3e9634c1833029d765e82517fe4b7762f444a36
DIST codebook-0.3.22.tar.gz 2656044 BLAKE2B da8b6f39ff662fed9e01005aee828b2bae657788f14a36d08a55325ef8b49219f5bf483b2a0c402d8bc8ae520a931a2613faad50497efaee9947c2b12cff18d0 SHA512 f4089b39c8887aa2cab5c934fb93d9d41d516cb1f76a8cb5f3f13ce805e59607c9b7116d03397440030ff2b38416a0f075fd0198a00f2bd1d8124078a706a115
DIST codebook-0.3.28-deps.tar.xz 40693108 BLAKE2B 6bf3d6ae6492376edc3ddcd512bb6cee968c1ca6460d8e786fb036374819acf3883c3d9ec29b884e21f223dbd0848d4fe9ce52931261bb4a01bdabd42aa0ea04 SHA512 634b7d2d662a9a0618dfefab92a1d8025c3a0104ec750845b7bd89d01d20c0bec3103b7ab222b738eeaca60499a7b56347d48e62b72da58936f9223fa7b474b4
DIST codebook-0.3.28.tar.gz 2661971 BLAKE2B fa56a56ae363824ba10bcc2a2151cc18a53661e138fe4c9d500389639a0cc1de6a56b7aafbcef331fa5bbe4fbb79589896cfc9e92fb7849052976bf30737e531 SHA512 d0d67265d7654d8ea58e413e6c1c5b0225f8dcedd82b96998b28b797b70babb0c1e861852f2b184bd10167f630f7c07485a770fe10d84ccbd8ed7d3fb4740308

View File

@@ -1,3 +1,2 @@
DIST fastapi-0.120.0.tar.gz 337603 BLAKE2B 0150e31be14538831e13fdce62148c8c29bd4dd033b87c08f628b0890815fc2621d07eb2ef2d4606c7c7141cedcaf7f74dabdf9fffc2a9891d6a1925e8852213 SHA512 656de3e759232151c558e14223261a616ddb7ecb027830453abe599919bcae6a1e46d6da0ce9e81d34a10f6e84546c7339b1e387d6aa786e6d4d9857d89a8256
DIST fastapi-0.120.2.tar.gz 338684 BLAKE2B 30bb468727b21b659eab41bfe33419d83699fe65d2d4bd51419f37bcd70563561f573144a6dddc99625e50dd6c21145954175fa292418b08e8d33c1d0055c41c SHA512 181b82d448dc64be5f95394273f74e55fd3378f521ac2044885b23b6dfc5ed6d0131337344bd7344261f9f1daf76a850f72b094a3432e6187e539168a617ac42
DIST fastapi-0.121.0.tar.gz 342412 BLAKE2B 06efa91fad91b109b4d62f3bb3a53d2fbf3eae9bd18146c8ff8fdaa2fd61a71f9648f919c3819bd9705526aec01de8fc9a6dfd653ab895996e5808c9c8be511c SHA512 de4663dc0a5c9d6dc1b127f9d5e4cc08d03f0d219b50504202f5c5964fbab4208fdfb69e53237ade0fb09f53feac631df8f4d576417e52411e39f1a69dfc88ee
DIST fastapi-0.125.0.tar.gz 370550 BLAKE2B 0aff60b022fbe6252981ca962aab599aef2a4bbff06e44d919aa23ebdb587605327690c9572d3b021ad24df5d6b83acdc223a21c86598cfe38e1017552962170 SHA512 45ac3cce536ad8efe12f01db9a3347b9d8d023433f07a76efc2c10363db747abcaecbea9c597f571fa6f90355e5b75ec9416e5648660240427d9a77155b44b0a
DIST fastapi-0.127.0.tar.gz 369269 BLAKE2B 5d7372892fdc63b3f8e9b75f3c7d9d23a902792badb91298e423e1d4630c77edf03ececef01db4fb0da750b6f5df4ec774e13da16c076f191aeeaf89fb2d72a4 SHA512 ec453a68385904b5d2d073ff362062a903b6b91c47cfce50e482715f4acd11574052c6d0d63f9a3932895226cff92d2c3771400b2d1230ebe55e1c9a45845c60

View File

@@ -1,110 +0,0 @@
# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=pdm-backend
PYTHON_COMPAT=( python3_{12..13} )
inherit distutils-r1 optfeature
DESCRIPTION="FastAPI framework, high performance, easy to learn, ready for production"
HOMEPAGE="
https://fastapi.tiangolo.com/
https://pypi.org/project/fastapi/
https://github.com/fastapi/fastapi
"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/fastapi/fastapi.git"
else
inherit pypi
KEYWORDS="~amd64"
fi
LICENSE="MIT"
SLOT="0"
RDEPEND="
>=dev-python/annotated-doc-0.0.2[${PYTHON_USEDEP}]
<dev-python/pydantic-3.0.0[${PYTHON_USEDEP}]
>=dev-python/pydantic-1.7.4[${PYTHON_USEDEP}]
<dev-python/starlette-0.50.0[${PYTHON_USEDEP}]
>=dev-python/starlette-0.40.0[${PYTHON_USEDEP}]
>=dev-python/typing-extensions-4.8.0[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/aiosqlite[${PYTHON_USEDEP}]
>=dev-python/anyio-3.2.1[${PYTHON_USEDEP}]
dev-python/argon2-cffi[${PYTHON_USEDEP}]
dev-python/dirty-equals[${PYTHON_USEDEP}]
dev-python/email-validator[${PYTHON_USEDEP}]
>=dev-python/flask-1.1.2[${PYTHON_USEDEP}]
>=dev-python/inline-snapshot-0.21.1[${PYTHON_USEDEP}]
>=dev-python/jinja2-3.1.5[${PYTHON_USEDEP}]
dev-python/orjson[${PYTHON_USEDEP}]
>=dev-python/pwdlib-0.2.1[${PYTHON_USEDEP}]
dev-python/pydantic-settings[${PYTHON_USEDEP}]
dev-python/pyjwt[${PYTHON_USEDEP}]
>=dev-python/python-multipart-0.0.18[${PYTHON_USEDEP}]
<dev-python/pyyaml-7.0.0[${PYTHON_USEDEP}]
>=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}]
dev-python/sqlmodel[${PYTHON_USEDEP}]
dev-python/trio[${PYTHON_USEDEP}]
dev-python/ujson[${PYTHON_USEDEP}]
)
"
# brotli and zstd due to starlette based tests expecting it
PATCHES=(
"${FILESDIR}/${PN}-0.115.6-httpx-0.28-test-fix.patch"
)
EPYTEST_PLUGINS=( anyio )
distutils_enable_tests pytest
EPYTEST_DESELECT=(
# Depends on coverage
"tests/test_fastapi_cli.py::test_fastapi_cli"
# Test result affected by unrelated packages such as brotli and zstd
# https://github.com/fastapi/fastapi/blob/7c6f2f8fde68f488163376c9e92a59d46c491298/tests/test_tutorial/test_header_param_models/test_tutorial001.py#L77
"tests/test_tutorial/test_header_param_models/test_tutorial001.py::test_header_param_model_invalid"
"tests/test_tutorial/test_header_param_models/test_tutorial003.py::test_header_param_model_invalid"
"tests/test_tutorial/test_header_param_models/test_tutorial003.py::test_header_param_model_no_underscore"
# https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6afa196ca0cb1604875847b1b84fa64896a06f6e
"tests/test_multipart_installation.py::test_incorrect_multipart_installed_form"
"tests/test_multipart_installation.py::test_incorrect_multipart_installed_file_upload"
"tests/test_multipart_installation.py::test_incorrect_multipart_installed_file_bytes"
"tests/test_multipart_installation.py::test_incorrect_multipart_installed_multi_form"
"tests/test_multipart_installation.py::test_incorrect_multipart_installed_form_file"
"tests/test_multipart_installation.py::test_no_multipart_installed"
"tests/test_multipart_installation.py::test_no_multipart_installed_file"
"tests/test_multipart_installation.py::test_no_multipart_installed_file_bytes"
"tests/test_multipart_installation.py::test_no_multipart_installed_multi_form"
"tests/test_multipart_installation.py::test_no_multipart_installed_form_file"
"tests/test_multipart_installation.py::test_old_multipart_installed"
# Hangs with network-sandbox
"tests/test_tutorial/test_websockets/test_tutorial003_py39.py::test_websocket_handle_disconnection"
)
python_prepare_all() {
# Dont install fastapi executable as fastapi-cli is supposed to handle it
sed -i -e '/\[project.scripts\]/,/^$/d' pyproject.toml || die
distutils-r1_python_prepare_all
}
pkg_postinst() {
optfeature "commandline interface" dev-python/fastapi-cli
optfeature "test client" dev-python/httpx
optfeature "templates" dev-python/jinja2
optfeature "forms and file uploads" dev-python/python-multipart
optfeature "validate emails" dev-python/email-validator
optfeature "uvicorn with uvloop" dev-python/uvicorn
optfeature_header "Alternative JSON responses"
optfeature "ORJSONResponse" dev-python/orjson
optfeature "UJSONResponse" dev-python/ujson
}

View File

@@ -30,7 +30,7 @@ RDEPEND="
>=dev-python/annotated-doc-0.0.2[${PYTHON_USEDEP}]
<dev-python/pydantic-3.0.0[${PYTHON_USEDEP}]
>=dev-python/pydantic-1.7.4[${PYTHON_USEDEP}]
<dev-python/starlette-0.49.0[${PYTHON_USEDEP}]
<dev-python/starlette-0.51.0[${PYTHON_USEDEP}]
>=dev-python/starlette-0.40.0[${PYTHON_USEDEP}]
>=dev-python/typing-extensions-4.8.0[${PYTHON_USEDEP}]
"

View File

@@ -28,9 +28,8 @@ SLOT="0"
RDEPEND="
>=dev-python/annotated-doc-0.0.2[${PYTHON_USEDEP}]
<dev-python/pydantic-3.0.0[${PYTHON_USEDEP}]
>=dev-python/pydantic-1.7.4[${PYTHON_USEDEP}]
<dev-python/starlette-0.50.0[${PYTHON_USEDEP}]
>=dev-python/pydantic-2.7.0[${PYTHON_USEDEP}]
<dev-python/starlette-0.51.0[${PYTHON_USEDEP}]
>=dev-python/starlette-0.40.0[${PYTHON_USEDEP}]
>=dev-python/typing-extensions-4.8.0[${PYTHON_USEDEP}]
"
@@ -46,7 +45,8 @@ BDEPEND="
>=dev-python/jinja2-3.1.5[${PYTHON_USEDEP}]
dev-python/orjson[${PYTHON_USEDEP}]
>=dev-python/pwdlib-0.2.1[${PYTHON_USEDEP}]
dev-python/pydantic-settings[${PYTHON_USEDEP}]
>=dev-python/pydantic-extra-types-2.0.0[${PYTHON_USEDEP}]
>=dev-python/pydantic-settings-2.0.0[${PYTHON_USEDEP}]
dev-python/pyjwt[${PYTHON_USEDEP}]
>=dev-python/python-multipart-0.0.18[${PYTHON_USEDEP}]
<dev-python/pyyaml-7.0.0[${PYTHON_USEDEP}]
@@ -104,6 +104,8 @@ pkg_postinst() {
optfeature "forms and file uploads" dev-python/python-multipart
optfeature "validate emails" dev-python/email-validator
optfeature "uvicorn with uvloop" dev-python/uvicorn
optfeature "settings management" dev-python/pydantic-settings
optfeature "extra Pydantic data types" dev-python/pydantic-extra-types
optfeature_header "Alternative JSON responses"
optfeature "ORJSONResponse" dev-python/orjson
optfeature "UJSONResponse" dev-python/ujson

View File

@@ -1,2 +1,2 @@
DIST ignore-python-0.3.0-deps.tar.xz 5121304 BLAKE2B 243c0102c21010048a79b37f6ba4ccacf3c54017e14f1f036c1a21788c61c6550a8bcb5da6ffc82c1c4ee9ada60b1f337878724a4ee12220d6d3bb968b5e304c SHA512 807ce4a4f47b1f02b67b91de652ce8191e31d05e40509446c31ceddcff57d40f2c037acb7b676c26175d9fa5d2e1b5499269e9e2afe7eda73acb1197effaee8a
DIST ignore-python-0.3.0.gh.tar.gz 8996 BLAKE2B 640bd9a2b53459d7f909d784941d0bfedd312526e848ef2ae7ed85d1aff4e7ca90d48f480e3d8b68a29228325c55723c76fdc66808822e6b779bd6f5c886adbb SHA512 0afd134cac196df6d2d839e06fb1d38359cbbd7347d96210b4de9d9f9ddb10ebd24e52fb8606ca15fbb8d3bd0b8161f6e74bde9d3865ee3c1b7f67cae8f7b14d
DIST ignore-python-0.3.1-deps.tar.xz 5123024 BLAKE2B 817fd3c908a05c822908846ab6c888e9707e297f4d98468413ef4a4b525d31a9dc40e749e969c16823947512e77ee2e8155b8d0dd83d894d85d767bc97772424 SHA512 0b848af3595d7960f0dad3d46b3e2512a01894092e166ae57ed323a239a77c39e3a4e2c09986f840da93d88bb81025fc356f77d22041f0a1681be3f7c8f56412
DIST ignore-python-0.3.1.gh.tar.gz 8999 BLAKE2B 185270fe4259f7e1f893000caf74fac1e2cd3804ad57e737f7e02c227ec092ce2d9fbe71fd18d74219c2658419ad1b61c661e6b997be5c2d51b325b2639b8105 SHA512 3d1128a0e501cc9c3a1bb4fa1eda521c9a78b4174cbdcab137050f37b053f898381bf32a3e0ee9a54d90bd831b53ea767fb8b5a76ffceabf3cd7dd9f2b794126

View File

@@ -0,0 +1 @@
DIST pydantic_extra_types-2.10.6.tar.gz 141858 BLAKE2B 23d999682e3c8e76cc27935f4c47da4ddbdbc4cdc3015e86b3b7fb3183f6353ff1faf28b6aa947c55e03b1799f87e3cfa612411bfe4b5b18bfb1ccabed6ba049 SHA512 9e469386e583a1be6ab51fa510cceaef043a40b8c76cbc0d477f7c660bdf779cca1df533c99a76d11b6d84db6735b355ad70526f8dfc03b89ae7844f309c47f7

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>parona@protonmail.com</email>
<name>Alfred Wingate</name>
</maintainer>
<stabilize-allarches/>
<upstream>
<remote-id type="github">pydantic/pydantic-extra-types</remote-id>
<remote-id type="pypi">pydantic-extra-types</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,62 @@
# Copyright 2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
PYTHON_COMPAT=( python3_{12..14} )
inherit distutils-r1 optfeature pypi
DESCRIPTION="Extra Pydantic types"
HOMEPAGE="
https://github.com/pydantic/pydantic-extra-types
https://pypi.org/project/pydantic-extra-types/
"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="
>=dev-python/pydantic-2.5.2[${PYTHON_USEDEP}]
dev-python/typing-extensions[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/phonenumbers[${PYTHON_USEDEP}]
dev-python/pycountry[${PYTHON_USEDEP}]
dev-python/semver[${PYTHON_USEDEP}]
dev-python/pymongo[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
)
"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
EPYTEST_IGNORE=(
# Requires unpackaged cron-converter
tests/test_cron.py
tests/test_json_schema.py
# Requires unpackaged pendulum
tests/test_pendulum_dt.py
# Requires unpackaged python-ulid
tests/test_ulid.py
)
EPYTEST_DESELECT=(
# https://github.com/pydantic/pydantic-extra-types/issues/346
tests/test_coordinate.py::test_json_schema
)
pkg_postinst() {
optfeature_header "Optional type support"
optfeature "PhoneNumber" dev-python/phonenumbers
optfeature "language_code" dev-python/pycountry
optfeature "semantic_version" dev-python/semver
# optfeature "ulid" python-ulid
# optfeature "pendulum_dt" pendulum
optfeature "mongo_object_id" dev-python/pymongo
# optfeature "cron" cron-converter
}

View File

@@ -1 +1,2 @@
DIST sqlmodel-0.0.24.tar.gz 116780 BLAKE2B 94e9fd37398af55fd0958d3303f4315a56305856ff798f2569206656a1f7441bb70633c8e0522ec86543b5ffb4b63aa0f769d7833a86e35651b55c6a2ee5e18b SHA512 3a7b04c35a71ec96f6c3ddf83d9286a8f6d57efef5f136412cddc5c742a30e3e80015f8a738f539a5b294b4613e2f5db41adbc2deddfa39028211944a7cc5207
DIST sqlmodel-0.0.29.tar.gz 119485 BLAKE2B 82d98cb0f5db782d473f7434ccfd9150ecb2f68b3a54c0a905a6c5c9681c4431780f233033236fce4a67d9daca00d7859be4288aa567f66d39db8d4968b05d9d SHA512 49775a6f21545078188fa8f172a731241d6965bb099b0c2948d445f50ca90420c9fae466c4fe6fd87f7e7addeb2cfdb370e5d7fddd521d1d51dcc1f098277503
DIST sqlmodel-0.0.31.tar.gz 94952 BLAKE2B 6c2a968a6a0145b43e94317afa619905065f8e8f293ab6ded2549a37eb151814f9f2f41e05dbdcc1def8456fa60d158670d6ed5e6ef60a6950cc8c561514fd12 SHA512 485020a6f91e82a0bf9eb9c10fec69af3f1513e34808119afe58f635b182e677f5b20f9c46497fa68bf3bc037f0e534209895c882e6cdec3ab1f95533dc72f92

View File

@@ -36,6 +36,7 @@ BDEPEND="
)
"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
EPYTEST_DESELECT=(

View File

@@ -0,0 +1,58 @@
# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=pdm-backend
PYTHON_COMPAT=( python3_{12..13} )
inherit distutils-r1 pypi
DESCRIPTION="SQL databases in Python, designed for simplicity, compatibility, and robustness."
HOMEPAGE="
https://sqlmodel.tiangolo.com/
https://github.com/fastapi/sqlmodel/
https://pypi.org/project/sqlmodel/
"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="
<dev-python/sqlalchemy-2.1.0[${PYTHON_USEDEP}]
>=dev-python/sqlalchemy-2.0.14[${PYTHON_USEDEP}]
>=dev-python/pydantic-2.7.0[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/black[${PYTHON_USEDEP}]
dev-python/fastapi[${PYTHON_USEDEP}]
dev-python/httpx[${PYTHON_USEDEP}]
dev-python/dirty-equals[${PYTHON_USEDEP}]
dev-python/jinja2[${PYTHON_USEDEP}]
dev-python/typing-extensions[${PYTHON_USEDEP}]
)
"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
EPYTEST_DESELECT=(
# Uses coverage
# TIP: Search for subprocess.run([coverage])
"tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_py310_tests_main.py::test_run_tests"
"tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_py39_tests_main.py::test_run_tests"
"tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests_main.py::test_run_tests"
)
EPYTEST_IGNORE=(
# Uses coverage
# TIP: Search for imports of coverage_run
"tests/test_tutorial/test_create_db_and_table/test_tutorial001.py"
"tests/test_tutorial/test_create_db_and_table/test_tutorial001_py310.py"
)
python_test() {
epytest tests
}

View File

@@ -1,2 +1,2 @@
DIST neocmakelsp-0.9.0-deps.tar.xz 11515640 BLAKE2B 88487f338e344544a8a731b33e590072ea380b7b6c76951552cf32947d89d97fdb9775942d6f24240eee00644d3b3b8ace0ce022afb9fbc0fe9558114363f60f SHA512 457e26e7b781c2c22b0099b1ca5980428d7730dd92960ad08a2f8d2f6f11f7257c4f873c9b6838a6c99287c30a0287cebaaa5a622fb335c2d4ba76b334a0f956
DIST neocmakelsp-0.9.0.tar.gz 3797207 BLAKE2B e352f73eed6f2f4df5b1e2a0c03e4965d4b0e367645da2bfbadb17ce667c9ee01cf86c484335f367b746864902297e7164b5c3f7d92d3cee17f10c87e0a60476 SHA512 5513e3d08929a5a9a4a9a403cf8e59be7bbc5e5c15697b0fa46d59bad0a01c6e0e7836a758e7b9f413bb652b62080959f048ae85bccf55a73ace1879ff8693e5
DIST neocmakelsp-0.9.1-deps.tar.xz 11957780 BLAKE2B ad46288319084bd6e371e4668ab22738c2cd7dc730e98ec9ff2c69dc975160a466d084efa33a1d622e78eb0a8b177d78db2e2e668a6295d7d5cb9effb3e846d3 SHA512 6af95f01dbf8f8f83d4471396f0409e61c46f38110d30ccbda1fcca9f44999ab47feffda4f3142b06a4c7c0203e851749136fbbd2d849ed8250b74a053939834
DIST neocmakelsp-0.9.1.tar.gz 3797997 BLAKE2B e03a64d855e5bab13ced4ac5619c7f7c800cbad45daa5938c055fc54a98962c92559eb6b41c872e6bbd9827e3bc0dda041c39c88ac0c0a76f543e6f3be779b30 SHA512 13362bb008e50d1b089aa433a2e5e1531f111253849e7bad39a631c20b9cec2e0bedbf3ddb9bc4497591b33d0d7731d758af762035f9f816b191b7bea242baf6

View File

@@ -1,2 +1,2 @@
DIST azahar-2123.3-fix-build-with-qt-6.10.patch 1096 BLAKE2B a9fabc08b2e1ee55b95e26c312b0ef140e2b91975f0e2989d14fbc61c9a2ee0de2aebe41209d91ba79efe25d3da51df14bb5be956940dcd6692814b06b5ae05b SHA512 b6252e52a12c017c80e73b22c4cce9f36160a7b6f2f07acdb09d26e14f4b37332c795b0d969eb6b6c315a5d0e557eee65c7a56043536a0ebbd2948e9a2b3b322
DIST azahar-2123.3.tar.xz 40454048 BLAKE2B 0ef881134994a4be7d0ebc7ff42ad0565d1a96c59e7b2be758b7551357b4f5411ffa3dca3953cae1850bf9a6a3d5a19ca338b0ce5341d6ae0a059a87728aac36 SHA512 fed40684619792afa1b500a7890ef5e8cf6b807f861ab3b4d9bfe9a7b4dcab50762f90a5e17d94d33f88b3538777b475235dc70518321cc2183ec7e7da64f46b
DIST azahar-2123.4.1.tar.xz 40289260 BLAKE2B cbf1857da46dda1b10c6df46e6ccd06b0fbc895380c25d3c18676199d85169857af61a0a4c9dee9e344b8db856aabb776b1a8ac9b85c48718e0c77369624b0d4 SHA512 13d2727c8d7fe6c18b83c09448650ebefa41c38e67371d4a9871227ab9855b13a65e38150cc907d8f054844967b529ea79c8997d4f28aac27148fc12ac69e638

View File

@@ -0,0 +1,367 @@
# 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"
# backends end up in /usr/bin otherwise
-DGGML_BACKEND_DL="yes"
# TODO causes duplicate install warning but breaks detection otherwise ollama/issues/13614
-DGGML_BACKEND_DIR="${EPREFIX}/usr/$(get_libdir)/${PN}"
# -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)"
# default to all for now until cuda.eclass is updated
if [[ ! -v CUDAARCHS ]]; then
local CUDAARCHS="all"
fi
mycmakeargs+=(
-DCMAKE_CUDA_ARCHITECTURES="${CUDAARCHS}"
)
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"
# ollama doesn't honor the default cmake options
-DAMDGPU_TARGETS="$(get_amdgpu_flags)"
)
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

@@ -235,7 +235,8 @@ src_configure() {
# backends end up in /usr/bin otherwise
-DGGML_BACKEND_DL="yes"
-DGGML_BACKEND_DIR="${EPREFIX}/usr/$(get_libdir)/${PN}/backends"
# TODO causes duplicate install warning but breaks detection otherwise ollama/issues/13614
-DGGML_BACKEND_DIR="${EPREFIX}/usr/$(get_libdir)/${PN}"
# -DGGML_CPU="yes"
-DGGML_BLAS="$(usex blas)"
@@ -272,6 +273,15 @@ src_configure() {
CUDAHOSTCXX="$(cuda_gccdir)"
CUDAHOSTLD="$(tc-getCXX)"
# default to all for now until cuda.eclass is updated
if [[ ! -v CUDAARCHS ]]; then
local CUDAARCHS="all"
fi
mycmakeargs+=(
-DCMAKE_CUDA_ARCHITECTURES="${CUDAARCHS}"
)
cuda_add_sandbox -w
addpredict "/dev/char/"
else

View File

@@ -1 +1,2 @@
DIST coolercontrol-3.0.2.tar.gz 8937023 BLAKE2B 447705ef8f4347b3446802aada3d26a51cef97b09027822974ac175c8a8c7f47c30f8bb1a77c34f0efbda21f89e95828a4de7cf43d9eead3601ff25cf9aeb41a SHA512 45448cbbdd480272bf08af5aefc00a4704029831dc0983942a3f08f92a07c823e8c4458a5be247875f6214b8f469eedc5cde83d6815df37d1261fd7b6c534c71
DIST coolercontrol-3.1.1.tar.gz 9191127 BLAKE2B 8d495119c8fca6194f3a205945d1a60691e5653d2ca32be33dc0d0fc59f2b7da7198a2e2c1d3afba7cf9b0b78066fbb2fe7dbe9d5e31b56ff044412715a01620 SHA512 a0686ff0ffbd6aab1f8c38f48d04279ff477ab6c6c6e4ba2d46524fb21d80730e09394036afb41e7893d59d726777f655e31e6764bb8892e2b97665b83209cfe

View File

@@ -0,0 +1,47 @@
# Copyright 2025-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake desktop xdg
DESCRIPTION="Monitor and control your cooling and other devices"
HOMEPAGE="https://gitlab.com/coolercontrol/coolercontrol"
MY_P="coolercontrol-${PV}"
SRC_URI="
https://gitlab.com/coolercontrol/coolercontrol/-/releases/${PV}/downloads/packages/${MY_P}.tar.gz
"
S="${WORKDIR}/${MY_P}/${PN}"
LICENSE="GPL-3+ CC0-1.0"
SLOT="0"
KEYWORDS="~amd64"
DEPEND="
dev-qt/qtbase:6[dbus,widgets]
dev-qt/qtwebchannel:6
dev-qt/qtwebengine:6[widgets]
"
RDEPEND="
${DEPEND}
sys-apps/coolercontrold
"
src_install() {
cmake_src_install
einstalldocs
doman ../packaging/man/coolercontrol.1
domenu ../packaging/metadata/org.coolercontrol.CoolerControl.desktop
doicon -s 256 ../packaging/metadata/org.coolercontrol.CoolerControl.png
doicon -s 256 ../packaging/metadata/org.coolercontrol.CoolerControl-alert.png
doicon -s scalable ../packaging/metadata/org.coolercontrol.CoolerControl.svg
doicon -s scalable ../packaging/metadata/org.coolercontrol.CoolerControl-alert.svg
insinto /usr/share/icons/hicolor/symbolic/apps
doins ../packaging/metadata/org.coolercontrol.CoolerControl-symbolic.svg
doins ../packaging/metadata/org.coolercontrol.CoolerControl-symbolic-alert.svg
insinto /usr/share/metainfo
doins ../packaging/metadata/org.coolercontrol.CoolerControl.metainfo.xml
}

View File

@@ -1,2 +1,4 @@
DIST coolercontrol-3.0.2.tar.gz 8937023 BLAKE2B 447705ef8f4347b3446802aada3d26a51cef97b09027822974ac175c8a8c7f47c30f8bb1a77c34f0efbda21f89e95828a4de7cf43d9eead3601ff25cf9aeb41a SHA512 45448cbbdd480272bf08af5aefc00a4704029831dc0983942a3f08f92a07c823e8c4458a5be247875f6214b8f469eedc5cde83d6815df37d1261fd7b6c534c71
DIST coolercontrol-3.1.1.tar.gz 9191127 BLAKE2B 8d495119c8fca6194f3a205945d1a60691e5653d2ca32be33dc0d0fc59f2b7da7198a2e2c1d3afba7cf9b0b78066fbb2fe7dbe9d5e31b56ff044412715a01620 SHA512 a0686ff0ffbd6aab1f8c38f48d04279ff477ab6c6c6e4ba2d46524fb21d80730e09394036afb41e7893d59d726777f655e31e6764bb8892e2b97665b83209cfe
DIST coolercontrold-3.0.2-vendor.tar.gz 69396637 BLAKE2B 9eb3217dba48ed3ecabcbd7018cefaeeb238421a8b427f7da3c2c7fcdc22f007b0b7ad321ab6675162f22f26f65d0d738958524af21fcc8b4664ed0c8462a94d SHA512 8b7d7a0e5c7ac74cb37de798cd4a0553e9b01d01af4755f8c1236be456d6d6272ca505625caa7e78669307a7d67fef2fb0c268e0a50508c91186432ce74633c0
DIST coolercontrold-3.1.1-vendor.tar.gz 72559141 BLAKE2B d7f35e6e53a472a8bfd04329f7e3800bdc21aecfd72913b82195df4d6437e3fa99639648e75b4e3e4f0bb5de4c93deddd320f3f4495acb3d23652b9c594b4183 SHA512 162523da13e33a258b5600fdb979049178a331d6b1b8bf73c027aa9e6fa83ee060f7bc8825e6d21217a919a5aff74e83d182eba7e541ca89ad388aae7cae7c51

View File

@@ -8,7 +8,7 @@ CRATES="
RUST_MIN_VER=1.86
PYTHON_COMPAT=( python3_{11..13} )
PYTHON_COMPAT=( python3_{11..14} )
inherit cargo eapi9-ver optfeature python-single-r1 systemd

View File

@@ -0,0 +1,112 @@
# Copyright 2024-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CRATES="
"
RUST_MIN_VER=1.86
PYTHON_COMPAT=( python3_{11..14} )
inherit cargo eapi9-ver optfeature python-single-r1 systemd
DESCRIPTION="Monitor and control your cooling and other devices (daemon)"
HOMEPAGE="https://gitlab.com/coolercontrol/coolercontrol"
MY_P="coolercontrol-${PV}"
SRC_URI="
https://gitlab.com/coolercontrol/coolercontrol/-/releases/${PV}/downloads/packages/${MY_P}.tar.gz
https://gitlab.com/coolercontrol/coolercontrol/-/releases/${PV}/downloads/packages/coolercontrold-vendor.tar.gz
-> ${P}-vendor.tar.gz
${CARGO_CRATE_URIS}
"
S="${WORKDIR}/${MY_P}/${PN}"
LICENSE="GPL-3+"
# Dependent crate licenses
LICENSE+="
AGPL-3+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD GPL-3+
ISC MIT UoI-NCSA Unicode-3.0 ZLIB
"
SLOT="0"
KEYWORDS="~amd64"
IUSE="liquidctl"
REQUIRED_USE="liquidctl? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND="
app-arch/zstd:=
liquidctl? (
${PYTHON_DEPS}
$(python_gen_cond_dep '
app-misc/liquidctl[${PYTHON_USEDEP}]
')
)
"
DEPEND="${RDEPEND}"
QA_FLAGS_IGNORED=".*"
PATCHES=(
"${FILESDIR}"/coolercontrold-3.0.2-liquidctl.patch
)
pkg_setup() {
rust_pkg_setup
use liquidctl && python-single-r1_pkg_setup
}
src_unpack() {
# trickery to avoid double unpacking :/
A="${A[@]/${P}-vendor.tar.gz/}" cargo_src_unpack
pushd "${S}" >/dev/null || die
unpack ${P}-vendor.tar.gz
popd >/dev/null || die
}
src_prepare() {
pushd .. >/dev/null || die
default
popd >/dev/null || die
if use liquidctl; then
# Upstream solution not suitable for Gentoo where multiple python targets are available.
sed -e "s|@@PYTHON@@|${PYTHON}|" \
-i src/repositories/liquidctl/liqctld_service.rs || die
fi
}
src_configure() {
export ZSTD_SYS_USE_PKG_CONFIG=1
cargo_src_configure
}
src_install() {
cargo_src_install
einstalldocs
doman ../packaging/man/coolercontrold.8
doinitd ../packaging/openrc/init.d/coolercontrol
doconfd ../packaging/openrc/conf.d/coolercontrol
# Match documentation and systemd name to avoid confusion
newinitd ../packaging/openrc/init.d/coolercontrol coolercontrold
newconfd ../packaging/openrc/conf.d/coolercontrol coolercontrold
systemd_dounit ../packaging/systemd/coolercontrold.service
}
pkg_postinst() {
# libdrm[video_cards_amdgpu] dlopen'd, but the feature is not really noteworthy enough for optfeature
# (more accurate gpu names for amd)
optfeature "sensors support" sys-apps/lm-sensors
if ver_replacing -lt 3.0.0; then
elog "coolercontrol-liqctld isn't packaged separately anymore. It's behind the liqtctl use flag now."
fi
}