anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / applications / office / mmex / default.nix
blob53cc19e5f1d382127b42f5fd935b5227ba6deae0
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , appstream
5 , cmake
6 , fetchpatch
7 , gettext
8 , git
9 , makeWrapper
10 , lsb-release
11 , pkg-config
12 , wrapGAppsHook3
13 , curl
14 , sqlite
15 , wxGTK32
16 , gtk3
17 , darwin
20 stdenv.mkDerivation rec {
21   pname = "money-manager-ex";
22   version = "1.8.0";
24   src = fetchFromGitHub {
25     owner = "moneymanagerex";
26     repo = "moneymanagerex";
27     rev = "v${version}";
28     fetchSubmodules = true;
29     hash = "sha256-jV1jW0aFx95JpwzywEVajstnMKVcEtBdvyL7y6OLl+k=";
30   };
32   patches = [
33     (fetchpatch { # https://github.com/moneymanagerex/moneymanagerex/pull/6716
34       name = "workaround-appstream-1.0.3.patch";
35       url = "https://github.com/moneymanagerex/moneymanagerex/commit/bb98eab92d95b7315d27f4e59ae59b50587106d8.patch";
36       hash = "sha256-98OyFO2nnGBRTIirxZ3jX1NPvsw5kVT8nsCSSmyfabo=";
37     })
38   ];
40   postPatch = lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) ''
41     substituteInPlace src/platfdep_mac.mm \
42       --replace "appearance.name == NSAppearanceNameDarkAqua" "NO"
43   '' + lib.optionalString (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isx86_64) ''
44     substituteInPlace 3rd/CMakeLists.txt \
45       --replace "-msse4.2 -maes" ""
46   '';
48   nativeBuildInputs = [
49     appstream # for appstreamcli
50     cmake
51     gettext
52     git
53     makeWrapper
54     pkg-config
55     wrapGAppsHook3
56     wxGTK32
57   ] ++ lib.optionals stdenv.hostPlatform.isLinux [
58     lsb-release
59   ];
61   buildInputs = [
62     curl
63     sqlite
64     wxGTK32
65     gtk3
66   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
67     darwin.libobjc
68   ];
70   strictDeps = true;
72   env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [
73     "-Wno-deprecated-copy"
74     "-Wno-old-style-cast"
75     "-Wno-unused-parameter"
76   ]);
78   postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
79     mkdir -p $out/{Applications,bin}
80     mv $out/mmex.app $out/Applications
81     makeWrapper $out/{Applications/mmex.app/Contents/MacOS,bin}/mmex
82   '';
84   meta = {
85     description = "Easy-to-use personal finance software";
86     homepage = "https://www.moneymanagerex.org/";
87     license = lib.licenses.gpl2Plus;
88     maintainers = [ ];
89     platforms = with lib.platforms; unix;
90     mainProgram = "mmex";
91   };