summary refs log tree commit diff
path: root/pkgs/applications/office/ledger/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/office/ledger/default.nix')
-rw-r--r--pkgs/applications/office/ledger/default.nix31
1 files changed, 21 insertions, 10 deletions
diff --git a/pkgs/applications/office/ledger/default.nix b/pkgs/applications/office/ledger/default.nix
index 6ac092f27e2..a0a558f5ed8 100644
--- a/pkgs/applications/office/ledger/default.nix
+++ b/pkgs/applications/office/ledger/default.nix
@@ -1,37 +1,48 @@
-{ stdenv, fetchFromGitHub, cmake, boost, gmp, mpfr, libedit, python
+{ stdenv, lib, fetchFromGitHub, cmake, boost, gmp, mpfr, libedit, python
 , texinfo, gnused, usePython ? true }:
 
 stdenv.mkDerivation rec {
   pname = "ledger";
-  version = "3.1.3";
+  version = "3.2.1";
 
   src = fetchFromGitHub {
     owner  = "ledger";
     repo   = "ledger";
     rev    = "v${version}";
-    sha256 = "0bfnrqrd6wqgsngfpqi30xh6yy86pwl25iwzrqy44q31r0zl4mm3";
+    sha256 = "0x6jxwss3wwzbzlwmnwb8yzjk8f9wfawif4f1b74z2qg6hc4r7f6";
   };
 
+  outputs = [ "out" "dev" ];
+
   buildInputs = [
     (boost.override { enablePython = usePython; })
-    gmp mpfr libedit python texinfo gnused
+    gmp mpfr libedit python gnused
   ];
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake texinfo ];
 
   enableParallelBuilding = true;
 
   cmakeFlags = [
     "-DCMAKE_INSTALL_LIBDIR=lib"
     "-DBUILD_DOCS:BOOL=ON"
-    (stdenv.lib.optionalString usePython "-DUSE_PYTHON=true")
-   ];
+    (lib.optionalString usePython "-DUSE_PYTHON=true")
+  ] ++ lib.optionals (usePython && stdenv.isDarwin) [
+    # Fix python lookup on Darwin. Not necessary after
+    # https://github.com/NixOS/nixpkgs/pull/94090 lands in master
+    "-DPython_ROOT_DIR=${python}"
+  ];
 
-  postBuild = ''
-    make doc
+  # by default, it will query the python interpreter for it's sitepackages location
+  # however, that would write to a different nixstore path, pass our own sitePackages location
+  prePatch = lib.optionalString usePython ''
+    substituteInPlace src/CMakeLists.txt \
+      --replace 'DESTINATION ''${Python_SITEARCH}' 'DESTINATION "${python.sitePackages}"'
   '';
 
-  meta = with stdenv.lib; {
+  installTargets = [ "doc" "install" ];
+
+  meta = with lib; {
     homepage = "https://ledger-cli.org/";
     description = "A double-entry accounting system with a command-line reporting interface";
     license = licenses.bsd3;