diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/video/bomi')
-rw-r--r-- | nixpkgs/pkgs/applications/video/bomi/default.nix | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/video/bomi/default.nix b/nixpkgs/pkgs/applications/video/bomi/default.nix new file mode 100644 index 000000000000..9ff65483f261 --- /dev/null +++ b/nixpkgs/pkgs/applications/video/bomi/default.nix @@ -0,0 +1,117 @@ +{ config, stdenv, fetchFromGitHub +, fetchpatch, pkgconfig, perl, python, which +, libX11, libxcb, libGLU_combined +, qtbase, qtdeclarative, qtquickcontrols, qttools, qtx11extras, qmake, makeWrapper +, libchardet +, ffmpeg + +, mpg123 +, libass +, libdvdread +, libdvdnav +, icu +, libquvi +, alsaLib +, libvdpau, libva +, libbluray +, jackSupport ? false, jack ? null +, portaudioSupport ? false, portaudio ? null +, pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null +, cddaSupport ? false, libcdda ? null +, youtubeSupport ? true, youtube-dl ? null +}: + +with stdenv.lib; + +assert jackSupport -> jack != null; +assert portaudioSupport -> portaudio != null; +assert pulseSupport -> libpulseaudio != null; +assert cddaSupport -> libcdda != null; +assert youtubeSupport -> youtube-dl != null; + +stdenv.mkDerivation rec { + pname = "bomi"; + version = "0.9.11"; + + src = fetchFromGitHub { + owner = "xylosper"; + repo = "bomi"; + rev = "v${version}"; + sha256 = "0a7n46gn3n5098lxxvl3s29s8jlkzss6by9074jx94ncn9cayf2h"; + }; + + patches = [ + (fetchpatch rec { + name = "bomi-compilation-fix.patch"; + url = "https://svnweb.mageia.org/packages/cauldron/bomi/current/SOURCES/${name}?revision=995725&view=co&pathrev=995725"; + sha256 = "1dwryya5ljx35dbx6ag9d3rjjazni2mfn3vwirjdijdy6yz22jm6"; + }) + (fetchpatch rec { + name = "bomi-fix-expected-unqualified-id-before-numeric-constant-unix.patch"; + url = "https://svnweb.mageia.org/packages/cauldron/bomi/current/SOURCES/${name}?revision=995725&view=co&pathrev=995725"; + sha256 = "0n3xsrdrggimzw30gxlnrr088ndbdjqlqr46dzmfv8zan79lv5ri"; + }) + ]; + + buildInputs = with stdenv.lib; + [ libX11 + libxcb + libGLU_combined + qtbase + qtx11extras + qtdeclarative + qtquickcontrols + ffmpeg + libchardet + + mpg123 + libass + libdvdread + libdvdnav + icu + libquvi + alsaLib + libvdpau + libva + libbluray + ] + ++ optional jackSupport jack + ++ optional portaudioSupport portaudio + ++ optional pulseSupport libpulseaudio + ++ optional cddaSupport libcdda + ; + + preConfigure = '' + patchShebangs configure + ''; + + preBuild = '' + patchShebangs src/mpv/waf + patchShebangs build-mpv + ''; + + postInstall = '' + wrapProgram $out/bin/bomi \ + ${optionalString youtubeSupport "--prefix PATH ':' '${youtube-dl}/bin'"} + ''; + + dontUseQmakeConfigure = true; + + configureFlags = with stdenv.lib; + [ "--qmake=qmake" ] + ++ optional jackSupport "--enable-jack" + ++ optional portaudioSupport "--enable-portaudio" + ++ optional pulseSupport "--enable-pulseaudio" + ++ optional cddaSupport "--enable-cdda" + ; + + nativeBuildInputs = [ makeWrapper pkgconfig perl python which qttools qmake ]; + + meta = with stdenv.lib; { + description = "Powerful and easy-to-use multimedia player"; + homepage = https://bomi-player.github.io/; + license = licenses.gpl2Plus; + maintainers = [ maintainers.abbradar ]; + platforms = platforms.linux; + }; +} |