about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/office/mytetra/default.nix
blob: 8195a73bb2075b4c84f5d0184ccf25a1532dae37 (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
{ lib, mkDerivation, fetchFromGitHub, qmake, qtsvg, makeWrapper, xdg-utils }:

mkDerivation rec {
  pname = "mytetra";
  version = "1.44.55";

  src = fetchFromGitHub {
    owner = "xintrea";
    repo = "mytetra_dev";
    rev = "v.${version}";
    sha256 = "sha256-jQXnDoLkqbDZxfsYKPDsTOE7p/BFeA8wEznpbkRVGdw=";
  };

  nativeBuildInputs = [ qmake makeWrapper ];
  buildInputs = [ qtsvg ];

  hardeningDisable = [ "format" ];

  preBuild = ''
    substituteInPlace app/app.pro \
      --replace /usr/local/bin $out/bin \
      --replace /usr/share $out/share

    substituteInPlace app/src/views/mainWindow/MainWindow.cpp \
      --replace ":/resource/pic/logo.svg" "$out/share/icons/hicolor/48x48/apps/mytetra.png"

    # https://github.com/xintrea/mytetra_dev/issues/164
    substituteInPlace thirdParty/mimetex/mimetex.c \
      --replace "const char *strcasestr" "char *strcasestr"
  '';

  postFixup = ''
    # make xdg-open overrideable at runtime
    wrapProgram $out/bin/mytetra \
      --suffix PATH : ${xdg-utils}/bin
  '';

  meta = with lib; {
    description = "Smart manager for information collecting";
    mainProgram = "mytetra";
    homepage = "https://webhamster.ru/site/page/index/articles/projectcode/138";
    license = licenses.gpl3;
    maintainers = [ ];
    platforms = platforms.linux;
  };
}