Unverified Commit ece972dc authored by Franz Pletz's avatar Franz Pletz Committed by GitHub
Browse files

Merge pull request #310532 from kiike/pr/mpg321

parents 776fc4d6 cedf867b
Loading
Loading
Loading
Loading
+0 −53
Original line number Diff line number Diff line
{lib, stdenv, fetchurl, fetchpatch, libao, libmad, libid3tag, zlib, alsa-lib
# Specify default libao output plugin to use (e.g. "alsa", "pulse" …).
# If null, it will use the libao system default.
, defaultAudio ? null
}:

stdenv.mkDerivation rec {
  pname = "mpg321";
  version = "0.3.2";

  src = fetchurl {
    url = "mirror://sourceforge/mpg321/${version}/mpg321_${version}.orig.tar.gz";
    sha256 = "0ki8mh76bbmdh77qsiw682dvi8y468yhbdabqwg05igmwc1wqvq5";
  };

  patches = [
    (fetchpatch {
      name = "CVE-2018-7263.patch";
      url = "https://sources.debian.org/data/main/m/mpg321/0.3.2-3/debian/patches/handle_illegal_bitrate_value.patch";
      sha256 = "15simp5fjvm9b024ryfh441rkh2d5bcrizqkzlrh07n9sm7fkw6x";
    })
    # Apple defines semun already. Skip redefining it to fix build errors.
    (fetchpatch {
      url = "https://raw.githubusercontent.com/Homebrew/formula-patches/85fa66a9/mpg321/0.3.2.patch";
      sha256 = "sha256-qFYpKpE9PZSzOJrnsQINZi6FvUVX0anRyOvlF5eOYqE=";
    })
  ];

  hardeningDisable = [ "format" ];

  # Workaround build failure on -fno-common toolchains like upstream
  # gcc-10. Otherwise build fails as:
  #   ld: volume.o:/build/mpg321-0.3.2-orig/mpg321.h:119: multiple definition of
  #     `loop_remaining'; mpg321.o:/build/mpg321-0.3.2-orig/mpg321.h:119: first defined here
  env.NIX_CFLAGS_COMPILE = "-fcommon";

  configureFlags =
    [ ("--enable-alsa=" + (if stdenv.isLinux then "yes" else "no")) ]
    ++ (lib.optional (defaultAudio != null)
         "--with-default-audio=${defaultAudio}");

  buildInputs = [libao libid3tag libmad zlib]
    ++ lib.optional stdenv.isLinux alsa-lib;

  installTargets = [ "install" "install-man" ];

  meta = with lib; {
    description = "Command-line MP3 player";
    homepage = "https://mpg321.sourceforge.net/";
    license = licenses.gpl2;
    platforms = platforms.unix;
  };
}
+1 −2
Original line number Diff line number Diff line
@@ -7,7 +7,6 @@
# for passthru.tests
, audacity
, mpd
, mpg321
, normalize
, ocamlPackages
, streamripper
@@ -70,7 +69,7 @@ stdenv.mkDerivation rec {
  preConfigure = "autoconf";

  passthru.tests = {
    inherit audacity mpd mpg321 normalize streamripper vlc;
    inherit audacity mpd normalize streamripper vlc;
    ocaml-mad = ocamlPackages.mad;
  };

+1 −0
Original line number Diff line number Diff line
@@ -826,6 +826,7 @@ mapAliases ({
  mozart = throw "'mozart' has been renamed to/replaced by 'mozart2-binary'"; # Converted to throw 2023-09-10
  mpc_cli = mpc-cli; # moved from top-level 2022-01-24
  mpd_clientlib = libmpdclient; # Added 2021-02-11
  mpg321 = throw "'mpg321' has been removed due to it being unmaintained by upstream. Consider using mpg123 instead."; # Added 2024-05-10
  mumble_git = throw "'mumble_git' has been renamed to/replaced by 'pkgs.mumble'"; # Converted to throw 2023-09-10
  murmur_git = throw "'murmur_git' has been renamed to/replaced by 'pkgs.murmur'"; # Converted to throw 2023-09-10
  mutt-with-sidebar = mutt; # Added 2022-09-17
+0 −2
Original line number Diff line number Diff line
@@ -32936,8 +32936,6 @@ with pkgs;
    withConplay = false;
  };
  mpg321 = callPackage ../applications/audio/mpg321 { };
  mpc-cli = callPackage ../applications/audio/mpc {
    inherit (python3Packages) sphinx;
  };