no-python.patch 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424
  1. diff --git a/bindings/Makefile.am b/bindings/Makefile.am
  2. index d1f6d73..dccca6c 100644
  3. --- a/bindings/Makefile.am
  4. +++ b/bindings/Makefile.am
  5. @@ -3,7 +3,6 @@ SUBDIRS = \
  6. vala
  7. else
  8. SUBDIRS = \
  9. - python \
  10. vala
  11. endif
  12. diff --git a/bindings/Makefile.in b/bindings/Makefile.in
  13. index e56458c..f869854 100644
  14. --- a/bindings/Makefile.in
  15. +++ b/bindings/Makefile.in
  16. @@ -93,7 +93,7 @@ AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
  17. distdir
  18. ETAGS = etags
  19. CTAGS = ctags
  20. -DIST_SUBDIRS = python vala mono
  21. +DIST_SUBDIRS = vala mono
  22. DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
  23. am__relativize = \
  24. dir0=`pwd`; \
  25. @@ -301,7 +301,7 @@ target_alias = @target_alias@
  26. top_build_prefix = @top_build_prefix@
  27. top_builddir = @top_builddir@
  28. top_srcdir = @top_srcdir@
  29. -@USE_GTK3_FALSE@SUBDIRS = python vala $(am__append_1)
  30. +@USE_GTK3_FALSE@SUBDIRS = vala $(am__append_1)
  31. @USE_GTK3_TRUE@SUBDIRS = vala $(am__append_1)
  32. all: all-recursive
  33. diff --git a/configure b/configure
  34. index 5174b3f..5896f55 100755
  35. --- a/configure
  36. +++ b/configure
  37. @@ -13702,365 +13702,6 @@ else
  38. with_localinstall=no
  39. fi
  40. -
  41. -###########################
  42. -# Python
  43. -###########################
  44. -
  45. -PYGTK_REQUIRED=2.14.0
  46. -PYGOBJECT_REQUIRED=0.22
  47. -
  48. -
  49. -
  50. -
  51. -
  52. - if test -n "$PYTHON"; then
  53. - # If the user set $PYTHON, use it and don't search something else.
  54. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version >= 2.3.5" >&5
  55. -$as_echo_n "checking whether $PYTHON version >= 2.3.5... " >&6; }
  56. - prog="import sys, string
  57. -# split strings by '.' and convert to numeric. Append some zeros
  58. -# because we need at least 4 digits for the hex conversion.
  59. -minver = map(int, string.split('2.3.5', '.')) + [0, 0, 0]
  60. -minverhex = 0
  61. -for i in xrange(0, 4): minverhex = (minverhex << 8) + minver[i]
  62. -sys.exit(sys.hexversion < minverhex)"
  63. - if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5
  64. - ($PYTHON -c "$prog") >&5 2>&5
  65. - ac_status=$?
  66. - echo "$as_me:$LINENO: \$? = $ac_status" >&5
  67. - (exit $ac_status); }; then :
  68. - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  69. -$as_echo "yes" >&6; }
  70. -else
  71. - as_fn_error $? "too old" "$LINENO" 5
  72. -fi
  73. - am_display_PYTHON=$PYTHON
  74. - else
  75. - # Otherwise, try each interpreter until we find one that satisfies
  76. - # VERSION.
  77. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 2.3.5" >&5
  78. -$as_echo_n "checking for a Python interpreter with version >= 2.3.5... " >&6; }
  79. -if ${am_cv_pathless_PYTHON+:} false; then :
  80. - $as_echo_n "(cached) " >&6
  81. -else
  82. -
  83. - for am_cv_pathless_PYTHON in python python2 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5 none; do
  84. - test "$am_cv_pathless_PYTHON" = none && break
  85. - prog="import sys, string
  86. -# split strings by '.' and convert to numeric. Append some zeros
  87. -# because we need at least 4 digits for the hex conversion.
  88. -minver = map(int, string.split('2.3.5', '.')) + [0, 0, 0]
  89. -minverhex = 0
  90. -for i in xrange(0, 4): minverhex = (minverhex << 8) + minver[i]
  91. -sys.exit(sys.hexversion < minverhex)"
  92. - if { echo "$as_me:$LINENO: $am_cv_pathless_PYTHON -c "$prog"" >&5
  93. - ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5
  94. - ac_status=$?
  95. - echo "$as_me:$LINENO: \$? = $ac_status" >&5
  96. - (exit $ac_status); }; then :
  97. - break
  98. -fi
  99. - done
  100. -fi
  101. -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5
  102. -$as_echo "$am_cv_pathless_PYTHON" >&6; }
  103. - # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
  104. - if test "$am_cv_pathless_PYTHON" = none; then
  105. - PYTHON=:
  106. - else
  107. - # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args.
  108. -set dummy $am_cv_pathless_PYTHON; ac_word=$2
  109. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  110. -$as_echo_n "checking for $ac_word... " >&6; }
  111. -if ${ac_cv_path_PYTHON+:} false; then :
  112. - $as_echo_n "(cached) " >&6
  113. -else
  114. - case $PYTHON in
  115. - [\\/]* | ?:[\\/]*)
  116. - ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
  117. - ;;
  118. - *)
  119. - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  120. -for as_dir in $PATH
  121. -do
  122. - IFS=$as_save_IFS
  123. - test -z "$as_dir" && as_dir=.
  124. - for ac_exec_ext in '' $ac_executable_extensions; do
  125. - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  126. - ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext"
  127. - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  128. - break 2
  129. - fi
  130. -done
  131. - done
  132. -IFS=$as_save_IFS
  133. -
  134. - ;;
  135. -esac
  136. -fi
  137. -PYTHON=$ac_cv_path_PYTHON
  138. -if test -n "$PYTHON"; then
  139. - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
  140. -$as_echo "$PYTHON" >&6; }
  141. -else
  142. - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  143. -$as_echo "no" >&6; }
  144. -fi
  145. -
  146. -
  147. - fi
  148. - am_display_PYTHON=$am_cv_pathless_PYTHON
  149. - fi
  150. -
  151. -
  152. - if test "$PYTHON" = :; then
  153. - as_fn_error $? "no suitable Python interpreter found" "$LINENO" 5
  154. - else
  155. -
  156. -
  157. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5
  158. -$as_echo_n "checking for $am_display_PYTHON version... " >&6; }
  159. -if ${am_cv_python_version+:} false; then :
  160. - $as_echo_n "(cached) " >&6
  161. -else
  162. - am_cv_python_version=`$PYTHON -c "import sys; print sys.version[:3]"`
  163. -fi
  164. -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
  165. -$as_echo "$am_cv_python_version" >&6; }
  166. - PYTHON_VERSION=$am_cv_python_version
  167. -
  168. -
  169. -
  170. - PYTHON_PREFIX='${prefix}'
  171. -
  172. - PYTHON_EXEC_PREFIX='${exec_prefix}'
  173. -
  174. -
  175. -
  176. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5
  177. -$as_echo_n "checking for $am_display_PYTHON platform... " >&6; }
  178. -if ${am_cv_python_platform+:} false; then :
  179. - $as_echo_n "(cached) " >&6
  180. -else
  181. - am_cv_python_platform=`$PYTHON -c "import sys; print sys.platform"`
  182. -fi
  183. -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5
  184. -$as_echo "$am_cv_python_platform" >&6; }
  185. - PYTHON_PLATFORM=$am_cv_python_platform
  186. -
  187. -
  188. -
  189. -
  190. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5
  191. -$as_echo_n "checking for $am_display_PYTHON script directory... " >&6; }
  192. -if ${am_cv_python_pythondir+:} false; then :
  193. - $as_echo_n "(cached) " >&6
  194. -else
  195. - am_cv_python_pythondir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(0,0,prefix='$PYTHON_PREFIX')" 2>/dev/null ||
  196. - echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
  197. -fi
  198. -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5
  199. -$as_echo "$am_cv_python_pythondir" >&6; }
  200. - pythondir=$am_cv_python_pythondir
  201. -
  202. -
  203. -
  204. - pkgpythondir=\${pythondir}/$PACKAGE
  205. -
  206. -
  207. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5
  208. -$as_echo_n "checking for $am_display_PYTHON extension module directory... " >&6; }
  209. -if ${am_cv_python_pyexecdir+:} false; then :
  210. - $as_echo_n "(cached) " >&6
  211. -else
  212. - am_cv_python_pyexecdir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(1,0,prefix='$PYTHON_EXEC_PREFIX')" 2>/dev/null ||
  213. - echo "${PYTHON_EXEC_PREFIX}/lib/python${PYTHON_VERSION}/site-packages"`
  214. -fi
  215. -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5
  216. -$as_echo "$am_cv_python_pyexecdir" >&6; }
  217. - pyexecdir=$am_cv_python_pyexecdir
  218. -
  219. -
  220. -
  221. - pkgpyexecdir=\${pyexecdir}/$PACKAGE
  222. -
  223. -
  224. -
  225. - fi
  226. -
  227. -
  228. -
  229. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for headers required to compile python extensions" >&5
  230. -$as_echo_n "checking for headers required to compile python extensions... " >&6; }
  231. -py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
  232. -py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"`
  233. -PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
  234. -if test "$py_prefix" != "$py_exec_prefix"; then
  235. - PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}"
  236. -fi
  237. -
  238. -save_CPPFLAGS="$CPPFLAGS"
  239. -CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
  240. -cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  241. -/* end confdefs.h. */
  242. -#include <Python.h>
  243. -_ACEOF
  244. -if ac_fn_c_try_cpp "$LINENO"; then :
  245. - { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
  246. -$as_echo "found" >&6; }
  247. -
  248. -else
  249. - { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
  250. -$as_echo "not found" >&6; }
  251. -as_fn_error $? "could not find Python headers" "$LINENO" 5
  252. -fi
  253. -rm -f conftest.err conftest.i conftest.$ac_ext
  254. -CPPFLAGS="$save_CPPFLAGS"
  255. -
  256. -
  257. -
  258. -pkg_failed=no
  259. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for APPINDICATOR_PYTHON" >&5
  260. -$as_echo_n "checking for APPINDICATOR_PYTHON... " >&6; }
  261. -
  262. -if test -n "$APPINDICATOR_PYTHON_CFLAGS"; then
  263. - pkg_cv_APPINDICATOR_PYTHON_CFLAGS="$APPINDICATOR_PYTHON_CFLAGS"
  264. - elif test -n "$PKG_CONFIG"; then
  265. - if test -n "$PKG_CONFIG" && \
  266. - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"
  267. - pygtk-2.0 >= \$PYGTK_REQUIRED
  268. - gtk+-2.0 >= \$GTK_REQUIRED_VERSION
  269. - pygobject-2.0 >= \$PYGOBJECT_REQUIRED
  270. - \""; } >&5
  271. - ($PKG_CONFIG --exists --print-errors "
  272. - pygtk-2.0 >= $PYGTK_REQUIRED
  273. - gtk+-2.0 >= $GTK_REQUIRED_VERSION
  274. - pygobject-2.0 >= $PYGOBJECT_REQUIRED
  275. - ") 2>&5
  276. - ac_status=$?
  277. - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  278. - test $ac_status = 0; }; then
  279. - pkg_cv_APPINDICATOR_PYTHON_CFLAGS=`$PKG_CONFIG --cflags "
  280. - pygtk-2.0 >= $PYGTK_REQUIRED
  281. - gtk+-2.0 >= $GTK_REQUIRED_VERSION
  282. - pygobject-2.0 >= $PYGOBJECT_REQUIRED
  283. - " 2>/dev/null`
  284. - test "x$?" != "x0" && pkg_failed=yes
  285. -else
  286. - pkg_failed=yes
  287. -fi
  288. - else
  289. - pkg_failed=untried
  290. -fi
  291. -if test -n "$APPINDICATOR_PYTHON_LIBS"; then
  292. - pkg_cv_APPINDICATOR_PYTHON_LIBS="$APPINDICATOR_PYTHON_LIBS"
  293. - elif test -n "$PKG_CONFIG"; then
  294. - if test -n "$PKG_CONFIG" && \
  295. - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"
  296. - pygtk-2.0 >= \$PYGTK_REQUIRED
  297. - gtk+-2.0 >= \$GTK_REQUIRED_VERSION
  298. - pygobject-2.0 >= \$PYGOBJECT_REQUIRED
  299. - \""; } >&5
  300. - ($PKG_CONFIG --exists --print-errors "
  301. - pygtk-2.0 >= $PYGTK_REQUIRED
  302. - gtk+-2.0 >= $GTK_REQUIRED_VERSION
  303. - pygobject-2.0 >= $PYGOBJECT_REQUIRED
  304. - ") 2>&5
  305. - ac_status=$?
  306. - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  307. - test $ac_status = 0; }; then
  308. - pkg_cv_APPINDICATOR_PYTHON_LIBS=`$PKG_CONFIG --libs "
  309. - pygtk-2.0 >= $PYGTK_REQUIRED
  310. - gtk+-2.0 >= $GTK_REQUIRED_VERSION
  311. - pygobject-2.0 >= $PYGOBJECT_REQUIRED
  312. - " 2>/dev/null`
  313. - test "x$?" != "x0" && pkg_failed=yes
  314. -else
  315. - pkg_failed=yes
  316. -fi
  317. - else
  318. - pkg_failed=untried
  319. -fi
  320. -
  321. -
  322. -
  323. -if test $pkg_failed = yes; then
  324. - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  325. -$as_echo "no" >&6; }
  326. -
  327. -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
  328. - _pkg_short_errors_supported=yes
  329. -else
  330. - _pkg_short_errors_supported=no
  331. -fi
  332. - if test $_pkg_short_errors_supported = yes; then
  333. - APPINDICATOR_PYTHON_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "
  334. - pygtk-2.0 >= $PYGTK_REQUIRED
  335. - gtk+-2.0 >= $GTK_REQUIRED_VERSION
  336. - pygobject-2.0 >= $PYGOBJECT_REQUIRED
  337. - " 2>&1`
  338. - else
  339. - APPINDICATOR_PYTHON_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "
  340. - pygtk-2.0 >= $PYGTK_REQUIRED
  341. - gtk+-2.0 >= $GTK_REQUIRED_VERSION
  342. - pygobject-2.0 >= $PYGOBJECT_REQUIRED
  343. - " 2>&1`
  344. - fi
  345. - # Put the nasty error message in config.log where it belongs
  346. - echo "$APPINDICATOR_PYTHON_PKG_ERRORS" >&5
  347. -
  348. - as_fn_error $? "Package requirements (
  349. - pygtk-2.0 >= $PYGTK_REQUIRED
  350. - gtk+-2.0 >= $GTK_REQUIRED_VERSION
  351. - pygobject-2.0 >= $PYGOBJECT_REQUIRED
  352. - ) were not met:
  353. -
  354. -$APPINDICATOR_PYTHON_PKG_ERRORS
  355. -
  356. -Consider adjusting the PKG_CONFIG_PATH environment variable if you
  357. -installed software in a non-standard prefix.
  358. -
  359. -Alternatively, you may set the environment variables APPINDICATOR_PYTHON_CFLAGS
  360. -and APPINDICATOR_PYTHON_LIBS to avoid the need to call pkg-config.
  361. -See the pkg-config man page for more details." "$LINENO" 5
  362. -elif test $pkg_failed = untried; then
  363. - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  364. -$as_echo "no" >&6; }
  365. - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  366. -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  367. -as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
  368. -is in your PATH or set the PKG_CONFIG environment variable to the full
  369. -path to pkg-config.
  370. -
  371. -Alternatively, you may set the environment variables APPINDICATOR_PYTHON_CFLAGS
  372. -and APPINDICATOR_PYTHON_LIBS to avoid the need to call pkg-config.
  373. -See the pkg-config man page for more details.
  374. -
  375. -To get pkg-config, see <http://pkg-config.freedesktop.org/>.
  376. -See \`config.log' for more details" "$LINENO" 5; }
  377. -else
  378. - APPINDICATOR_PYTHON_CFLAGS=$pkg_cv_APPINDICATOR_PYTHON_CFLAGS
  379. - APPINDICATOR_PYTHON_LIBS=$pkg_cv_APPINDICATOR_PYTHON_LIBS
  380. - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  381. -$as_echo "yes" >&6; }
  382. -
  383. -fi
  384. -
  385. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pygtk defs" >&5
  386. -$as_echo_n "checking for pygtk defs... " >&6; }
  387. -PYGTK_DEFSDIR=`$PKG_CONFIG --variable=defsdir pygtk-2.0`
  388. -
  389. -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYGTK_DEFSDIR" >&5
  390. -$as_echo "$PYGTK_DEFSDIR" >&6; }
  391. -
  392. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pygtk codegen" >&5
  393. -$as_echo_n "checking for pygtk codegen... " >&6; }
  394. -PYGTK_CODEGEN="$PYTHON `$PKG_CONFIG --variable=codegendir pygtk-2.0`/codegen.py"
  395. -
  396. -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYGTK_CODEGEN" >&5
  397. -$as_echo "$PYGTK_CODEGEN" >&6; }
  398. -
  399. #########################
  400. # Check if build tests
  401. #########################
  402. @@ -14358,7 +13999,7 @@ fi
  403. # Files
  404. ###########################
  405. -ac_config_files="$ac_config_files Makefile src/Makefile src/appindicator-0.1.pc src/appindicator3-0.1.pc bindings/Makefile bindings/python/Makefile bindings/python/appindicator.override bindings/vala/Makefile bindings/vala/examples/Makefile tests/Makefile example/Makefile docs/Makefile docs/reference/Makefile docs/reference/version.xml docs/reference/libappindicator-docs.sgml"
  406. +ac_config_files="$ac_config_files Makefile src/Makefile src/appindicator-0.1.pc src/appindicator3-0.1.pc bindings/Makefile bindings/vala/Makefile bindings/vala/examples/Makefile tests/Makefile example/Makefile docs/Makefile docs/reference/Makefile docs/reference/version.xml docs/reference/libappindicator-docs.sgml"
  407. if test "x$has_mono" = "xtrue" ; then
  408. @@ -15437,8 +15078,6 @@ do
  409. "src/appindicator-0.1.pc") CONFIG_FILES="$CONFIG_FILES src/appindicator-0.1.pc" ;;
  410. "src/appindicator3-0.1.pc") CONFIG_FILES="$CONFIG_FILES src/appindicator3-0.1.pc" ;;
  411. "bindings/Makefile") CONFIG_FILES="$CONFIG_FILES bindings/Makefile" ;;
  412. - "bindings/python/Makefile") CONFIG_FILES="$CONFIG_FILES bindings/python/Makefile" ;;
  413. - "bindings/python/appindicator.override") CONFIG_FILES="$CONFIG_FILES bindings/python/appindicator.override" ;;
  414. "bindings/vala/Makefile") CONFIG_FILES="$CONFIG_FILES bindings/vala/Makefile" ;;
  415. "bindings/vala/examples/Makefile") CONFIG_FILES="$CONFIG_FILES bindings/vala/examples/Makefile" ;;
  416. "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;