Created attachment 305413 [details, diff] Patch to tcl-8.5.11.ebuild to remove slash-stripping mylibdir assignment All presently in tree ebuilds for both dev-lang/tcl and dev-lang/tk feature a line of the form: local mylibdir=$(get_libdir) ; mylibdir=${mylibdir//\/} This caches the value of $LIBDIR for the current ABI, then strips slashes from it. The following lines use $mylibdir repeatedly, hence why it is cached. It was added by vapier in Jun 2005 to try to eliminate consecutive slashes in paths. However, the slash-stripping is problematic. It serves no purpose for in-tree profiles, where $LIBDIR never contains slashes: $ cd $PORTDIR && grep -r LIBDIR'.*=' profiles/ profiles/arch/mips/mips64/multilib/make.defaults:LIBDIR_o32="lib" profiles/arch/mips/mips64/multilib/make.defaults:LIBDIR_n32="lib32" profiles/arch/mips/mips64/multilib/make.defaults:LIBDIR_n64="lib64" profiles/arch/mips/mips64/n32/make.defaults:LIBDIR_n32="lib32" profiles/arch/mips/mips64/n64/make.defaults:LIBDIR_n32="lib64" profiles/arch/mips/mipsel/mips64el/multilib/make.defaults:LIBDIR_o32="lib" profiles/arch/mips/mipsel/mips64el/multilib/make.defaults:LIBDIR_n32="lib32" profiles/arch/mips/mipsel/mips64el/multilib/make.defaults:LIBDIR_n64="lib64" profiles/arch/mips/mipsel/mips64el/n32/make.defaults:LIBDIR_n32="lib32" profiles/arch/mips/mipsel/mips64el/n64/make.defaults:LIBDIR_n32="lib64" profiles/features/64bit-native/make.defaults:LIBDIR_amd64="lib64" profiles/features/64bit-native/make.defaults:LIBDIR_ppc64="lib64" profiles/features/multilib/lib32/make.defaults:LIBDIR_ppc="lib32" profiles/features/multilib/lib32/make.defaults:LIBDIR_x86="lib32" profiles/features/multilib/lib32/make.defaults:LIBDIR_x86_fbsd="lib32" profiles/features/multilib/lib32/make.defaults:LIBDIR_sparc32="lib32" profiles/features/multilib/lib32/make.defaults:LIBDIR_s390="lib32" profiles/features/multilib/make.defaults:LIBDIR_amd64="lib64" profiles/features/multilib/make.defaults:LIBDIR_amd64_fbsd="lib64" profiles/features/multilib/make.defaults:LIBDIR_n64="lib64" # MIPS n64 profiles/features/multilib/make.defaults:LIBDIR_ppc64="lib64" profiles/features/multilib/make.defaults:LIBDIR_s390x="lib64" profiles/features/multilib/make.defaults:LIBDIR_sparc64="lib64" profiles/features/multilib/make.defaults:LIBDIR_x86="lib" profiles/features/multilib/make.defaults:LIBDIR_x86_fbsd="lib" profiles/features/multilib/make.defaults:LIBDIR_o32="lib" # MIPS o32 profiles/features/multilib/make.defaults:LIBDIR_ppc="lib" profiles/features/multilib/make.defaults:LIBDIR_s390="lib" profiles/features/multilib/make.defaults:LIBDIR_sparc32="lib" profiles/features/multilib/make.defaults:LIBDIR_x32="libx32" # x86-64 x32 profiles/features/multilib/make.defaults:LIBDIR_n32="lib32" # MIPS n32 profiles/prefix/linux/amd64/make.defaults:LIBDIR_amd64="lib" profiles/prefix/linux/ppc64/make.defaults:LIBDIR_ppc64="lib" I am presently working on an experimental multiarch system where LIBDIR_amd64="lib/x86_64-pc-linux-gnu". On this system, the expression shown above strips the embedded slash, producing libx86_64-pc-linux-gnu, which is not a valid path. The build then fails. After applying the attached patches, the build succeeds.
Created attachment 305415 [details, diff] Patch to tk-8.5.11.ebuild to remove slash-stripping mylibdir assignment
Thanks for the patches. I will put them as soon as I have a gentoo box in hand.
+ 19 Mar 2012; Justin Lecher <jlec@gentoo.org> tk-8.5.11.ebuild: + Drop unnessecary stripping of slashes, #408261, thanks Kevin Pyle for the + patch + + 19 Mar 2012; Justin Lecher <jlec@gentoo.org> tcl-8.5.11.ebuild: + Drop unnessecary stripping of slashes, #408261, thanks Kevin Pyle for the + patch +