On Mon, 2008-04-14 at 21:42 +0200, Eric Faurot wrote:
> On Sun, 13 Apr 2008 14:35:57 -0700
> "Matthew Dempsky" <[EMAIL PROTECTED]> wrote:
> 
> > Is anyone working on an Emacs 22 port?  I thought I'd check before
> > making a redundant effort.
> 
> This is a work-in-progress port of emacs 22.2 based on a post
> by Fulvio Ciriaco. Contributions are most welcome. 

I've attached a patch for Emacs 22 diffed against Eric's tarball[1].
This patch incorporates Matthew Dempsky's gtk FLAVOR patch and plist
fixes[2] as well as an athena flavor. I also attempted to resolve the
problems Eric mentioned.

> There are a few issues I noticed:
> 
> - it wants to put some game score stuf in /usr/local/var/games/emacs.
>   I would zap that completely, or at least try to make it to /var/games./..

Adding --localstatedir=/var places the game score files
under /var/games/emacs, but then update-plist strips them.

> - there is a problem with chown commands failing during fake install.

The Makefile uses "find $${dest} -exec chown $${LOGNAME:-$$USERNAME} {}
';' ;\" in several places, causing the chown errors since ports doesn't
set LOGNAME or USERNAME. Adding 'LOGNAME="${SHAREOWN}"' to MAKE_ENV
quieted the chown errors.

All three flavors work for me on i386.

Brad Walker

[1] http://marc.info/?l=openbsd-ports&m=120820280419139&w=2
[2] http://marc.info/?l=openbsd-ports&m=120821303306133&w=2
diff -rud emacs22.orig/Makefile emacs22/Makefile
--- emacs22.orig/Makefile	Fri Apr 11 15:11:35 2008
+++ emacs22/Makefile	Mon Jun  9 22:01:24 2008
@@ -26,14 +26,13 @@
 
 USE_GMAKE=		Yes
 
-FLAVORS=		no_x11
-FLAVOR?=
+FLAVORS=		athena gtk2 no_x11
+FLAVOR?=		gtk2
 
 GCCARCH=		${MACHINE_ARCH}-unknown-openbsd${OPSYS_VER}
 
 CONFIGURE_STYLE=	gnu
-CONFIGURE_ARGS=		${GCCARCH} --with-pop
-CONFIGURE_ARGS+=         --without-toolkit-scroll-bars
+CONFIGURE_ARGS=		${GCCARCH} --with-pop --localstatedir=/var
 
 CONFIGURE_ENV=		CPPFLAGS="-I${LOCALBASE}/include \
 				  -I${LOCALBASE}/include/libpng" \
@@ -44,25 +43,48 @@
 CONFIGURE_ENV+=		CFLAGS="${CFLAGS} -fno-stack-protector"
 .endif
 
-MAKE_ENV=		INSTALL_EMACS="${INSTALL_SCRIPT}"
+MAKE_ENV=		INSTALL_EMACS="${INSTALL_SCRIPT}" \
+			LOGNAME="${SHAREOWN}"
 
 SUBST_VARS=		GCCARCH VERSION
 
 WANTLIB-main=		c m ncurses ossaudio
-.if ${FLAVOR:L:Mno_x11}
-CONFIGURE_ARGS+=	--with-x=no
-.else
-USE_X11=Yes
-LIB_DEPENDS-main=	ungif.>=5::graphics/libungif \
-			jpeg.>=62::graphics/jpeg \
+
+.if ${FLAVOR:L:Mno_x11} && !${FLAVOR:L:Mathena} && !${FLAVOR:L:Mgtk2}
+CONFIGURE_ARGS+=--without-x
+.elif ${FLAVOR:L:Mathena} && !${FLAVOR:L:Mno_x11} && !${FLAVOR:L:Mgtk2}
+CONFIGURE_ARGS+=--with-x-toolkit=athena --without-toolkit-scroll-bars
+USE_X11=	Yes
+
+LIB_DEPENDS-main=	jpeg.>=62::graphics/jpeg \
 			png.>=2::graphics/png \
