Merge pull request #21681 from matthewbauer/anki

Anki: Darwin support
This commit is contained in:
Daiderd Jordan 2017-01-18 21:41:11 +01:00 committed by GitHub
commit 2b0ca8dc5d
5 changed files with 32 additions and 21 deletions

View File

@ -199,6 +199,6 @@ stdenv.mkDerivation rec {
homepage = "http://mplayerhq.hu"; homepage = "http://mplayerhq.hu";
license = "GPL"; license = "GPL";
maintainers = [ stdenv.lib.maintainers.eelco stdenv.lib.maintainers.urkud ]; maintainers = [ stdenv.lib.maintainers.eelco stdenv.lib.maintainers.urkud ];
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
}; };
} }

View File

@ -1,4 +1,5 @@
{ stdenv, fetchurl, alsaLib, pkgconfig }: { stdenv, fetchurl, alsaLib, pkgconfig
, AudioUnit, AudioToolbox, CoreAudio, CoreServices, Carbon }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "portaudio-19-20140130"; name = "portaudio-19-20140130";
@ -11,31 +12,26 @@ stdenv.mkDerivation rec {
buildInputs = [ pkgconfig ] buildInputs = [ pkgconfig ]
++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib; ++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
configureFlags = stdenv.lib.optionals stdenv.isDarwin configureFlags = [ "--disable-mac-universal" ];
[ "--build=x86_64" "--without-oss" "--enable-static" "--enable-shared" ];
preBuild = stdenv.lib.optionalString stdenv.isDarwin '' propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ AudioUnit AudioToolbox CoreAudio CoreServices Carbon ];
patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
sed -i '50 i\ sed -i '50 i\
#include <CoreAudio/AudioHardware.h>\ #include <CoreAudio/AudioHardware.h>\
#include <CoreAudio/AudioHardwareBase.h>\ #include <CoreAudio/AudioHardwareBase.h>\
#include <CoreAudio/AudioHardwareDeprecated.h>' \ #include <CoreAudio/AudioHardwareDeprecated.h>' \
include/pa_mac_core.h include/pa_mac_core.h
# disable two tests that don't compile
sed -i -e 105d Makefile
sed -i -e 107d Makefile
''; '';
# not sure why, but all the headers seem to be installed by the make install # not sure why, but all the headers seem to be installed by the make install
installPhase = if stdenv.isDarwin then '' installPhase = ''
mkdir -p "$out"
cp -r include "$out"
cp -r lib "$out"
'' else ''
make install make install
'' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
# fixup .pc file to find alsa library # fixup .pc file to find alsa library
sed -i "s|-lasound|-L${alsaLib.out}/lib -lasound|" "$out/lib/pkgconfig/"*.pc sed -i "s|-lasound|-L${alsaLib.out}/lib -lasound|" "$out/lib/pkgconfig/"*.pc
'' + stdenv.lib.optionalString stdenv.isDarwin ''
cp include/pa_mac_core.h $out/include/pa_mac_core.h
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -4,7 +4,7 @@
, libmng, which, mesaSupported, mesa, mesa_glu, openssl, dbus, cups, pkgconfig , libmng, which, mesaSupported, mesa, mesa_glu, openssl, dbus, cups, pkgconfig
, libtiff, glib, icu, mysql, postgresql, sqlite, perl, coreutils, libXi , libtiff, glib, icu, mysql, postgresql, sqlite, perl, coreutils, libXi
, buildMultimedia ? stdenv.isLinux, alsaLib, gstreamer, gst_plugins_base , buildMultimedia ? stdenv.isLinux, alsaLib, gstreamer, gst_plugins_base
, buildWebkit ? stdenv.isLinux , buildWebkit ? (stdenv.isLinux || stdenv.isDarwin)
, flashplayerFix ? false, gdk_pixbuf , flashplayerFix ? false, gdk_pixbuf
, gtkStyle ? false, libgnomeui, gtk2, GConf, gnome_vfs , gtkStyle ? false, libgnomeui, gtk2, GConf, gnome_vfs
, developerBuild ? false , developerBuild ? false

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, pkgconfig, intltool, autoreconfHook { lib, stdenv, fetchurl, fetchpatch, pkgconfig, intltool, autoreconfHook
, json_c, libsndfile, libtool , json_c, libsndfile, libtool
, xorg, libcap, alsaLib, glib , xorg, libcap, alsaLib, glib
, avahi, libjack2, libasyncns, lirc, dbus , avahi, libjack2, libasyncns, lirc, dbus
@ -30,6 +30,8 @@
, # Whether to build only the library. , # Whether to build only the library.
libOnly ? false libOnly ? false
, CoreServices, AudioUnit, Cocoa
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -41,7 +43,11 @@ stdenv.mkDerivation rec {
sha256 = "11j682g2mn723sz3bh4i44ggq29z053zcggy0glzn63zh9mxdly3"; sha256 = "11j682g2mn723sz3bh4i44ggq29z053zcggy0glzn63zh9mxdly3";
}; };
patches = [ ./caps-fix.patch ]; patches = [ ./caps-fix.patch ]
++ stdenv.lib.optional stdenv.isDarwin (fetchpatch {
url = "https://bugs.freedesktop.org/attachment.cgi?id=127889";
sha256 = "063h5vmh4ykgxjbxyxjlj6qhyyxhazbh3p18p1ik69kq24nkny9m";
});
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
@ -53,6 +59,7 @@ stdenv.mkDerivation rec {
buildInputs = buildInputs =
[ json_c libsndfile speexdsp fftwFloat ] [ json_c libsndfile speexdsp fftwFloat ]
++ lib.optionals stdenv.isLinux [ glib dbus ] ++ lib.optionals stdenv.isLinux [ glib dbus ]
++ lib.optionals stdenv.isDarwin [ CoreServices AudioUnit Cocoa ]
++ lib.optionals (!libOnly) ( ++ lib.optionals (!libOnly) (
[ libasyncns webrtc-audio-processing ] [ libasyncns webrtc-audio-processing ]
++ lib.optional jackaudioSupport libjack2 ++ lib.optional jackaudioSupport libjack2

View File

@ -9091,7 +9091,9 @@ in
popt = callPackage ../development/libraries/popt { }; popt = callPackage ../development/libraries/popt { };
portaudio = callPackage ../development/libraries/portaudio { }; portaudio = callPackage ../development/libraries/portaudio {
inherit (darwin.apple_sdk.frameworks) AudioToolbox AudioUnit CoreAudio CoreServices Carbon;
};
portmidi = callPackage ../development/libraries/portmidi {}; portmidi = callPackage ../development/libraries/portmidi {};
@ -10425,11 +10427,16 @@ in
pshs = callPackage ../servers/http/pshs { }; pshs = callPackage ../servers/http/pshs { };
libpulseaudio = callPackage ../servers/pulseaudio { libOnly = true; }; libpulseaudio = callPackage ../servers/pulseaudio {
libOnly = true;
inherit (darwin.apple_sdk.frameworks) CoreServices AudioUnit Cocoa;
};
# Name is changed to prevent use in packages; # Name is changed to prevent use in packages;
# please use libpulseaudio instead. # please use libpulseaudio instead.
pulseaudioLight = callPackage ../servers/pulseaudio { }; pulseaudioLight = callPackage ../servers/pulseaudio {
inherit (darwin.apple_sdk.frameworks) CoreServices AudioUnit Cocoa;
};
pulseaudioFull = callPackage ../servers/pulseaudio { pulseaudioFull = callPackage ../servers/pulseaudio {
gconf = gnome3.gconf; gconf = gnome3.gconf;
@ -10440,6 +10447,7 @@ in
bluetoothSupport = true; bluetoothSupport = true;
remoteControlSupport = true; remoteControlSupport = true;
zeroconfSupport = true; zeroconfSupport = true;
inherit (darwin.apple_sdk.frameworks) CoreServices AudioUnit Cocoa;
}; };
tomcat_connectors = callPackage ../servers/http/apache-modules/tomcat-connectors { }; tomcat_connectors = callPackage ../servers/http/apache-modules/tomcat-connectors { };