Bug 68826 - various anomalies with xemacs port
Summary: various anomalies with xemacs port
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Sergey Matveychuk
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-07-08 20:10 UTC by Matthias Buelow
Modified: 2005-06-15 08:25 UTC (History)
0 users

See Also:


Attachments
xd.diff (3.51 KB, patch)
2005-02-09 19:26 UTC, Pawel Worach
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Matthias Buelow 2004-07-08 20:10:18 UTC
The Xemacs port (# $FreeBSD: ports/editors/xemacs/Makefile,v 1.79 2004/04/13 06:29:58 edwin Exp $) seems to be somewhat broken.  Let me enumerate the weirdness:

 * Buffers tabs are missing.  I cannot get them enabled either.  Normally they should be visible in the default configuration (xemacs -q).  Options menu says they are visible, which they obviously aren't.

 * Buttons are missing in file request dialogs.

 * Unnecessary linking against libXm.  (Not a bug per se but an annoyance, that effects a bug in xemacs).  The only effect I can see that this has (apart from increasing the executable profile) is that, if you set xemacs to white background, you get ugly grey residues on the borders (a known bug in xemacs).  LibXm isn't necessary, one should use Xaw3d instead (but see next).  This should be configurable via make variables so that people who actually want to link against libXm (because they want better visual integration into CDE or sth.) can enable it.

 * Xaw3d doesn't seem to get linked against, even though built with  WITH_XAW3D=yes.  AFAIR Xaw3d is used for the buttons in dialogs.

 * Weird assortment of packages gets pulled into.  Why not just use the sumo package?  At least then all the files are actually available and one doesn't have to wait for each until it falls through to the FreeBSD distfiles site as last option.  Maybe provide an extra xemacs-sumo port. (change request).

How-To-Repeat: Install xemacs from this port:

# $FreeBSD: ports/editors/xemacs/Makefile,v 1.79 2004/04/13 06:29:58 edwin Exp $
Comment 1 Matthias Buelow 2004-07-08 20:34:58 UTC
I apologize for the bad formatting, apparently the send-pr web frontend 
didn't wrap the lines... ;(

-- 
   Matthias Buelow; mkb@{mukappabeta,informatik.uni-wuerzburg}.de
Comment 2 Mark Linimon freebsd_committer freebsd_triage 2004-07-09 02:24:19 UTC
Responsible Changed
From-To: freebsd-ports-bugs->gj

Over to maintainer.
Comment 3 Matthias Buelow 2004-07-14 02:20:32 UTC
To port maintainer:

please make sure you specify --with-widgets for Xemacs configure.

I have checked the problem of the missing buffers tabs and dialog 
buttons against a vanilla 21.4.15 xemacs which I installed seperately 
and could reproduce it when --with-widgets was omitted.

I then used --with-athena=3d --with-widgets and got satisfactory 
results.  If you insist on using Motif for this port by default (which I 
do not recommend), modify configure options accordingly.
However, imho, xemacs' own Lucid widgets for menus, scrollbars etc. and 
Xaw3d for the buffers tab and dialog buttons seems to work aswell as 
Motif, if not better (no grey-border bug with white background).

-- 
   Matthias Buelow; mkb@{mukappabeta,informatik.uni-wuerzburg}.de
Comment 4 Gary Jennejohn freebsd_committer freebsd_triage 2004-12-14 12:01:32 UTC
Responsible Changed
From-To: gj->anray@inet.ua

Over to the new maintainer.
Comment 5 Gary Jennejohn freebsd_committer freebsd_triage 2004-12-14 21:22:01 UTC
Responsible Changed
From-To: anray@inet.ua->ports@FreeBSD.org

The new maintainer is ports@.
Comment 6 Volker Stolz freebsd_committer freebsd_triage 2004-12-16 11:39:21 UTC
Responsible Changed
From-To: ports@FreeBSD.org->freebsd-ports-bugs

It's spelled freebsd-ports-bugs
Comment 7 Pawel Worach 2004-12-28 19:48:09 UTC
First step at addressing the buffer tabs and Xaw3d, also fix a typo.
'make -DMOTIF_STATIC -DWITH_XAW3D' should produce the same result as
defined above now. Tested both motif and athena (no 3d) builds, they
look good.

(Can we start here and then I'll continue and clean up the makefile
variabes and maybe leave just a few like, WITHOUT_X11, WITH_MOTIF,
WITH_ATHENA, WITH_GTK, WITH_XAW3D ?)

Index: editors/xemacs/Makefile
===================================================================
RCS file: /export/ctm/cvs/ports/editors/xemacs/Makefile,v
retrieving revision 1.83
diff -u -u -r1.83 Makefile
--- editors/xemacs/Makefile     25 Dec 2004 22:27:59 -0000      1.83
+++ editors/xemacs/Makefile     28 Dec 2004 19:36:22 -0000
@@ -44,7 +44,8 @@
                 --with-ldap=no \
                 --with-site-lisp \
                 --with-database=berkdb \
-               ${WITH_XFACE} ${WITH_DIALOGS} ${WITH_OFFIX} ${WITH_GTK}
+               ${WITH_XFACE} ${WITH_DIALOGS} ${WITH_WIDGETS} \
+               ${WITH_OFFIX} ${WITH_GTK}
  MAKE_ARGS=     prefix=${PREFIX}
  MAN1=          ctags.1 etags.1 gnuattach.1 gnuclient.1 gnudoit.1 \
                 gnuserv.1 xemacs.1
@@ -81,7 +82,7 @@
         @${ECHO_MSG} ""
         @${ECHO_MSG} "Set the environment variable WITHOUT_X11 if you "
         @${ECHO_MSG} "do not want to use X11."
-CONFIG_ARGS+=  --with-png=yes --with-tiff=yes
+CONFIGURE_ARGS+=       --with-png --with-tiff
  .endif
  .if defined(WITHOUT_X11)
  CONFIGURE_ARGS+=       --without-x11
@@ -90,10 +91,15 @@
  # hack to avoid shipping binaries linked with Motif
  .if defined(MOTIF_STATIC)
  WITH_DIALOGS=  --with-dialogs=athena
+WITH_WIDGETS=  --with-widgets=athena
+.else
+WITH_DIALOGS=  --with-dialogs=motif
+WITH_WIDGETS=  --with-widgets=motif
  .endif

  .if defined(WITH_XAW3D)
  LIB_DEPENDS+=  Xaw3d.${XAWVER}:${PORTSDIR}/x11-toolkits/Xaw3d
+CONFIGURE_ARGS+=       --with-athena=3d
  .endif

  #.if defined(WANT_GTK)
Comment 8 Matthias Buelow 2004-12-28 20:47:18 UTC
Pawel Worach wrote:

> First step at addressing the buffer tabs and Xaw3d, also fix a typo.
> 'make -DMOTIF_STATIC -DWITH_XAW3D' should produce the same result as
> defined above now. Tested both motif and athena (no 3d) builds, they
> look good.
> 
> (Can we start here and then I'll continue and clean up the makefile
> variabes and maybe leave just a few like, WITHOUT_X11, WITH_MOTIF,
> WITH_ATHENA, WITH_GTK, WITH_XAW3D ?)

It looks ok from judging with naked-eye check (won't apply here since 
apparently the patch got somehow mangled thru mail.. whatever).

Another thing: could the dependency on the xemacs-packages port be 
removed?  Xemacs really has its own packages system, and the 
xemacs-packages port is a rather arbitrary (and, as I found out, 
sometimes outdated) assortment.  What would be cool would be: a) plain 
xemacs port, which doesn't install any packages, and b) xemacs "sumo" 
packages port, which installs the sumo (i.e. all) package tarball. 
Anything in between doesn't really make sense, since what packages to 
include, and what not depends on the personal preferences of the port 
maintainer.

