Merge lp:~cairo-dock-team/ubuntu/oneiric/cairo-dock-plug-ins/2.3.0-2.1 into lp:ubuntu/oneiric/cairo-dock-plug-ins

Proposed by Matthieu Baerts
Status: Merged
Merged at revision: 18
Proposed branch: lp:~cairo-dock-team/ubuntu/oneiric/cairo-dock-plug-ins/2.3.0-2.1
Merge into: lp:ubuntu/oneiric/cairo-dock-plug-ins
Diff against target: 1787 lines (+1615/-13)
13 files modified
.pc/.version (+1/-0)
.pc/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch/CMakeLists.txt (+941/-0)
.pc/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch/dnd2share/src/applet-backend-ubuntuone.c (+95/-0)
.pc/02-weather-fix_upstream-version-2.3.0~2.2.patch/weather/src/applet-read-data.c (+462/-0)
.pc/applied-patches (+2/-0)
CMakeLists.txt (+12/-8)
debian/changelog (+17/-0)
debian/control (+0/-1)
debian/patches/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch (+36/-0)
debian/patches/02-weather-fix_upstream-version-2.3.0~2.2.patch (+41/-0)
debian/patches/series (+2/-0)
dnd2share/src/applet-backend-ubuntuone.c (+4/-2)
weather/src/applet-read-data.c (+2/-2)
To merge this branch: bzr merge lp:~cairo-dock-team/ubuntu/oneiric/cairo-dock-plug-ins/2.3.0-2.1
Reviewer Review Type Date Requested Status
Kees Cook Approve
Review via email: mp+61871@code.launchpad.net

Description of the change

This is a bugs fixed version.

How to reproduce the bug:
* Simply drop a file into the Drop to Share (aka DND2Share) applet configured to use UbuntuOne and u1sdtool will crash.

