Skip to content

Instantly share code, notes, and snippets.

@ober
Last active February 9, 2016 01:26
Show Gist options
  • Save ober/5094469 to your computer and use it in GitHub Desktop.
Save ober/5094469 to your computer and use it in GitHub Desktop.
Building Guile Emacs on Ubuntu.
# Checkout latest guile-emacs
#git clone git://git.hcoop.net/git/bpt/emacs.git
# apply the patch to get it to compile with latest guile.
cat <<EOF>>/tmp/gemacs.diff
"diff --git a/src/lisp.h b/src/lisp.h
index a907105..5ec9644 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -427,7 +427,7 @@ clip_to_bounds (ptrdiff_t lower, EMACS_INT num, ptrdiff_t upper)
#define XSETWINDOW(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_WINDOW))
#define XSETTERMINAL(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_TERMINAL))
/* XSETSUBR is special since Lisp_Subr lacks struct vectorlike_header. */
-#define XSETSUBR(a, b) (SCM_NEWSMOB ((a), lisp_vectorlike_tag, (b)))
+#define XSETSUBR(a, b) SCM_NEWSMOB ((a), lisp_vectorlike_tag, (b))
#define XSETCOMPILED(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_COMPILED))
#define XSETBUFFER(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_BUFFER))
#define XSETCHAR_TABLE(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_CHAR_TABLE))
EOF
patch -p0 < /tmp/gemacs.diff
make clean
# On Ubuntu these packages are required
#sudo apt-get install libtiff-dev libgif-dev libjpeg-dev libpng-dev libxpm-dev texinfo libxaw7-dev libwebkitgtk-3.0-dev libgirepository1.0-dev libclutter-gtk-1.0-dev libgpm-dev libgraphicsmagick++1-dev xaw3dg-dev librsvg2-dev libdbus-1-dev libgnutls-dev libotf-dev libm17n-dev libgconf2-dev
export LDFLAGS="-Wl,-no-as-needed $(pkg-config --libs gobject-introspection-1.0)"
export CFLAGS="$(pkg-config --cflags gobject-introspection-1.0)"
./configure --prefix=${HOME}/gemacs --with-x-toolkit=gtk3
make
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment