Bug 163914 - [MAINTAINER] lang/gnat-aux: Upgrade to gcc-4.6.2, add fortran and ObjC langs
Summary: [MAINTAINER] lang/gnat-aux: Upgrade to gcc-4.6.2, add fortran and ObjC langs
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Frederic Culot
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-01-08 12:40 UTC by John Marino
Modified: 2012-01-12 14:30 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John Marino 2012-01-08 12:40:05 UTC
This is a port upgrade.  Obvious improvements:

1) Upgrades sync from gcc 4.6.1-RELEASE to gcc-4.6.2-RELEASE
2) Adds capability to build fortran
3) Adds capability to build Objective-C
4) Sets default to build all five languages (Ada, C, C++, ObjC, Fortran)
5) Fortran and ObjC testsuites added

Behind the scenes:
1) Previously GNAT-Aux was built from a custom tarball provided by dragonlace.net.  Now real gcc source tarballs are used, and then patched.
2) The standard patch mechanism is not used.  Composite diff files generated and provided by dragonlace.net are applied as needed.
3) This might be the only gcc in ports that doesn't use the monolithic gcc tarball but rather the individual tarballs (e.g. g++, fortran, testsuite) that are downloaded and extracted as specified by the set options.
4) libstdc++ can't break during testing (forced evaluation to true)
5) This sets the stage to sync GNAT-Aux with gcc 4.7.0 when its released

What changed:
modified: Makefile
modified: distinfo
modified: pkg-plist
deleted:  files/patch-gcc__ada__* (three)
added:    files/diff-* (seven)

The new diff-* files are 722kb combined, so a compressed tarball is being provided externally rather than attach a patch file to this PR.

Fix: 

replace the current lang/gnat-aux port with this one:
http://leaf.dragonflybsd.org/~marino/freebsd/freebsd.gnat-aux.462.tar.bz2
Comment 1 John Marino 2012-01-08 12:50:42 UTC
I forgot to mention the testing I've done:
Passes Tinderbox, FreeBSD 8.2 AMD64
Passes Tinderbox, FreeBSD 9.0 AMD64 (jail rebuilt yesterday)
Built on FreeBSD 8.0 i386 (virtualbox), appeared normal.
Comment 2 Frederic Culot freebsd_committer freebsd_triage 2012-01-10 14:15:54 UTC
Responsible Changed
From-To: freebsd-ports-bugs->culot

I'll take it.
Comment 3 Frederic Culot freebsd_committer freebsd_triage 2012-01-11 08:02:25 UTC
Hi John,

Thanks for your impressive work on the gnat-aux port.
I've run your update through tinderbox and it appears there are three
extra files in the pkg-plist which are not present in the package.

Could you please have a look at the very end of the following log
and confirm that these 3 entries could be deleted from the pkg-plist?

http://people.freebsd.org/~culot/tinderbox/8.2-FreeBSD/gnat-aux-20111026.log

Thanks again John!

Frederic
Comment 4 John Marino 2012-01-11 10:47:33 UTC
On 1/11/2012 9:02 AM, Frederic Culot wrote:
> Hi John,
> 
> Thanks for your impressive work on the gnat-aux port. I've run your
> update through tinderbox and it appears there are three extra files
> in the pkg-plist which are not present in the package.
> 
> Could you please have a look at the very end of the following log and
> confirm that these 3 entries could be deleted from the pkg-plist?
> 
> http://people.freebsd.org/~culot/tinderbox/8.2-FreeBSD/gnat-aux-20111026.log
>
>  Thanks again John!
> 
> Frederic

Hi Frederic,
As soon as you said "three files", I knew exactly which ones they were.
 According to the link you provided, the files are getting installed:

> /usr/bin/install -c -m 644 gdb.py
> /usr/local/lib/libstdc++.so.6-gdb.py test -z
> "/usr/local/share/gcc-4.6.2/python" ||
> /work/a/ports/lang/gnat-aux/work/gcc-4.6.2/libstdc++-v3/../install-sh
> -c -d "/usr/local/share/gcc-4.6.2/python" 
> /work/a/ports/lang/gnat-aux/work/gcc-4.6.2/libstdc++-v3/../install-sh
> -c -d '/usr/local/share/gcc-4.6.2/python/libstdcxx' /usr/bin/install
> -c -m 644
> /work/a/ports/lang/gnat-aux/work/gcc-4.6.2/libstdc++-v3/python/libstdcxx/__init__.py
> '/usr/local/share/gcc-4.6.2/python/libstdcxx' 
> /work/a/ports/lang/gnat-aux/work/gcc-4.6.2/libstdc++-v3/../install-sh
> -c -d '/usr/local/share/gcc-4.6.2/python/libstdcxx/v6' 
> /usr/bin/install -c -m 644
> /work/a/ports/lang/gnat-aux/work/gcc-4.6.2/libstdc++-v3/python/libstdcxx/v6/printers.py
> /work/a/ports/lang/gnat-aux/work/gcc-4.6.2/libstdc++-v3/python/libstdcxx/v6/__init__.py
> '/usr/local/share/gcc-4.6.2/python/libstdcxx/v6'


