On 7 December 2011 17:13, Thomas Bächler <thomas@archlinux.org> wrote:
I still don't understand why you can't just build a lib32 package that doesn't conflict with the usual jack/jack2 package.
Sorry, I should've made that clear from the beginning. It is possible, but it is (a) non-trivial and (b) a hassle to maintain. There is no way to build out a 32-bit library without patching your way through the buildsystem [1] _and_ patching the existing pure 32-bit and 64-bit 'jack2' package to make way for a -lib32 one [2] (credits go to user 'speps' for demonstrating this). Now, I'm pretty sure you would think that's a PITA, as I had thought, deciding on a replacement package instead (yes, a lib32 package was the obvious initial idea). The users also told me they would prefer a lib32 package, so it's not like I ignored that. Basically, upstream here gives you the necessary method to keep a hybrid build of their software, but does not modularise the process thinking they'd save us distributors the trouble.
Also, there is no provides on jack2, why?
As you can see, the second of the splits has this provision, so that's probably an accident from the last edit I made on the PKGBUILD.
But the most important thing: There is no makedepend on gcc-multilib or any other of the multilib build tools. How could this build a 32 bit binary?
There is no need to makedepend on 'gcc-multilib' as it should already be there in a multilib system, sort of analogous to the 'base-devel' group for normal systems. I had 'gcc-libs-multilib' initially (due to namcap's report), but upon noticing that a chroot build only requires 'lib32-glibc', and after a user tested the package to be working for his hybrid purpose, I removed the unnecessary dependency. The 32-bit library is there at the end of the day: $ file usr/lib32/libjack.so.0.1.0 usr/lib32/libjack.so.0.1.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=0x144cf0bc3289dcb0dc105783b32feeddc2fe570a, stripped And this is what the "--mixed" flag does, essentially: conf.env.append_unique('CXXFLAGS', '-m32') conf.env.append_unique('CCFLAGS', '-m32') conf.env.append_unique('LINKFLAGS', '-m32') Let me know if there's anything else that needs to be done to make this compatible with [multilib]. [1] http://paste.pocoo.org/show/517495/ [2] http://paste.pocoo.org/show/517488/ -- GPG/PGP ID: C0711BF1