mkb.
Comment 9 Pawel Worach 2005-02-09 13:56:57 UTC
Matthias Buelow wrote:
> Another thing: could the dependency on the xemacs-packages port be 
> removed?  Xemacs really has its own packages system, and the 
> xemacs-packages port is a rather arbitrary (and, as I found out, 
> sometimes outdated) assortment.  What would be cool would be: a) plain 
> xemacs port, which doesn't install any packages, and b) xemacs "sumo" 
> packages port, which installs the sumo (i.e. all) package tarball. 
> Anything in between doesn't really make sense, since what packages to 
> include, and what not depends on the personal preferences of the port 
> maintainer.

Most of this has now been taken care of with ports/77291, you can set
WITHOUT_MOTIF to get a pure Athena build and optionally WITH_XAW3D to use Xaw3d.

Here is a patch to make the packages optional with WITHOUT_XEMACS_PACKAGES

--- Makefile.orig	Wed Feb  9 14:50:31 2005
+++ Makefile	Wed Feb  9 14:52:17 2005
@@ -20,8 +20,6 @@
  XEMACS_VER=	21.4.17
  XEMACS_ARCH=	${CONFIGURE_TARGET}

-RUN_DEPENDS+= 
${LOCALBASE}/lib/xemacs/xemacs-packages/etc/enriched.doc:${PORTSDIR}/editors/xemacs-packages
-
  USE_BZIP2=	yes
  STRIP=
  USE_AUTOCONF_VER=213
