Merge pull request #1638 from wkennington/cache.mumble

Add more configurable options to mumble
This commit is contained in:
Domen Kožar 2014-01-31 00:03:20 -08:00
commit 7c70ef4dee
6 changed files with 138 additions and 26 deletions

View File

@ -1,9 +1,18 @@
{ stdenv, fetchurl, qt4, boost, speechd, protobuf, libsndfile, { stdenv, fetchurl, qt4, boost, protobuf, libsndfile
speex, libopus, avahi, pkgconfig, , speex, libopus, avahi, pkgconfig
jackSupport ? false, , jackSupport ? false
jackaudio ? null }: , jackaudio ? null
, speechdSupport ? false
, speechd ? null
}:
assert jackSupport -> jackaudio != null;
assert speechdSupport -> speechd != null;
let
optional = stdenv.lib.optional;
optionalString = stdenv.lib.optionalString;
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "mumble-" + version; name = "mumble-" + version;
version = "1.2.4"; version = "1.2.4";
@ -13,35 +22,33 @@ stdenv.mkDerivation rec {
sha256 = "16wwj6gwcnyjlnzh7wk0l255ldxmbwx0wi652sdp20lsv61q7kx1"; sha256 = "16wwj6gwcnyjlnzh7wk0l255ldxmbwx0wi652sdp20lsv61q7kx1";
}; };
patchPhase = '' patches = optional jackSupport ./mumble-jack-support.patch;
patch -p1 < ${ ./mumble-jack-support.patch }
'';
configurePhase = '' configurePhase = ''
qmake CONFIG+=no-g15 CONFIG+=no-update CONFIG+=no-server \ qmake CONFIG+=no-g15 CONFIG+=no-update CONFIG+=no-server \
CONFIG+=no-embed-qt-translations CONFIG+=packaged \ CONFIG+=no-embed-qt-translations CONFIG+=packaged \
CONFIG+=bundled-celt CONFIG+=no-bundled-opus \ CONFIG+=bundled-celt CONFIG+=no-bundled-opus \
${optionalString (!speechdSupport) "CONFIG+=no-speechd"} \
${optionalString jackSupport "CONFIG+=no-oss CONFIG+=no-alsa CONFIG+=jackaudio"} \
CONFIG+=no-bundled-speex CONFIG+=no-bundled-speex
''
+ stdenv.lib.optionalString jackSupport ''
CONFIG+=no-oss CONFIG+=no-alsa CONFIG+=jackaudio
''; '';
buildInputs = [ qt4 boost speechd protobuf libsndfile speex buildInputs = [ qt4 boost protobuf libsndfile speex
libopus avahi pkgconfig ] libopus avahi pkgconfig ]
++ (stdenv.lib.optional jackSupport jackaudio); ++ (optional jackSupport jackaudio)
++ (optional speechdSupport speechd);
installPhase = '' installPhase = ''
mkdir -p $out mkdir -p $out
cp -r ./release $out/bin cp -r ./release $out/bin
''; '';
meta = { meta = with stdenv.lib; {
homepage = http://mumble.sourceforge.net/; homepage = "http://mumble.sourceforge.net/";
description = "Low-latency, high quality voice chat software"; description = "Low-latency, high quality voice chat software";
license = "BSD"; license = licenses.bsd3;
platforms = with stdenv.lib.platforms; linux; platforms = platforms.linux;
maintainers = with stdenv.lib.maintainers; [viric]; maintainers = with maintainers; [ viric ];
}; };
} }

View File

@ -1,5 +1,15 @@
{ stdenv, fetchurl, qt4, boost, protobuf, avahi, libcap, pkgconfig }: { stdenv, fetchurl, qt4, boost, protobuf
, avahi, libcap, pkgconfig
, iceSupport ? false
, zeroc_ice ? null
}:
assert iceSupport -> zeroc_ice != null;
let
optional = stdenv.lib.optional;
optionalString = stdenv.lib.optionalString;
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "murmur-" + version; name = "murmur-" + version;
version = "1.2.4"; version = "1.2.4";
@ -9,22 +19,28 @@ stdenv.mkDerivation rec {
sha256 = "16wwj6gwcnyjlnzh7wk0l255ldxmbwx0wi652sdp20lsv61q7kx1"; sha256 = "16wwj6gwcnyjlnzh7wk0l255ldxmbwx0wi652sdp20lsv61q7kx1";
}; };
configurePhase = '' patchPhase = optional iceSupport ''
qmake CONFIG+=no-client CONFIG+=no-ice CONFIG+=no-embed-qt sed -i 's,/usr/share/Ice/,${zeroc_ice}/,g' src/murmur/murmur.pro
''; '';
buildInputs = [ qt4 boost protobuf avahi libcap pkgconfig ]; configurePhase = ''
qmake CONFIG+=no-client CONFIG+=no-embed-qt \
${optionalString (!iceSupport) "CONFIG+=no-ice"}
'';
buildInputs = [ qt4 boost protobuf avahi libcap pkgconfig ]
++ optional iceSupport [ zeroc_ice ];
installPhase = '' installPhase = ''
mkdir -p $out mkdir -p $out
cp -r ./release $out/bin cp -r ./release $out/bin
''; '';
meta = { meta = with stdenv.lib; {
homepage = http://mumble.sourceforge.net/; homepage = "http://mumble.sourceforge.net/";
description = "Low-latency, high quality voice chat software"; description = "Low-latency, high quality voice chat software";
license = "BSD"; license = licenses.bsd3;
platforms = with stdenv.lib.platforms; linux; platforms = platforms.linux;
maintainers = with stdenv.lib.maintainers; [viric]; maintainers = with maintainers; [ viric ];
}; };
} }