NOTE: please wait for the compilation of the core (cairo-dock-core ; LP: #786104 ; https://code.launchpad.net/~cairo-dock-team/ubuntu/oneiric/cairo-dock/2.3.0-2.1/+merge/61870 )

To post a comment you must log in.
18. By Matthieu Baerts

* New upstream release. (LP: #786105)
* Upstream ChangeLog:
 - Fixed a typo in CMakeLists.txt about Ruby interface
 - CMakeLists.txt: Added the status of applets (stable / unstable
    / unsupported) to help packagers to not include unstable or
    unsupported applets on Cairo-Dock packages for stable distributions
* debian/patches:
 - Added two upstream's patches:
  + to avoid a crash of u1sdtool (dnd2share)
  + to prevent a crash with Weather (LP: #788437)
* debian/control:
 - Removed libgvfscommon-dev (not used and no longer available)

Revision history for this message
Kees Cook (kees) wrote :

The cairo-dock package has been merged, so I'll merge this too. Thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added directory '.pc'
2=== added file '.pc/.version'
3--- .pc/.version 1970-01-01 00:00:00 +0000
4+++ .pc/.version 2011-06-06 10:14:32 +0000
5@@ -0,0 +1,1 @@
6+2
7
8=== added directory '.pc/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch'
9=== added file '.pc/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch/CMakeLists.txt'
10--- .pc/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch/CMakeLists.txt 1970-01-01 00:00:00 +0000
11+++ .pc/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch/CMakeLists.txt 2011-06-06 10:14:32 +0000
12@@ -0,0 +1,941 @@
13+########### requirements ###############
14+
15+cmake_minimum_required (VERSION 2.6)
16+find_package (PkgConfig)
17+include (CheckLibraryExists)
18+include (CheckIncludeFiles)
19+include (CheckFunctionExists)
20+include (CheckSymbolExists)
21+
22+########### project ###############
23+
24+project ("cairo-dock-plugins")
25+set (VERSION "2.3.0~2")
26+
27+add_definitions (-std=c99 -Wstrict-prototypes -Wextra -Wwrite-strings -Wuninitialized -Werror-implicit-function-declaration) #-Wunreachable-code -Wno-unused-parameter -Wall
28+if (NOT ${CMAKE_BUILD_TYPE})
29+ add_definitions (-O3)
30+endif()
31+add_definitions (-DGL_GLEXT_PROTOTYPES="1")
32+
33+############ sources tarball #############
34+
35+set (CPACK_SOURCE_GENERATOR "TGZ")
36+set (CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${VERSION}")
37+set (CPACK_SOURCE_IGNORE_FILES
38+ "/build/;/.bzr/;bzrignore$;/misc/;~$;${CPACK_SOURCE_IGNORE_FILES}")
39+include (CPack)
40+
41+add_custom_target( dist
42+ COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
43+add_custom_target(dist-bzr
44+ COMMAND bzr export ${CMAKE_PROJECT_NAME}-${VERSION}.tar.gz
45+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
46+
47+############ uninstall #############
48+
49+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake IMMEDIATE @ONLY)
50+add_custom_target (uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
51+
52+########### global variables ###############
53+
54+if( WIN32 )
55+ message(FATAL_ERROR "Cairo-Dock requires an air-conditioned room. Please close Windows!")
56+endif( WIN32 )
57+
58+set (PACKAGE ${CMAKE_PROJECT_NAME})
59+set (GETTEXT_PACKAGE ${PACKAGE})
60+
61+# get plug-ins install dir
62+execute_process(
63+ COMMAND pkg-config cairo-dock --variable=pluginsdir # /usr/lib/cairo-dock
64+ OUTPUT_VARIABLE pluginsdir)
65+STRING (REGEX REPLACE "\n" "" pluginsdir ${pluginsdir}) # la commande rajoute un retour chariot ...
66+# get plug-ins data dir
67+execute_process(
68+ COMMAND pkg-config cairo-dock --variable=pluginsdatadir # /usr/share/cairo-dock/plug-ins
69+ OUTPUT_VARIABLE pluginsdatadir)
70+STRING (REGEX REPLACE "\n" "" pluginsdatadir ${pluginsdatadir})
71+# check that version matches with the core
72+execute_process(
73+ COMMAND pkg-config --modversion cairo-dock # 2.2.0-3
74+ OUTPUT_VARIABLE dock_version)
75+STRING (REGEX REPLACE "\n" "" dock_version ${dock_version})
76+if (NOT "${dock_version}" STREQUAL "${VERSION}") # Version
77+ MESSAGE (FATAL_ERROR "warning : version mismatch with the core : " ${VERSION} <> ${dock_version})
78+endif()
79+
80+#if( CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT "${FORCE_LIB64}" STREQUAL "") # 64bits and force install in lib64
81+# set (libname "lib64")
82+#else()
83+# set (libname "lib${LIB_SUFFIX}")
84+#endif()
85+#set (libdir "${CMAKE_INSTALL_PREFIX}/${libname}/cairo-dock") # /usr/lib
86+
87+# check that installation dir matches with the core
88+GET_FILENAME_COMPONENT(libdir "${pluginsdir}/.." ABSOLUTE) # /usr/lib
89+GET_FILENAME_COMPONENT(prefix "${pluginsdir}/../.." ABSOLUTE) # /usr
90+if (NOT "${CMAKE_INSTALL_PREFIX}" STREQUAL "${prefix}")
91+ message (STATUS "Warning : plug-ins should be installed in the same directory as the core, that is to say in ${pluginsdir}")
92+ set (CMAKE_INSTALL_PREFIX "${prefix}")
93+ #set (libdir "${CMAKE_INSTALL_PREFIX}/${libname}/cairo-dock")
94+endif()
95+
96+# set internationalisation
97+set (GETTEXT_PLUGINS "cairo-dock-plugins")
98+set (localedir "${CMAKE_INSTALL_PREFIX}/share/locale")
99+set (gaugesdir "${CMAKE_INSTALL_PREFIX}/share/cairo-dock/gauges")
100+
101+set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules/") # additionnal FindPackage files
102+
103+########### dependancies ###############
104+
105+message ("")
106+message (STATUS "=====================")
107+message (STATUS "Check dependancies...")
108+message (STATUS "=====================")
109+message ("")
110+
111+pkg_check_modules ("PACKAGE" REQUIRED "gtk+-2.0" "gthread-2.0" "cairo" "librsvg-2.0" "dbus-1" "dbus-glib-1" "libxml-2.0" "gtkglext-1.0" "cairo-dock")
112+
113+############# GLIB #################
114+pkg_check_modules (GLIB glib-2.0)
115+ STRING (REGEX REPLACE "\\..*" "" GLIB_MAJOR "${GLIB_VERSION}") # 2.28.3 => 2
116+ STRING (REGEX REPLACE "[0-9]*\\.([^ ]+)" "\\1" GLIB_MINOR "${GLIB_VERSION}") # 2.28.3 => 2.28
117+ STRING (REGEX REPLACE "\\.[0-9]*" "" GLIB_MINOR "${GLIB_MINOR}") # 2.28 => 28
118+ STRING (REGEX REPLACE ".*\\." "" GLIB_NANO "${GLIB_VERSION}") # 2.28.3 => 3
119+ STRING (REGEX REPLACE "-.*" "" GLIB_NANO "${GLIB_NANO}")
120+
121+############# ALSA_MIXER #################
122+set (with_alsa "no")
123+if (NOT "${enable-alsa-mixer}" STREQUAL "no")
124+ pkg_check_modules (ALSA_MIXER_PACKAGE alsa)
125+ if ("${ALSA_MIXER_PACKAGE_FOUND}" STREQUAL "")
126+ message (STATUS "Could not find alsa; Cairo-Dock won't be built with AlsaMixer applet.")
127+ else()
128+ set (GETTEXT_ALSA_MIXER ${GETTEXT_PLUGINS})
129+ set (VERSION_ALSA_MIXER "1.0.12")
130+ set (PACKAGE_ALSA_MIXER "cd-AlsaMixer")
131+ set (with_alsa "yes")
132+ set (alsa_mixerdatadir "${pluginsdatadir}/AlsaMixer")
133+ configure_file (${CMAKE_CURRENT_SOURCE_DIR}/alsaMixer/data/AlsaMixer.conf.in ${CMAKE_CURRENT_BINARY_DIR}/alsaMixer/data/AlsaMixer.conf)
134+ add_subdirectory ("alsaMixer")
135+ endif()
136+endif()
137+
138+############# ANIMATED ICONS #################
139+set (GETTEXT_ANIMATED_ICONS ${GETTEXT_PLUGINS})
140+set (VERSION_ANIMATED_ICONS "1.0.10")
141+set (PACKAGE_ANIMATED_ICONS "cd-Animated-icons")
142+set (animated_iconsdatadir "${pluginsdatadir}/Animated-icons")
143+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Animated-icons/data/Animated-icons.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Animated-icons/data/Animated-icons.conf)
144+add_subdirectory (Animated-icons)
145+
146+############# CAIRO_PENGUIN #################
147+set (GETTEXT_CAIRO_PENGUIN ${GETTEXT_PLUGINS})
148+set (VERSION_CAIRO_PENGUIN "1.1.8")
149+set (PACKAGE_CAIRO_PENGUIN "cd-Cairo-Penguin")
150+set (cairo_penguinuserdirname "Cairo-Penguin")
151+set (cairo_penguindatadir "${pluginsdatadir}/Cairo-Penguin")
152+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Cairo-Penguin/data/Cairo-Penguin.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Cairo-Penguin/data/Cairo-Penguin.conf)
153+add_subdirectory (Cairo-Penguin)
154+
155+############# CLIPPER #################
156+set (GETTEXT_CLIPPER ${GETTEXT_PLUGINS})
157+set (VERSION_CLIPPER "1.1.4")
158+set (PACKAGE_CLIPPER "cd-Clipper")
159+set (Clipperdatadir "${pluginsdatadir}/Clipper")
160+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Clipper/data/Clipper.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Clipper/data/Clipper.conf)
161+add_subdirectory (Clipper)
162+
163+############# CLOCK #################
164+set (with_ical "yes")
165+pkg_check_modules ("LIBICAL_PACKAGE" "libical")
166+if ("${LIBICAL_PACKAGE_FOUND}" STREQUAL "")
167+ set (with_ical "no")
168+ message (STATUS "Could not find libical; Clock plugin won't be built with iCal support.")
169+endif()
170+set (GETTEXT_CLOCK ${GETTEXT_PLUGINS})
171+set (VERSION_CLOCK "2.1.2")
172+set (PACKAGE_CLOCK "cd-clock")
173+set (clockuserdirname "clock")
174+set (clockdatadir "${pluginsdatadir}/clock")
175+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/clock/data/clock.conf.in ${CMAKE_CURRENT_BINARY_DIR}/clock/data/clock.conf)
176+add_subdirectory (clock)
177+
178+############# COMPIZ_ICON #################
179+set (GETTEXT_COMPIZ_ICON ${GETTEXT_PLUGINS})
180+set (VERSION_COMPIZ_ICON "1.1.6")
181+set (PACKAGE_COMPIZ_ICON "cd-compiz-icon")
182+set (compiz_icondatadir "${pluginsdatadir}/compiz-icon")
183+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/compiz-icon/data/compiz-icon.conf.in ${CMAKE_CURRENT_BINARY_DIR}/compiz-icon/data/compiz-icon.conf)
184+add_subdirectory (compiz-icon)
185+
186+############# DBUS #################
187+find_program (PYTHON_EXECUTABLE python)
188+EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "import sys; print sys.version" OUTPUT_VARIABLE PYTHON_VERSION)
189+if ("${PYTHON_VERSION}" STREQUAL "")
190+ message (STATUS "Could not find Python, won't install Python interface.")
191+ set (with_python "no")
192+else()
193+ STRING (REGEX REPLACE "\n" "" PYTHON_VERSION ${PYTHON_VERSION})
194+ message (STATUS "Python Version: ${PYTHON_VERSION}")
195+ GET_FILENAME_COMPONENT(DEBIAN_VERSION /etc/debian_version ABSOLUTE)
196+ if (EXISTS ${DEBIAN_VERSION})
197+ message (STATUS " will use '--install-layout deb' with 'python setup.py install'")
198+ set (DEBIAN_INSTALL_LAYOUT "--install-layout deb")
199+ endif()
200+ set (PYTHON_FOUND "TRUE")
201+ set (with_python "yes")
202+endif()
203+
204+# find_package(Ruby) found libs of ruby-dev but we only need a directory where we can install ruby libs.
205+find_program (RUBY_EXECUTABLE ruby)
206+EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print Config::CONFIG['rubylibdir']"
207+ OUTPUT_VARIABLE RUBY_LIB_DIR)
208+message (STATUS "RUBY_LIBRARY: ${RUBY_LIB_DIR}")
209+if ("${RUBY_LIB_DIR}" STREQUAL "" OR "${RUBY_LIB_DIR}" STREQUAL "nil")
210+ message (STATUS "Could not find ruby libs, won't install Ruby interface.")
211+ set (with_ruby "no")
212+else()
213+ string (REGEX REPLACE "lib/ruby/[0-9].[0-9]" "" RUBY_LIB_DIR_INSTALL "${RUBY_LIB_DIR}")
214+ string (REGEX REPLACE "${RUBY_LIB_DIR_INSTALL}" "" RUBY_LIB_DIR_INSTALL "${RUBY_LIB_DIR}")
215+ set (RUBY_LIB_DIR "${CMAKE_INSTALL_PREFIX}/${RUBY_LIB_DIR_INSTALL}")
216+ message (STATUS " will be installed in: ${RUBY_LIB_DIR}")
217+ set (RUBY_FOUND "TRUE")
218+ set (with_ruby "yes")
219+endif()
220+
221+#find_package (Mono)
222+find_program (GMCS_EXECUTABLE gmcs)
223+if ("${GMCS_EXECUTABLE}" STREQUAL "" OR NOT EXISTS ${GMCS_EXECUTABLE})
224+ message (STATUS "Could not find Mono compiler gmcs, won't build Mono interface.")
225+ set (with_mono "no")
226+else()
227+ pkg_check_modules (MONO_PACKAGE glib-sharp-2.0 ndesk-dbus-1.0 ndesk-dbus-glib-1.0)
228+ if ("${MONO_PACKAGE_FOUND}" STREQUAL "")
229+ message (STATUS "Could not find glib-sharp-2.0, ndesk-dbus-1.0 or ndesk-dbus-glib-1.0; won't be built Mono interface.")
230+ set (with_mono "no")
231+ else()
232+ set (MONO_FOUND "TRUE")
233+ set (with_mono "yes")
234+ endif()
235+endif()
236+
237+# Valac is only riquired to convert vala files to C files.
238+# So we can directly use produced files (c, h, vapi) without using valac.
239+set (with_vala "yes")
240+set (with_valac "no")
241+find_program (VALAC_EXE valac)
242+message (STATUS "VALAC_EXE: ${VALAC_EXE}")
243+
244+if ("${WITH_VALA}" STREQUAL "no")
245+ set (with_vala "no")
246+# >= Glib 2.26
247+elseif (${GLIB_MAJOR} LESS 3 AND ${GLIB_MINOR} LESS 26)
248+ set (with_vala "no")
249+elseif (NOT "${VALAC_EXE}" STREQUAL "VALAC_EXE-NOTFOUND") # now it works with 0.10 and 0.11 (= next 0.12)
250+ execute_process(COMMAND ${VALAC_EXE} "--version"
251+ OUTPUT_VARIABLE "VALA_VERSION")
252+ string(REPLACE "Vala" "" "VALA_VERSION" ${VALA_VERSION})
253+ string(STRIP ${VALA_VERSION} "VALA_VERSION")
254+ message (STATUS "VALA_VERSION: ${VALA_VERSION}")
255+
256+ STRING (REGEX REPLACE "\\..*" "" VALA_MAJOR "${VALA_VERSION}")
257+ # message (STATUS "VALA_MAJOR : ${VALA_MAJOR}")
258+
259+ STRING (REGEX REPLACE "[0-9]*\\.([^ ]+)" "\\1" VALA_MINOR "${VALA_VERSION}") # 0.1.7 => 1.7
260+ STRING (REGEX REPLACE "\\.[0-9]*" "" VALA_MINOR "${VALA_MINOR}")
261+ # message (STATUS "VALA_MINOR : ${VALA_MINOR}")
262+
263+ STRING (REGEX REPLACE ".*\\." "" VALA_NANO "${VALA_VERSION}")
264+ STRING (REGEX REPLACE "-.*" "" VALA_NANO "${VALA_NANO}")
265+ # message (STATUS "VALA_NANO : ${VALA_NANO}")
266+
267+ if (${VALA_MAJOR} GREATER 0 OR ${VALA_MINOR} GREATER 9) # vala > 0.10
268+ message (STATUS " Vala compiler OK (>= 0.10).")
269+ set (VALAC_FOUND "TRUE")
270+ set (with_valac "yes")
271+ else()
272+ message (STATUS "Vala compiler is too old (0.10 required), won't build Vala interface.")
273+ endif()
274+endif()
275+
276+
277+set (GETTEXT_DBUS ${GETTEXT_PLUGINS})
278+set (VERSION_DBUS "1.2.1")
279+set (PACKAGE_DBUS "cd-Dbus")
280+set (dbusdatadir "${pluginsdatadir}/Dbus")
281+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Dbus/data/Dbus.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Dbus/data/Dbus.conf)
282+add_subdirectory (Dbus)
283+
284+############# DESKLET_RENDERING #################
285+set (GETTEXT_DESKLET_RENDERING ${GETTEXT_PLUGINS})
286+set (VERSION_DESKLET_RENDERING "1.5.6")
287+set (PACKAGE_DESKLET_RENDERING "cd-desklet-rendering")
288+set (desklet_renderingdatadir "${pluginsdatadir}/desklet-rendering")
289+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/desklet-rendering/data/desklet-rendering.conf.in ${CMAKE_CURRENT_BINARY_DIR}/desklet-rendering/data/desklet-rendering.conf)
290+add_subdirectory (desklet-rendering)
291+
292+############# DIALOG_RENDERING #################
293+set (GETTEXT_DIALOG_RENDERING ${GETTEXT_PLUGINS})
294+set (VERSION_DIALOG_RENDERING "0.5.1")
295+set (PACKAGE_DIALOG_RENDERING "cd-dialog-rendering")
296+set (dialog_renderingdatadir "${pluginsdatadir}/dialog-rendering")
297+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/dialog-rendering/data/dialog-rendering.conf.in ${CMAKE_CURRENT_BINARY_DIR}/dialog-rendering/data/dialog-rendering.conf)
298+add_subdirectory (dialog-rendering)
299+
300+############# DISKS #################
301+set (with_disks "no")
302+if ("${enable-disks}" STREQUAL "yes")
303+ set (GETTEXT_DISKS ${GETTEXT_PLUGINS})
304+ set (VERSION_DISKS "0.0.2")
305+ set (PACKAGE_DISKS "cd-disks")
306+ set (with_disks "yes")
307+ set (disksdatadir "${pluginsdatadir}/Disks")
308+ configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Disks/data/Disks.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Disks/data/Disks.conf)
309+ add_subdirectory ("Disks")
310+endif()
311+
312+############# DND2SHARE #################
313+set (GETTEXT_DND2SHARE ${GETTEXT_PLUGINS})
314+set (VERSION_DND2SHARE "1.0.5")
315+set (PACKAGE_DND2SHARE "cd-dnd2share")
316+set (dnd2sharedatadir "${pluginsdatadir}/dnd2share")
317+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/dnd2share/data/dnd2share.conf.in ${CMAKE_CURRENT_BINARY_DIR}/dnd2share/data/dnd2share.conf)
318+add_subdirectory (dnd2share)
319+
320+############# DOCK RENDERING #################
321+set (GETTEXT_RENDERING ${GETTEXT_PLUGINS})
322+set (VERSION_RENDERING "1.5.9")
323+set (PACKAGE_RENDERING "cd-rendering")
324+set (renderingdatadir "${pluginsdatadir}/rendering")
325+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/dock-rendering/data/rendering.conf.in ${CMAKE_CURRENT_BINARY_DIR}/dock-rendering/data/rendering.conf)
326+add_subdirectory (dock-rendering)
327+
328+############# DONCKY #################
329+set (with_doncky "no")
330+if ("${enable-doncky}" STREQUAL "yes")
331+ set (GETTEXT_DONCKY ${GETTEXT_PLUGINS})
332+ set (VERSION_DONCKY "0.0.4")
333+ set (PACKAGE_DONCKY "cd-doncky")
334+ set (with_doncky "yes")
335+ set (donckydatadir "${pluginsdatadir}/Doncky")
336+ configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Doncky/data/Doncky.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Doncky/data/Doncky.conf)
337+ add_subdirectory (Doncky)
338+endif()
339+
340+############# DROP INDICATOR #################
341+set (GETTEXT_DROP_INDICATOR ${GETTEXT_PLUGINS})
342+set (VERSION_DROP_INDICATOR "1.1.4")
343+set (PACKAGE_DROP_INDICATOR "cd-drop_indicator")
344+set (drop_indicatordatadir "${pluginsdatadir}/drop-indicator")
345+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/drop-indicator/data/drop_indicator.conf.in ${CMAKE_CURRENT_BINARY_DIR}/drop-indicator/data/drop_indicator.conf)
346+add_subdirectory (drop-indicator)
347+
348+############# DUSTBIN #################
349+set (GETTEXT_DUSTBIN ${GETTEXT_PLUGINS})
350+set (VERSION_DUSTBIN "2.3.1")
351+set (PACKAGE_DUSTBIN "cd-dustbin")
352+set (dustbinuserdirname "dustbin")
353+set (dustbindatadir "${pluginsdatadir}/dustbin")
354+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/dustbin/data/dustbin.conf.in ${CMAKE_CURRENT_BINARY_DIR}/dustbin/data/dustbin.conf)
355+add_subdirectory (dustbin)
356+
357+############# FOLDERS #################
358+set (GETTEXT_FOLDERS ${GETTEXT_PLUGINS})
359+set (VERSION_FOLDERS "0.2.1")
360+set (PACKAGE_FOLDERS "cd-Folders")
361+set (foldersdatadir "${pluginsdatadir}/Folders")
362+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Folders/data/Folders.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Folders/data/Folders.conf)
363+add_subdirectory (Folders)
364+
365+############# GMENU #################
366+set (with_gmenu "no")
367+if (NOT "${enable-gmenu}" STREQUAL "no")
368+ pkg_check_modules (GMENU_PACKAGE libgnome-menu)
369+ if ("${GMENU_PACKAGE_FOUND}" STREQUAL "")
370+ message (STATUS "Could not find libgnome-menu; Cairo-Dock won't be built with GMenu applet.")
371+ else()
372+ set (GETTEXT_GMENU ${GETTEXT_PLUGINS})
373+ set (VERSION_GMENU "1.1.6")
374+ set (PACKAGE_GMENU "cd-GMenu")
375+ set (with_gmenu "yes")
376+ set (gmenudatadir "${pluginsdatadir}/GMenu")
377+ configure_file (${CMAKE_CURRENT_SOURCE_DIR}/GMenu/data/GMenu.conf.in ${CMAKE_CURRENT_BINARY_DIR}/GMenu/data/GMenu.conf)
378+ add_subdirectory ("GMenu")
379+ endif()
380+endif()
381+
382+############# GVFS-INTEGRATION #################
383+pkg_check_modules ("LIBGIO" "gio-2.0")
384+add_subdirectory (gvfs-integration)
385+
386+############# GNOME-INTEGRATION #################
387+set (with_gnome_integration "no")
388+if (NOT "${enable-gnome-integration}" STREQUAL "no")
389+ pkg_check_modules (GNOME_INTEGRATION gio-2.0)
390+ if ("${GNOME_INTEGRATION_FOUND}" STREQUAL "")
391+ message (STATUS "Could not find gio; Cairo-Dock won't be built with Gnome>=2.22 support.")
392+ else()
393+ set (VERSION_GNOME_INTEGRATION "1.0.3")
394+ set (PACKAGE_GNOME_INTEGRATION "cd_gnome-integration")
395+ set (with_gnome_integration "yes")
396+ set (gnome_integrationdatadir "${pluginsdatadir}/gnome-integration")
397+ add_subdirectory ("gnome-integration")
398+ endif()
399+endif()
400+
401+############# GNOME-INTEGRATION-OLD #################
402+set (with_gnome_integration_old "no")
403+if ("${enable-old-gnome-integration}" STREQUAL "yes")
404+ pkg_check_modules (OLD_GNOME_INTEGRATION gnome-vfs-2.0 libgnomeui-2.0)
405+ if ("${OLD_GNOME_INTEGRATION_FOUND}" STREQUAL "")
406+ message (STATUS "Could not find gnome-vfs and/or gnomeui; Cairo-Dock won't be built with Gnome<2.22 support.")
407+ else()
408+ set (VERSION_GNOME_INTEGRATION_OLD "1.0.4")
409+ set (PACKAGE_GNOME_INTEGRATION_OLD "cd_gnome-integration-old")
410+ set (with_gnome_integration_old "yes")
411+ set (gnome_integration_olddatadir "${pluginsdatadir}/gnome-integration-old")
412+ add_subdirectory ("gnome-integration-old")
413+ endif()
414+endif()
415+
416+############# ICON EFFECT #################
417+set (GETTEXT_ICON_EFFECTS ${GETTEXT_PLUGINS})
418+set (VERSION_ICON_EFFECTS "1.2.4")
419+set (PACKAGE_ICON_EFFECTS "cd-icon-effect")
420+set (icon_effectsdatadir "${pluginsdatadir}/icon-effect")
421+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/icon-effect/data/icon-effect.conf.in ${CMAKE_CURRENT_BINARY_DIR}/icon-effect/data/icon-effect.conf)
422+add_subdirectory (icon-effect)
423+
424+############# INDICATOR-APPLET #################
425+# Note: the names of dbusmenu-glib and dbusmenu-gtk have changed...
426+pkg_check_modules (DBUSMENU_04 QUIET dbusmenu-glib-0.4)
427+pkg_check_modules (DBUSMENU_GTK_04 QUIET dbusmenu-gtk-0.4)
428+pkg_check_modules (INDICATOR_APPLET indicator libido-0.1)
429+if ("${DBUSMENU_04_FOUND}" STREQUAL "1")
430+ pkg_check_modules (DBUSMENU dbusmenu-glib-0.4)
431+else()
432+ pkg_check_modules (DBUSMENU dbusmenu-glib)
433+endif()
434+if ("${DBUSMENU_GTK_04_FOUND}" STREQUAL "1")
435+ pkg_check_modules (DBUSMENU_GTK dbusmenu-gtk-0.4)
436+else()
437+ pkg_check_modules (DBUSMENU_GTK dbusmenu-gtk)
438+endif()
439+if ("${INDICATOR_APPLET_FOUND}" STREQUAL "1" AND "${DBUSMENU_FOUND}" STREQUAL "1" AND "${DBUSMENU_GTK_FOUND}" STREQUAL "1")
440+ message (STATUS "DBUSMENU_VERSION : ${DBUSMENU_VERSION}")
441+
442+ STRING (REGEX REPLACE "\\..*" "" DBUSMENU_MAJOR "${DBUSMENU_VERSION}")
443+ # message (STATUS "DBUSMENU_MAJOR : ${DBUSMENU_MAJOR}")
444+
445+ STRING (REGEX REPLACE "[0-9]*\\.([^ ]+)" "\\1" DBUSMENU_MINOR "${DBUSMENU_VERSION}") # 0.1.7 => 1.7
446+ STRING (REGEX REPLACE "\\.[0-9]*" "" DBUSMENU_MINOR "${DBUSMENU_MINOR}")
447+ # message (STATUS "DBUSMENU_MINOR : ${DBUSMENU_MINOR}")
448+
449+ STRING (REGEX REPLACE ".*\\." "" DBUSMENU_NANO "${DBUSMENU_VERSION}")
450+ STRING (REGEX REPLACE "-.*" "" DBUSMENU_NANO "${DBUSMENU_NANO}")
451+ # message (STATUS "DBUSMENU_NANO : ${DBUSMENU_NANO}")
452+
453+ execute_process(
454+ COMMAND pkg-config --variable=iconsdir indicator
455+ OUTPUT_VARIABLE INDICATORICONSDIR)
456+ STRING (REGEX REPLACE "\n" "" INDICATORICONSDIR ${INDICATORICONSDIR}) # la commande rajoute un retour chariot ...
457+ add_subdirectory (Indicator-applet)
458+ set (with_indicator "yes")
459+endif()
460+
461+############# ILLUSION #################
462+set (GETTEXT_ILLUSION ${GETTEXT_PLUGINS})
463+set (VERSION_ILLUSION "1.0.7")
464+set (PACKAGE_ILLUSION "cd-illusion")
465+set (illusiondatadir "${pluginsdatadir}/illusion")
466+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/illusion/data/illusion.conf.in ${CMAKE_CURRENT_BINARY_DIR}/illusion/data/illusion.conf)
467+add_subdirectory (illusion)
468+
469+############# KDE-INTEGRATION #################
470+set (with_kde_integration "no")
471+if (NOT "${enable-kde-integration}" STREQUAL "no")
472+ pkg_check_modules (KDE_INTEGRATION gio-2.0)
473+ if ("${KDE_INTEGRATION_FOUND}" STREQUAL "")
474+ message (STATUS "Could not find kde libs; Cairo-Dock won't be built with KDE support.")
475+ else()
476+ set (VERSION_KDE_INTEGRATION "0.0.2")
477+ set (PACKAGE_KDE_INTEGRATION "cd_kde-integration")
478+ set (with_kde_integration "yes")
479+ set (kde_integrationdatadir "${pluginsdatadir}/kde-integration")
480+ add_subdirectory ("kde-integration")
481+ endif()
482+endif()
483+
484+############# KEYBOARD_INDICATOR #################
485+set (with_keyboard_indicator "no")
486+pkg_check_modules (KEYBOARD_INDICATOR_PACKAGE libxklavier)
487+if ("${KEYBOARD_INDICATOR_PACKAGE_FOUND}" STREQUAL "")
488+ message (STATUS "Could not find libxklavier; Cairo-Dock won't be built with keyboard-indicator applet.")
489+else()
490+ set (GETTEXT_KEYBOARD_INDICATOR ${GETTEXT_PLUGINS})
491+ set (VERSION_KEYBOARD_INDICATOR "1.1.3")
492+ set (PACKAGE_KEYBOARD_INDICATOR "cd-keyboard-indicator")
493+ set (with_keyboard_indicator "yes")
494+ set (keyboard_indicatordatadir "${pluginsdatadir}/keyboard-indicator")
495+ configure_file (${CMAKE_CURRENT_SOURCE_DIR}/keyboard-indicator/data/keyboard-indicator.conf.in ${CMAKE_CURRENT_BINARY_DIR}/keyboard-indicator/data/keyboard-indicator.conf)
496+ add_subdirectory ("keyboard-indicator")
497+endif()
498+
499+############# LOGOUT #################
500+set (GETTEXT_LOGOUT ${GETTEXT_PLUGINS})
501+set (VERSION_LOGOUT "1.2.10")
502+set (PACKAGE_LOGOUT "cd-logout")
503+set (logoutdatadir "${pluginsdatadir}/logout")
504+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/logout/data/logout.conf.in ${CMAKE_CURRENT_BINARY_DIR}/logout/data/logout.conf)
505+add_subdirectory (logout)
506+
507+############# MAIL #################
508+set (with_mail "no")
509+# find the compilation flags
510+execute_process(
511+ COMMAND libetpan-config --cflags
512+ OUTPUT_VARIABLE MAIL_PACKAGE_CFLAGS)
513+if (NOT "${MAIL_PACKAGE_CFLAGS}" STREQUAL "") # if we don't want to use it, we don't want to have an error
514+ STRING (REGEX MATCHALL "-I[^ ]+ " TMP_VARIABLE "${MAIL_PACKAGE_CFLAGS}") # first extract the "-I" options
515+ STRING (REGEX REPLACE ";" "" TMP_VARIABLE "${TMP_VARIABLE}")
516+ STRING (REGEX REPLACE " $" "" TMP_VARIABLE "${TMP_VARIABLE}")
517+ STRING (REGEX REPLACE "-I([^ ]+)" "\\1" MAIL_PACKAGE_INCLUDE_DIRS "${TMP_VARIABLE}") # then remove the "-I" string
518+endif()
519+# find the link flags
520+execute_process(
521+ COMMAND libetpan-config --libs
522+ OUTPUT_VARIABLE MAIL_PACKAGE_LIBS)
523+if (NOT "${MAIL_PACKAGE_LIBS}" STREQUAL "")
524+ # find the link libraries
525+ STRING (REGEX MATCHALL "-l[^ ]+ " TMP_VARIABLE "${MAIL_PACKAGE_LIBS}") # extract the "-l" options
526+ STRING (REGEX REPLACE ";" "" TMP_VARIABLE "${TMP_VARIABLE}")
527+ STRING (REGEX REPLACE " $" "" MAIL_PACKAGE_LIBRARIES "${TMP_VARIABLE}")
528+ # find the link directories
529+ STRING (REGEX MATCHALL "-L[^ ]+ " TMP_VARIABLE "${MAIL_PACKAGE_LIBS}") # extract the "-L" options
530+ STRING (REGEX REPLACE ";" "" TMP_VARIABLE "${TMP_VARIABLE}")
531+ STRING (REGEX REPLACE " $" "" TMP_VARIABLE "${TMP_VARIABLE}")
532+ STRING (REGEX REPLACE "-L([^ ]+)" "\\1" MAIL_PACKAGE_LIBRARY_DIRS "${TMP_VARIABLE}") # then remove the "-L" string
533+endif()
534+if ("${MAIL_PACKAGE_LIBS}" STREQUAL "")
535+ message (STATUS "warning : Could not find libetpan; Cairo-Dock won't be built with Mail applet.")
536+else()
537+ message (STATUS "libetpan found. Using the following options:")
538+ message (STATUS " Include directories: ${MAIL_PACKAGE_INCLUDE_DIRS}")
539+ message (STATUS " Link directories: ${MAIL_PACKAGE_LIBRARY_DIRS}")
540+ message (STATUS " Link libraries: ${MAIL_PACKAGE_LIBRARIES}")
541+ set (GETTEXT_MAIL ${GETTEXT_PLUGINS})
542+ set (VERSION_MAIL "1.0.8")
543+ set (PACKAGE_MAIL "cd-mail")
544+ set (maildatadir "${pluginsdatadir}/mail")
545+ set (with_mail "yes")
546+ configure_file (${CMAKE_CURRENT_SOURCE_DIR}/mail/data/mail.conf.in ${CMAKE_CURRENT_BINARY_DIR}/mail/data/mail.conf)
547+ add_subdirectory ("mail")
548+endif()
549+
550+############# MEMENU #################
551+# We try to detect if the user is on Ubuntu to know which bus we have to use...
552+execute_process(
553+ COMMAND lsb_release -i
554+ OUTPUT_VARIABLE DISTRO_ID) # -> "Distributor ID: Ubuntu"
555+if (NOT "${DISTRO_ID}" STREQUAL "") # this tool isn't available on all distributions
556+ STRING (REGEX REPLACE "\n" "" DISTRO_ID ${DISTRO_ID}) # retour chariot
557+ STRING (REGEX REPLACE ".*: *\t*" "" DISTRO_ID ${DISTRO_ID})
558+
559+ execute_process(
560+ COMMAND lsb_release -r
561+ OUTPUT_VARIABLE DISTRO_RELEASE) # -> "Release: 10.10"
562+ STRING (REGEX REPLACE "\n" "" DISTRO_RELEASE ${DISTRO_RELEASE}) # retour chariot
563+ STRING (REGEX REPLACE ".*: *\t*" "" DISTRO_RELEASE ${DISTRO_RELEASE})
564+else()
565+ # on Ubuntu deb builders, lsb_release isn't available but we can have a look to /etc/issue.net
566+ get_filename_component(ISSUE_NET "/etc/issue.net" ABSOLUTE)
567+ if (EXISTS ${ISSUE_NET}) # to not have an error with cat
568+ execute_process(
569+ COMMAND cat ${ISSUE_NET}
570+ OUTPUT_VARIABLE DISTRO_RELEASE) # -> Ubuntu 10.10 || Ubuntu natty (development branch)
571+ if (NOT "${DISTRO_RELEASE}" STREQUAL "")
572+ STRING (REGEX REPLACE "\n" "" DISTRO_RELEASE ${DISTRO_RELEASE}) # retour chariot
573+ STRING (REGEX REPLACE " (.+)" "" DISTRO_ID ${DISTRO_RELEASE})
574+ if ("${DISTRO_ID}" STREQUAL "Ubuntu")
575+ STRING (REGEX REPLACE ".[(]development branch[)]" "" DISTRO_RELEASE ${DISTRO_RELEASE})
576+ STRING (REGEX REPLACE ".LTS" "" DISTRO_RELEASE ${DISTRO_RELEASE}) # Ubuntu 10.04.1 LTS
577+ STRING (REGEX REPLACE "(.+) " "" DISTRO_RELEASE ${DISTRO_RELEASE})
578+ if ("${DISTRO_RELEASE}" STREQUAL "natty")
579+ set (DISTRO_RELEASE "11.04")
580+ elseif ("${DISTRO_RELEASE}" STREQUAL "oneiric")
581+ set (DISTRO_RELEASE "11.10")
582+ endif()
583+ endif()
584+ endif()
585+ endif()
586+endif()
587+
588+set (INDICATOR_OLD_NAMES 0)
589+if (NOT "${DISTRO_ID}" STREQUAL "")
590+ message (STATUS "DISTRO_ID: ${DISTRO_ID}, DISTRO_RELEASE: ${DISTRO_RELEASE}")
591+endif()
592+if ("${DISTRO_ID}" STREQUAL "Ubuntu")
593+ STRING (REGEX REPLACE "\\..*" "" DISTRO_RELEASE_MAJOR ${DISTRO_RELEASE})
594+ # message (STATUS "DISTRO_RELEASE_MAJOR: ${DISTRO_RELEASE_MAJOR}")
595+ if (${DISTRO_RELEASE_MAJOR} LESS 11) # from 11.04, new names are used.
596+ set (INDICATOR_OLD_NAMES 1)
597+ message (STATUS "Indicators: use old Ayatana Dbus names")
598+ endif()
599+endif()
600+
601+set (with_me_menu "no")
602+if ("${with_indicator}" STREQUAL "yes")
603+ set (GETTEXT_MEMENU ${GETTEXT_PLUGINS})
604+ set (VERSION_MEMENU "1.0.1")
605+ set (PACKAGE_MEMENU "cd-MeMenu")
606+ set (memenudatadir "${pluginsdatadir}/MeMenu")
607+ set (with_me_menu "yes")
608+ configure_file (${CMAKE_CURRENT_SOURCE_DIR}/MeMenu/data/MeMenu.conf.in ${CMAKE_CURRENT_BINARY_DIR}/MeMenu/data/MeMenu.conf)
609+ add_subdirectory (MeMenu)
610+endif()
611+
612+############# MESSAGING_MENU #################
613+set (with_messaging_menu "no")
614+if ("${with_indicator}" STREQUAL "yes")
615+ set (GETTEXT_MESSAGING_MENU ${GETTEXT_PLUGINS})
616+ set (VERSION_MESSAGING_MENU "1.0.1")
617+ set (PACKAGE_MESSAGING_MENU "cd-Messaging-Menu")
618+ set (with_messaging_menu "yes")
619+ set (messaging_menudatadir "${pluginsdatadir}/Messaging-Menu")
620+ configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Messaging-Menu/data/Messaging-Menu.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Messaging-Menu/data/Messaging-Menu.conf)
621+ add_subdirectory (Messaging-Menu)
622+endif()
623+
624+############# MOTION BLUR #################
625+set (GETTEXT_MOTION_BLUR ${GETTEXT_PLUGINS})
626+set (VERSION_MOTION_BLUR "1.0.4")
627+set (PACKAGE_MOTION_BLUR "cd-motion_blur")
628+set (motion_blurdatadir "${pluginsdatadir}/motion-blur")
629+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/motion-blur/data/motion_blur.conf.in ${CMAKE_CURRENT_BINARY_DIR}/motion-blur/data/motion_blur.conf)
630+add_subdirectory (motion-blur)
631+
632+############# MUSICPLAYER #################
633+set (GETTEXT_MUSICPLAYER ${GETTEXT_PLUGINS})
634+set (VERSION_MUSICPLAYER "1.0.7")
635+set (PACKAGE_MUSICPLAYER "cd-musicPlayer")
636+set (musicplayerdatadir "${pluginsdatadir}/musicPlayer")
637+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/musicPlayer/data/musicPlayer.conf.in ${CMAKE_CURRENT_BINARY_DIR}/musicPlayer/data/musicPlayer.conf)
638+add_subdirectory (musicPlayer)
639+
640+############# NETSPEED #################
641+set (GETTEXT_NETSPEED ${GETTEXT_PLUGINS})
642+set (VERSION_NETSPEED "1.2.5")
643+set (PACKAGE_NETSPEED "cd-netspeed")
644+set (netspeeddatadir "${pluginsdatadir}/netspeed")
645+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/netspeed/data/netspeed.conf.in ${CMAKE_CURRENT_BINARY_DIR}/netspeed/data/netspeed.conf)
646+add_subdirectory (netspeed)
647+
648+############# NETWORK_MONITOR #################
649+set (with_network_monitor "no")
650+if ("${enable-network-monitor}" STREQUAL "yes")
651+ set (GETTEXT_NETWORK_MONITOR ${GETTEXT_PLUGINS})
652+ set (VERSION_NETWORK_MONITOR "0.2.3")
653+ set (PACKAGE_NETWORK_MONITOR "cd-network-monitor")
654+ set (with_network_monitor "yes")
655+ set (network_monitordatadir "${pluginsdatadir}/Network-Monitor")
656+ configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Network-Monitor/data/Network-Monitor.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Network-Monitor/data/Network-Monitor.conf)
657+ add_subdirectory (Network-Monitor)
658+endif()
659+
660+############# POWERMANAGER #################
661+set (GETTEXT_POWERMANAGER ${GETTEXT_PLUGINS})
662+set (VERSION_POWERMANAGER "1.3.4")
663+set (PACKAGE_POWERMANAGER "cd-powermanager")
664+set (powermanagerdatadir "${pluginsdatadir}/powermanager")
665+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/powermanager/data/powermanager.conf.in ${CMAKE_CURRENT_BINARY_DIR}/powermanager/data/powermanager.conf)
666+add_subdirectory (powermanager)
667+
668+############# QUICK BROWSER #################
669+set (GETTEXT_QUICK_BROWSER ${GETTEXT_PLUGINS})
670+set (VERSION_QUICK_BROWSER "1.0.8")
671+set (PACKAGE_QUICK_BROWSER "cd-quick-browser")
672+set (quick_browserdatadir "${pluginsdatadir}/quick_browser")
673+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/quick-browser/data/quick-browser.conf.in ${CMAKE_CURRENT_BINARY_DIR}/quick-browser/data/quick-browser.conf)
674+add_subdirectory (quick-browser)
675+
676+############# RECENT-EVENTS #################
677+set (with_recent_events "no")
678+pkg_check_modules (RECENT_EVENTS zeitgeist-1.0)
679+if ("${RECENT_EVENTS_FOUND}" STREQUAL "")
680+ message (STATUS "Could not find libzeitgeist; Cairo-Dock won't be built with Zeitgeist support.")
681+else()
682+ set (GETTEXT_RECENT_EVENTS ${GETTEXT_PLUGINS})
683+ set (VERSION_RECENT_EVENTS "0.0.2")
684+ set (PACKAGE_RECENT_EVENTS "cd-Recent-Events")
685+ set (with_recent_events "yes")
686+ set (recent_eventsdatadir "${pluginsdatadir}/Recent-Events")
687+ configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Recent-Events/data/Recent-Events.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Recent-Events/data/Recent-Events.conf)
688+ add_subdirectory ("Recent-Events")
689+endif()
690+
691+############# REMOTE_CONTROL #################
692+set (GETTEXT_REMOTE_CONTROL ${GETTEXT_PLUGINS})
693+set (VERSION_REMOTE_CONTROL "0.0.2")
694+set (PACKAGE_REMOTE_CONTROL "cd-Remote-Control")
695+set (remote_controldatadir "${pluginsdatadir}/Remote-Control")
696+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Remote-Control/data/Remote-Control.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Remote-Control/data/Remote-Control.conf)
697+add_subdirectory (Remote-Control)
698+
699+############# RSSREADER #################
700+set (GETTEXT_RSS_READER ${GETTEXT_PLUGINS})
701+set (VERSION_RSS_READER "1.0.3")
702+set (PACKAGE_RSS_READER "cd-rssreader")
703+set (rss_readerdatadir "${pluginsdatadir}/RSSreader")
704+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/RSSreader/data/RSSreader.conf.in ${CMAKE_CURRENT_BINARY_DIR}/RSSreader/data/RSSreader.conf)
705+add_subdirectory (RSSreader)
706+
707+############# SCOOBY_DO #################
708+set (with_scooby_do "no")
709+if ("${enable-scooby-do}" STREQUAL "yes")
710+ set (GETTEXT_SCOOBY_DO ${GETTEXT_PLUGINS})
711+ set (VERSION_SCOOBY_DO "0.1.1")
712+ set (PACKAGE_SCOOBY_DO "cd-scooby-do")
713+ set (with_scooby_do "yes")
714+ set (scooby_dodatadir "${pluginsdatadir}/Scooby-Do")
715+ configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Scooby-Do/data/Scooby-Do.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Scooby-Do/data/Scooby-Do.conf)
716+ add_subdirectory (Scooby-Do)
717+endif()
718+
719+############# SHORTCUTS #################
720+set (GETTEXT_SHORTCUTS ${GETTEXT_PLUGINS})
721+set (VERSION_SHORTCUTS "1.3.1")
722+set (PACKAGE_SHORTCUTS "cd-shortcuts")
723+set (shortcutsdatadir "${pluginsdatadir}/shortcuts")
724+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/shortcuts/data/shortcuts.conf.in ${CMAKE_CURRENT_BINARY_DIR}/shortcuts/data/shortcuts.conf)
725+add_subdirectory (shortcuts)
726+
727+############# SHOW DESKTOP #################
728+set (with_xrandr "yes")
729+pkg_check_modules (SHOW_DESKTOP_XRANDR xrandr)
730+if ("${SHOW_DESKTOP_XRANDR_FOUND}" STREQUAL "")
731+ message (STATUS "Could not find xrandr; ShowDesktop won't be built with screen resolution abilities.")
732+ set (with_xrandr "no")
733+endif()
734+set (GETTEXT_SHOW_DESKTOP ${GETTEXT_PLUGINS})
735+set (VERSION_SHOW_DESKTOP "1.2.4")
736+set (PACKAGE_SHOW_DESKTOP "cd-showDesktop")
737+set (show_desktopdatadir "${pluginsdatadir}/showDesktop")
738+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/showDesktop/data/showDesktop.conf.in ${CMAKE_CURRENT_BINARY_DIR}/showDesktop/data/showDesktop.conf)
739+add_subdirectory (showDesktop)
740+
741+############# SHOW MOUSE #################
742+set (GETTEXT_SHOW_MOUSE ${GETTEXT_PLUGINS})
743+set (VERSION_SHOW_MOUSE "1.0.4")
744+set (PACKAGE_SHOW_MOUSE "cd-show_mouse")
745+set (show_mousedatadir "${pluginsdatadir}/show_mouse")
746+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/show-mouse/data/show_mouse.conf.in ${CMAKE_CURRENT_BINARY_DIR}/show-mouse/data/show_mouse.conf)
747+add_subdirectory (show-mouse)
748+
749+############# SLIDER #################
750+set (with_exif "yes")
751+pkg_check_modules (EXIF libexif)
752+if ("${EXIF_FOUND}" STREQUAL "")
753+ message (STATUS "Could not find libexif; Slider won't be able to rotate the images accordingly to their exif data.")
754+ set (with_exif "no")
755+endif()
756+set (GETTEXT_SLIDER ${GETTEXT_PLUGINS})
757+set (VERSION_SLIDER "2.0.8")
758+set (PACKAGE_SLIDER "cd-slider")
759+set (sliderdatadir "${pluginsdatadir}/slider")
760+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/slider/data/slider.conf.in ${CMAKE_CURRENT_BINARY_DIR}/slider/data/slider.conf)
761+add_subdirectory (slider)
762+
763+############# STACK #################
764+set (GETTEXT_STACK ${GETTEXT_PLUGINS})
765+set (VERSION_STACK "0.3.1")
766+set (PACKAGE_STACK "cd-stack")
767+set (stackdatadir "${pluginsdatadir}/stack")
768+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/stack/data/stack.conf.in ${CMAKE_CURRENT_BINARY_DIR}/stack/data/stack.conf)
769+add_subdirectory (stack)
770+
771+############# STATUS NOTIFIER #################
772+if ("${DBUSMENU_GTK_FOUND}" STREQUAL "")
773+ message (STATUS "Could not find Status-Notifier libs; Cairo-Dock won't be built with Status-Notifier support.")
774+else()
775+ set (GETTEXT_STATUS_NOTIFIER ${GETTEXT_PLUGINS})
776+ set (VERSION_STATUS_NOTIFIER "0.1.3")
777+ set (PACKAGE_STATUS_NOTIFIER "cd-status-notifier")
778+ set (with_status_notifier "yes")
779+ set (status_notifierdatadir "${pluginsdatadir}/Status-Notifier")
780+ configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Status-Notifier/data/Status-Notifier.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Status-Notifier/data/Status-Notifier.conf)
781+ add_subdirectory (Status-Notifier)
782+endif()
783+
784+############# SWITCHER #################
785+set (GETTEXT_SWITCHER ${GETTEXT_PLUGINS})
786+set (VERSION_SWITCHER "2.1.6")
787+set (PACKAGE_SWITCHER "cd-switcher")
788+set (switcherdatadir "${pluginsdatadir}/switcher")
789+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/switcher/data/switcher.conf.in ${CMAKE_CURRENT_BINARY_DIR}/switcher/data/switcher.conf)
790+add_subdirectory (switcher)
791+
792+############# SYSTEM MONITOR #################
793+set (with_sensors "yes")
794+find_package (Sensors)
795+if (NOT "${SENSORS_FOUND}" STREQUAL "TRUE")
796+ message (STATUS "Could not find libsensors; System-Monitor won't be able to monitor fan speed and CPU temperature.")
797+ set (with_sensors "no")
798+endif()
799+set (GETTEXT_SYSTEM_MONITOR ${GETTEXT_PLUGINS})
800+set (VERSION_SYSTEM_MONITOR "1.0.6")
801+set (PACKAGE_SYSTEM_MONITOR "cd-system-monitor")
802+set (system_monitordatadir "${pluginsdatadir}/System-monitor")
803+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/System-Monitor/data/System-Monitor.conf.in ${CMAKE_CURRENT_BINARY_DIR}/System-Monitor/data/System-Monitor.conf)
804+add_subdirectory (System-Monitor)
805+
806+############# SYSTRAY #################
807+set (GETTEXT_SYSTRAY ${GETTEXT_PLUGINS})
808+set (VERSION_SYSTRAY "0.2.2")
809+set (PACKAGE_SYSTRAY "cd-systray")
810+set (systraydatadir "${pluginsdatadir}/systray")
811+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/systray/data/systray.conf.in ${CMAKE_CURRENT_BINARY_DIR}/systray/data/systray.conf)
812+add_subdirectory (systray)
813+
814+############# TERMINAL #################
815+pkg_check_modules (TERMINAL_PACKAGE vte)
816+if ("${TERMINAL_PACKAGE_FOUND}" STREQUAL "")
817+ message (STATUS "Could not find libvte; Cairo-Dock won't be built with terminal applet.")
818+ set (with_terminal "no")
819+else()
820+ set (GETTEXT_TERMINAL ${GETTEXT_PLUGINS})
821+ set (VERSION_TERMINAL "1.0.10")
822+ set (PACKAGE_TERMINAL "cd-terminal")
823+ set (with_terminal "yes")
824+ set (terminaldatadir "${pluginsdatadir}/terminal")
825+ configure_file (${CMAKE_CURRENT_SOURCE_DIR}/terminal/data/terminal.conf.in ${CMAKE_CURRENT_BINARY_DIR}/terminal/data/terminal.conf)
826+ add_subdirectory (terminal)
827+endif()
828+
829+############# TOMBOY #################
830+set (GETTEXT_TOMBOY ${GETTEXT_PLUGINS})
831+set (VERSION_TOMBOY "1.3.1")
832+set (PACKAGE_TOMBOY "cd-tomboy")
833+set (tomboydatadir "${pluginsdatadir}/tomboy")
834+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/tomboy/data/tomboy.conf.in ${CMAKE_CURRENT_BINARY_DIR}/tomboy/data/tomboy.conf)
835+add_subdirectory (tomboy)
836+
837+############# TOONS #################
838+set (GETTEXT_TOONS ${GETTEXT_PLUGINS})
839+set (VERSION_TOONS "1.0.8")
840+set (PACKAGE_TOONS "cd-Toons")
841+set (toonsdatadir "${pluginsdatadir}/Toons")
842+set (toonsuserdirname "Toons")
843+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Toons/data/Toons.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Toons/data/Toons.conf)
844+add_subdirectory (Toons)
845+
846+############# WEATHER #################
847+set (GETTEXT_WEATHER ${GETTEXT_PLUGINS})
848+set (VERSION_WEATHER "1.2.10")
849+set (PACKAGE_WEATHER "cd-weather")
850+set (weatherdatadir "${pluginsdatadir}/weather")
851+set (weatheruserdirname "weather")
852+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/weather/data/weather.conf.in ${CMAKE_CURRENT_BINARY_DIR}/weather/data/weather.conf)
853+add_subdirectory (weather)
854+
855+############# WEBLETS #################
856+set (with_weblets "no")
857+if (NOT "${enable-weblets}" STREQUAL "no")
858+ pkg_check_modules (WEBKIT webkit-1.0)
859+ if ("${WEBKIT_FOUND}" STREQUAL "")
860+ message (STATUS "Could not find webkit-1.0; Cairo-Dock won't be built with Weblets applet.")
861+ else()
862+ set (GETTEXT_WEBLETS ${GETTEXT_PLUGINS})
863+ set (VERSION_WEBLETS "0.0.10")
864+ set (PACKAGE_WEBLETS "cd-weblets")
865+ set (webletsdatadir "${pluginsdatadir}/weblets")
866+ set (with_weblets "yes")
867+ configure_file (${CMAKE_CURRENT_SOURCE_DIR}/weblets/data/weblets.conf.in ${CMAKE_CURRENT_BINARY_DIR}/weblets/data/weblets.conf)
868+ add_subdirectory ("weblets")
869+ endif()
870+endif()
871+
872+############# WIFI #################
873+set (GETTEXT_WIFI ${GETTEXT_PLUGINS})
874+set (VERSION_WIFI "1.2.6")
875+set (PACKAGE_WIFI "cd-wifi")
876+set (wifidatadir "${pluginsdatadir}/wifi")
877+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/wifi/data/wifi.conf.in ${CMAKE_CURRENT_BINARY_DIR}/wifi/data/wifi.conf)
878+add_subdirectory (wifi)
879+
880+############# XFCE-INTEGRATION #################
881+set (with_xfce_integration "no")
882+if (NOT "${enable-xfce-integration}" STREQUAL "no")
883+ pkg_check_modules (XFCE_INTEGRATION_THUNAR thunar-vfs-1)
884+ pkg_check_modules (XFCE_INTEGRATION_GVFS gio-2.0)
885+ if ("${XFCE_INTEGRATION_THUNAR_FOUND}" STREQUAL "" AND "${XFCE_INTEGRATION_GVFS_FOUND}" STREQUAL "")
886+ message (STATUS "Could find neither thunar-vfs or libgio-2.0; Cairo-Dock won't be built with XFCE support.")
887+ else()
888+ set (VERSION_XFCE_INTEGRATION "1.0.3")
889+ set (PACKAGE_XFCE_INTEGRATION "cd_xfce-integration")
890+ set (with_xfce_integration "yes")
891+ set (xfce_integrationdatadir "${pluginsdatadir}/xfce-integration")
892+ add_subdirectory ("xfce-integration")
893+ endif()
894+endif()
895+
896+############# XGAMMA #################
897+pkg_check_modules (XGAMMA_PACKAGE x11 xxf86vm)
898+if ("${XGAMMA_PACKAGE_FOUND}" STREQUAL "")
899+ message (STATUS "Could not find xxf86vm; Cairo-Dock won't be built with Xgamma applet.")
900+ set (with_xgamma "no")
901+else()
902+ set (GETTEXT_XGAMMA ${GETTEXT_PLUGINS})
903+ set (VERSION_XGAMMA "1.2.0")
904+ set (PACKAGE_XGAMMA "cd-Xgamma")
905+ set (with_xgamma "yes")
906+ set (xgammadatadir "${pluginsdatadir}/Xgamma")
907+ configure_file (${CMAKE_CURRENT_SOURCE_DIR}/Xgamma/data/Xgamma.conf.in ${CMAKE_CURRENT_BINARY_DIR}/Xgamma/data/Xgamma.conf)
908+ add_subdirectory ("Xgamma")
909+endif()
910+
911+message ("")
912+message (STATUS "===============")
913+message (STATUS "Language build:")
914+message (STATUS "===============")
915+message ("")
916+add_subdirectory (po)
917+
918+message ("")
919+message (STATUS "===============")
920+message (STATUS "Plug-ins build:")
921+message (STATUS "===============")
922+message ("")
923+message (STATUS "Stable:")
924+message (STATUS " - with Alsa-Mixer applet: ${with_alsa}")
925+message (STATUS " - with iCal support: ${with_ical}")
926+message (STATUS " - with GMenu applet: ${with_gmenu}")
927+message (STATUS " - with Gnome support: ${with_gnome_integration}")
928+message (STATUS " - with KDE support: ${with_kde_integration}")
929+message (STATUS " - with XFCE support: ${with_xfce_integration}")
930+message (STATUS " - with Keyboard-indicator applet: ${with_keyboard_indicator}")
931+message (STATUS " - with Mail applet: ${with_mail}")
932+message (STATUS " - with Me-Menu applet: ${with_me_menu}")
933+message (STATUS " - with Messaging-Menu: ${with_messaging_menu}")
934+message (STATUS " - with Screen Resolution support: ${with_xrandr}")
935+message (STATUS " - with Status-Notifier applet: ${with_status_notifier}")
936+message (STATUS " - with Sensors support: ${with_sensors}")
937+message (STATUS " - with Terminal applet: ${with_terminal}")
938+message (STATUS " - with Weblets applet: ${with_weblets}")
939+message (STATUS " - with Xgamma applet: ${with_xgamma}")
940+message (STATUS " - with Recent-Events applet: ${with_recent_events}")
941+message (STATUS " - with Python interface: ${with_python}")
942+message (STATUS " - with Ruby interface: ${with_ruby}")
943+message (STATUS " - with Mono interface: ${with_mono}")
944+message (STATUS " - with Vala interface: ${with_vala}")
945+message (STATUS " - with Vala Translator (valac) : ${with_valac}")
946+message (STATUS "Unstable:")
947+message (STATUS " - with Disks applet: ${with_disks}")
948+message (STATUS " - with Doncky applet: ${with_doncky}")
949+message (STATUS " - with Network-Monitor applet: ${with_network_monitor}")
950+message (STATUS " - with Scooby-Do applet: ${with_scooby_do}")
951+message (STATUS "Unsupported:")
952+message (STATUS " - with old Gnome support: ${with_gnome_integration_old}")
953+message ("")
954
955=== added directory '.pc/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch/dnd2share'
956=== added directory '.pc/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch/dnd2share/src'
957=== added file '.pc/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch/dnd2share/src/applet-backend-ubuntuone.c'
958--- .pc/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch/dnd2share/src/applet-backend-ubuntuone.c 1970-01-01 00:00:00 +0000
959+++ .pc/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch/dnd2share/src/applet-backend-ubuntuone.c 2011-06-06 10:14:32 +0000
960@@ -0,0 +1,95 @@
961+/**
962+* This file is a part of the Cairo-Dock project
963+*
964+* Copyright : (C) see the 'copyright' file.
965+* E-mail : see the 'copyright' file.
966+*
967+* This program is free software; you can redistribute it and/or
968+* modify it under the terms of the GNU General Public License
969+* as published by the Free Software Foundation; either version 3
970+* of the License, or (at your option) any later version.
971+*
972+* This program is distributed in the hope that it will be useful,
973+* but WITHOUT ANY WARRANTY; without even the implied warranty of
974+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
975+* GNU General Public License for more details.
976+* You should have received a copy of the GNU General Public License
977+* along with this program. If not, see <http://www.gnu.org/licenses/>.
978+*/
979+
980+#define _BSD_SOURCE
981+#include <stdlib.h>
982+#include <math.h>
983+#include <unistd.h>
984+#include <glib/gstdio.h>
985+#include <string.h>
986+
987+#include "applet-struct.h"
988+#include "applet-dnd2share.h"
989+#include "applet-backend-ubuntuone.h"
990+
991+#define NB_URLS 1
992+static const gchar *s_UrlLabels[NB_URLS] = {"DirectLink"};
993+
994+
995+static void upload (const gchar *cFilePath, gchar *cDropboxDir, gboolean bAnonymous, gint iLimitRate, gchar **cResultUrls)
996+{
997+ // On lance la commande d'upload.
998+ gchar *cFileName = g_path_get_basename (cFilePath);
999+ gchar *cLocalFilePath;
1000+ if (cDropboxDir)
1001+ cLocalFilePath = g_strdup_printf ("%s/%s", cDropboxDir, cFileName);
1002+ else
1003+ cLocalFilePath = g_strdup_printf ("/home/%s/Ubuntu One/%s", g_getenv ("USER"), cFileName);
1004+ g_free (cFileName);
1005+
1006+ gchar *cCommand = g_strdup_printf ("cp \"%s\" \"%s\"", cFilePath, cLocalFilePath);
1007+ cd_debug ("commande u1 : %s", cCommand);
1008+ int r = system (cCommand);
1009+ g_free (cCommand);
1010+ if (r != 0)
1011+ {
1012+ cd_warning ("couldn't copy the file to %s", cLocalFilePath);
1013+ g_free (cLocalFilePath);
1014+ return;
1015+ }
1016+
1017+ // On recupere l'URL (dispo tout de suite, sinon il faudra boucler en testant 'dropbox status' jusqu'a avoir 'Idle').
1018+ cCommand= g_strdup_printf ("u1sdtool --publish-file \"%s\"", cLocalFilePath);
1019+ cd_debug ("commande u2 : %s", cCommand);
1020+ gchar *cResult = cairo_dock_launch_command_sync (cCommand);
1021+ g_free (cCommand);
1022+ g_free (cLocalFilePath);
1023+ if (cResult == NULL || *cResult == '\0')
1024+ {
1025+ cd_warning ("is u1sdtool installed?");
1026+ return ;
1027+ }
1028+
1029+ if (cResult[strlen(cResult)-1] == '\r')
1030+ cResult[strlen(cResult)-1] = '\0';
1031+ if (cResult[strlen(cResult)-1] == '\n')
1032+ cResult[strlen(cResult)-1] = '\0';
1033+
1034+ // Enfin on remplit la memoire partagee avec nos URLs.
1035+ gchar *str = strstr (cResult, "http"); // File is published at http://ubuntuone.com/x/y
1036+ if (! str)
1037+ {
1038+ cd_warning ("couldn't publish this file: %s", cResult);
1039+ g_free (cResult);
1040+ return ;
1041+ }
1042+ cResultUrls[0] = g_strdup (str);
1043+ g_free (cResult);
1044+}
1045+
1046+
1047+void cd_dnd2share_register_ubuntuone_backend (void)
1048+{
1049+ cd_dnd2share_register_new_backend (CD_TYPE_FILE,
1050+ "UbuntuOne",
1051+ NB_URLS,
1052+ s_UrlLabels,
1053+ 0,
1054+ upload);
1055+}
1056
1057=== added directory '.pc/02-weather-fix_upstream-version-2.3.0~2.2.patch'
1058=== added directory '.pc/02-weather-fix_upstream-version-2.3.0~2.2.patch/weather'
1059=== added directory '.pc/02-weather-fix_upstream-version-2.3.0~2.2.patch/weather/src'
1060=== added file '.pc/02-weather-fix_upstream-version-2.3.0~2.2.patch/weather/src/applet-read-data.c'
1061--- .pc/02-weather-fix_upstream-version-2.3.0~2.2.patch/weather/src/applet-read-data.c 1970-01-01 00:00:00 +0000
1062+++ .pc/02-weather-fix_upstream-version-2.3.0~2.2.patch/weather/src/applet-read-data.c 2011-06-06 10:14:32 +0000
1063@@ -0,0 +1,462 @@
1064+/**
1065+* This file is a part of the Cairo-Dock project
1066+*
1067+* Copyright : (C) see the 'copyright' file.
1068+* E-mail : see the 'copyright' file.
1069+*
1070+* This program is free software; you can redistribute it and/or
1071+* modify it under the terms of the GNU General Public License
1072+* as published by the Free Software Foundation; either version 3
1073+* of the License, or (at your option) any later version.
1074+*
1075+* This program is distributed in the hope that it will be useful,
1076+* but WITHOUT ANY WARRANTY; without even the implied warranty of
1077+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1078+* GNU General Public License for more details.
1079+* You should have received a copy of the GNU General Public License
1080+* along with this program. If not, see <http://www.gnu.org/licenses/>.
1081+*/
1082+
1083+#define _BSD_SOURCE
1084+#include <string.h>
1085+#include <stdio.h>
1086+#include <unistd.h>
1087+
1088+#include <libxml/tree.h>
1089+#include <libxml/parser.h>
1090+#include <glib/gstdio.h>
1091+
1092+#include "applet-struct.h"
1093+#include "applet-load-icons.h"
1094+#include "applet-read-data.h"
1095+
1096+#define CD_WEATHER_BASE_URL "http://xml.weather.com"
1097+
1098+
1099+static xmlDocPtr _cd_weather_open_xml_buffer (const gchar *cData, xmlNodePtr *root_node, const gchar *cRootNodeName, GError **erreur)
1100+{
1101+ if (cData == NULL || *cData == '\0')
1102+ {
1103+ g_set_error (erreur, 1, 1, "empty data (no connection ?)");
1104+ return NULL;
1105+ }
1106+ int length = strlen (cData);
1107+
1108+ gchar *cRootNode = g_strdup_printf ("<%s ", cRootNodeName);
1109+ if (g_strstr_len (cData, length, cRootNode) == NULL) // on intercepte le cas ou une connexion a un hotspot nous renvoie une page meme quand la connexion a weather.com n'a pas pu se faire, car ca fait planter libxml.
1110+ {
1111+ g_set_error (erreur, 1, 1, "uncorrect data (no connection ?)");
1112+ g_free (cRootNode);
1113+ return NULL;
1114+ }
1115+ g_free (cRootNode);
1116+ xmlInitParser ();
1117+
1118+ xmlDocPtr doc = xmlParseMemory (cData, length);
1119+ if (doc == NULL)
1120+ {
1121+ g_set_error (erreur, 1, 1, "uncorrect data (no connection ?)");
1122+ return NULL;
1123+ }
1124+
1125+ xmlNodePtr noeud = xmlDocGetRootElement (doc);
1126+ if (noeud == NULL || xmlStrcmp (noeud->name, (const xmlChar *) cRootNodeName) != 0)
1127+ {
1128+ g_set_error (erreur, 1, 2, "xml data is not well formed (weather.com may have changed its data format)");
1129+ return doc;
1130+ }
1131+ *root_node = noeud;
1132+ return doc;
1133+}
1134+static xmlDocPtr _cd_weather_open_xml_file (const gchar *cDataFilePath, xmlNodePtr *root_node, const gchar *cRootNodeName, GError **erreur)
1135+{
1136+ gsize length = 0;
1137+ gchar *cContent = NULL;
1138+ g_file_get_contents (cDataFilePath,
1139+ &cContent,
1140+ &length,
1141+ NULL);
1142+ xmlDocPtr doc = _cd_weather_open_xml_buffer (cContent, root_node, cRootNodeName, erreur);
1143+ g_free (cContent);
1144+ return doc;
1145+}
1146+static void _cd_weather_close_xml_file (xmlDocPtr doc)
1147+{
1148+ if (doc != NULL)
1149+ xmlFreeDoc (doc); // pas de xmlCleanupParser, ca fout le boxon.
1150+}
1151+
1152+
1153+GList *cd_weather_parse_location_data (const gchar *cData, GError **erreur)
1154+{
1155+ GError *tmp_erreur = NULL;
1156+ xmlNodePtr noeud = NULL;
1157+ xmlDocPtr doc = _cd_weather_open_xml_buffer (cData, &noeud, "search", &tmp_erreur);
1158+ if (tmp_erreur != NULL)
1159+ {
1160+ g_propagate_error (erreur, tmp_erreur);
1161+ _cd_weather_close_xml_file (doc);
1162+ return NULL;
1163+ }
1164+
1165+ GList *cLocationsList = NULL;
1166+ xmlNodePtr param;
1167+ for (param = noeud->xmlChildrenNode; param != NULL; param = param->next)
1168+ {
1169+ if (xmlStrcmp (param->name, (const xmlChar *) "loc") == 0)
1170+ {
1171+ cLocationsList = g_list_prepend (cLocationsList, xmlNodeGetContent (param));
1172+ cLocationsList = g_list_prepend (cLocationsList, xmlGetProp (param, (xmlChar *) "id"));
1173+ }
1174+ }
1175+ _cd_weather_close_xml_file (doc);
1176+ return cLocationsList;
1177+}
1178+
1179+
1180+static void _cd_weather_parse_data (CDSharedMemory *pSharedMemory, const gchar *cData, gboolean bParseHeader, GError **erreur)
1181+{
1182+ GError *tmp_erreur = NULL;
1183+ xmlNodePtr noeud = NULL;
1184+ xmlDocPtr doc = _cd_weather_open_xml_buffer (cData, &noeud, "weather", &tmp_erreur);
1185+ if (tmp_erreur != NULL)
1186+ {
1187+ g_propagate_error (erreur, tmp_erreur);
1188+ _cd_weather_close_xml_file (doc);
1189+ return ;
1190+ }
1191+
1192+ xmlNodePtr param, fils, petitfils, arrpetitfils, arrarrpetitfils;
1193+ gchar *nom, *visible, *name, *defaultsource = NULL, *source, *where;
1194+ xmlChar *contenu;
1195+ int i, j;
1196+ gchar *index_str, *cDayName, *cDate, *str;
1197+ for (param = noeud->xmlChildrenNode; param != NULL; param = param->next)
1198+ {
1199+ if (bParseHeader && xmlStrcmp (param->name, (const xmlChar *) "head") == 0)
1200+ {
1201+ for (fils = param->children; fils != NULL; fils = fils->next)
1202+ {
1203+ if (xmlStrcmp (fils->name, (const xmlChar *) "ut") == 0)
1204+ {
1205+ gchar *degree = xmlNodeGetContent (fils);
1206+ if (degree == NULL || strncmp (degree, "°", strlen ("°")) != 0) // prepend ° if not present.
1207+ {
1208+ pSharedMemory->wdata.units.cTemp = g_strconcat ("°", degree, NULL);
1209+ g_free (degree);
1210+ }
1211+ else
1212+ pSharedMemory->wdata.units.cTemp = degree;
1213+ }
1214+ else if (xmlStrcmp (fils->name, (const xmlChar *) "ud") == 0)
1215+ pSharedMemory->wdata.units.cDistance = xmlNodeGetContent (fils);
1216+ else if (xmlStrcmp (fils->name, (const xmlChar *) "us") == 0)
1217+ pSharedMemory->wdata.units.cSpeed = xmlNodeGetContent (fils);
1218+ else if (xmlStrcmp (fils->name, (const xmlChar *) "up") == 0)
1219+ pSharedMemory->wdata.units.cPressure = xmlNodeGetContent (fils);
1220+ //else if (xmlStrcmp (fils->name, (const xmlChar *) "ur") == 0) // ?
1221+ // pSharedMemory->wdata.units.cR = xmlNodeGetContent (fils);
1222+ }
1223+ }
1224+ else if (bParseHeader && xmlStrcmp (param->name, (const xmlChar *) "loc") == 0)
1225+ {
1226+ for (fils = param->children; fils != NULL; fils = fils->next)
1227+ {
1228+ if (xmlStrcmp (fils->name, (const xmlChar *) "dnam") == 0)
1229+ pSharedMemory->wdata.cLocation = xmlNodeGetContent (fils);
1230+ /**else if (xmlStrcmp (fils->name, (const xmlChar *) "lat") == 0)
1231+ pSharedMemory->cLat = xmlNodeGetContent (fils);
1232+ else if (xmlStrcmp (fils->name, (const xmlChar *) "lon") == 0)
1233+ pSharedMemory->cLon = xmlNodeGetContent (fils);*/
1234+ else if (xmlStrcmp (fils->name, (const xmlChar *) "sunr") == 0)
1235+ pSharedMemory->wdata.currentConditions.cSunRise = xmlNodeGetContent (fils);
1236+ else if (xmlStrcmp (fils->name, (const xmlChar *) "suns") == 0)
1237+ pSharedMemory->wdata.currentConditions.cSunSet = xmlNodeGetContent (fils);
1238+ }
1239+ }
1240+ else if (xmlStrcmp (param->name, (const xmlChar *) "cc") == 0)
1241+ {
1242+ for (fils = param->children; fils != NULL; fils = fils->next)
1243+ {
1244+ if (xmlStrcmp (fils->name, (const xmlChar *) "lsup") == 0)
1245+ pSharedMemory->wdata.currentConditions.cDataAcquisitionDate = xmlNodeGetContent (fils);
1246+ else if (xmlStrcmp (fils->name, (const xmlChar *) "obst") == 0)
1247+ pSharedMemory->wdata.currentConditions.cObservatory = xmlNodeGetContent (fils);
1248+ else if (xmlStrcmp (fils->name, (const xmlChar *) "tmp") == 0)
1249+ pSharedMemory->wdata.currentConditions.cTemp = xmlNodeGetContent (fils);
1250+ else if (xmlStrcmp (fils->name, (const xmlChar *) "flik") == 0)
1251+ pSharedMemory->wdata.currentConditions.cFeltTemp = xmlNodeGetContent (fils);
1252+ else if (xmlStrcmp (fils->name, (const xmlChar *) "t") == 0)
1253+ pSharedMemory->wdata.currentConditions.cWeatherDescription = xmlNodeGetContent (fils);
1254+ else if (xmlStrcmp (fils->name, (const xmlChar *) "icon") == 0)
1255+ pSharedMemory->wdata.currentConditions.cIconNumber = xmlNodeGetContent (fils);
1256+ else if (xmlStrcmp (fils->name, (const xmlChar *) "wind") == 0)
1257+ {
1258+ for (petitfils = fils->children; petitfils != NULL; petitfils = petitfils->next)
1259+ {
1260+ if (xmlStrcmp (petitfils->name, (const xmlChar *) "s") == 0)
1261+ pSharedMemory->wdata.currentConditions.cWindSpeed = xmlNodeGetContent (petitfils);
1262+ else if (xmlStrcmp (petitfils->name, (const xmlChar *) "t") == 0)
1263+ pSharedMemory->wdata.currentConditions.cWindDirection = xmlNodeGetContent (petitfils);
1264+ }
1265+ }
1266+ else if (xmlStrcmp (fils->name, (const xmlChar *) "bar") == 0)
1267+ {
1268+ for (petitfils = fils->children; petitfils != NULL; petitfils = petitfils->next)
1269+ {
1270+ if (xmlStrcmp (petitfils->name, (const xmlChar *) "r") == 0)
1271+ pSharedMemory->wdata.currentConditions.cPressure = xmlNodeGetContent (petitfils);
1272+ }
1273+ }
1274+ else if (xmlStrcmp (fils->name, (const xmlChar *) "hmid") == 0)
1275+ pSharedMemory->wdata.currentConditions.cHumidity = xmlNodeGetContent (fils);
1276+ else if (xmlStrcmp (fils->name, (const xmlChar *) "moon") == 0)
1277+ {
1278+ for (petitfils = fils->children; petitfils != NULL; petitfils = petitfils->next)
1279+ {
1280+ if (xmlStrcmp (petitfils->name, (const xmlChar *) "icon") == 0)
1281+ pSharedMemory->wdata.currentConditions.cMoonIconNumber = xmlNodeGetContent (petitfils);
1282+ }
1283+ }
1284+ }
1285+ }
1286+ else if (xmlStrcmp (param->name, (const xmlChar *) "dayf") == 0)
1287+ {
1288+ for (fils = param->children; fils != NULL; fils = fils->next)
1289+ {
1290+ if (xmlStrcmp (fils->name, (const xmlChar *) "lsup") == 0)
1291+ pSharedMemory->wdata.currentConditions.cDataAcquisitionDate = xmlNodeGetContent (fils);
1292+ else if (xmlStrcmp (fils->name, (const xmlChar *) "day") == 0)
1293+ {
1294+ index_str = (gchar *) xmlGetProp (fils, (xmlChar *) "d");
1295+ if (index_str == NULL)
1296+ continue;
1297+ i = atoi (index_str);
1298+ g_free (index_str);
1299+ cDayName = (gchar *) xmlGetProp (fils, (xmlChar *) "t");
1300+ pSharedMemory->wdata.days[i].cName = g_strdup (D_(cDayName));
1301+ g_free (cDayName);
1302+ cDate = (gchar *) xmlGetProp (fils, (xmlChar *) "dt");
1303+ str = strchr (cDate, ' ');
1304+ if (str != NULL)
1305+ {
1306+ *str = '\0';
1307+ pSharedMemory->wdata.days[i].cDate = g_strconcat (D_(cDate), " ", str+1, NULL);
1308+ g_free (cDate);
1309+ }
1310+ else
1311+ pSharedMemory->wdata.days[i].cDate = cDate;
1312+ for (petitfils = fils->children; petitfils != NULL; petitfils = petitfils->next)
1313+ {
1314+ if (xmlStrcmp (petitfils->name, (const xmlChar *) "hi") == 0)
1315+ pSharedMemory->wdata.days[i].cTempMax = xmlNodeGetContent (petitfils);
1316+ else if (xmlStrcmp (petitfils->name, (const xmlChar *) "low") == 0)
1317+ pSharedMemory->wdata.days[i].cTempMin = xmlNodeGetContent (petitfils);
1318+ else if (xmlStrcmp (petitfils->name, (const xmlChar *) "sunr") == 0)
1319+ pSharedMemory->wdata.days[i].cSunRise = xmlNodeGetContent (petitfils);
1320+ else if (xmlStrcmp (petitfils->name, (const xmlChar *) "suns") == 0)
1321+ pSharedMemory->wdata.days[i].cSunSet = xmlNodeGetContent (petitfils);
1322+ else if (xmlStrcmp (petitfils->name, (const xmlChar *) "part") == 0)
1323+ {
1324+ index_str = (gchar *) xmlGetProp (petitfils, (xmlChar *) "p");
1325+ if (index_str == NULL)
1326+ continue;
1327+ j = (*index_str == 'd' ? 0 : 1); // jour : 0 / nuit : 1.
1328+ for (arrpetitfils = petitfils->children; arrpetitfils != NULL; arrpetitfils = arrpetitfils->next)
1329+ {
1330+ if (xmlStrcmp (arrpetitfils->name, (const xmlChar *) "icon") == 0)
1331+ pSharedMemory->wdata.days[i].part[j].cIconNumber = xmlNodeGetContent (arrpetitfils);
1332+ else if (xmlStrcmp (arrpetitfils->name, (const xmlChar *) "t") == 0)
1333+ pSharedMemory->wdata.days[i].part[j].cWeatherDescription = xmlNodeGetContent (arrpetitfils);
1334+ else if (xmlStrcmp (arrpetitfils->name, (const xmlChar *) "wind") == 0)
1335+ {
1336+ for (arrarrpetitfils = arrpetitfils->children; arrarrpetitfils != NULL; arrarrpetitfils = arrarrpetitfils->next)
1337+ {
1338+ if (xmlStrcmp (arrarrpetitfils->name, (const xmlChar *) "s") == 0)
1339+ pSharedMemory->wdata.days[i].part[j].cWindSpeed = xmlNodeGetContent (arrarrpetitfils);
1340+ else if (xmlStrcmp (arrarrpetitfils->name, (const xmlChar *) "t") == 0)
1341+ pSharedMemory->wdata.days[i].part[j].cWindDirection = xmlNodeGetContent (arrarrpetitfils);
1342+ }
1343+ }
1344+ else if (xmlStrcmp (arrpetitfils->name, (const xmlChar *) "hmid") == 0)
1345+ pSharedMemory->wdata.days[i].part[j].cHumidity = xmlNodeGetContent (arrpetitfils);
1346+ else if (xmlStrcmp (arrpetitfils->name, (const xmlChar *) "ppcp") == 0)
1347+ pSharedMemory->wdata.days[i].part[j].cPrecipitationProba = xmlNodeGetContent (arrpetitfils);
1348+ }
1349+ }
1350+ }
1351+ } // fin du jour n.
1352+ }
1353+ }
1354+ }
1355+ _cd_weather_close_xml_file (doc);
1356+}
1357+
1358+
1359+static void cd_weather_get_distant_data (CDSharedMemory *pSharedMemory)
1360+{
1361+ //\____________________ On recupere les conditions courantes sur le serveur.
1362+ pSharedMemory->bErrorInThread = FALSE;
1363+ GError *erreur = NULL;
1364+ gchar *cCommand;
1365+ gchar *cCCData = NULL;
1366+ if (pSharedMemory->bCurrentConditions)
1367+ {
1368+ gchar *cURL = g_strdup_printf (CD_WEATHER_BASE_URL"/weather/local/%s?cc=*%s", pSharedMemory->cLocationCode, (pSharedMemory->bISUnits ? "&unit=m" : ""));
1369+ cCCData = cairo_dock_get_url_data (cURL, &erreur);
1370+ g_free (cURL);
1371+ if (erreur != NULL)
1372+ {
1373+ cd_warning ("while downloading current conditions data:\n%s -> %s", cURL, erreur->message);
1374+ g_error_free (erreur);
1375+ erreur = NULL;
1376+ }
1377+ if (cCCData == NULL)
1378+ {
1379+ pSharedMemory->bErrorInThread = TRUE;
1380+ return; // a la 1ere erreur on quitte.
1381+ }
1382+ }
1383+
1384+ //\____________________ On recupere les previsions a N jours sur le serveur.
1385+ gchar *cForecastData = NULL;
1386+ if (pSharedMemory->iNbDays > 0)
1387+ {
1388+ gchar *cURL = g_strdup_printf (CD_WEATHER_BASE_URL"/weather/local/%s?dayf=%d%s", pSharedMemory->cLocationCode, pSharedMemory->iNbDays, (pSharedMemory->bISUnits ? "&unit=m" : ""));
1389+ cForecastData = cairo_dock_get_url_data (cURL, &erreur);
1390+ g_free (cURL);
1391+ if (erreur != NULL)
1392+ {
1393+ cd_warning ("while downloading forecast data:\n%s -> %s", cURL, erreur->message);
1394+ g_error_free (erreur);
1395+ erreur = NULL;
1396+ pSharedMemory->bErrorInThread = TRUE;
1397+ }
1398+ if (cForecastData == NULL)
1399+ {
1400+ pSharedMemory->bErrorInThread = TRUE;
1401+ }
1402+ }
1403+
1404+ //\____________________ On extrait les donnees des conditions courantes.
1405+ if (cCCData != NULL)
1406+ {
1407+ _cd_weather_parse_data (pSharedMemory, cCCData, TRUE, &erreur);
1408+ if (erreur != NULL)
1409+ {
1410+ cd_warning ("weather : %s", erreur->message);
1411+ g_error_free (erreur);
1412+ erreur = NULL;
1413+ pSharedMemory->bErrorInThread = TRUE;
1414+ }
1415+ g_free (cCCData);
1416+ }
1417+
1418+ //\____________________ On extrait les donnees des previsions a N jours.
1419+ if (cForecastData != NULL)
1420+ {
1421+ _cd_weather_parse_data (pSharedMemory, cForecastData, FALSE, &erreur);
1422+ if (erreur != NULL)
1423+ {
1424+ cd_warning ("weather : %s", erreur->message);
1425+ g_error_free (erreur);
1426+ erreur = NULL;
1427+ pSharedMemory->bErrorInThread = TRUE;
1428+ }
1429+ g_free (cForecastData);
1430+ }
1431+}
1432+
1433+
1434+
1435+static void _reset_units (Unit *pUnits)
1436+{
1437+ xmlFree (pUnits->cTemp);
1438+ xmlFree (pUnits->cDistance);
1439+ xmlFree (pUnits->cSpeed);
1440+ xmlFree (pUnits->cPressure);
1441+}
1442+
1443+static void _reset_current_conditions (CurrentContitions *pCurrentContitions)
1444+{
1445+ xmlFree (pCurrentContitions->cSunRise);
1446+ xmlFree (pCurrentContitions->cSunSet);
1447+ xmlFree (pCurrentContitions->cDataAcquisitionDate);
1448+ xmlFree (pCurrentContitions->cObservatory);
1449+ xmlFree (pCurrentContitions->cTemp);
1450+ xmlFree (pCurrentContitions->cFeltTemp);
1451+ xmlFree (pCurrentContitions->cWeatherDescription);
1452+ xmlFree (pCurrentContitions->cIconNumber);
1453+ xmlFree (pCurrentContitions->cWindSpeed);
1454+ xmlFree (pCurrentContitions->cWindDirection);
1455+ xmlFree (pCurrentContitions->cPressure);
1456+ xmlFree (pCurrentContitions->cHumidity);
1457+ xmlFree (pCurrentContitions->cMoonIconNumber);
1458+}
1459+
1460+static void _reset_current_one_day (Day *pDay)
1461+{
1462+ xmlFree (pDay->cName);
1463+ xmlFree (pDay->cDate);
1464+ xmlFree (pDay->cTempMax);
1465+ xmlFree (pDay->cTempMin);
1466+ xmlFree (pDay->cSunRise);
1467+ xmlFree (pDay->cSunSet);
1468+ int j;
1469+ for (j = 0; j < 2; j ++)
1470+ {
1471+ xmlFree (pDay->part[j].cIconNumber);
1472+ xmlFree (pDay->part[j].cWeatherDescription);
1473+ xmlFree (pDay->part[j].cWindSpeed);
1474+ xmlFree (pDay->part[j].cWindDirection);
1475+ xmlFree (pDay->part[j].cHumidity);
1476+ xmlFree (pDay->part[j].cPrecipitationProba);
1477+ }
1478+}
1479+
1480+void cd_weather_reset_weather_data (CDWeatherData *pData)
1481+{
1482+ /**xmlFree (pData->cLon);
1483+ xmlFree (pData->cLat);*/
1484+ xmlFree (pData->cLocation);
1485+ _reset_units (&pData->units);
1486+ _reset_current_conditions (&pData->currentConditions);
1487+ int i;
1488+ for (i = 0; i < WEATHER_NB_DAYS_MAX; i ++)
1489+ {
1490+ _reset_current_one_day (&pData->days[i]);
1491+ }
1492+}
1493+
1494+void cd_weather_reset_data (CairoDockModuleInstance *myApplet)
1495+{
1496+ cd_weather_reset_weather_data (&myData.wdata);
1497+}
1498+
1499+static void _free_shared_memory (CDSharedMemory *pSharedMemory)
1500+{
1501+ cd_weather_reset_weather_data (&pSharedMemory->wdata);
1502+ g_free (pSharedMemory);
1503+}
1504+void cd_weather_launch_periodic_task (CairoDockModuleInstance *myApplet)
1505+{
1506+ if (myData.pTask != NULL)
1507+ {
1508+ cairo_dock_discard_task (myData.pTask);
1509+ myData.pTask = NULL;
1510+ }
1511+
1512+ CDSharedMemory *pSharedMemory = g_new0 (CDSharedMemory, 1);
1513+ pSharedMemory->cLocationCode = g_strdup (myConfig.cLocationCode);
1514+ pSharedMemory->bISUnits = myConfig.bISUnits;
1515+ pSharedMemory->bCurrentConditions = myConfig.bCurrentConditions;
1516+ pSharedMemory->iNbDays = myConfig.iNbDays;
1517+ pSharedMemory->pApplet = myApplet;
1518+
1519+ myData.pTask = cairo_dock_new_task_full (myConfig.iCheckInterval,
1520+ (CairoDockGetDataAsyncFunc) cd_weather_get_distant_data,
1521+ (CairoDockUpdateSyncFunc) cd_weather_update_from_data,
1522+ (GFreeFunc) _free_shared_memory,
1523+ pSharedMemory);
1524+ cairo_dock_launch_task (myData.pTask);
1525+}
1526
1527=== added file '.pc/applied-patches'
1528--- .pc/applied-patches 1970-01-01 00:00:00 +0000
1529+++ .pc/applied-patches 2011-06-06 10:14:32 +0000
1530@@ -0,0 +1,2 @@
1531+01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch
1532+02-weather-fix_upstream-version-2.3.0~2.2.patch
1533
1534=== modified file 'CMakeLists.txt'
1535--- CMakeLists.txt 2011-04-20 20:46:51 +0000
1536+++ CMakeLists.txt 2011-06-06 10:14:32 +0000
1537@@ -10,7 +10,7 @@
1538 ########### project ###############
1539
1540 project ("cairo-dock-plugins")
1541-set (VERSION "2.3.0~1")
1542+set (VERSION "2.3.0~2")
1543
1544 add_definitions (-std=c99 -Wstrict-prototypes -Wextra -Wwrite-strings -Wuninitialized -Werror-implicit-function-declaration) #-Wunreachable-code -Wno-unused-parameter -Wall
1545 if (NOT ${CMAKE_BUILD_TYPE})
1546@@ -212,12 +212,12 @@
1547 message (STATUS "Could not find Mono compiler gmcs, won't build Mono interface.")
1548 set (with_mono "no")
1549 else()
1550- set (MONO_FOUND "TRUE")
1551 pkg_check_modules (MONO_PACKAGE glib-sharp-2.0 ndesk-dbus-1.0 ndesk-dbus-glib-1.0)
1552 if ("${MONO_PACKAGE_FOUND}" STREQUAL "")
1553 message (STATUS "Could not find glib-sharp-2.0, ndesk-dbus-1.0 or ndesk-dbus-glib-1.0; won't be built Mono interface.")
1554 set (with_mono "no")
1555 else()
1556+ set (MONO_FOUND "TRUE")
1557 set (with_mono "yes")
1558 endif()
1559 endif()
1560@@ -299,7 +299,7 @@
1561
1562 ############# DND2SHARE #################
1563 set (GETTEXT_DND2SHARE ${GETTEXT_PLUGINS})
1564-set (VERSION_DND2SHARE "1.0.5")
1565+set (VERSION_DND2SHARE "1.0.6")
1566 set (PACKAGE_DND2SHARE "cd-dnd2share")
1567 set (dnd2sharedatadir "${pluginsdatadir}/dnd2share")
1568 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/dnd2share/data/dnd2share.conf.in ${CMAKE_CURRENT_BINARY_DIR}/dnd2share/data/dnd2share.conf)
1569@@ -908,21 +908,17 @@
1570 message (STATUS "Plug-ins build:")
1571 message (STATUS "===============")
1572 message ("")
1573+message (STATUS "Stable:")
1574 message (STATUS " - with Alsa-Mixer applet: ${with_alsa}")
1575 message (STATUS " - with iCal support: ${with_ical}")
1576-message (STATUS " - with Disks applet: ${with_disks}")
1577-message (STATUS " - with Doncky applet: ${with_doncky}")
1578 message (STATUS " - with GMenu applet: ${with_gmenu}")
1579 message (STATUS " - with Gnome support: ${with_gnome_integration}")
1580-message (STATUS " - with old Gnome support: ${with_gnome_integration_old}")
1581 message (STATUS " - with KDE support: ${with_kde_integration}")
1582 message (STATUS " - with XFCE support: ${with_xfce_integration}")
1583 message (STATUS " - with Keyboard-indicator applet: ${with_keyboard_indicator}")
1584 message (STATUS " - with Mail applet: ${with_mail}")
1585 message (STATUS " - with Me-Menu applet: ${with_me_menu}")
1586 message (STATUS " - with Messaging-Menu: ${with_messaging_menu}")
1587-message (STATUS " - with Network-Monitor applet: ${with_network_monitor}")
1588-message (STATUS " - with Scooby-Do applet: ${with_scooby_do}")
1589 message (STATUS " - with Screen Resolution support: ${with_xrandr}")
1590 message (STATUS " - with Status-Notifier applet: ${with_status_notifier}")
1591 message (STATUS " - with Sensors support: ${with_sensors}")
1592@@ -935,3 +931,11 @@
1593 message (STATUS " - with Mono interface: ${with_mono}")
1594 message (STATUS " - with Vala interface: ${with_vala}")
1595 message (STATUS " - with Vala Translator (valac) : ${with_valac}")
1596+message (STATUS "Unstable:")
1597+message (STATUS " - with Disks applet: ${with_disks}")
1598+message (STATUS " - with Doncky applet: ${with_doncky}")
1599+message (STATUS " - with Network-Monitor applet: ${with_network_monitor}")
1600+message (STATUS " - with Scooby-Do applet: ${with_scooby_do}")
1601+message (STATUS "Unsupported:")
1602+message (STATUS " - with old Gnome support: ${with_gnome_integration_old}")
1603+message ("")
1604
1605=== modified file 'debian/changelog'
1606--- debian/changelog 2011-04-20 20:46:51 +0000
1607+++ debian/changelog 2011-06-06 10:14:32 +0000
1608@@ -1,3 +1,20 @@
1609+cairo-dock-plug-ins (2.3.0~2-0ubuntu1) UNRELEASED; urgency=low
1610+
1611+ * New upstream release. (LP: #786105)
1612+ * Upstream ChangeLog:
1613+ - Fixed a typo in CMakeLists.txt about Ruby interface
1614+ - CMakeLists.txt: Added the status of applets (stable / unstable
1615+ / unsupported) to help packagers to not include unstable or
1616+ unsupported applets on Cairo-Dock packages for stable distributions
1617+ * debian/patches:
1618+ - Added two upstream's patches:
1619+ + to avoid a crash of u1sdtool (dnd2share)
1620+ + to prevent a crash with Weather (LP: #788437)
1621+ * debian/control:
1622+ - Removed libgvfscommon-dev (not used and no longer available)
1623+
1624+ -- Matthieu Baerts (matttbe) <matttbe@gmail.com> Mon, 06 Jun 2011 12:09:47 +0200
1625+
1626 cairo-dock-plug-ins (2.3.0~1-0ubuntu1) natty; urgency=low
1627
1628 * New Upstream Version (LP: #723995)
1629
1630=== modified file 'debian/control'
1631--- debian/control 2011-04-20 20:46:51 +0000
1632+++ debian/control 2011-06-06 10:14:32 +0000
1633@@ -31,7 +31,6 @@
1634 libxklavier-dev,
1635 libexif-dev,
1636 libgtkglext1-dev,
1637- libgvfscommon-dev,
1638 libcurl4-gnutls-dev,
1639 libetpan-dev,
1640 libical-dev,
1641
1642=== added directory 'debian/patches'
1643=== added file 'debian/patches/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch'
1644--- debian/patches/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch 1970-01-01 00:00:00 +0000
1645+++ debian/patches/01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch 2011-06-06 10:14:32 +0000
1646@@ -0,0 +1,36 @@
1647+From: Matthieu Baerts <matttbe@gmail.com>
1648+Subject: dnd2share: UbuntuOne backend: wait for the end of the sync before publishing the link (to avoid a crash of u1sdtool)
1649+Origin: upstream, http://bazaar.launchpad.net/~cairo-dock-team/cairo-dock-plug-ins/2.3.x/revision/1939
1650+Bug: http://www.glx-dock.org/tt_task.php?p=2&t=187
1651+Forwarded: yes
1652+
1653+Index: cairo-dock-plug-ins/CMakeLists.txt
1654+===================================================================
1655+--- cairo-dock-plug-ins.orig/CMakeLists.txt 2011-05-21 01:52:06.786633847 +0200
1656++++ cairo-dock-plug-ins/CMakeLists.txt 2011-05-21 01:52:49.006695762 +0200
1657+@@ -299,7 +299,7 @@
1658+
1659+ ############# DND2SHARE #################
1660+ set (GETTEXT_DND2SHARE ${GETTEXT_PLUGINS})
1661+-set (VERSION_DND2SHARE "1.0.5")
1662++set (VERSION_DND2SHARE "1.0.6")
1663+ set (PACKAGE_DND2SHARE "cd-dnd2share")
1664+ set (dnd2sharedatadir "${pluginsdatadir}/dnd2share")
1665+ configure_file (${CMAKE_CURRENT_SOURCE_DIR}/dnd2share/data/dnd2share.conf.in ${CMAKE_CURRENT_BINARY_DIR}/dnd2share/data/dnd2share.conf)
1666+Index: cairo-dock-plug-ins/dnd2share/src/applet-backend-ubuntuone.c
1667+===================================================================
1668+--- cairo-dock-plug-ins.orig/dnd2share/src/applet-backend-ubuntuone.c 2011-05-21 01:52:06.806633864 +0200
1669++++ cairo-dock-plug-ins/dnd2share/src/applet-backend-ubuntuone.c 2011-05-21 01:52:49.006695762 +0200
1670+@@ -54,8 +54,10 @@
1671+ return;
1672+ }
1673+
1674+- // On recupere l'URL (dispo tout de suite, sinon il faudra boucler en testant 'dropbox status' jusqu'a avoir 'Idle').
1675+- cCommand= g_strdup_printf ("u1sdtool --publish-file \"%s\"", cLocalFilePath);
1676++ // We wait for the end of the sync
1677++ cairo_dock_launch_command_sync ("u1sdtool --wait");
1678++ // We publish the file and we read the output message
1679++ cCommand = g_strdup_printf ("u1sdtool --publish-file \"%s\"", cLocalFilePath);
1680+ cd_debug ("commande u2 : %s", cCommand);
1681+ gchar *cResult = cairo_dock_launch_command_sync (cCommand);
1682+ g_free (cCommand);
1683
1684=== added file 'debian/patches/02-weather-fix_upstream-version-2.3.0~2.2.patch'
1685--- debian/patches/02-weather-fix_upstream-version-2.3.0~2.2.patch 1970-01-01 00:00:00 +0000
1686+++ debian/patches/02-weather-fix_upstream-version-2.3.0~2.2.patch 2011-06-06 10:14:32 +0000
1687@@ -0,0 +1,41 @@
1688+From: Matthieu Baerts <matttbe@gmail.com>
1689+Subject: Weather: prevent a crash if there is an error (thanks to Tsu Jan)
1690+Origin: upstream, http://bazaar.launchpad.net/~cairo-dock-team/cairo-dock-plug-ins/2.3.x/revision/1940
1691+Bug: https://bugs.launchpad.net/ubuntu/+source/cairo-dock-plug-ins/+bug/788437
1692+Forwarded: yes
1693+
1694+Index: cairo-dock-plug-ins/weather/src/applet-read-data.c
1695+===================================================================
1696+--- cairo-dock-plug-ins.orig/weather/src/applet-read-data.c 2011-06-04 02:16:45.821196928 +0200
1697++++ cairo-dock-plug-ins/weather/src/applet-read-data.c 2011-06-04 02:17:05.891226364 +0200
1698+@@ -304,13 +304,13 @@
1699+ {
1700+ gchar *cURL = g_strdup_printf (CD_WEATHER_BASE_URL"/weather/local/%s?cc=*%s", pSharedMemory->cLocationCode, (pSharedMemory->bISUnits ? "&unit=m" : ""));
1701+ cCCData = cairo_dock_get_url_data (cURL, &erreur);
1702+- g_free (cURL);
1703+ if (erreur != NULL)
1704+ {
1705+ cd_warning ("while downloading current conditions data:\n%s -> %s", cURL, erreur->message);
1706+ g_error_free (erreur);
1707+ erreur = NULL;
1708+ }
1709++ g_free (cURL);
1710+ if (cCCData == NULL)
1711+ {
1712+ pSharedMemory->bErrorInThread = TRUE;
1713+@@ -324,7 +324,6 @@
1714+ {
1715+ gchar *cURL = g_strdup_printf (CD_WEATHER_BASE_URL"/weather/local/%s?dayf=%d%s", pSharedMemory->cLocationCode, pSharedMemory->iNbDays, (pSharedMemory->bISUnits ? "&unit=m" : ""));
1716+ cForecastData = cairo_dock_get_url_data (cURL, &erreur);
1717+- g_free (cURL);
1718+ if (erreur != NULL)
1719+ {
1720+ cd_warning ("while downloading forecast data:\n%s -> %s", cURL, erreur->message);
1721+@@ -332,6 +331,7 @@
1722+ erreur = NULL;
1723+ pSharedMemory->bErrorInThread = TRUE;
1724+ }
1725++ g_free (cURL);
1726+ if (cForecastData == NULL)
1727+ {
1728+ pSharedMemory->bErrorInThread = TRUE;
1729
1730=== added file 'debian/patches/series'
1731--- debian/patches/series 1970-01-01 00:00:00 +0000
1732+++ debian/patches/series 2011-06-06 10:14:32 +0000
1733@@ -0,0 +1,2 @@
1734+01-ubuntuone-fix_upstream-version-2.3.0~2.1.patch
1735+02-weather-fix_upstream-version-2.3.0~2.2.patch
1736
1737=== modified file 'dnd2share/src/applet-backend-ubuntuone.c'
1738--- dnd2share/src/applet-backend-ubuntuone.c 2011-04-20 20:46:51 +0000
1739+++ dnd2share/src/applet-backend-ubuntuone.c 2011-06-06 10:14:32 +0000
1740@@ -54,8 +54,10 @@
1741 return;
1742 }
1743
1744- // On recupere l'URL (dispo tout de suite, sinon il faudra boucler en testant 'dropbox status' jusqu'a avoir 'Idle').
1745- cCommand= g_strdup_printf ("u1sdtool --publish-file \"%s\"", cLocalFilePath);
1746+ // We wait for the end of the sync
1747+ cairo_dock_launch_command_sync ("u1sdtool --wait");
1748+ // We publish the file and we read the output message
1749+ cCommand = g_strdup_printf ("u1sdtool --publish-file \"%s\"", cLocalFilePath);
1750 cd_debug ("commande u2 : %s", cCommand);
1751 gchar *cResult = cairo_dock_launch_command_sync (cCommand);
1752 g_free (cCommand);
1753
1754=== modified file 'weather/src/applet-read-data.c'
1755--- weather/src/applet-read-data.c 2011-04-20 20:46:51 +0000
1756+++ weather/src/applet-read-data.c 2011-06-06 10:14:32 +0000
1757@@ -304,13 +304,13 @@
1758 {
1759 gchar *cURL = g_strdup_printf (CD_WEATHER_BASE_URL"/weather/local/%s?cc=*%s", pSharedMemory->cLocationCode, (pSharedMemory->bISUnits ? "&unit=m" : ""));
1760 cCCData = cairo_dock_get_url_data (cURL, &erreur);
1761- g_free (cURL);
1762 if (erreur != NULL)
1763 {
1764 cd_warning ("while downloading current conditions data:\n%s -> %s", cURL, erreur->message);
1765 g_error_free (erreur);
1766 erreur = NULL;
1767 }
1768+ g_free (cURL);
1769 if (cCCData == NULL)
1770 {
1771 pSharedMemory->bErrorInThread = TRUE;
1772@@ -324,7 +324,6 @@
1773 {
1774 gchar *cURL = g_strdup_printf (CD_WEATHER_BASE_URL"/weather/local/%s?dayf=%d%s", pSharedMemory->cLocationCode, pSharedMemory->iNbDays, (pSharedMemory->bISUnits ? "&unit=m" : ""));
1775 cForecastData = cairo_dock_get_url_data (cURL, &erreur);
1776- g_free (cURL);
1777 if (erreur != NULL)
1778 {
1779 cd_warning ("while downloading forecast data:\n%s -> %s", cURL, erreur->message);
1780@@ -332,6 +331,7 @@
1781 erreur = NULL;
1782 pSharedMemory->bErrorInThread = TRUE;
1783 }
1784+ g_free (cURL);
1785 if (cForecastData == NULL)
1786 {
1787 pSharedMemory->bErrorInThread = TRUE;

Subscribers

People subscribed via source and target branches