xaizek / vifm (License: GPLv2+) (since 2018-12-07)
Vifm is a file manager with curses interface, which provides Vi[m]-like environment for managing objects within file systems, extended with some useful ideas from mutt.
<root> / scripts / appveyor / win / build-deps (54aa31ac8a6861a245736656376ab2373eb86580) (1,248B) (mode 100755) [raw]
#!/bin/bash

set -e

cd src/

# download and build pdcurses with patches
if [ ! -d PDCurses-3.8/ ]; then

wget 'https://github.com/wmcbrine/PDCurses/archive/3.8.tar.gz'
tar vxf 3.8.tar.gz

ls ../patches/pdcurses38/* | sort |
while read patch; do
    (cd PDCurses-3.8/; patch -p1 < "../$patch");
done

make -C PDCurses-3.8/wincon/ WIDE=Y UTF8=Y
mv PDCurses-3.8/wincon/pdcurses.a PDCurses-3.8/wincon/libpdcurses.a

patch --verbose -p1 << EOF
--- a/PDCurses-3.8/curses.h
+++ b/PDCurses-3.8/curses.h
@@ -180,6 +180,9 @@ typedef struct
 #define PDC_MOUSE_WHEEL_RIGHT   0x0100
 
 #define A_BUTTON_CHANGED        (Mouse_status.changes & 7)
+#ifdef MOUSE_MOVED
+#undef MOUSE_MOVED
+#endif
 #define MOUSE_MOVED             (Mouse_status.changes & PDC_MOUSE_MOVED)
 #define MOUSE_POS_REPORT        (Mouse_status.changes & PDC_MOUSE_POSITION)
 #define BUTTON_CHANGED(x)       (Mouse_status.changes & (1 << ((x) - 1)))
EOF

fi

# download and build regex library (the one in MSYS2 seems to be buggy)
if [ ! -d mingw-libgnurx-2.5.1/ ]; then

wget 'https://downloads.sourceforge.net/project/mingw/Other/UserContributed/regex/mingw-regex-2.5.1/mingw-libgnurx-2.5.1-src.tar.gz'
tar vxf mingw-libgnurx-2.5.1-src.tar.gz
cd mingw-libgnurx-2.5.1/
./configure
make

fi
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/vifm

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/vifm

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master