-			tiff.>=35::graphics/tiff
-WANTLIB-main+=		ICE SM X11 Xaw Xext Xmu Xpm Xt z jpeg
+			tiff.>=35::graphics/tiff \
+			ungif.>=5::graphics/libungif 
+WANTLIB-main+=		ICE SM X11 Xaw Xext Xmu Xpm Xt z
+.elif ${FLAVOR:L:Mgtk2} && !${FLAVOR:L:Mno_x11} && !${FLAVOR:L:Mathena}
+CONFIGURE_ARGS+=--with-gtk
+USE_X11=	Yes
+
+LIB_DEPENDS-main+=	atk-1.0.>=2009::devel/atk \
+			cairo.>=7::graphics/cairo \
+			glib-2.0.>=1400,gmodule-2.0.>=1400,gobject-2.0.>=1400::devel/glib2 \
+			glitz.>=2::graphics/glitz \
+			gdk-x11-2.0.>=0.11,gdk_pixbuf-2.0.>=0.11,gtk-x11-2.0.>=0.11::x11/gtk+2 \
+			iconv.>=4::converters/libiconv \
+			intl.>=4::devel/gettext \
+			jpeg.>=62::graphics/jpeg \
+			pango-1.0.>=1400,pangocairo-1.0.>=1400,pangoft2-1.0.>=1400::devel/pango \
+			png.>=6::graphics/png \
+			tiff.>=38::graphics/tiff \
+			ungif.>=5::graphics/libungif
+WANTLIB-main+=	ICE SM X11 Xdmcp Xext Xft Xpm Xrender Xau Xcomposite Xcursor \
+		Xdamage Xfixes Xi Xinerama Xrandr pixman-1 \
+		expat fontconfig freetype pthread z
+.else
+ERRORS=	"Fatal: You must select one GUI interface: athena, gtk2 or no_x11"
 .endif
 
-RUN_DEPENDS=		:emacs-${VERSION}*:${BUILD_PKGPATH}
-RUN_DEPENDS-main=
-
-PKG_ARCH-el=		*
+RUN_DEPENDS-el=	:emacs-${VERSION}*:${BUILD_PKGPATH}
+PKG_ARCH-el=	*
 
 .include <bsd.port.mk>
diff -rud emacs22.orig/pkg/DESCR-main emacs22/pkg/DESCR-main
--- emacs22.orig/pkg/DESCR-main	Sun Feb 10 03:12:07 2008
+++ emacs22/pkg/DESCR-main	Mon Jun  9 10:29:34 2008
@@ -13,4 +13,6 @@
 (Doctor :-) and many more.
 
 Flavors:
+          athena     - build with athena toolkit
+          gtk2       - build with gtk2 toolkit
           no_x11     - build without X11 support
diff -rud emacs22.orig/pkg/PLIST-el emacs22/pkg/PLIST-el
--- emacs22.orig/pkg/PLIST-el	Fri Apr 11 15:36:21 2008
+++ emacs22/pkg/PLIST-el	Sun Jun  8 18:30:09 2008
@@ -690,6 +690,7 @@
 share/emacs/${VERSION}/lisp/net/rcompile.el.gz
 share/emacs/${VERSION}/lisp/net/rlogin.el.gz
 share/emacs/${VERSION}/lisp/net/snmp-mode.el.gz
+share/emacs/${VERSION}/lisp/net/socks.el.gz
 share/emacs/${VERSION}/lisp/net/telnet.el.gz
 share/emacs/${VERSION}/lisp/net/tls.el.gz
 share/emacs/${VERSION}/lisp/net/tramp-ftp.el.gz
@@ -851,6 +852,8 @@
 share/emacs/${VERSION}/lisp/progmodes/simula.el.gz
 share/emacs/${VERSION}/lisp/progmodes/sql.el.gz
 share/emacs/${VERSION}/lisp/progmodes/tcl.el.gz
+share/emacs/${VERSION}/lisp/progmodes/vera-mode.el.gz
+share/emacs/${VERSION}/lisp/progmodes/verilog-mode.el.gz
 share/emacs/${VERSION}/lisp/progmodes/vhdl-mode.el.gz
 share/emacs/${VERSION}/lisp/progmodes/which-func.el.gz
 share/emacs/${VERSION}/lisp/progmodes/xscheme.el.gz
