Subject: Re: graphics/xv fails to build on macppc
To: Loic Hoguin <essen@dev-extend.eu>
From: Loic Hoguin <essen@dev-extend.eu>
List: pkgsrc-users
Date: 03/24/2007 14:35:17
------------NTQZ6zCWKZisIPK3pqFOOi
Content-Type: text/plain; format=flowed; delsp=yes; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

On Sat, 24 Mar 2007 13:03:32 +0100, Loic Hoguin <essen@dev-extend.eu>  
wrote:

>>> ... today on my iBook running Netbsd/macppc
>>> current (4.99.16) and it fails with the following error:
>> [...]
>>> xvpcd.c:(.text+0xce8): undefined reference to `alloca'
>>
>> NetBSD-macppc doesn't seem to support alloca(). You could submit a
>> problem report (category "port-macppc") about that. But considering
>> that it is broken API it would probably better to patch "xv" not
>> use it alloca() (or not use "xv" at all :-).
>
> Okie. If it's broken by design it won't do any good to implement it.
> I'll try to patch it (mainly to learn about the process) but if it's
> really unmaintened and insecure I think it shouldn't be in pkgsrc.

I have attached a patch that replace the alloca call by a malloc/free.
I tested it with PhotoCD files found on Google (with a filetype:pcd search)
and it works well under current/macppc and netbsd4/i386.

The patches/patch-ab file is no longer needed since we remove the alloca  
call.

Please look or test it before I submit a pr.

-- 
Loïc Hoguin
Dev:Extend
------------NTQZ6zCWKZisIPK3pqFOOi
Content-Disposition: attachment; filename=patchxv
Content-Type: application/octet-stream; name=patchxv
Content-Transfer-Encoding: Base64

SW5kZXg6IGRpc3RpbmZvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9j
dnNyb290L3BrZ3NyYy9ncmFwaGljcy94di9kaXN0aW5mbyx2CnJldHJpZXZpbmcg
cmV2aXNpb24gMS4xMwpkaWZmIC11IC1yMS4xMyBkaXN0aW5mbwotLS0gZGlzdGlu
Zm8JMTQgTWF5IDIwMDYgMjE6MTY6MDAgLTAwMDAJMS4xMworKysgZGlzdGluZm8J
MjQgTWFyIDIwMDcgMTM6MDk6MzggLTAwMDAKQEAgLTcsMTAgKzcsMTAgQEAKIFJN
RDE2MCAoeHYtMy4xMGEtanVtYm8tcGF0Y2hlcy0yMDA1MDUwMS50YXIuYnoyKSA9
IGQxOTllN2QxYjZjNTE2MmUwY2FkMDlkNDExOGIzNzM1ZjFkMTU2ZWYKIFNpemUg
KHh2LTMuMTBhLWp1bWJvLXBhdGNoZXMtMjAwNTA1MDEudGFyLmJ6MikgPSAzNjk4
ODYgYnl0ZXMKIFNIQTEgKHBhdGNoLWFhKSA9IDliZmQxZTZhNTU3NjZlNGM2ZjYw
OTA3YTVmNThhODgyNjU3ZGNhOWIKLVNIQTEgKHBhdGNoLWFiKSA9IDFiZTE4M2Zi
NzJiYTgyY2MxNWZkY2VjNjYwN2MxZTI5NGUyODQzNzAKIFNIQTEgKHBhdGNoLWFj
KSA9IGNjMGRhNWNlZmJiNGExM2I4NmRhYWNhNDgyYzUyZWNlNGJjMzI5NGMKIFNI
QTEgKHBhdGNoLWFkKSA9IDNhNDljYTAxNTJmNmE3ZDZjZjc5MzQ4ZTNiNTMwOGRh
NTA5YjYzZWEKIFNIQTEgKHBhdGNoLWFmKSA9IDFiZWRkYzJhYmU1MzA4NzFmY2Ri
YjJjZWE1NjgyMjI1YzE5NGJkNGQKIFNIQTEgKHBhdGNoLWFoKSA9IDgzMDEzOTEz
OWRkZjQ5YTUwNTc4NmNkZTg5MzBiYTFlOWFlMDA2ZjQKIFNIQTEgKHBhdGNoLWFp
KSA9IDEwZmViYzk1MDQ3ZmMyNWEzYjkzYzE1N2ViMzllZDFlZDdhMzBiYzYKIFNI
QTEgKHBhdGNoLWFqKSA9IDdmNDBjMDAyZDhhMTZiMTUwN2M2MTcxZGI1NDMyODU0
NDdlM2NmODEKK1NIQTEgKHBhdGNoLWFsKSA9IGVjYzRlYjFmMjM0YzBlZTE5OTVk
OWE5NTBmMmIyYWFlMzJkMjI1YzUKSW5kZXg6IHBhdGNoZXMvcGF0Y2gtYWIKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogcGF0Y2hlcy9wYXRjaC1hYgpkaWZm
IC1OIHBhdGNoZXMvcGF0Y2gtYWIKLS0tIHBhdGNoZXMvcGF0Y2gtYWIJMTQgTWF5
IDIwMDYgMjE6MTY6MDAgLTAwMDAJMS44CisrKyAvZGV2L251bGwJMSBKYW4gMTk3
MCAwMDowMDowMCAtMDAwMApAQCAtMSwxNCArMCwwIEBACi0kTmV0QlNEOiBwYXRj
aC1hYix2IDEuOCAyMDA2LzA1LzE0IDIxOjE2OjAwIHNjaHdhcnogRXhwICQKLQot
LS0tIHh2cGNkLmMub3JpZwkyMDA2LTA1LTE0IDE4OjM4OjI2LjAwMDAwMDAwMCAr
MDIwMAotKysrIHh2cGNkLmMJMjAwNi0wNS0xNCAxODozOTozMS4wMDAwMDAwMDAg
KzAyMDAKLUBAIC0yNyw2ICsyNyw5IEBACi0gCi0gI2luY2x1ZGUgInh2LmgiCi0g
I2luY2x1ZGUgPG1lbW9yeS5oPgotKyNpZmRlZiBORUVEX0FMTE9DQV9ICi0rI2lu
Y2x1ZGUgPGFsbG9jYS5oPgotKyNlbmRpZgotIAotICNpZmRlZiBIQVZFX1BDRAot
IApJbmRleDogcGF0Y2hlcy9wYXRjaC1hbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD
UyBmaWxlOiBwYXRjaGVzL3BhdGNoLWFsCmRpZmYgLU4gcGF0Y2hlcy9wYXRjaC1h
bAotLS0gL2Rldi9udWxsCTEgSmFuIDE5NzAgMDA6MDA6MDAgLTAwMDAKKysrIHBh
dGNoZXMvcGF0Y2gtYWwJMjQgTWFyIDIwMDcgMTM6MDk6MzggLTAwMDAKQEAgLTAs
MCArMSwyMSBAQAorLS0tIHh2cGNkLmMub3JpZwkyMDA3LTAzLTI0IDEzOjIzOjE2
LjAwMDAwMDAwMCArMDAwMAorKysrIHh2cGNkLmMJMjAwNy0wMy0yNCAxMzozMTow
Mi4wMDAwMDAwMDAgKzAwMDAKK0BAIC04OTcsNyArODk3LDcgQEAKKyAJICovCisg
CXRyYWNlKChzdGRlcnIsICJodWZmdGFiIDB4JTA4bHggIiwgZnRlbGwoZnApKSk7
CisgCW51bSA9IDEgKyBmZ2V0YyhmcCk7ICAgLyogMjU2IG1heCAqLworLQlodWYg
PSAoYnl0ZSAqKWFsbG9jYSg0Km51bSpzaXplb2YoYnl0ZSkpOworKwlodWYgPSAo
Ynl0ZSAqKW1hbGxvYyg0Km51bSpzaXplb2YoYnl0ZSkpOworIAlpZigoaSA9IGZy
ZWFkKGh1ZiwgMSwgNCpudW0sIGZwKSkgIT0gNCpudW0pIHsKKyAJCWZwcmludGYo
c3RkZXJyLCAidW5leHBlY3RlZCBFT0Y6IGdvdCAlZCBieXRlcywgd2FudGVkICVk
XG4iLAorIAkJCQkJCQkJaSwgNCpudW0pOworQEAgLTEwMjksNiArMTAyOSw5IEBA
CisgCQkJaHVmZnRhYltodWZmcHRyICsgMV0gPSAwOworIAkJfQorIAl9CisrCisr
CWZyZWUoaHVmKTsKKysKKyAJcmV0dXJuIGh1ZmZ0YWI7CisgfQorIAo=

------------NTQZ6zCWKZisIPK3pqFOOi--