Skip to content

Commit

Permalink
r128gain: 0.9.3 -> 1.0.1
Browse files Browse the repository at this point in the history
Switched the source to GitHub so that test files are available for
local, unsandboxed testing.
  • Loading branch information
AluisioASG authored and Jon committed Feb 15, 2020
1 parent 07c817f commit 6f24be1
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 9 deletions.
36 changes: 27 additions & 9 deletions pkgs/applications/audio/r128gain/default.nix
Original file line number Diff line number Diff line change
@@ -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)";
Expand Down
31 changes: 31 additions & 0 deletions pkgs/applications/audio/r128gain/ffmpeg-location.patch
Original file line number Diff line number Diff line change
@@ -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",

0 comments on commit 6f24be1

Please sign in to comment.