[Fink-devel] GObject introspection
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
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
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
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
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