From 6f24be13ee1e28fb48dbd8cdc59edbf51633cbec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alu=C3=ADsio=20Augusto=20Silva=20Gon=C3=A7alves?= Date: Tue, 11 Feb 2020 15:02:24 -0300 Subject: [PATCH] r128gain: 0.9.3 -> 1.0.1 Switched the source to GitHub so that test files are available for local, unsandboxed testing. --- pkgs/applications/audio/r128gain/default.nix | 36 ++++++++++++++----- .../audio/r128gain/ffmpeg-location.patch | 31 ++++++++++++++++ 2 files changed, 58 insertions(+), 9 deletions(-) create mode 100644 pkgs/applications/audio/r128gain/ffmpeg-location.patch diff --git a/pkgs/applications/audio/r128gain/default.nix b/pkgs/applications/audio/r128gain/default.nix index c4d8a1c20167..fb2b30632761 100644 --- a/pkgs/applications/audio/r128gain/default.nix +++ b/pkgs/applications/audio/r128gain/default.nix @@ -1,19 +1,37 @@ -{ lib, python3Packages, ffmpeg }: +{ lib +, fetchFromGitHub +, substituteAll +, ffmpeg +, python3Packages +, sox +}: python3Packages.buildPythonApplication rec { pname = "r128gain"; - version = "0.9.3"; + version = "1.0.1"; - src = python3Packages.fetchPypi { - inherit pname version; - sha256 = "0dx2grryp0lj58bawx1zcq9a6b4ijz9r5qrg8h6nvm92kqlya26i"; + src = fetchFromGitHub { + owner = "desbma"; + repo = "r128gain"; + rev = version; + sha256 = "0fnxis2g7mw8mb0cz9bws909lrndli7ml54nnzda49vc2fhbjwxr"; }; - propagatedBuildInputs = [ ffmpeg ] - ++ (with python3Packages; [ crcmod mutagen tqdm ]) - ; + patches = [ + ( + substituteAll { + src = ./ffmpeg-location.patch; + inherit ffmpeg; + } + ) + ]; - doCheck = false; # downloads media files for testing + propagatedBuildInputs = with python3Packages; [ crcmod ffmpeg-python mutagen tqdm ]; + checkInputs = with python3Packages; [ requests sox ]; + + # Testing downloads media files for testing, which requires the + # sandbox to be disabled. + doCheck = false; meta = with lib; { description = "Fast audio loudness scanner & tagger (ReplayGain v2 / R128)"; diff --git a/pkgs/applications/audio/r128gain/ffmpeg-location.patch b/pkgs/applications/audio/r128gain/ffmpeg-location.patch new file mode 100644 index 000000000000..ff118024011e --- /dev/null +++ b/pkgs/applications/audio/r128gain/ffmpeg-location.patch @@ -0,0 +1,31 @@ +diff --git i/r128gain/__init__.py w/r128gain/__init__.py +index 53fc3ef..f144e15 100755 +--- i/r128gain/__init__.py ++++ w/r128gain/__init__.py +@@ -78,7 +78,7 @@ def get_ffmpeg_lib_versions(ffmpeg_path=None): + Example: 0x3040100 for FFmpeg 3.4.1 + """ + r = collections.OrderedDict() +- cmd = (ffmpeg_path or "ffmpeg", "-version") ++ cmd = (ffmpeg_path or "@ffmpeg@/bin/ffmpeg", "-version") + output = subprocess.run(cmd, + check=True, + stdout=subprocess.PIPE, +@@ -156,7 +156,7 @@ def get_r128_loudness(audio_filepaths, *, calc_peak=True, enable_ffmpeg_threadin + os.devnull, + **additional_ffmpeg_args, + f="null"), +- cmd=ffmpeg_path or "ffmpeg") ++ cmd=ffmpeg_path or "@ffmpeg@/bin/ffmpeg") + + # run + logger().debug(cmd_to_string(cmd)) +@@ -740,7 +740,7 @@ def cl_main(): + help="Maximum number of tracks to scan in parallel. If not specified, autodetect CPU count") + arg_parser.add_argument("-f", + "--ffmpeg-path", +- default=shutil.which("ffmpeg"), ++ default="@ffmpeg@/bin/ffmpeg", + help="""Full file path of ffmpeg executable (only needed if not in PATH). + If not specified, autodetect""") + arg_parser.add_argument("-d",