Package Details: python-ffmpeg-progress-yield 1.1.2-1

Git Clone URL: https://aur.archlinux.org/python-ffmpeg-progress-yield.git (read-only, click to copy)
Package Base: python-ffmpeg-progress-yield
Description: Run an ffmpeg command with its progress yielded.
Upstream URL: https://github.com/slhck/ffmpeg-progress-yield
Licenses: MIT
Submitter: ruahcra
Maintainer: ruahcra
Last Packager: ruahcra
Votes: 5
Popularity: 0.111971
First Submitted: 2021-04-29 09:51 (UTC)
Last Updated: 2026-03-16 13:23 (UTC)

Latest Comments

1 2 Next › Last »

martin-de commented on 2026-02-08 12:32 (UTC)

Since the package maintainer had previously implemented the necessary corrections using sed, I felt it made more sense to continue with this approach rather than creating another dependency with uv. However, the package maintainer should decide which approach to use in the future.

After developer Werner Robitza released version 1.1.2 yesterday, which included the change requires = ["uv_build>=0.8.14"], thus setting only a minimum requirement and removing the upper limit, we should be safe for the future without further action.

willemw commented on 2026-02-08 11:53 (UTC)

The PKGBUILD file I provided is also independent of the requires versions set in file pyproject.toml. And it does not require a patch in prepare(). Tested with versions 1.0.5 and 1.1.1. Note: the Arch Wiki has no "Python uv" build guidelines (yet).

martin-de commented on 2026-02-07 19:27 (UTC) (edited on 2026-02-07 23:47 (UTC) by martin-de)

After I added a note to the existing bug report, the developer reacted quickly and released a corrected version 1.1.2. The package can now be built without errors again; simply set pkgver=1.1.2 in the PKGBUILD and update the checksum with updpkgsums, that's all you need to do.

As I understand the developer Werner Robitza's comment, it should be the package maintainer's responsibility to set the version at the time the package is built. I tried this:

prepare() {
  cd ${_name}-${pkgver}    
  UV_BUILD_VER=$(pacman -Q python-uv-build | awk '{print $2}' | cut -d- -f1)    
  sed -i "/\[build-system\]/,/build-backend/ s/requires = .*/requires = [\"uv_build>=$UV_BUILD_VER\"]/" pyproject.toml    
}

This would cause the current version to be determined by pacman before the package is built and set in pyproject.toml. This would make us independent of upstream dependencies, because the entry would always match the currently installed version of uv-build.

I tried it with the unmodified version 1.1.1 and it worked.

willemw commented on 2026-02-07 17:53 (UTC)

Similar to using uv in python-ffmpeg-progress-yield-git, this PKGBUILD file does build:

# Maintainer: Jason Nader <jason.nader [] protonmail.com>
# Contributor: willemw <willemw12@gmail.com>
# Contributor: Sian1468 <sian1468-aur@.39011468.xyz>

pkgname=python-ffmpeg-progress-yield
_name=${pkgname#python-}
pkgver=1.1.1
pkgrel=1
pkgdesc="Run an ffmpeg command with its progress yielded."
arch=('any')
url="https://github.com/slhck/ffmpeg-progress-yield"
license=('MIT')
depends=('ffmpeg' 'python-tqdm')
checkdepends=('ffmpeg' 'python-pytest' 'python-pytest-asyncio' 'procps-ng')
makedepends=('python-installer' 'python-build' 'python-uv-build' uv)
source=("$pkgname-$pkgver.tar.gz::$url/archive/v${pkgver}.tar.gz")
sha512sums=('fd9af9bb7acf9d5242d7549fda6c97c1ec49946aa18f118134b8efd5d766a633a1516708157cb8cb4c77624104fea75c6d1eefca31d3f2c0226d1525c7b8230f')

build() {
  cd ${_name}-${pkgver}
  #python -m build --wheel --no-isolation
  uv --no-cache --offline build --no-build-isolation --out-dir=dist --wheel .
}

check() {
  cd ${_name}-${pkgver}
  uv venv --system-site-packages
  uv --offline --no-cache pip install --link-mode=copy --no-deps dist/*.whl
  PATH=".venv/bin:$PATH" ./.venv/bin/python -m pytest tests
}

package() {
  cd ${_name}-${pkgver}
  install -Dm644 LICENSE.md "${pkgdir}/usr/share/licenses/$pkgname/LICENSE"
  python -m installer --destdir="$pkgdir" dist/*.whl
}

martin-de commented on 2026-02-07 14:11 (UTC)

This problem isn't new: https://github.com/slhck/ffmpeg-progress-yield/issues/32

Back then, the package couldn't be built against uv_build > 0.9, and now, after version 0.10.0 was released in the official repository on 2026-02-06, it's broken again.

You can try updating the variable requires = ["uv_build>=0.8.14,<0.10.0"] in pyproject.toml to a current value, or better yet, report the problem upstream so the developer can check if the current version is compatible with their project and fix it if necessary.

And the PKGBUILD should be updated to the current version 1.1.1.

willemw commented on 2026-02-07 13:27 (UTC)

Not compatible with package python-uv-build 0.10.0-1:

==> Starting build()...
* Getting build dependencies for wheel...

ERROR Missing dependencies:
        uv_build<0.10.0,>=0.8.14
==> ERROR: A failure occurred in build().
    Aborting...

martin-de commented on 2025-12-28 09:53 (UTC) (edited on 2025-12-28 23:14 (UTC) by martin-de)

Do not use quotes around the value. Using "function" (with quotes) in a .ini file causes pytest-asyncio to read the literal string including the quotes, which is not recognized.

However, the PKGBUILD is outdated, as a newer version 1.0.5 has been available since November 9th, in which the described problem no longer occurs. However, the additional dependency 'python-uv-build' must be set, the check function must be revised, because pytest no longer finds 'test/test.py' and 'LICENSE' has been renamed to 'LICENSE.md'.

For a fast solution, remove the quotes in the .ini file, or wait until the maintainer updated the PKGBUILD to the latest release.

willemw commented on 2025-12-28 07:58 (UTC)

==> Starting check()...
ERROR: '"function"' is not a valid asyncio_default_fixture_loop_scope. Valid scopes are: function, class, module, package, session.

yochananmarqos commented on 2025-06-22 20:41 (UTC)

@ruahcra: FYI, procps-ng is required for the test as it needs pgrep.

willemw commented on 2025-06-09 08:13 (UTC)

Fails to build. python-pytest-asyncio (was pytest-asyncio) is missing from checkdepends.