Re: [Fink-devel] gcc4x/gcc4x-compiler packages

2010-04-28 Thread Jack Howarth
Daniel,
   Why do you say that 'info /sw/share/info/gcc-fsf-4.5' is
need? With my currently proposed packaging a simple
'info gcc-fsf-4.5' is sufficient to find the renamed info
file in /sw/share/info with or without the main gcc45
symlink package installed.
Jack

--
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] gcc4x/gcc4x-compiler packages

2010-04-28 Thread Daniel Macks
On Wed, Apr 28, 2010 at 09:15:18AM -0400, Jack Howarth wrote:
 Daniel,
Why do you say that 'info /sw/share/info/gcc-fsf-4.5' is
 need? With my currently proposed packaging a simple
 'info gcc-fsf-4.5' is sufficient to find the renamed info
 file in /sw/share/info with or without the main gcc45
 symlink package installed.

As mentioned several email ago, xrefs from one .info to another. For
example, in the gcj info page in the Invoking gcj node is a link
to the Option Summary node of the gcc info page. You have gcj at
gcj-fsf-4.5 and gcc at gcc-fsf-4.5. If I don't have gcc4.5 installed,
then I only have gcc-fsf-4.5 (not gcc) and the link is broken. If I
have gcc4.4 (or any other than 4.5 gcc) installed, then the link
goes to *that* gcc, not the 4.5 one (i.e., gcj-fsf-4.5 is sending me
to a symlink to gcc-fsf-4.4 rather than gcc-fsf-4.5). That's the
problem I'm trying to solve. If the documentation isn't
self-consistent (from the perspective of the reader), it's not
useful/usable.

dan

-- 
Daniel Macks
dma...@netspace.org
http://www.netspace.org/~dmacks


--
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] gcc4x/gcc4x-compiler packages

2010-04-27 Thread Peter O'Gorman
On 04/27/2010 12:08 AM, Jack Howarth wrote:
   I've posted test packaging for a gcc45-4.5.0-1001
 and gcc45-compiler-4.5-1 package on fink tracking...
 
 https://sourceforge.net/tracker/?func=detailaid=2992713group_id=17203atid=414256
 
 The new gcc45 packaging...
 
 1) Moves all of the currently conflicting files between the gcc4x packages
 into a new gcc4x-compiler package which recreates them with symlinks.
 2) Builds the compiler programs with the -fsf-4.x suffix and presents these
 program names in %p/bin via symlinks in the main gcc4x package.
 3) Provides all of the original program names in %p/lib/gcc4.x/bin.
 
 I've tested this packaging by upgrading from the previous gcc45-4.5.0-1000
 proposed packaging. A test gcc46 package of the same type was also used to
 verify that the gcc45/gcc46 packages properly co-exist and that the two
 gcc45-compiler/gcc46-compiler packages properly switch the default FSF gcc
 system compiler in %p/bin as well as the associated man and info pages.
Jack

Hi Jack,

I don't get it. Why create a new -compiler package with the old compiler
names as symlinks and require everyone to modify their builddepends?

Can you not do it all in one .info file, install all the symlinks in
your installscript, and then splitoff the -shlibs and the real
compilers etc., leaving only the old symlinks in the gcc45 package. This
would keep compatibility with the current packaging while allowing all
the real compilers to be simultaneously installed.

i.e.

gcc45 package contains all the links you have just put in gcc45-compiler
gcc45-shlibs contains all the shlibs
gcc45-toolchain (or some better name) has everything else.

Sorry, I thought that was what you were planning to do, or I would have
mentioned it yesterday.

Peter

--
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] gcc4x/gcc4x-compiler packages

2010-04-27 Thread Jack Howarth
On Tue, Apr 27, 2010 at 09:24:42AM -0500, Peter O'Gorman wrote:
 On 04/27/2010 12:08 AM, Jack Howarth wrote:
