Merge pull request #283860 from lucasbergman/moneydance-init
This commit is contained in:
commit
6d70c386d9
2 changed files with 58 additions and 0 deletions
|
@ -11191,6 +11191,12 @@
|
||||||
githubId = 35580196;
|
githubId = 35580196;
|
||||||
name = "Luca Guerra";
|
name = "Luca Guerra";
|
||||||
};
|
};
|
||||||
|
lucasbergman = {
|
||||||
|
email = "lucas@bergmans.us";
|
||||||
|
github = "lucasbergman";
|
||||||
|
githubId = 3717454;
|
||||||
|
name = "Lucas Bergman";
|
||||||
|
};
|
||||||
lucasew = {
|
lucasew = {
|
||||||
email = "lucas59356@gmail.com";
|
email = "lucas59356@gmail.com";
|
||||||
github = "lucasew";
|
github = "lucasew";
|
||||||
|
|
52
pkgs/by-name/mo/moneydance/package.nix
Normal file
52
pkgs/by-name/mo/moneydance/package.nix
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
{ lib, stdenv, fetchzip, makeWrapper, openjdk21, openjfx21, jvmFlags ? [ ] }:
|
||||||
|
let jdk = openjdk21.override { enableJavaFX = true; };
|
||||||
|
in stdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "moneydance";
|
||||||
|
version = "2023.3_5064";
|
||||||
|
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://infinitekind.com/stabledl/${finalAttrs.version}/moneydance-linux.tar.gz";
|
||||||
|
hash = "sha256-jHr1V/gV1seenw2Q0/G405lTiabEYEsOS8p/XyByrtM=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
buildInputs = [ jdk openjfx21 ];
|
||||||
|
|
||||||
|
# Note the double escaping in the call to makeWrapper. The escapeShellArgs
|
||||||
|
# call quotes each element of the flags list as a word[1] and returns a
|
||||||
|
# space-separated result; the escapeShellArg call quotes that result as a
|
||||||
|
# single word to pass to --add-flags. The --add-flags implementation[2]
|
||||||
|
# loops over the words in its argument.
|
||||||
|
#
|
||||||
|
# 1. https://www.gnu.org/software/bash/manual/html_node/Word-Splitting.html
|
||||||
|
# 2. https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/setup-hooks/make-wrapper.sh
|
||||||
|
installPhase = let
|
||||||
|
finalJvmFlags = [
|
||||||
|
"-client"
|
||||||
|
"--add-modules"
|
||||||
|
"javafx.swing,javafx.controls,javafx.graphics"
|
||||||
|
"-classpath"
|
||||||
|
"${placeholder "out"}/libexec/*"
|
||||||
|
] ++ jvmFlags ++ [ "Moneydance" ];
|
||||||
|
in ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out/libexec $out/bin
|
||||||
|
cp -p $src/lib/* $out/libexec/
|
||||||
|
makeWrapper ${jdk}/bin/java $out/bin/moneydance \
|
||||||
|
--add-flags ${lib.escapeShellArg (lib.escapeShellArgs finalJvmFlags)}
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru = { inherit jdk; };
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://infinitekind.com/moneydance";
|
||||||
|
description = "An easy to use and full-featured personal finance app that doesn't compromise your privacy";
|
||||||
|
sourceProvenance = [ lib.sourceTypes.binaryBytecode ];
|
||||||
|
license = lib.licenses.unfree;
|
||||||
|
platforms = jdk.meta.platforms;
|
||||||
|
maintainers = [ lib.maintainers.lucasbergman ];
|
||||||
|
};
|
||||||
|
})
|
Loading…
Reference in a new issue