Bug #64331, Bug #51138, Bug #70062
authorMalcolm Lashley <malc@gentoo.org>
Tue, 11 Jan 2005 02:44:46 +0000 (02:44 +0000)
committerMalcolm Lashley <malc@gentoo.org>
Tue, 11 Jan 2005 02:44:46 +0000 (02:44 +0000)
media-libs/libdv/ChangeLog
media-libs/libdv/Manifest
media-libs/libdv/files/digest-libdv-0.104 [new file with mode: 0644]
media-libs/libdv/files/libdv-0.104-amd64reloc.patch [new file with mode: 0644]
media-libs/libdv/libdv-0.101.ebuild
media-libs/libdv/libdv-0.102.ebuild
media-libs/libdv/libdv-0.104.ebuild [new file with mode: 0644]
media-libs/libdv/libdv-0.99-r1.ebuild

index 8e52939874de2ed9f04b10fe780b1015b6b53dbb..95b4138c3f2e93f8c41e5d5531d6b25a33aa3b80 100644 (file)
@@ -1,6 +1,14 @@
 # ChangeLog for media-libs/libdv
-# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/libdv/ChangeLog,v 1.34 2004/12/17 20:31:47 corsair Exp $
+# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/libdv/ChangeLog,v 1.35 2005/01/11 02:44:45 malc Exp $
+
+*libdv-0.104 (10 Jan 2005)
+
+  10 Jan 2005; Malcolm Lashley <malc@gentoo.org>
+  +files/libdv-0.104-amd64reloc.patch, +libdv-0.104.ebuild:
+  Version Bump to 0.104, bug #64331 - CFLAG hack removal per bug #51138 and
+  ciaranm's mail to -dev - amd64 reloc patches from libdv-dev ml by Dean
+  Kolosiek - this ebuild should also cure the symptoms of Bug #70062
 
   17 Dec 2004; Markus Rothe <corsair@gentoo.org> libdv-0.102.ebuild:
   Stable on ppc64
index 1a6dfcbba2e37c13d3f35cee983f5899d31c4eb2..eb299688ee4fd12f7f5c198a41c1a919b3c9b9a6 100644 (file)
@@ -1,10 +1,13 @@
-MD5 138568dac68a4c0f7c39a5250012d2c7 ChangeLog 4557
-MD5 95cf2627451e7f77180cbf42619e56e8 libdv-0.101.ebuild 1168
-MD5 d6a13f42d024596c92f7befb87c194a5 libdv-0.102.ebuild 1172
-MD5 e5723beab0c76b95bfe4a5aa498eff62 libdv-0.99-r1.ebuild 1173
+MD5 6104a924ab9136919a1b0eac2bf586bb libdv-0.101.ebuild 1164
+MD5 a113b083fad2c71bcf2a360548ac7545 libdv-0.102.ebuild 1169
+MD5 9eddaa9f84b052f62b463beadff4dfe7 libdv-0.99-r1.ebuild 1169
 MD5 1427fcf4db28b76b675aae8bac20ab39 metadata.xml 274
+MD5 2828654da771b3dddc6d6b2fb2fc1051 libdv-0.104.ebuild 1169
+MD5 db041017458ffa2ad9bd7fbe34c2f17d ChangeLog 4910
 MD5 21abc06a6e969b1a6b5b1ca2f1f09474 files/digest-libdv-0.101 63
 MD5 d577f2ed689030f4f13088422f1fa185 files/digest-libdv-0.102 63
 MD5 3d3bbf2ecd039329fe6b73dc9ada38bf files/digest-libdv-0.99-r1 62
 MD5 592d600ce50f0a107ecd5b348d434f9f files/libdv-0.99-2.6.patch 439
 MD5 db1c07312c8a5de3d64bc80c44b26d6e files/libdv-0.99-disablegtk.patch 3309
