summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2010-02-21 10:15:37 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2010-02-21 10:15:37 +0000
commita1792f8f547e10f492d2f275cf393df726f2f44a (patch)
tree0b5a2d12f148641c70059250d71027da14021b93 /media-libs/xvid
parentMake it really multiple python version aware (diff)
downloadgentoo-2-a1792f8f547e10f492d2f275cf393df726f2f44a.tar.gz
gentoo-2-a1792f8f547e10f492d2f275cf393df726f2f44a.tar.bz2
gentoo-2-a1792f8f547e10f492d2f275cf393df726f2f44a.zip
Apply rpmfusion noexecstack patch from bug 258804, thanks to Pacho Ramos.
(Portage version: 2.2_rc63/cvs/Linux x86_64)
Diffstat (limited to 'media-libs/xvid')
-rw-r--r--media-libs/xvid/ChangeLog10
-rw-r--r--media-libs/xvid/files/xvid-1.2.2-noexecstack.patch457
-rw-r--r--media-libs/xvid/xvid-1.2.2-r2.ebuild58
3 files changed, 523 insertions, 2 deletions
diff --git a/media-libs/xvid/ChangeLog b/media-libs/xvid/ChangeLog
index d17034323747..ddd6e1bc6c78 100644
--- a/media-libs/xvid/ChangeLog
+++ b/media-libs/xvid/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for media-libs/xvid
-# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/xvid/ChangeLog,v 1.113 2009/06/07 13:20:06 ssuominen Exp $
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/xvid/ChangeLog,v 1.114 2010/02/21 10:15:36 ssuominen Exp $
+
+*xvid-1.2.2-r2 (21 Feb 2010)
+
+ 21 Feb 2010; Samuli Suominen <ssuominen@gentoo.org> +xvid-1.2.2-r2.ebuild,
+ +files/xvid-1.2.2-noexecstack.patch:
+ Apply rpmfusion noexecstack patch from bug 258804, thanks to Pacho Ramos.
07 Jun 2009; Samuli Suominen <ssuominen@gentoo.org> xvid-1.2.2-r1.ebuild:
configure for x86_64 prefers yasm and it needs to be 0.8.0, so adjust the
diff --git a/media-libs/xvid/files/xvid-1.2.2-noexecstack.patch b/media-libs/xvid/files/xvid-1.2.2-noexecstack.patch
new file mode 100644
index 000000000000..aef52f33814e
--- /dev/null
+++ b/media-libs/xvid/files/xvid-1.2.2-noexecstack.patch
@@ -0,0 +1,457 @@
+diff -up xvidcore/src/bitstream/x86_asm/cbp_mmx.asm.noexec-stack xvidcore/src/bitstream/x86_asm/cbp_mmx.asm
+--- xvidcore/src/bitstream/x86_asm/cbp_mmx.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/bitstream/x86_asm/cbp_mmx.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -126,8 +126,4 @@ calc_cbp_mmx:
+ ret
+ ENDFUNC
+
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/bitstream/x86_asm/cbp_sse2.asm.noexec-stack xvidcore/src/bitstream/x86_asm/cbp_sse2.asm
+--- xvidcore/src/bitstream/x86_asm/cbp_sse2.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/bitstream/x86_asm/cbp_sse2.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -116,8 +116,4 @@ calc_cbp_sse2:
+ ret
+ ENDFUNC
+
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/dct/x86_asm/fdct_mmx_ffmpeg.asm.noexec-stack xvidcore/src/dct/x86_asm/fdct_mmx_ffmpeg.asm
+--- xvidcore/src/dct/x86_asm/fdct_mmx_ffmpeg.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/dct/x86_asm/fdct_mmx_ffmpeg.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -401,7 +401,4 @@ MAKE_FDCT_FUNC fdct_mmx_ffmpeg, FDCT_ROW
+
+ MAKE_FDCT_FUNC fdct_xmm_ffmpeg, FDCT_ROW_XMM
+
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/dct/x86_asm/fdct_mmx_skal.asm.noexec-stack xvidcore/src/dct/x86_asm/fdct_mmx_skal.asm
+--- xvidcore/src/dct/x86_asm/fdct_mmx_skal.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/dct/x86_asm/fdct_mmx_skal.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -500,7 +500,4 @@ MAKE_FDCT_FUNC fdct_mmx_skal, fMTX_MULT_
+
+ MAKE_FDCT_FUNC fdct_xmm_skal, fMTX_MULT_XMM
+
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/dct/x86_asm/fdct_sse2_skal.asm.noexec-stack xvidcore/src/dct/x86_asm/fdct_sse2_skal.asm
+--- xvidcore/src/dct/x86_asm/fdct_sse2_skal.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/dct/x86_asm/fdct_sse2_skal.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -605,7 +605,4 @@ fdct_sse2_skal:
+ ENDFUNC
+
+
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/dct/x86_asm/idct_3dne.asm.noexec-stack xvidcore/src/dct/x86_asm/idct_3dne.asm
+--- xvidcore/src/dct/x86_asm/idct_3dne.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/dct/x86_asm/idct_3dne.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -698,8 +698,4 @@ idct_3dne:
+ ret
+ ENDFUNC
+
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/dct/x86_asm/idct_mmx.asm.noexec-stack xvidcore/src/dct/x86_asm/idct_mmx.asm
+--- xvidcore/src/dct/x86_asm/idct_mmx.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/dct/x86_asm/idct_mmx.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -608,8 +608,4 @@ idct_xmm:
+ ret
+ ENDFUNC
+
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/dct/x86_asm/idct_sse2_dmitry.asm.noexec-stack xvidcore/src/dct/x86_asm/idct_sse2_dmitry.asm
+--- xvidcore/src/dct/x86_asm/idct_sse2_dmitry.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/dct/x86_asm/idct_sse2_dmitry.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -325,8 +325,4 @@ idct_sse2_dmitry:
+ ret
+ ENDFUNC
+
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/image/x86_asm/colorspace_rgb_mmx.asm.noexec-stack xvidcore/src/image/x86_asm/colorspace_rgb_mmx.asm
+--- xvidcore/src/image/x86_asm/colorspace_rgb_mmx.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/image/x86_asm/colorspace_rgb_mmx.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -514,8 +514,4 @@ MAKE_COLORSPACE rgba_to_yv12_mmx,0, 4
+ MAKE_COLORSPACE yv12_to_bgr_mmx,48, 3,8,2, YV12_TO_BGR, 3, -1
+ MAKE_COLORSPACE yv12_to_bgra_mmx,48, 4,8,2, YV12_TO_BGR, 4, -1
+
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/image/x86_asm/colorspace_yuv_mmx.asm.noexec-stack xvidcore/src/image/x86_asm/colorspace_yuv_mmx.asm
+--- xvidcore/src/image/x86_asm/colorspace_yuv_mmx.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/image/x86_asm/colorspace_yuv_mmx.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -474,7 +474,4 @@ MAKE_YV12_TO_YV12 yv12_to_yv12_mmx, 0
+
+ MAKE_YV12_TO_YV12 yv12_to_yv12_xmm, 1
+
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/image/x86_asm/colorspace_yuyv_mmx.asm.noexec-stack xvidcore/src/image/x86_asm/colorspace_yuyv_mmx.asm
+--- xvidcore/src/image/x86_asm/colorspace_yuyv_mmx.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/image/x86_asm/colorspace_yuyv_mmx.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -341,7 +341,4 @@ MAKE_COLORSPACE yv12_to_uyvy_mmx,0,
+ MAKE_COLORSPACE yv12_to_yuyvi_mmx,0, 2,8,4, YV12_TO_YUYVI, 0, -1
+ MAKE_COLORSPACE yv12_to_uyvyi_mmx,0, 2,8,4, YV12_TO_YUYVI, 1, -1
+
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/image/x86_asm/deintl_sse.asm.noexec-stack xvidcore/src/image/x86_asm/deintl_sse.asm
+--- xvidcore/src/image/x86_asm/deintl_sse.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/image/x86_asm/deintl_sse.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -131,7 +131,4 @@ xvid_deinterlace_sse:
+ ENDFUNC
+
+ ;//////////////////////////////////////////////////////////////////////
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
++NON_EXEC_STACK
+diff -up xvidcore/src/image/x86_asm/gmc_mmx.asm.noexec-stack xvidcore/src/image/x86_asm/gmc_mmx.asm
+--- xvidcore/src/image/x86_asm/gmc_mmx.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/image/x86_asm/gmc_mmx.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -220,7 +220,4 @@ xvid_GMC_Core_Lin_8_sse41:
+ ENDFUNC
+
+ ;//////////////////////////////////////////////////////////////////////
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
++NON_EXEC_STACK
+diff -up xvidcore/src/image/x86_asm/interpolate8x8_3dn.asm.noexec-stack xvidcore/src/image/x86_asm/interpolate8x8_3dn.asm
+--- xvidcore/src/image/x86_asm/interpolate8x8_3dn.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/image/x86_asm/interpolate8x8_3dn.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -463,8 +463,4 @@ interpolate8x4_halfpel_hv_3dn:
+ ret
+ ENDFUNC
+
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/image/x86_asm/interpolate8x8_3dne.asm.noexec-stack xvidcore/src/image/x86_asm/interpolate8x8_3dne.asm
+--- xvidcore/src/image/x86_asm/interpolate8x8_3dne.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/image/x86_asm/interpolate8x8_3dne.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -563,8 +563,4 @@ ALIGN SECTION_ALIGN
+ ret
+ ENDFUNC
+
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/image/x86_asm/interpolate8x8_mmx.asm.noexec-stack xvidcore/src/image/x86_asm/interpolate8x8_mmx.asm
+--- xvidcore/src/image/x86_asm/interpolate8x8_mmx.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/image/x86_asm/interpolate8x8_mmx.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -1328,8 +1328,4 @@ interpolate8x8_halfpel_hv_add_mmx:
+ ret
+ ENDFUNC
+
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/image/x86_asm/interpolate8x8_xmm.asm.noexec-stack xvidcore/src/image/x86_asm/interpolate8x8_xmm.asm
+--- xvidcore/src/image/x86_asm/interpolate8x8_xmm.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/image/x86_asm/interpolate8x8_xmm.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -819,8 +819,4 @@ interpolate8x8_halfpel_hv_add_xmm:
+ EPILOG
+ ENDFUNC
+
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/image/x86_asm/postprocessing_mmx.asm.noexec-stack xvidcore/src/image/x86_asm/postprocessing_mmx.asm
+--- xvidcore/src/image/x86_asm/postprocessing_mmx.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/image/x86_asm/postprocessing_mmx.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -114,7 +114,4 @@ image_brightness_mmx:
+ ENDFUNC
+ ;//////////////////////////////////////////////////////////////////////
+
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/image/x86_asm/postprocessing_sse2.asm.noexec-stack xvidcore/src/image/x86_asm/postprocessing_sse2.asm
+--- xvidcore/src/image/x86_asm/postprocessing_sse2.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/image/x86_asm/postprocessing_sse2.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -130,7 +130,4 @@ image_brightness_sse2:
+ ENDFUNC
+ ;//////////////////////////////////////////////////////////////////////
+
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/image/x86_asm/qpel_mmx.asm.noexec-stack xvidcore/src/image/x86_asm/qpel_mmx.asm
+--- xvidcore/src/image/x86_asm/qpel_mmx.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/image/x86_asm/qpel_mmx.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -1149,7 +1149,4 @@ ENDFUNC
+ %undef SRC_PTR
+ %undef DST_PTR
+
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/image/x86_asm/reduced_mmx.asm.noexec-stack xvidcore/src/image/x86_asm/reduced_mmx.asm
+--- xvidcore/src/image/x86_asm/reduced_mmx.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/image/x86_asm/reduced_mmx.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -985,8 +985,4 @@ ENDFUNC
+
+ ; pfeewwww... Never Do That On Stage Again. :)
+
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/motion/x86_asm/sad_3dn.asm.noexec-stack xvidcore/src/motion/x86_asm/sad_3dn.asm
+--- xvidcore/src/motion/x86_asm/sad_3dn.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/motion/x86_asm/sad_3dn.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -216,8 +216,4 @@ sad8bi_3dn:
+ ret
+ ENDFUNC
+
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/motion/x86_asm/sad_3dne.asm.noexec-stack xvidcore/src/motion/x86_asm/sad_3dne.asm
+--- xvidcore/src/motion/x86_asm/sad_3dne.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/motion/x86_asm/sad_3dne.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -490,8 +490,4 @@ ALIGN SECTION_ALIGN
+ ret
+ ENDFUNC
+
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/motion/x86_asm/sad_mmx.asm.noexec-stack xvidcore/src/motion/x86_asm/sad_mmx.asm
+--- xvidcore/src/motion/x86_asm/sad_mmx.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/motion/x86_asm/sad_mmx.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -731,8 +731,4 @@ sse8_8bit_mmx:
+ ret
+ ENDFUNC
+
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/motion/x86_asm/sad_sse2.asm.noexec-stack xvidcore/src/motion/x86_asm/sad_sse2.asm
+--- xvidcore/src/motion/x86_asm/sad_sse2.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/motion/x86_asm/sad_sse2.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -176,8 +176,4 @@ dev16_sse3:
+ MEAN16_SSE2_SSE3 lddqu
+ ENDFUNC
+
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/motion/x86_asm/sad_xmm.asm.noexec-stack xvidcore/src/motion/x86_asm/sad_xmm.asm
+--- xvidcore/src/motion/x86_asm/sad_xmm.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/motion/x86_asm/sad_xmm.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -436,8 +436,4 @@ sad16v_xmm:
+ ret
+ ENDFUNC
+
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/nasm.inc.noexec-stack xvidcore/src/nasm.inc
+--- xvidcore/src/nasm.inc.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/nasm.inc 2009-09-21 10:39:24.000000000 +0200
+@@ -189,3 +189,12 @@ BITS 32
+ %endif
+ %endif
+ %endmacro
++
++%macro NON_EXEC_STACK 0
++%ifidn __OUTPUT_FORMAT__,elf
++section .note.GNU-stack noalloc noexec nowrite progbits
++%endif
++%ifidn __OUTPUT_FORMAT__,elf64
++section .note.GNU-stack noalloc noexec nowrite progbits
++%endif
++%endmacro
+diff -up xvidcore/src/plugins/x86_asm/plugin_ssim-a.asm.noexec-stack xvidcore/src/plugins/x86_asm/plugin_ssim-a.asm
+--- xvidcore/src/plugins/x86_asm/plugin_ssim-a.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/plugins/x86_asm/plugin_ssim-a.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -273,6 +273,4 @@ consim_mmx:
+ ret
+ ENDFUNC
+
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
++NON_EXEC_STACK
+diff -up xvidcore/src/quant/x86_asm/quantize_h263_3dne.asm.noexec-stack xvidcore/src/quant/x86_asm/quantize_h263_3dne.asm
+--- xvidcore/src/quant/x86_asm/quantize_h263_3dne.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/quant/x86_asm/quantize_h263_3dne.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -931,7 +931,4 @@ ALIGN SECTION_ALIGN
+ ret
+ ENDFUNC
+
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/quant/x86_asm/quantize_h263_mmx.asm.noexec-stack xvidcore/src/quant/x86_asm/quantize_h263_mmx.asm
+--- xvidcore/src/quant/x86_asm/quantize_h263_mmx.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/quant/x86_asm/quantize_h263_mmx.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -1070,8 +1070,4 @@ dequant_h263_inter_sse2:
+ ret
+ ENDFUNC
+
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/quant/x86_asm/quantize_mpeg_mmx.asm.noexec-stack xvidcore/src/quant/x86_asm/quantize_mpeg_mmx.asm
+--- xvidcore/src/quant/x86_asm/quantize_mpeg_mmx.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/quant/x86_asm/quantize_mpeg_mmx.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -657,8 +657,4 @@ ALIGN SECTION_ALIGN
+ ret
+ ENDFUNC
+
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/quant/x86_asm/quantize_mpeg_xmm.asm.noexec-stack xvidcore/src/quant/x86_asm/quantize_mpeg_xmm.asm
+--- xvidcore/src/quant/x86_asm/quantize_mpeg_xmm.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/quant/x86_asm/quantize_mpeg_xmm.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -618,8 +618,4 @@ ALIGN SECTION_ALIGN
+ ret
+ ENDFUNC
+
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/utils/x86_asm/cpuid.asm.noexec-stack xvidcore/src/utils/x86_asm/cpuid.asm
+--- xvidcore/src/utils/x86_asm/cpuid.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/utils/x86_asm/cpuid.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -240,7 +240,4 @@ ENDFUNC
+ %endif
+
+
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/utils/x86_asm/interlacing_mmx.asm.noexec-stack xvidcore/src/utils/x86_asm/interlacing_mmx.asm
+--- xvidcore/src/utils/x86_asm/interlacing_mmx.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/utils/x86_asm/interlacing_mmx.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -198,8 +198,4 @@ MBFieldTest_mmx:
+ ret
+ ENDFUNC
+
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/utils/x86_asm/mem_transfer_3dne.asm.noexec-stack xvidcore/src/utils/x86_asm/mem_transfer_3dne.asm
+--- xvidcore/src/utils/x86_asm/mem_transfer_3dne.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/utils/x86_asm/mem_transfer_3dne.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -465,8 +465,4 @@ transfer8x4_copy_3dne:
+ ret
+ ENDFUNC
+
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
+diff -up xvidcore/src/utils/x86_asm/mem_transfer_mmx.asm.noexec-stack xvidcore/src/utils/x86_asm/mem_transfer_mmx.asm
+--- xvidcore/src/utils/x86_asm/mem_transfer_mmx.asm.noexec-stack 2009-09-21 10:39:07.000000000 +0200
++++ xvidcore/src/utils/x86_asm/mem_transfer_mmx.asm 2009-09-21 10:39:24.000000000 +0200
+@@ -588,8 +588,4 @@ transfer8x4_copy_mmx:
+ ret
+ ENDFUNC
+
+-
+-%ifidn __OUTPUT_FORMAT__,elf
+-section ".note.GNU-stack" noalloc noexec nowrite progbits
+-%endif
+-
++NON_EXEC_STACK
diff --git a/media-libs/xvid/xvid-1.2.2-r2.ebuild b/media-libs/xvid/xvid-1.2.2-r2.ebuild
new file mode 100644
index 000000000000..08ecafd153f9
--- /dev/null
+++ b/media-libs/xvid/xvid-1.2.2-r2.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/xvid/xvid-1.2.2-r2.ebuild,v 1.1 2010/02/21 10:15:36 ssuominen Exp $
+
+EAPI=2
+inherit eutils multilib
+
+MY_PN=${PN}core
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="XviD, a high performance/quality MPEG-4 video de-/encoding solution"
+HOMEPAGE="http://www.xvid.org"
+SRC_URI="http://downloads.xvid.org/downloads/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="examples pic"
+
+NASM=">=dev-lang/nasm-2.05.01"
+YASM=">=dev-lang/yasm-0.8.0"
+
+DEPEND="amd64? ( !<dev-lang/yasm-0.8.0
+ || ( ${YASM} ${NASM} ) )
+ x86? ( ${YASM} ${NASM} )
+ x86-fbsd? ( ${NASM} )"
+RDEPEND=""
+
+S=${WORKDIR}/${MY_PN}/build/generic
+
+src_prepare() {
+ cd "${WORKDIR}"
+ epatch "${FILESDIR}"/${P}-noexecstack.patch
+}
+
+src_configure() {
+ local myconf
+
+ if use pic; then
+ myconf="--disable-assembly"
+ fi
+
+ econf ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc "${S}"/../../{AUTHORS,ChangeLog*,CodingStyle,README,TODO}
+
+ local mylib=$(basename $(ls "${D}"/usr/$(get_libdir)/libxvidcore.so*))
+ dosym ${mylib} /usr/$(get_libdir)/libxvidcore.so
+ dosym ${mylib} /usr/$(get_libdir)/${mylib%.?}
+
+ if use examples; then
+ insinto /usr/share/${PN}
+ doins -r "${S}"/../../examples
+ fi
+}