summary refs log tree commit diff
path: root/pkgs/applications/audio/parlatype/default.nix
blob: 71cfe338c62b90bcb2604d13ac10cc162a77111d (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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
{ lib, stdenv, fetchFromGitHub, pkg-config, meson, gtk3, dbus, gst_all_1, ninja, gettext, appstream-glib, python3, desktop-file-utils, glib, gobject-introspection, gsettings-desktop-schemas, isocodes, itstool, libxml2, wrapGAppsHook, hicolor-icon-theme }:

stdenv.mkDerivation rec {
  pname = "parlatype";
  version = "3.1";

  src = fetchFromGitHub {
    owner  = "gkarsay";
    repo   = pname;
    rev    = "v${version}";
    sha256 = "1a4xlsbszb50vnz1g7kf7hl7aywp7s7xaravkcx13csn0a7l3x45";
  };

  nativeBuildInputs = [
    pkg-config
    meson
    ninja
    gettext
    appstream-glib
    python3
    desktop-file-utils
    gobject-introspection
    itstool
    libxml2
    wrapGAppsHook
  ];

  buildInputs = [
    gtk3
    dbus
    gst_all_1.gstreamer
    gst_all_1.gst-plugins-base
    gst_all_1.gst-plugins-good
    gst_all_1.gst-plugins-bad
    gst_all_1.gst-plugins-ugly
    gst_all_1.gst-libav
    glib
    gsettings-desktop-schemas
    hicolor-icon-theme
    isocodes
  ];

  postPatch = ''
    patchShebangs data/meson_post_install.py
    patchShebangs libparlatype/tests/data/generate_config_data
  '';

  doCheck = false;

  meta = with lib; {
    description = "GNOME audio player for transcription";
    longDescription = ''
      Parlatype is a minimal audio player for manual speech transcription, written for the GNOME desktop environment.
      It plays audio sources to transcribe them in your favourite text application.
      It’s intended to be useful for journalists, students, scientists and whoever needs to transcribe audio files.
    '';
    homepage = "https://www.parlatype.org/";
    license = licenses.gpl3Plus;
    maintainers = with maintainers; [ alexshpilkin melchips ];
    platforms = platforms.linux;
  };
}