2007-08-30 Albert Lee <[email protected]>
authortrisk
Fri, 31 Aug 2007 00:07:24 +0000
changeset 432 3f9248505c0b
parent 431 2c1fd99c2ccd
child 433 2dbed4f420e6
2007-08-30 Albert Lee <[email protected]> * SFEcheese.spec: *NEW* Cheese - GNOME application for taking pictures and videos from a webcam * SFEgnome-power-manager.spec: Add missing doc dir * SFEpostr.spec: *NEW* Postr - upload photographs to Flickr * patches/cheese-01-nongnu.diff: Fix GNU environment assumptions * patches/cheese-02-sunpro.diff: Studio compatibility * patches/cheese-03-flags.diff: Fix CFLAGS and LDFLAGS in build * patches/cheese-04-threads.diff: Add thread safety for GDK
ChangeLog
SFEcheese.spec
SFEgnome-power-manager.spec
SFEpostr.spec
patches/cheese-01-nongnu.diff
patches/cheese-02-sunpro.diff
patches/cheese-03-flags.diff
patches/cheese-04-threads.diff
--- a/ChangeLog	Thu Aug 30 17:26:27 2007 +0000
+++ b/ChangeLog	Fri Aug 31 00:07:24 2007 +0000
@@ -1,3 +1,14 @@
+2007-08-30  Albert Lee  <[email protected]>
+
+	* SFEcheese.spec: *NEW* Cheese - GNOME application for taking pictures
+	  and videos from a webcam
+	* SFEgnome-power-manager.spec: Add missing doc dir
+	* SFEpostr.spec: *NEW* Postr - upload photographs to Flickr
+	* patches/cheese-01-nongnu.diff: Fix GNU environment assumptions
+	* patches/cheese-02-sunpro.diff: Studio compatibility
+	* patches/cheese-03-flags.diff: Fix CFLAGS and LDFLAGS in build
+	* patches/cheese-04-threads.diff: Add thread safety for GDK
+
 2007-08-30  Laszlo (Laca) Peter  <[email protected]>
 
 	* SFEgperf.spec: (new) gperf - GNU perfect hash function generator
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SFEcheese.spec	Fri Aug 31 00:07:24 2007 +0000
@@ -0,0 +1,139 @@
+#
+# spec file for package SFEcheese
+#
+# includes module(s): cheese
+#
+%include Solaris.inc
+
+Name:                    SFEcheese
+Summary:                 Cheese - GNOME application for taking pictures and videos from a webcam
+Version:                 0.2.3
+#Source:                  http://live.gnome.org/Cheese/Releases?action=AttachFile&do=get&target=cheese-%{version}.tar.gz
+Source:                  http://trisk.acm.jhu.edu/cheese-%{version}.tar.gz
+Patch1:                  cheese-01-nongnu.diff
+Patch2:                  cheese-02-sunpro.diff
+Patch3:                  cheese-03-flags.diff
+Patch4:                  cheese-04-threads.diff
+URL:                     http://live.gnome.org/Cheese
+SUNW_BaseDir:            %{_basedir}
+BuildRoot:               %{_tmppath}/%{name}-%{version}-build
+%include default-depend.inc
+
+BuildRequires: SUNWgnome-base-libs-devel
+BuildRequires: SUNWgnome-media-devel
+BuildRequires: SUNWgnome-vfs-devel
+BuildRequires: SUNWdbus-devel
+BuildRequires: SUNWevolution-data-server-devel
+Requires: SUNWgnome-base-libs
+Requires: SUNWgnome-media
+Requires: SUNWgnome-vfs
+Requires: SUNWdbus
+Requires: SUNWevolution-data-server
+Requires: SUNWxwrtl
+
+%if %build_l10n
+%package l10n
+Summary:                 %{summary} - l10n files
+SUNW_BaseDir:            %{_basedir}
+%include default-depend.inc
+Requires:                %{name}
+%endif
+
+%prep
+%setup -q -n cheese-%version
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+
+%build
+CPUS=`/usr/sbin/psrinfo | grep on-line | wc -l | tr -d ' '`
+if test "x$CPUS" = "x" -o $CPUS = 0; then
+    CPUS=1
+fi
+
+export CFLAGS="%optflags -mt `pkg-config --cflags gtk+-2.0` `pkg-config --cflags libglade-2.0` `pkg-config --cflags dbus-1` `pkg-config --cflags gnome-vfs-2.0` `pkg-config --cflags libgnomeui-2.0` `pkg-config --cflags gstreamer-0.10` `pkg-config --cflags libebook-1.2`"
+export LDFLAGS="%{_ldflags} -lc -mt -lpthread `pkg-config --libs gtk+-2.0` `pkg-config --libs libglade-2.0` `pkg-config --libs dbus-1` `pkg-config --libs gnome-vfs-2.0` `pkg-config --libs libgnomeui-2.0` `pkg-config --libs gstreamer-0.10` -lgstinterfaces-0.10 `pkg-config --libs libebook-1.2` -lXxf86vm"
+
+./configure --prefix=%{_prefix} --mandir=%{_mandir} \
+            --libdir=%{_libdir}              \
+            --libexecdir=%{_libexecdir}      \
+            --sysconfdir=%{_sysconfdir} 
+
+gmake -j$CPUS
+
+%install
+rm -rf $RPM_BUILD_ROOT
+gmake install DESTDIR=$RPM_BUILD_ROOT
+
+%if %build_l10n
+%else
+# REMOVE l10n FILES
+rm -rf $RPM_BUILD_ROOT%{_datadir}/locale
+%endif
+
+%post
+( echo 'test -x /usr/bin/update-desktop-database || exit 0';
+  echo '/usr/bin/update-desktop-database'
+) | $BASEDIR/lib/postrun -b -u -c JDS_wait
+( echo 'test -x %{_bindir}/update-mime-database || exit 0';
+  echo '%{_bindir}/update-mime-database %{_datadir}/mime'
+) | $BASEDIR/lib/postrun -b -u -c JDS_wait
+( echo 'test -x /usr/bin/scrollkeeper-update || exit 0';
+  echo '/usr/bin/scrollkeeper-update'
+) | $BASEDIR/lib/postrun -b -u -c JDS
+
+%postun
+( echo 'test -x /usr/bin/update-desktop-database || exit 0';
+  echo '/usr/bin/update-desktop-database'
+) | $BASEDIR/lib/postrun -b -u -c JDS_wait
+( echo 'test -x %{_bindir}/update-mime-database || exit 0';
+  echo '%{_bindir}/update-mime-database %{_datadir}/mime'
+) | $BASEDIR/lib/postrun -b -u -c JDS_wait
+( echo 'test -x /usr/bin/scrollkeeper-update || exit 0';
+  echo '/usr/bin/scrollkeeper-update'
+) | $BASEDIR/lib/postrun -b -u -c JDS
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr (-, root, bin)
+%dir %attr (0755, root, bin) %{_bindir}
+%{_bindir}/cheese
+%dir %attr (0755, root, sys) %{_datadir}
+%dir %attr (0755, root, other) %{_datadir}/cheese
+%{_datadir}/cheese/*
+%dir %attr (0755, root, other) %{_datadir}/icons
+%dir %attr (0755, root, other) %{_datadir}/icons/hicolor/
+%dir %attr (0755, root, other) %{_datadir}/icons/hicolor/scalable/
+%dir %attr (0755, root, other) %{_datadir}/icons/hicolor/scalable/apps/
+%{_datadir}/icons/hicolor/scalable/apps/*
+%dir %attr (0755, root, other) %{_datadir}/icons/hicolor/16x16
+%dir %attr (0755, root, other) %{_datadir}/icons/hicolor/16x16/apps/
+%{_datadir}/icons/hicolor/16x16/apps/*
+%dir %attr (0755, root, other) %{_datadir}/icons/hicolor/22x22/
+%dir %attr (0755, root, other) %{_datadir}/icons/hicolor/22x22/apps/
+%{_datadir}/icons/hicolor/22x22/apps/*
+%dir %attr (0755, root, other) %{_datadir}/icons/hicolor/24x24/
+%dir %attr (0755, root, other) %{_datadir}/icons/hicolor/24x24/apps/
+%{_datadir}/icons/hicolor/24x24/apps/*
+%dir %attr (0755, root, other) %{_datadir}/icons/hicolor/32x32/
+%dir %attr (0755, root, other) %{_datadir}/icons/hicolor/32x32/apps/
+%{_datadir}/icons/hicolor/32x32/apps/*
+%dir %attr (0755, root, other) %{_datadir}/icons/hicolor/48x48/
+%dir %attr (0755, root, other) %{_datadir}/icons/hicolor/48x48/apps/
+%{_datadir}/icons/hicolor/48x48/apps/*
+%dir %attr (0755, root, other) %{_datadir}/applications
+%{_datadir}/applications/*.desktop
+
+%if %build_l10n
+%files l10n
+%defattr (-, root, bin)
+%dir %attr (0755, root, sys) %{_datadir}
+%attr (-, root, other) %{_datadir}/locale
+%endif
+
+%changelog
+* Thu Aug 30 2007 - [email protected]
+- Initial spec
--- a/SFEgnome-power-manager.spec	Thu Aug 30 17:26:27 2007 +0000
+++ b/SFEgnome-power-manager.spec	Fri Aug 31 00:07:24 2007 +0000
@@ -168,6 +168,8 @@
 %dir %attr (0755, root, other) %{_datadir}/icons/hicolor/48x48/
 %dir %attr (0755, root, other) %{_datadir}/icons/hicolor/48x48/apps/
 %{_datadir}/icons/hicolor/48x48/apps/*
+%dir %attr (0755, root, other) %{_datadir}/doc
+%{_datadir}/doc/*
 %dir %attr(0755, root, bin) %{_mandir}
 %dir %attr(0755, root, bin) %{_mandir}/man1
 
@@ -185,6 +187,8 @@
 %endif
 
 %changelog
+* Thu Aug 30 2007 - [email protected]
+- Add missing doc dir
 * Thu Mar 29 2007 - [email protected]
 - Include l10n files.
 * Tue Mar 27 2007 - [email protected]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SFEpostr.spec	Fri Aug 31 00:07:24 2007 +0000
@@ -0,0 +1,100 @@
+#
+# Copyright (c) 2006 Sun Microsystems, Inc.
+# This file and all modifications and additions to the pristine
+# package are under the same license as the package itself.
+
+%include Solaris.inc
+
+Name:                SFEpostr
+Summary:             Postr - upload photographs to Flickr
+Version:             0.8
+Source:              http://burtonini.com/computing/postr-%{version}.tar.gz
+URL:                 http://burtonini.com/blog/computers/postr
+
+SUNW_BaseDir:        %{_basedir}
+BuildRoot:           %{_tmppath}/%{name}-%{version}-build
+BuildRequires: SUNWgnome-base-libs-devel
+BuildRequires: SUNWgnome-file-mgr-devel
+BuildRequires: SUNWgnome-python-libs-devel
+BuildRequires: SUNWPython
+Requires: SUNWgnome-base-libs
+Requires: SUNWgnome-file-mgr
+Requires: SUNWgnome-python-libs
+Requires: SUNWPython
+Requires: SFEpython-twisted
+
+%include default-depend.inc
+
+%define pythonver 2.4
+
+%prep
+%setup -q -n postr-%version
+
+%build
+python setup.py build
+
+%install
+rm -rf $RPM_BUILD_ROOT
+python setup.py install --prefix=$RPM_BUILD_ROOT/%_prefix
+
+# move to vendor-packages
+mkdir -p $RPM_BUILD_ROOT%{_libdir}/python%{pythonver}/vendor-packages
+mv $RPM_BUILD_ROOT%{_libdir}/python%{pythonver}/site-packages/* \
+   $RPM_BUILD_ROOT%{_libdir}/python%{pythonver}/vendor-packages/
+rmdir $RPM_BUILD_ROOT%{_libdir}/python%{pythonver}/site-packages
+
+%post
+( echo 'test -x /usr/bin/update-desktop-database || exit 0';
+  echo '/usr/bin/update-desktop-database'
+) | $BASEDIR/lib/postrun -b -u -c JDS_wait
+( echo 'test -x %{_bindir}/update-mime-database || exit 0';
+  echo '%{_bindir}/update-mime-database %{_datadir}/mime'
+) | $BASEDIR/lib/postrun -b -u -c JDS_wait
+( echo 'test -x /usr/bin/scrollkeeper-update || exit 0';
+  echo '/usr/bin/scrollkeeper-update'
+) | $BASEDIR/lib/postrun -b -u -c JDS
+
+%postun
+( echo 'test -x /usr/bin/update-desktop-database || exit 0';
+  echo '/usr/bin/update-desktop-database'
+) | $BASEDIR/lib/postrun -b -u -c JDS_wait
+( echo 'test -x %{_bindir}/update-mime-database || exit 0';
+  echo '%{_bindir}/update-mime-database %{_datadir}/mime'
+) | $BASEDIR/lib/postrun -b -u -c JDS_wait
+( echo 'test -x /usr/bin/scrollkeeper-update || exit 0';
+  echo '/usr/bin/scrollkeeper-update'
+) | $BASEDIR/lib/postrun -b -u -c JDS
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr (-, root, bin)
+%dir %attr (0755, root, bin) %{_bindir}
+%{_bindir}/postr
+%dir %attr (0755, root, sys) %{_datadir}
+%dir %attr (0755, root, other) %{_datadir}/applications
+%{_datadir}/applications/postr.desktop
+%dir %attr (0755, root, other) %{_datadir}/icons
+%dir %attr (0755, root, other) %{_datadir}/icons/hicolor/
+%dir %attr (0755, root, other) %{_datadir}/icons/hicolor/scalable/
+%dir %attr (0755, root, other) %{_datadir}/icons/hicolor/scalable/apps/
+%{_datadir}/icons/hicolor/scalable/apps/*
+%dir %attr (0755, root, other) %{_datadir}/icons/hicolor/16x16
+%dir %attr (0755, root, other) %{_datadir}/icons/hicolor/16x16/apps/
+%{_datadir}/icons/hicolor/16x16/apps/*
+%dir %attr (0755, root, other) %{_datadir}/icons/hicolor/22x22/
+%dir %attr (0755, root, other) %{_datadir}/icons/hicolor/22x22/apps/
+%{_datadir}/icons/hicolor/22x22/apps/*
+%dir %attr (0755, root, other) %{_datadir}/icons/hicolor/32x32/
+%dir %attr (0755, root, other) %{_datadir}/icons/hicolor/32x32/apps/
+%{_datadir}/icons/hicolor/32x32/apps/*
+%dir %attr (0755, root, bin) %{_libdir}
+%dir %attr (0755, root, bin) %{_libdir}/nautilus
+%dir %attr (0755, root, bin) %{_libdir}/nautilus/extensions-1.0
+%{_libdir}/nautilus/extensions-1.0/*
+%{_libdir}/python%{pythonver}/vendor-packages/postr
+
+%changelog
+* Thu Aug 30 2007 - [email protected]
+- Initial spec
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/cheese-01-nongnu.diff	Fri Aug 31 00:07:24 2007 +0000
@@ -0,0 +1,88 @@
+diff -ru cheese-0.2.3.orig/toc2/make/toc2-install.make cheese-0.2.3/toc2/make/toc2-install.make
+--- cheese-0.2.3.orig/toc2/make/toc2-install.make	2007年  7月  5日 四 09:13:14
++++ cheese-0.2.3/toc2/make/toc2-install.make	2007年  8月 30日 四 16:37:43
+@@ -53,7 +53,7 @@
+ # This is an ancient kludge force [un]install to silently fail without an
+ # error when passed an empty file list. This was done because saner
+ # approaches to checking this failed to work on some older machines.
+-toc2.call.install.grep_kludge = echo $(1) "" | grep -q '[a-zA-Z0-9]' || exit 0
++toc2.call.install.grep_kludge = echo $(1) "" | grep '[a-zA-Z0-9]' || exit 0
+ 
+ ########################################################################
+ # $(call toc2.call.install,file_list,destdir[,install-sh-flags])
+只有在 cheese-0.2.3/toc2/make : toc2.make
+只有在 cheese-0.2.3/toc2/sbin : toc2.make
+diff -ru cheese-0.2.3.orig/toc2/sbin/toc2_core.sh cheese-0.2.3/toc2/sbin/toc2_core.sh
+--- cheese-0.2.3.orig/toc2/sbin/toc2_core.sh	2007年  6月 30日 六 07:17:29
++++ cheese-0.2.3/toc2/sbin/toc2_core.sh	2007年  8月 30日 四 16:38:08
+@@ -659,7 +659,7 @@
+     local -a passon # clone of $@ to pass on to TOC2_PARSEARGS_CALLBACK
+     local configure_args
+     local xtra=
+-    echo "$@" | grep -q \\--prefix= || xtra="--prefix=${prefix}"
++    echo "$@" | grep \\--prefix= || xtra="--prefix=${prefix}"
+ #    while [ "$#" -gt 0 ]; do
+     for arg in ${xtra} "$@"; do
+ #        local arg="$1"; shift
+共同的次目錄: cheese-0.2.3.orig/toc2/tests/c 和 cheese-0.2.3/toc2/tests/c
+共同的次目錄: cheese-0.2.3.orig/toc2/tests/cpp 和 cheese-0.2.3/toc2/tests/cpp
+diff -ru cheese-0.2.3.orig/toc2/tests/gnu_find.sh cheese-0.2.3/toc2/tests/gnu_find.sh
+--- cheese-0.2.3.orig/toc2/tests/gnu_find.sh	2007年  6月 30日 六 07:17:29
++++ cheese-0.2.3/toc2/tests/gnu_find.sh	2007年  8月 30日 四 16:40:20
+@@ -5,7 +5,6 @@
+ app=${TOC2_FIND_RESULT}
+ "$app" --version | grep -i GNU > /dev/null || {
+         echo "Your 'find' ($app) appears to be non-GNU."
+-        return 1
+ }
+ toc2_export_make FIND=$app
+ return 0
+diff -ru cheese-0.2.3.orig/toc2/tests/gnu_make.sh cheese-0.2.3/toc2/tests/gnu_make.sh
+--- cheese-0.2.3.orig/toc2/tests/gnu_make.sh	2007年  6月 30日 六 07:17:29
++++ cheese-0.2.3/toc2/tests/gnu_make.sh	2007年  8月 30日 四 16:37:03
+@@ -2,7 +2,7 @@
+ 
+ toc2_find gmake || toc2_find make || return
+ toc2_export MAKE=${TOC2_FIND_RESULT}
+-"$MAKE" --version | grep -qi GNU > /dev/null || {
++"$MAKE" --version | grep -i GNU > /dev/null || {
+         echo "Your make appears to be non-GNU."
+         return 1
+ }
+只有在 cheese-0.2.3/toc2/tests : toc2.make
+diff -ru cheese-0.2.3.orig/toc2/tests/toc2_make.sh cheese-0.2.3/toc2/tests/toc2_make.sh
+--- cheese-0.2.3.orig/toc2/tests/toc2_make.sh	2007年  6月 30日 六 12:09:02
++++ cheese-0.2.3/toc2/tests/toc2_make.sh	2007年  8月 30日 四 16:42:47
+@@ -24,7 +24,7 @@
+     local tocmakeprops
+     for d in $(find ${TOC2_TOP_SRCDIR} -name Makefile -o -name 'GNU[Mm]akefile' -o -name Makefile.toc \
+         | sed -e '/_darcs\//d;' -e '/\.svn\//d' \
+-        | xargs grep -E -l "include.+${themake}" | sort -u); do
++        | xargs egrep -l "include.+${themake}" | sort -u); do
+         #echo "d=$d" >&2
+         thedir=$(dirname $d)
+ 	tocmake=${thedir}/$themake
+diff -ru cheese-0.2.3.orig/toc2/tests/toc2_tests_help.sh cheese-0.2.3/toc2/tests/toc2_tests_help.sh
+--- cheese-0.2.3.orig/toc2/tests/toc2_tests_help.sh	2007年  6月 30日 六 07:17:29
++++ cheese-0.2.3/toc2/tests/toc2_tests_help.sh	2007年  8月 30日 四 16:37:24
+@@ -58,7 +58,7 @@
+         return 1
+     }
+     scr=${TOC2_FIND_RESULT}
+-    grep -q "toc2_begin_help" $scr || {
++    grep "toc2_begin_help" $scr || {
+         echo "No help text found."
+         continue
+     }
+diff -ru cheese-0.2.3.orig/po/Makefile cheese-0.2.3/po/Makefile
+--- cheese-0.2.3.orig/po/Makefile	2007年  8月 23日 四 04:45:57
++++ cheese-0.2.3/po/Makefile	2007年  8月 30日 四 19:13:59
+@@ -7,7 +7,7 @@
+ 	$(call toc2.call.setup-pomo-rules,$(LANG)))
+ 
+ package.dist_files += $(POFILES) $(package.name).pot
+-toc2.bins.msgfmt.flags := --statistics --verbose
++toc2.bins.msgfmt.flags := --verbose
+ POFILES = $(LANGS:%=%.po)
+ MOFILES = $(POFILES:%.po=%.mo)
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/cheese-02-sunpro.diff	Fri Aug 31 00:07:24 2007 +0000
@@ -0,0 +1,30 @@
+diff -ru cheese-0.2.3.orig/toc2/tests/gnu_cpp_tools.sh cheese-0.2.3/toc2/tests/gnu_cpp_tools.sh
+--- cheese-0.2.3.orig/toc2/tests/gnu_cpp_tools.sh	2007年  6月 30日 六 07:17:29
++++ cheese-0.2.3/toc2/tests/gnu_cpp_tools.sh	2007年  8月 30日 四 16:49:31
+@@ -59,7 +59,7 @@
+ elif test "x${configure_enable_debug}" = x0; then
+     #  What's a sensible default here?  -O2?  Put it first in the hopes
+     #  that any values already in $CFLAGS_OPT will take precedence.
+-    CFLAGS_OPT="-O2 $CFLAGS_OPT -DNDEBUG"
++    CFLAGS_OPT="-xO4 $CFLAGS_OPT -DNDEBUG"
+ else
+     #  They specified some flags.
+     CFLAGS_OPT="$configure_enable_debug"
+@@ -68,7 +68,7 @@
+ toc2_export CFLAGS_OPT="$CFLAGS_OPT"
+ 
+ if test "x${configure_enable_warn}" = x1; then
+-    WARN="-Wall $WARN"
++    WARN="-v $WARN"
+ elif test "x${configure_enable_warn}" = x0; then
+ 	WARN=
+ else
+@@ -78,7 +78,7 @@
+ 
+ if test "x${configure_enable_werror}" != x0; then
+     if test "x${configure_enable_werror}" = x1; then
+-        WARN="-Wall -Werror $WARN"
++        WARN="-v -Xc $WARN"
+     else
+         WARN="$WARN ${configure_enable_werror}"
+     fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/cheese-03-flags.diff	Fri Aug 31 00:07:24 2007 +0000
@@ -0,0 +1,42 @@
+diff -ru cheese-0.2.3.orig/src/Makefile cheese-0.2.3/src/Makefile
+--- cheese-0.2.3.orig/src/Makefile	2007年  8月 30日 四 18:28:49
++++ cheese-0.2.3/src/Makefile	2007年  8月 30日 四 18:51:05
+@@ -44,8 +44,8 @@
+ LIBEBOOK_CFLAGS := $(LIBEBOK_1_2_CFLAGS)
+ LIBEBOOK_LIBS := $(LIBEBOK_1_2_LIBS)
+ 
+-CFLAGS := $(call toc2.call.remove-dupes,-g -O2 -Wall -Werror $(DBUS_CFLAGS) $(GTK_CFLAGS) $(GLADE_CFLAGS) $(GSTREAMER_CFLAGS) $(GNOME_VFS_CFLAGS) $(GDK_CFLAGS) $(LIBGNOMEUI_CFLAGS) $(LIBEBOOK_CFLAGS) $(XF86VM_CFLAGS))
+-LDFLAGS := $(call toc2.call.remove-dupes,-lpthread $(DBUS_LIBS) $(GTK_LIBS) $(GLADE_LIBS) $(GSTREAMER_LIBS) $(GNOME_VFS_LIBS) $(GDK_LIBS) $(LIBGNOMEUI_LIBS) $(LIBEBOOK_LIBS) $(XF86VM_LIBS))
++CFLAGS := $(call toc2.call.remove-dupes,$(CFLAGS) $(_CFLAGS))
++LDFLAGS := $(call toc2.call.remove-dupes,$(LDFLAGS) $(_LIBS))
+ 
+ OBJS = $(SOURCES:%.c=%.o)
+ 
+diff -ru cheese-0.2.3.orig/toc2/make/toc2-c.make cheese-0.2.3/toc2/make/toc2-c.make
+--- cheese-0.2.3.orig/toc2/make/toc2-c.make	2007年  6月 30日 六 07:17:29
++++ cheese-0.2.3/toc2/make/toc2-c.make	2007年  8月 30日 四 18:54:00
+@@ -140,11 +140,7 @@
+ 	@test x != 'x$$($(1).BIN.SOURCES)' && {\
+ 		$(call toc2.bins.mkdep.rule-c,$$(@).d,$$($(1).BIN.SOURCES)); }; true
+ 	@$(call toc2.call.setx-unless-quiet,"CXX [$$@] ..."); \
+-        $$(CXX) -o $$@ \
+-                $$(INCLUDES) \
+-                $$(CFLAGS) \
+-                $$(CXXFLAGS) \
+-                $$(CPPFLAGS) \
++        $$(CC) -o $$@ \
+                 $$(LDFLAGS) \
+                 $$($(1).BIN.OBJECTS) $$($(1).BIN.SOURCES)
+ bins: $$($(1).BIN)
+@@ -185,9 +181,8 @@
+ 	@test x = "x$$($(1).DLL.OBJECTS)$$($(1).DLL.SOURCES)" && { \
+ 	echo "toc2.eval.rules.c-dll: $$@: $(1).DLL.OBJECTS and/or $(1).DLL.SOURCES are/is undefined!"; exit 1; }; \
+ 	$(call toc2.call.setx-unless-quiet,"CXX [$$@] ..."); \
+-	 $$(CXX) -o $$@ -shared -export-dynamic $$(LDFLAGS) \
+-		$$($(1).DLL.LDADD) $$($(1).DLL.OBJECTS) $$($(1).DLL.SOURCES) \
+-		$$($(1).DLL.CPPFLAGS)
++	 $$(LD) -o $$@ -shared -export-dynamic $$(LDFLAGS) \
++		$$($(1).DLL.LDADD) $$($(1).DLL.OBJECTS) $$($(1).DLL.SOURCES)
+ endef
+ ########################################################################
+ # $(call toc2.call.rules.c-dll,basename_list) calls and $(eval)s
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/cheese-04-threads.diff	Fri Aug 31 00:07:24 2007 +0000
@@ -0,0 +1,19 @@
+--- cheese-0.2.3.orig/src/cheese.c	2007年  8月 17日 五 14:24:17
++++ cheese-0.2.3/src/cheese.c	2007年  8月 30日 四 19:27:18
+@@ -58,6 +58,8 @@
+   GnomeVFSURI *uri;
+ 
+   g_thread_init (NULL);
++  gdk_threads_init ();
++  gdk_threads_enter ();
+   gtk_init (&argc, &argv);
+   gst_init (&argc, &argv);
+   gnome_vfs_init ();
+@@ -116,6 +118,7 @@
+       G_CALLBACK (cheese_window_expose_cb), NULL);
+ 
+   gtk_main ();
++  gdk_threads_leave ();
+ 
+   return EXIT_SUCCESS;
+ }