This is the mail archive of the cygwin-apps@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [ITP] xemacs: A powerful, highly customizable open source texteditor and application development system


Dr. Volker Zell wrote:

>     Charles> Which windowing mode are you proposing?
>
> X.

Well, then there's probably no conflict between your propsed version and
the mswindowing one distributed by Andy.

> Here is my configure line:
>
> .... snipp ....
> ${srcdir}/configure \
> --pdump \
> --srcdir=${srcdir} \
> --prefix=${prefix} \
> --with-mule \
> --package-path=/usr/local/lib/xemacs/site-packages:/usr/lib/xemacs/site-packages:/usr/lib/xemacs/xemacs-packages:/usr/lib/xemacs/mule-packages \
> --with_file_coding=yes \
> --with_msw=no \
> --with-modules=no


Hmm...I like the athena xaw3d stuff, personally (and it's lighter-wieght
than lesstif).  I'll see if I can't find my old build recipe.

        --with-scrollbars=lucid \
        --with-menubars=lucid \
        --with-dialogs=athena \
        --with-widgets=athena \
        --with-athena=3d \
------------------------

Also, if this is an X build, then it ought to have --prefix=/usr/X11R6
-- but perhaps you might want the following package-path instead, so
that native and X versions of XEmacs can share the same packages? And shouldn't they go into the share heirarchy, instead of lib?


--package-path=~/.xemacs::/usr/local/share/xemacs/site-packages:/usr/share/xemacs/site-packages:/usr/share/xemacs/xemacs-packages:/usr/share/xemacs/mule-packages

-----------------------

Now, many of the files under /usr/lib/xemacs-21.4.14 are cross-platform,
and REALLY should be in the /usr/share heirarchy.  Infact, I believe
that EVERYTHING under /usr/lib/xemacs-21.4.14/ EXCEPT for
/usr/lib/xemacs-21.4.14/i686-pc-cygwin/ should be moved to
/usr/share/xemacs-21.4.14/.   To do this, I think you need to specify

--datadir=/usr/share

(note, NOT ${prefix}/share, since ${prefix} is /usr/X11R6.  This way a
later xemacs-native-bin package could use the same xemacs-??? stuff as
xemacs-X-bin)

I think you also need to apply this patch taken from the Mandrake RPM
(sorry for the linewrapping)

--- xemacs-21.4.9/lisp/find-paths.el.warly      2002-09-07
20:30:28.000000000 +0200
+++ xemacs-21.4.9/lisp/find-paths.el    2002-09-09 12:23:30.000000000 +0200
@@ -103,7 +103,7 @@
   (or
    ;; installed
    (paths-file-readable-directory-p (paths-construct-path (list directory
-                                                               "lib"
+                                                               "share"

emacs-program-name)))
    ;; in-place or windows-nt
    (and

-----------------------

You probably ought to ensure that the man files go in the right  place
-- whatever that is (here I assume that prefix=/usr/X11R6)

  --mandir=${prefix}/share/man
  --mandir=${prefix}/man
  --mandir=/usr/share/man

I'm not sure which of these is "correct" in the FHS sense.  I wouldn't
worry about the info files -- just let'em go where XEmacs wants to put
them: it doesn't matter if info.exe can't find them, because practically
speaking, folks interested in what the xemacs info files have to say
will use xemacs to read them.  And xemacs knows where to find them.

-----------------------

The xemacs.org cygwin distro of xemacs uses this configury:
./configure --with-dragndrop --with-postgresql=no --with-x=no \
    --bindir=/usr/local/bin/i686-pc-cygwin --with-site-lisp=yes \
    --with-ipv6-cname=no --with-netinstall
make CFLAGS=-O3 MINGW_ZLIB_DIR=${NATIVE_ZLIB_DIR} beta
make prefix=${TMPINSTALL} \
   bindir=${TMPINSTALL}/bin/i686-pc-cygwin install
(although it deliberately links with a mingw version of zlib; I dunno
what's up with that)

Now, --with-site-lisp is deprecated, so I wouldn't recommend copying
that.  I also suspect that --with-dragndrop won't work with an X-based
build of XEmacs on cygwin (at least, not in the way we Windows denizens
would expect...an X-only drag-n-drop wouldn't be that helpful.

------------------------

FWIW, on my Mandrake system, the following files are in an
"xemacs-extras" package:
/usr/bin/b2m
/usr/bin/ctags
/usr/bin/etags
/usr/bin/ootags
/usr/bin/rcs-checkin
/usr/share/doc/xemacs-extras-21.4.12
/usr/share/doc/xemacs-extras-21.4.12/README
/usr/share/man/man1/ctags.1.bz2
/usr/share/man/man1/etags.1.bz2

%package extras
Summary: Files that XEmacs has in common with GNU Emacs.
Requires: xemacs = %{version}
Provides: ctags

------------------------

There's a problem with your proposed distribution: you *MUST* distribute
all relevant source code, including libraries.  It's not acceptable for
us to provide an xemacs binary which is linked against a static LDAP
library yet not also provide the source for that LDAP library.

I'm afraid you'll either need to turn off LDAP support, or ITP an LDAP
package.

------------------------

Anecdote:

For a long time, I've had two versions of XEmacs on my system:
cygwin-xemacs-mswindowing, and native-ms-xemacs-mswindowing (but at
least they share their xemacs-packages directory)

The former because I liked to use cygwin paths when loading files
(^X^F), mainly.  The latter because it was faster.  The downside was
that in both cases, if you used the GUI File Selector, it used the
standard Windows File Widget -- which knew nothing about cygwin paths,
even on the cygwin version!  So, it made more sense to simply stick with
the native xemacs -- and rely on the 'winclient.exe' program (a
gnuclient clone that uses DDE instead of gnuserv, provided with the
native xemacs build), with the following cygwin script:

WINCLIENT=/d/Progra~1/XEmacs/XEmacs-21.4.6/i586-pc-win32/winclient
for fn in "$@" ; do
  ${WINCLIENT} `cygpath -w "${fn}"`
done

for my cygwin needs. BUT....

now that we have a rootless X server, an X-based cygwin-XEmacs makes a
lot of sense -- and it'll use the XEmacs/lisp coded file selector, so
even GUI file selection will understand cygwin paths.  I might just
switch...

--
Chuck




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]