xmms2-client 0.0.3.9 → 0.0.4.0
raw patch · 12 files changed
+205/−218 lines, 12 files
Files
- configure +110/−95
- configure.ac +0/−2
- src/Control/Makefile.in +0/−1
- src/Control/Monad/Makefile.in +0/−1
- src/Control/Monad/ToIO.hs +0/−38
- src/XMMS2/Client/Coll.hs +9/−9
- src/XMMS2/Client/Medialib.hs +10/−10
- src/XMMS2/Client/Playback.hs +15/−15
- src/XMMS2/Client/Playlist.hs +19/−19
- src/XMMS2/Client/Result.hs +34/−19
- src/XMMS2/Client/Stats.hs +1/−1
- xmms2-client.cabal +7/−8
configure view
@@ -1,13 +1,13 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles.-# Generated by GNU Autoconf 2.65 for xmms2-client 0.0.2.0.+# Generated by GNU Autoconf 2.67 for xmms2-client 0.0.2.0. # # Report bugs to <upwawet@gmail.com>. # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,-# Inc.+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software+# Foundation, Inc. # # # This configure script is free software; the Free Software Foundation@@ -318,7 +318,7 @@ test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs"- } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p@@ -358,19 +358,19 @@ fi # as_fn_arith -# as_fn_error ERROR [LINENO LOG_FD]-# ---------------------------------+# as_fn_error STATUS ERROR [LINENO LOG_FD]+# ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the-# script with status $?, using 1 if that was 0.+# script with STATUS, using 1 if that was 0. as_fn_error () {- as_status=$?; test $as_status -eq 0 && as_status=1- if test "$3"; then- as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack- $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3+ as_status=$1; test $as_status -eq 0 && as_status=1+ if test "$4"; then+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi- $as_echo "$as_me: error: $1" >&2+ $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -532,7 +532,7 @@ exec 6>&1 # Name of the host.-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` @@ -674,8 +674,9 @@ fi case $ac_option in- *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;- *) ac_optarg=yes ;;+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;+ *=) ac_optarg= ;;+ *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos.@@ -720,7 +721,7 @@ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&- as_fn_error "invalid feature name: $ac_useropt"+ as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in@@ -746,7 +747,7 @@ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&- as_fn_error "invalid feature name: $ac_useropt"+ as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in@@ -950,7 +951,7 @@ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&- as_fn_error "invalid package name: $ac_useropt"+ as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in@@ -966,7 +967,7 @@ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&- as_fn_error "invalid package name: $ac_useropt"+ as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in@@ -996,8 +997,8 @@ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) as_fn_error "unrecognized option: \`$ac_option'-Try \`$0 --help' for more information."+ -*) as_fn_error $? "unrecognized option: \`$ac_option'+Try \`$0 --help' for more information" ;; *=*)@@ -1005,7 +1006,7 @@ # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* )- as_fn_error "invalid variable name: \`$ac_envvar'" ;;+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;;@@ -1023,13 +1024,13 @@ if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'`- as_fn_error "missing argument to $ac_option"+ as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;;- fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi@@ -1052,7 +1053,7 @@ [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac- as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host'@@ -1066,8 +1067,8 @@ if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe- $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.- If a cross compiler is detected then cross compile mode will be used." >&2+ $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.+ If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi@@ -1082,9 +1083,9 @@ ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||- as_fn_error "working directory cannot be determined"+ as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||- as_fn_error "pwd does not report name of working directory"+ as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified.@@ -1123,11 +1124,11 @@ fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."- as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`(- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then@@ -1167,7 +1168,7 @@ --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit- -q, --quiet, --silent do not print \`checking...' messages+ -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files@@ -1297,9 +1298,9 @@ if $ac_init_version; then cat <<\_ACEOF xmms2-client configure 0.0.2.0-generated by GNU Autoconf 2.65+generated by GNU Autoconf 2.67 -Copyright (C) 2009 Free Software Foundation, Inc.+Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF@@ -1314,7 +1315,7 @@ running configure, to aid debugging if configure makes a mistake. It was created by xmms2-client $as_me 0.0.2.0, which was-generated by GNU Autoconf 2.65. Invocation command line was+generated by GNU Autoconf 2.67. Invocation command line was $ $0 $@ @@ -1424,11 +1425,9 @@ { echo - cat <<\_ASBOX-## ---------------- ##+ $as_echo "## ---------------- ## ## Cache variables. ##-## ---------------- ##-_ASBOX+## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, (@@ -1462,11 +1461,9 @@ ) echo - cat <<\_ASBOX-## ----------------- ##+ $as_echo "## ----------------- ## ## Output variables. ##-## ----------------- ##-_ASBOX+## ----------------- ##" echo for ac_var in $ac_subst_vars do@@ -1479,11 +1476,9 @@ echo if test -n "$ac_subst_files"; then- cat <<\_ASBOX-## ------------------- ##+ $as_echo "## ------------------- ## ## File substitutions. ##-## ------------------- ##-_ASBOX+## ------------------- ##" echo for ac_var in $ac_subst_files do@@ -1497,11 +1492,9 @@ fi if test -s confdefs.h; then- cat <<\_ASBOX-## ----------- ##+ $as_echo "## ----------- ## ## confdefs.h. ##-## ----------- ##-_ASBOX+## ----------- ##" echo cat confdefs.h echo@@ -1556,7 +1549,12 @@ ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then- ac_site_file1=$CONFIG_SITE+ # We do not want a PATH search for config.site.+ case $CONFIG_SITE in #((+ -*) ac_site_file1=./$CONFIG_SITE;;+ */*) ac_site_file1=$CONFIG_SITE;;+ *) ac_site_file1=./$CONFIG_SITE;;+ esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site@@ -1571,7 +1569,11 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5- . "$ac_site_file"+ . "$ac_site_file" \+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}+as_fn_error $? "failed to load site script $ac_site_file+See \`config.log' for more details" "$LINENO" 5 ; } fi done @@ -1647,7 +1649,7 @@ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}- as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ##@@ -1864,7 +1866,7 @@ fi -ac_config_files="$ac_config_files xmms2-client.buildinfo Makefile src/Makefile src/Control/Makefile src/Control/Monad/Makefile src/XMMS2/Makefile src/XMMS2/Client/Makefile src/XMMS2/Client/Types/Makefile src/XMMS2/Client/Bindings/Makefile src/XMMS2/Client/Bindings/Types/Makefile"+ac_config_files="$ac_config_files xmms2-client.buildinfo Makefile src/Makefile src/XMMS2/Makefile src/XMMS2/Client/Makefile src/XMMS2/Client/Types/Makefile src/XMMS2/Client/Bindings/Makefile src/XMMS2/Client/Bindings/Types/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure@@ -1985,6 +1987,7 @@ ac_libobjs= ac_ltlibobjs=+U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'@@ -2146,19 +2149,19 @@ (unset CDPATH) >/dev/null 2>&1 && unset CDPATH -# as_fn_error ERROR [LINENO LOG_FD]-# ---------------------------------+# as_fn_error STATUS ERROR [LINENO LOG_FD]+# ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the-# script with status $?, using 1 if that was 0.+# script with STATUS, using 1 if that was 0. as_fn_error () {- as_status=$?; test $as_status -eq 0 && as_status=1- if test "$3"; then- as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack- $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3+ as_status=$1; test $as_status -eq 0 && as_status=1+ if test "$4"; then+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi- $as_echo "$as_me: error: $1" >&2+ $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -2354,7 +2357,7 @@ test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs"- } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p@@ -2408,7 +2411,7 @@ # values after options handling. ac_log=" This file was extended by xmms2-client $as_me 0.0.2.0, which was-generated by GNU Autoconf 2.65. Invocation command line was+generated by GNU Autoconf 2.67. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS@@ -2461,10 +2464,10 @@ ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ xmms2-client config.status 0.0.2.0-configured by $0, generated by GNU Autoconf 2.65,+configured by $0, generated by GNU Autoconf 2.67, with options \\"\$ac_cs_config\\" -Copyright (C) 2009 Free Software Foundation, Inc.+Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -2479,11 +2482,16 @@ while test $# != 0 do case $1 in- --*=*)+ --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;;+ --*=)+ ac_option=`expr "X$1" : 'X\([^=]*\)='`+ ac_optarg=+ ac_shift=:+ ;; *) ac_option=$1 ac_optarg=$2@@ -2505,6 +2513,7 @@ $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;+ '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;;@@ -2515,7 +2524,7 @@ ac_cs_silent=: ;; # This is an error.- -*) as_fn_error "unrecognized option: \`$1'+ -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1"@@ -2567,15 +2576,13 @@ "xmms2-client.buildinfo") CONFIG_FILES="$CONFIG_FILES xmms2-client.buildinfo" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;- "src/Control/Makefile") CONFIG_FILES="$CONFIG_FILES src/Control/Makefile" ;;- "src/Control/Monad/Makefile") CONFIG_FILES="$CONFIG_FILES src/Control/Monad/Makefile" ;; "src/XMMS2/Makefile") CONFIG_FILES="$CONFIG_FILES src/XMMS2/Makefile" ;; "src/XMMS2/Client/Makefile") CONFIG_FILES="$CONFIG_FILES src/XMMS2/Client/Makefile" ;; "src/XMMS2/Client/Types/Makefile") CONFIG_FILES="$CONFIG_FILES src/XMMS2/Client/Types/Makefile" ;; "src/XMMS2/Client/Bindings/Makefile") CONFIG_FILES="$CONFIG_FILES src/XMMS2/Client/Bindings/Makefile" ;; "src/XMMS2/Client/Bindings/Types/Makefile") CONFIG_FILES="$CONFIG_FILES src/XMMS2/Client/Bindings/Types/Makefile" ;; - *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;; esac done @@ -2611,7 +2618,7 @@ { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp")-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES.@@ -2628,7 +2635,7 @@ fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then- ac_cs_awk_cr='\r'+ ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi@@ -2642,18 +2649,18 @@ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh ||- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh ||- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi@@ -2742,20 +2749,28 @@ else cat fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \- || as_fn_error "could not setup config files machinery" "$LINENO" 5+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF -# VPATH may cause trouble with some makes, so we remove $(srcdir),-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then- ac_vpsub='/^[ ]*VPATH[ ]*=/{-s/:*\$(srcdir):*/:/-s/:*\${srcdir}:*/:/-s/:*@srcdir@:*/:/-s/^\([^=]*=[ ]*\):*/\1/+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{+h+s///+s/^/:/+s/[ ]*$/:/+s/:\$(srcdir):/:/g+s/:\${srcdir}:/:/g+s/:@srcdir@:/:/g+s/^:*// s/:*$//+x+s/\(=[ ]*\).*/\1/+G+s/\n// s/^[^=]*=[ ]*$// }' fi@@ -2773,7 +2788,7 @@ esac case $ac_mode$ac_tag in :[FHL]*:*);;- :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac@@ -2801,7 +2816,7 @@ [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac ||- as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'"@@ -2828,7 +2843,7 @@ case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin" \- || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac@@ -2954,22 +2969,22 @@ $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \- || as_fn_error "could not create $ac_file" "$LINENO" 5+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'-which seems to be undefined. Please make sure it is defined." >&5+which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'-which seems to be undefined. Please make sure it is defined." >&2;}+which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out" && rm -f "$tmp/out";; *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \- || as_fn_error "could not create $ac_file" "$LINENO" 5+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; @@ -2984,7 +2999,7 @@ ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 ||- as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status.@@ -3005,7 +3020,7 @@ exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction.- $ac_cs_success || as_fn_exit $?+ $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
configure.ac view
@@ -15,8 +15,6 @@ AC_CONFIG_FILES(xmms2-client.buildinfo Makefile src/Makefile- src/Control/Makefile- src/Control/Monad/Makefile src/XMMS2/Makefile src/XMMS2/Client/Makefile src/XMMS2/Client/Types/Makefile
− src/Control/Makefile.in
@@ -1,1 +0,0 @@-include @abs_top_srcdir@/Makefile
− src/Control/Monad/Makefile.in
@@ -1,1 +0,0 @@-include @abs_top_srcdir@/Makefile
− src/Control/Monad/ToIO.hs
@@ -1,38 +0,0 @@--- -*-haskell-*---- XMMS2 client library.------ Author: Oleg Belozeorov--- Created: 14 Jan. 2010------ Copyright (C) 2009-2010 Oleg Belozeorov------ This library is free software; you can redistribute it and/or--- modify it under the terms of the GNU Lesser General Public--- License as published by the Free Software Foundation; either--- version 3 of the License, or (at your option) any later version.------ This library is distributed in the hope that it will be useful,--- but WITHOUT ANY WARRANTY; without even the implied warranty of--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU--- Lesser General Public License for more details.-----module Control.Monad.ToIO- ( MonadToIO (..)- ) where--import Control.Monad.Reader---class Monad m => MonadToIO m where- toIO :: m (m a -> IO a)- --instance MonadToIO IO where- toIO = return id--instance MonadToIO m => MonadToIO (ReaderT r m) where- toIO = do- r <- ask- w <- lift toIO- return $ w . flip runReaderT r
src/XMMS2/Client/Coll.hs view
@@ -81,31 +81,31 @@ , name = name } -collGet :: Connection -> String -> String -> IO (Result Coll)+collGet :: Connection -> String -> String -> IO (Result Default Coll) collGet xmmsc name ns = liftResult $ B.collGet xmmsc name ns -collList :: Connection -> String -> IO (Result [String])+collList :: Connection -> String -> IO (Result Default [String]) collList xmmsc ns = liftResult $ B.collList xmmsc ns -collSave :: Connection -> Coll -> String -> String -> IO (Result ())+collSave :: Connection -> Coll -> String -> String -> IO (Result Default ()) collSave xmmsc coll name ns = liftResult $ B.collSave xmmsc coll name ns -collRemove :: Connection -> String -> String -> IO (Result ())+collRemove :: Connection -> String -> String -> IO (Result Default ()) collRemove xmmsc name ns = liftResult $ B.collRemove xmmsc name ns -collRename :: Connection -> String -> String -> String -> IO (Result ())+collRename :: Connection -> String -> String -> String -> IO (Result Default ()) collRename xmmsc from to ns = liftResult $ B.collRename xmmsc from to ns -collIdlistFromPlaylistFile :: Connection -> String -> IO (Result Coll)+collIdlistFromPlaylistFile :: Connection -> String -> IO (Result Default Coll) collIdlistFromPlaylistFile xmmsc file = liftResult $ B.collIdlistFromPlaylistFile xmmsc file -collSync :: Connection -> IO (Result ())+collSync :: Connection -> IO (Result Default ()) collSync xmmsc = liftResult $ B.collSync xmmsc @@ -115,11 +115,11 @@ [String] -> Int -> Int ->- IO (Result [Int32])+ IO (Result Default [Int32]) collQueryIds xmmsc coll order start len = do order' <- valueNew order liftResult $ B.collQueryIds xmmsc coll order' start len -broadcastCollectionChanged :: Connection -> IO (Result CollectionChange)+broadcastCollectionChanged :: Connection -> IO (Result Broadcast CollectionChange) broadcastCollectionChanged = liftResult . B.broadcastCollectionChanged
src/XMMS2/Client/Medialib.hs view
@@ -54,27 +54,27 @@ return BrowseEntry { entryPath = path, entryIsDir = dirp } -medialibAddEntry :: Connection -> String -> IO (Result ())+medialibAddEntry :: Connection -> String -> IO (Result Default ()) medialibAddEntry xmmsc url = liftResult $ B.medialibAddEntry xmmsc url -medialibAddEntryFull :: Connection -> String -> [String] -> IO (Result ())+medialibAddEntryFull :: Connection -> String -> [String] -> IO (Result Default ()) medialibAddEntryFull xmmsc url args = liftResult $ B.medialibAddEntryFull xmmsc url =<< valueNew args -medialibAddEntryEncoded :: Connection -> String -> IO (Result ())+medialibAddEntryEncoded :: Connection -> String -> IO (Result Default ()) medialibAddEntryEncoded xmmsc url = liftResult $ B.medialibAddEntryEncoded xmmsc url -medialibGetInfo :: Connection -> Int32 -> IO (Result PropDict)+medialibGetInfo :: Connection -> Int32 -> IO (Result Default PropDict) medialibGetInfo xmmsc id = liftResult $ B.medialibGetInfo xmmsc id -medialibGetId :: Connection -> String -> IO (Result Int32)+medialibGetId :: Connection -> String -> IO (Result Default Int32) medialibGetId xmmsc url = liftResult $ B.medialibGetId xmmsc url -medialibGetIdEncoded :: Connection -> String -> IO (Result Int32)+medialibGetIdEncoded :: Connection -> String -> IO (Result Default Int32) medialibGetIdEncoded xmmsc url = liftResult $ B.medialibGetIdEncoded xmmsc url @@ -84,7 +84,7 @@ Maybe String -> String -> Property ->- IO (Result ())+ IO (Result Default ()) medialibEntryPropertySet xmmsc id (Just src) key (PropInt32 val) = liftResult $ B.medialibEntryPropertySetIntWithSource xmmsc id src key val medialibEntryPropertySet xmmsc id Nothing key (PropInt32 val) =@@ -99,17 +99,17 @@ Int32 -> Maybe String -> String ->- IO (Result ())+ IO (Result Default ()) medialibEntryPropertyRemove xmmsc id (Just src) key = liftResult $ B.medialibEntryPropertyRemoveWithSource xmmsc id src key medialibEntryPropertyRemove xmmsc id Nothing key = liftResult $ B.medialibEntryPropertyRemove xmmsc id key -xformMediaBrowse :: Connection -> String -> IO (Result [BrowseEntry])+xformMediaBrowse :: Connection -> String -> IO (Result Default [BrowseEntry]) xformMediaBrowse xmmsc url = liftResult $ B.xformMediaBrowse xmmsc url -broadcastMedialibEntryChanged :: Connection -> IO (Result Int32)+broadcastMedialibEntryChanged :: Connection -> IO (Result Broadcast Int32) broadcastMedialibEntryChanged = liftResult . B.broadcastMedialibEntryChanged
src/XMMS2/Client/Playback.hs view
@@ -51,64 +51,64 @@ valueGet v = (toEnum . fromIntegral) <$> getInt v -playbackStop :: Connection -> IO (Result ())+playbackStop :: Connection -> IO (Result Default ()) playbackStop xmmsc = liftResult $ B.playbackStop xmmsc -playbackTickle :: Connection -> IO (Result ())+playbackTickle :: Connection -> IO (Result Default ()) playbackTickle xmmsc = liftResult $ B.playbackTickle xmmsc -playbackStart :: Connection -> IO (Result ())+playbackStart :: Connection -> IO (Result Default ()) playbackStart xmmsc = liftResult $ B.playbackStart xmmsc -playbackPause :: Connection -> IO (Result ())+playbackPause :: Connection -> IO (Result Default ()) playbackPause xmmsc = liftResult $ B.playbackPause xmmsc -playbackCurrentId :: Connection -> IO (Result Int32)+playbackCurrentId :: Connection -> IO (Result Default Int32) playbackCurrentId xmmsc = liftResult $ B.playbackCurrentId xmmsc -playbackSeekMs :: Connection -> Int32 -> SeekMode -> IO (Result ())+playbackSeekMs :: Connection -> Int32 -> SeekMode -> IO (Result Default ()) playbackSeekMs xmmsc pos whence = liftResult $ B.playbackSeekMs xmmsc pos whence -playbackSeekSamples :: Connection -> Int32 -> SeekMode -> IO (Result ())+playbackSeekSamples :: Connection -> Int32 -> SeekMode -> IO (Result Default ()) playbackSeekSamples xmmsc pos whence = liftResult $ B.playbackSeekSamples xmmsc pos whence -playbackPlaytime :: Connection -> IO (Result Int32)+playbackPlaytime :: Connection -> IO (Result Default Int32) playbackPlaytime xmmsc = liftResult $ B.playbackPlaytime xmmsc -playbackStatus :: Connection -> IO (Result PlaybackStatus)+playbackStatus :: Connection -> IO (Result Default PlaybackStatus) playbackStatus xmmsc = liftResult $ B.playbackStatus xmmsc -playbackVolumeSet :: Connection -> String -> Int -> IO (Result ())+playbackVolumeSet :: Connection -> String -> Int -> IO (Result Default ()) playbackVolumeSet xmmsc chan vol = liftResult $ B.playbackVolumeSet xmmsc chan vol -playbackVolumeGet :: Connection -> IO (Result (Dict Int32))+playbackVolumeGet :: Connection -> IO (Result Default (Dict Int32)) playbackVolumeGet xmmsc = liftResult $ B.playbackVolumeGet xmmsc -broadcastPlaybackVolumeChanged :: Connection -> IO (Result (Dict Int32))+broadcastPlaybackVolumeChanged :: Connection -> IO (Result Broadcast (Dict Int32)) broadcastPlaybackVolumeChanged = liftResult . B.broadcastPlaybackVolumeChanged -broadcastPlaybackStatus :: Connection -> IO (Result PlaybackStatus)+broadcastPlaybackStatus :: Connection -> IO (Result Broadcast PlaybackStatus) broadcastPlaybackStatus = liftResult . B.broadcastPlaybackStatus -broadcastPlaybackCurrentId :: Connection -> IO (Result Int32)+broadcastPlaybackCurrentId :: Connection -> IO (Result Broadcast Int32) broadcastPlaybackCurrentId = liftResult . B.broadcastPlaybackCurrentId -signalPlaybackPlaytime :: Connection -> IO (Result Int32)+signalPlaybackPlaytime :: Connection -> IO (Result Signal Int32) signalPlaybackPlaytime = liftResult . B.signalPlaybackPlaytime
src/XMMS2/Client/Playlist.hs view
@@ -147,7 +147,7 @@ :: Connection -> Maybe String -> URL- -> IO (Result ())+ -> IO (Result Default ()) playlistAddURL xmmsc name url = liftResult $ B.playlistAddURL xmmsc name url @@ -155,7 +155,7 @@ Connection -> Maybe String -> MediaId ->- IO (Result ())+ IO (Result Default ()) playlistAddId xmmsc name id = liftResult $ B.playlistAddId xmmsc name id @@ -163,7 +163,7 @@ Connection -> Maybe String -> EncodedURL ->- IO (Result ())+ IO (Result Default ()) playlistAddEncoded xmmsc name url = liftResult $ B.playlistAddEncoded xmmsc name url @@ -171,7 +171,7 @@ Connection -> Maybe String -> Coll ->- IO (Result ())+ IO (Result Default ()) playlistAddIdlist xmmsc name idlist = liftResult $ B.playlistAddIdlist xmmsc name idlist @@ -180,7 +180,7 @@ Maybe String -> Coll -> [String] ->- IO (Result ())+ IO (Result Default ()) playlistAddCollection xmmsc name coll order = liftResult $ B.playlistAddCollection xmmsc name coll =<< newList order @@ -188,35 +188,35 @@ Connection -> Maybe String -> Int ->- IO (Result ())+ IO (Result Default ()) playlistRemoveEntry xmmsc name num = liftResult $ B.playlistRemoveEntry xmmsc name num playlistClear :: Connection -> Maybe String ->- IO (Result ())+ IO (Result Default ()) playlistClear xmmsc name = liftResult $ B.playlistClear xmmsc name playlistListEntries :: Connection -> Maybe String ->- IO (Result [MediaId])+ IO (Result Default [MediaId]) playlistListEntries xmmsc name = liftResult $ B.playlistListEntries xmmsc name playlistSetNext :: Connection -> Int32 ->- IO (Result ())+ IO (Result Default ()) playlistSetNext xmmsc num = liftResult $ B.playlistSetNext xmmsc num playlistSetNextRel :: Connection -> Int32 ->- IO (Result ())+ IO (Result Default ()) playlistSetNextRel xmmsc num = liftResult $ B.playlistSetNextRel xmmsc num @@ -227,21 +227,21 @@ -> Maybe String -> Int -> Int- -> IO (Result ())+ -> IO (Result Default ()) playlistMoveEntry xmmsc name from to = liftResult $ B.playlistMoveEntry xmmsc name from to playlistCurrentPos :: Connection -> Maybe String ->- IO (Result PlaylistPosition)+ IO (Result Default PlaylistPosition) playlistCurrentPos xmmsc name = liftResult $ B.playlistCurrentPos xmmsc name -- | Retrieve the name of the active playlist. playlistCurrentActive :: Connection ->- IO (Result String)+ IO (Result Default String) playlistCurrentActive xmmsc = liftResult $ B.playlistCurrentActive xmmsc @@ -250,7 +250,7 @@ Maybe String -> Int -> MediaId ->- IO (Result ())+ IO (Result Default ()) playlistInsertId xmmsc name pos id = liftResult $ B.playlistInsertId xmmsc name pos id @@ -258,7 +258,7 @@ Connection -> Maybe String -> URL ->- IO (Result ())+ IO (Result Default ()) playlistRAdd xmmsc name url = liftResult $ B.playlistRAdd xmmsc name url @@ -266,7 +266,7 @@ Connection -> Maybe String -> EncodedURL ->- IO (Result ())+ IO (Result Default ()) playlistRAddEncoded xmmsc name url = liftResult $ B.playlistRAddEncoded xmmsc name url @@ -276,18 +276,18 @@ broadcastPlaylistChanged :: Connection ->- IO (Result PlaylistChange)+ IO (Result Broadcast PlaylistChange) broadcastPlaylistChanged = liftResult . B.broadcastPlaylistChanged broadcastPlaylistCurrentPos :: Connection ->- IO (Result ())+ IO (Result Broadcast ()) broadcastPlaylistCurrentPos = liftResult . B.broadcastPlaylistCurrentPos broadcastPlaylistLoaded :: Connection ->- IO (Result String)+ IO (Result Broadcast String) broadcastPlaylistLoaded = liftResult . B.broadcastPlaylistLoaded
src/XMMS2/Client/Result.hs view
@@ -22,17 +22,21 @@ , liftResult , resultWait , resultGetValue- , ResultM+ , ResultM (..)+ , (>>*) , resultRawValue , result , resultLength- , (>>*)+ , Default+ , Signal+ , Broadcast+ , persist ) where import Control.Applicative import Control.Monad.Trans import Control.Monad.Reader-import Control.Monad.ToIO+import Control.Monad.State import XMMS2.Client.Types @@ -40,36 +44,47 @@ import qualified XMMS2.Client.Bindings.Result as B -newtype Result a = Result B.Result--liftResult = (return . Result =<<)+newtype Result c a = Result B.Result +liftResult = liftM Result resultWait (Result r) = B.resultWait r resultGetValue (Result r) = B.resultGetValue r -newtype RVC a = RVC { value :: Value }+newtype ResultM c a b+ = ResultM { unResultM :: ReaderT Value (StateT Bool IO) b }+ deriving (Functor, Monad, MonadIO) -type ResultM m a b = ReaderT (RVC a) m b+execResultM :: ResultM c a b -> Value -> IO Bool+execResultM r v = execStateT (runReaderT (unResultM r) v) False -runResultM :: (MonadIO m, MonadToIO m) => ResultM m a b -> Value -> m b-runResultM f v = runReaderT f $ RVC v +(>>*) :: IO (Result c a) -> ResultM c a b -> IO ()+f >>* h = do+ (Result result) <- f+ B.resultNotifierSet result $ execResultM h -resultRawValue :: (ValueGet a, MonadIO m, MonadToIO m) => ResultM m a Value-resultRawValue = value <$> ask+resultRawValue :: ResultM c a Value+resultRawValue = ResultM ask -result :: (ValueGet a, MonadIO m, MonadToIO m) => ResultM m a a+result :: ValueGet a => ResultM c a a result = resultRawValue >>= liftIO . valueGet -resultLength :: (ValueGet a, ValueGet [a], MonadIO m, MonadToIO m) => ResultM m [a] Integer+resultLength :: (ValueGet a, ValueGet [a]) => ResultM c [a] Integer resultLength = resultRawValue >>= liftIO . listGetSize -(>>*) :: (ValueGet a, MonadIO m, MonadToIO m) => m (Result a) -> ResultM m a Bool -> m ()-f >>* h = do- (Result result) <- f- wrapper <- toIO- liftIO $ B.resultNotifierSet result $ \v -> wrapper (runResultM h v)+class PersistentResultClass c++data Default++data Signal+instance PersistentResultClass Signal++data Broadcast+instance PersistentResultClass Broadcast++persist :: PersistentResultClass c => ResultM c a ()+persist = ResultM $ put True
src/XMMS2/Client/Stats.hs view
@@ -34,6 +34,6 @@ {-# DEPRECATED pluginList "Use mainListPlugins" #-} pluginList = mainListPlugins -mainListPlugins :: Connection -> PluginType -> IO (Result [Dict Data])+mainListPlugins :: Connection -> PluginType -> IO (Result Default [Dict Data]) mainListPlugins xmmsc ptype = liftResult $ B.mainListPlugins xmmsc ptype
xmms2-client.cabal view
@@ -1,5 +1,5 @@ name: xmms2-client-version: 0.0.3.9+version: 0.0.4.0 author: Oleg Belozeorov maintainer: Oleg Belozeorov <upwawet@gmail.com>@@ -28,8 +28,6 @@ src/XMMS2/Client/Bindings/Types/Makefile.in, src/XMMS2/Client/Makefile.in, src/XMMS2/Client/Types/Makefile.in,- src/Control/Makefile.in,- src/Control/Monad/Makefile.in, Makefile.in extra-tmp-files: config.status, config.log,@@ -37,8 +35,7 @@ hlint.out library- exposed-modules: Control.Monad.ToIO,- XMMS2.Client,+ exposed-modules: XMMS2.Client, XMMS2.Client.Types, XMMS2.Client.Types.Value, XMMS2.Client.Types.Coll,@@ -73,7 +70,8 @@ XMMS2.Utils c-sources: src/c/xmms2hs-client.c include-dirs: src/c- build-depends: base >= 4 && < 5, haskell98, utf8-string, mtl, containers+ build-depends: base >= 4 && < 5, haskell98, utf8-string, mtl,+ containers build-tools: c2hs hs-source-dirs: ., src extensions: ForeignFunctionInterface,@@ -87,7 +85,8 @@ EmptyDataDecls, FlexibleContexts, ScopedTypeVariables,- OverlappingInstances+ OverlappingInstances,+ GeneralizedNewtypeDeriving source-repository head@@ -99,4 +98,4 @@ type: git location: git://github.com/upwawet/xmms2hs.git subdir: client- tag: v0.0.3.9+ tag: v0.0.4.0