Summary: | media-libs/speex - Cross-compile fix | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | James Le Cuirot <chewi> |
Component: | [OLD] Library | Assignee: | Gentoo Sound Team <sound> |
Status: | RESOLVED OBSOLETE | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | ebuild patch |
Also see bug #521446 for a very similar fix for media-libs/flac. The flac fix has been now applied so this probably should be applied too. If this is still an issue with speex-1.2.0 please feel free to apply it. I was going to say this is still required but then I tried 1.2.0 (as opposed to 1.2rc3) and it isn't a problem any more because it now uses pkg-config. For the record, if it had still been necessary, I wouldn't have used the proposed fix because it's since been pointed out to me that this violates PMS. ${ROOT} in src_* is not okay but ${SYSROOT} potentially is. There are pending discussions around how Portage deals with SYSROOT. It wouldn't have been necessary to use either variable as I found that --with-ogg==/usr also worked. A leading = is replaced with the SYSROOT. (In reply to James Le Cuirot from comment #4) > It wouldn't have > been necessary to use either variable as I found that --with-ogg==/usr also > worked. A leading = is replaced with the SYSROOT. FTR: Last I checked this breaks when gcc is not configured with a sysroot, aka the standard case. (In reply to Alexis Ballier from comment #5) > (In reply to James Le Cuirot from comment #4) > > It wouldn't have > > been necessary to use either variable as I found that --with-ogg==/usr also > > worked. A leading = is replaced with the SYSROOT. > > FTR: Last I checked this breaks when gcc is not configured with a sysroot, > aka the standard case. Yeah, I was gonna do a non-cross test before I tried 1.2.0. Just tried it anyway out of curiosity and it worked fine. The --sysroot option also didn't work with native gcc before but now it does. |
Created attachment 383880 [details, diff] ebuild patch Please see the attached patch. Simpler than your average cross-compile fix. If you don't specify an OGG prefix using --with-ogg then speex assumes -I/usr/include and -L/usr/lib, which is bad news when you're cross-compiling. Specifying --with-ogg=${EROOT}usr results in -I/foo/usr/include and -L/foo/usr/lib instead. Giving this option together with --disable-ogg has no effect so no extra logic is needed there.