From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id D1E441584AD for ; Sun, 04 May 2025 06:08:20 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id AE6C134315F for ; Sun, 04 May 2025 06:08:20 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id C9FD11103C1; Sun, 04 May 2025 06:08:12 +0000 (UTC) Received: from smtp.gentoo.org (mail.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id BB2141103C1 for ; Sun, 04 May 2025 06:08:12 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 68A69343154 for ; Sun, 04 May 2025 06:08:12 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id A06D02741 for ; Sun, 04 May 2025 06:08:09 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1746338838.a82fffe3bf6c9fc44b8c54102eaf5f0eed385e39.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-misc/anki/ X-VCS-Repository: repo/gentoo X-VCS-Files: app-misc/anki/Manifest app-misc/anki/anki-25.02.ebuild X-VCS-Directories: app-misc/anki/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: a82fffe3bf6c9fc44b8c54102eaf5f0eed385e39 X-VCS-Branch: master Date: Sun, 04 May 2025 06:08:09 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 22d2ac2b-e411-450c-a9df-d44010785f9c X-Archives-Hash: c3d23cd97dd72cb02da10bc0a94e1fad commit: a82fffe3bf6c9fc44b8c54102eaf5f0eed385e39 Author: Lucio Sauer posteo net> AuthorDate: Sat May 3 08:45:40 2025 +0000 Commit: Sam James gentoo org> CommitDate: Sun May 4 06:07:18 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a82fffe3 app-misc/anki: drop 25.02 Closes: https://bugs.gentoo.org/953565 (obsolete) Bug: https://bugs.gentoo.org/954770 Signed-off-by: Lucio Sauer posteo.net> Part-of: https://github.com/gentoo/gentoo/pull/41898 Signed-off-by: Sam James gentoo.org> app-misc/anki/Manifest | 3 - app-misc/anki/anki-25.02.ebuild | 312 ---------------------------------------- 2 files changed, 315 deletions(-) diff --git a/app-misc/anki/Manifest b/app-misc/anki/Manifest index 07ffb78cc5b4..fd5adea6f464 100644 --- a/app-misc/anki/Manifest +++ b/app-misc/anki/Manifest @@ -1,9 +1,6 @@ -DIST anki-25.02-crates.tar.xz 57556076 BLAKE2B 0e462ffb783c1f0b53b351731a533e9960c4a99112cbbea6295503fe67815dc98702c6e3f66ba4804b6b1490a28b5ef6194579afee07c78e1685b5dcd8b9f260 SHA512 e7aa3051e6d8284318b8391923005a8327fd5cd67737a63625fde457ca9f8a1755e84e4e16cac6e8214e38bff12c04c52e77ecd2915932d258ace5d345a06e8f -DIST anki-25.02-node_modules.tar.xz 64214728 BLAKE2B 544741219f34785f11410db34ebedf15ef8abcf59bcee3cc8ebe847ee260901d70a601fbf681c3d48bd1cc1819ed6198a9e6092e504baca5c1be007cb4325127 SHA512 d144e7c7e4431220eab9fdf55312aa5eb56f53990472add261273a5f7377ee6b813e5ca64ae8782763c6ef1eb550c7e034eecfc3c5656fa13366761d46dc328c DIST anki-25.02.4-crates.tar.xz 57606472 BLAKE2B 40f976c4e20c6ecd0877db05a733bd66b608e1e054177479ec3068a5d9d8b8dcd32495a4c81caee4e37e12090bb8b000f41f7c3162e3d7b80dbe522bca797f47 SHA512 f382f304ead6edee5c64472945ac56fb418adf046129c45771862ff5732a1a944f84e6d80ef590f11bde2ca2058c989ed70847ebb791f101af9a3ad34285d396 DIST anki-25.02.4-node_modules.tar.xz 304237316 BLAKE2B 270db46a9d7d64f87a57052f82071108e78371805e68c7d426dad268edd4f548b2ace4e7f2712597f4894e7c4d20fa7a9e72e3cd2278f023317f40361bcf3a37 SHA512 820495a61a3bf5bdaeaf40c4ae6d1b1cf3a9b2924494c40c66065b4b4214e52cfaf6477af2b7e801500e180f8c6956881c5206b049996ab0ae58f45966a368f4 DIST anki-25.02.4.gh.tar.gz 2430814 BLAKE2B 3351b23dd47686d8048dd55783e0a8ea1d90ed8f329aecab141ef4bf2c044278e66b4f0369d70ca57020a6f4ab4deda2358185fd89d36eab25b8faade9149d53 SHA512 d371c79e6f78af07420c7384a47eef63e6764775386c94fa52203d2bb03929b8176b51e042de70613d1985317c840fcb3ff9c9cb9f7147d19312a4e505d4b766 -DIST anki-25.02.gh.tar.gz 2428530 BLAKE2B b9318b453b2b706b44ae42f43f62b84070cde45a3d5ee053b7836dc408731cf5953007a907731fd18d06ed8a3372c32b57896b997c17a8db0d7e361202868a92 SHA512 57806830936e73b0d785075616b71f7b471f49aff2bde589f790b1c8f48c75477423e42eee4761c3001fac12c0412ec011f2661ea3e94813040631ef5fafddfc DIST anki-core-i18n-0fe0162f4a18e8ef2fbac1d9a33af8e38cf7260e.gh.tar.gz 1521578 BLAKE2B 101505d871df70316222db08f2bc85fdd00be81320600c64c76bb51565a88c13fa6fdd9e059ed404931f2dc97611cf2a954650d10d6556cd181427dbffc4f1a6 SHA512 c72eaea9e0f350d092a44f7623a7cfdcb74ff99a97ca4b53c51b1b26af387c9c6cd64bfca3dc4577c14c3ee4040b8ce1a7a50f2e209b0fa47c5297f97c92a910 DIST anki-desktop-ftl-17216b03db7249600542e388bd4ea124478400e5.gh.tar.gz 235720 BLAKE2B 0e1a454dbfa5f0f8750000c86b1468c7cfde99e53e6e7683820f5523963c4187e76ef40c4be4c2ef7037cc269f258fe3270ba99006912fb2844ba6cc18dc91d3 SHA512 6d91607c6b0805e6dfce8a93dbf46ac945e9b1631aa054cb98e513d7a6da64d905035b8da8ea5d10c0d700a0aa96b056748d956342fe4ddf7232f7f7540ee88a DIST linkcheck-184b2ca50ed39ca43da13f0b830a463861adb9ca.gh.tar.gz 19408 BLAKE2B c5e4f155f2d79d6d4340eaf3caaab8cbc0a558bc351d06b6c77ac4b61afa4172f5e3497106d5535b79911c7697a74ef8765f3fdcb7b602edb7524d6b5169a6fc SHA512 2cff7ad872c9ce3b29a8c74f9ce1ca365f6c381e1d9bc5da46bb34d0687708164ad86fb78baecdb596de37f79f891d1326b994348e51f4e74ec2731da23034d4 diff --git a/app-misc/anki/anki-25.02.ebuild b/app-misc/anki/anki-25.02.ebuild deleted file mode 100644 index 731449d3aec7..000000000000 --- a/app-misc/anki/anki-25.02.ebuild +++ /dev/null @@ -1,312 +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=no -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.82.0" - -inherit cargo desktop distutils-r1 eapi9-ver multiprocessing ninja-utils \ - optfeature readme.gentoo-r1 toolchain-funcs xdg - -DESCRIPTION="A spaced-repetition memory training program (flash cards)" -HOMEPAGE="https://apps.ankiweb.net/" - -declare -A COMMITS=( - [anki]="038d85b1d9e1896e93a3e4a26f600c79ddc33611" - [ftl-core]="0fe0162f4a18e8ef2fbac1d9a33af8e38cf7260e" - [ftl-desktop]="17216b03db7249600542e388bd4ea124478400e5" -) -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://git.sr.ht/~antecrescent/gentoo-files/blob/main/app-misc/anki/${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 CC-BY-4.0 GPL-3+ )" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 CC0-1.0 ISC MIT - MPL-2.0 Unicode-3.0 Unicode-DFS-2016 Unlicense ZLIB -" -# Manually added crate licenses -LICENSE+=" openssl" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -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? ( - ${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 - -distutils_enable_tests pytest - -PATCHES=( - "${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 - ln -s "${PYTHON}" out/pyenv/bin/python || 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 - - # 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 -} - -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 "${cbuild_dir}"/configure || die - 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 wheels - local w - for w in out/wheels/*.whl; do - distutils_wheel_install "${BUILD_DIR}"/install ${w} - 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 nextest_opts=( - cargo-verbose - failure-output=immediate - status-level=all - test-threads=$(get_makeopts_jobs) - ) - if [[ ! ${CARGO_TERM_COLOR} ]]; then - [[ "${NOCOLOR}" = true || "${NOCOLOR}" = yes ]] && nextest_opts+=( color=never ) - fi - nextest_opts=( ${nextest_opts[@]/#/--} ) - cargo_env cargo nextest run ${nextest_opts[@]} || die - - eninja -f out/build.ninja check_vitest -} - -src_test() { - local -x ANKI_TEST_MODE=1 - distutils-r1_src_test -} - -python_install_all() { - local DOC_CONTENTS="Users with add-ons that still rely on Anki's Qt5 GUI - can temporarily set the environment variable ENABLE_QT5_COMPAT to 1 to have - Anki install the previous compatibility code. This option has additional - runtime dependencies. Please take a look at this package's optional runtime - features for a complete listing. - \n\nENABLE_QT5_COMPAT may be removed in the future, so this is not a - long-term solution. - \n\nAnki's user manual is located online at https://docs.ankiweb.net/ - \nAnki's add-on developer manual is located online at - https://addon-docs.ankiweb.net/" - - readme.gentoo_create_doc - pushd qt/bundle/lin > /dev/null || die - doman anki.1 - doicon anki.{png,xpm} - domenu anki.desktop - insinto /usr/share/mime/packages - doins anki.xml - popd || die - python_newscript - anki <<-EOF - #!${EPREFIX}/usr/bin/python - import sys - from aqt import run - sys.exit(run()) - EOF - distutils-r1_python_install_all -} - -src_install() { - if use gui; then - distutils-r1_src_install - else - cargo_src_install --path rslib/sync - fi -} - -pkg_postinst() { - ver_replacing -lt 24.06.3-r1 && local FORCE_PRINT_ELOG=1 - readme.gentoo_print_elog - 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 "compatibility with Qt5-dependent add-ons" dev-python/pyqt6[dbus,printsupport] - 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 -}