Hi,

On Mon, Sep 3, 2012 at 6:51 PM, Nicolas Chauvet <kwizart@gmail.com> wrote:
2012/9/3 Giles <gbirchley@blueyonder.co.uk>:
> Hi,
>
> I'm trying to make a package pcsx2, a playstation2 emulator, for Fedora to
> be included on the rpmfusion repository. (Bug 2455 - Review request: pcsx2 -
> A Sony Playstation2 emulator).
> I have run into problems as I have removed the SSE and SSE2 cflags and now
> the package does not build. I am being given some advice by another
> packager, who thinks this may disqualify the package from rpmfusion. Is
> there any way to include a package with such dependencies in the repository?

I'm the one who suggested Giles to write here.
 
I don't know any guideline that would prevent this ?
But someone could point it to me.

Not all i686 arch supported by Fedora have SSE or SSE2 capabilities. AFAIK some of the %{optflags} were selected to match these architectures. Hence someone could install a package that won't work on his PC if you enable SSE and SSE2 flags.
 
Using runtime detection would be expected in nowadays code, but if the
default implementation is sse/sse2 this couldn't be expected by
default on i686, whereas this is always present on x86_64 (and maybe
ia64 if relevant).

ATM the package in question won't even build without SSE and SSE2 flags and it can't be compiled on x86_64.
 
I don't see any point to use ExclusiveArch: x86_64 that would prevent
some i686 users because of that.

Since it cannot be compiled on x86_64, the packages is  ExclusiveArch: i686
 
Also I would compare with 3D card, you will likely hit a hardware
limitation somewhere if you load a huge 3D CAD model on an Intel IGP
with an Atom CPU, this will crash early somewhere.
So in your case, if you disable sse2, you may lower the level of such
hardware limitation, because then sse2 capable CPU may not be able to
run the software appropriately with sse1 only CPU already too short
for this emulation anyway.

So I would prefer to have a simple check on i686 for sse2 capability
as an entry point instead of disabling sse2 and have sse2 capable CPU
to behave like sse1 only one and not been able to run the software
whereas they should have.

I agree. A check with upstream can be enlightening :-)

Bye,

Andrea.