@@ -910,8 +913,10 @@
 share/emacs/${VERSION}/lisp/terminal.el.gz
 share/emacs/${VERSION}/lisp/textmodes/artist.el.gz
 share/emacs/${VERSION}/lisp/textmodes/bib-mode.el.gz
+share/emacs/${VERSION}/lisp/textmodes/bibtex-style.el.gz
 share/emacs/${VERSION}/lisp/textmodes/bibtex.el.gz
 share/emacs/${VERSION}/lisp/textmodes/conf-mode.el.gz
+share/emacs/${VERSION}/lisp/textmodes/css-mode.el.gz
 share/emacs/${VERSION}/lisp/textmodes/dns-mode.el.gz
 share/emacs/${VERSION}/lisp/textmodes/enriched.el.gz
 share/emacs/${VERSION}/lisp/textmodes/fill.el.gz
@@ -994,9 +999,13 @@
 share/emacs/${VERSION}/lisp/url/vc-dav.el.gz
 share/emacs/${VERSION}/lisp/userlock.el.gz
 share/emacs/${VERSION}/lisp/vc-arch.el.gz
+share/emacs/${VERSION}/lisp/vc-bzr.el.gz
 share/emacs/${VERSION}/lisp/vc-cvs.el.gz
+share/emacs/${VERSION}/lisp/vc-git.el.gz
+share/emacs/${VERSION}/lisp/vc-hg.el.gz
 share/emacs/${VERSION}/lisp/vc-hooks.el.gz
 share/emacs/${VERSION}/lisp/vc-mcvs.el.gz
+share/emacs/${VERSION}/lisp/vc-mtn.el.gz
 share/emacs/${VERSION}/lisp/vc-rcs.el.gz
 share/emacs/${VERSION}/lisp/vc-sccs.el.gz
 share/emacs/${VERSION}/lisp/vc-svn.el.gz
diff -rud emacs22.orig/pkg/PLIST-main emacs22/pkg/PLIST-main
--- emacs22.orig/pkg/PLIST-main	Mon Apr 14 12:50:27 2008
+++ emacs22/pkg/PLIST-main	Sun Jun  8 18:45:53 2008
@@ -1,12 +1,12 @@
 @comment $OpenBSD$
 @conflict emacs21-*
-bin/b2m
-bin/ctags
-bin/ebrowse
[EMAIL PROTECTED] bin/b2m
[EMAIL PROTECTED] bin/ctags
[EMAIL PROTECTED] bin/ebrowse
 bin/emacs
 bin/emacs-${VERSION}
-bin/emacsclient
-bin/etags
[EMAIL PROTECTED] bin/emacsclient
[EMAIL PROTECTED] bin/etags
 bin/grep-changelog
 bin/rcs-checkin
 @info info/ada-mode
@@ -52,15 +52,15 @@
 libexec/emacs/
 libexec/emacs/${VERSION}/
 libexec/emacs/${VERSION}/${GCCARCH}/
-libexec/emacs/${VERSION}/${GCCARCH}/cvtmail
-libexec/emacs/${VERSION}/${GCCARCH}/digest-doc
-libexec/emacs/${VERSION}/${GCCARCH}/fakemail
-libexec/emacs/${VERSION}/${GCCARCH}/hexl
-libexec/emacs/${VERSION}/${GCCARCH}/movemail
-libexec/emacs/${VERSION}/${GCCARCH}/profile
[EMAIL PROTECTED] libexec/emacs/${VERSION}/${GCCARCH}/cvtmail
[EMAIL PROTECTED] libexec/emacs/${VERSION}/${GCCARCH}/digest-doc
[EMAIL PROTECTED] libexec/emacs/${VERSION}/${GCCARCH}/fakemail
[EMAIL PROTECTED] libexec/emacs/${VERSION}/${GCCARCH}/hexl
[EMAIL PROTECTED] libexec/emacs/${VERSION}/${GCCARCH}/movemail
[EMAIL PROTECTED] libexec/emacs/${VERSION}/${GCCARCH}/profile
 libexec/emacs/${VERSION}/${GCCARCH}/rcs2log
