File gcompris.spec of Package gcompris

#
# spec file for package gcompris
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


Name:           gcompris
Version:        17.05
Release:        0
Summary:        Multiactivity educational software for children aged 2–10
License:        GPL-3.0-or-later
Group:          Amusements/Teaching/Other
URL:            http://gcompris.net
Source0:        %{name}-%{version}.tar.bz2
Source1:        gcompris.desktop
Source2:        gcompris-edit.desktop
Source3:        gcompris-rpmlintrc
Source4:        gcompris.6

# PATCH-FIX-UPSTREAM gcompris-13.11-remove_build_date.patch -- Make build reproducible
Patch1:         gcompris-13.11-remove_build_date.patch
# PATCH-FIX-UPSTREAM gcompris-gstreamer-1.0.patch bgo#747949 deb#785840 badshah400@gmail.com -- Port to gstreamer 1.0; patch taken from debian patch tracker
Patch2:         gcompris-gstreamer-1.0.patch

BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  fdupes
BuildRequires:  gnome-common
BuildRequires:  gnuchess >= 5.02
BuildRequires:  intltool
BuildRequires:  libtool
BuildRequires:  makeinfo
BuildRequires:  pkgconfig
BuildRequires:  sqlite-devel >= 3
BuildRequires:  texi2html
BuildRequires:  texinfo
BuildRequires:  update-desktop-files
BuildRequires:  pkgconfig(gmodule-no-export-2.0)
BuildRequires:  pkgconfig(gstreamer-1.0)
BuildRequires:  pkgconfig(gthread-2.0)
BuildRequires:  pkgconfig(gtk+-2.0)
BuildRequires:  pkgconfig(librsvg-2.0)
BuildRequires:  pkgconfig(libxml-2.0)
BuildRequires:  pkgconfig(pycairo)
BuildRequires:  pkgconfig(pygtk-2.0)
Requires:       gcompris-voices >= %{version}
Requires:       gnucap
Requires:       gnuchess
Requires:       tuxpaint
# to get rid of the "GLib-GIO-WARNING **: FAMOpen failed, FAMErrno=0" messages,
# we need a running FAM server (not mandatory):
Recommends:     fam-server

%description
GCompris is an educational software suite comprising of numerous activities
for children aged 2 to 10. Some of the activities are game orientated,  but
nonetheless still educational. Below you can find a list of categories with
some of the activities available in that category.

-  computer discovery: keyboard, mouse, different mouse gesture, ...
-  algebra: table memory, enumeration, double entry table, mirror image, ...
-  science: the canal lock, the water cycle, the submarine, electric simulation ...
-  geography: place the country on the map
-  games: chess, memory, connect 4, oware, sudoku ...
-  reading: reading practice
-  other: learn to tell time, puzzle of famous paintings, vector drawing, ...

Currently, GCompris offers in excess of 80 activities.

%package devel
Summary:        Development package for gcompris
Group:          Development/Libraries/C and C++
Requires:       %{name} = %{version}

%description devel
This package contains header files for developing new applications with gcompris.

%package voices-ar
Summary:        GCompris voices in Arabic
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:ar)
BuildArch:      noarch

%description voices-ar
Arabic voices for the GCompris game.

%package voices-br
Summary:        GCompris voices in Breton
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:br)
BuildArch:      noarch

%description voices-br
Breton voices for the GCompris game.

%package voices-cs
Summary:        GCompris voices in Czech
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:cs)
BuildArch:      noarch

%description voices-cs
Czech voices for the GCompris game.

%package voices-da
Summary:        GCompris voices in Danish
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:da)
BuildArch:      noarch

%description voices-da
Danish voices for the GCompris game.

%package voices-de
Summary:        GCompris voices in German
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:de)
BuildArch:      noarch

%description voices-de
German voices for the GCompris game.

%package voices-el
Summary:        GCompris voices in Greek
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:el)
BuildArch:      noarch

%description voices-el
Greek voices for the GCompris game.

%package voices-en
Summary:        GCompris voices in English
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:en)
BuildArch:      noarch

%description voices-en
English voices for the GCompris game.

%package voices-es
Summary:        GCompris voices in Spanish
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:es)
BuildArch:      noarch