I've posted test packaging for a gcc45-4.5.0-1001
  and gcc45-compiler-4.5-1 package on fink tracking...
  
  https://sourceforge.net/tracker/?func=detailaid=2992713group_id=17203atid=414256
  
  The new gcc45 packaging...
  
  1) Moves all of the currently conflicting files between the gcc4x packages
  into a new gcc4x-compiler package which recreates them with symlinks.
  2) Builds the compiler programs with the -fsf-4.x suffix and presents these
  program names in %p/bin via symlinks in the main gcc4x package.
  3) Provides all of the original program names in %p/lib/gcc4.x/bin.
  
  I've tested this packaging by upgrading from the previous gcc45-4.5.0-1000
  proposed packaging. A test gcc46 package of the same type was also used to
  verify that the gcc45/gcc46 packages properly co-exist and that the two
  gcc45-compiler/gcc46-compiler packages properly switch the default FSF gcc
  system compiler in %p/bin as well as the associated man and info pages.
 Jack
 
 Hi Jack,
 
 I don't get it. Why create a new -compiler package with the old compiler
 names as symlinks and require everyone to modify their builddepends?
 
 Can you not do it all in one .info file, install all the symlinks in
 your installscript, and then splitoff the -shlibs and the real
 compilers etc., leaving only the old symlinks in the gcc45 package. This
 would keep compatibility with the current packaging while allowing all
 the real compilers to be simultaneously installed.
 
 i.e.
 
 gcc45 package contains all the links you have just put in gcc45-compiler
 gcc45-shlibs contains all the shlibs
 gcc45-toolchain (or some better name) has everything else.
 
 Sorry, I thought that was what you were planning to do, or I would have
 mentioned it yesterday.
 
 Peter

Peter,
   The problem is that the current handling of dependencies in
fink doesn't allow that. Read the thread Could not resolve inconsistent 
dependencies in the fink-devel mailing list. It is impossible to
come up with a split-off strategy that allows for clean upgrades
from the existing gcc4x packages. If there is a lot of push-back
against changing the current and prior gcc4x packages in the same
manner, we could just start this with gcc45 and all future gcc4x
releases. 
   To recap, the problem with using a single package with split-off
strategy is that both gcc4x and gcc4x-bin would require a Conflicts/
Replaces on the older gcc4x packages which have overlapping files.
This is because the older gcc4x packages can't know that they are
are able co-exist with the newer gcc4x package and will Conflict with it.
This causes dependency failures for fink in the absence of an explicit
Conflicts/Replaces in the new gcc4x package (which is impossible
since gcc4x-bin also needs that). The solution is to move the overlapping
files out of gcc4x into a gcc4x-compiler package and have the new gcc4x
package Conflicts/Replaces with the older gcc4x packages 
while the gcc4x-compiler package Depends on a newer gcc4x package which
doesn't have overlapping files.
   When you actually start trying to run these upgrades yourself,
you see how impossible the single package approach is.
Jack
ps It isn't like this demands any significant effort from the other
developers. They can just change the existing BuildDepends from
gcc4x to gcc4x-compiler or leave the BuildDepends as gcc4x and
either change the compiler inovations from gcc-4 to gcc-fsf-4.x
or explicitly use the path %p/lin/gcc4.x/bin/gcc-4. I think I've
left everyone with plenty of options here.
   I would also note that we would probably be violating fink policy by
trying to add a gcc4x-bin split-off that only contained symlinks.
Also, the reason I want to implement this change is that packages
that currently require the gcc4x package to be present (including
the upcoming dragonegg-gcc package) end up causing fink remove
failures with the use of one gcc4x package requires the removal
of another. My aim is for these packages to never have to be
deinstalled in order to switch the gcc4x in use for a particular
package build.

--
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] gcc4x/gcc4x-compiler packages

2010-04-27 Thread Jean-François Mertens

On 27 Apr 2010, at 17:43, Jack Howarth wrote:

   To recap, the problem with using a single package with split-off
 strategy is that both gcc4x and gcc4x-bin would require a Conflicts/
 Replaces on the older gcc4x packages which have overlapping files.
 This is because the older gcc4x packages can't know that they are
 are able co-exist with the newer gcc4x package and will Conflict  
 with it.
 This causes dependency failures for fink in the absence of an explicit

Jack _ I told you since the beginning (Re: co-existing gcc4x packages,  
april 25)  that it would be much simpler to keep the name gcc45 for  
the splitoff containing the symlinks _ This way, no need to bother  
other pkgs, and you
avoid the trouble you mention..

Jean-Francois

--
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] gcc4x/gcc4x-compiler packages

2010-04-27 Thread Jack Howarth
On Tue, Apr 27, 2010 at 05:57:11PM +0200, Jean-François Mertens wrote:

 On 27 Apr 2010, at 17:43, Jack Howarth wrote:

   To recap, the problem with using a single package with split-off
 strategy is that both gcc4x and gcc4x-bin would require a Conflicts/
 Replaces on the older gcc4x packages which have overlapping files.
 This is because the older gcc4x packages can't know that they are
 are able co-exist with the newer gcc4x package and will Conflict with 
 it.
 This causes dependency failures for fink in the absence of an explicit

 Jack _ I told you since the beginning (Re: co-existing gcc4x packages,  
 april 25)  that it would be much simpler to keep the name gcc45 for the 
 splitoff containing the symlinks _ This way, no need to bother other 
 pkgs, and you
 avoid the trouble you mention..

 Jean-Francois

