1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 21:20:33 +02:00

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
This commit is contained in:
Vinicius Monego
2026-03-22 08:47:49 -03:00
parent 22abb268ca
commit f11bfbbd3d

View File

@@ -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")