nixpkgs/pkgs/applications/audio/aacgain/default.nix

74 lines
1.5 KiB
Nix
Raw Normal View History

{ stdenv, fetchFromGitHub, unzip, m4, libtool, automake, autoconf, mp3gain, mp4v2, faad2 }:
stdenv.mkDerivation {
name = "aacgain-1.9";
srcs = [
(fetchFromGitHub {
owner = "mecke";
repo = "aacgain";
rev = "4a7d59d78eadbbd5413e905af8f91fe9184ce7a8";
sha256 = "0y25avgmm1xpbggvkhby1a7v9wmhsp3wmp74q06sf8ph8xsfajw4";
})
mp3gain.src
mp4v2.src
faad2.src
];
buildInputs = [ unzip m4 libtool automake autoconf ];
setSourceRoot = "sourceRoot=`pwd`";
postUnpack = ''
cd $sourceRoot
# mp3gain does not unzip to its own directory, so move files accordingly.
mkdir mp3gain
find . -type f -maxdepth 1 -exec mv {} mp3gain/ \;
mv mpglibDBL mp3gain/
mv aacgain-* aacgain
mv faad2-* faad2
mv mp4v2-* mp4v2
'';
patchPhase = ''
cd $sourceRoot
patch -p2 -N < aacgain/linux/mp3gain.patch
'';
configurePhase = ''
cd $sourceRoot/mp4v2
./configure
cd $sourceRoot/faad2
./configure
'';
buildPhase = ''
cd $sourceRoot/mp4v2
make libmp4v2.la
cd $sourceRoot/faad2/libfaad
make
cd $sourceRoot/aacgain/linux
sh prepare.sh
mkdir build
cd build
../../../configure
make
'';
installPhase = ''
strip -s aacgain/aacgain
install -vD aacgain/aacgain "$out/bin/aacgain"
'';
meta = {
description = "ReplayGain for AAC files";
homepage = https://github.com/mecke/aacgain.git;
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.robbinch ];
};
}