"Stephen J. Turnbull" <stephen(a)xemacs.org> writes:
Mats Lidell writes:
> >>>>> Stephen writes:
>
> Stephen> I'm sure it can be done, ...
>
> Is it possible to describe, in a few lines, what the technical problem
> is in making the package build within the XEmacs Package Tree?
With accuracy, no. At one time, the AUCTeX build process required
running configure on the installation host. That would obviously
result in undistributable binary packages.
Straw man. It would result in binary packages where you had to use
customize on some platforms to get the right result, not in
"undistributable" binary packages. In fact, the AUCTeX team _did_
distribute those "undistributable" packages, to the satisfaction of
the users.
Since then the build process has changed, and the ability of the
AUCTeX project to build installable binaries is proof of concept.
It is not "proof of concept". The generated packages work and are
indistinguishable from those built by the XEmacs team (hypothetically
assuming that the XEmacs team would build proper AUCTeX packages, that
is).
The remaining problems are administrative, really: figuring out what
pieces of the AUCTeX source distribution are supposed to get
installed where,
Which you do by calling
./configure
make FTPDIR=/tmp/auctex TAG=11.84 tarball
make FTPDIR=/tmp/auctex TAG=11.84 xemacs-package
Then you have a completely built XEmacs package in /tmp/auctex, and an
unpacked clean tarball in ./auctex-11.84. And that's just when
pretending that we don't provide this XEmacs package already.
and matching them up to the build infrastructure.
Which is terribly hard, given that we distribute both tarball and
XEmacs package.
Let's see, that would be something like
cd /tmp
wget
ftp://ftp.gnu.org/pub/gnu/auctex-11.84{,-pkg}.tar.gz
rm -rf auctex-11.84
tar xzf auctex-11.84.tar.gz
cd auctex-11.84
git-init-db
git add .
git commit -m tarball
rm -rf *
tar xzf ../auctex-11.84-pkg.tar.gz
git add .
git-diff --find-copies-harder --cached --stat -B -M -C HEAD
defaulting to local storage area
Committing initial tree 026d69106a07fd75b0d7452b3a944c3ddc6a22a4
etc/auctex/doc/preview.dvi | Bin
{images => etc/auctex/images}/amstex.xpm | 0
{images => etc/auctex/images}/bibtex.xpm | 0
{images => etc/auctex/images}/dropdown.xpm | 0
{images => etc/auctex/images}/dvipdf.xpm | 0
{images => etc/auctex/images}/dvips.xpm | 0
{images => etc/auctex/images}/error.xpm | 0
{images => etc/auctex/images}/exec.xpm | 0
{images => etc/auctex/images}/execbibtex.xpm | 0
{images => etc/auctex/images}/execdvips.xpm | 0
{images => etc/auctex/images}/execerror.xpm | 0
{images => etc/auctex/images}/execpdftex.xpm | 0
{images => etc/auctex/images}/exectex.xpm | 0
{images => etc/auctex/images}/execviewdvi.xpm | 0
{images => etc/auctex/images}/execviewpdf.xpm | 0
{images => etc/auctex/images}/execviewps.xpm | 0
{images => etc/auctex/images}/gv.xpm | 0
{images => etc/auctex/images}/jumpdvi.xpm | 0
.../auctex/images}/ltx-symb-turn-off.xpm | 0
{images => etc/auctex/images}/ltx-symb-turn-on.xpm | 0
{images => etc/auctex/images}/pdftex.xpm | 0
{preview => etc/auctex}/images/prverr16.xpm | 0
{preview => etc/auctex}/images/prverr20.xpm | 0
{preview => etc/auctex}/images/prverr24.xbm | 0
{preview => etc/auctex}/images/prverr24.xpm | 0
{preview => etc/auctex}/images/prvtex-cap-up.xpm | 0
{preview => etc/auctex}/images/prvtex12.xbm | 0
{preview => etc/auctex}/images/prvtex12.xpm | 0
{preview => etc/auctex}/images/prvtex16.xbm | 0
{preview => etc/auctex}/images/prvtex16.xpm | 0
{preview => etc/auctex}/images/prvtex20.xpm | 0
{preview => etc/auctex}/images/prvtex24.xbm | 0
{preview => etc/auctex}/images/prvtex24.xpm | 0
{preview => etc/auctex}/images/prvwrk12.xpm | 0
{preview => etc/auctex}/images/prvwrk14.xpm | 0
{preview => etc/auctex}/images/prvwrk16.xpm | 0
{preview => etc/auctex}/images/prvwrk20.xpm | 0
{preview => etc/auctex}/images/prvwrk24.xbm | 0
{preview => etc/auctex}/images/prvwrk24.xpm | 0
{images => etc/auctex/images}/pspdf.xpm | 0
{images => etc/auctex/images}/sep.xpm | 0
{images => etc/auctex/images}/tex.xpm | 0
{images => etc/auctex/images}/view.xpm | 0
{images => etc/auctex/images}/viewdvi.xpm | 0
{images => etc/auctex/images}/viewpdf.xpm | 0
{images => etc/auctex/images}/viewps.xpm | 0
etc/auctex/latex/prauctex.cfg | 48 ++
etc/auctex/latex/prauctex.def | 61 +++
etc/auctex/latex/prcounters.def | 38 ++
etc/auctex/latex/preview.sty | 381 +++++++++++++++++++
etc/auctex/latex/prfootnotes.def | 28 +
etc/auctex/latex/prlyx.def | 32 ++
etc/auctex/latex/prshowbox.def | 32 ++
etc/auctex/latex/prshowlabels.def | 67 +++
etc/auctex/latex/prtightpage.def | 120 ++++++
etc/auctex/latex/prtracingall.def | 30 +
{style => etc/auctex/style}/.nosearch | 0
{style => etc/auctex/style}/MinionPro.el | 0
etc/auctex/style/MinionPro.elc | Bin
{style => etc/auctex/style}/alltt.el | 0
etc/auctex/style/alltt.elc | Bin
{style => etc/auctex/style}/alphanum.el | 0
etc/auctex/style/alphanum.elc | Bin
{style => etc/auctex/style}/amsart.el | 0
etc/auctex/style/amsart.elc | Bin
{style => etc/auctex/style}/amsbook.el | 0
etc/auctex/style/amsbook.elc | Bin
{style => etc/auctex/style}/amsbsy.el | 0
etc/auctex/style/amsbsy.elc | Bin
{style => etc/auctex/style}/amsmath.el | 0
etc/auctex/style/amsmath.elc | Bin
{style => etc/auctex/style}/amsopn.el | 0
etc/auctex/style/amsopn.elc | Bin
{style => etc/auctex/style}/amstex.el | 0
etc/auctex/style/amstex.elc | Bin
{style => etc/auctex/style}/amstext.el | 0
etc/auctex/style/amstext.elc | Bin
{style => etc/auctex/style}/amsthm.el | 0
etc/auctex/style/amsthm.elc | Bin
{style => etc/auctex/style}/article.el | 0
etc/auctex/style/article.elc | Bin
{style => etc/auctex/style}/babel.el | 0
etc/auctex/style/babel.elc | Bin
{style => etc/auctex/style}/beamer.el | 0
etc/auctex/style/beamer.elc | Bin
{style => etc/auctex/style}/book.el | 0
etc/auctex/style/book.elc | Bin
{style => etc/auctex/style}/booktabs.el | 0
etc/auctex/style/booktabs.elc | Bin
{style => etc/auctex/style}/captcont.el | 0
etc/auctex/style/captcont.elc | Bin
{style => etc/auctex/style}/csquotes.el | 0
etc/auctex/style/csquotes.elc | Bin
{style => etc/auctex/style}/czech.el | 0
etc/auctex/style/czech.elc | Bin
{style => etc/auctex/style}/danish.el | 0
etc/auctex/style/danish.elc | Bin
{style => etc/auctex/style}/dinbrief.el | 0
etc/auctex/style/dinbrief.elc | Bin
{style => etc/auctex/style}/dk-bib.el | 0
etc/auctex/style/dk-bib.elc | Bin
{style => etc/auctex/style}/dk.el | 0
etc/auctex/style/dk.elc | Bin
{style => etc/auctex/style}/doc.el | 0
etc/auctex/style/doc.elc | Bin
{style => etc/auctex/style}/dutch.el | 0
etc/auctex/style/dutch.elc | Bin
{style => etc/auctex/style}/emp.el | 0
etc/auctex/style/emp.elc | Bin
{style => etc/auctex/style}/epsf.el | 0
etc/auctex/style/epsf.elc | Bin
{style => etc/auctex/style}/fancyref.el | 0
etc/auctex/style/fancyref.elc | Bin
{style => etc/auctex/style}/foils.el | 0
etc/auctex/style/foils.elc | Bin
{style => etc/auctex/style}/francais.el | 0
etc/auctex/style/francais.elc | Bin
{style => etc/auctex/style}/frenchb.el | 0
etc/auctex/style/frenchb.elc | Bin
{style => etc/auctex/style}/german.el | 0
etc/auctex/style/german.elc | Bin
{style => etc/auctex/style}/graphics.el | 0
etc/auctex/style/graphics.elc | Bin
{style => etc/auctex/style}/graphicx.el | 0
etc/auctex/style/graphicx.elc | Bin
{style => etc/auctex/style}/harvard.el | 0
etc/auctex/style/harvard.elc | Bin
{style => etc/auctex/style}/index.el | 0
etc/auctex/style/index.elc | Bin
{style => etc/auctex/style}/inputenc.el | 0
etc/auctex/style/inputenc.elc | Bin
{style => etc/auctex/style}/italian.el | 0
etc/auctex/style/italian.elc | Bin
{style => etc/auctex/style}/j-article.el | 0
etc/auctex/style/j-article.elc | Bin
{style => etc/auctex/style}/j-book.el | 0
etc/auctex/style/j-book.elc | Bin
{style => etc/auctex/style}/j-report.el | 0
etc/auctex/style/j-report.elc | Bin
{style => etc/auctex/style}/jarticle.el | 0
etc/auctex/style/jarticle.elc | Bin
{style => etc/auctex/style}/jbook.el | 0
etc/auctex/style/jbook.elc | Bin
{style => etc/auctex/style}/jreport.el | 0
etc/auctex/style/jreport.elc | Bin
{style => etc/auctex/style}/jsarticle.el | 0
etc/auctex/style/jsarticle.elc | Bin
{style => etc/auctex/style}/jsbook.el | 0
etc/auctex/style/jsbook.elc | Bin
{style => etc/auctex/style}/jura.el | 0
etc/auctex/style/jura.elc | Bin
{style => etc/auctex/style}/jurabib.el | 0
etc/auctex/style/jurabib.elc | Bin
{style => etc/auctex/style}/latexinfo.el | 0
etc/auctex/style/latexinfo.elc | Bin
{style => etc/auctex/style}/letter.el | 0
etc/auctex/style/letter.elc | Bin
{style => etc/auctex/style}/listings.el | 0
etc/auctex/style/listings.elc | Bin
{style => etc/auctex/style}/ltx-base.el | 0
etc/auctex/style/ltx-base.elc | Bin
{style => etc/auctex/style}/ltxdoc.el | 0
etc/auctex/style/ltxdoc.elc | Bin
{style => etc/auctex/style}/makeidx.el | 0
etc/auctex/style/makeidx.elc | Bin
{style => etc/auctex/style}/mdwlist.el | 0
etc/auctex/style/mdwlist.elc | Bin
{style => etc/auctex/style}/multind.el | 0
etc/auctex/style/multind.elc | Bin
{style => etc/auctex/style}/natbib.el | 0
etc/auctex/style/natbib.elc | Bin
{style => etc/auctex/style}/ngerman.el | 0
etc/auctex/style/ngerman.elc | Bin
{style => etc/auctex/style}/nicefrac.el | 0
etc/auctex/style/nicefrac.elc | Bin
{style => etc/auctex/style}/paralist.el | 0
etc/auctex/style/paralist.elc | Bin
{style => etc/auctex/style}/pdfsync.el | 0
etc/auctex/style/pdfsync.elc | Bin
{style => etc/auctex/style}/plfonts.el | 0
etc/auctex/style/plfonts.elc | Bin
{style => etc/auctex/style}/plhb.el | 0
etc/auctex/style/plhb.elc | Bin
{style => etc/auctex/style}/polish.el | 0
etc/auctex/style/polish.elc | Bin
{style => etc/auctex/style}/polski.el | 0
etc/auctex/style/polski.elc | Bin
{style => etc/auctex/style}/prosper.el | 0
etc/auctex/style/prosper.elc | Bin
{style => etc/auctex/style}/psfig.el | 0
etc/auctex/style/psfig.elc | Bin
{style => etc/auctex/style}/report.el | 0
etc/auctex/style/report.elc | Bin
{style => etc/auctex/style}/scrartcl.el | 0
etc/auctex/style/scrartcl.elc | Bin
{style => etc/auctex/style}/scrbase.el | 0
etc/auctex/style/scrbase.elc | Bin
{style => etc/auctex/style}/scrbook.el | 0
etc/auctex/style/scrbook.elc | Bin
{style => etc/auctex/style}/scrlttr2.el | 0
etc/auctex/style/scrlttr2.elc | Bin
{style => etc/auctex/style}/scrpage2.el | 0
etc/auctex/style/scrpage2.elc | Bin
{style => etc/auctex/style}/scrreprt.el | 0
etc/auctex/style/scrreprt.elc | Bin
{style => etc/auctex/style}/slides.el | 0
etc/auctex/style/slides.elc | Bin
{style => etc/auctex/style}/slovak.el | 0
etc/auctex/style/slovak.elc | Bin
{style => etc/auctex/style}/subfigure.el | 0
etc/auctex/style/subfigure.elc | Bin
{style => etc/auctex/style}/swedish.el | 0
etc/auctex/style/swedish.elc | Bin
{style => etc/auctex/style}/units.el | 0
etc/auctex/style/units.elc | Bin
{style => etc/auctex/style}/url.el | 0
etc/auctex/style/url.elc | Bin
{style => etc/auctex/style}/varioref.el | 0
etc/auctex/style/varioref.elc | Bin
{style => etc/auctex/style}/verbatim.el | 0
etc/auctex/style/verbatim.elc | Bin
{style => etc/auctex/style}/virtex.el | 0
etc/auctex/style/virtex.elc | Bin
{doc => info}/auctex.info | 0
{doc => info}/preview-latex.info | 0
lisp/auctex/_pkg.el | 5
lisp/auctex/auto-autoloads.el | 402 ++++++++++++++++++++
lisp/auctex/auto-autoloads.elc | Bin
bib-cite.el => lisp/auctex/bib-cite.el | 0
lisp/auctex/bib-cite.elc | Bin
context-en.el => lisp/auctex/context-en.el | 0
lisp/auctex/context-en.elc | Bin
context-nl.el => lisp/auctex/context-nl.el | 0
lisp/auctex/context-nl.elc | Bin
context.el => lisp/auctex/context.el | 0
lisp/auctex/context.elc | Bin
lisp/auctex/custom-load.el | 47 ++
lisp/auctex/custom-load.elc | Bin
font-latex.el => lisp/auctex/font-latex.el | 0
lisp/auctex/font-latex.elc | Bin
latex.el => lisp/auctex/latex.el | 0
lisp/auctex/latex.elc | Bin
multi-prompt.el => lisp/auctex/multi-prompt.el | 0
lisp/auctex/multi-prompt.elc | Bin
{preview => lisp/auctex}/preview.el | 0
lisp/auctex/preview.elc | Bin
{preview => lisp/auctex}/prv-xemacs.el | 0
lisp/auctex/prv-xemacs.elc | Bin
tex-bar.el => lisp/auctex/tex-bar.el | 0
lisp/auctex/tex-bar.elc | Bin
tex-buf.el => lisp/auctex/tex-buf.el | 0
lisp/auctex/tex-buf.elc | Bin
tex-fold.el => lisp/auctex/tex-fold.el | 0
lisp/auctex/tex-fold.elc | Bin
tex-font.el => lisp/auctex/tex-font.el | 0
lisp/auctex/tex-font.elc | Bin
tex-fptex.el => lisp/auctex/tex-fptex.el | 0
lisp/auctex/tex-fptex.elc | Bin
tex-info.el => lisp/auctex/tex-info.el | 0
lisp/auctex/tex-info.elc | Bin
tex-jp.el => lisp/auctex/tex-jp.el | 0
lisp/auctex/tex-jp.elc | Bin
tex-mik.el => lisp/auctex/tex-mik.el | 0
lisp/auctex/tex-mik.elc | Bin
tex-style.el => lisp/auctex/tex-style.el | 0
lisp/auctex/tex-style.elc | Bin
tex.el => lisp/auctex/tex.el | 0
lisp/auctex/tex.elc | Bin
texmathp.el => lisp/auctex/texmathp.el | 0
lisp/auctex/texmathp.elc | Bin
toolbar-x.el => lisp/auctex/toolbar-x.el | 0
lisp/auctex/toolbar-x.elc | Bin
RELEASE => man/auctex/RELEASE | 0
{doc => man/auctex}/auctex.texi | 0
{doc => man/auctex}/changes.texi | 0
{doc => man/auctex}/copying.texi | 0
{doc => man/auctex}/faq.texi | 0
{doc => man/auctex}/fdl.texi | 0
{doc => man/auctex}/install.texi | 0
{doc => man/auctex}/intro.texi | 0
{doc => man/auctex}/macros.texi | 0
{doc => man/auctex}/preview-dtxdoc.texi | 0
{doc => man/auctex}/preview-faq.texi | 0
{doc => man/auctex}/preview-latex.texi | 0
{doc => man/auctex}/preview-problems.texi | 0
{doc => man/auctex}/preview-readme.texi | 0
{doc => man/auctex}/preview-todo.texi | 0
{doc => man/auctex}/quickstart.texi | 0
{doc => man/auctex}/tex-ref.tex | 0
{doc => man/auctex}/todo.texi | 0
{doc => man/auctex}/version.texi | 0
{doc => man/auctex}/wininstall.texi | 0
pkginfo/MANIFEST.auctex | 280 ++++++++++++++
293 files changed, 1571 insertions(+), 0 deletions(-)
However, this does require some familiarity with both the
infrastructure and the AUCTeX distribution, and as far as I know
there currently is nobody with both.
Nonsense. It requires the AUCTeX distribution, the XEmacs package
file, and a comparison tool.
And actually, it does not really require even that. It suffices to
take the finished XEmacs package distributed by AUCTeX, since that
contains everything that is to end up in the XEmacs package from Sumo,
in the right places. The rest is fluff. It is an illusion to imagine
that taking the identical files from the source tarball instead of
AUCTeX's binary XEmacs package is somehow going to make a legal
difference: the copyrightable content is the same. In either case,
XEmacs central decides that it needs not distribute the build
infrastructure (whether from AUCTeX or from XEmacs) along with the
binary package in order to comply with the GPL.
The only part in the above file list that is harder than moving stuff
around and using the normal XEmacs mechanisms (or taking a
pregenerated file created by AUCTeX upstream mechanically without
copyrightable content, with scripts that XEmacs central does not
consider "source code" anyway and would not distribute), is to
generate the unpacked files and documentation from preview.dtx (you
need a basic LaTeX distro for that). And you need to do that only if
you insist on ignoring the XEmacs package provided upstream.
--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta