From f11bfbbd3df416d88acd9c95d7628202ea9d4f1c Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Sun, 22 Mar 2026 08:47:49 -0300 Subject: [PATCH] gnu: ffmpeg-normalize: Update to 1.37.3. * gnu/packages/video.scm (ffmpeg-normalize): Update to 1.37.3. [source]: Switch to git-fetch. [arguments]: Set '#:build-backend'. <#:test-flags>: Skip test files relying on network or missing files. <#:phases>: Do not override the 'check' phase. Add phase 'relax-colorlog' after 'unpack'. [native-inputs]: Remove python-wheel. Add git-minimal/pinned. [propagated-inputs]: Remove python-colorama. Add python-mutagen. Change-Id: Ia6f598134a0936566132bb66ba845e83383c67a8 --- gnu/packages/video.scm | 62 ++++++++++++++++++++++++++---------------- 1 file changed, 38 insertions(+), 24 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index b138f45a73..fc0b8bad84 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -2390,35 +2390,49 @@ It is usually a complement to @code{ffmpeg-normalize}.") (define-public ffmpeg-normalize (package (name "ffmpeg-normalize") - (version "1.31.3") - (source (origin - (method url-fetch) - (uri (pypi-uri "ffmpeg_normalize" version)) - (sha256 - (base32 - "1mi3w1k1fhmv5acybw4dwas0dx75f7d4dpl192ch1shp2m407v5i")))) + (version "1.37.3") + (source + (origin + (method git-fetch) ; no tests in PyPI + (uri (git-reference + (url "https://github.com/slhck/ffmpeg-normalize") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "12m6f7yxa4ksv4hc2slh45cqwzlfr1cdck4xlddxnc4brc30c69a")))) (build-system pyproject-build-system) (arguments - (list #:phases - #~(modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "python" "-m" "pytest" - "test/test.py")))) - (add-after 'wrap 'wrap-ffmpeg - ;; Wrap ffmpeg on the executable. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((ffn (search-input-file outputs - "bin/ffmpeg-normalize")) - (ffm (search-input-file inputs "bin/ffmpeg"))) - (wrap-program ffn - `("FFMPEG_PATH" = (,ffm))))))))) - (native-inputs (list python-pytest python-setuptools python-wheel)) + (list + #:build-backend "setuptools.build_meta" ; recent versions use uv-build + #:test-flags + #~(list + ;; These tests rely on a remote API. + "--ignore" "tests/test_api_ground_truth.py" + ;; These fail because of missing presets in the source. + "--ignore" "tests/test_presets.py") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'relax-colorlog + (lambda _ + (substitute* "pyproject.toml" + ;; The only breaking change after 6.7.0 was the removal + ;; of Python2 support. + (("colorlog==6.7.0") "colorlog")))) + (add-after 'wrap 'wrap-ffmpeg + ;; Wrap ffmpeg on the executable. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((ffn (search-input-file outputs + "bin/ffmpeg-normalize")) + (ffm (search-input-file inputs "bin/ffmpeg"))) + (wrap-program ffn + `("FFMPEG_PATH" = (,ffm))))))))) + (native-inputs (list git-minimal/pinned ; for replaygain tests + python-pytest + python-setuptools)) (inputs (list bash-minimal ffmpeg)) (propagated-inputs (list ffmpeg-progress-yield - python-colorama python-colorlog + python-mutagen python-tqdm)) (home-page "https://github.com/slhck/ffmpeg-normalize") (synopsis "Normalize audio via ffmpeg")