Manual is on the home page http://www.msys2.org/
pacman --needed -Syu
Update everything, install toolchain and dependencies (probably something is missing):
pacman --needed -S base-devel git \
mingw-w64-i686-toolchain \
mingw-w64-i686-cmake \
mingw-w64-i686-boost \
mingw-w64-i686-mpfr
Git clone ledger tree (master branch):
git clone https://github.com/ledger/ledger.git ledger
cd ledger
cmake -G 'MSYS Makefiles'
make
If everything went well, ledger.exe will appear in the same dir. It can be checked by running it:
./ledger
Now ledger and its dependencies can be copied to somewhere for using it outside of MSYS2 environment, for example, /c/ledger. ledger then can be used as a normal Windows application, from CMD or from GNU Emacs with ledger-mode (path expantion will work properly). In this case it's useful to add C:\ledger to PATH environment variable.
mkdir /c/ledger
cp ./ledger.exe /c/ledger
cp ./libledger.dll /c/ledger
cp /mingw32/bin/libboost_filesystem-mt.dll /c/ledger
cp /mingw32/bin/libboost_regex-mt.dll /c/ledger
cp /mingw32/bin/libboost_system-mt.dll /c/ledger
cp /mingw32/bin/libgcc_s_dw2-1.dll /c/ledger
cp /mingw32/bin/libgmp-10.dll /c/ledger
cp /mingw32/bin/libicudt64.dll /c/ledger
cp /mingw32/bin/libicuuc64.dll /c/ledger
cp /mingw32/bin/libstdc++-6.dll /c/ledger
cp /mingw32/bin/libwinpthread-1.dll /c/ledger
Some packages may be updated at some point, so the name of files might change as well (e.g. icu libs will have 59 instead of 58).
I recompiled per the instructions and it fixed the paths being called from a cmd window.
However if I call a file from an org-babel block in emacs like this:
#+begin_src ledger :cmdline bal :results output :exports results
!include "d:/Ledger/budget.ledger"
#+end_src
the path to the data file is interpreted as this "c:/Users\Arjay\AppData\Local\Temp\babel-16324iS0&"d:/Ledger\budget.ledger&" and is not found. Any ideas what may cause this seeing as it works fine form the cmd line?