+MD5 2524a27d2f6e849452d1d5d1f97580ec files/digest-libdv-0.104 63
+MD5 ccdc17c32d38a07aab1b06d6932a13f8 files/libdv-0.104-amd64reloc.patch 9114
diff --git a/media-libs/libdv/files/digest-libdv-0.104 b/media-libs/libdv/files/digest-libdv-0.104
new file mode 100644 (file)
index 0000000..104e625
--- /dev/null
@@ -0,0 +1 @@
+MD5 f6b08efce7472daa20685e6e8431f542 libdv-0.104.tar.gz 554691
diff --git a/media-libs/libdv/files/libdv-0.104-amd64reloc.patch b/media-libs/libdv/files/libdv-0.104-amd64reloc.patch
new file mode 100644 (file)
index 0000000..666ce7a
--- /dev/null
@@ -0,0 +1,262 @@
+diff -aur /tmp/libdv-0.104/libdv/encode_x86_64.S /tmp/libdv-0.104-patched/libdv/encode_x86_64.S
+--- /tmp/libdv-0.104/libdv/encode_x86_64.S     2004-11-17 03:36:30.000000000 +0000
++++ /tmp/libdv-0.104-patched/libdv/encode_x86_64.S     2004-12-10 07:53:12.000000000 +0000
+@@ -47,7 +47,8 @@
+ 
+       mov     $63, %rcx                        # loop counter
+ 
+-      mov     vlc_encode_lookup(%rip), %r11
++      mov     vlc_encode_lookup@GOTPCREL(%rip), %r11
++      mov     (%r11),%r11
+ 
+       pxor    %mm0, %mm0
+       pxor    %mm2, %mm2
+@@ -129,7 +130,8 @@
+       add     $2, %rdi           /* skip the DC coefficient */
+       mov     $63, %rcx
+ 
+-      mov     vlc_num_bits_lookup(%rip), %r11
++      mov     vlc_num_bits_lookup@GOTPCREL(%rip), %r11
++      mov     (%r11),%r11
+       
+ vlc_num_bits_block_x86_loop:
+       movw    (%rdi), %ax        /* get the next coeffiecient */
+diff -aur /tmp/libdv-0.104/libdv/idct_block_mmx_x86_64.S /tmp/libdv-0.104-patched/libdv/idct_block_mmx_x86_64.S
+--- /tmp/libdv-0.104/libdv/idct_block_mmx_x86_64.S     2004-10-20 04:49:24.000000000 +0100
++++ /tmp/libdv-0.104-patched/libdv/idct_block_mmx_x86_64.S     2004-12-10 07:38:23.000000000 +0000
+@@ -22,7 +22,7 @@
+ /* void _dv_idct_88(dv_coeff_t *block) */
+       /* argument block=rdi */
+       
+-      lea      preSC(%rip), %r11
++      mov      preSC@GOTPCREL(%rip), %r11
+ 
+ /* 
+  *    column 0: even part
+diff -aur /tmp/libdv-0.104/libdv/quant_x86_64.S /tmp/libdv-0.104-patched/libdv/quant_x86_64.S
+--- /tmp/libdv-0.104/libdv/quant_x86_64.S      2004-11-17 03:36:30.000000000 +0000
++++ /tmp/libdv-0.104-patched/libdv/quant_x86_64.S      2004-12-10 07:36:42.000000000 +0000
+@@ -73,10 +73,10 @@
+       /*  pq = dv_quant_shifts[qno + dv_quant_offset[class]]; */
+       mov     %rsi,%rax       /* qno */
+       mov     %rdx,%r12       /* class */
+-      lea     dv_quant_offset(%rip),%rcx
++      mov     dv_quant_offset@GOTPCREL(%rip),%rcx
+       movzbq  (%rcx,%r12,1),%rcx   /* dv_quant_offset[class] */
+       add     %rcx,%rax                       /* qno + */
+-      lea     dv_quant_shifts(%rip),%r11
++      mov     dv_quant_shifts@GOTPCREL(%rip),%r11
+       lea     (%r11,%rax,4),%r11      /* r11 is pq = dv_quant_shifts[...] */
+ 
+       /* extra = (class == 3); */
+@@ -217,10 +217,10 @@
+       mov     %rsi,%rax       /* qno */
+       mov     %rdx,%r12       /* class */
+ 
+-      lea     dv_quant_offset(%rip),%rcx
++      mov     dv_quant_offset@GOTPCREL(%rip),%rcx
+       movzbq  (%rcx,%r12,1),%rcx
+       add     %rcx,%rax
+-      lea     dv_quant_shifts(%rip),%r11
++      mov     dv_quant_shifts@GOTPCREL(%rip),%r11
+       lea     (%r11,%rax,4),%r11      /* r11 is pq */
+ 
+       /* extra = (class == 3); */
+diff -aur /tmp/libdv-0.104/libdv/vlc_x86_64.S /tmp/libdv-0.104-patched/libdv/vlc_x86_64.S
+--- /tmp/libdv-0.104/libdv/vlc_x86_64.S        2004-10-20 04:49:24.000000000 +0100
++++ /tmp/libdv-0.104-patched/libdv/vlc_x86_64.S        2004-12-12 05:43:49.000000000 +0000
+@@ -16,28 +16,28 @@
+       /* klass = dv_vlc_classes[maxbits][(bits & (dv_vlc_class_index_mask[maxbits])) >> */
+       /*         (dv_vlc_class_index_rshift[maxbits])];  */
+ /*    xor  %rbp,%rbp */
+-      lea  dv_vlc_class_index_mask(%rip),%r11            /* use %rip for PIC code */
++      mov  dv_vlc_class_index_mask@GOTPCREL(%rip),%r11    /* use %rip for PIC code */
+       mov  (%r11,%rbx,4),%ebp           /* int32 */      /* dv_vlc_class_index_mask[maxbits] */
+       and  %eax,%ebp                                     /* bits & */
+-      lea  dv_vlc_class_index_rshift(%rip),%rcx
++      mov  dv_vlc_class_index_rshift@GOTPCREL(%rip),%rcx
+       mov  (%rcx,%rbx,4),%ecx           /* int32 */      /* dv_vlc_class_index_rshift[maxbits] */
+       sar  %cl,%ebp                                      /* >> */
+-      lea  dv_vlc_classes(%rip),%rcx
++      mov  dv_vlc_classes@GOTPCREL(%rip),%rcx
+       mov  (%rcx,%rbx,8),%rcx           /* ptr */        /* dv_vlc_classes[maxbits], a pointer */
+       movsbq  (%rcx,%rbp,1),%rbp        /* int8 */       /* klass = */
+ 
+       /* *result = dv_vlc_lookups[klass][(bits & (dv_vlc_index_mask[klass])) >> */
+       /*           (dv_vlc_index_rshift[klass])];   */
+ /*    xor  %rbx,%rbx */
+-      lea  dv_vlc_index_mask(%rip),%r11
++      mov  dv_vlc_index_mask@GOTPCREL(%rip),%r11
+       mov  (%r11,%rbp,4),%ebx          /* int32 */       /* (dv_vlc_index_mask[klass]) */
+ /*    xor  %rcx,%rcx */
+-      lea  dv_vlc_index_rshift(%rip),%r11
++      mov  dv_vlc_index_rshift@GOTPCREL(%rip),%r11
+       mov  (%r11,%rbp,4),%ecx          /* int32 */       /* dv_vlc_index_rshift[klass] */
+       and  %eax,%ebx                                     /* bits &  */
+       sar  %cl,%ebx                                      /* >> */
+ 
+-      lea  dv_vlc_lookups(%rip),%r11
++      mov  dv_vlc_lookups@GOTPCREL(%rip),%r11
+       mov  (%r11,%rbp,8),%rbp          /* ptr */         /* dv_vlc_lookups[klass] */
+       mov  (%rbp,%rbx,4),%ebp          /* int32 */       /* *result = */
+ 
+@@ -57,7 +57,7 @@
+       mov  %ebp,%ecx
+       sar  $8,%ecx
+       and  $0xff,%ecx                /* result->len */
+-      lea  sign_mask(%rip),%rbx
++      mov  sign_mask@GOTPCREL(%rip),%rbx
+       mov  (%rbx,%rcx,4),%ebx        /* int32 */
+       and  %ebx,%eax
+       neg  %eax
+@@ -109,17 +109,17 @@
+       mov  %rax,%rbp
+       and  $0xfe00,%ebp
+       sar  $9,%ebp
+-      lea  dv_vlc_class_lookup5(%rip),%r11
++      mov  dv_vlc_class_lookup5@GOTPCREL(%rip),%r11
+       movsbq  (%r11,%rbp),%rbp        /* int8 klass */
+ 
+-      lea  dv_vlc_index_mask(%rip),%rbx
++      mov  dv_vlc_index_mask@GOTPCREL(%rip),%rbx
+       mov  (%rbx,%rbp,4),%ebx         /* int32 */
+-      lea  dv_vlc_index_rshift(%rip),%rcx
++      mov  dv_vlc_index_rshift@GOTPCREL(%rip),%rcx
+       mov  (%rcx,%rbp,4),%ecx         /* int32 */
+       and  %eax,%ebx
+       sar  %cl,%ebx                   /* %rbx is klass */
+ 
+-      lea  dv_vlc_lookups(%rip),%r11
++      mov  dv_vlc_lookups@GOTPCREL(%rip),%r11
+       mov  (%r11,%rbp,8),%rbp         /* ptr */
+       mov  (%rbp,%rbx,4),%ebp         /* int32 */
+ 
+@@ -138,7 +138,7 @@
+       mov  %ebp,%ecx
+       sar  $8,%ecx
+       and  $0xff,%ecx
+-      lea  sign_mask(%rip),%r11
++      mov  sign_mask@GOTPCREL(%rip),%r11
+       mov  (%r11,%rcx,4),%ecx        /* int32 */
+       and  %ecx,%eax
+       neg  %eax
+@@ -253,7 +253,7 @@
+ 
+       /* Attempt to use the shortcut first.  If it hits, then
+          this vlc term has been decoded. */
+-      lea     dv_vlc_class1_shortcut(%rip),%r10
++      mov     dv_vlc_class1_shortcut@GOTPCREL(%rip),%r10
+       mov     (%r10,%rcx,4),%r11d    /* record32 dv_vlc_tab_t */
+       test    $0x80,%r11d
+       
+@@ -267,17 +267,17 @@
+ 
+       /* %rax is bits */
+       
+-      lea  dv_vlc_class_lookup5(%rip),%r10
++      mov  dv_vlc_class_lookup5@GOTPCREL(%rip),%r10
+       movsbq  (%r10,%rcx,1),%rcx     /* int8 */
+ 
+ /*    xor  %r12,%r12 */
+-      lea  dv_vlc_index_mask(%rip),%r10
++      mov  dv_vlc_index_mask@GOTPCREL(%rip),%r10
+       mov  (%r10,%rcx,4),%r12d       /* int32 */
+       
+-      lea  dv_vlc_lookups(%rip),%r10
++      mov  dv_vlc_lookups@GOTPCREL(%rip),%r10
+       mov  (%r10,%rcx,8),%r11       /* ptr->record32 */
+       
+-      lea  dv_vlc_index_rshift(%rip),%r10
++      mov  dv_vlc_index_rshift@GOTPCREL(%rip),%r10
+       mov  (%r10,%rcx,4),%ecx        /* int32 */
+       
+       and  %eax,%r12d
+@@ -303,7 +303,7 @@
+       mov  %r11d,%ecx
+       sar  $8,%ecx
+       and  $0xff,%ecx
+-      lea  sign_mask(%rip),%r10
++      mov  sign_mask@GOTPCREL(%rip),%r10
+       mov  (%r10,%rcx,4),%ecx      /* int32 */
+       and  %ecx,%eax
+       neg  %eax
+@@ -388,7 +388,8 @@
+       mov     %r11,%rsi        /* bits */
+       mov     %rax,%rdi        /* bits_left */
+       lea     vlc(%rip),%rdx   /* *vlc */
+-      call    dv_decode_vlc
++      mov     dv_decode_vlc@GOTPCREL(%rip),%r11
++      call    *%r11
+       pop     %rdx
+       pop     %rsi
+       pop     %rdi
+@@ -473,7 +474,7 @@
+       movl    %r11d,dv_macroblock_t_eob_count(%r13) /* int32 */
+ 
+       /* mb->i = (seg->i + dv_super_map_vertical[m]) % (seg->isPAL?12:10); */
+-      lea     dv_super_map_vertical(%rip),%r11
++      mov     dv_super_map_vertical@GOTPCREL(%rip),%r11
+       movl    (%r11,%rax,4),%r11d                     /* int32 */
+ /*    xor     %rcx,%rcx */
+       movl    dv_videosegment_t_i(%r12),%ecx          /* int32 */
+@@ -493,7 +494,7 @@
+       movl    %r11d,dv_macroblock_t_i(%r13)         /* int32 */
+ 
+       /*  mb->j = dv_super_map_horizontal[m]; */              
+-      lea     dv_super_map_horizontal(%rip),%r11
++      mov     dv_super_map_horizontal@GOTPCREL(%rip),%r11
+       movl    (%r11,%rax,4),%r11d                   /* int32 */
+       movl    %r11d,dv_macroblock_t_j(%r13)         /* int32 */
+ 
+@@ -546,7 +547,8 @@
+ 
+       /* bl->reorder = &dv_reorder[bl->dct_mode][1]; */
+       shl     $6,%rax                          /* *64 */
+-      lea     (dv_reorder+1)(%rip),%rcx
++      mov     dv_reorder@GOTPCREL(%rip),%rcx
++      add     $1,%rcx
+       add     %rcx,%rax
+       mov     %rax,dv_block_t_reorder(%r15)    /* ptr */
+ 
+@@ -557,13 +559,13 @@
+       /* bl->offset= mb_start + dv_parse_bit_start[b]; */
+ /*    xor     %rcx,%rcx */
+       movl    mb_start(%rip),%ecx             /* int32 */
+-      lea     dv_parse_bit_start(%rip),%rax
++      mov     dv_parse_bit_start@GOTPCREL(%rip),%rax
+       mov     (%rax,%r12,4),%eax              /* int32 */
+       add     %rcx,%rax
+       movl    %eax,dv_block_t_offset(%r15)    /* int32 */
+ 
+       /* bl->end= mb_start + dv_parse_bit_end[b]; */
+-      lea     dv_parse_bit_end(%rip),%rax
++      mov     dv_parse_bit_end@GOTPCREL(%rip),%rax
+       mov     (%rax,%r12,4),%eax            /* int32 */
+       add     %ecx,%eax
+       mov     %eax,dv_block_t_end(%r15)     /* int32 */
+@@ -603,7 +605,8 @@
+       mov     dv_videosegment_t_bs(%rdi),%rdi   /* passed in rdi was seg, now passing seg->bs */
+       mov     %r13,%rsi                         /* mb */
+       mov     %r15,%rdx                         /* bl */
+-      call    dv_parse_ac_coeffs_pass0
++      mov     dv_parse_ac_coeffs_pass0@GOTPCREL(%rip),%r11
++      call    *%r11
+       pop     %rdi
+       pop     %rsi
+       pop     %rdx
+@@ -635,10 +638,12 @@
+       mov     %rsi,%rax                   /* quality */
+       and     $DV_QUALITY_AC_MASK,%rax
+       cmp     $DV_QUALITY_AC_2,%rax
++
++      jne     done
++      mov     dv_parse_ac_coeffs@GOTPCREL(%rip),%r11
++      jmp     *%r11
+       
+-      jz      dv_parse_ac_coeffs
+-      
+-      mov     $0,%rax
++done: mov     $0,%rax
+       
+       ret
+ 
index 428dc1e8c3a3cf7dc6ed17682e0a8da317fda394..9f553027773d9d4767e8fc36210dde567ef5c6c6 100644 (file)
@@ -1,6 +1,6 @@
-# Copyright 1999-2004 Gentoo Foundation
+# Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/libdv/libdv-0.101.ebuild,v 1.6 2004/06/24 23:07:03 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/libdv/libdv-0.101.ebuild,v 1.7 2005/01/11 02:44:46 malc Exp $
 
 inherit eutils
 