@@ -50,6 +48,9 @@
  CONFIGURE_ARGS+=	--with-system-malloc --pdump
  .endif

+.if !defined(WITHOUT_XEMACS_PACKAGES)
+RUN_DEPENDS+= 
${LOCALBASE}/lib/xemacs/xemacs-packages/etc/enriched.doc:${PORTSDIR}/editors/xemacs-packages
+.endif
  .if !defined(WITHOUT_X11)
  LIB_DEPENDS+=	png.5:${PORTSDIR}/graphics/png \
  		jpeg.9:${PORTSDIR}/graphics/jpeg \

Also would anyone mind if I removed the dependency on faces? It pulls in gtk 1.x 
and a lot of other crap not everyone wants.

-- 
Pawel
Comment 10 Pawel Worach 2005-02-09 19:26:19 UTC
Ok, here is a final diff

- Make packages optional (WITHOUT_XEMACS_PACKAGES).
- Remove dependency on mail/faces (it is not required for an base
   editor configuration and it pulls in gtk1 and what comes with that.
- Integrate with the GNOME desktop if installed.

Added files:
files/xemacs.desktop.in

Sending patch as attachment, hope this doesn't make Gnats upset.

-- 
Pawel
Comment 11 Matthias Buelow 2005-02-10 20:08:04 UTC
Pawel Worach wrote:

> Most of this has now been taken care of with ports/77291, you can set
> WITHOUT_MOTIF to get a pure Athena build and optionally WITH_XAW3D to 
> use Xaw3d.

thanks.

> Also would anyone mind if I removed the dependency on faces? It pulls in 
> gtk 1.x and a lot of other crap not everyone wants.

or make it optional.. or (make the responsible maintainer) clean up the 
faces port so that it doesn't require gtk.

mkb.
Comment 12 Florent Thoumie 2005-06-06 00:42:07 UTC
	Is there anything left to be done about this PR ?

-- 
Florent Thoumie
flz@xbsd.org
Comment 13 Sergey Matveychuk freebsd_committer freebsd_triage 2005-06-09 13:39:53 UTC
Responsible Changed
From-To: freebsd-ports-bugs->sem

I'll explore it
Comment 14 Sergey Matveychuk freebsd_committer freebsd_triage 2005-06-15 08:25:25 UTC
State Changed
From-To: open->closed

Committed, thanks!