[Fink-devel] GObject introspection

2010-04-26 Thread Alexey Zakhlestin
Hi.

Is anyone working on gobject introspection?
Seems like a lot of libraries need it these days (and even more will need it 
soon).

I can create packages for these, but if it's in someones queue already I can 
wait :)

I need introspection support enabled for libgda (libgda 4.0.8 added 
introspection support) and am going to use it for creating midgard-project 
packages, which depend on libgda.


-- 
Alexey Zakhlestin
http://www.milkfarmsoft.com/






smime.p7s
Description: S/MIME cryptographic signature
--
___
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] Could not resolve inconsistent dependencies

2010-04-26 Thread Jack Howarth
   I suspect that fink may not be able to cope with
the changes required for gcc4x's to co-exist. The plan
was to pull the overlapping files out of gcc4x into
a gcc4x-bin split-off (and create the overlapping files with 
calls to update-alternatives in PostInstScript and
PreRmScript). The sticking point is that we have to
be able to upgrade from the old-style two-part
packages (gcc4x and gcc4x-shlibs) to the new style.
The problem is what to add for the new gcc4x package
which lacks overlapping files? I had hoped the following
would work...

Package: gcc46
...
SplitOff: 
  Package: %N-shlibs
...
SplitOff2: 
  Package: %N-bin
  Conflicts: gcc42 (= 4.2.4-1002), gcc43 (= 4.3.4-1000), gcc44 (= 
4.4.2-1000), gcc45 (= 4.5.0-1000), gcc42-bin ( 4.2.4-1002), gcc43-bin 
(4.3.4-1000), gcc44-bin ( 4.4.2-1000), gcc45-bin ( 4.5.0-1000)
  Replaces: gcc42 (= 4.2.4-1002), gcc43 (= 4.3.4-1000), gcc44 (= 
4.4.2-1000), gcc45 (= 4.5.0-1000), gcc42-bin ( 4.2.4-1002), gcc43-bin ( 4
.3.4-1000), gcc44-bin ( 4.4.2-1000), gcc45-bin ( 4.5.0-1000)
  Depends: %N (= %v-%r)
...

Such that if the old-style gcc45 package was installed (with overlapping
files)...

fink install gcc46

..would install the new-style gcc46 (without overlapping files)
along side the old-style gcc45 package. Only when gcc46-bin is
installed would the old-style gcc45 package be forced to deinstall
because of the overlapping files. Instead, I get an error
when it seems to attempt to reinstall both gcc45 and gcc46
(which seems odd since gcc45 is already installed). I suspect
that the fact that old-style gcc45 package already has its own
Conflicts/Replaces on gcc46 may be to blame. Does anyone see a
way around this mess of transitioning from a two-way split
(with overlapping files in gcc4x) to a three-way split (with
overlapping files in gcc4x-bin)? The current mockup for doing
this is appended below.
Jack