JF,
   Isn't that going to be considered a massive violation of fink
policy for shared library packages? It's sort of like using
update-alternatives for manpages and info files. It can be done
but many here will find it more repulsive than having package
maintainers update the BuildDepends. Frankly, if it came down
to it, I would much rather start the new overlapping gcc4x
packages with gcc45 than hack up gcc4x by suctioning all of 
the files out of the main package.
Jack

--
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] gcc4x/gcc4x-compiler packages

2010-04-27 Thread Jean-François Mertens

On 27 Apr 2010, at 18:07, Jack Howarth wrote:

 On Tue, Apr 27, 2010 at 05:57:11PM +0200, Jean-François Mertens wrote:

 On 27 Apr 2010, at 17:43, Jack Howarth wrote:

  To recap, the problem with using a single package with split-off
 strategy is that both gcc4x and gcc4x-bin would require a Conflicts/
 Replaces on the older gcc4x packages which have overlapping files.
 This is because the older gcc4x packages can't know that they are
 are able co-exist with the newer gcc4x package and will Conflict  
 with
 it.
 This causes dependency failures for fink in the absence of an  
 explicit

 Jack _ I told you since the beginning (Re: co-existing gcc4x  
 packages,
 april 25)  that it would be much simpler to keep the name gcc45 for  
 the
 splitoff containing the symlinks _ This way, no need to bother other
 pkgs, and you
 avoid the trouble you mention..

 Jean-Francois

 JF,
   Isn't that going to be considered a massive violation of fink
 policy for shared library packages?
I don't see why..
 It's sort of like using
 update-alternatives for manpages and info files.
???
 It can be done
 but many here will find it more repulsive than having package
 maintainers update the BuildDepends.
Again, I don't see why ..

JF
--
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] gcc4x/gcc4x-compiler packages

2010-04-27 Thread Jack Howarth
On Tue, Apr 27, 2010 at 06:20:41PM +0200, Jean-François Mertens wrote:

 On 27 Apr 2010, at 18:07, Jack Howarth wrote:

 On Tue, Apr 27, 2010 at 05:57:11PM +0200, Jean-François Mertens wrote:

 On 27 Apr 2010, at 17:43, Jack Howarth wrote:

  To recap, the problem with using a single package with split-off
 strategy is that both gcc4x and gcc4x-bin would require a Conflicts/
 Replaces on the older gcc4x packages which have overlapping files.
 This is because the older gcc4x packages can't know that they are
 are able co-exist with the newer gcc4x package and will Conflict  
 with
 it.
 This causes dependency failures for fink in the absence of an  
 explicit

 Jack _ I told you since the beginning (Re: co-existing gcc4x  
 packages,
 april 25)  that it would be much simpler to keep the name gcc45 for  
 the
 splitoff containing the symlinks _ This way, no need to bother other
 pkgs, and you
 avoid the trouble you mention..

 Jean-Francois

 JF,
   Isn't that going to be considered a massive violation of fink
 policy for shared library packages?
 I don't see why..
 It's sort of like using
 update-alternatives for manpages and info files.

http://www.mail-archive.com/fink-devel@lists.sourceforge.net/msg19967.html

 ???
 It can be done
 but many here will find it more repulsive than having package
 maintainers update the BuildDepends.
 Again, I don't see why ..

http://www.finkproject.org/doc/packaging/policy.php?phpLang=en#sharedlibs

The approach you describe has never been implemented before and I
wouldn't want to be the first unless the core maintainers were okay with it.
Bascially, I would have to have...

SplitOff: 
Package: %N-bin
Files: 
bin
lib
share
 

If folks like Daniel Macks and Martin Costabel are okay with such
a radical departure from the usual file distribution in fink packages,
I can certainly rewrite the proposed packaging in that manner.
   Jack
ps It is still unclear to me how one would manage to remove the
overlapping files from %N-bin but recreate them in %N. I assume
I would have to use PostInstScripts in both %N and %N-bin. One
to add the overlapping files as symlinks in %N and another to
remove the overlapping files from %N-bin. How exactly do I
keep these from running into each other (ie %N removing the
overlapping files that %N-bin creates). The whole approach
just feels hackish to me.


 JF

