diff --git a/dev-python/litestar/files/litestar-2.21-timemachine-3.patch b/dev-python/litestar/files/litestar-2.21-timemachine-3.patch new file mode 100644 index 0000000000..2c17ef72ff --- /dev/null +++ b/dev-python/litestar/files/litestar-2.21-timemachine-3.patch @@ -0,0 +1,143 @@ +diff --git a/tests/conftest.py b/tests/conftest.py +index a2dd94355..4dfabc726 100644 +--- a/tests/conftest.py ++++ b/tests/conftest.py +@@ -17,7 +17,7 @@ import pytest + from pytest_lazy_fixtures import lf + from redis.asyncio import Redis as AsyncRedis + from redis.client import Redis +-from time_machine import Coordinates, travel ++from time_machine import Traveller, travel + + from litestar.logging import LoggingConfig + from litestar.middleware.session import SessionMiddleware +@@ -36,7 +36,7 @@ if TYPE_CHECKING: + from types import ModuleType + + from pytest import FixtureRequest, MonkeyPatch +- from time_machine import Coordinates ++ from time_machine import Traveller + + from litestar import Litestar + from litestar.types import ( +@@ -266,7 +266,7 @@ def create_module(tmp_path: Path, monkeypatch: MonkeyPatch) -> Callable[[str], M + + + @pytest.fixture() +-def frozen_datetime() -> Generator[Coordinates, None, None]: ++def frozen_datetime() -> Generator[Traveller, None, None]: + with travel(datetime.utcnow, tick=False) as frozen: + yield frozen + +diff --git a/tests/e2e/test_response_caching.py b/tests/e2e/test_response_caching.py +index 462302843..943162f16 100644 +--- a/tests/e2e/test_response_caching.py ++++ b/tests/e2e/test_response_caching.py +@@ -21,7 +21,7 @@ from litestar.testing import TestClient, create_test_client + from litestar.types import HTTPScope + + if TYPE_CHECKING: +- from time_machine import Coordinates ++ from time_machine import Traveller + + T = TypeVar("T") + +@@ -60,7 +60,7 @@ def test_default_cache_response(sync_to_thread: bool, mock: MagicMock) -> None: + assert mock.call_count == 1 + + +-def test_handler_expiration(mock: MagicMock, frozen_datetime: "Coordinates") -> None: ++def test_handler_expiration(mock: MagicMock, frozen_datetime: "Traveller") -> None: + @get("/cached-local", cache=10) + async def handler() -> str: + return mock() # type: ignore[no-any-return] +@@ -78,7 +78,7 @@ def test_handler_expiration(mock: MagicMock, frozen_datetime: "Coordinates") -> + assert mock.call_count == 2 + + +-def test_default_expiration(mock: MagicMock, frozen_datetime: "Coordinates") -> None: ++def test_default_expiration(mock: MagicMock, frozen_datetime: "Traveller") -> None: + @get("/cached-default", cache=True) + async def handler() -> str: + return mock() # type: ignore[no-any-return] +diff --git a/tests/unit/test_middleware/test_session/test_server_side_backend.py b/tests/unit/test_middleware/test_session/test_server_side_backend.py +index d9905ff45..cb291a588 100644 +--- a/tests/unit/test_middleware/test_session/test_server_side_backend.py ++++ b/tests/unit/test_middleware/test_session/test_server_side_backend.py +@@ -11,7 +11,7 @@ from litestar.stores.memory import MemoryStore + from litestar.testing import TestClient + + if TYPE_CHECKING: +- from time_machine import Coordinates ++ from time_machine import Traveller + + from litestar.middleware.session.server_side import ServerSideSessionBackend + +@@ -70,7 +70,7 @@ async def test_get_renew_on_access( + server_side_session_backend: "ServerSideSessionBackend", + session_data: bytes, + memory_store: MemoryStore, +- frozen_datetime: "Coordinates", ++ frozen_datetime: "Traveller", + ) -> None: + server_side_session_backend.config.max_age = 1 + server_side_session_backend.config.renew_on_access = True +@@ -121,7 +121,7 @@ async def test_max_age_expires( + server_side_session_backend: "ServerSideSessionBackend", + session_data: bytes, + memory_store: MemoryStore, +- frozen_datetime: "Coordinates", ++ frozen_datetime: "Traveller", + ) -> None: + server_side_session_backend.config.max_age = 1 + await server_side_session_backend.set("foo", session_data, memory_store) +diff --git a/tests/unit/test_stores.py b/tests/unit/test_stores.py +index 471ae754b..97c8f2db9 100644 +--- a/tests/unit/test_stores.py ++++ b/tests/unit/test_stores.py +@@ -12,7 +12,7 @@ from unittest.mock import MagicMock, Mock, patch + import pytest + from _pytest.fixtures import FixtureRequest + from pytest_mock import MockerFixture +-from time_machine import Coordinates ++from time_machine import Traveller + + from litestar.exceptions import ImproperlyConfiguredException + from litestar.stores.file import FileStore +@@ -69,7 +69,7 @@ async def test_set_special_chars_key(store: Store, key: str) -> None: + assert await store.get(key) == value + + +-async def test_expires(store: Store, frozen_datetime: Coordinates) -> None: ++async def test_expires(store: Store, frozen_datetime: Traveller) -> None: + await store.set("foo", b"bar", expires_in=1) + + frozen_datetime.shift(2) +@@ -87,7 +87,7 @@ async def test_expires(store: Store, frozen_datetime: Coordinates) -> None: + + @pytest.mark.flaky(reruns=5) + @pytest.mark.parametrize("renew_for", [10, timedelta(seconds=10)]) +-async def test_get_and_renew(store: Store, renew_for: int | timedelta, frozen_datetime: Coordinates) -> None: ++async def test_get_and_renew(store: Store, renew_for: int | timedelta, frozen_datetime: Traveller) -> None: + if isinstance(store, (RedisStore, ValkeyStore)): + pytest.skip() + +@@ -176,7 +176,7 @@ async def test_delete_all(store: Store) -> None: + assert await store.get(key) is None + + +-async def test_expires_in(store: Store, frozen_datetime: Coordinates) -> None: ++async def test_expires_in(store: Store, frozen_datetime: Traveller) -> None: + if not isinstance(store, (RedisStore, ValkeyStore)): + pytest.xfail("bug in FileStore and MemoryStore") + +@@ -460,7 +460,7 @@ async def test_namespaced_store_delete_all_propagates_down(namespaced_store: Nam + + + @pytest.mark.parametrize("store_fixture", ["memory_store", "file_store"]) +-async def test_memory_delete_expired(store_fixture: str, request: FixtureRequest, frozen_datetime: Coordinates) -> None: ++async def test_memory_delete_expired(store_fixture: str, request: FixtureRequest, frozen_datetime: Traveller) -> None: + store = request.getfixturevalue(store_fixture) + + expect_expired: list[str] = [] + diff --git a/dev-python/litestar/litestar-2.21.1.ebuild b/dev-python/litestar/litestar-2.21.1.ebuild index 3bbcccdacd..621e6649f5 100644 --- a/dev-python/litestar/litestar-2.21.1.ebuild +++ b/dev-python/litestar/litestar-2.21.1.ebuild @@ -55,9 +55,10 @@ BDEPEND=" dev-python/psycopg:0[${PYTHON_USEDEP}] dev-python/pydantic-extra-types[${PYTHON_USEDEP}] dev-python/redis[${PYTHON_USEDEP}] + dev-python/sqlalchemy[${PYTHON_USEDEP}] dev-python/starlette[${PYTHON_USEDEP}] dev-python/structlog[${PYTHON_USEDEP}] - =dev-python/time-machine-3[${PYTHON_USEDEP}] dev-python/trio[${PYTHON_USEDEP}] dev-python/uvicorn[${PYTHON_USEDEP}] ) @@ -104,6 +105,10 @@ EPYTEST_IGNORE=( # Avoid the dependency "tests/unit/test_contrib/test_opentelemetry.py" "tests/unit/test_plugins/test_prometheus.py" + + # appears to require installing litestar properly prior + "tests/e2e/test_routing/test_path_mounting.py" + "tests/e2e/test_routing/test_path_resolution.py" ) EPYTEST_DESELECT=( # Requires docker @@ -144,6 +149,8 @@ distutils_enable_tests pytest PATCHES=( # valkey not packaged "${FILESDIR}"/litestar-2.19.0-no-valkey.patch + + "${FILESDIR}"/litestar-2.21-timemachine-3.patch ) python_test() { diff --git a/dev-util/minify/Manifest b/dev-util/minify/Manifest index 188a0f97fc..51d9586a7f 100644 --- a/dev-util/minify/Manifest +++ b/dev-util/minify/Manifest @@ -1,2 +1,4 @@ DIST minify-2.24.11-deps.tar.xz 686588 BLAKE2B d8e8a5f9b9f818eec983e449f4ea2822f7111a599dac92111d01d7ac8d14ff86ba7c73b95949754a7ff66ed23c2fe1f3e91cb7e69c9381c240a12a319e3a15eb SHA512 0a92817442011f0e53f589bb20c683d7577c131434e21f0837424677cc26fa3380f5eb6a08e30d547a23db4489c0260a86d083109212ff23e518d4f339f70999 DIST minify-2.24.11.tar.gz 7769853 BLAKE2B f2dcefc2d804f806c69d619f1ce5775235503317199396f14bf4346dd53a0048eef3e42c0cb6754e7c40dbe56adbee9a3a2259eb679bb6fe3954b6f58d4179f4 SHA512 9fc5bf7daf9f5ccd88c01af0312bf366a2dbd21136b43592a5cf32d0d91ff63a4a8a4152dd5ae3589183ac5091aea5db893806f8c00bdd6a19e6820b49979544 +DIST minify-2.24.12-deps.tar.xz 3343168 BLAKE2B c9d3195437824133f91ea71f59618b3c57a074e53ea61a0f59691daa6c98fbadc5209f2816b86a04497bf54de56cedbb4d5538326a21ff91b92a5df6ce7e1656 SHA512 03b2f6db9f6e1c88483f3073fd385e9808d436bcdab6f7054b7efa87e318db8aaaca8342bca6382976edbb0837b225ee6a789326fbb3c735d24a176ec26b53c9 +DIST minify-2.24.12.tar.gz 7769257 BLAKE2B edc90f7b93dc1156acc528695a7a0de55687f1737ada10054befa0179ab7fc208924d71f2d9dc8bb08d9ee6a44e2ceeef87bd3287ea4c77956c7ff91c62df486 SHA512 360c6125160a1b6f3b9a9f5a36300fef364e64008e663723470a7849e2c35ea8e067ddb1a4f3f6a3ae685e230fad9779cabd62057e4d0431b6b76a96e84bf7e6 diff --git a/dev-util/minify/minify-2.24.12.ebuild b/dev-util/minify/minify-2.24.12.ebuild new file mode 100644 index 0000000000..d14e4f5ef0 --- /dev/null +++ b/dev-util/minify/minify-2.24.12.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 go-module + +DESCRIPTION="Go minifier for web formats" +HOMEPAGE="https://go.tacodewolff.nl/minify" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/tdewolff/minify.git" +else + SRC_URI=" + https://github.com/tdewolff/minify/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/tdewolff/minify/releases/download/v${PV}/${PN}-deps.tar.xz -> ${P}-deps.tar.xz + " + KEYWORDS="~amd64" + RESTRICT="mirror" +fi + +LICENSE="MIT" +SLOT="0" + +src_unpack() { + if [[ "${PV}" == 9999 ]] ; then + git-r3_src_unpack + go-module_live_vendor + else + default + fi +} + +src_compile() { + ego build -trimpath -buildmode=pie -mod=readonly -modcacherw -ldflags \ + "-s -w -linkmode external -extldflags \"${LDFLAGS}\" -X 'main.Version=${PV}'" \ + -o _minify ./cmd/minify +} + +src_test() { + ego test ./... +} + +src_install() { + newbin _minify minify + newbashcomp cmd/minify/bash_completion minify +} diff --git a/dev-util/minify/minify-9999.ebuild b/dev-util/minify/minify-9999.ebuild new file mode 100644 index 0000000000..d14e4f5ef0 --- /dev/null +++ b/dev-util/minify/minify-9999.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 go-module + +DESCRIPTION="Go minifier for web formats" +HOMEPAGE="https://go.tacodewolff.nl/minify" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/tdewolff/minify.git" +else + SRC_URI=" + https://github.com/tdewolff/minify/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/tdewolff/minify/releases/download/v${PV}/${PN}-deps.tar.xz -> ${P}-deps.tar.xz + " + KEYWORDS="~amd64" + RESTRICT="mirror" +fi + +LICENSE="MIT" +SLOT="0" + +src_unpack() { + if [[ "${PV}" == 9999 ]] ; then + git-r3_src_unpack + go-module_live_vendor + else + default + fi +} + +src_compile() { + ego build -trimpath -buildmode=pie -mod=readonly -modcacherw -ldflags \ + "-s -w -linkmode external -extldflags \"${LDFLAGS}\" -X 'main.Version=${PV}'" \ + -o _minify ./cmd/minify +} + +src_test() { + ego test ./... +} + +src_install() { + newbin _minify minify + newbashcomp cmd/minify/bash_completion minify +} diff --git a/sci-misc/stable-diffusion-cpp/metadata.xml b/sci-misc/stable-diffusion-cpp/metadata.xml index bdd0c27044..64622ebd6d 100644 --- a/sci-misc/stable-diffusion-cpp/metadata.xml +++ b/sci-misc/stable-diffusion-cpp/metadata.xml @@ -10,6 +10,7 @@ Build a HIP (ROCm) backend Use rocWMMA to enhance flash attention performance Build an OpenBLAS backend + Support the webm audiovisual media file format candrews@gentoo.org diff --git a/sci-misc/stable-diffusion-cpp/stable-diffusion-cpp-9999.ebuild b/sci-misc/stable-diffusion-cpp/stable-diffusion-cpp-9999.ebuild index 71a225d1ef..79672cd405 100644 --- a/sci-misc/stable-diffusion-cpp/stable-diffusion-cpp-9999.ebuild +++ b/sci-misc/stable-diffusion-cpp/stable-diffusion-cpp-9999.ebuild @@ -24,7 +24,7 @@ LICENSE="MIT" SLOT="0" CPU_FLAGS_X86=( avx avx2 f16c ) -IUSE="openblas blis rocm cuda opencl vulkan flexiblas webp wmma" +IUSE="openblas blis rocm cuda opencl vulkan flexiblas webm webp wmma" REQUIRED_USE=" ?? ( @@ -90,6 +90,8 @@ src_configure() { -DSD_OPENCL=$(usex opencl) -DSD_WEBP=$(usex webp) -DSD_USE_SYSTEM_WEBP=$(usex webp) + -DSD_WEBM=$(usex webm) + -DSD_VULKAN=$(usex vulkan) # avoid clashing with whisper.cpp diff --git a/sec-keys/openpgp-keys-mullvad-browser-bin/Manifest b/sec-keys/openpgp-keys-mullvad-browser-bin/Manifest new file mode 100644 index 0000000000..a52f064eb6 --- /dev/null +++ b/sec-keys/openpgp-keys-mullvad-browser-bin/Manifest @@ -0,0 +1 @@ +DIST openpgp-keys-mullvad-browser-bin-2024.asc 6693 BLAKE2B 24e0ee6a4e22bfee7d5eda700f24834e6eaebc6abf8e8aa889349438ddb0f30b4293887e00e7a72aa6bbcd035f68d493c2ae7cac0efb809122c3c57e1d2e699d SHA512 18344b8eb3b61eb7fa44979f294f3e6c54a4afd2dfe40178c347c509560891953c51b74a795f6e5458518e70327d6334173d8c793e50ed7c768ace4c08a47554 diff --git a/sec-keys/openpgp-keys-mullvad-browser-bin/metadata.xml b/sec-keys/openpgp-keys-mullvad-browser-bin/metadata.xml new file mode 100644 index 0000000000..d954830bc8 --- /dev/null +++ b/sec-keys/openpgp-keys-mullvad-browser-bin/metadata.xml @@ -0,0 +1,9 @@ + + + + + strategictraveler@proton.me + strategictraveler + + + diff --git a/sec-keys/openpgp-keys-mullvad-browser-bin/openpgp-keys-mullvad-browser-bin-2024.ebuild b/sec-keys/openpgp-keys-mullvad-browser-bin/openpgp-keys-mullvad-browser-bin-2024.ebuild new file mode 100644 index 0000000000..3d5000fb53 --- /dev/null +++ b/sec-keys/openpgp-keys-mullvad-browser-bin/openpgp-keys-mullvad-browser-bin-2024.ebuild @@ -0,0 +1,21 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PN="${PN#openpgp-keys-}" +DESCRIPTION="OpenPGP keys used to sign Mullvad Browser releases" +HOMEPAGE="https://github.com/mullvad/mullvad-browser/ https://mullvad.net/" +SRC_URI="https://openpgpkey.torproject.org/.well-known/openpgpkey/torproject.org/hu/kounek7zrdx745qydx6p59t9mqjpuhdf -> ${P}.asc" +S="${WORKDIR}" + +LICENSE="public-domain" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +src_install() { + local files=( ${A} ) + + insinto /usr/share/openpgp-keys + newins - ${MY_PN}.asc < <(cat "${files[@]/#/${DISTDIR}/}" || die) +} diff --git a/www-client/mullvad-browser-bin/Manifest b/www-client/mullvad-browser-bin/Manifest index b799bb2bcd..2a9051b60e 100644 --- a/www-client/mullvad-browser-bin/Manifest +++ b/www-client/mullvad-browser-bin/Manifest @@ -1 +1,2 @@ -DIST mullvad-browser-bin-15.0.8.tar.xz 116966912 BLAKE2B 06501805b2759b06a7804d9d9997c0463194dc3821b1ee60177e5e03582a69e0c8d9efd4fda238ec4e0d3d69987a0754e77fe55324f18cb30a5ac8c27c173785 SHA512 ea4e29fe1d6b13cb9892a4ff1154673419edf36bf515d7ce356249e20a91e2b15136fe9c01344f15d5f7ffe424e41dec563516a1724e18c96d9dc7bb1786f6ef +DIST mullvad-browser-bin-15.0.9.tar.xz 116863208 BLAKE2B 7ca85a69797b6573438ff8c5c85c3e6d32676da64cb26639b90504a0675fd335a983b93dd10e3d1802bf53d67f918316c573665ca5b217fc539cf59dafab005c SHA512 5080e45a43ee56f36db4c114760c5b81464e3250254413c3d3e07fd8d50d6b567c2281e26dd60ecf960f52b95b8365ec67698c5088b49d6a980b12b0832b44a8 +DIST mullvad-browser-bin-15.0.9.tar.xz.asc 833 BLAKE2B a7ae131a4ab66ddb1d92c1b5093f7b0db7489184e39e7c05934fa2faf8076ba5ca7e482224959ddc383ec4c31af9f3577c6e433cbbc25f07533f3349391bd6e8 SHA512 cf2cee150c89b96024ddb49ee4637f595065e3ec10d082ac165d7135d2f4e87f93aabfd15b76fa1304fc0f397e97077a26d08136190470876cebeb97e6005d8e diff --git a/www-client/mullvad-browser-bin/mullvad-browser-bin-15.0.8.ebuild b/www-client/mullvad-browser-bin/mullvad-browser-bin-15.0.9-r1.ebuild similarity index 83% rename from www-client/mullvad-browser-bin/mullvad-browser-bin-15.0.8.ebuild rename to www-client/mullvad-browser-bin/mullvad-browser-bin-15.0.9-r1.ebuild index a83b8300f0..d8b3a434bc 100644 --- a/www-client/mullvad-browser-bin/mullvad-browser-bin-15.0.8.ebuild +++ b/www-client/mullvad-browser-bin/mullvad-browser-bin-15.0.9-r1.ebuild @@ -3,11 +3,15 @@ EAPI=8 -inherit desktop optfeature xdg +inherit desktop optfeature xdg verify-sig DESCRIPTION="The Mullvad Browser is developed to minimize tracking and fingerprinting." HOMEPAGE="https://github.com/mullvad/mullvad-browser/ https://mullvad.net/" -SRC_URI="https://github.com/mullvad/mullvad-browser/releases/download/${PV}/mullvad-browser-linux-x86_64-${PV}.tar.xz -> ${P}.tar.xz" +SRC_NAME="https://github.com/mullvad/mullvad-browser/releases/download/${PV}/mullvad-browser-linux-x86_64-${PV}.tar.xz" +SRC_URI=" + ${SRC_NAME} -> ${P}.tar.xz + verify-sig? ( ${SRC_NAME}.asc -> ${P}.tar.xz.asc ) +" S="${WORKDIR}" LICENSE="MPL-2.0" @@ -44,6 +48,11 @@ RDEPEND=" x11-libs/libXt x11-libs/libXtst " +BDEPEND=" + verify-sig? ( sec-keys/openpgp-keys-mullvad-browser-bin ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/mullvad-browser-bin.asc QA_PREBUILT="*"