Skip to content
Portable version of the OpenBSD maintained mg, micro emacs clone
Branch: master
Clone or download
hboetes Merge pull request #8 from mazocomp/master
DragonFly BSD finally has reallocarray
Latest commit 704bdff Feb 23, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
CVS
.cvsignore
.gitignore
.mg
CMakeLists.txt DragonFly BSD finally has reallocarray Feb 3, 2019
GNUmakefile Support DragonFlyBSD Aug 31, 2018
Makefile DragonFly BSD finally has reallocarray Feb 3, 2019
README Add all files, CVS dir and all. Jan 24, 2016
README.md Add documentation and kudos for the CMake support. Thanks @mazocomp Sep 28, 2018
autoexec.c
basic.c
bell.c Add all files, CVS dir and all. Jan 24, 2016
buffer.c
chrdef.h
cinfo.c
cmode.c
cscope.c
def.h
dir.c
dired.c
display.c
echo.c
extend.c
file.c Add all files, CVS dir and all. Jan 24, 2016
fileio.c Upstream override of my previous patch. Apr 19, 2018
funmap.c
funmap.h
grep.c upstream sync Mar 28, 2018
help.c
kbd.c Add all files, CVS dir and all. Jan 24, 2016
kbd.h
key.h
keymap.c Add all files, CVS dir and all. Jan 24, 2016
line.c
macro.c
macro.h Add all files, CVS dir and all. Jan 24, 2016
main.c
match.c
mg.1
modes.c
paragraph.c From upstream: fix undo in transpose-paragraph. Dec 3, 2018
pathnames.h
re_search.c Patch from the alpine linux team, to build mg with musl libc. Next Apr 8, 2018
region.c New upstream releases, mostly from reports by Joachim Nilsson, who Sep 12, 2016
search.c
spawn.c
tags.c
tty.c Add all files, CVS dir and all. Jan 24, 2016
ttyio.c
ttykbd.c
tutorial upstream commit to the tutorial, as pointed out by: Leonid Bobrov May 28, 2018
undo.c
util.c
version.c
window.c
word.c Add all files, CVS dir and all. Jan 24, 2016
yank.c

README.md

PORTING MG AND USING LIBBSD

I've maintained and ported mg for quite some time now and at first it was easy recently it got harder and harder since it was a moving target. Especially the inclusion of some system specific libraries since about 2 years ago made it too much of an effort for my humble coding skills.

So recently Jasper Lievisse Adriaanse asked me to try it again and I restarted working on the project and ran into exactly the same problems again. While googling for solutions I ran into libbsd:

http://libbsd.freedesktop.org/wiki/

It's a porting library for OpenBSD code! And after installing that it was a piece of pie to get mg ported again.

PORTING TO ALL OTHER PLATFORMS

Okay, that was debian. Now I have to get the rest of all the previously suported platforms working again. All help is welcome and as always: Please provide patches that do not break stuff for other platforms.

BUILDING MG

So, basic instructions for building mg:

  • Get the libbsd and libncurses dev packages installed.
  • Run the following commands:
make
sudo make install

USING CMAKE

You can also build mg with cmake, it goes like this:

  • Get the libbsd and libncurses dev packages installed.
  • Run the following commands:
mkdir build
cd build
cmake ..
make
sudo make install

Kudos to Leonid Bobrov(@mazocomp) for adding CMAKE support.

STATIC BUILDS

I recently figured out how to make really portable static builds: On an alpine linux system, build with the command:

make STATIC=yesplease

glibc does not really support static binaries. https://www.musl-libc.org/ does not have this problem.

USING CVS

This code is the cvs checkout from the OpenBSD project so if you install cvs you can see what I changed to port mg. Like this:

cvs diff -uw
You can’t perform that action at this time.