From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-misc/anki/, app-misc/anki/files/
Date: Wed, 23 Jul 2025 02:32:40 +0000 (UTC) [thread overview]
Message-ID: <1753237802.294b4d715e6090bc75c78fdfc4fc5d89eb5c9f81.sam@gentoo> (raw)
commit: 294b4d715e6090bc75c78fdfc4fc5d89eb5c9f81
Author: Lucio Sauer <watermanpaint <AT> posteo <DOT> net>
AuthorDate: Mon Jul 21 09:29:20 2025 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jul 23 02:30:02 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=294b4d71
app-misc/anki: drop 25.07.1
Signed-off-by: Lucio Sauer <watermanpaint <AT> posteo.net>
Part-of: https://github.com/gentoo/gentoo/pull/43089
Closes: https://github.com/gentoo/gentoo/pull/43089
Signed-off-by: Sam James <sam <AT> gentoo.org>
app-misc/anki/Manifest | 3 -
app-misc/anki/anki-25.07.1.ebuild | 314 ---------------------
.../anki/files/anki-25.07.1-remove-aqt-data.patch | 19 --
3 files changed, 336 deletions(-)
diff --git a/app-misc/anki/Manifest b/app-misc/anki/Manifest
index b69aea8df69c..63c0427dc88a 100644
--- a/app-misc/anki/Manifest
+++ b/app-misc/anki/Manifest
@@ -1,10 +1,7 @@
DIST anki-25.07.1-crates.tar.xz 62239872 BLAKE2B 1179594a32fd93d47f5b385db08dc023685bb9a03b01078f32e5ccff72488e0f25a2b445601362221523afd2a8816409cd965e52d7a599801349de3baef626fe SHA512 f82c51a5b63518a94807e8daa1a97e50f372632c8409a285e51daa7d7988d3a358ada16e364d9bb0ad2eff042c280877743a8ce35d32ad10b10dbf4f6cd22ce2
DIST anki-25.07.1-node_modules.tar.xz 191719888 BLAKE2B 87748620fc8d57cf92ae5cafba6ac8ffa035a7147a2611cb432e85cf0248b76fc6020d3a13860a3ac7031e4d39b72d2aad8ab02184781326a3642c84e2f9b422 SHA512 6b2246600e5fd2bfbd3a589ce09cea4edeab13265889bde9ca62041d1f2ed6254f4bc4edad14a0be33bee6443bfd2576908d7084cf32ab5c2a5878343e32c1ab
-DIST anki-25.07.1.gh.tar.gz 2505851 BLAKE2B dace7ba31895875963f6c54f9ed0a6b97c7e4f2394b1135a4d9001a6cc0251d3b246e8de9072c556240321bd960c59cb6f38b371e582fd363c58218c50e06c15 SHA512 bc800d97df5ff48b9e7e7a714c836796597fbebbd66ac5ed8574c1927376ac696d67d72d5c245b71ce6534fadce13dc951212389aa22772637b9e986977ff357
DIST anki-25.07.3.gh.tar.gz 2511739 BLAKE2B a879fd84ff125e0ce5b0dbf11161d4889d4623f5d8e428ad81a26d982cabd58f98d349d2711cc37214311395b30afa6d041eb7e5ed80a983862360fca1fbd0c4 SHA512 a9f6243f0a92e30363e697a8f1f366c5411342a4a13b26b0b6f722d8f2c4dbe4364cd090fc0f1bef593deea9f12c0b7d98a401d97eaa35c4bc64623d37cc5ea2
-DIST anki-core-i18n-a9216499ba1fb1538cfd740c698adaaa3410fd4b.gh.tar.gz 1663490 BLAKE2B d09d9df034b9e4be426ac63eb8fbc78ef8027b5e2a75e172ee44416227ee83c4d9095b61cde87d5d1dbcc2d91d04d0891bca3b3850b99a2111932473a30167eb SHA512 d59493e6cb0de6519c268ec52fc1021f34548e87553325c9b6874af8cc0bc5211e1819aad1015abe5c226517fbd179304928559cd8c404d4d53923e3917b943e
DIST anki-core-i18n-b90ef6f03c251eb336029ac7c5f551200d41273f.gh.tar.gz 1690917 BLAKE2B ffd1708f2c40346e2f8b9e800ce1b494cae289d970127e271862c79fcc7fbac1dcb046ff035a96ad3496e27f86638300c5aa47620cc0a34f1d5dc3194d23de0c SHA512 6f9308b0001e4ae4cd9d4f368a5cc0e92df8b7705a2f7d94b2f92d404afd7484b3860e090335e2c7f91298d0690db40ee11929fa2060e0df2861313c6e52b80f
DIST anki-desktop-ftl-9aa63c335c61b30421d39cf43fd8e3975179059c.gh.tar.gz 250925 BLAKE2B ff14253eeae0355e16388af2d44b3ac086c447909b211a2741c54320044c84f53b8bb76a2aee3197db0bd010436b6d411a8f0ac79f2ba9353fe691bfa33ecc99 SHA512 647204336110b977987fb8f88d52613d544012150b4ff70ff6e704730c60576a5928ba02bfb2049ab38fc0b27cb238f98bdfbe7a8ec6b7a1f911d9ad1fb5d22b
-DIST anki-desktop-ftl-a1134ab59d3d23468af2968741aa1f21d16ff308.gh.tar.gz 248333 BLAKE2B b4cc10764df8ad39df670adba6a4dee54bfd07022bfe61bf3e15bf708772323cad892a299f0641f67f49cbfe499cd01caed5479f8855bc852316549c9ecbe858 SHA512 23b745671edb3be1f5c42f6b657a6c36e3892e70276765652b3d80d5e5eab149a6420cbaac97b193f18241eb969cdd77e97df697c12590bbcc78e34c779dc027
DIST linkcheck-184b2ca50ed39ca43da13f0b830a463861adb9ca.gh.tar.gz 19408 BLAKE2B c5e4f155f2d79d6d4340eaf3caaab8cbc0a558bc351d06b6c77ac4b61afa4172f5e3497106d5535b79911c7697a74ef8765f3fdcb7b602edb7524d6b5169a6fc SHA512 2cff7ad872c9ce3b29a8c74f9ce1ca365f6c381e1d9bc5da46bb34d0687708164ad86fb78baecdb596de37f79f891d1326b994348e51f4e74ec2731da23034d4
DIST rust-url-bb930b8d089f4d30d7d19c12e54e66191de47b88.gh.tar.gz 394844 BLAKE2B e3c0cabca18a77cc71bb9982bbd7d49c540f5a597c993f66fb9cf52b0a4ecce2ef909cfe9b466767c0021c3adf8a0b9733d40e90d341bd2a97b5e9cbcc8e8037 SHA512 bad4ba7801168bed869ef3b9510566ed625fe345b3209f08d781ad07a03df61c28b52d1cb3992d614ffdf5af198c33bb725f612f5010b6965d8bbb519d818e2e
diff --git a/app-misc/anki/anki-25.07.1.ebuild b/app-misc/anki/anki-25.07.1.ebuild
deleted file mode 100644
index cccf0dbf6c13..000000000000
--- a/app-misc/anki/anki-25.07.1.ebuild
+++ /dev/null
@@ -1,314 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_OPTIONAL=1
-DISTUTILS_SINGLE_IMPL=1
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{11..13} )
-
-declare -A GIT_CRATES=(
- [linkcheck]='https://github.com/ankitects/linkcheck;184b2ca50ed39ca43da13f0b830a463861adb9ca;linkcheck-%commit%'
- [percent-encoding-iri]='https://github.com/ankitects/rust-url;bb930b8d089f4d30d7d19c12e54e66191de47b88;rust-url-%commit%/percent_encoding'
-)
-RUST_MIN_VER="1.85.0"
-
-inherit cargo desktop distutils-r1 edo greadme multiprocessing ninja-utils \
- optfeature toolchain-funcs xdg
-
-DESCRIPTION="Smart spaced repetition flashcard program"
-HOMEPAGE="https://apps.ankiweb.net/"
-
-declare -A COMMITS=(
- [anki]="a83a6b5928c6563d12e7b66d4f7b7b2f51b6f22b"
- [ftl-core]="a9216499ba1fb1538cfd740c698adaaa3410fd4b"
- [ftl-desktop]="a1134ab59d3d23468af2968741aa1f21d16ff308"
-)
-SRC_URI="${CARGO_CRATE_URIS}
- https://github.com/ankitects/anki/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz
- https://github.com/ankitects/anki-core-i18n/archive/${COMMITS[ftl-core]}.tar.gz
- -> anki-core-i18n-${COMMITS[ftl-core]}.gh.tar.gz
- https://github.com/ankitects/anki-desktop-ftl/archive/${COMMITS[ftl-desktop]}.tar.gz
- -> anki-desktop-ftl-${COMMITS[ftl-desktop]}.gh.tar.gz
- https://github.com/gentoo-crate-dist/anki/releases/download/${PV}/${P}-crates.tar.xz
- gui? (
- https://home.cit.tum.de/~salu/distfiles/${P}-node_modules.tar.xz
- )
-"
-# How to get an up-to-date summary of runtime JS libs' licenses:
-# ./node_modules/.bin/license-checker-rseidelsohn --production --excludePackages anki --summary
-LICENSE="
- AGPL-3+ BSD public-domain
- gui? ( 0BSD BlueOak-1.0.0 CC-BY-3.0 CC-BY-4.0 PSF-2 )
-"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 CC0-1.0
- CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unlicense ZLIB
-"
-# ring crate
-LICENSE+=" openssl"
-SLOT="0"
-KEYWORDS="~amd64"
-
-IUSE="+gui"
-REQUIRED_USE="gui? ( ${PYTHON_REQUIRED_USE} )"
-RESTRICT="!gui? ( test ) !test? ( test )"
-
-# Dependencies:
-# Python: python/requirements.{anki,aqt}.in
-# If ENABLE_QT5_COMPAT is set at runtime
-# additionally depend on PyQt6[dbus,printsupport].
-# Qt: qt/{aqt/{sound.py,qt/*.py},tools/build_ui.py}
-# app-misc/certificates: The rust backend library is built against
-# rustls-native-certs to use the native certificate store.
-# No ${PYTHON_DEPS} in DEPEND despite external module because it doesn't link
-# against libpython
-
-DEPEND="
- >=app-arch/zstd-1.5.5:=
- dev-db/sqlite:3
-"
-GUI_RDEPEND="
- ${PYTHON_DEPS}
- dev-qt/qtsvg:6
- $(python_gen_cond_dep '
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/distro[${PYTHON_USEDEP}]
- dev-python/decorator[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/flask-cors[${PYTHON_USEDEP}]
- dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/markdown[${PYTHON_USEDEP}]
- dev-python/protobuf[${PYTHON_USEDEP}]
- >=dev-python/pyqt6-6.6.1[gui,network,opengl,quick,webchannel,widgets,${PYTHON_USEDEP}]
- >=dev-python/pyqt6-sip-13.6.0[${PYTHON_USEDEP}]
- >=dev-python/pyqt6-webengine-6.6.0[widgets,${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/send2trash[${PYTHON_USEDEP}]
- dev-python/waitress[${PYTHON_USEDEP}]
- ')
-"
-RDEPEND="
- ${DEPEND}
- app-misc/ca-certificates
- gui? ( ${GUI_RDEPEND} )
-"
-
-BDEPEND="
- >=app-arch/zstd-1.5.5:=
- dev-libs/protobuf[protoc(+)]
- virtual/pkgconfig
- gui? (
- ${DISTUTILS_DEPS}
- ${PYTHON_DEPS}
- app-alternatives/ninja
- >=net-libs/nodejs-20.12.1
- sys-apps/yarn
- $(python_gen_cond_dep '
- dev-python/pyqt6[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- ')
- )
- test? (
- ${RDEPEND}
- app-text/dvipng
- app-text/texlive
- dev-libs/openssl
- dev-util/cargo-nextest
- $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]')
- )
-"
-
-distutils_enable_sphinx python/sphinx \
- dev-python/sphinx-autoapi \
- dev-python/sphinx-rtd-theme
-
-EPYTEST_PLUGINS=()
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${P}-remove-aqt-data.patch
- "${FILESDIR}"/24.06.3/remove-yarn.patch
- "${FILESDIR}"/24.04.1/remove-mypy-protobuf.patch
- "${FILESDIR}"/24.04.1/revert-cert-store-hack.patch
- "${FILESDIR}"/23.12.1/ninja-rules-for-cargo.patch
-)
-
-QA_FLAGS_IGNORED="usr/bin/anki-sync-server
- usr/lib/python.*/site-packages/anki/_rsbridge.so"
-
-pkg_setup() {
- export PROTOC_BINARY="${BROOT}"/usr/bin/protoc
- export LIBSQLITE3_SYS_USE_PKG_CONFIG=1
- export ZSTD_SYS_USE_PKG_CONFIG=1
- rust_pkg_setup
- use gui && python-single-r1_pkg_setup
-}
-
-python_prepare_all() {
- mv "${WORKDIR}"/node_modules out || die
-
- # Expected files and directories
- mkdir .git out/env || die
- mkdir -p out/pyenv/bin || die
-
- if use doc; then
- sed "/^REPO_ROOT/s|=.*|= \"${S}\"|" -i python/sphinx/conf.py || die
- fi
-
- # Unpin Yarn
- sed -e '/"type": "module"/s/,//' \
- -e '/packageManager/d' -i package.json || die
- # We build wheels without invoking the uv frontend
- sed -i '/uv_binary/d' build/configure/src/python.rs || die
-
- # Not running the black formatter on generated files saves a dependency
- sed '/subprocess/d' -i pylib/tools/hookslib.py || die
-
- # Fix hardcoded runner location
- export CARGO_TARGET_DIR="${S}"/out/rust
- cbuild_dir="$(CHOST=${CBUILD:-${CHOST}} cargo_target_dir)"
- sed "s,rust/release,${cbuild_dir##*out/}," \
- -i build/ninja_gen/src/render.rs || die
- # Separate src_configure from runner build
- sed '/ConfigureBuild/d' -i build/ninja_gen/src/build.rs || die
- distutils-r1_python_prepare_all
-}
-
-python_prepare() {
- ln -s "${PYTHON}" out/pyenv/bin/python || die
-}
-
-src_prepare() {
- default
- rm -r ftl/{core,qt}-repo || die
- ln -s "${WORKDIR}"/anki-core-i18n-${COMMITS[ftl-core]} ftl/core-repo || die
- ln -s "${WORKDIR}"/anki-desktop-ftl-${COMMITS[ftl-desktop]} ftl/qt-repo || die
-
- mkdir out || die
- echo -e "${COMMITS[anki]:0:8}" > out/buildhash || die
-
- # None of our ninja implementations are n2
- sed 's/which::which("n2").*/false,/' -i build/ninja_gen/src/build.rs || die
-
- use gui && distutils-r1_src_prepare
-}
-
-_cbuild_cargo_build() {
- CHOST=${CBUILD:-${CHOST}} cargo_src_compile "${@}"
-}
-
-python_configure_all() {
- tc-env_build _cbuild_cargo_build -p configure
-
- local -x NODE_BINARY="${BROOT}"/usr/bin/node \
- YARN_BINARY="${BROOT}"/usr/bin/yarn \
- OFFLINE_BUILD=1
- if ! use debug; then
- if tc-is-lto; then
- local -x RELEASE=2
- else
- local -x RELEASE=1
- fi
- fi
- cargo_env edo "${cbuild_dir}"/configure
- unset cbuild_dir
-}
-
-src_configure() {
- cargo_gen_config
- cargo_src_configure
- use gui && distutils-r1_src_configure
-}
-
-python_compile() {
- tc-env_build _cbuild_cargo_build -p runner
- cargo_env eninja -f out/build.ninja pylib qt
- declare -A wheel_tags=(
- [pylib]="cp39-abi3-manylinux_2_36_x86_64"
- [qt]="py3-none-any"
- )
- local dir
- for dir in ${!wheel_tags[@]}; do
- pushd ${dir} > /dev/null || die
- local -x ANKI_WHEEL_TAG=${wheel_tags[${dir}]}
- distutils-r1_python_compile
- popd || die
- done
-}
-
-src_compile() {
- if use gui; then
- distutils-r1_src_compile
- else
- cargo_src_compile -p anki-sync-server
- fi
-}
-
-python_test() {
- epytest qt
- epytest pylib
-}
-
-python_test_all() {
- local -x NEXTEST_TEST_THREADS="$(makeopts_jobs)"
- edo cargo nextest run $(usev !debug '--release') \
- --color always \
- --all-features \
- --tests \
- --no-fail-fast
- eninja -f out/build.ninja check_vitest
-}
-
-src_test() {
- local -x ANKI_TEST_MODE=1
- distutils-r1_src_test
-}
-
-python_install_all() {
- pushd qt/launcher/lin > /dev/null || die
- doman anki.1
- doicon anki.{png,xpm}
- domenu anki.desktop
- insinto /usr/share/mime/packages
- doins anki.xml
- popd || die
- distutils-r1_python_install_all
-}
-
-src_install() {
- greadme_stdin <<- EOF
- Anki's user manual is located online at https://docs.ankiweb.net/
- Anki's add-on developer manual is located online at https://addon-docs.ankiweb.net/
- EOF
-
- if use gui; then
- distutils-r1_src_install
- else
- cargo_src_install --path rslib/sync
- fi
-}
-
-pkg_preinst() {
- greadme_pkg_preinst
- use gui && xdg_pkg_preinst
-}
-
-pkg_postinst() {
- greadme_pkg_postinst
- if use gui; then
- xdg_pkg_postinst
- optfeature "LaTeX in cards" "app-text/texlive[extra] app-text/dvipng"
- optfeature "sound support" media-video/mpv media-video/mplayer
- optfeature "recording support" "media-sound/lame[frontend] dev-python/pyqt6[multimedia]"
- optfeature "faster database operations" dev-python/orjson
- optfeature "Vulkan driver" "media-libs/vulkan-loader dev-qt/qtbase:6[vulkan]
- dev-qt/qtdeclarative:6[vulkan] dev-qt/qtwebengine:6[vulkan]"
-
- einfo "You can customize the LaTeX header for your cards to fit your needs:"
- einfo "Notes > Manage Note Types > [select a note type] > Options"
- fi
-}
diff --git a/app-misc/anki/files/anki-25.07.1-remove-aqt-data.patch b/app-misc/anki/files/anki-25.07.1-remove-aqt-data.patch
deleted file mode 100644
index 3bff077a2709..000000000000
--- a/app-misc/anki/files/anki-25.07.1-remove-aqt-data.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Upstream intends to include qt/aqt/data in the wheel under _aqt/ but
-ends up including it under aqt/ as well. This is a minimal version of
-the patch I sent upstream:
-https://github.com/ankitects/anki/pull/4180
-From: Lucio Sauer <watermanpaint@posteo.net>
---- a/qt/pyproject.toml
-+++ b/qt/pyproject.toml
-@@ -77,7 +77,7 @@ ankiw = "aqt:run"
-
- [tool.hatch.build.targets.wheel]
- packages = ["aqt"]
--exclude = ["**/*.scss", "**/*.ui"]
-+exclude = ["aqt/data", "**/*.ui"]
-
- [tool.hatch.version]
- source = "code"
---
-2.49.0
-
next reply other threads:[~2025-07-23 2:33 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-23 2:32 Sam James [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-09-11 3:29 [gentoo-commits] repo/gentoo:master commit in: app-misc/anki/, app-misc/anki/files/ Sam James
2025-07-08 20:28 Sam James
2024-02-28 4:03 Michał Górny
2020-06-12 7:00 Joonas Niilola
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1753237802.294b4d715e6090bc75c78fdfc4fc5d89eb5c9f81.sam@gentoo \
--to=sam@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox