Merge pull request #22116 from LnL7/darwin-cmus

cmus: fix darwin
This commit is contained in:
Robin Gloster 2017-02-20 13:02:30 +01:00 committed by GitHub
commit dcba6eae1b
7 changed files with 47 additions and 31 deletions

View File

@ -1,4 +1,5 @@
{ stdenv, fetchFromGitHub, ncurses, pkgconfig { stdenv, fetchFromGitHub, runCommand, ncurses, pkgconfig
, libiconv, CoreAudio
, alsaSupport ? stdenv.isLinux, alsaLib ? null , alsaSupport ? stdenv.isLinux, alsaLib ? null
# simple fallback for everyone else # simple fallback for everyone else
@ -18,7 +19,7 @@
, cddbSupport ? true, libcddb ? null , cddbSupport ? true, libcddb ? null
, cdioSupport ? true, libcdio ? null , cdioSupport ? true, libcdio ? null
, cueSupport ? true, libcue ? null , cueSupport ? true, libcue ? null
, discidSupport ? true, libdiscid ? null , discidSupport ? (!stdenv.isDarwin), libdiscid ? null
, ffmpegSupport ? true, ffmpeg ? null , ffmpegSupport ? true, ffmpeg ? null
, flacSupport ? true, flac ? null , flacSupport ? true, flac ? null
, madSupport ? true, libmad ? null , madSupport ? true, libmad ? null
@ -89,6 +90,13 @@ let
#(mkFlag vtxSupport "CONFIG_VTX=y" libayemu) #(mkFlag vtxSupport "CONFIG_VTX=y" libayemu)
]; ];
clangGCC = runCommand "clang-gcc" {} ''
#! ${stdenv.shell}
mkdir -p $out/bin
ln -s ${stdenv.cc}/bin/clang $out/bin/gcc
ln -s ${stdenv.cc}/bin/clang++ $out/bin/g++
'';
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -109,13 +117,16 @@ stdenv.mkDerivation rec {
"CONFIG_WAV=y" "CONFIG_WAV=y"
] ++ concatMap (a: a.flags) opts); ] ++ concatMap (a: a.flags) opts);
buildInputs = [ ncurses pkgconfig ] ++ concatMap (a: a.deps) opts; buildInputs = [ ncurses pkgconfig ]
++ stdenv.lib.optional stdenv.cc.isClang clangGCC
++ stdenv.lib.optionals stdenv.isDarwin [ libiconv CoreAudio ]
++ concatMap (a: a.deps) opts;
meta = { meta = with stdenv.lib; {
description = "Small, fast and powerful console music player for Linux and *BSD"; description = "Small, fast and powerful console music player for Linux and *BSD";
homepage = https://cmus.github.io/; homepage = https://cmus.github.io/;
license = stdenv.lib.licenses.gpl2; license = licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.oxij ]; maintainers = [ maintainers.oxij ];
platforms = stdenv.lib.platforms.linux; platforms = platforms.linux ++ platforms.darwin;
}; };
} }

View File

@ -1,4 +1,4 @@
{fetchurl, stdenv}: { stdenv, fetchurl, libiconv }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libcddb-1.3.2"; name = "libcddb-1.3.2";
@ -8,10 +8,12 @@ stdenv.mkDerivation rec {
sha256 = "0fr21a7vprdyy1bq6s99m0x420c9jm5fipsd63pqv8qyfkhhxkim"; sha256 = "0fr21a7vprdyy1bq6s99m0x420c9jm5fipsd63pqv8qyfkhhxkim";
}; };
meta = { buildInputs = stdenv.lib.optional stdenv.isDarwin libiconv;
meta = with stdenv.lib; {
description = "C library to access data on a CDDB server (freedb.org)"; description = "C library to access data on a CDDB server (freedb.org)";
license = stdenv.lib.licenses.lgpl2Plus;
homepage = http://libcddb.sourceforge.net/; homepage = http://libcddb.sourceforge.net/;
platforms = stdenv.lib.platforms.linux; license = licenses.lgpl2Plus;
platforms = platforms.linux ++ platforms.darwin;
}; };
} }

View File

@ -1,4 +1,4 @@
{ fetchurl, stdenv, libcddb, pkgconfig, ncurses, help2man }: { stdenv, fetchurl, libcddb, pkgconfig, ncurses, help2man, libiconv }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libcdio-0.82"; name = "libcdio-0.82";
@ -8,12 +8,13 @@ stdenv.mkDerivation rec {
sha256 = "0fax1dzy84dzs20bmpq2gfw6hc1x2x9mhk53wynhcycjw3l3vjqs"; sha256 = "0fax1dzy84dzs20bmpq2gfw6hc1x2x9mhk53wynhcycjw3l3vjqs";
}; };
buildInputs = [ libcddb pkgconfig ncurses help2man ]; buildInputs = [ libcddb pkgconfig ncurses help2man ]
++ stdenv.lib.optional stdenv.isDarwin libiconv;
# Disabled because one test (check_paranoia.sh) fails. # Disabled because one test (check_paranoia.sh) fails.
#doCheck = true; #doCheck = true;
meta = { meta = with stdenv.lib; {
description = "A library for OS-independent CD-ROM and CD image access"; description = "A library for OS-independent CD-ROM and CD image access";
longDescription = '' longDescription = ''
GNU libcdio is a library for OS-independent CD-ROM and GNU libcdio is a library for OS-independent CD-ROM and
@ -21,8 +22,8 @@ stdenv.mkDerivation rec {
ISO-9660 filesystems (libiso9660), as well as utility ISO-9660 filesystems (libiso9660), as well as utility
programs such as an audio CD player and an extractor. programs such as an audio CD player and an extractor.
''; '';
license = stdenv.lib.licenses.gpl2Plus; license = licenses.gpl2Plus;
homepage = http://www.gnu.org/software/libcdio/; homepage = http://www.gnu.org/software/libcdio/;
platforms = stdenv.lib.platforms.linux; platforms = platforms.linux ++ platforms.darwin;
}; };
} }

