Fix strict aliasing violation #172421 by Anssi Grohn.
authorMike Frysinger <vapier@gentoo.org>
Sat, 31 Mar 2007 03:20:54 +0000 (03:20 +0000)
committerMike Frysinger <vapier@gentoo.org>
Sat, 31 Mar 2007 03:20:54 +0000 (03:20 +0000)
Package-Manager: portage-2.1.2.2

media-libs/lib3ds/ChangeLog
media-libs/lib3ds/Manifest
media-libs/lib3ds/files/digest-lib3ds-1.2.0-r1 [new file with mode: 0644]
media-libs/lib3ds/files/lib3ds-1.2.0-fix-aliasing.patch [new file with mode: 0644]
media-libs/lib3ds/files/lib3ds-1.2.0-m4-underquoted.patch [new file with mode: 0644]
media-libs/lib3ds/lib3ds-1.2.0-r1.ebuild [new file with mode: 0644]

index bba482da3f6caee642b1344722708a383af7f7c2..905582cc5dcd8d7ea33383553a10c83c97aae63b 100644 (file)
@@ -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 <vapier@gentoo.org>
+  +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 <agriffis@gentoo.org> lib3ds-1.2.0.ebuild:
   Mark 1.2.0 stable on ia64
index e804b22433a9c189245d86d514f9ce2717460c72..82b21f965a93ac9aaf325638b86e2832cd3e3059 100644 (file)
@@ -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 (file)
index 0000000..14297f0
--- /dev/null
@@ -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 (file)
index 0000000..7196bad
--- /dev/null
@@ -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 (file)
index 0000000..ee8c654
--- /dev/null
@@ -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 (file)
index 0000000..e02e201
--- /dev/null
@@ -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
+}