Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 5 Nov 2003 20:18:59 +0000
From:      Matthew Seaman <m.seaman@infracaninophile.co.uk>
To:        Greg Lewis <glewis@eyesbeyond.com>
Cc:        freebsd-java@freebsd.org
Subject:   Re: Building Java ports from sources or not ?
Message-ID:  <20031105201859.GA53439@happy-idiot-talk.infracaninophile.co.uk>
In-Reply-To: <20031105174301.GA6153@misty.eyesbeyond.com>
References:  <20031104182139.GB37133@andouillette.esil.univ-mrs.fr> <20031105174301.GA6153@misty.eyesbeyond.com>

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

--BXVAT5kNtrzKuDFl
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 05, 2003 at 10:43:01AM -0700, Greg Lewis wrote:
> On Tue, Nov 04, 2003 at 07:21:39PM +0100, Herve Quiroz wrote:
> > I was wondering if it is actually relevant to try and build Java ports
> > from source. Indeed I used to agree with this policy (mostly because it
> > allows the user to be sure that all dependencies are installed as well)
> > but it is quite painful to maintain.
>=20
> Agreed.  I think that it would be good if ports could be built from
> source, but the reality is that this is quite painful for many of the
> Java ports for a variety of reasons.

Heh.  I thought that was what ports was all about: to take various
bits of software and have the porter do the tricky stuff one time in
order to make installing easy for the rest of us.

I considered this question when I was putting together the
mysql-connector-java stuff, although I decided in the end that it
would be an unnecessary complication.  Inserting an option so that the
user can choose to skip running javac and just copy the pre-compiled
=2Ejars would not be particularly onerous.

> > Some Java libraries have specific Ant tasks according to the JDK used to
> > build. In such a case, there is no problem. But most of the Java
> > libraries won't build on a JDK other than 1.4 altough they may be used
> > in a Java 1.3 environment (provided you don't use the 1.4 specific
> > features obviously).
>=20
> While reviewing the recently committed mysql-connector-java port, it was
> determined that 1.4 javadoc produces some additional files not produced by
> 1.3 javadoc.  This makes packing lists a bit of a pain.  More fuel for the
> fire.
>=20
> > That's why I would like this subject to be discussed, as I am planning
> > of porting dom4j, which is quite complex regarding the number of
> > dependencies (mandatory and optional ones).
> >=20
> > There's also the problem mentioned by someone else (I'm too lazy to
> > serch my mailbox sorry) regarding API docs related pkg-plist content
> > that differs from one JDK to another...
>=20
> See above.  This can be accounted for, but its an additional pain.

Oliver Eikemeier suggested that much the same approach as is used to
cope with texinfo .info files would be a good idea.  He's got some
code (ports/57753) that will build a pkg-plist dynamically, and that
should be easy enough to turn into an 'APIDOCS' macro in the same
style as the 'INFO' macro. =20
=20
> > ..and the problem where some libraries need to connect to some website
> > during build (often while building API docs), which disallow user to
> > install the port while he's offline (unless he use a package obviously).
> >=20
> > So do we need to agree on some common policy or is it a "per-case"
> > issue?
>=20
> I think it would be useful to have a general policy so that new porters
> can know which they should try and do.  This doesn't mean all ports have
> to go one way or the other, but as much consistency as possible is good.

A good thing to do might be to choose some canonical java port or
ports that illustrate as many of the questions as possible and dissect
and annotate the Makefile and other files within the ports as an
example of "how to do a java port".  The Porter's Handbook would be
the place to keep this documentation.
=20
> Question.  Does anyone know what NetBSD, OpenBSD or Gentoo Linux do for
> Java ports and whether they have a policy on this?

Or Darwin, for that matter: although the only obviously Java thing I
can see on a cursory inspection is their JBoss port, which they do
build from source.  I suspect that the answer most of the time for the
*BSDs will be "we copied the way FreeBSD ports did it"...

	Cheers,

	Matthew

--=20
Dr Matthew J Seaman MA, D.Phil.                       26 The Paddocks
                                                      Savill Way
PGP: http://www.infracaninophile.co.uk/pgpkey         Marlow
Tel: +44 1628 476614                                  Bucks., SL7 1TH UK

--BXVAT5kNtrzKuDFl
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (FreeBSD)

iD8DBQE/qVszdtESqEQa7a0RAnbDAJ9RjTsQHr6cCX+Lzc+VhBZkFLhqOQCfWI8p
K+RI6Lhpn4bQAXh+yNmwD2U=
=OAex
-----END PGP SIGNATURE-----

--BXVAT5kNtrzKuDFl--



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