From: Diego Elio Pettenò Date: Sat, 15 Oct 2005 18:52:08 +0000 (+0000) Subject: Removed outdated patches. Added new revision that builds with latest ffmpeg. Also... X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=36c6c659af5ed17ee04694be2ec10d782a060f63;p=gentoo.git Removed outdated patches. Added new revision that builds with latest ffmpeg. Also, remove divx4linux and avifile support. Package-Manager: portage-2.0.53_rc5 --- diff --git a/media-video/transcode/ChangeLog b/media-video/transcode/ChangeLog index a1d2457fa25e..7c3c3d205fd1 100644 --- a/media-video/transcode/ChangeLog +++ b/media-video/transcode/ChangeLog @@ -1,6 +1,17 @@ # ChangeLog for media-video/transcode # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-video/transcode/ChangeLog,v 1.117 2005/10/15 17:28:19 flameeyes Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-video/transcode/ChangeLog,v 1.118 2005/10/15 18:52:08 flameeyes Exp $ + +*transcode-0.6.14-r3 (15 Oct 2005) + + 15 Oct 2005; Diego Pettenò + -files/transcode-0.6.11-no-mmx.patch, + -files/transcode-0.6.12-gcc-3.4.patch, + -files/transcode-0.6.12-r2-dvdmenu.patch, + -files/transcode-0.6.12-r2-gcc34.patch, -files/transcode-gcc34.patch, + -files/transcode-0.6.13-r1-bitstream.patch, +transcode-0.6.14-r3.ebuild: + Removed outdated patches. Added new revision that builds with latest ffmpeg. + Also, remove divx4linux and avifile support. 15 Oct 2005; Diego Pettenò -transcode-0.6.11.ebuild, -transcode-0.6.12-r1.ebuild, diff --git a/media-video/transcode/Manifest b/media-video/transcode/Manifest index ffc04d639ddd..749b654bcbd9 100644 --- a/media-video/transcode/Manifest +++ b/media-video/transcode/Manifest @@ -1,22 +1,18 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 -MD5 75162aa3ba6e90dd9a5d1e50e8a56240 ChangeLog 21695 +MD5 838b16395516e247ed194a617a627939 ChangeLog 22183 MD5 8e1251c76b508dfdfe0e4f0c0b166540 files/digest-transcode-0.6.14-r2 144 +MD5 03b7d892f34025e0c5854e0977b5fb49 files/digest-transcode-0.6.14-r3 144 MD5 790de38f84754a5a010ba5823d8b9770 files/digest-transcode-1.0.1 68 -MD5 3b957eef288ce095a2ff0a256aec7c93 files/transcode-0.6.11-no-mmx.patch 1491 -MD5 b2561dbf66455c878a08afd19868dc5d files/transcode-0.6.12-gcc-3.4.patch 2503 -MD5 085f514d559cd32a401241bbbf639d39 files/transcode-0.6.12-r2-dvdmenu.patch 4840 -MD5 90f42fff1c2a0b4be8df0b015ac2b309 files/transcode-0.6.12-r2-gcc34.patch 2963 -MD5 936b66bb309cb3c1dfa33924d3114fa9 files/transcode-0.6.13-r1-bitstream.patch 446 -MD5 2cb7b1a00a0529a8256fc0104b5f2a09 files/transcode-gcc34.patch 460 MD5 7300a7b361fa9f48e37722c6952bd432 metadata.xml 158 MD5 425d9b33697acb6d0bed99a1c37e6557 transcode-0.6.14-r2.ebuild 4219 +MD5 5b4f88f8e2737c356b62a799eef9eaf9 transcode-0.6.14-r3.ebuild 4031 MD5 3d76e1fcdf55c214daf11545f59f4c07 transcode-1.0.1.ebuild 3844 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) -iD8DBQFDUTxOj5H05b2HAEkRAn7GAJ4iRYjqyeHMCFLZiWZo3DZAwcK2KwCfVssA -3eYdXuFf8xWix5Ik+DxWCuY= -=NsJv +iD8DBQFDUU/6j5H05b2HAEkRAg/xAKCGLnIooylW6d8Sjlrql1wjvpQfOwCfYkYt +3rYQdIK0KPTL+aC+lzgj9aU= +=bniR -----END PGP SIGNATURE----- diff --git a/media-video/transcode/files/digest-transcode-0.6.14-r3 b/media-video/transcode/files/digest-transcode-0.6.14-r3 new file mode 100644 index 000000000000..4b71c1b7433b --- /dev/null +++ b/media-video/transcode/files/digest-transcode-0.6.14-r3 @@ -0,0 +1,2 @@ +MD5 9bfef83b7e0fe2c27d25d871fef75a92 transcode-0.6.14.tar.gz 2614579 +MD5 a6e3d7b38d653a09ef1fb230fe334512 transcode-patches-0.6.14-r3.tbz2 2534 diff --git a/media-video/transcode/files/transcode-0.6.11-no-mmx.patch b/media-video/transcode/files/transcode-0.6.11-no-mmx.patch deleted file mode 100644 index 12a69f41b9ab..000000000000 --- a/media-video/transcode/files/transcode-0.6.11-no-mmx.patch +++ /dev/null @@ -1,52 +0,0 @@ -diff -urpN transcode-0.6.11/config.h.in transcode-0.6.11.az/config.h.in ---- transcode-0.6.11/config.h.in 2003-11-06 22:00:11.037925040 +0200 -+++ transcode-0.6.11.az/config.h.in 2003-11-06 21:53:14.481251280 +0200 -@@ -1,3 +1,6 @@ -+#ifndef __CONFIG_H -+#define __CONFIG_H -+ - /* config.h.in. Generated from configure.in by autoheader. */ - - /* Define if your CPU is PPC */ -@@ -390,3 +393,5 @@ - - /* Define to `unsigned' if does not define. */ - #undef size_t -+ -+#endif /* __CONFIG_H */ -diff -urpN transcode-0.6.11/ffmpeg/av_config.h transcode-0.6.11.az/ffmpeg/av_config.h ---- transcode-0.6.11/ffmpeg/av_config.h 2003-11-06 22:00:11.038924888 +0200 -+++ transcode-0.6.11.az/ffmpeg/av_config.h 2003-11-06 22:04:33.472028992 +0200 -@@ -1,4 +1,12 @@ - /* Map transcode configure defines to libavcodecs */ -+#ifndef __AV_CONFIG_H -+#define __AV_CONFIG_H -+ -+/* Kludge to see if we had HAVE_MMX defined before we included -+ * config.h - see below ... */ -+#ifndef HAVE_MMX -+#define HAD_MMX_FALSE -+#endif - - #include "config.h" - -@@ -15,6 +23,13 @@ - # define ARCH_POWERPC - #endif - -+/* We use HAVE_MMX, but for ffmpeg the Makefile's set it, so -+ * unset it here, else ffmpeg use MMX constructs, even if we -+ * have --disable-mmx */ -+#if defined(HAD_MMX_FALSE) && defined(HAVE_MMX) -+#undef HAVE_MMX -+#endif -+ - #ifdef HAVE_DLOPEN - # define CONFIG_HAVE_DLOPEN 1 - #endif -@@ -44,3 +59,5 @@ - #define CONFIG_ZLIB 1 - #define SIMPLE_IDCT 1 - #define restrict __restrict__ -+ -+#endif /* __AV_CONFIG_H */ diff --git a/media-video/transcode/files/transcode-0.6.12-gcc-3.4.patch b/media-video/transcode/files/transcode-0.6.12-gcc-3.4.patch deleted file mode 100644 index 43e1ca8dde34..000000000000 --- a/media-video/transcode/files/transcode-0.6.12-gcc-3.4.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff -ur transcode-0.6.12.orig/ffmpeg/libavcodec/i386/dsputil_mmx.c transcode-0.6.12/ffmpeg/libavcodec/i386/dsputil_mmx.c ---- transcode-0.6.12.orig/ffmpeg/libavcodec/i386/dsputil_mmx.c 2003-12-30 10:02:10.000000000 +0000 -+++ transcode-0.6.12/ffmpeg/libavcodec/i386/dsputil_mmx.c 2004-05-21 19:47:12.808592624 +0000 -@@ -31,8 +31,8 @@ - static const uint64_t mm_wone __attribute__ ((aligned(8))) = 0x0001000100010001ULL; - static const uint64_t mm_wtwo __attribute__ ((aligned(8))) = 0x0002000200020002ULL; - --static const uint64_t ff_pw_20 __attribute__ ((aligned(8))) = 0x0014001400140014ULL; --static const uint64_t ff_pw_3 __attribute__ ((aligned(8))) = 0x0003000300030003ULL; -+static const uint64_t ff_pw_20 __attribute__ ((aligned(8), used)) = 0x0014001400140014ULL; -+static const uint64_t ff_pw_3 __attribute__ ((aligned(8), used)) = 0x0003000300030003ULL; - static const uint64_t ff_pw_16 __attribute__ ((aligned(8))) = 0x0010001000100010ULL; - static const uint64_t ff_pw_15 __attribute__ ((aligned(8))) = 0x000F000F000F000FULL; - -diff -ur transcode-0.6.12.orig/ffmpeg/libavcodec/i386/motion_est_mmx.c transcode-0.6.12/ffmpeg/libavcodec/i386/motion_est_mmx.c ---- transcode-0.6.12.orig/ffmpeg/libavcodec/i386/motion_est_mmx.c 2003-12-30 10:02:10.000000000 +0000 -+++ transcode-0.6.12/ffmpeg/libavcodec/i386/motion_est_mmx.c 2004-05-21 19:44:37.969131800 +0000 -@@ -26,7 +26,7 @@ - 0x0002000200020002ULL, - }; - --static __attribute__ ((aligned(8), unused)) uint64_t bone= 0x0101010101010101LL; -+static __attribute__ ((aligned(8), used)) uint64_t bone= 0x0101010101010101LL; - - static inline void sad8_mmx(uint8_t *blk1, uint8_t *blk2, int stride, int h) - { -diff -ur transcode-0.6.12.orig/ffmpeg/libavcodec/i386/simple_idct_mmx.c transcode-0.6.12/ffmpeg/libavcodec/i386/simple_idct_mmx.c ---- transcode-0.6.12.orig/ffmpeg/libavcodec/i386/simple_idct_mmx.c 2003-12-20 11:49:12.000000000 +0000 -+++ transcode-0.6.12/ffmpeg/libavcodec/i386/simple_idct_mmx.c 2004-05-21 19:48:06.594415936 +0000 -@@ -45,8 +45,8 @@ - #define ROW_SHIFT 11 - #define COL_SHIFT 20 // 6 - --static const uint64_t __attribute__((aligned(8))) wm1010= 0xFFFF0000FFFF0000ULL; --static const uint64_t __attribute__((aligned(8))) d40000= 0x0000000000040000ULL; -+static const uint64_t __attribute__((aligned(8), used)) wm1010= 0xFFFF0000FFFF0000ULL; -+static const uint64_t __attribute__((aligned(8), used)) d40000= 0x0000000000040000ULL; - - static const int16_t __attribute__((aligned(8))) coeffs[]= { - 1<<(ROW_SHIFT-1), 0, 1<<(ROW_SHIFT-1), 0, diff --git a/media-video/transcode/files/transcode-0.6.12-r2-dvdmenu.patch b/media-video/transcode/files/transcode-0.6.12-r2-dvdmenu.patch deleted file mode 100644 index 5dd808d3c23d..000000000000 --- a/media-video/transcode/files/transcode-0.6.12-r2-dvdmenu.patch +++ /dev/null @@ -1,143 +0,0 @@ ---- transcode-0.6.12/bbmpeg/mplex.h.old 2004-09-22 17:26:14.722188082 -0700 -+++ transcode-0.6.12/bbmpeg/mplex.h 2004-09-22 17:26:48.601657790 -0700 -@@ -364,7 +364,9 @@ - unsigned int write_seq_end, - unsigned int write_seq_hdr, - unsigned int sh_length, -- unsigned char *seq_hdr); -+ unsigned char *seq_hdr, -+ unsigned int nsyncwords, -+ unsigned int firstsync); - - void create_sys_header ( /* erstellt einen System Header */ - Sys_header_struc *sys_header, ---- transcode-0.6.12/bbmpeg/tcmplex/multplex.c.old 2004-09-22 17:27:04.443007097 -0700 -+++ transcode-0.6.12/bbmpeg/tcmplex/multplex.c 2004-09-22 17:32:41.781855873 -0700 -@@ -1787,7 +1787,7 @@ - istream_v, VIDEO_STR_0, 0, 1, video_buffer_size/1024, - video_PSTD, &PTSsave, &DTSsave, timestamps, which_streams, 0, i, - do_broken_link, (start_new_file || stop_output) && write_end_codes, -- do_sequence_header, sh_length, seq_hdr)) -+ do_sequence_header, sh_length, seq_hdr, 0, 0)) - return FALSE; - - -@@ -1899,6 +1899,7 @@ - Timecode_struc PTSsave; - int eos, tcfound; - char tmpStr[100]; -+ unsigned int nsyncwords, firstsync; /* firstsync is 1-based */ - - if (marker_pack) - { -@@ -1938,6 +1939,8 @@ - - tcfound = 0; - eos = 0; -+ nsyncwords = 0; -+ firstsync = 0; - /* Let's generate packet */ - - /* does a audio frame start in this packet? */ -@@ -1945,6 +1948,8 @@ - /* CASE: packet starts with new access unit */ - if (*audio_frame_start) - { -+ nsyncwords++; -+ firstsync = 1; - timestamps = (mplex_type > MPEG_VCD) ? MPEG2_TIMESTAMPS_PTS : MPEG1_TIMESTAMPS_PTS; - PTSsave = audio_au->PTS; - tcfound = 1; -@@ -1979,6 +1984,9 @@ - *audio_counter = *audio_counter + 1; - if ((!restart_output && !stop_output) || (get_timecode(&audio_au->PTS) < start_video_PTS)) - { -+ nsyncwords++; -+ if (!firstsync) -+ firstsync = temp + 1; - add_to_timecode(SCR_delay, &audio_au->PTS); - if (temp + audio_au->length > packet_data_size) - { -@@ -2023,7 +2031,8 @@ - if (!create_sector(§or, pack_ptr, sys_header_ptr, - packet_data_size, temp, - istream_a, aid, audio_subid, abuffer_scale, abuffer_size, -- audio_PSTD, &PTSsave, NULL, timestamps, which_streams, k, 0, 0, 0, 0, 0, NULL)) -+ audio_PSTD, &PTSsave, NULL, timestamps, which_streams, k, 0, 0, 0, 0, 0, NULL, -+ nsyncwords, firstsync)) - return FALSE; - - *audio_frame_start = FALSE; -@@ -2186,7 +2195,7 @@ - i, i, - NULL, PADDING_STR, 0, 0, 0, - FALSE, NULL, NULL, -- TIMESTAMPS_NO, j, k, 0, 0, 0, 0, 0, NULL); -+ TIMESTAMPS_NO, j, k, 0, 0, 0, 0, 0, NULL, 0, 0); - - if (output_on) - { ---- transcode-0.6.12/bbmpeg/tcmplex/systems.c.old 2004-09-22 17:32:58.548108803 -0700 -+++ transcode-0.6.12/bbmpeg/tcmplex/systems.c 2004-09-22 17:35:56.562559425 -0700 -@@ -32,10 +32,12 @@ - unsigned int write_seq_end, - unsigned int write_seq_hdr, - unsigned int sh_length, --unsigned char *seq_hdr) -+unsigned char *seq_hdr, -+unsigned int nsyncwords, -+unsigned int firstsync) - { -- int i, j, data_bytes, numFound, syncFound, firstOffset, pad_size; -- unsigned char *index, *tmpPtr=NULL; -+ int i, j, data_bytes, pad_size; -+ unsigned char *index; - unsigned int data_size, stuff_size, k; - unsigned int l; - -@@ -329,41 +331,14 @@ - if (type == PRIVATE_STREAM1) - { - *(index++) = subtype; -- tmpPtr = index; // remember for AC3 data -- *(index++) = 0; // num of AC3 syncwords in packet -- *(index++) = 0; // hi offset of first AC3 syncword -- *(index++) = 0; // lo offset of first AC3 syncword (starting at 1) -+ *(index++) = nsyncwords; // num of AC3 syncwords in packet -+ *(index++) = firstsync >> 8; // hi offset of first AC3 syncword -+ // (starting at 1) -+ *(index++) = firstsync & 0xFF; // lo offset of first AC3 syncword - data_bytes -= 4; - } - - memcpy(index, data_buffer, data_bytes); -- if (type == PRIVATE_STREAM1) -- { -- numFound = 0; -- syncFound = 0; -- firstOffset = 0; -- for (j = 0; j < data_bytes; j++) -- { -- switch (syncFound) -- { -- case 0: -- if (index[j] == 0x0b) -- syncFound = 1; -- break; -- case 1: -- if (index[j] == 0x77) -- { -- numFound++; -- if (numFound == 1) -- firstOffset = j; -- } -- syncFound = 0; -- } -- } -- tmpPtr[0] = (unsigned char) numFound; -- tmpPtr[1] = (unsigned char) (firstOffset >> 8); -- tmpPtr[2] = (unsigned char) (firstOffset & 0xff); -- } - index += data_bytes; - - if (type == PRIVATE_STREAM1) diff --git a/media-video/transcode/files/transcode-0.6.12-r2-gcc34.patch b/media-video/transcode/files/transcode-0.6.12-r2-gcc34.patch deleted file mode 100644 index 91af9e076c1c..000000000000 --- a/media-video/transcode/files/transcode-0.6.12-r2-gcc34.patch +++ /dev/null @@ -1,52 +0,0 @@ -diff -ur transcode-0.6.12.orig/ffmpeg/libavcodec/i386/dsputil_mmx.c transcode-0.6.12/ffmpeg/libavcodec/i386/dsputil_mmx.c ---- transcode-0.6.12.orig/ffmpeg/libavcodec/i386/dsputil_mmx.c 2003-12-30 10:02:10.000000000 +0000 -+++ transcode-0.6.12/ffmpeg/libavcodec/i386/dsputil_mmx.c 2004-05-21 19:47:12.808592624 +0000 -@@ -31,8 +31,8 @@ - static const uint64_t mm_wone __attribute__ ((aligned(8))) = 0x0001000100010001ULL; - static const uint64_t mm_wtwo __attribute__ ((aligned(8))) = 0x0002000200020002ULL; - --static const uint64_t ff_pw_20 __attribute__ ((aligned(8))) = 0x0014001400140014ULL; --static const uint64_t ff_pw_3 __attribute__ ((aligned(8))) = 0x0003000300030003ULL; -+static const uint64_t ff_pw_20 __attribute__ ((aligned(8), used)) = 0x0014001400140014ULL; -+static const uint64_t ff_pw_3 __attribute__ ((aligned(8), used)) = 0x0003000300030003ULL; - static const uint64_t ff_pw_16 __attribute__ ((aligned(8))) = 0x0010001000100010ULL; - static const uint64_t ff_pw_15 __attribute__ ((aligned(8))) = 0x000F000F000F000FULL; - -diff -ur transcode-0.6.12.orig/ffmpeg/libavcodec/i386/motion_est_mmx.c transcode-0.6.12/ffmpeg/libavcodec/i386/motion_est_mmx.c ---- transcode-0.6.12.orig/ffmpeg/libavcodec/i386/motion_est_mmx.c 2003-12-30 10:02:10.000000000 +0000 -+++ transcode-0.6.12/ffmpeg/libavcodec/i386/motion_est_mmx.c 2004-05-21 19:44:37.969131800 +0000 -@@ -26,7 +26,7 @@ - 0x0002000200020002ULL, - }; - --static __attribute__ ((aligned(8), unused)) uint64_t bone= 0x0101010101010101LL; -+static __attribute__ ((aligned(8), used)) uint64_t bone= 0x0101010101010101LL; - - static inline void sad8_mmx(uint8_t *blk1, uint8_t *blk2, int stride, int h) - { -diff -ur transcode-0.6.12.orig/ffmpeg/libavcodec/i386/simple_idct_mmx.c transcode-0.6.12/ffmpeg/libavcodec/i386/simple_idct_mmx.c ---- transcode-0.6.12.orig/ffmpeg/libavcodec/i386/simple_idct_mmx.c 2003-12-20 11:49:12.000000000 +0000 -+++ transcode-0.6.12/ffmpeg/libavcodec/i386/simple_idct_mmx.c 2004-05-21 19:48:06.594415936 +0000 -@@ -45,8 +45,8 @@ - #define ROW_SHIFT 11 - #define COL_SHIFT 20 // 6 - --static const uint64_t __attribute__((aligned(8))) wm1010= 0xFFFF0000FFFF0000ULL; --static const uint64_t __attribute__((aligned(8))) d40000= 0x0000000000040000ULL; -+static const uint64_t __attribute__((aligned(8), used)) wm1010= 0xFFFF0000FFFF0000ULL; -+static const uint64_t __attribute__((aligned(8), used)) d40000= 0x0000000000040000ULL; - - static const int16_t __attribute__((aligned(8))) coeffs[]= { - 1<<(ROW_SHIFT-1), 0, 1<<(ROW_SHIFT-1), 0, -diff -ur transcode-0.6.12.orig/filter/subtitler/frame_list.c transcode-0.6.12/filter/subtitler/frame_list.c ---- transcode-0.6.12.orig/filter/subtitler/frame_list.c 2004-01-05 07:12:55.000000000 -0600 -+++ transcode-0.6.12/filter/subtitler/frame_list.c 2004-04-24 23:48:19.275043224 -0500 -@@ -33,7 +33,7 @@ - - char *strsave(char *s) /*save char array s somewhere*/ - { --char *p, *malloc(); -+char *p; - if(p = malloc( strlen(s) + 1) ) strcpy(p, s); - return(p); - } diff --git a/media-video/transcode/files/transcode-0.6.13-r1-bitstream.patch b/media-video/transcode/files/transcode-0.6.13-r1-bitstream.patch deleted file mode 100644 index 0290899342a1..000000000000 --- a/media-video/transcode/files/transcode-0.6.13-r1-bitstream.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -u3 -rN transcode-0.6.13/libac3/bitstream.c transcode-0.6.13-patched/libac3/bitstream.c ---- transcode-0.6.13/libac3/bitstream.c 2004-10-17 23:56:50.000000000 +0100 -+++ transcode-0.6.13-patched/libac3/bitstream.c 2004-10-28 19:37:06.497339637 +0100 -@@ -97,7 +97,7 @@ - static inline void - bitstream_fill_current() - { -- current_word = *(buffer_start)++; -+ current_word = *((uint_32*)buffer_start)++; - current_word = swab32(current_word); - } - diff --git a/media-video/transcode/files/transcode-gcc34.patch b/media-video/transcode/files/transcode-gcc34.patch deleted file mode 100644 index 36fe961fddd6..000000000000 --- a/media-video/transcode/files/transcode-gcc34.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur transcode-0.6.12.orig/filter/subtitler/frame_list.c transcode-0.6.12/filter/subtitler/frame_list.c ---- transcode-0.6.12.orig/filter/subtitler/frame_list.c 2004-01-05 07:12:55.000000000 -0600 -+++ transcode-0.6.12/filter/subtitler/frame_list.c 2004-04-24 23:48:19.275043224 -0500 -@@ -33,7 +33,7 @@ - - char *strsave(char *s) /*save char array s somewhere*/ - { --char *p, *malloc(); -+char *p; - if(p = malloc( strlen(s) + 1) ) strcpy(p, s); - return(p); - } diff --git a/media-video/transcode/transcode-0.6.14-r3.ebuild b/media-video/transcode/transcode-0.6.14-r3.ebuild new file mode 100644 index 000000000000..ca1cb4b97fe5 --- /dev/null +++ b/media-video/transcode/transcode-0.6.14-r3.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/transcode/transcode-0.6.14-r3.ebuild,v 1.1 2005/10/15 18:52:08 flameeyes Exp $ + +inherit libtool flag-o-matic eutils multilib autotools + +PATCH_VER=${PVR} + +MY_P="${P/_pre/.}" +S=${WORKDIR}/${MY_P} +DESCRIPTION="video stream processing tool" +HOMEPAGE="http://www.transcoding.org/cgi-bin/transcode" +SRC_URI="http://www.jakemsr.com/transcode/${P}.tar.gz + http://www.ligo.caltech.edu/~pehrens/${P}.tar.gz + http://www.kraymer.de/mirroring/${P}.tar.gz + http://rebels.plukwa.net/linux-video/${PN}/${P}.tar.gz + + mirror://gentoo/${PN}-patches-${PATCH_VER}.tbz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +IUSE="X 3dnow a52 altivec dv dvdread encode fame truetype gtk imagemagick jpeg +lzo mjpeg mpeg mmx network ogg vorbis pvm quicktime sdl sse sse2 theora v4l +xvid xml2" + +RDEPEND="a52? ( >=media-libs/a52dec-0.7.4 ) + dv? ( >=media-libs/libdv-0.99 ) + dvdread? ( >=media-libs/libdvdread-0.9.0 ) + >=media-video/ffmpeg-0.4.9_p20050906 + xvid? ( >=media-libs/xvid-1.0.2 ) + mjpeg? ( >=media-video/mjpegtools-1.6.2-r3 ) + lzo? ( >=dev-libs/lzo-1.08 ) + fame? ( >=media-libs/libfame-0.9.1 ) + imagemagick? ( >=media-gfx/imagemagick-5.5.6.0 ) + media-libs/netpbm + media-libs/libexif + X? ( virtual/x11 ) + mpeg? ( media-libs/libmpeg3 ) + encode? ( >=media-sound/lame-3.93 ) + sdl? ( media-libs/libsdl ) + quicktime? ( >=media-libs/libquicktime-0.9.3 ) + vorbis? ( media-libs/libvorbis ) + ogg? ( media-libs/libogg ) + theora? ( media-libs/libtheora ) + jpeg? ( media-libs/jpeg ) + gtk? ( =x11-libs/gtk+-1.2* ) + truetype? ( >=media-libs/freetype-2 ) + pvm? ( >=sys-cluster/pvm-3.4 )" + +DEPEND="${RDEPEND} + x86? ( >=dev-lang/nasm-0.98.36 ) + =sys-devel/gcc-3*" + +pkg_setup() { + if has_version x11-base/xorg-x11 && ! built_with_use x11-base/xorg-x11 xv; then + die "You need xorg-x11 emerged with xv support to compile transcode." + fi +} + +src_unpack() { + unpack ${A} + cd ${S} + + EPATCH_SUFFIX="patch" epatch ${WORKDIR}/${PATCH_VER}/ + + eautoreconf + elibtoolize # fix invalid paths in .la files of plugins +} + +src_compile() { + filter-flags -maltivec -mabi=altivec -momit-leaf-frame-pointer + use ppc && append-flags -U__ALTIVEC__ + + if use pvm; then + if use sparc; then + myconf="${myconf} --enable-pvm3 \ + --with-pvm3-lib=${PVM_ROOT}/lib/LINUXSPARC \ + --with-pvm3-include=${PVM_ROOT}/include" + else + myconf="${myconf} --enable-pvm3 \ + --with-pvm3-lib=${PVM_ROOT}/lib/LINUX \ + --with-pvm3-include=${PVM_ROOT}/include" + fi + fi + + use xvid \ + && myconf="${myconf} --with-default-xvid=xvid4" + + # Use the MPlayer libpostproc if present + [ -f ${ROOT}/usr/$(get_libdir)/libpostproc.a ] && \ + [ -f ${ROOT}/usr/include/postproc/postprocess.h ] && \ + myconf="${myconf} --with-libpostproc-builddir=${ROOT}/usr/$(get_libdir)" + + append-flags -DDCT_YUV_PRECISION=1 + econf \ + --with-mod-path=/usr/$(get_libdir)/transcode \ + $(use_enable X x) \ + $(use_enable 3dnow) \ + $(use_enable a52) \ + $(use_enable altivec) \ + $(use_enable dv libdv) \ + $(use_enable dvdread libdvdread) \ + $(use_enable encode lame) \ + $(use_enable fame libfame) \ + $(use_enable truetype freetype2) \ + $(use_enable gtk) \ + $(use_enable imagemagick) \ + $(use_enable jpeg libjpeg) \ + $(use_enable lzo) \ + $(use_enable mjpeg mjpegtools) \ + $(use_enable mmx) \ + $(use_enable mpeg libmpeg3) \ + $(use_enable network netstream) \ + $(use_enable ogg) \ + $(use_enable vorbis) \ + $(use_enable quicktime libquicktime) \ + $(use_enable sdl) \ + $(use_enable sse) \ + $(use_enable sse2) \ + $(use_enable theora) \ + $(use_enable v4l) \ + $(use_enable xml2 libxml2) \ + ${myconf} \ + --disable-avifile \ + || die "econf failed" + + emake -j1 all || die "emake failed" + + if use pvm; then + sed -i -e "s:\${exec_prefix}/bin/pvmgs:\$(DESTDIR)/\${exec_prefix}/bin/pvmgs:" \ + ${S}/pvm3/Makefile || die "sed failed" + fi +} + +src_install () { + make DESTDIR=${D} install || die "make install failed" + + dodoc AUTHORS ChangeLog README TODO +}