Info2: 
Package: gcc46
Version: 4.5.999
Revision: 20100423
Source: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%v/gcc-4.6-%r.tar.bz2
Source-MD5: c89ac54c22eda4be67ef8ca34ab3f74b
Source2: ftp://sourceware.org/pub/java/ecj-latest.jar
Source2-MD5: fd299f26c02268878b5d6c0e86f57c43
PatchFile: %n.patch
PatchFile-MD5: 7c279824f0a0544259837dbae1ecf28c
Distribution: 10.5, 10.6
Type: -64bit .
Architecture: x86_64
NoSetCPPFLAGS: True
NoSetLDFLAGS: True
Depends: gmp-shlibs (= 4.3.1-1000), libgmpxx-shlibs (= 4.3.1-1000), 
libmpfr1-shlibs (= 2.4.1-1), %N-shlibs (= %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.6 --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.6

CompileScript: 
 #!/bin/bash -ev
 ulimit -s `ulimit -s`
 mv ../ecj-latest.jar ecj.jar
 mkdir ../darwin_objdir
 cd ../darwin_objdir
 darwinvers=`uname -r|cut -f1 -d.`
 ../gcc-4.6-%r/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.6/bin and new -fsf-4.6 naming in %p/bin.
 binfiles=gcc g++ c++ cpp gcov
 for binfile in $binfiles ; do
   ln -s %p/lib/gcc4.6/bin/$binfile-fsf-4.6 %i/lib/gcc4.6/bin/$binfile-4
   ln -s %p/lib/gcc4.6/bin/$binfile-fsf-4.6 %i/bin/$binfile-fsf-4.6
 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.6/bin/$binfile-fsf-4.6 %i/lib/gcc4.6/bin/$binfile
   ln -s %p/lib/gcc4.6/bin/$binfile-fsf-4.6 %i/bin/$binfile-fsf-4.6
 done

 # Rename manpages with -fsf-4.6 suffix.
 man7files=fsf-funding gfdl gpl
 for man7file in $man7files ; do
   mv %i/share/man/man7/$man7file.7 %i/share/man/man7/$man7file-fsf-4.6.7
 done

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

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


Re: [Fink-devel] Could not resolve inconsistent dependencies

2010-04-26 Thread Daniel Macks
On Mon, Apr 26, 2010 at 10:49:03AM -0400, Jack Howarth wrote:
I should also have added that when I tried to
 add...
 
 Conflicts: gcc42 (= 4.2.4-1002), gcc43 (= 4.3.4-1000), gcc44 (= 
 4.4.2-1000), gcc45 (= 4.5.0-1000)
 
 alone to the main gcc46 package, this produced the error...
 
 fink install gcc46
 Password:
 Information about 8703 packages read in 2 seconds.
 The following package will be installed or updated:
  gcc46
 Reading buildlock packages...
 Could not resolve inconsistent dependencies!
 
 Fink isn't sure how to install the above packages safely. You may be able to 
 fix things by running:
 
   fink scanpackages
   sudo apt-get update
   sudo apt-get install gcc46=4.5.999-20100423
 
 Failed: Fink::SysState: Could not resolve inconsistent dependencies
 
 I think having this work in fink is the only way to solve
 the problem of converting from a two-way to a three-way split for
 gcc4x. Since the old two-way packages won't know that the gcc4x
 main package from the newer three-way packages doesn't conflict,
 we have to have...
 
 Conflicts: gcc42 (= 4.2.4-1002), gcc43 (= 4.3.4-1000), gcc44 (= 
 4.4.2-1000), gcc45 (= 4.5.0-1000)
 
 in both the gcc4x and gcc4x-bin split-off for the new three-way
 packages (such that the older gcc4x packages are always
 deinstalled when either the gcc4x or gcc4x-bin packages of
 the new three-way split is installed.
Any idea why adding the Conflict to gcc4x in the new three-way
 confuses fink so badly (instead of just forcing the older gcc4x
 package to deinstall)?

Conflicts:foo only forces-out foo if foo is also listed in Replaces.
One cleaner solution would be to have the gcc4x packages remain the
directly-available binaries (generic names in PATH) and put the
hidden/buried ones in a new package-name (gcc4x-compiler?). That way
the gcc4x would remain mutually-exclusive and the same they all
conflicts/replaces each other as now, so no new upgrade headache for
the new layout. Someone previously mentioned that this approach would
also avoid having to fix every existing package that expects a
dependency on gcc4x to supply the compilers in PATH. What is the
advantage to any advantage to changing that expectation by switching
to the the gcc4x-bin layout idea as you have envisioned?

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] Could not resolve inconsistent dependencies

2010-04-26 Thread Jack Howarth
Daniel,
   Let me make sure I understand your proposal. Are you
saying that I should just strip out the symlinks in
%p/bin for the existing gcc4x packages and just create
a gcc4x-compiler package that depends on the appropriate
gcc4x package and provides these symlinks? This still will
cause some choas in the current packages since all of the
BuildDepends on gcc4x will have to be changed to gcc4x-compiler.
So there will have to be an upgrade process.
   I should be clear about my motivation for this. With
today's release of llvm 2.7, I was going to post
llvm-clang/llvm-gcc42/dragonegg-gcc packaging to fink
tracking. The dragonegg-gcc packaging is currently
problematic since it needs to both BuildDepends and
Depends on gcc45. This means that fink balks at
automatically replacing gcc45 with gcc44 whenever
dragonegg-gcc45 is installed. My aim was to allow
gcc44 and gcc45 to co-exist and then have dragonegg-gcc
use the compiler from /usr/lib/gcc4.x/bin/gcc.
   Jack
ps I am also strongly leaning towards adding the
-fsf-4.x suffix to the built compilers ala MacPorts.
This way the gcc4x packages can all present their
compilers in %p/bin without overlap. Also, there should
be a gcc 4.4.4 release in the next week or so such that
now would be a good time to address this issue as we
need to upgrade gcc44 anyway.

--
___
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