-libexec/emacs/${VERSION}/${GCCARCH}/sorted-doc
-libexec/emacs/${VERSION}/${GCCARCH}/update-game-score
[EMAIL PROTECTED] libexec/emacs/${VERSION}/${GCCARCH}/sorted-doc
[EMAIL PROTECTED] libexec/emacs/${VERSION}/${GCCARCH}/update-game-score
 libexec/emacs/${VERSION}/${GCCARCH}/vcdiff
 @man man/man1/ctags.1
 @man man/man1/emacs.1
@@ -1298,7 +1298,6 @@
 share/emacs/${VERSION}/lisp/net/rcompile.elc
 share/emacs/${VERSION}/lisp/net/rlogin.elc
 share/emacs/${VERSION}/lisp/net/snmp-mode.elc
-share/emacs/${VERSION}/lisp/net/socks.el.gz
 share/emacs/${VERSION}/lisp/net/socks.elc
 share/emacs/${VERSION}/lisp/net/telnet.elc
 share/emacs/${VERSION}/lisp/net/tls.elc
@@ -1468,9 +1467,7 @@
 share/emacs/${VERSION}/lisp/progmodes/simula.elc
 share/emacs/${VERSION}/lisp/progmodes/sql.elc
 share/emacs/${VERSION}/lisp/progmodes/tcl.elc
-share/emacs/${VERSION}/lisp/progmodes/vera-mode.el.gz
 share/emacs/${VERSION}/lisp/progmodes/vera-mode.elc
-share/emacs/${VERSION}/lisp/progmodes/verilog-mode.el.gz
 share/emacs/${VERSION}/lisp/progmodes/verilog-mode.elc
 share/emacs/${VERSION}/lisp/progmodes/vhdl-mode.elc
 share/emacs/${VERSION}/lisp/progmodes/which-func.elc
@@ -1555,11 +1552,9 @@
 share/emacs/${VERSION}/lisp/textmodes/
 share/emacs/${VERSION}/lisp/textmodes/artist.elc
 share/emacs/${VERSION}/lisp/textmodes/bib-mode.elc
-share/emacs/${VERSION}/lisp/textmodes/bibtex-style.el.gz
 share/emacs/${VERSION}/lisp/textmodes/bibtex-style.elc
 share/emacs/${VERSION}/lisp/textmodes/bibtex.elc
 share/emacs/${VERSION}/lisp/textmodes/conf-mode.elc
-share/emacs/${VERSION}/lisp/textmodes/css-mode.el.gz
 share/emacs/${VERSION}/lisp/textmodes/css-mode.elc
 share/emacs/${VERSION}/lisp/textmodes/dns-mode.elc
 share/emacs/${VERSION}/lisp/textmodes/enriched.elc
@@ -1644,16 +1639,12 @@
 share/emacs/${VERSION}/lisp/url/vc-dav.elc
 share/emacs/${VERSION}/lisp/userlock.elc
 share/emacs/${VERSION}/lisp/vc-arch.elc
-share/emacs/${VERSION}/lisp/vc-bzr.el.gz
 share/emacs/${VERSION}/lisp/vc-bzr.elc
 share/emacs/${VERSION}/lisp/vc-cvs.elc
-share/emacs/${VERSION}/lisp/vc-git.el.gz
 share/emacs/${VERSION}/lisp/vc-git.elc
-share/emacs/${VERSION}/lisp/vc-hg.el.gz
 share/emacs/${VERSION}/lisp/vc-hg.elc
 share/emacs/${VERSION}/lisp/vc-hooks.elc
 share/emacs/${VERSION}/lisp/vc-mcvs.elc
-share/emacs/${VERSION}/lisp/vc-mtn.el.gz
 share/emacs/${VERSION}/lisp/vc-mtn.elc
 share/emacs/${VERSION}/lisp/vc-rcs.elc
 share/emacs/${VERSION}/lisp/vc-sccs.elc
@@ -1684,8 +1675,3 @@
 share/emacs/${VERSION}/site-lisp/subdirs.el
 share/emacs/site-lisp/
 share/emacs/site-lisp/subdirs.el
-var/
-var/games/
-var/games/emacs/
-var/games/emacs/snake-scores
-var/games/emacs/tetris-scores

Reply via email to