On reflection, I don't see any way to achieve this transition from the
broken stage4 bootstrap to the proper stage3 bootstrap without some from of
circular dependency being created within fink on
10.4-EOL/10.5-EOL/10.6-EOL. We can't force the current llvm34-3.4.1-0a
package to be built and installed first so that it can then be used by the
new llvm34-3.4.1-0c packaging. Likewise, if the new llvm34 package were
renamed to llvm34-libcxx or such, it would require a Provides/Replaces of
llvm34 creating a circular loop. We probably should just leave the broken
bootstrap in place for llvm34 on 10.4-EOL/10.5-EOL/10.6-EOL and then use
the changes I proposed above for the upcoming llvm35 packaging so that
going forward the bootstrap would be unbroken.




On Sat, May 24, 2014 at 1:58 PM, Jack Howarth <howarth.at.f...@gmail.com>wrote:

> David,
>     Unfortunately, I seem to have upgraded the drive which I used for 10.6
> testing to 10.8. If you need help with the 10.6-EOL version of llvm34, I
> can wipe my MacBook Pro's Time Machine drive temporarily and install Snow
> Leopard there but I would prefer not to.
>     I had forgotten that the libc++ support in your llvm3x packages wasn't
> introduced until llvm34. Perhaps we can pull enough dependency games to
> manage something like the following.
>
> 1) Rename the existing llvm34.info (for 3.4.1-0a) in 10.6-EOL to
> llvm34-3.4.1-0a.info
> 2) Add the new 10.6-EOL modified llvm34.info for 3.4.1-0c with a the
> BuildDepends of xcode changed to llvm34 (= 3.4.1-0a)
>
> This would look something like…
>
> --- llvm34.info 2014-05-24 09:04:04.000000000 -0400
> +++ llvm34.info.10.6 2014-05-24 13:56:29.000000000 -0400
> @@ -5,7 +5,7 @@
>  Description: Modular and reusable compiler
>  License: BSD
>  Maintainer: David Fang <fang...@users.sourceforge.net>
> -
> +Distribution: 10.4, 10.5, 10.6
>  BuildDepends: <<
>   fink (>= 0.30.0),
>   cmake (>= 2.8.10.2-1),
> @@ -20,7 +20,8 @@
>  # xml and lzma are used to build an uninstalled bin/c-index-test, so
> bdep-only
>   libxml2,
>   liblzma5,
> - xcode (>= 4.6)
> + clang34 (= 3.4.1-0a),
> + libcxx1-dev (= 3.4.1-0a)
>  <<
>  Depends: %N-shlibs
>  # no longer uses cloog directly, only indirectly through isl
> @@ -335,7 +336,12 @@
>   -DCMAKE_BUILD_TYPE:STRING=$build_type )
>
>   STAGE1_CMAKE_OPTIONS=( -DCMAKE_C_FLAGS=-fno-common \
> - -DCMAKE_CXX_FLAGS="-fno-common -std=c++11 -stdlib=libc++" )
> + -DCMAKE_CXX_FLAGS="-fno-common -std=c++11 -stdlib=libc++ -cxx-isystem
> %p/include/c++/v1" \
> + -DCMAKE_C_COMPILER:FILEPATH=%p/opt/llvm-3.4/bin/clang \
> + -DCMAKE_CXX_COMPILER:FILEPATH=%p/opt/llvm-3.4/bin/clang++ \
> + -DCMAKE_EXE_LINKER_FLAGS:STRING="-L%p/lib -L%p/lib/c++" \
> + -DCMAKE_MODULE_LINKER_FLAGS:STRING="-L%p/lib -L%p/lib/c++" \
> + -DCMAKE_SHARED_LINKER_FLAGS:STRING="-L%p/lib -L%p/lib/c++" )
>   # trying to disable optimization flags on non-trustworthy compilers
>   # worked around in recompile_known_units(), and now using RelWithDebInfo
>   ccvers=`$CXX -v 2>&1 | tail -n 1 | cut -d\  -f3`
>
> Alexander, any comments on the logic of have a specific version of a fink
> package retained to bootstrap a later version without explicitly renaming
> the packages?
>                 Jack
>
------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
List archive:
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to