index 4cf13f2000426f57e2f2a9825f3d9117a13edf70..18c427a2a352658735974e0282c4d863eaaf75fd 100644 (file)
@@ -1,6 +1,6 @@
-# Copyright 1999-2004 Gentoo Foundation
+# Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/libdv/libdv-0.102.ebuild,v 1.6 2004/12/17 20:31:47 corsair Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/libdv/libdv-0.102.ebuild,v 1.7 2005/01/11 02:44:46 malc Exp $
 
 inherit eutils
 
diff --git a/media-libs/libdv/libdv-0.104.ebuild b/media-libs/libdv/libdv-0.104.ebuild
new file mode 100644 (file)
index 0000000..96de9d6
--- /dev/null
@@ -0,0 +1,44 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/libdv/libdv-0.104.ebuild,v 1.1 2005/01/11 02:44:46 malc Exp $
+
+inherit eutils flag-o-matic
+
+DESCRIPTION="Software codec for dv-format video (camcorders etc)."
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+RESTRICT="nomirror"
+HOMEPAGE="http://libdv.sourceforge.net/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug gtk sdl xv"
+
+RDEPEND="dev-libs/popt
+       gtk? ( =x11-libs/gtk+-1.2* )
+       sdl? ( >=media-libs/libsdl-1.2.4.20020601 )
+       xv? ( virtual/x11 )"
+DEPEND="${RDEPEND}
+       dev-util/pkgconfig"
+
+src_unpack() {
+       unpack ${A} && cd "${S}"
+       epatch "${FILESDIR}/${PN}-0.99-2.6.patch"
+       epatch "${FILESDIR}/${PN}-0.104-amd64reloc.patch"
+}
+
+src_compile() {
+       local myconf
+       myconf="${myconf} `use_with debug`"
+       myconf="${myconf} `use_enable gtk` `use_enable gtk gtktest`"
+       myconf="${myconf} `use_enable sdl`"
+       myconf="${myconf} `use_enable xv`"
+
+       econf ${myconf} || die "econf failed"
+       make || die "compile problem"
+}
+
+src_install () {
+       einstall
+       dodoc AUTHORS COPYING COPYRIGHT ChangeLog INSTALL NEWS README* TODO
+}
index c237189f2cf8be539a926f866605e84ec0006bb2..3399c2825bb1eb653a384fe6b65892c67d573028 100644 (file)
@@ -1,6 +1,6 @@
-# Copyright 1999-2004 Gentoo Foundation
+# Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/libdv/libdv-0.99-r1.ebuild,v 1.13 2004/06/24 23:07:03 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/libdv/libdv-0.99-r1.ebuild,v 1.14 2005/01/11 02:44:46 malc Exp $
 
 inherit eutils