View File

@ -1,4 +1,4 @@
{ fetchurl, stdenv, libcddb, pkgconfig, ncurses, help2man }: { stdenv, fetchurl, libcddb, pkgconfig, ncurses, help2man, libiconv }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libcdio-0.93"; name = "libcdio-0.93";
@ -8,12 +8,13 @@ stdenv.mkDerivation rec {
sha256 = "1a6x2c5bvpnkn7lhmxkjgz4axmh93m1clrlv41s1wzkc48lnc9zq"; sha256 = "1a6x2c5bvpnkn7lhmxkjgz4axmh93m1clrlv41s1wzkc48lnc9zq";
}; };
buildInputs = [ libcddb pkgconfig ncurses help2man ]; buildInputs = [ libcddb pkgconfig ncurses help2man ]
++ stdenv.lib.optional stdenv.isDarwin libiconv;
# Disabled because one test (check_paranoia.sh) fails. # Disabled because one test (check_paranoia.sh) fails.
#doCheck = true; #doCheck = true;
meta = { meta = with stdenv.lib; {
description = "A library for OS-independent CD-ROM and CD image access"; description = "A library for OS-independent CD-ROM and CD image access";
longDescription = '' longDescription = ''
GNU libcdio is a library for OS-independent CD-ROM and GNU libcdio is a library for OS-independent CD-ROM and
@ -21,8 +22,8 @@ stdenv.mkDerivation rec {
ISO-9660 filesystems (libiso9660), as well as utility ISO-9660 filesystems (libiso9660), as well as utility
programs such as an audio CD player and an extractor. programs such as an audio CD player and an extractor.
''; '';
license = stdenv.lib.licenses.gpl2Plus;
homepage = http://www.gnu.org/software/libcdio/; homepage = http://www.gnu.org/software/libcdio/;
platforms = stdenv.lib.platforms.linux; license = licenses.gpl2Plus;
platforms = platforms.linux ++ platforms.darwin;
}; };
} }

View File

@ -1,4 +1,5 @@
{ stdenv, fetchFromGitHub, cmake, bison, flex }: { stdenv, fetchFromGitHub, cmake, bison, flex }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libcue-${version}"; name = "libcue-${version}";
version = "2.1.0"; version = "2.1.0";
@ -12,7 +13,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake bison flex ]; nativeBuildInputs = [ cmake bison flex ];
meta = { meta = with stdenv.lib; {
description = "CUE Sheet Parser Library"; description = "CUE Sheet Parser Library";
longDescription = '' longDescription = ''
libcue is intended to parse a so called cue sheet from a char string or libcue is intended to parse a so called cue sheet from a char string or
@ -20,8 +21,8 @@ stdenv.mkDerivation rec {
available. available.
''; '';
homepage = http://sourceforge.net/projects/libcue/; homepage = http://sourceforge.net/projects/libcue/;
license = stdenv.lib.licenses.gpl2; license = licenses.gpl2;
maintainers = with stdenv.lib.maintainers; [ astsmtl ]; maintainers = with maintainers; [ astsmtl ];
platforms = with stdenv.lib.platforms; linux; platforms = platforms.linux ++ platforms.darwin;
}; };
} }

View File

@ -12793,6 +12793,7 @@ with pkgs;
cmatrix = callPackage ../applications/misc/cmatrix { }; cmatrix = callPackage ../applications/misc/cmatrix { };
cmus = callPackage ../applications/audio/cmus { cmus = callPackage ../applications/audio/cmus {
inherit (darwin.apple_sdk.frameworks) CoreAudio;
libjack = libjack2; libjack = libjack2;
libcdio = libcdio082; libcdio = libcdio082;
ffmpeg = ffmpeg_2; ffmpeg = ffmpeg_2;

View File

@ -19871,9 +19871,8 @@ in {
patchShebangs . patchShebangs .
''; '';
buildInputs = [ buildInputs = [ self.setuptools self.nose pkgs.pkgconfig pkgs.swig pkgs.libcdio ]
self.setuptools self.nose pkgs.pkgconfig pkgs.swig pkgs.libcdio ++ stdenv.lib.optional stdenv.isDarwin pkgs.libiconv;
];
patches = [ ../development/python-modules/pycdio/add-cdtext-toc.patch ]; patches = [ ../development/python-modules/pycdio/add-cdtext-toc.patch ];