Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 Dec 2008 14:10:12 +0100
From:      Romain =?iso-8859-1?Q?Tarti=E8re?= <romain@blogreen.org>
To:        freebsd-ports@FreeBSD.org, freebsd-wip-status@FreeBSD.org
Subject:   TeXLive
Message-ID:  <20081224131012.GA8392@blogreen.org>

next in thread | raw e-mail | index | archive | help

--opJtzjQTFsWo+cga
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi!

There have been numerous mails about adding ports for TeXLive to FreeBSD
[1,2,3,4], unfortunately, nothing is available so far.


Since I really think TeXLive can be a plus for FreeBSD, and because I
use TeXLive on another system, I started another effort to bring it to
the ports tree.  In order to avoid loosing everything if I run out of
time, I created a Google code project for working:

http://code.google.com/p/freebsd-texlive/


Currently, I have all TeXLive binaries compiling from source
(installation is still not perfect though) and quite a precise idea of
how all TeXLive distfiles are organised and how to build FreeBSD ports
from the metadata they enclose (refer to the project's wiki for details,
I am trying to dump all there [5]).


I am now facing the problem of the organisation of the ports to create.
The freebsd-ports archives reveal some interesting points:

1. TeXLive should be very modular

	It is then possible to run a  version of XeTeX more recent then
	the one provided with TeXLive (i.e. compile TeXLive
	--without-xetex and depend on a port print/xetex-devel).


2. TeXLive should be provided as 3-4 packages just like teTeX

	It is the way teTeX fits in the FreeBSD ports tree, and TeXLive
	is then kind-of a drop-in replacement of teTeX.


3. TeXLive should be provided as ~10 packages

	TeXLive is too big to be included as just 3-4 packages, but
	splitting everything will create 100's of ports and this will be
	a mess. So group all in say 10 ports and it will be a good
	compromise.

4. TeXLive should be provided as many many small packages

	If I need a package, I don't want to install a set of thousands
	of packages to have it: I just want it to be available and
	install it.


If we consider that ports are build from source, it important to know
that TeXLive provide a single tarball for all applications binaries
source code. All the rest (macros, fonts, etc.) is provided as a lot of
small tarball.  As a consequence, I see #1 as =C2=AB Split the applications
=C2=BB, and #2, #3 and #4 as =C2=AB Split the rest =C2=BB. But maybe the qu=
estion is
more about =C2=AB Split both =C2=BB.



For now, I do not intend to make the port that install all binaries a
meta-port (so no #1).  It is quite huge and complex, include modified
version of libraries that are statically linked to the binaries, ...
well, I don't want to spend time on this right now (maybe in the future
but unsure =E2=80=94 However, contributions are welcomed).



Splitting the rest (#2, #3, #4) is another problem: I am convinced that
is is important to have very low granularity for experienced users: as
an unexperienced TeX user, I would need this, so I guess that anybody
with more skills than I have will think the same.

But having a lot of ports does not necessarily leads to complexity to
beginners, since we can provide meta-ports (just like Xorg).

The big picture: TeXLive provide 5229 packages ...

Well... We can remove more than 1200 packages of binaries for various
platforms, and there is still distfiles related to the TeXLive
installation system that are not needed on FreeBSD.

So basically, we have 4000 distfiles to arrange in ports.

Some of the distfiles are sort of meta-packages, this helps grouping
[5, Categories].  Here are some ports organisation possibilities:

 1. One port per Scheme (10 ports)
   + very few ports;
   - low granularity;
   - each port conflict with others.

 2. One port per Collection (84 ports) + One meta-port per Scheme (10
    Meta-ports)
   + no conflict (AFAIK);
   - low granularity.

 3. One port per Package, grouping related packages (e.g. foo,
    foo.source and foo.doc) (/[0-9]{4}/ ports) + meta-port for
    Collections (84 meta-ports) + meta-port for Scheme (10 meta-ports)
   + high granularity;
   + no conflict;
   - many ports.

 4. Same as #3 without grouping packages
   + highest granularity;
   - many many ports.


I am in favor of #3 since it allows TeXLive users to install a basic set
that fit their needs (a beginner will install the full scheme
meta-package and have everything, another will choose a minimal scheme,
another will directory install the collections he wants, it is possible
to install a particular package without installing loads of other
packages (say you have a document that use svninfo for example and you
don't have / want collection-latexextra)).

I would however be pleased to read what teTeX/TeXLive [future] users
think about all this.


With kind regards,
Romain


References:
  1. http://lists.freebsd.org/pipermail/freebsd-ports/2007-July/042729.html
  2. http://lists.freebsd.org/pipermail/freebsd-ports/2007-December/045860.=
html
  3. http://lists.freebsd.org/pipermail/freebsd-questions/2007-October/1614=
92.html
  4. http://lists.freebsd.org/pipermail/freebsd-advocacy/2003-November/0007=
05.html
  5. http://code.google.com/p/freebsd-texlive/wiki/source

--=20
Romain Tarti=C3=A8re <romain@blogreen.org>        http://romain.blogreen.or=
g/
pgp: 8DAB A124 0DA4 7024 F82A  E748 D8E9 A33F FF56 FF43 (ID: 0xFF56FF43)
(plain text =3Dnon-HTML=3D PGP/GPG encrypted/signed e-mail much appreciated)

--opJtzjQTFsWo+cga
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (FreeBSD)

iEYEARECAAYFAklSNLQACgkQ2OmjP/9W/0ODfwCeI5LItGuezw8MUXUCY/dZ8DTq
uKUAn0uzYAeBa4oy5FkP3xE78L1IjaUP
=M7Oi
-----END PGP SIGNATURE-----

--opJtzjQTFsWo+cga--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20081224131012.GA8392>