View File

@ -0,0 +1,19 @@
{ stdenv, fetchurl, mcpp }:
stdenv.mkDerivation rec {
name = "mcpp-2.7.2";
src = fetchurl {
url = "mirror://sourceforge/mcpp/${name}.tar.gz";
sha256 = "0r48rfghjm90pkdyr4khxg783g9v98rdx2n69xn8f6c5i0hl96rv";
};
configureFlags = [ "--enable-mcpplib" ];
meta = with stdenv.lib; {
homepage = "http://mcpp.sourceforge.net/";
description = "A portable c preprocessor";
license = licenses.bsd2;
platforms = platforms.unix;
};
}

View File

@ -0,0 +1,32 @@
{ stdenv, fetchurl
, cxxSupport ? true
}:
stdenv.mkDerivation rec {
name = "db-5.3.28";
src = fetchurl {
url = "http://download.oracle.com/berkeley-db/${name}.tar.gz";
sha256 = "0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0";
};
configureFlags = [
(if cxxSupport then "--enable-cxx" else "--disable-cxx")
];
preConfigure = ''
cd build_unix
configureScript=../dist/configure
'';
postInstall = ''
rm -rf $out/docs
'';
meta = with stdenv.lib; {
homepage = "http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/index.html";
description = "Berkeley DB";
license = "Berkeley Database License";
platforms = platforms.unix;
};
}

View File

@ -0,0 +1,28 @@
{ stdenv, fetchurl, mcpp, bzip2, expat, openssl, db5 }:
stdenv.mkDerivation rec {
name = "zeroc-ice-3.5.1";
src = fetchurl {
url = "http://www.zeroc.com/download/Ice/3.5/Ice-3.5.1.tar.gz";
sha256 = "14pk794p0fq3hcp50xmqnf9pp15dggiqhcnsav8xpnka9hcm37lq";
};
buildInputs = [ mcpp bzip2 expat openssl db5 ];
buildPhase = ''
cd cpp
make OPTIMIZE=yes
'';
installPhase = ''
make prefix=$out install
'';
meta = with stdenv.lib; {
homepage = "http://www.zeroc.com/ice.html";
description = "The internet communications engine";
license = licenses.gpl2;
platforms = platforms.unix;
};
}

View File

@ -3969,6 +3969,10 @@ let
db48 = callPackage ../development/libraries/db4/db4-4.8.nix { }; db48 = callPackage ../development/libraries/db4/db4-4.8.nix { };
db5 = db53;
db53 = callPackage ../development/libraries/db/db-5.3.nix { };
dbus = callPackage ../development/libraries/dbus { }; dbus = callPackage ../development/libraries/dbus { };
dbus_cplusplus = callPackage ../development/libraries/dbus-cplusplus { }; dbus_cplusplus = callPackage ../development/libraries/dbus-cplusplus { };
dbus_glib = callPackage ../development/libraries/dbus-glib { }; dbus_glib = callPackage ../development/libraries/dbus-glib { };
@ -8275,6 +8279,8 @@ let
matchbox = callPackage ../applications/window-managers/matchbox { }; matchbox = callPackage ../applications/window-managers/matchbox { };
mcpp = callPackage ../development/compilers/mcpp { };
mda_lv2 = callPackage ../applications/audio/mda-lv2 { }; mda_lv2 = callPackage ../applications/audio/mda-lv2 { };
meld = callPackage ../applications/version-management/meld { meld = callPackage ../applications/version-management/meld {
@ -8403,12 +8409,14 @@ let
withLibdnssdCompat = true; withLibdnssdCompat = true;
}; };
jackSupport = config.mumble.jackSupport or false; jackSupport = config.mumble.jackSupport or false;
speechdSupport = config.mumble.speechdSupport or false;
}; };
murmur = callPackage ../applications/networking/mumble/murmur.nix { murmur = callPackage ../applications/networking/mumble/murmur.nix {
avahi = avahi.override { avahi = avahi.override {
withLibdnssdCompat = true; withLibdnssdCompat = true;
}; };
iceSupport = config.murmur.iceSupport or true;
}; };
mutt = callPackage ../applications/networking/mailreaders/mutt { }; mutt = callPackage ../applications/networking/mailreaders/mutt { };
@ -9167,6 +9175,8 @@ let
zathura = zathuraCollection.zathuraWrapper; zathura = zathuraCollection.zathuraWrapper;
zeroc_ice = callPackage ../development/libraries/zeroc-ice { };
girara = callPackage ../applications/misc/girara { girara = callPackage ../applications/misc/girara {
gtk = gtk3; gtk = gtk3;
}; };