Maybe these files are not actually being created and these install
attempts are really failing.  The problem is that these files are
getting created in pkgsrc and also they are present in freebsd's
lang/gcc46.  I would guess these files build conditionally in the
presence of python.

I guess there's two approaches we can take here:
1) add this to the makefile generated part of the PLIST. That way if the
files do get created in a real environment, they are still accounted for.
2) Just remove them from PLIST.  That will pass tinderbox but I think it
would leave these three files orphaned in some systems.

What do you think is the best approach?
John
Comment 5 Frederic Culot freebsd_committer freebsd_triage 2012-01-11 13:24:31 UTC
> I guess there's two approaches we can take here:
> 1) add this to the makefile generated part of the PLIST. That way if the
> files do get created in a real environment, they are still accounted for.

This is the best approach!

Frederic
Comment 6 John Marino 2012-01-11 21:20:31 UTC
On 1/11/2012 2:24 PM, Frederic Culot wrote:
> 
>> I guess there's two approaches we can take here: 1) add this to the
>> makefile generated part of the PLIST. That way if the files do get
>> created in a real environment, they are still accounted for.
> 
> This is the best approach!
> 
> Frederic

Hi Frederic,
Your first suggestion to remove the 3 files from the PLIST is actually
the correct one.  It turns out that these files were on the PLIST twice,
once on pkg-plist and once in the generated plist.  I already accounted
for them with lines 131 and 278:
131: LSHRPATH=	share/gcc-${GCC_VERSION}
278: .for d in ${LPATH} ${LEPATH} ${LCXXPATH} ${LSHRPATH}

So removing lines 43-45 from the pkg-plist is a good fix.

Regards,
John
Comment 7 dfilter service freebsd_committer freebsd_triage 2012-01-12 14:24:46 UTC
culot       2012-01-12 14:24:37 UTC

  FreeBSD ports repository

  Modified files:
    lang/gnat-aux        Makefile distinfo pkg-plist 
  Added files:
    lang/gnat-aux/files  diff-ada diff-ada-testsuite diff-core 
                         diff-cxx diff-cxx-testsuite diff-fortran 
                         diff-fortran-testsuite diff-gcc-testsuite 
  Removed files:
    lang/gnat-aux/files  patch-gcc__ada__adaint.c 
                         patch-gcc__ada__g-trasym-bsd.adb 
                         patch-gcc__ada__gccint__Makefile.in 
  Log:
  - Update to 20111026 (corresponding to gcc 4.6.2)
  - Set default options to build all five languages (Ada, C, C++, ObjC, Fortran)
  
  Maintainer notes:
  - Previously GNAT-Aux was built from a custom tarball provided by dragonlace.net.
  Now real gcc source tarballs are used, and then patched.
  - The standard patch mechanism is not used. Composite diff files generated and
  provided by dragonlace.net are applied as needed.
  - This sets the stage to sync GNAT-Aux with gcc 4.7.0 when its released.
  
  PR:             ports/163914
  Submitted by:   John Marino <draco@marino.st> (maintainer)
  
  Revision  Changes    Path
  1.7       +89 -30    ports/lang/gnat-aux/Makefile
  1.5       +12 -2     ports/lang/gnat-aux/distinfo
  1.1       +9755 -0   ports/lang/gnat-aux/files/diff-ada (new)
  1.1       +190 -0    ports/lang/gnat-aux/files/diff-ada-testsuite (new)
  1.1       +1903 -0   ports/lang/gnat-aux/files/diff-core (new)
  1.1       +917 -0    ports/lang/gnat-aux/files/diff-cxx (new)
  1.1       +4547 -0   ports/lang/gnat-aux/files/diff-cxx-testsuite (new)
  1.1       +54 -0     ports/lang/gnat-aux/files/diff-fortran (new)
  1.1       +31 -0     ports/lang/gnat-aux/files/diff-fortran-testsuite (new)
  1.1       +10 -0     ports/lang/gnat-aux/files/diff-gcc-testsuite (new)
  1.2       +0 -279    ports/lang/gnat-aux/files/patch-gcc__ada__adaint.c (dead)
  1.2       +0 -153    ports/lang/gnat-aux/files/patch-gcc__ada__g-trasym-bsd.adb (dead)
  1.2       +0 -101    ports/lang/gnat-aux/files/patch-gcc__ada__gccint__Makefile.in (dead)
  1.3       +24 -13    ports/lang/gnat-aux/pkg-plist
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 8 Frederic Culot freebsd_committer freebsd_triage 2012-01-12 14:25:34 UTC
State Changed
From-To: open->closed

Committed. Thanks!