about summary refs log tree commit diff
path: root/pkgs/applications/finance
diff options
context:
space:
mode:
authorRobert Schütz <nix@dotlambda.de>2023-02-04 12:07:35 -0800
committerGitHub <noreply@github.com>2023-02-04 12:07:35 -0800
commit1fb588ebd0fb5e2094ba1ac979f4a23ca2c962c8 (patch)
treeec1c417ea02333877e80951a49802a85fec9198e /pkgs/applications/finance
parent5d9f890a7979bc203f82904ba5d7e0cf9d051955 (diff)
parent11d1b8b438b58cf05cc0da1b7347a191363e96b6 (diff)
Merge pull request #210776 from chuangzhu/denaro
denaro: init at 2023.1.1
Diffstat (limited to 'pkgs/applications/finance')
-rw-r--r--pkgs/applications/finance/denaro/default.nix70
-rw-r--r--pkgs/applications/finance/denaro/deps.nix40
2 files changed, 110 insertions, 0 deletions
diff --git a/pkgs/applications/finance/denaro/default.nix b/pkgs/applications/finance/denaro/default.nix
new file mode 100644
index 0000000000000..477dc400fe648
--- /dev/null
+++ b/pkgs/applications/finance/denaro/default.nix
@@ -0,0 +1,70 @@
+{ lib
+, stdenvNoCC
+, buildDotnetModule
+, fetchFromGitHub
+, fetchpatch
+, dotnetCorePackages
+, gtk4
+, libadwaita
+, pkg-config
+, wrapGAppsHook4
+, glib
+, shared-mime-info
+, python3
+, desktop-file-utils
+, gdk-pixbuf
+}:
+
+buildDotnetModule rec {
+  pname = "denaro";
+  version = "2023.1.1";
+
+  src = fetchFromGitHub {
+    owner = "nlogozzo";
+    repo = "NickvisionMoney";
+    rev = version;
+    hash = "sha256-U6/laqmOS7ZUhgCCHggIn1U3GyQ/wy05XuCcqc7gtVQ=";
+  };
+
+  dotnet-sdk = dotnetCorePackages.sdk_7_0;
+  dotnet-runtime = dotnetCorePackages.runtime_7_0;
+
+  projectFile = "NickvisionMoney.GNOME/NickvisionMoney.GNOME.csproj";
+  nugetDeps = ./deps.nix;
+  executables = "NickvisionMoney.GNOME";
+
+  # Prevent installing native libraries for all platforms
+  dotnetBuildFlags = [ "--runtime" (dotnetCorePackages.systemToDotnetRid stdenvNoCC.hostPlatform.system) ];
+  dotnetInstallFlags = [ "--runtime" (dotnetCorePackages.systemToDotnetRid stdenvNoCC.hostPlatform.system) ];
+
+  nativeBuildInputs = [
+    pkg-config
+    wrapGAppsHook4
+    glib # For glib-compile-resources
+    shared-mime-info # For update-mime-database
+    python3
+    desktop-file-utils
+    gdk-pixbuf # Fixes icon missing in envs where GDK_PIXBUF_MODULE_FILE is not set
+  ];
+
+  postInstall = ''
+    sh NickvisionMoney.GNOME/install_extras.sh $out
+    desktop-file-edit $out/share/applications/org.nickvision.money.desktop \
+      --set-key=Exec --set-value=$out/bin/NickvisionMoney.GNOME
+  '';
+
+  runtimeDeps = [
+    gtk4
+    libadwaita
+    glib # Fixes "Could not retrieve parent type - is the typeid valid?"
+  ];
+
+  meta = with lib; {
+    description = "Personal finance manager for GNOME";
+    homepage = "https://github.com/nlogozzo/NickvisionMoney";
+    mainProgram = "NickvisionMoney.GNOME";
+    license = licenses.mit;
+    maintainers = with maintainers; [ chuangzhu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/finance/denaro/deps.nix b/pkgs/applications/finance/denaro/deps.nix
new file mode 100644
index 0000000000000..31bf0a76b124f
--- /dev/null
+++ b/pkgs/applications/finance/denaro/deps.nix
@@ -0,0 +1,40 @@
+# This file was automatically generated by passthru.fetch-deps.
+# Please dont edit it manually, your changes might get overwritten!
+
+{ fetchNuGet }: [
+  (fetchNuGet { pname = "Docnet.Core"; version = "2.3.1"; sha256 = "03b39x0vlymdknwgwhsmnpw4gj3njmbl9pd57ls3rhfn9r832d44"; })
+  (fetchNuGet { pname = "GirCore.Adw-1"; version = "0.2.0"; sha256 = "1lvyw61kcjq9m6iaw7c7xfjk1b99ccsh79819qnigdi37p7dgb7y"; })
+  (fetchNuGet { pname = "GirCore.Cairo-1.0"; version = "0.2.0"; sha256 = "14jr3476h3lr3s0iahyf9in96631h7b8g36wpfgr0gz6snic6ch1"; })
+  (fetchNuGet { pname = "GirCore.FreeType2-2.0"; version = "0.2.0"; sha256 = "0as1iknxx8vd5c0snf3bssij20fy74dbzaqbq60djf7v4c5q46nq"; })
+  (fetchNuGet { pname = "GirCore.Gdk-4.0"; version = "0.2.0"; sha256 = "19rh6mm2zxg46gdnizic4v6pmdk2hx25r4k12r8z4mkbmzpmcaaf"; })
+  (fetchNuGet { pname = "GirCore.GdkPixbuf-2.0"; version = "0.2.0"; sha256 = "11v4zplb7flh24vn1pralanzjm9jlnmx8r867ihvzj73mphmzs6m"; })
+  (fetchNuGet { pname = "GirCore.Gio-2.0"; version = "0.2.0"; sha256 = "0489ba4gw6wq1ndlrhfi7pmnifvnhq52p0riih60lrhgi3664ybc"; })
+  (fetchNuGet { pname = "GirCore.GLib-2.0"; version = "0.2.0"; sha256 = "0ms6gbrrinznhvs15mhfm3xh4zlqv5j4sw2zgajisiiprdzh2rcz"; })
+  (fetchNuGet { pname = "GirCore.GObject-2.0"; version = "0.2.0"; sha256 = "17qk1zhvfmmywndv2n6d3hg0gs1cwmxlmsns5ink7g8prwfp0vpf"; })
+  (fetchNuGet { pname = "GirCore.Graphene-1.0"; version = "0.2.0"; sha256 = "0gkj37rrazksvyc4nq3scmch7mxlcj40w8kwsmfvmvyl58z2faq7"; })
+  (fetchNuGet { pname = "GirCore.Gsk-4.0"; version = "0.2.0"; sha256 = "0qxw84hl40rbgjcxwx4rhmi4dif519kbdypazl2laz14pirh0b8v"; })
+  (fetchNuGet { pname = "GirCore.Gtk-4.0"; version = "0.2.0"; sha256 = "1klskbfkaaqy5asy83hbgb64pziib63s6d0szx3i3z24ynwhqjp3"; })
+  (fetchNuGet { pname = "GirCore.HarfBuzz-0.0"; version = "0.2.0"; sha256 = "03vp892bzy3nm5x35aqg8ripkw2n9gc86fqm3pr9fa1l88dhbqnl"; })
+  (fetchNuGet { pname = "GirCore.Pango-1.0"; version = "0.2.0"; sha256 = "158bsyirbdzyxnyphgzl8p6mxw1f9xbjpd92aijxk4hwdjvgn9hn"; })
+  (fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2.3"; sha256 = "115aybicqs9ijjlcv6k6r5v0agkjm1bm1nkd0rj3jglv8s0xvmp2"; })
+  (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "2.8.2.3"; sha256 = "1f18ahwkaginrg0vwsi6s56lvnqvvxv7pzklfs5lnknasxy1a76z"; })
+  (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2.3"; sha256 = "052d8frpkj4ijs6fm6xp55xbv95b1s9biqwa0w8zp3rgm88m9236"; })
+  (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2.3"; sha256 = "08khd2jqm8sw58ljz5srangzfm2sz3gd2q1jzc5fr80lj8rv6r74"; })
+  (fetchNuGet { pname = "Microsoft.Data.Sqlite"; version = "7.0.1"; sha256 = "1abakjiljrh0jabdk2bdgbi7lwzrzxmkkd8p5sm67xm5f4ni8db5"; })
+  (fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "7.0.1"; sha256 = "1vkgng2rmpmazklwd9gnyrdngjf2n8bdm2y55njzny2fwpdy82rq"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
+  (fetchNuGet { pname = "QuestPDF"; version = "2022.12.0"; sha256 = "0hkcw871jm77jqbgnbxixd5nxpxzzz0jcr61adsry2b15ymzmkb1"; })
+  (fetchNuGet { pname = "SixLabors.ImageSharp"; version = "2.1.3"; sha256 = "12qb0r7v2v91vw8q8ygr67y527gwhbas6d6zdvrv4ksxwjx9dzp9"; })
+  (fetchNuGet { pname = "SkiaSharp"; version = "2.88.3"; sha256 = "1yq694myq2rhfp2hwwpyzcg1pzpxcp7j72wib8p9pw9dfj7008sv"; })
+  (fetchNuGet { pname = "SkiaSharp.HarfBuzz"; version = "2.88.3"; sha256 = "0axz2zfyg0h3zis7rr86ikrm2jbxxy0gqb3bbawpgynf1k0fsi6a"; })
+  (fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.3"; sha256 = "0dajvr60nwvnv7s6kcqgw1w97zxdpz1c5lb7kcq7r0hi0l05ck3q"; })
+  (fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.3"; sha256 = "191ajgi6fnfqcvqvkayjsxasiz6l0bv3pps8vv9abbyc4b12qvph"; })
+  (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.3"; sha256 = "03wwfbarsxjnk70qhqyd1dw65098dncqk2m0vksx92j70i7lry6q"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlite3"; version = "2.1.2"; sha256 = "07rc4pj3rphi8nhzkcvilnm0fv27qcdp68jdwk4g0zjk7yfvbcay"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.2"; sha256 = "19hxv895lairrjmk4gkzd3mcb6b0na45xn4n551h4kckplqadg3d"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.1.2"; sha256 = "0jn98bkjk8h4smi09z31ib6s6392054lwmkziqmkqf5gf614k2fz"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlite3"; version = "2.1.2"; sha256 = "0bnm2fhvcsyg5ry74gal2cziqnyf5a8d2cb491vsa7j41hbbx7kv"; })
+  (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "5.0.0"; sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x"; })
+  (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "5.0.0"; sha256 = "1bn2pzaaq4wx9ixirr8151vm5hynn3lmrljcgjx9yghmm4k677k0"; })
+]