about summary refs log tree commit diff
path: root/pkgs/applications/video/minitube/default.nix
blob: 557eba2b87b11573756b9bdfbcce7788febe2ed0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{ mkDerivation, lib, fetchFromGitHub, phonon, phonon-backend-vlc, qtbase, qmake
, qtdeclarative, qttools, qtx11extras, mpv

# "Free" key generated by pasqui23
, withAPIKey ? "AIzaSyBQvZXseEVvgu5Ega_DI-AIJ55v0OsHmVY" }:

mkDerivation rec {
  pname = "minitube";
  version = "3.9.3";

  src = fetchFromGitHub {
    sha256 = "sha256-ROqROQsV8ddrxYT5mMdkf6rCgCoGr1jpxQ1ohcoEaQs=";
    rev = version;
    repo = "minitube";
    owner = "flaviotordini";
    fetchSubmodules = true;
  };

  patches = [
    # Taken from FreeBSD; already merged upstream in the media submodule
    # (https://github.com/flaviotordini/media/commit/f6b7020f273e1fc06e6e204fab37a7c8edaa857a)
    ./lib_media_src_mpv_mpvwidget.patch
  ];

  nativeBuildInputs = [ qmake qttools ];

  buildInputs = [ phonon phonon-backend-vlc qtbase qtdeclarative qtx11extras mpv ];

  qmakeFlags = [ "DEFINES+=APP_GOOGLE_API_KEY=${withAPIKey}" ];

  meta = with lib; {
    description = "Stand-alone YouTube video player";
    longDescription = ''
      Watch YouTube videos in a new way: you type a keyword, Minitube gives
      you an endless video stream. Minitube is not about cloning the YouTube
      website, it aims to create a new TV-like experience.
    '';
    homepage = "https://flavio.tordini.org/minitube";
    license = licenses.gpl3Plus;
    platforms = platforms.linux;
    maintainers = with maintainers; [ ];
    mainProgram = "minitube";
  };
}