pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: pkgsrc/lang/gcc3-java



On 7/19/2012 06:55, David Holland wrote:
On Sun, Jul 15, 2012 at 09:59:06AM +0200, John Marino wrote:
  >  >Removed Files:
  >  >    pkgsrc/lang/gcc3-java: DESCR Makefile PLIST buildlink3.mk
  >  >
  >  >Log Message:
  >  >Remove gcc3-java as promised. Has not been buildable for years, if ever,
  >  >and various attempts to fix it have failed. Plus, gcc3 is highly obsolete
  >  >at this point and it's hardly worth spending effort on this. I believe
  >  >gcc-java support is available in most or all of the gcc4 packages.
  >
  >  Might I suggest removing lang/gcc34-ada as well?

I thought we'd already decided (back in like January) that you'd do
that when you were ready to.

I didn't recall the conversation well, but I found a copy of it:
http://mail-index.netbsd.org/pkgsrc-bugs/2012/01/22/msg046220.html

Since that post, not only does lang/gnat-aux build 4 other language by default now (based on gcc 4.6), but lang/gcc-aux has been published as well. It's based on on gcc 4.7, supports Ada, Fortran, C, C++, and ObjC with excellent results on the testsuite. Since it was built with same directory structure as the other lang/gccXX packages, it was possible to incorporate gcc-aux into mk/compiler/gcc.mk and support USE_LANGUAGES+= Ada.

That final bit was enough to upgrade devel/florist. As far as I know, all the Ada programs are built with gcc-aux. My main hesitation back then was packages like florist would be orphaned, but there was only one package like that and it's been addressed.

I wouldn't remove a package myself, I was only opining on yes/no and when.



  >  Main reason for keeping it:
  >  The new Ada compilers won't build on NetBSD 4 or lower.
  >  They only build on x86 platforms, but I can't imagine
  >  lang/gcc34-ada ever built on anything else.  So the main reason to
  >  keep it is for NetBSD 4 users, but they have no packages they can
  >  build with it in the pkgsrc tree.

Does it actually build and work on netbsd-4?

I don't think very many people are still using netbsd-4 at all, let
alone with Ada, but it is still theoretically supported so it might be
better to wait until it's officially EOL.


No. The referenced posts mentions why. Part of the problems is NetBSD's 'clever' use of functions like socket getting renamed to __socket30. There are many major-release specific versions like that. In c, the headers like <sys/stat.h> and <socket.h> sort out what the real function name is but Ada doesn't use c headers when it's compiling. As a result, you have to hardcode stuff like __socket30 instead of socket into the build of GNAT and you have to account for every permutation. I had to create several netbsd-specific Ada files even to upgrade from release 5.0 to 6.0. No other unix-like platform has to be treated that way.

It probably wouldn't be impossible to support NetBSD 4, but it would be a very big undertaking. I certainty am not motivated to do it.

That said - I'd still recommend to kill the -ada packages for these reasons:
1) We already saw a person who wanted Ada gravitate to these packages before discovering gnat-aux and gcc-aux
2) The quality of the Ada compiler is completely unknown
3) I believe gcc34 also builds Ada with a provided Ada compiler. So theoretically NetBSD 4 still has an option.

so I'd recommend for now (not NetBSD 4 EOL):
1) kill gcc3-ada
2) kill gcc34-ada
3) remove references of gcc34-ada from gcc34 options.mk and anywhere else it's mentioned as a bootstrap compiler candidate.

But I'm recommending it, not saying I'll remove the package. I've taken too much flak this week already.

John



Home | Main Index | Thread Index | Old Index