%description voices-es
Spanish voices for the GCompris game.

%package voices-eu
Summary:        GCompris voices in Basque
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:eu)
BuildArch:      noarch

%description voices-eu
Basque voices for the GCompris game

%package voices-fi
Summary:        GCompris voices in Finnish
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:fi)
BuildArch:      noarch

%description voices-fi
Finish voices for the GCompris game.

%package voices-fr
Summary:        GCompris voices in French
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:fr)
BuildArch:      noarch

%description voices-fr
French voices for the GCompris game.

%package voices-hi
Summary:        GCompris voices in Hindi
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:hi)
BuildArch:      noarch

%description voices-hi
Hindi voices for the GCompris game.

%package voices-hu
Summary:        GCompris voices in Hungarian
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:hu)
BuildArch:      noarch

%description voices-hu
Hungarian voices for the GCompris game.

%package voices-id
Summary:        GCompris voices in Indonesian
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:id)
BuildArch:      noarch

%description voices-id
Indonesian voices for the GCompris game.

%package voices-it
Summary:        GCompris voices in Italian
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:it)
BuildArch:      noarch

%description voices-it
Italian voices for the GCompris game.

%package voices-nb
Summary:        GCompris voices in Norwegian
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:nb)
BuildArch:      noarch

%description voices-nb
Norwegian voices for the GCompris game.

%package voices-nl
Summary:        GCompris voices in Dutch
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:nl)
BuildArch:      noarch

%description voices-nl
Dutch voices for the GCompris game.

%package voices-mr
Summary:        GCompris voices in Marathi
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:mr)
BuildArch:      noarch

%description voices-mr
Marathi voices for the GCompris game.

%package voices-pt
Summary:        GCompris voices in Portuguese
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:pt_PT)
BuildArch:      noarch

%description voices-pt
Portuguese voices for the GCompris game.

%package voices-pt-br
Summary:        GCompris voices in Brazilian Portuguese
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:pt_BR)
BuildArch:      noarch

%description voices-pt-br
Brazilian Portuguese voices for the GCompris game.

%package voices-ru
Summary:        GCompris voices in Russian
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:ru)
BuildArch:      noarch

%description voices-ru
Russian voices for the GCompris game.

%package voices-so
Summary:        GCompris voices in Somali
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:so)
BuildArch:      noarch

%description voices-so
Somali voices for the GCompris game.

%package voices-sr
Summary:        GCompris voices in Serbian
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:sr)
BuildArch:      noarch

%description voices-sr
Serbian voices for the GCompris game.

%package voices-sv
Summary:        GCompris voices in Swedish
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:sv)
BuildArch:      noarch

%description voices-sv
Swedish voices for the GCompris game.

%package voices-tr
Summary:        GCompris voices in Turkish
Group:          Amusements/Teaching/Other
Requires:       %{name} = %{version}
Provides:       gcompris-voices = %{version}
Provides:       locale(gcompris:tr)
BuildArch:      noarch

%description voices-tr
Turkish voices for the GCompris game.

%prep
%setup -q
%patch1 -p1
%patch2 -p1
find . -name ".cvsignore" -delete
find . -name ".gitignore" -delete
# wrong-file-end-of-line-encoding
#sed -i "s|||g" ./docs/eu/topic.dat

%build
# workaround for missing config.rpath
if [ -f /usr/share/gettext/config.rpath -a ! -f config.rpath ] ; then
    cp -v /usr/share/gettext/config.rpath .
fi
autoreconf -fiv
%configure --quiet \
           --enable-sqlite \
           --disable-static \
           --localstatedir=%{_localstatedir}/%{_lib}
#            --enable-sugar
make %{?_smp_mflags}

%check
make %{?_smp_mflags} check

%install
make DESTDIR=%{?buildroot:%{buildroot}} install
test -f %{buildroot}/%{_infodir}/dir && rm -f %{buildroot}/%{_infodir}/dir
#
# install man page
#
install -Dm644 %{SOURCE4} %{buildroot}%{_mandir}/man6/%{name}.6
#
# install desktop files
#
mkdir -p %{buildroot}/%{_datadir}/{pixmaps,applications}/
install -m 644 %{SOURCE1} %{buildroot}%{_datadir}/applications/
install -m 644 %{SOURCE2} %{buildroot}%{_datadir}/applications/

