diff --git a/README.md b/README.md index 490823f..53043f4 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,5 @@ # kamoso +Kamoso is an application to take pictures and videos out of your webcam. +It also lets you to push the media to some web 2.0 services such as facebook and youtube. + diff --git a/kamoso-2.0.2-libkipi-4.10.0-0.patch b/kamoso-2.0.2-libkipi-4.10.0-0.patch new file mode 100644 index 0000000..87760b4 --- /dev/null +++ b/kamoso-2.0.2-libkipi-4.10.0-0.patch @@ -0,0 +1,158 @@ +commit a0aec903b36b52bda1a9a5d2e875af1063747a86 +Author: Rex Dieter +Date: Fri Dec 21 10:39:52 2012 -0600 + + initial port to libkipi-2.x + + Initial libkipi-2.x support courtesy of Sando Mani + + BUG: 307147 + +diff --git a/src/kamoso.cpp b/src/kamoso.cpp +index 6026bdd..24dd0f2 100644 +--- a/src/kamoso.cpp ++++ b/src/kamoso.cpp +@@ -45,6 +45,7 @@ + #include + #endif + ++#include + #include + #include + #include +@@ -189,7 +190,9 @@ Kamoso::Kamoso(QWidget* parent) + connect(mTracker, SIGNAL(urlsChanged(KUrl::List)), SLOT(updateThumbnails(KUrl::List))); + + QMetaObject::invokeMethod(this, "initialize"); +- mPluginLoader = new KIPI::PluginLoader(QStringList(), new KIPIInterface(this), ""); ++ mPluginLoader = new KIPI::PluginLoader(); ++ mPluginLoader->setInterface(new KIPIInterface(this)); ++ mPluginLoader->init(); + } + + KUrl::List Kamoso::selectedItems() +diff --git a/src/kamoso.h b/src/kamoso.h +index 1ef37f3..dcd8987 100644 +--- a/src/kamoso.h ++++ b/src/kamoso.h +@@ -36,6 +36,7 @@ class WebcamWidget; + class WebcamRetriever; + class CountdownWidget; + class KDirOperator; ++class QItemSelection; + class QStackedLayout; + class QSplitter; + class QPushButton; +diff --git a/src/kipiaction.cpp b/src/kipiaction.cpp +index a0f8405..f7aaacb 100644 +--- a/src/kipiaction.cpp ++++ b/src/kipiaction.cpp +@@ -19,7 +19,7 @@ + + #include "kipiaction.h" + #include +-#include ++#include "plugins/exportinterface.h" + #include + #include "kamoso.h" + #include "kamosojobtracker.h" +@@ -33,7 +33,7 @@ KipiAction::KipiAction(KIPI::PluginLoader::Info* pluginInfo, Kamoso* ui, QObject + void KipiAction::runJob() + { + KIPI::Plugin* p=pluginInfo->plugin(); +- KIPI::ExportInterface* ep=dynamic_cast(p); ++ ExportInterface* ep=dynamic_cast(p); + + KJob* job=ep->exportFiles(i18n("Kamoso")); + mKamoso->tracker()->registerJob(job, mKamoso->selectedItems(), icon()); +diff --git a/src/pluginTester/fakekipiaction.cpp b/src/pluginTester/fakekipiaction.cpp +index c86c605..8db307d 100644 +--- a/src/pluginTester/fakekipiaction.cpp ++++ b/src/pluginTester/fakekipiaction.cpp +@@ -20,10 +20,10 @@ + #include "fakekipiaction.h" + + #include +-#include + #include + #include + #include ++#include "../plugins/exportinterface.h" + + FakeKipiAction::FakeKipiAction(KIPI::PluginLoader::Info* pluginInfo, QObject* parent) + : QAction(pluginInfo->icon(), pluginInfo->name(), parent), pluginInfo(pluginInfo) +@@ -39,7 +39,7 @@ FakeKipiAction::~FakeKipiAction() + void FakeKipiAction::runJob() + { + KIPI::Plugin* p=pluginInfo->plugin(); +- KIPI::ExportInterface* ep = dynamic_cast(p); ++ ExportInterface* ep = dynamic_cast(p); + + m_job = ep->exportFiles(i18n("Kamoso")); + KIO::getJobTracker()->registerJob(m_job); +diff --git a/src/pluginTester/pluginTester.cpp b/src/pluginTester/pluginTester.cpp +index 6609b39..2619eb8 100644 +--- a/src/pluginTester/pluginTester.cpp ++++ b/src/pluginTester/pluginTester.cpp +@@ -41,7 +41,9 @@ PluginTester::PluginTester(QObject *parent) : QObject(parent) + kurlList.append(KUrl(args->arg(i))); + } + +- m_pluginLoader = new KIPI::PluginLoader(QStringList(), new FakeKIPIInterface(kurlList), ""); ++ m_pluginLoader = new KIPI::PluginLoader(); ++ m_pluginLoader->setInterface(new FakeKIPIInterface(kurlList)); ++ m_pluginLoader->init(); + + bool found = false; + Q_FOREACH(KIPI::PluginLoader::Info *pluginInfo, m_pluginLoader->pluginList()) { +diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt +index 28bc10b..8755047 100644 +--- a/src/plugins/CMakeLists.txt ++++ b/src/plugins/CMakeLists.txt +@@ -30,5 +30,5 @@ FIND_PACKAGE(Kipi REQUIRED) + # MACRO_OPTIONAL_FIND_PACKAGE(KdepimLibs) # For Calendar (libkcal). + # MACRO_OPTIONAL_FIND_PACKAGE(QCA2) # For Shwup. + +-include_directories(${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/plugins/youtube) ++include_directories(${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/plugins ${CMAKE_SOURCE_DIR}/src/plugins/youtube) + add_subdirectory(youtube) +diff --git a/src/plugins/exportinterface.h b/src/plugins/exportinterface.h +new file mode 100644 +index 0000000..f1556f9 +--- /dev/null ++++ b/src/plugins/exportinterface.h +@@ -0,0 +1,15 @@ ++#ifndef EXPORTINTERFACE_H ++#define EXPORTINTERFACE_H ++ ++class KJob; ++ ++class ExportInterface ++{ ++public: ++ ++ virtual ~ExportInterface() {} ++ ++ virtual KJob* exportFiles(const QString& albumname)=0; ++}; ++ ++#endif // EXPORTINTERFACE_H +diff --git a/src/plugins/youtube/kipiplugin_youtube.h b/src/plugins/youtube/kipiplugin_youtube.h +index c274933..dcf3158 100644 +--- a/src/plugins/youtube/kipiplugin_youtube.h ++++ b/src/plugins/youtube/kipiplugin_youtube.h +@@ -22,12 +22,11 @@ + #include + #include + #include +-#include ++#include + +-class YoutubePlugin : public KIPI::Plugin, public KIPI::ExportInterface ++class YoutubePlugin : public KIPI::Plugin, public ExportInterface + { + Q_OBJECT +- Q_INTERFACES(KIPI::ExportInterface) + public: + YoutubePlugin(QObject* parent, const QVariantList& args); + // virtual QAction* thumbnailsAction(const QList& url); diff --git a/kamoso-2.0.2-libkipi-4.10.0.patch b/kamoso-2.0.2-libkipi-4.10.0.patch new file mode 100644 index 0000000..c0096be --- /dev/null +++ b/kamoso-2.0.2-libkipi-4.10.0.patch @@ -0,0 +1,67 @@ +commit 9f32257a1e930b16e64508e6fbfa9390fc0322ee +Author: Rex Dieter +Date: Fri Dec 21 11:55:42 2012 -0600 + + fix build for < libkipi-2 + + BUG: 307147 + +diff --git a/src/kamoso.cpp b/src/kamoso.cpp +index 24dd0f2..4ca0dc4 100644 +--- a/src/kamoso.cpp ++++ b/src/kamoso.cpp +@@ -78,6 +78,7 @@ + + #include + #include ++#include + #include + + const int max_exponential_value = 50; +@@ -190,9 +191,13 @@ Kamoso::Kamoso(QWidget* parent) + connect(mTracker, SIGNAL(urlsChanged(KUrl::List)), SLOT(updateThumbnails(KUrl::List))); + + QMetaObject::invokeMethod(this, "initialize"); ++#if (KIPI_VERSION >= 0x020000) + mPluginLoader = new KIPI::PluginLoader(); + mPluginLoader->setInterface(new KIPIInterface(this)); + mPluginLoader->init(); ++#else ++ mPluginLoader = new KIPI::PluginLoader(QStringList(), new KIPIInterface(this), ""); ++#endif + } + + KUrl::List Kamoso::selectedItems() +diff --git a/src/pluginTester/pluginTester.cpp b/src/pluginTester/pluginTester.cpp +index 2619eb8..36acdb5 100644 +--- a/src/pluginTester/pluginTester.cpp ++++ b/src/pluginTester/pluginTester.cpp +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + + PluginTester::PluginTester(QObject *parent) : QObject(parent) + { +@@ -41,9 +42,13 @@ PluginTester::PluginTester(QObject *parent) : QObject(parent) + kurlList.append(KUrl(args->arg(i))); + } + ++#if (KIPI_VERSION >= 0x020000) + m_pluginLoader = new KIPI::PluginLoader(); + m_pluginLoader->setInterface(new FakeKIPIInterface(kurlList)); + m_pluginLoader->init(); ++#else ++ m_pluginLoader = new KIPI::PluginLoader(QStringList(), new FakeKIPIInterface(kurlList), ""); ++#endif + + bool found = false; + Q_FOREACH(KIPI::PluginLoader::Info *pluginInfo, m_pluginLoader->pluginList()) { +@@ -60,4 +65,4 @@ PluginTester::PluginTester(QObject *parent) : QObject(parent) + PluginTester::~PluginTester() + { + delete m_action; +-} +\ No newline at end of file ++} diff --git a/kamoso-2.0.2-libkipi-4.9.1.patch b/kamoso-2.0.2-libkipi-4.9.1.patch new file mode 100644 index 0000000..42a5b2a --- /dev/null +++ b/kamoso-2.0.2-libkipi-4.9.1.patch @@ -0,0 +1,11 @@ +diff -Nru kamoso-2.0.2.orig/src/plugins/youtube/kipiplugin_youtube.cpp kamoso-2.0.2/src/plugins/youtube/kipiplugin_youtube.cpp +--- kamoso-2.0.2.orig/src/plugins/youtube/kipiplugin_youtube.cpp 2011-05-25 00:34:42.000000000 +0200 ++++ kamoso-2.0.2/src/plugins/youtube/kipiplugin_youtube.cpp 2012-09-12 17:58:04.530442982 +0200 +@@ -36,6 +36,7 @@ + #include + #include + #include ++#include + + using KWallet::Wallet; + diff --git a/kamoso.spec b/kamoso.spec new file mode 100644 index 0000000..1c5bd97 --- /dev/null +++ b/kamoso.spec @@ -0,0 +1,86 @@ +Name: kamoso +Version: 2.0.2 +Release: 5mamba +Summary: An application to take pictures and videos out of your webcam +Group: Graphical Desktop/Applications/Multimedia +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://kde-apps.org/content/show.php/Kamoso?content=111750 +Source: ftp://ftp.kde.org/pub/kde/stable/kamoso/%{version}/src/kamoso-%{version}.tar.bz2 +Patch0: kamoso-2.0.2-libkipi-4.9.1.patch +Patch1: kamoso-2.0.2-libkipi-4.10.0-0.patch +Patch2: kamoso-2.0.2-libkipi-4.10.0.patch +License: GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: kdelibs-devel +BuildRequires: libgcc +BuildRequires: libgstreamer010-devel +BuildRequires: libkipi-devel +BuildRequires: libphonon-devel +BuildRequires: libqt4-devel +BuildRequires: libqt-gstreamer-devel +BuildRequires: libsoprano-devel +BuildRequires: libstdc++6-devel +## AUTOBUILDREQ-END +BuildRequires: cmake +BuildRequires: libkipi-devel >= 4.11 +Requires: kdeplasma-addons >= 4.9.2 +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%debug_package + +%description +Kamoso is an application to take pictures and videos out of your webcam. +It also lets you to push the media to some web 2.0 services such as facebook and youtube. + +%prep +%setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 + +%build +%cmake_kde4 -d build +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall -C build + +%find_lang %{name} + +rm -f %{buildroot}%{_kde4_icondir}/hicolor/*/actions/youtube.png + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%files -f %{name}.lang +%defattr(-,root,root) +%{_kde4_bindir}/kamoso +%{_kde4_bindir}/kamosoPluginTester +%{_kde4_libdir}/kde4/kipiplugin_youtube.so +%{_kde4_xdgappsdir}/kamoso.desktop +%{_kde4_icondir}/hicolor/*/apps/kamoso.png +%{_kde4_icondir}/hicolor/scalable/actions/youtube.svgz +%{_kde4_icondir}/hicolor/scalable/apps/kamoso.svgz +%{_kde4_servicesdir}/kipiplugin_youtube.desktop +%{_kde4_servicetypesdir}/kamosoplugin.desktop +%doc AUTHORS COPYING + +%changelog +* Wed Aug 21 2013 Silvan Calarco 2.0.2-5mamba +- rebuilt with libkipi 4.11 + +* Mon Feb 18 2013 Silvan Calarco 2.0.2-4mamba +- rebuilt with libkipi 4.10.0 (added upstream patch from git) + +* Thu Oct 04 2012 Silvan Calarco 2.0.2-3mamba +- remove icon conflicting with kdeplasma-addons >= 4.9.2 + +* Wed Sep 12 2012 Silvan Calarco 2.0.2-2mamba +- rebuild with libkipi 4.9 + +* Fri Mar 02 2012 Silvan Calarco 2.0.2-1mamba +- package created by autospec