Commit 2ea5a086 authored by Bruno Coudoin's avatar Bruno Coudoin

- Syncing with trunk

	- major packaging change, imported libart_lgpl and libgnomecanvas
	  from gnome svn (trunk). We now build them as static library.
	  Packager change, you no more need them in GCompris require's.
	- bug reported by Khaled, in arabic wordsgame is missing the character
	  ZERO WIDTH JOINER to force joined char in Arabic and Hangul
          see http://en.wikipedia.org/wiki/Zero-width_joiner


svn path=/branches/gcomprixo/; revision=2657
parent af3afe89
2007-05-22 Bruno coudoin <bruno.coudoin@free.fr>
2007-05-23 Bruno coudoin <bruno.coudoin@free.fr>
Synced with trunk r2649. Especially the gstreamer code is there now.
- Syncing with trunk
- major packaging change, imported libart_lgpl and libgnomecanvas
from gnome svn (trunk). We now build them as static library.
Packager change, you no more need them in GCompris require's.
- bug reported by Khaled, in arabic wordsgame is missing the character
ZERO WIDTH JOINER to force joined char in Arabic and Hangul
see http://en.wikipedia.org/wiki/Zero-width_joiner
* Makefile.am:
* boards/melody.xml.in:
* boards/sounds/HOWTO_ENCODE:
* configure.in:
* po/ChangeLog:
* po/ar.po:
* po/ca.po:
* po/el.po:
* po/en_GB.po:
* po/sr.po:
* po/sr@Latn.po:
* src/boards/canvas.c: (pygdk_rectangle_from_pyobject),
(_wrap_gnome_canvas_root),
(_wrap_gnome_canvas_set_pixels_per_unit),
(_wrap_gnome_canvas_set_scroll_region),
(_wrap_gnome_canvas_get_center_scroll_region),
(_wrap_gnome_canvas_set_center_scroll_region),
(_wrap_gnome_canvas_scroll_to), (_wrap_gnome_canvas_update_now),
(_wrap_gnome_canvas_get_item_at), (_wrap_gnome_canvas_get_color),
(_wrap_gnome_canvas_get_color_pixel),
(_wrap_gnome_canvas_set_dither), (_wrap_gnome_canvas_get_dither),
(_wrap_gnome_canvas_item_move), (_wrap_gnome_canvas_item_raise),
(_wrap_gnome_canvas_item_lower),
(_wrap_gnome_canvas_item_raise_to_top),
(_wrap_gnome_canvas_item_lower_to_bottom),
(_wrap_gnome_canvas_item_show), (_wrap_gnome_canvas_item_hide),
(_wrap_gnome_canvas_item_reparent),
(_wrap_gnome_canvas_item_grab_focus),
(_wrap_gnome_canvas_rich_text_cut_clipboard),
(_wrap_gnome_canvas_rich_text_copy_clipboard),
(_wrap_gnome_canvas_rich_text_paste_clipboard),
(_wrap_gnome_canvas_rich_text_set_buffer),
(_wrap_gnome_canvas_rich_text_get_buffer),
(_wrap_gnome_canvas_rich_text_get_iter_location),
(_wrap_gnome_canvas_rich_text_get_iter_at_location),
(pycanvas_register_classes):
* src/boards/click_on_letter.c: (start_board), (end_board):
* src/boards/colors.c: (start_board), (end_board):
* src/boards/memory.c: (start_board), (end_board):
* src/boards/py-mod-sound.c: (py_gc_sound_pause),
(py_gc_sound_resume):
* src/boards/python/melody.py:
* src/boards/wordsgame.c: (start_board), (key_press),
(wordsgame_create_item):
* src/gcompris/Makefile.am:
* src/gcompris/bonus.c: (end_gc_bonus_end_display), (end_bonus):
* src/gcompris/config.c: (item_event_ok):
* src/gcompris/gcompris.c: (start_bg_music), (main):
* src/gcompris/sdlplayer.c:
* src/gcompris/soundutil.c: (gc_sound_init), (fx_bus), (bg_bus),
(gc_sound_close), (gc_sound_bg_close), (gc_sound_fx_close),
(gc_sound_bg_reopen), (gc_sound_fx_reopen), (gc_sound_reopen),
(gc_sound_bg_pause), (gc_sound_bg_resume), (gc_sound_fx_pause),
(gc_sound_fx_resume), (bg_build_music_list), (bg_play), (fx_play),
(get_next_sound_to_play), (gc_sound_play_ogg_cb),
(gc_sound_play_ogg_list), (gc_sound_callback):
* src/gcompris/soundutil.h:
2007-05-22 Bruno coudoin <bruno.coudoin@free.fr>
......
......@@ -30,8 +30,8 @@ libpython2.4-devel
python-base
python-sqlite2 (if it's not packaged, download and install it from http://initd.org/tracker/pysqlite)
Now that the sound is managed internally, you also need:
libSDL libSDL-mixer
For the sound managed internally, you also need gstreamer:
libgstreamer0.10-0 libgstreamer0.10-dev
On Mandriva, you will need to install their -devel counterpart package in
order to be abble to compile it plus intltool, tetex.
......@@ -44,9 +44,9 @@ urpmi gettext-devel
urpmi intltool
urpmi automake1.7
urpmi libglib2.0_0-devel
urpmi libgnomecanvas2_0-devel libgdk_pixbuf2.0_0-devel
urpmi libgdk_pixbuf2.0_0-devel
urpmi libgnomeui2_0-devel
urpmi libSDL_mixer1.2-devel libSDL1.2-devel
urpmi libgstreamer libgstreamer-devel (Unchecked)
urpmi python-gtk-devel
urpmi libpython2.4-devel
urpmi pygtk2.0-devel
......
......@@ -7,7 +7,7 @@
difficulty="2"
icon="boardicons/melody.png"
author="Jose JORGE (jjorge@free.fr)"
mandatory_sound_file="sounds/melody/xylofon/son1.wav"
mandatory_sound_file="sounds/melody/xylofon/son1.ogg"
boarddir="melody">
<_title>Melody</_title>
<_description>Repeat a melody</_description>
......
......@@ -12,7 +12,6 @@ AC_ISC_POSIX
GTK_REQUIRED=2.4.0
GDK_PIXBUF_REQUIRED=2.4.0
LIBGNOMECANVAS_REQUIRED=2.3.6
dnl
dnl Start of pkg-config checks
......@@ -23,8 +22,6 @@ PKG_PROG_PKG_CONFIG()
PKG_CHECK_MODULES(GCOMPRIS, dnl
[gtk+-2.0 >= $GTK_REQUIRED dnl
gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED dnl
libgnomecanvas-2.0 >= $LIBGNOMECANVAS_REQUIRED dnl
gthread-2.0
gstreamer-0.10])
AC_SUBST(GCOMPRIS_CFLAGS)
......@@ -42,6 +39,9 @@ AM_DISABLE_STATIC
AC_LIBTOOL_WIN32_DLL
AM_PROG_LIBTOOL
dnl for libart_lgpl
AC_FUNC_ALLOCA
AC_C_BIGENDIAN
dnl OSX Specifics
AC_MSG_CHECKING([for OSX])
......@@ -567,6 +567,8 @@ src/boards/python/gcompris/timer/Makefile
src/boards/python/gcompris/utils/Makefile
src/boards/python/connect4p/Makefile
src/boards/python/admin/Makefile
src/libart_lgpl/Makefile
src/libgnomecanvas/Makefile
po/Makefile.in
docs/Makefile
docs/C/Makefile
......
#!/bin/sh
#
# install - install a program, script, or datafile
# This comes from X11R5 (mit/util/scripts/install.sh).
scriptversion=2005-05-14.22
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
#
# Copyright (C) 1994 X Consortium
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# Copyright 1991 by the Massachusetts Institute of Technology
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation, and that the name of M.I.T. not be used in advertising or
# publicity pertaining to distribution of the software without specific,
# written prior permission. M.I.T. makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
......@@ -23,13 +42,11 @@
# from scratch. It can only install one file at a time, a restriction
# shared with many OS's install programs.
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
......@@ -41,211 +58,266 @@ stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
transformbasename=""
transform_arg=""
instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
chowncmd=""
chgrpcmd=""
stripcmd=""
chowncmd=
chgrpcmd=
stripcmd=
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
dst=""
dir_arg=""
while [ x"$1" != x ]; do
case $1 in
-c) instcmd="$cpprog"
shift
continue;;
-d) dir_arg=true
shift
continue;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
-s) stripcmd="$stripprog"
shift
continue;;
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
shift
continue;;
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
shift
continue;;
*) if [ x"$src" = x ]
then
src=$1
else
# this colon is to work around a 386BSD /bin/sh bug
:
dst=$1
fi
shift
continue;;
esac
done
if [ x"$src" = x ]
then
echo "install: no input file specified"
exit 1
else
true
fi
if [ x"$dir_arg" != x ]; then
dst=$src
src=""
if [ -d $dst ]; then
instcmd=:
chmodcmd=""
else
instcmd=mkdir
fi
else
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if [ -f $src -o -d $src ]
then
true
else
echo "install: $src does not exist"
exit 1
fi
if [ x"$dst" = x ]
then
echo "install: no destination specified"
exit 1
else
true
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
if [ -d $dst ]
then
dst="$dst"/`basename $src`
else
true
fi
fi
## this sed command emulates the dirname command
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# this part is taken from Noah Friedman's mkinstalldirs script
# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS='
'
IFS="${IFS-${defaultIFS}}"
oIFS="${IFS}"
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS="${oIFS}"
pathcomp=''
while [ $# -ne 0 ] ; do
pathcomp="${pathcomp}${1}"
src=
dst=
dir_arg=
dstarg=
no_target_directory=
usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
In the 1st form, copy SRCFILE to DSTFILE.
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options:
-c (ignored)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-s $stripprog installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
--help display this help and exit.
--version display version info and exit.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
"
while test -n "$1"; do
case $1 in
-c) shift
continue;;
-d) dir_arg=true
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
--help) echo "$usage"; exit $?;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-s) stripcmd=$stripprog
shift
continue;;
-t) dstarg=$2
shift
shift
continue;;
if [ ! -d "${pathcomp}" ] ;
then
$mkdirprog "${pathcomp}"
else
true
fi
pathcomp="${pathcomp}/"
-T) no_target_directory=true
shift
continue;;
--version) echo "$0 $scriptversion"; exit $?;;
*) # When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
test -n "$dir_arg$dstarg" && break
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dstarg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dstarg"
shift # fnord
fi
shift # arg
dstarg=$arg
done
break;;
esac
done
fi
if [ x"$dir_arg" != x ]
then
$doit $instcmd $dst &&
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
else
# If we're going to rename the final executable, determine the name now.
if [ x"$transformarg" = x ]
then
dstfile=`basename $dst`
else
dstfile=`basename $dst $transformbasename |
sed $transformarg`$transformbasename
fi
# don't allow the sed command to completely eliminate the filename
if [ x"$dstfile" = x ]
then
dstfile=`basename $dst`
else
true
fi
# Make a temp file name in the proper directory.
dsttmp=$dstdir/#inst.$$#
# Move or copy the file name to the temp name
$doit $instcmd $src $dsttmp &&
trap "rm -f ${dsttmp}" 0 &&
# and set any options; do chmod last to preserve setuid bits
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
# Now rename the file to the real destination.
$doit $rmcmd -f $dstdir/$dstfile &&
$doit $mvcmd $dsttmp $dstdir/$dstfile
if test -z "$1"; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
fi
# It's OK to call `install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
fi &&
for src
do
# Protect names starting with `-'.
case $src in
-*) src=./$src ;;
esac
if test -n "$dir_arg"; then
dst=$src
src=
if test -d "$dst"; then
mkdircmd=:
chmodcmd=
else
mkdircmd=$mkdirprog
fi
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
exit 1
fi
if test -z "$dstarg"; then
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dstarg
# Protect names starting with `-'.
case $dst in
-*) dst=./$dst ;;
esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
echo "$0: $dstarg: Is a directory" >&2
exit 1
fi
dst=$dst/`basename "$src"`
fi
fi
# This sed command emulates the dirname command.
dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# Skip lots of stat calls in the usual case.
if test ! -d "$dstdir"; then
defaultIFS='
'
IFS="${IFS-$defaultIFS}"
oIFS=$IFS
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
shift
IFS=$oIFS
pathcomp=
while test $# -ne 0 ; do
pathcomp=$pathcomp$1
shift
if test ! -d "$pathcomp"; then
$mkdirprog "$pathcomp"
# mkdir can fail with a `File exist' error in case several
# install-sh are creating the directory concurrently. This
# is OK.
test -d "$pathcomp" || exit
fi
pathcomp=$pathcomp/
done
fi
if test -n "$dir_arg"; then
$doit $mkdircmd "$dst" \
&& { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
&& { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
else
dstfile=`basename "$dst"`
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
trap '(exit $?); exit' 1 2 13 15
# Copy the file name to the temp name.
$doit $cpprog "$src" "$dsttmp" &&
# and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
# Now rename the file to the real destination.
{ $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
|| {
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
# Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
if test -f "$dstdir/$dstfile"; then
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
|| $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
|| {
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
(exit 1); exit 1
}
else
:
fi
} &&