From: Mike Frysinger Date: Sat, 31 Mar 2007 03:20:54 +0000 (+0000) Subject: Fix strict aliasing violation #172421 by Anssi Grohn. X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=7cbc72c1a8c4a8d52b2dc65d4da9cfd51452693e;p=gentoo.git Fix strict aliasing violation #172421 by Anssi Grohn. Package-Manager: portage-2.1.2.2 --- diff --git a/media-libs/lib3ds/ChangeLog b/media-libs/lib3ds/ChangeLog index bba482da3f6c..905582cc5dcd 100644 --- a/media-libs/lib3ds/ChangeLog +++ b/media-libs/lib3ds/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for media-libs/lib3ds -# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/lib3ds/ChangeLog,v 1.8 2006/07/13 13:57:13 agriffis Exp $ +# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/media-libs/lib3ds/ChangeLog,v 1.9 2007/03/31 03:20:54 vapier Exp $ + +*lib3ds-1.2.0-r1 (31 Mar 2007) + + 31 Mar 2007; Mike Frysinger + +files/lib3ds-1.2.0-fix-aliasing.patch, + +files/lib3ds-1.2.0-m4-underquoted.patch, +lib3ds-1.2.0-r1.ebuild: + Fix strict aliasing violation #172421 by Anssi Grohn. 13 Jul 2006; Aron Griffis lib3ds-1.2.0.ebuild: Mark 1.2.0 stable on ia64 diff --git a/media-libs/lib3ds/Manifest b/media-libs/lib3ds/Manifest index e804b22433a9..82b21f965a93 100644 --- a/media-libs/lib3ds/Manifest +++ b/media-libs/lib3ds/Manifest @@ -1,12 +1,27 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +AUX lib3ds-1.2.0-fix-aliasing.patch 735 RMD160 290c7f3fb2b6f037db514b9d6271f9a5ec7e8f28 SHA1 13242e4eaae4ffb99298d70a7895dbb22e073abd SHA256 c7e26c701546881a3fa96747206f3590a92d1d407c8ed1431d3bbddade843d49 +MD5 1e9c501dbc167fc8850f3ec7a99526a9 files/lib3ds-1.2.0-fix-aliasing.patch 735 +RMD160 290c7f3fb2b6f037db514b9d6271f9a5ec7e8f28 files/lib3ds-1.2.0-fix-aliasing.patch 735 +SHA256 c7e26c701546881a3fa96747206f3590a92d1d407c8ed1431d3bbddade843d49 files/lib3ds-1.2.0-fix-aliasing.patch 735 +AUX lib3ds-1.2.0-m4-underquoted.patch 324 RMD160 2b5ae50aa462a19aea169e9f89b5a9c3bb8afe34 SHA1 d3fd766f86c0e85308ffea41c262b48d2d644edc SHA256 f92d60b3ebccbee3c359a9c0ae70eec48ffe04b961f300bb321e9afae68cb140 +MD5 066c530ea044e9e00965de67dad34e7a files/lib3ds-1.2.0-m4-underquoted.patch 324 +RMD160 2b5ae50aa462a19aea169e9f89b5a9c3bb8afe34 files/lib3ds-1.2.0-m4-underquoted.patch 324 +SHA256 f92d60b3ebccbee3c359a9c0ae70eec48ffe04b961f300bb321e9afae68cb140 files/lib3ds-1.2.0-m4-underquoted.patch 324 DIST lib3ds-1.2.0.tar.gz 136806 RMD160 3e0401e36b545c2a54213ecb2ea3216360450562 SHA1 49614218c4c11572887beefaa34d23f72ef70a2c SHA256 6204b0fdf308d191bfc650b8a90b96c86c1c6fbfb03f3046f72aedc8bc7686bb +EBUILD lib3ds-1.2.0-r1.ebuild 958 RMD160 5cc4f76740356629e2aa32a5790273c18dd23daa SHA1 f1f1a488e14ac0437cc1276ebc16442f37fb1d51 SHA256 615b1ace21ace3aed16673a3d7c9014e2acc4b533dd6f439ad3d6fb45d8d265c +MD5 4a6bba939884b0eafbd0dc6e91fd40f8 lib3ds-1.2.0-r1.ebuild 958 +RMD160 5cc4f76740356629e2aa32a5790273c18dd23daa lib3ds-1.2.0-r1.ebuild 958 +SHA256 615b1ace21ace3aed16673a3d7c9014e2acc4b533dd6f439ad3d6fb45d8d265c lib3ds-1.2.0-r1.ebuild 958 EBUILD lib3ds-1.2.0.ebuild 881 RMD160 c19a24370686cfa2a393fa361dae2c599c44e0c4 SHA1 9b5d70415c77c1cff19fe14769d49a8524275612 SHA256 105d156cc351b72b2ebdee779f7091dcab6423b46978187fb772c1dead752dbc MD5 a38c23fccae3f8f13a127f3a6b3c198b lib3ds-1.2.0.ebuild 881 RMD160 c19a24370686cfa2a393fa361dae2c599c44e0c4 lib3ds-1.2.0.ebuild 881 SHA256 105d156cc351b72b2ebdee779f7091dcab6423b46978187fb772c1dead752dbc lib3ds-1.2.0.ebuild 881 -MISC ChangeLog 939 RMD160 20f1df48946342e38ebb5a011036192df1fc86b4 SHA1 1affadfd70eec42d9a9825f4ebf63e6df484d48b SHA256 a60a108a1e99316c24d4262654905b39864d50e66ade45f1e296e5331510579c -MD5 d41298fd7c77a4c26b766196f3a4a2d2 ChangeLog 939 -RMD160 20f1df48946342e38ebb5a011036192df1fc86b4 ChangeLog 939 -SHA256 a60a108a1e99316c24d4262654905b39864d50e66ade45f1e296e5331510579c ChangeLog 939 +MISC ChangeLog 1187 RMD160 818eb4fb04d40aaa1e0dbd162372a53ccad01fbd SHA1 5ecc5d39b3108c79d3db71166302312bb3136616 SHA256 f40254a9f3538ba0c8a49b64b2aa7a3a380d054854df856f91f8edab24678293 +MD5 4674841fce7dd40b7abe5cea4e2743c0 ChangeLog 1187 +RMD160 818eb4fb04d40aaa1e0dbd162372a53ccad01fbd ChangeLog 1187 +SHA256 f40254a9f3538ba0c8a49b64b2aa7a3a380d054854df856f91f8edab24678293 ChangeLog 1187 MISC metadata.xml 210 RMD160 c9fe92a44d079ef04bcdd31de9867de5bb9f26e5 SHA1 efa00493ddec7289a21bc4cbcc6e95ec4de749d5 SHA256 90082fe26a119a63ca8fbe227f66c33ba74167b6cf28e2cef02dea6c4f656c39 MD5 c667f921ee8d48ce17ebef0f8d601ea4 metadata.xml 210 RMD160 c9fe92a44d079ef04bcdd31de9867de5bb9f26e5 metadata.xml 210 @@ -14,3 +29,13 @@ SHA256 90082fe26a119a63ca8fbe227f66c33ba74167b6cf28e2cef02dea6c4f656c39 metadata MD5 d2b75613e175112e656a58125daed989 files/digest-lib3ds-1.2.0 238 RMD160 538d72b1828a008f4a4539e465c71ff2c0337f09 files/digest-lib3ds-1.2.0 238 SHA256 5c6619081d9fc8f8e52ddf895a07c221c52f50dbf26d386c371b1973ba339c6d files/digest-lib3ds-1.2.0 238 +MD5 271b5c2f3a24e6f05831cd51a1589e50 files/digest-lib3ds-1.2.0-r1 238 +RMD160 93f4229f65c169fb848a541b8b75c27b6acd2505 files/digest-lib3ds-1.2.0-r1 238 +SHA256 40ccb03db16a52d953788388411144bba93c7ab9afd2c720b197fc38ec6a7cd5 files/digest-lib3ds-1.2.0-r1 238 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.3 (GNU/Linux) + +iD8DBQFGDdOy8bi6rjpTunYRApM/AJ0bK55qV3TjLrxWh1PxfeYOhY7m1gCg3W/u +7/UwAgDAa2oA6ukTpIQpLS4= +=ZQkL +-----END PGP SIGNATURE----- diff --git a/media-libs/lib3ds/files/digest-lib3ds-1.2.0-r1 b/media-libs/lib3ds/files/digest-lib3ds-1.2.0-r1 new file mode 100644 index 000000000000..14297f0fac32 --- /dev/null +++ b/media-libs/lib3ds/files/digest-lib3ds-1.2.0-r1 @@ -0,0 +1,3 @@ +MD5 3a7f891d18af0151876b98bc05d3b373 lib3ds-1.2.0.tar.gz 136806 +RMD160 3e0401e36b545c2a54213ecb2ea3216360450562 lib3ds-1.2.0.tar.gz 136806 +SHA256 6204b0fdf308d191bfc650b8a90b96c86c1c6fbfb03f3046f72aedc8bc7686bb lib3ds-1.2.0.tar.gz 136806 diff --git a/media-libs/lib3ds/files/lib3ds-1.2.0-fix-aliasing.patch b/media-libs/lib3ds/files/lib3ds-1.2.0-fix-aliasing.patch new file mode 100644 index 000000000000..7196badd3a2a --- /dev/null +++ b/media-libs/lib3ds/files/lib3ds-1.2.0-fix-aliasing.patch @@ -0,0 +1,33 @@ +strict aliasing rules say this sort of casting is illegal + +http://bugs.gentoo.org/172421 + +--- lib3ds/io.c ++++ lib3ds/io.c +@@ -249,6 +249,7 @@ + { + Lib3dsByte b[4]; + Lib3dsDword d; ++ Lib3dsFloat ret; + + ASSERT(io); + lib3ds_io_read(io, b, 4); +@@ -256,7 +257,8 @@ + ((Lib3dsDword)b[2] << 16) | + ((Lib3dsDword)b[1] << 8) | + ((Lib3dsDword)b[0]); +- return(*((Lib3dsFloat*)&d)); ++ memcpy(&ret, &d, sizeof(ret)); ++ return ret; + } + + +@@ -462,7 +464,7 @@ + Lib3dsDword d; + + ASSERT(io); +- d=*((Lib3dsDword*)&l); ++ memcpy(&d, &l, sizeof(d)); + b[3]=(Lib3dsByte)(((Lib3dsDword)d & 0xFF000000) >> 24); + b[2]=(Lib3dsByte)(((Lib3dsDword)d & 0x00FF0000) >> 16); + b[1]=(Lib3dsByte)(((Lib3dsDword)d & 0x0000FF00) >> 8); diff --git a/media-libs/lib3ds/files/lib3ds-1.2.0-m4-underquoted.patch b/media-libs/lib3ds/files/lib3ds-1.2.0-m4-underquoted.patch new file mode 100644 index 000000000000..ee8c654f650d --- /dev/null +++ b/media-libs/lib3ds/files/lib3ds-1.2.0-m4-underquoted.patch @@ -0,0 +1,11 @@ +--- lib3ds-1.2.0/lib3ds.m4 ++++ lib3ds-1.2.0/lib3ds.m4 +@@ -1,7 +1,7 @@ + dnl + dnl AM_PATH_LIB3DS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) + dnl +-AC_DEFUN(AM_PATH_LIB3DS, ++AC_DEFUN([AM_PATH_LIB3DS], + [ + + AC_ARG_WITH(lib3ds-prefix,[ --with-lib3ds-prefix=PFX Prefix where lib3ds is installed (optional)], diff --git a/media-libs/lib3ds/lib3ds-1.2.0-r1.ebuild b/media-libs/lib3ds/lib3ds-1.2.0-r1.ebuild new file mode 100644 index 000000000000..e02e20161f52 --- /dev/null +++ b/media-libs/lib3ds/lib3ds-1.2.0-r1.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-libs/lib3ds/lib3ds-1.2.0-r1.ebuild,v 1.1 2007/03/31 03:20:54 vapier Exp $ + +inherit eutils + +DESCRIPTION="overall software library for managing 3D-Studio Release 3 and 4 .3DS files" +HOMEPAGE="http://lib3ds.sourceforge.net/" +SRC_URI="mirror://sourceforge/lib3ds/${P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~ia64 ~ppc ~sparc ~x86" +IUSE="" + +DEPEND="virtual/glut + virtual/opengl" + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/${P}-fix-aliasing.patch #172421 + epatch "${FILESDIR}"/${P}-m4-underquoted.patch + # Add -fPIC only to the .so + sed -i -e "s/@CFLAGS@/@CFLAGS@ -fPIC/" lib3ds/Makefile.in || die "sed lib3ds/Makefile.in failed" +} + +src_install() { + emake DESTDIR="${D}" install || die + dobin examples/3ds2rib || die + newbin examples/player 3dsplayer || die + dodoc README AUTHORS +}