--
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] gcc4x/gcc4x-compiler packages

2010-04-27 Thread Daniel Macks
On Tue, Apr 27, 2010 at 05:57:11PM +0200, Jean-Fran?ois Mertens wrote:
 
 On 27 Apr 2010, at 17:43, Jack Howarth wrote:
 
To recap, the problem with using a single package with split-off
  strategy is that both gcc4x and gcc4x-bin would require a Conflicts/
  Replaces on the older gcc4x packages which have overlapping files.
  This is because the older gcc4x packages can't know that they are
  are able co-exist with the newer gcc4x package and will Conflict  
  with it.
  This causes dependency failures for fink in the absence of an explicit
 
 Jack _ I told you since the beginning (Re: co-existing gcc4x packages,  
 april 25)  that it would be much simpler to keep the name gcc45 for  
 the splitoff containing the symlinks _ This way, no need to bother  
 other pkgs, and you
 avoid the trouble you mention..

That is the same layout/solution I was suggesting, which I think Jack
read backwards from the way I tried to describe. For example:

Currently:

  gcc4x:
Conflicts/Replaces all other gcc4x
Depends: gcc4x-shlibs
contents:
  compiler in lib/gcc4.x/ *1
  info/manpages in share/ *1
  symlinks from bin/ to lib/gcc4.x/ *2
splitoff:gcc4x-shlibs

*1 are the generic-name/collisions among different gcc4x that prevent
concurrent installation. It's the default compiler in the standard
visible location.

*2 are the actual compilers, in a subdir that is specific/named for
each different gcc4x package

I and I think jfm are suggesting moving *2 into a new package.

  gcc4x:
Conflicts/Replaces all other gcc4x
Depends: gcc4x-compiler
contents:
  compiler in lib/gcc4.x *1
  info/manpages in share *1
splitoff:gcc4x-compiler
  Replaces: gcc4x *3
  Depends: gcc4x-shlibs
  contents:
symlinks in bin to lib/gcc4.x
splitoff:gcc4x-shlibs

*3 is so that user can upgrade cleanly from the old gcc4x
package...allows new package to overwrite same-named files in old
package that are now supposed to be in new/different package.

Packages that currently have a dependency on gcc4x and rely on that to
supply a compiler in bin/ (i.e., the default PATH), well, that's still
true. And the manpages and texinfo files that are in the default doc
sets are in that same package. All the default stuff is a
self-consistent set in a single package. Obviously you can't default
to more than one gcc4x at a time...

But now, all the gcc4x-compiler packages are the actual compilers, and
because they are each in their own subdir in lib/, they can all be
installed concurrently. If a package really wants to, it can access
them there (adjusting its PATH or using absolute pathname to ignore
the default PATH and therefore not caring what gcc4x default
package--if any--is installed).

dan

-- 
Daniel Macks
dma...@netspace.org
http://www.netspace.org/~dmacks


--
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] gcc4x/gcc4x-compiler packages

2010-04-27 Thread Jean-François Mertens

On 27 Apr 2010, at 18:50, Jack Howarth wrote:

 Bascially, I would have to have...

 SplitOff: 
 Package: %N-bin
 Files: 
bin
No bin ; this the point : bin contains only symlinks, which go into  
gcc45
lib
share
 

JF

--
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] gcc4x/gcc4x-compiler packages

2010-04-27 Thread Daniel Macks
On Tue, Apr 27, 2010 at 12:50:43PM -0400, Jack Howarth wrote:
 On Tue, Apr 27, 2010 at 06:20:41PM +0200, Jean-Fran?ois Mertens wrote:
 
  On 27 Apr 2010, at 18:07, Jack Howarth wrote:
 
  On Tue, Apr 27, 2010 at 05:57:11PM +0200, Jean-Fran?ois Mertens wrote:
 
  On 27 Apr 2010, at 17:43, Jack Howarth wrote:
 
   To recap, the problem with using a single package with split-off
  strategy is that both gcc4x and gcc4x-bin would require a Conflicts/
  Replaces on the older gcc4x packages which have overlapping files.
  This is because the older gcc4x packages can't know that they are
  are able co-exist with the newer gcc4x package and will Conflict  
  with
  it.
  This causes dependency failures for fink in the absence of an  
  explicit
 
  Jack _ I told you since the beginning (Re: co-existing gcc4x  
  packages,
  april 25)  that it would be much simpler to keep the name gcc45 for  
  the
  splitoff containing the symlinks _ This way, no need to bother other
  pkgs, and you
  avoid the trouble you mention..
 
  Jean-Francois
 
  JF,
