nixpkgs/pkgs/applications/audio/wavegain/default.nix
Sergei Trofimovich bfe000d668 wavegain: pull upstream fix for -fno-common toolchains
Without the change the build fails on clang and upstream gcc as:

    $ nix build --impure --expr 'with import ./.{}; wavegain.override { stdenv = clang12Stdenv; }' -L
    ...
    ld: /build/main-51a0e2.o:(.bss+0x310): multiple definition of `file_formats';
      /build/audio-d7ad83.o:(.bss+0x8): first defined here
    ld: /build/wavegain-ea60c8.o:(.bss+0x140): multiple definition of `file_formats';
      /build/audio-d7ad83.o:(.bss+0x8): first defined here
2021-12-19 09:51:33 +00:00

38 lines
1,010 B
Nix

{ lib, stdenv, fetchFromGitHub, fetchpatch }:
stdenv.mkDerivation {
pname = "wavegain";
version = "1.3.1";
src = fetchFromGitHub {
owner = "MestreLion";
repo = "wavegain";
rev = "c928eaf97aeec5732625491b64c882e08e314fee";
sha256 = "0wghqnsbypmr4xcrhb568bfjdnxzzp8qgnws3jslzmzf34dpk5ls";
};
patches = [
# Upstream fix for -fno-common toolchains.
(fetchpatch {
name = "fno-common.patch";
url = "https://github.com/MestreLion/wavegain/commit/ee5e0f9a0ce34c0cf2769ea6566685a54b938304.patch";
sha256 = "11yi0czdn5h5bsqp23cww6yn9lm60cij8i1pzfwcfhgyf6f8ym1n";
})
];
makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
installPhase = ''
strip -s wavegain
install -vD wavegain "$out/bin/wavegain"
'';
meta = {
description = "ReplayGain for wave files";
homepage = "https://github.com/MestreLion/wavegain";
license = lib.licenses.lgpl21;
platforms = lib.platforms.linux;
maintainers = [ lib.maintainers.robbinch ];
};
}