if [ ! -f %{buildroot}%{_datadir}/pixmaps/gcompris.png ]; then
	for png in gcompris.png gcompris-edit.png; do
		mv -v %{buildroot}/%{_datadir}/pixmaps/$png %{buildroot}%{_datadir}/pixmaps/
	done
	rm -rf %{buildroot}/%{_datadir}/pixmaps
fi

%suse_update_desktop_file -n -N GCompris -G "Educational suite GCompris" gcompris Education Math Languages
%suse_update_desktop_file -n -N GCompris -G "GCompris Administration" gcompris-edit System SystemSetup
# remove old menu entry
rm -rf %{buildroot}/%{_libexecdir}/menu/gcompris
find %{buildroot} -type f -name "*.la" -delete -print
%fdupes %{buildroot}

test -f %{buildroot}%{_datadir}/gcompris/boards/voices/recode.sh && chmod +x %{buildroot}%{_datadir}/gcompris/boards/voices/recode.sh
# fix old LOCALE dir
if [ -d %{buildroot}%{_datadir}/locale/sr@Latn ]; then
	mv %{buildroot}%{_datadir}/locale/sr@Latn %{buildroot}%{_datadir}/locale/sr@latin
fi

%find_lang %{name}

%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig

%files -f %{name}.lang
%doc AUTHORS ChangeLog NEWS README
%license COPYING
%doc %{_mandir}/man6/gcompris*
%dir %{_libdir}/gcompris
%dir %{_datadir}/gcompris
%dir %{_datadir}/appdata
%{_datadir}/applications/*gcompris-edit.desktop
%{_datadir}/applications/*gcompris.desktop
%{_datadir}/pixmaps/*.png
%{_libdir}/gcompris/*.so.*
%{_libdir}/gcompris/*.so
%exclude %{_libdir}/gcompris/libgoocanvas.so
%{_datadir}/appdata/gcompris.appdata.xml
%{_datadir}/gcompris/boards
%{_datadir}/gcompris/python
%{_bindir}/*
%exclude %{_datadir}/gcompris/boards/voices/[a-z][a-z]
%exclude %{_datadir}/gcompris/boards/voices/pt_BR

%files devel
%{_libdir}/gcompris/libgoocanvas.so

%files voices-ar
%{_datadir}/gcompris/boards/voices/ar

%files voices-br
%{_datadir}/gcompris/boards/voices/br

%files voices-cs
%{_datadir}/gcompris/boards/voices/cs

%files voices-da
%{_datadir}/gcompris/boards/voices/da

%files voices-de
%{_datadir}/gcompris/boards/voices/de

%files voices-el
%{_datadir}/gcompris/boards/voices/el

%files voices-en
%{_datadir}/gcompris/boards/voices/en

%files voices-es
%{_datadir}/gcompris/boards/voices/es

%files voices-eu
%{_datadir}/gcompris/boards/voices/eu

%files voices-fi
%{_datadir}/gcompris/boards/voices/fi

%files voices-fr
%{_datadir}/gcompris/boards/voices/fr

%files voices-hi
%{_datadir}/gcompris/boards/voices/hi

%files voices-hu
%{_datadir}/gcompris/boards/voices/hu

%files voices-id
%{_datadir}/gcompris/boards/voices/id

%files voices-it
%{_datadir}/gcompris/boards/voices/it

%files voices-mr
%{_datadir}/gcompris/boards/voices/mr

%files voices-nb
%{_datadir}/gcompris/boards/voices/nb

%files voices-nl
%{_datadir}/gcompris/boards/voices/nl

%files voices-pt
%{_datadir}/gcompris/boards/voices/pt

%files voices-pt-br
%{_datadir}/gcompris/boards/voices/pt_BR

%files voices-ru
%{_datadir}/gcompris/boards/voices/ru

%files voices-so
%{_datadir}/gcompris/boards/voices/so

%files voices-sr
%{_datadir}/gcompris/boards/voices/sr

%files voices-sv
%{_datadir}/gcompris/boards/voices/sv

%files voices-tr
%{_datadir}/gcompris/boards/voices/tr

%changelog
openSUSE Build Service is sponsored by