--- /dev/null
+#+COMMENT: -*- org -*-
+#+TITLE: Porting GNU Mes
+
+* Porting GNU Mes to ARM
+
+The ARM port can be found in wip-arm on savannah.
+
+For development, we use Guix's qemu-binfmt-service-type.
+
+** Guix Setup, see [[info:guix#Virtualization%20Services][Virtualization Services]].
+
+Add something like
+ #+BEGIN_SRC scheme
+ (service qemu-binfmt-service-type
+ (qemu-binfmt-configuration
+ (platforms (lookup-qemu-platforms "arm"))
+ (guix-support? #t)))
+ #+END_SRC
+to your config.scm and run guix system reconfigure.
+
+** Setup environment
+
+ #+BEGIN_SRC bash
+ guix environment -s armhf-linux --pure --ad-hoc bash coreutils diffutils gawk gcc-toolchain grep guile help2man make nyacc pkg-config sed texinfo
+ PATH=~/src/mescc-tools-arm/bin:$PATH
+ #+END_SRC
+
+(No git, graphviz on ARM yet).
+
+** Try it
+ #+BEGIN_SRC bash
+ ./configure --with-courage --with-system-libc
+ ./simple.sh
+ #+END_SRC
+
+some failures are expected.
+
+** Build it
+ #+BEGIN_SRC bash
+ ./configure --with-courage --with-system-libc
+ make MES=guile
+ make check
+ #+END_SRC
+
+expect many failures. Non-system-libc, i.e. using the Mes C Library is currently WIP.
+
+* Porting GNU Mes to x86_64
+
+The x86_64 port is almost done, only a few bugs remain. The Guix
+bootstrap for x86_64 uses x86 mes and that is not expected to change.
+
+* Porting GNU Mes to GNU/Hurd
+
+The Hurd port can be found in wip-hurd on savannah. For development, we
+use a Debian GNU/Hurd vm.
+
+* Legalese
+Copyright © 2019 Jan (janneke) Nieuwenhuizen <[[mailto:janneke@gnu.org][janneke@gnu.org]]>
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved.