Unverified Commit e24cdf7e authored by Weijia Wang's avatar Weijia Wang Committed by GitHub
Browse files

Merge pull request #261586 from wegank/mpc123-refactor

mpc123: refactor
parents ae7ea401 2a8b0577
Loading
Loading
Loading
Loading
+44 −22
Original line number Diff line number Diff line
{ fetchurl, lib, stdenv, gettext, libmpcdec, libao }:

let version = "0.2.4"; in
stdenv.mkDerivation rec {
{ lib
, stdenv
, fetchFromGitLab
, gettext
, libao
, libmpcdec
}:

stdenv.mkDerivation (finalAttrs: {
  pname = "mpc123";
  inherit version;

  src = fetchurl {
    url = "mirror://sourceforge/mpc123/version%20${version}/${pname}-${version}.tar.gz";
    sha256 = "0sf4pns0245009z6mbxpx7kqy4kwl69bc95wz9v23wgappsvxgy1";
  version = "0.2.4";

  src = fetchFromGitLab {
    domain = "salsa.debian.org";
    owner = "debian";
    repo = "mpc123";
    rev = "upstream/${finalAttrs.version}";
    hash = "sha256-+/yxb19CJzyjQmT3O21pEmPR5YudmyCxWwo+W3uOB9Q=";
  };

  patches = [ ./use-gcc.patch ];
  strictDeps = true;

  nativeBuildInputs = [
    gettext
  ];

  buildInputs = [
    gettext
    libao
    libmpcdec
  ];

  makeFlags = [
    "CC=${stdenv.cc.targetPrefix}cc"
  ];

  # Workaround build failure on -fno-common toolchains like upstream
  # gcc-10. Otherwise build fails as:
  #   ld: /build/cc566Cj9.o:(.bss+0x0): multiple definition of `mpc123_file_reader'; ao.o:(.bss+0x40): first defined here
  env.NIX_CFLAGS_COMPILE = "-fcommon";

  buildInputs = [ gettext libmpcdec libao ];

  installPhase =
  # XXX: Should install locales too (though there's only 1 available).
    '' mkdir -p "$out/bin"
  installPhase = ''
    runHook preInstall

    mkdir -p "$out/bin"
    cp -v mpc123 "$out/bin"

    runHook postInstall
  '';

  meta = {
    homepage = "https://mpc123.sourceforge.net/";

    description = "A Musepack (.mpc) audio player";

    homepage = "https://github.com/bucciarati/mpc123";
    license = lib.licenses.gpl2Plus;

    mainProgram = "mpc123";
    maintainers = [ ];
    platforms = lib.platforms.gnu ++ lib.platforms.linux; # arbitrary choice
    platforms = lib.platforms.unix;
  };
}
})
+0 −13
Original line number Diff line number Diff line
Don't worry, just use GCC and everything's gonna be alright.

--- mpc123-0.2.4/Makefile	2008-03-21 22:14:38.000000000 +0100
+++ mpc123-0.2.4/Makefile	2010-01-28 23:26:49.000000000 +0100
@@ -17,7 +17,7 @@
 # along with this program; if not, write to the Free Software Foundation,
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 
-CC := $(shell which colorgcc || which cc)
+CC := gcc
 
 TAGSPRG := ctags