Merge lp:~cairo-dock-team/ubuntu/oneiric/cairo-dock-plug-ins/2.3.0-2.1 into lp:ubuntu/oneiric/cairo-dock-plug-ins
- Oneiric (11.10)
- 2.3.0-2.1
- Merge into oneiric
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 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Kees Cook | Approve | ||
Review via email:
|
Commit message
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:/
- 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)
Preview Diff
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; |
The cairo-dock package has been merged, so I'll merge this too. Thanks!