lol
1{ stdenv, fetchurl, pkgconfig, wrapGAppsHook, gettext, glib, gtk3
2, libmowgli, dbus-glib, libxml2, xorg, gnome3, alsaLib
3, libpulseaudio, libjack2, fluidsynth, libmad, libogg, libvorbis
4, libcdio, libcddb, flac, ffmpeg, mpg123, libcue, libmms, libbs2b
5, libsndfile, libmodplug, libsamplerate, soxr, lirc, curl, wavpack
6, neon, faad2, lame, libnotify, libsidplayfp
7}:
8
9stdenv.mkDerivation rec {
10 name = "audacious-${version}";
11 version = "3.9";
12
13 src = fetchurl {
14 url = "https://distfiles.audacious-media-player.org/audacious-${version}-gtk3.tar.bz2";
15 sha256 = "0dc7fg0v2l2j4h9cz1baz7rf4n0a5jgk09qvsj806sh6jp7w6ipm";
16 };
17
18 pluginsSrc = fetchurl {
19 url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}-gtk3.tar.bz2";
20 sha256 = "1gck37c5pnzxdhrnb1g75b5hi31s2dc952wifxns45pkdlayrmra";
21 };
22
23 nativeBuildInputs = [
24 pkgconfig wrapGAppsHook
25 ];
26
27 buildInputs = [
28 gettext glib gtk3 libmowgli dbus-glib libxml2
29 xorg.libXcomposite gnome3.defaultIconTheme alsaLib libjack2
30 libpulseaudio fluidsynth libmad libogg libvorbis libcdio
31 libcddb flac ffmpeg mpg123 libcue libmms libbs2b libsndfile
32 libmodplug libsamplerate soxr lirc curl wavpack neon faad2
33 lame libnotify libsidplayfp
34 ];
35
36 configureFlags = [ "--enable-statusicon" ];
37
38 # Here we build both audacious and audacious-plugins in one
39 # derivations, since they really expect to be in the same prefix.
40 # This is slighly tricky.
41 builder = builtins.toFile "builder.sh" ''
42 # First build audacious.
43 (
44 source $stdenv/setup
45 genericBuild
46 )
47
48 # Then build the plugins.
49 (
50 dontWrapGApps=true
51 nativeBuildInputs="$out $nativeBuildInputs" # to find audacious
52 source $stdenv/setup
53 rm -rfv audacious-*
54 src=$pluginsSrc
55 genericBuild
56 )
57 '';
58
59 enableParallelBuilding = true;
60
61 meta = with stdenv.lib; {
62 description = "Audio player";
63 homepage = https://audacious-media-player.org/;
64 maintainers = with maintainers; [ eelco ramkromberg ];
65 platforms = with platforms; linux;
66 license = with licenses; [
67 bsd2 bsd3 #https://github.com/audacious-media-player/audacious/blob/master/COPYING
68 gpl2 gpl3 lgpl2Plus #http://redmine.audacious-media-player.org/issues/46
69 ];
70 };
71}