Opened 14 years ago

Closed 13 years ago

#25911 closed enhancement (duplicate)

libsdl_mixer: fix PowerPC issues

Reported by: bitaxis (Nathan Brazil) Owned by: jmroot (Joshua Root)
Priority: Normal Milestone:
Component: ports Version: 1.9.1
Keywords: Cc:
Port: libsdl_mixer

Description

On PowerPC Macs, a portion of libsdl_mixer library does not handle the platform's big-endianness correctly, causing Mix_LoadWAV() and Mix_LoadWAV_RW() APIs to reject valid files. Furthermore, the configure process on the same platform does not properly recognize the libvorbis port as having been installed. I created a patch to address these issues.

Attachments (2)

libsdl_mixer-powerpc.zip (1.9 KB) - added by bitaxis (Nathan Brazil) 14 years ago.
libsdl_mixer.diff (1.6 KB) - added by ryandesign (Ryan Carsten Schmidt) 14 years ago.
expressed as a diff

Download all attachments as: .zip

Change History (7)

Changed 14 years ago by bitaxis (Nathan Brazil)

Attachment: libsdl_mixer-powerpc.zip added

Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: libsdl_mixer.diff added

expressed as a diff

comment:1 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Summary: Patch for libsdl_mixerlibsdl_mixer: fix PowerPC issues

We'd prefer to see proposed changes as a diff, not as a complete Portfile in a zip archive. I've attached your changes expressed as a diff.

I'm surprised you needed to add -I${prefix}/include to the CFLAGS, since MacPorts already adds that to the CPPFLAGS, and if that's not sufficient, then I would have expected to need to add that on all platforms, not just on Darwin PowerPC.

Does this patch come from upstream or did you invent them yourself? If the latter, have you already provided it to the developers for inclusion in the next version?

Do I understand that the port previously built but then the software did not work? If so, then a revision bump is needed as well to force users who already have it installed to rebuild it.

comment:2 Changed 14 years ago by bitaxis (Nathan Brazil)

Sorry for not knowing the preferred submission as a diff. I will try to keep that in mind next time.

The extra -I${prefix}/include, if you will, is to enable the configure script to properly check for the existence of the libvorbis port on a PowerPC/Tiger system. Without it, the configure script will fail to detect it. I am unsure why configure works unpatched on Intel/Leopard.

The mixer.c patch, however, is specific to the big-endian nature of the PowerPC platform, as the unpatched code assumes an i386 or little-endian architecture.

I invented this patch myself as part of the work I am doing to package freeciv and freeciv-x11 for use by non-MacPorts users, using these two ports as starting points. I have sent E-mail to the developers of SDL_mixer regarding the mixer.c issue. Too bad they don't have a nice ticketing system (that I can find) like MacPorts does.

comment:3 Changed 14 years ago by blb@…

I think http://bugzilla.libsdl.org/ is the ticketing system to use for SDL stuff.

comment:4 Changed 13 years ago by jmroot (Joshua Root)

Owner: changed from macports-tickets@… to jmr@…
Status: newassigned

comment:5 Changed 13 years ago by jmroot (Joshua Root)

Resolution: duplicate
Status: assignedclosed

I believe this was a consequence of libsdl incorrectly detecting endianness as described in #23674.

Note: See TracTickets for help on using tickets.