summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-video/SDLcam/ChangeLog9
-rw-r--r--media-video/SDLcam/SDLcam-0.7.3-r2.ebuild8
-rw-r--r--media-video/SDLcam/files/SDLcam-0.7.3-build.patch9
-rw-r--r--media-video/SDLcam/files/SDLcam-0.7.3-jpeg.patch14
-rw-r--r--media-video/SDLcam/files/SDLcam-0.7.3-prototypes.patch23
-rw-r--r--media-video/SDLcam/files/SDLcam-0.7.3-relax-asm.patch74
6 files changed, 131 insertions, 6 deletions
diff --git a/media-video/SDLcam/ChangeLog b/media-video/SDLcam/ChangeLog
index 97a4a092833b..dd19b3662d7e 100644
--- a/media-video/SDLcam/ChangeLog
+++ b/media-video/SDLcam/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for media-video/SDLcam
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/SDLcam/ChangeLog,v 1.7 2006/09/30 19:04:08 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/SDLcam/ChangeLog,v 1.8 2006/10/22 05:36:10 vapier Exp $
+
+ 22 Oct 2006; Mike Frysinger <vapier@gentoo.org>
+ files/SDLcam-0.7.3-build.patch, +files/SDLcam-0.7.3-jpeg.patch,
+ files/SDLcam-0.7.3-prototypes.patch, +files/SDLcam-0.7.3-relax-asm.patch,
+ SDLcam-0.7.3-r2.ebuild:
+ Cleanup the build system some more and fix asm build errors in mmx code
+ #152002 by Thomas Tuttle.
30 Sep 2006; Mike Frysinger <vapier@gentoo.org>
+files/SDLcam-0.7.3-build.patch, -files/0.7.3-no-divx.patch,
diff --git a/media-video/SDLcam/SDLcam-0.7.3-r2.ebuild b/media-video/SDLcam/SDLcam-0.7.3-r2.ebuild
index c7fd25592534..e9aa8fe33720 100644
--- a/media-video/SDLcam/SDLcam-0.7.3-r2.ebuild
+++ b/media-video/SDLcam/SDLcam-0.7.3-r2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/SDLcam/SDLcam-0.7.3-r2.ebuild,v 1.2 2006/09/30 19:04:08 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/SDLcam/SDLcam-0.7.3-r2.ebuild,v 1.3 2006/10/22 05:36:10 vapier Exp $
inherit eutils
@@ -10,7 +10,7 @@ SRC_URI="http://sdlcam.raphnet.net/downloads/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~x86"
+KEYWORDS="x86"
IUSE=""
DEPEND="dev-libs/libxml2
@@ -23,11 +23,13 @@ src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}"/${PV}-gcc3.patch
- rm capture/divx.c # the divx.so needs to be ported to newer avifile
+ rm capture/divx* # the divx.so needs to be ported to newer avifile
epatch "${FILESDIR}"/${PV}-linux-2.6.patch
epatch "${FILESDIR}"/${P}-tsc.patch #109161
epatch "${FILESDIR}"/${P}-prototypes.patch
epatch "${FILESDIR}"/${P}-build.patch
+ epatch "${FILESDIR}"/${P}-relax-asm.patch #152002
+ epatch "${FILESDIR}"/${P}-jpeg.patch
sed -i "/#include/s:avifile/::" capture/divx2.cpp
# Don't you love hardcoded vars?
diff --git a/media-video/SDLcam/files/SDLcam-0.7.3-build.patch b/media-video/SDLcam/files/SDLcam-0.7.3-build.patch
index ecbead404887..b7a83aa49246 100644
--- a/media-video/SDLcam/files/SDLcam-0.7.3-build.patch
+++ b/media-video/SDLcam/files/SDLcam-0.7.3-build.patch
@@ -21,7 +21,7 @@
OBJS = main.o init.o SDL_v4l.o SDL_v4l_filters.o webcam.o interface.o configuration.o config_file.o SDL_v4l_filters_thomas.o dump_thomas.o capture.o ftp-upload.o logo.o parser.o misc.o xml_theme.o dyn_misc.o
-@@ -31,28 +32,28 @@
+@@ -31,32 +32,30 @@
./install
%.o: %.cpp
@@ -57,4 +57,9 @@
+ $(CXX) $(CXXFLAGS) -fPIC -shared -o $@ $? $(LDFLAGS)
SDLcam: $(OBJS)
- $(LD) $(LDFLAGS) $(OBJS) -o $(PROG)
+- $(LD) $(LDFLAGS) $(OBJS) -o $(PROG)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJS) -o $(PROG)
+ # $(LD) $(LDFLAGS) $(OBJS) -o $(PROG) -laviplay
+
+-SDL_v4l_filters_thomas.o: SDL_v4l_filters_thomas.c
+- $(CC) $(MMXFLAGS) -c SDL_v4l_filters_thomas.c
diff --git a/media-video/SDLcam/files/SDLcam-0.7.3-jpeg.patch b/media-video/SDLcam/files/SDLcam-0.7.3-jpeg.patch
new file mode 100644
index 000000000000..5a64286ed747
--- /dev/null
+++ b/media-video/SDLcam/files/SDLcam-0.7.3-jpeg.patch
@@ -0,0 +1,14 @@
+make sure we always include jpeglib.h
+
+--- dump_thomas.c
++++ dump_thomas.c
+@@ -29,8 +29,8 @@
+
+ #ifdef __cplusplus
+ extern "C" {
+-#include <jpeglib.h>
+ #endif
++#include <jpeglib.h>
+
+ int write_file_jpeg (char *file_name, unsigned char *data, int width, int height) {{{
+ struct jpeg_compress_struct jpeg;
diff --git a/media-video/SDLcam/files/SDLcam-0.7.3-prototypes.patch b/media-video/SDLcam/files/SDLcam-0.7.3-prototypes.patch
index 05056f1e96ca..c69612fe201d 100644
--- a/media-video/SDLcam/files/SDLcam-0.7.3-prototypes.patch
+++ b/media-video/SDLcam/files/SDLcam-0.7.3-prototypes.patch
@@ -30,3 +30,26 @@
int diry = image->w;
int xinc = 1;
int yinc = 1;
+--- SDL_v4l_image.h
++++ SDL_v4l_image.h
+@@ -1,5 +1,10 @@
+ #ifndef SDL_V4L_IMAGE_H
+ #define SDL_V4L_IMAGE_H
++
++#include <string.h>
++#include <stdio.h>
++#include <unistd.h>
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+--- filter/Barcode.c
++++ filter/Barcode.c
+@@ -22,6 +22,7 @@
+ // TODO: Add support for UPC_E, EAN_13, EAN_8 and CODE_39
+ // TODO: Add vertical and diagonal scanning
+
++#include <stdio.h>
+ #include <string.h>
+ #include <math.h>
+
diff --git a/media-video/SDLcam/files/SDLcam-0.7.3-relax-asm.patch b/media-video/SDLcam/files/SDLcam-0.7.3-relax-asm.patch
new file mode 100644
index 000000000000..e24558c8c0ab
--- /dev/null
+++ b/media-video/SDLcam/files/SDLcam-0.7.3-relax-asm.patch
@@ -0,0 +1,74 @@
+fix build errors:
+
+SDL_v4l_filters_thomas.c: In function 'MMX_add_sub_shr':
+SDL_v4l_filters_thomas.c:50: error: memory input 3 is not directly addressable
+SDL_v4l_filters_thomas.c: In function 'yuv420p_to_rgb32':
+SDL_v4l_filters_thomas.c:154: error: memory input 4 is not directly addressable
+SDL_v4l_filters_thomas.c:154: error: memory input 5 is not directly addressable
+SDL_v4l_filters_thomas.c: In function 'yuv420p_to_bgr32':
+SDL_v4l_filters_thomas.c:256: error: memory input 4 is not directly addressable
+SDL_v4l_filters_thomas.c:256: error: memory input 5 is not directly addressable
+
+filter/Bluebox.c: In function 'Apply':
+filter/Bluebox.c:57: error: memory input 2 is not directly addressable
+
+filter/Trashmask.c: In function 'Apply':
+filter/Trashmask.c:58: error: memory input 2 is not directly addressable
+
+http://bugs.gentoo.org/152002
+
+--- SDL_v4l_filters_thomas.c
++++ SDL_v4l_filters_thomas.c
+@@ -94,7 +94,7 @@
+ : "=m" (bild) // %0
+ :"m" (buf), // %1
+ "m" (summe), // %2
+- "m" (SHIFT), // %3
++ "g" (SHIFT), // %3
+ "m" (len) // %4
+ );
+ return 1;
+@@ -226,8 +226,8 @@
+ : "m" (u), //%1
+ "m" (v), //%2
+ "m" (d), //%3
+- "m" (ng_clip), //%4
+- "m" (ng_yuv_g2) //%5
++ "g" (ng_clip), //%4
++ "g" (ng_yuv_g2) //%5
+ );
+ d+=8;
+ y+=2;
+@@ -328,8 +328,8 @@
+ : "m" (u), //%1
+ "m" (v), //%2
+ "m" (d), //%3
+- "m" (ng_clip), //%4
+- "m" (ng_yuv_g2) //%5
++ "g" (ng_clip), //%4
++ "g" (ng_yuv_g2) //%5
+ );
+ d+=8;
+ y+=2;
+--- filter/Bluebox.c
++++ filter/Bluebox.c
+@@ -120,7 +120,7 @@
+ " pop %%ebx \n"
+ : "=m" (buf) // %0
+ :"m" (dat), // %1
+- "m" (MASK), // %2
++ "g" (MASK), // %2
+ "m" (len) // %3
+ );
+ /* }}} */
+--- filter/Trashmask.c
++++ filter/Trashmask.c
+@@ -96,7 +96,7 @@
+ " pop %%ecx \n"
+ : "=m" (src) // %0
+ : "m" (dst), // %1
+- "m" (MASK), // %2
++ "g" (MASK), // %2
+ "m" (len) // %3
+ );
+ /* }}} */