nixpkgs/pkgs/applications/office/mytetra/default.nix
stuebinm ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00

46 lines
1.3 KiB
Nix

{ 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;
};
}