Isn't that going to be considered a massive violation of fink
  policy for shared library packages?
  I don't see why..
  It's sort of like using
  update-alternatives for manpages and info files.
 
 http://www.mail-archive.com/fink-devel@lists.sourceforge.net/msg19967.html
 
  ???
  It can be done
  but many here will find it more repulsive than having package
  maintainers update the BuildDepends.
  Again, I don't see why ..
 
 http://www.finkproject.org/doc/packaging/policy.php?phpLang=en#sharedlibs
 
 The approach you describe has never been implemented before and I
 wouldn't want to be the first unless the core maintainers were okay with it.

It's approximately how perl is set up. We have perlXXX as the
mutually-exclusive (generic filenames in default locations) package,
with perlXXX-core as the concurrently-installable (files or
directories named specifically for the XXX) back-end. Other packages
that are specific to a certain perl version have a dependency on the
perlXXX-core they want and access it as (for example) bin/perlX.X.X. A
package that would really need bin/perl, as a certain perl version
would have a dependency on perlXXX itself.

(other concerns snipped, some addressed others in agreement per my
other email a few minute ago--things are laggy here:(.

dan

-- 
Daniel Macks
dma...@netspace.org
http://www.netspace.org/~dmacks


--
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] gcc4x/gcc4x-compiler packages

2010-04-27 Thread Jack Howarth
JF,
  Okay. Untested gcc45-x86_64.info with a gcc45-compiler
splitoff. Still needs the libffi update-alternatives.
 Jack

Info2: 
Package: gcc45
Version: 4.5.0
Revision: 1001
Source: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%v/gcc-%v.tar.bz2
Source-MD5: ff27b7c4a5d5060c8a8543a44abca31f
Source2: ftp://sourceware.org/pub/java/ecj-latest.jar
Source2-MD5: fd299f26c02268878b5d6c0e86f57c43
PatchFile: %n.patch
PatchFile-MD5: 8f46507fc8892e65cb23d0097bcd791d
Distribution: 10.5, 10.6
Type: -64bit .
Architecture: x86_64
NoSetCPPFLAGS: True
NoSetLDFLAGS: True
Conflicts: gcc42, gcc43, gcc44, gcc46
Replaces: gcc42, gcc43, gcc44, gcc46
Depends: gmp-shlibs (= 4.3.1-1000), libgmpxx-shlibs (= 4.3.1-1000), 
libmpfr1-shlibs (= 2.4.1-1), %N-compiler (= %v-%r), libiconv, 
libgettext8-shlibs, ppl-shlibs (= 0.10.2-1), cloog-shlibs (= 0.15.9-1), 
libmpc2-shlibs (= 0.8-1), xcode (= 3.1.2)
BuildDepends: gmp (= 4.3.1-1000), libmpfr1 (= 2.4.1-1), libiconv-dev, 
gettext-tools, libgettext8-dev, ppl (= 0.10.2-1), cloog (= 0.15.9-1), libmpc2 
(= 0.8-1),  xcode (= 3.1.2), fink (= 0.27.2)
ConfigureParams: 
 --prefix=%p/lib/gcc4.5 --mandir=%p/share/man --infodir=%p/share/info  
--enable-languages=c,c++,fortran,objc,obj-c++,java \
 --with-gmp=%p --with-libiconv-prefix=%p --with-ppl=%p --with-cloog=%p 
--with-mpc=%p --with-system-zlib \
 --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib 
--program-suffix=-fsf-4.5

CompileScript: 
 #!/bin/bash -ev
 set +x
 if [ -e /usr/local/lib/libgmp.a ] || [ -e /usr/local/lib/libgmp.dylib ]; then
echo -WARNING-WARNING-WARNING-
echo You seem to have GMP installed in /usr/local.
echo This is known to cause %N to fail to build.
echo Please move aside /usr/local and try again.
echo -WARNING-WARNING-WARNING-
exit 1
 fi
 set -x
 ulimit -s `ulimit -s`
 mv ../ecj-latest.jar ecj.jar
 mkdir ../darwin_objdir
 cd ../darwin_objdir
 ../gcc-%v/configure %c
 num_cpu=$(echo `sysctl -n hw.ncpu`)
 make -j $num_cpu
 ##  make check requires autogen, dejagnu and expect, and should be run, in 
darwin_objdir, after install.
 ##  on 32-bit processors use
 # make -k check
 ##  on 64-bit processors use
 # make -k check RUNTESTFLAGS=--target_board=unix'{-m32,-m64}'

InstallScript: 
 #!/bin/sh -ev
 darwinvers=`uname -r`
 cd ../darwin_objdir
 make install DESTDIR=%d 
 mkdir -p %i/bin

 # Add symlinks to recreate previous naming of executables
 # in %p/lib/gcc4.5/bin and new -fsf-4.5 naming in %p/bin.
 binfiles=gcc g++ c++ cpp gcov
 for binfile in $binfiles ; do
   ln -s %p/lib/gcc4.5/bin/$binfile-fsf-4.5 %i/lib/gcc4.5/bin/$binfile-4
   ln -s %p/lib/gcc4.5/bin/$binfile-fsf-4.5 %i/bin/$binfile-4
   ln -s %p/lib/gcc4.5/bin/$binfile-fsf-4.5 %i/bin/$binfile-fsf-4.5
 done
 binfiles=gfortran gcj gcj-dbtool gcjh gij gjnih grmiregistry grmic jcf-dump 
jv-convert jv-scan
 for binfile in $binfiles ; do
   ln -s %p/lib/gcc4.5/bin/$binfile-fsf-4.5 %i/lib/gcc4.5/bin/$binfile
   ln -s  %p/lib/gcc4.5/bin/$binfile-fsf-4.5 %i/bin/$binfile
   ln -s %p/lib/gcc4.5/bin/$binfile-fsf-4.5 %i/bin/$binfile-fsf-4.5
 done

 # Add symlinks for manpages under old names.
  man1files=cpp g++ gcc gcov
  for man1file in $man1files ; do
ln -s %p/share/man/man1/$man1file-fsf-4.5.1 %i/share/man/man1/$man1file-4.1
  done
  man1files=aot-compile gappletviewer gc-analyze gcj-dbtool gcj gcjh gfortran 
gij gjar gjarsigner gjavah gjdoc gkeytool gnative2ascii gorbd grmic grmid 
grmiregistry gserialver gtnameserv jcf-dump jv-convert rebuild-gcj-db
  for man1file in $man1files ; do
ln -s %p/share/man/man1/$man1file-fsf-4.5.1 %i/share/man/man1/$man1file.1
  done
  man3files=ffi ffi_call ffi_prep_cif
  for man3file in $man3files ; do
ln -s %p/man/man3/$man3file-fsf-4.5.3 %i/share/man/man3/$man3file.3
  done

 # Rename manpages with -fsf-4.5 suffix and create symlinks to old names. 
 man7files=fsf-funding gfdl gpl
 for man7file in $man7files ; do
   mv %i/share/man/man7/$man7file.7 %i/share/man/man7/$man7file-fsf-4.5.7 
   ln -s %p/share/man/man7/$man7file-fsf-4.5.7 %i/share/man/man7/$man7file.7
 done

 # Rename info files with -fsf-4.5 suffix.
 infofiles=cp-tools cpp cppinternals gcc gccinstall gccint gcj gfortran 
libgomp
  for infofile in $infofiles ; do
   mv %i/share/info/$infofile.info %i/share/info/$infofile-fsf-4.5.info
 done

 # Add symlinks for info files under old names.
 infofiles=cpp gcc
 for infofile in $infofiles ; do
   ln -s %p/share/info/$infofile-fsf-4.5.info %i/share/info/$infofile-4.info
 done
 infofiles=cp-tools cppinternals gccinstall gccint gcj gfortran libgomp
 for infofile in $infofiles ; do
   ln -s %p/share/info/$infofile-fsf-4.5.info %i/share/info/$infofile.info
 done

 cp %b/gcc/config/darwin-sections.def 
%i/lib/gcc4.5/lib/gcc/%m-apple-darwin${darwinvers}/%v/plugin/include/config
 # remove build path from .la files
 perl -pi -e s, \-L[^ ']*/%n-%v-%r/darwin_objdir/[^ ']*,,g `find 
%i/lib/gcc4.5/lib -name '*.la'`

SplitOff: 
  Package: %N-shlibs
  Replaces: gcc4 (= 

Re: [Fink-devel] gcc4x/gcc4x-compiler packages

2010-04-27 Thread Martin Costabel
Jack Howarth wrote:
 JF,
   Okay. Untested gcc45-x86_64.info with a gcc45-compiler
 splitoff. Still needs the libffi update-alternatives.

To me, this one looks OK (untested, of course), contrary to the 
description in one of dmacks' latest messages (the one with *1, *2 etc), 
which even after reading it 3 times still looks really backwards.

-- 
Martin





--
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] gcc4x/gcc4x-compiler packages

2010-04-27 Thread Daniel Macks
On Tue, Apr 27, 2010 at 10:40:35PM +0200, Martin Costabel wrote:
 Jack Howarth wrote:
  JF,
Okay. Untested gcc45-x86_64.info with a gcc45-compiler
  splitoff. Still needs the libffi update-alternatives.
 
 To me, this one looks OK (untested, of course), contrary to the 
 description in one of dmacks' latest messages (the one with *1, *2 etc), 
 which even after reading it 3 times still looks really backwards.

Crapola yeah, cut'n'pasted the wrong line! compiler in lib/gcc4.x *1
is what should have gone in gcc4x-compiler. Glad the convoluted
explanation was clear enough that at least the other screwup was
noticed:(

dan

-- 
Daniel Macks
dma...@netspace.org
http://www.netspace.org/~dmacks


--
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] gcc4x/gcc4x-compiler packages

2010-04-27 Thread Daniel Macks
On Tue, Apr 27, 2010 at 03:35:06PM -0400, Jack Howarth wrote:

 # Rename info files with -fsf-4.5 suffix.
 # Add symlinks for info files under old names.
 SplitOff2: 
   Package: %N-compiler
   Files: 
 share/info/*-fsf-4.5.info
   
 
 InfoDocs: cp-tools-fsf-4.5.info cpp-fsf-4.5.info cppinternals-fsf-4.5.info 
 gcc-fsf-4.5.info gccinstall-fsf-4.5.info gccint-fsf-4.5.info gcj-fsf-4.5.info 
 gfortran-fsf-4.5.info libgomp-fsf-4.5.info

I'm not sure there is a use in having *-fsf-4.5.info files. They are
not indexed and generally visible unless the gcc4x package is
installed (InfoDocs entries). And although they can be accessed if you
know their special name, they contain hyperlinks to each other that do
not know about these special names (for example, a link in gcj-fsf-4.5
for gcc likely points to gcc not gcc-fsf-4.5). Instead, you could
put all the files *with their original filenames* (so xref's don't
break) in a directory named for the package. For example,
%p/lib/gcc4.5/info (living in the -compilers splitoff package). The
xrefs would resolve self-consistently among this specific gcc version
because they are pointing to the correct filename in the same
directory. Bonus: you can just change --infodir= instead of having to
do a manual loop over all the filenames to move them.

dan

-- 
Daniel Macks
dma...@netspace.org
http://www.netspace.org/~dmacks


--
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] gcc4x/gcc4x-compiler packages

2010-04-27 Thread Daniel Macks
On Tue, Apr 27, 2010 at 11:00:11PM -0400, Daniel Macks wrote:
 On Tue, Apr 27, 2010 at 03:35:06PM -0400, Jack Howarth wrote:
 
  # Rename info files with -fsf-4.5 suffix.
  # Add symlinks for info files under old names.
  SplitOff2: 
Package: %N-compiler
Files: 
  share/info/*-fsf-4.5.info

  
  InfoDocs: cp-tools-fsf-4.5.info cpp-fsf-4.5.info cppinternals-fsf-4.5.info 
  gcc-fsf-4.5.info gccinstall-fsf-4.5.info gccint-fsf-4.5.info 
  gcj-fsf-4.5.info gfortran-fsf-4.5.info libgomp-fsf-4.5.info
 
 I'm not sure there is a use in having *-fsf-4.5.info files. They are
 not indexed and generally visible unless the gcc4x package is
 installed (InfoDocs entries). And although they can be accessed if you
 know their special name, they contain hyperlinks to each other that do
 not know about these special names (for example, a link in gcj-fsf-4.5
 for gcc likely points to gcc not gcc-fsf-4.5). Instead, you could
 put all the files *with their original filenames* (so xref's don't
 break) in a directory named for the package. For example,
 %p/lib/gcc4.5/info (living in the -compilers splitoff package). The
 xrefs would resolve self-consistently among this specific gcc version
 because they are pointing to the correct filename in the same
 directory. Bonus: you can just change --infodir= instead of having to
 do a manual loop over all the filenames to move them.

Bonuser: two fewer places you have to enumerate actual filenames
(fewer things to deal with manually). --infodir means you omit this:

 # Rename info files with -fsf-4.5 suffix.

and this:

 # Add symlinks for info files under old names.
 infofiles=cpp gcc
 for infofile in $infofiles ; do
   ln -s %p/share/info/$infofile-fsf-4.5.info %i/share/info/$infofile-4.info
 done
 infofiles=cp-tools cppinternals gccinstall gccint gcj gfortran libgomp
 for infofile in $infofiles ; do
   ln -s %p/share/info/$infofile-fsf-4.5.info %i/share/info/$infofile.info
 done

becomes something like this:

 # Add symlinks for info files under old location.
 mkdir %i/share/info
 for infofile in `cd %i/lib/gcc4.5/info; ls`; do
   ln -s %p/lib/gcc4.5/info/$infofile %i/share/info/$infofile
 done

dan

-- 
Daniel Macks
dma...@netspace.org
http://www.netspace.org/~dmacks


--
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] gcc4x/gcc4x-compiler packages

2010-04-27 Thread Jack Howarth
Daniel,
   I noticed that when --program-suffix=-fsf-4.5 is invoked
that the man1 and man3 manpage names are automatically appended
with the -fsf-4.5 suffix but not the info pages. I figured this
was an omission so I completed the renaming for man7 and the
info pages. Also, now that multiple gcc4x-compiler packages can
co-exist, won't it be confusing if each has the same
info file names (without a -fsf-4.x suffix)? In that case,
how would the user be sure that that correct copy of
gcc-4.info which they are being shown is the one from 
the particular version of gcc that they are trying to
work with. With info files having the -fsf-4.x suffix
there can be no such confusion.
Jack
ps In particular, say the user needs a gcc 4.5 info
page to read about the LTO options. We need to make
certain that the correct one can be easily selected.

--
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] gcc4x/gcc4x-compiler packages

2010-04-27 Thread Daniel Macks
On Wed, Apr 28, 2010 at 12:51:36AM -0400, Jack Howarth wrote:
 Daniel,
I noticed that when --program-suffix=-fsf-4.5 is invoked
 that the man1 and man3 manpage names are automatically appended
 with the -fsf-4.5 suffix but not the info pages. I figured this
 was an omission so I completed the renaming for man7 and the
 info pages. Also, now that multiple gcc4x-compiler packages can
 co-exist, won't it be confusing if each has the same
 info file names (without a -fsf-4.x suffix)? In that case,
 how would the user be sure that that correct copy of
 gcc-4.info which they are being shown is the one from 
 the particular version of gcc that they are trying to
 work with. With info files having the -fsf-4.x suffix
 there can be no such confusion.
 Jack
 ps In particular, say the user needs a gcc 4.5 info
 page to read about the LTO options. We need to make
 certain that the correct one can be easily selected.

'info /sw/lib/gcc4.5/info/gcc' or some similar command. Just like he
would need 'info /sw/share/info/gcc-fsf-4.5'. I didn't change the
unversioned names (symlinks) in /sw/share/info, so installing the
gcc4.5 package (which contains them) would still allow 'info gcc' to
give the self-consistent ones for gcc4.5.

dan

-- 
Daniel Macks
dma...@netspace.org
http://www.netspace.org/~dmacks


--
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel


[Fink-devel] gcc4x/gcc4x-compiler packages

2010-04-26 Thread Jack Howarth
  I've posted test packaging for a gcc45-4.5.0-1001
and gcc45-compiler-4.5-1 package on fink tracking...

https://sourceforge.net/tracker/?func=detailaid=2992713group_id=17203atid=414256

The new gcc45 packaging...

1) Moves all of the currently conflicting files between the gcc4x packages
into a new gcc4x-compiler package which recreates them with symlinks.
2) Builds the compiler programs with the -fsf-4.x suffix and presents these
program names in %p/bin via symlinks in the main gcc4x package.
3) Provides all of the original program names in %p/lib/gcc4.x/bin.

I've tested this packaging by upgrading from the previous gcc45-4.5.0-1000
proposed packaging. A test gcc46 package of the same type was also used to
verify that the gcc45/gcc46 packages properly co-exist and that the two
gcc45-compiler/gcc46-compiler packages properly switch the default FSF gcc
system compiler in %p/bin as well as the associated man and info pages.
   Jack
ps As soon as the FSF gcc 4.4.4 tarballs are available later this week,
I'll add a fink tracking entry for  gcc44-4.4.4-1000/gcc44-compiler-4.4-1 
packaging as well. Once this packaging enters fink unstable, the existing
packages that use gcc44 will have to either 1) change the BuildDepends from
gcc44 to gcc44-compiler or 2) pass the explicit path to the compilers in
%p/lib/gcc4.4/bin.


--
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel