Skip to content

Instantly share code, notes, and snippets.

@parbo
Created October 31, 2019 14:59
Show Gist options
  • Save parbo/bc0a36cc749188709b74f7e729882464 to your computer and use it in GitHub Desktop.
Save parbo/bc0a36cc749188709b74f7e729882464 to your computer and use it in GitHub Desktop.

Install msys2

scoop install msys2

Prepare msys2

Run mingw64.exe to open a console

pacman -Syu
pacman -Su

Restart mingw64.exe

Install libs

Run emacs-build-mingw64.sh

Clone emacs

pacman -S git
mkdir -p /c/emacs/dist
cd /c/emacs
git clone git://git.sv.gnu.org/emacs.git
cd emacs
git config core.autocrlf false

Configure and build emacs

cd /c/emacs/emacs
./autogen.sh
./configure --prefix=/c/emacs/dist
make -j
make install

Copy dlls and stuff

Run emacs-dist-mingw64.sh

Run emacs

Make a shortcut, point it to C:\emacs\dist\bin\runemacs.exe and set whatever starting directory you want.

#!/usr/bin/bash
pacman -S --needed base-devel \
mingw-w64-x86_64-toolchain \
mingw-w64-x86_64-xpm-nox \
mingw-w64-x86_64-libtiff \
mingw-w64-x86_64-giflib \
mingw-w64-x86_64-libpng \
mingw-w64-x86_64-libjpeg-turbo \
mingw-w64-x86_64-librsvg \
mingw-w64-x86_64-lcms2 \
mingw-w64-x86_64-jansson \
mingw-w64-x86_64-libxml2 \
mingw-w64-x86_64-gnutls \
mingw-w64-x86_64-zlib \
mingw-w64-x86_64-harfbuzz
#!/usr/bin/bash
# Copy all the dlls
cp /mingw64/bin/lib*.dll /c/emacs/dist/bin
# This is what the official build contains
cp /mingw64/bin/asn1Coding.exe /c/emacs/dist/bin
cp /mingw64/bin/asn1Decoding.exe /c/emacs/dist/bin
cp /mingw64/bin/asn1Parser.exe /c/emacs/dist/bin
cp /mingw64/bin/autopoint /c/emacs/dist/bin
cp /mingw64/bin/bunzip2.exe /c/emacs/dist/bin
cp /mingw64/bin/bzcat.exe /c/emacs/dist/bin
cp /mingw64/bin/bzcmp /c/emacs/dist/bin
cp /mingw64/bin/bzdiff /c/emacs/dist/bin
cp /mingw64/bin/bzegrep /c/emacs/dist/bin
cp /mingw64/bin/bzfgrep /c/emacs/dist/bin
cp /mingw64/bin/bzgrep /c/emacs/dist/bin
cp /mingw64/bin/bzip2.exe /c/emacs/dist/bin
cp /mingw64/bin/bzip2recover.exe /c/emacs/dist/bin
cp /mingw64/bin/bzless /c/emacs/dist/bin
cp /mingw64/bin/bzmore /c/emacs/dist/bin
cp /mingw64/bin/certtool.exe /c/emacs/dist/bin
cp /mingw64/bin/cjpeg.exe /c/emacs/dist/bin
cp /mingw64/bin/croco-0.6-config /c/emacs/dist/bin
cp /mingw64/bin/csslint-0.6.exe /c/emacs/dist/bin
cp /mingw64/bin/cxpm-noX.exe /c/emacs/dist/bin
cp /mingw64/bin/djpeg.exe /c/emacs/dist/bin
cp /mingw64/bin/envsubst.exe /c/emacs/dist/bin
cp /mingw64/bin/fax2ps.exe /c/emacs/dist/bin
cp /mingw64/bin/fax2tiff.exe /c/emacs/dist/bin
cp /mingw64/bin/fc-cache.exe /c/emacs/dist/bin
cp /mingw64/bin/fc-cat.exe /c/emacs/dist/bin
cp /mingw64/bin/fc-conflist.exe /c/emacs/dist/bin
cp /mingw64/bin/fc-list.exe /c/emacs/dist/bin
cp /mingw64/bin/fc-match.exe /c/emacs/dist/bin
cp /mingw64/bin/fc-pattern.exe /c/emacs/dist/bin
cp /mingw64/bin/fc-query.exe /c/emacs/dist/bin
cp /mingw64/bin/fc-scan.exe /c/emacs/dist/bin
cp /mingw64/bin/fc-validate.exe /c/emacs/dist/bin
cp /mingw64/bin/freetype-config /c/emacs/dist/bin
cp /mingw64/bin/fribidi.exe /c/emacs/dist/bin
cp /mingw64/bin/gdk-pixbuf-csource.exe /c/emacs/dist/bin
cp /mingw64/bin/gdk-pixbuf-pixdata.exe /c/emacs/dist/bin
cp /mingw64/bin/gdk-pixbuf-query-loaders.exe /c/emacs/dist/bin
cp /mingw64/bin/gdk-pixbuf-thumbnailer.exe /c/emacs/dist/bin
cp /mingw64/bin/gettext.exe /c/emacs/dist/bin
cp /mingw64/bin/gettext.sh /c/emacs/dist/bin
cp /mingw64/bin/gettextize /c/emacs/dist/bin
cp /mingw64/bin/gif2rgb.exe /c/emacs/dist/bin
cp /mingw64/bin/gifbuild.exe /c/emacs/dist/bin
cp /mingw64/bin/gifclrmp.exe /c/emacs/dist/bin
cp /mingw64/bin/giffix.exe /c/emacs/dist/bin
cp /mingw64/bin/giftext.exe /c/emacs/dist/bin
cp /mingw64/bin/giftool.exe /c/emacs/dist/bin
cp /mingw64/bin/gnutls-cli-debug.exe /c/emacs/dist/bin
cp /mingw64/bin/gnutls-cli.exe /c/emacs/dist/bin
cp /mingw64/bin/gnutls-serv.exe /c/emacs/dist/bin
cp /mingw64/bin/gr2fonttest.exe /c/emacs/dist/bin
cp /mingw64/bin/hb-ot-shape-closure.exe /c/emacs/dist/bin
cp /mingw64/bin/hb-shape.exe /c/emacs/dist/bin
cp /mingw64/bin/hb-subset.exe /c/emacs/dist/bin
cp /mingw64/bin/hb-view.exe /c/emacs/dist/bin
cp /mingw64/bin/idn2.exe /c/emacs/dist/bin
cp /mingw64/bin/imgcmp.exe /c/emacs/dist/bin
cp /mingw64/bin/imginfo.exe /c/emacs/dist/bin
cp /mingw64/bin/jasper.exe /c/emacs/dist/bin
cp /mingw64/bin/jpegtran.exe /c/emacs/dist/bin
cp /mingw64/bin/jpgicc.exe /c/emacs/dist/bin
cp /mingw64/bin/linkicc.exe /c/emacs/dist/bin
cp /mingw64/bin/lzmadec.exe /c/emacs/dist/bin
cp /mingw64/bin/lzmainfo.exe /c/emacs/dist/bin
cp /mingw64/bin/msgattrib.exe /c/emacs/dist/bin
cp /mingw64/bin/msgcat.exe /c/emacs/dist/bin
cp /mingw64/bin/msgcmp.exe /c/emacs/dist/bin
cp /mingw64/bin/msgcomm.exe /c/emacs/dist/bin
cp /mingw64/bin/msgconv.exe /c/emacs/dist/bin
cp /mingw64/bin/msgen.exe /c/emacs/dist/bin
cp /mingw64/bin/msgexec.exe /c/emacs/dist/bin
cp /mingw64/bin/msgfilter.exe /c/emacs/dist/bin
cp /mingw64/bin/msgfmt.exe /c/emacs/dist/bin
cp /mingw64/bin/msggrep.exe /c/emacs/dist/bin
cp /mingw64/bin/msginit.exe /c/emacs/dist/bin
cp /mingw64/bin/msgmerge.exe /c/emacs/dist/bin
cp /mingw64/bin/msgunfmt.exe /c/emacs/dist/bin
cp /mingw64/bin/msguniq.exe /c/emacs/dist/bin
cp /mingw64/bin/nettle-hash.exe /c/emacs/dist/bin
cp /mingw64/bin/nettle-lfib-stream.exe /c/emacs/dist/bin
cp /mingw64/bin/nettle-pbkdf2.exe /c/emacs/dist/bin
cp /mingw64/bin/ngettext.exe /c/emacs/dist/bin
cp /mingw64/bin/ocsptool.exe /c/emacs/dist/bin
cp /mingw64/bin/p11-kit.exe /c/emacs/dist/bin
cp /mingw64/bin/p11tool.exe /c/emacs/dist/bin
cp /mingw64/bin/pal2rgb.exe /c/emacs/dist/bin
cp /mingw64/bin/pango-list.exe /c/emacs/dist/bin
cp /mingw64/bin/pango-view.exe /c/emacs/dist/bin
cp /mingw64/bin/pkcs1-conv.exe /c/emacs/dist/bin
cp /mingw64/bin/png-fix-itxt.exe /c/emacs/dist/bin
cp /mingw64/bin/png2pnm-static.exe /c/emacs/dist/bin
cp /mingw64/bin/png2pnm.exe /c/emacs/dist/bin
cp /mingw64/bin/pngfix.exe /c/emacs/dist/bin
cp /mingw64/bin/pnm2png-static.exe /c/emacs/dist/bin
cp /mingw64/bin/pnm2png.exe /c/emacs/dist/bin
cp /mingw64/bin/ppm2tiff.exe /c/emacs/dist/bin
cp /mingw64/bin/psicc.exe /c/emacs/dist/bin
cp /mingw64/bin/psktool.exe /c/emacs/dist/bin
cp /mingw64/bin/pzstd.exe /c/emacs/dist/bin
cp /mingw64/bin/raw2tiff.exe /c/emacs/dist/bin
cp /mingw64/bin/rdjpgcom.exe /c/emacs/dist/bin
cp /mingw64/bin/recode-sr-latin.exe /c/emacs/dist/bin
cp /mingw64/bin/rsvg-convert.exe /c/emacs/dist/bin
#cp /mingw64/bin/rsvg-view-3.exe /c/emacs/dist/bin
cp /mingw64/bin/sexp-conv.exe /c/emacs/dist/bin
cp /mingw64/bin/srptool.exe /c/emacs/dist/bin
cp /mingw64/bin/tiff2bw.exe /c/emacs/dist/bin
cp /mingw64/bin/tiff2pdf.exe /c/emacs/dist/bin
cp /mingw64/bin/tiff2ps.exe /c/emacs/dist/bin
cp /mingw64/bin/tiff2rgba.exe /c/emacs/dist/bin
cp /mingw64/bin/tiffcmp.exe /c/emacs/dist/bin
cp /mingw64/bin/tiffcp.exe /c/emacs/dist/bin
cp /mingw64/bin/tiffcrop.exe /c/emacs/dist/bin
cp /mingw64/bin/tiffdither.exe /c/emacs/dist/bin
cp /mingw64/bin/tiffdump.exe /c/emacs/dist/bin
cp /mingw64/bin/tiffinfo.exe /c/emacs/dist/bin
cp /mingw64/bin/tiffmedian.exe /c/emacs/dist/bin
cp /mingw64/bin/tiffset.exe /c/emacs/dist/bin
cp /mingw64/bin/tiffsplit.exe /c/emacs/dist/bin
cp /mingw64/bin/tificc.exe /c/emacs/dist/bin
cp /mingw64/bin/tjbench.exe /c/emacs/dist/bin
cp /mingw64/bin/transicc.exe /c/emacs/dist/bin
cp /mingw64/bin/trietool-0.2.exe /c/emacs/dist/bin
cp /mingw64/bin/trietool.exe /c/emacs/dist/bin
cp /mingw64/bin/trust.exe /c/emacs/dist/bin
cp /mingw64/bin/unxz.exe /c/emacs/dist/bin
cp /mingw64/bin/wrjpgcom.exe /c/emacs/dist/bin
cp /mingw64/bin/x86_64-w64-mingw32-agrep.exe /c/emacs/dist/bin
cp /mingw64/bin/xgettext.exe /c/emacs/dist/bin
cp /mingw64/bin/xml2-config /c/emacs/dist/bin
cp /mingw64/bin/xmlcatalog.exe /c/emacs/dist/bin
cp /mingw64/bin/xmllint.exe /c/emacs/dist/bin
cp /mingw64/bin/xmlwf.exe /c/emacs/dist/bin
cp /mingw64/bin/xz.exe /c/emacs/dist/bin
cp /mingw64/bin/xzcat.exe /c/emacs/dist/bin
cp /mingw64/bin/xzcmp /c/emacs/dist/bin
cp /mingw64/bin/xzdec.exe /c/emacs/dist/bin
cp /mingw64/bin/xzdiff /c/emacs/dist/bin
cp /mingw64/bin/xzegrep /c/emacs/dist/bin
cp /mingw64/bin/xzfgrep /c/emacs/dist/bin
cp /mingw64/bin/xzgrep /c/emacs/dist/bin
cp /mingw64/bin/xzless /c/emacs/dist/bin
cp /mingw64/bin/xzmore /c/emacs/dist/bin
cp /mingw64/bin/zlib1.dll /c/emacs/dist/bin
cp /mingw64/bin/zstd.exe /c/emacs/dist/bin
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment