446aed7
%global  __os_install_post %{nil}
89ce2fb
%if 0%{?fedora} >= 25
e08a096
%global activity TurtleBlocks.activity
e08a096
%else
e08a096
%global activity TurtleArt.activity
e08a096
%endif
e08a096
Nadie Berroteran 276d242
%global commit 21e0b02f0bc3ed9e59d133e075787e2fa796c64d
6fa9c9d
%global shortcommit %(c=%{commit}; echo ${c:0:7})
6fa9c9d
Name:		icaro
Omar Berroterán Silva bb75f8f
Version:	1.0.8
54b1ddb
Release:	8%{?dist}
6fa9c9d
Summary:	Robotic Educational Project
6fa9c9d
# Icaro is licensed under GPLv3
6fa9c9d
# Pinguino and puf is licensend under LGPLv2
6fa9c9d
License:	GPLv3 and LGPLv2
6fa9c9d
URL:		http://roboticaro.org
4bbd6d4
#Source0:	https://github.com/valentinbasel/icaro/archive/%{commit}/%{name}-%{commit}.tar.gz
Omar Berroterán Silva bb75f8f
Source0:	https://github.com/valentinbasel/icaro/archive/%{commit}.tar.gz
Omar Berroterán Silva bb75f8f
6fa9c9d
# Add README in english
6fa9c9d
Source1:	README.ENG
6fa9c9d
BuildArch:	noarch
4bbd6d4
ExclusiveArch: %{ix86} %{arm} x86_64 noarch
4bbd6d4
6fa9c9d
6fa9c9d
BuildRequires:	python2-devel
6fa9c9d
BuildRequires:	desktop-file-utils
6fa9c9d
BuildRequires:	sugar-toolkit
59e3d74
Requires:	python2-cairo
765855d
Requires:	pygtk2
4bbd6d4
#Requires:	pywebkitgtk no compatibility Fedora 26+
6fa9c9d
Requires:	pygtksourceview
6fa9c9d
Requires:	sdcc
6fa9c9d
Requires:	gputils
59e3d74
Requires:	python2-pyusb
59e3d74
Requires:	python2-tools
6fa9c9d
Requires:	sugar-turtleart
59e3d74
Requires:	python2-pyserial
6fa9c9d
Requires:	sugar
4bbd6d4
#Requires:	hicolor-icon-themei
89fe272
#Requires:	gnome-python2-rsvg
89fe272
Requires:	vte
4bbd6d4
Requires:	python2-matplotlib
4bbd6d4
#Requires:	gnome-python2-rsvg
6fa9c9d
6fa9c9d
%description
6fa9c9d
An educational robotic software aimed to develop robotic 
6fa9c9d
and programming fundamentals.
6fa9c9d
6fa9c9d
%prep
4bbd6d4
%autosetup -n %{name}-%{commit}            
6fa9c9d
e08a096
# sugar-turtleart change paths
21c3ca3
#%if 0%{?fedora} >= 18
21c3ca3
#sed -i -e 's/TurtleArt.activity/TurtleBlocks.activity/' config.dat 
21c3ca3
#%endif
e08a096
e08a096
6fa9c9d
# copy README.ENG file to sources as well.
21c3ca3
#cp -a %{SOURCE1} .
6fa9c9d
6fa9c9d
#empty files
21c3ca3
#echo "# Just a comment" > pic16/np05/tmp/stdout
6fa9c9d
6fa9c9d
# fix spurious permissions in this files
21c3ca3
#chmod -v 0644 README.md COPYING AUTHORS COPYING-LGPLv2
21c3ca3
chmod -v 0644 COPYING AUTHORS COPYING-LGPLv2
21c3ca3
6fa9c9d
6fa9c9d
%build
6fa9c9d
#Nothing to build
6fa9c9d
6fa9c9d
%install
6fa9c9d
# ------------- Apicaro -------------------------------------
6fa9c9d
446aed7
%{__python2} apicaro/setup.py install --root %{buildroot}
6fa9c9d
6fa9c9d
6fa9c9d
# ------------- Icaro ---------------------------------------
6fa9c9d
mkdir -p %{buildroot}%{_datadir}/%{name}/
6fa9c9d
21c3ca3
cp -p -a  {hardware,imagenes,locale,paletas,clemente} %{buildroot}%{_datadir}/%{name}/
21c3ca3
install -p -m 0644 {*.py,version} %{buildroot}%{_datadir}/%{name}/
6fa9c9d
6fa9c9d
# Remove po and pot files
6fa9c9d
find %{buildroot} -name "*.po" | xargs rm -f
6fa9c9d
find %{buildroot} -name "*.pot" | xargs rm -f
765855d
find %{buildroot} -name "#template.pde#" | xargs rm -f
6fa9c9d
6fa9c9d
6fa9c9d
%find_lang %{name}
6fa9c9d
6fa9c9d
# Tortucaro plugin for sugar
e08a096
mkdir -p %{buildroot}%{sugaractivitydir}/%{activity}/plugins/icaro/
e08a096
cp -a plugintortucaro/icaro/* %{buildroot}%{sugaractivitydir}/%{activity}/plugins/icaro/
e08a096
mkdir -p %{buildroot}%{sugaractivitydir}/%{activity}/plugins/icaro/icons
e08a096
cp -a plugintortucaro/icaro/icons/* %{buildroot}%{sugaractivitydir}/%{activity}/plugins/icaro/icons
4bbd6d4
#mkdir -p %{buildroot}%{sugaractivitydir}/%{activity}/plugins/icaro/libreria
4bbd6d4
#cp -a plugintortucaro/icaro/libreria/*%{buildroot}%{sugaractivitydir}/%{activity}/plugins/icaro/libreria
4bbd6d4
4bbd6d4
6fa9c9d
6fa9c9d
6fa9c9d
mkdir -p %{buildroot}%{_sysconfdir}/udev/rules.d/
6fa9c9d
install -p -m 0644  udev/* %{buildroot}%{_sysconfdir}/udev/rules.d/
6fa9c9d
6fa9c9d
mkdir -p %{buildroot}%{_bindir}
6fa9c9d
6fa9c9d
#create executable of program
6fa9c9d
cat > icaro <
6fa9c9d
#! /bin/bash
6fa9c9d
python /usr/share/icaro/main.py
6fa9c9d
EOF
6fa9c9d
6fa9c9d
install -p -m 0755 icaro %{buildroot}%{_bindir}/%{name}
6fa9c9d
6fa9c9d
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/
6fa9c9d
6fa9c9d
# Icon 
6fa9c9d
install -p -D -m 0644 imagenes/icarologo.png  %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/
6fa9c9d
6fa9c9d
#create desktop file
6fa9c9d
desktop-file-install \
6fa9c9d
	--dir %{buildroot}%{_datadir}/applications \
6fa9c9d
	%{name}.desktop
6fa9c9d
6fa9c9d
SAVEIFS=$IFS
6fa9c9d
IFS=$(echo -en "\n\b")
6fa9c9d
# Changes permissions files (with spaces in the filenames)
6fa9c9d
for file in `find %{buildroot}/%{_datadir}/%{name} -type f  -perm /a+x `; do
6fa9c9d
    chmod -v a-x $file
6fa9c9d
done
6fa9c9d
6fa9c9d
# Delete backup files (with spaces in the filenames)
6fa9c9d
for file in `find %{buildroot}%{_datadir}/%{name} -type f  -name '*~'`; do
6fa9c9d
    rm -rf $file
6fa9c9d
done
6fa9c9d
IFS=$SAVEIFS
6fa9c9d
6fa9c9d
6fa9c9d
for file in `find %{buildroot}%{_datadir}/%{name} -type f  ! -perm /a+x -name '*.py'`; do
6fa9c9d
    chmod -vR a+x $file
6fa9c9d
done
6fa9c9d
6fa9c9d
for file in `find %{buildroot}/%{python_sitelib}/%{name} -type f  ! -perm /a+x -name '*.py'`; do
6fa9c9d
    chmod -vR a+x $file
6fa9c9d
done
6fa9c9d
6fa9c9d
for file in `find %{buildroot}/%{python_sitelib}/apicaro -type f  ! -perm /a+x -name '*.py'`; do
6fa9c9d
    chmod -vR a+x $file
6fa9c9d
done
6fa9c9d
6fa9c9d
find %{buildroot}%{_datadir}/%{name} -name '__init__.py' | xargs chmod 0644
6fa9c9d
6fa9c9d
6fa9c9d
6fa9c9d
%files -f %{name}.lang
21c3ca3
%doc COPYING AUTHORS COPYING-LGPLv2 
0cdf331
#README.ENG 
6fa9c9d
%dir %{_datadir}/%{name}/
6fa9c9d
%{_datadir}/%{name}/*.py*
6fa9c9d
%{_datadir}/%{name}/version
c038da0
#%dir %{_datadir}/%{name}/hardware/icaro/v2/componentes
c038da0
#%{_datadir}/%{name}/hardware/icaro/v2/componentes/*
4bbd6d4
%dir %{_datadir}/%{name}/hardware/icaro/v4/componentes
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v4/componentes/*
6fa9c9d
4bbd6d4
4bbd6d4
6fa9c9d
%dir %{_datadir}/%{name}/imagenes
6fa9c9d
%{_datadir}/%{name}/imagenes/*.png
6fa9c9d
21c3ca3
%dir %{_datadir}/%{name}/clemente
21c3ca3
%{_datadir}/%{name}/clemente/*.py
21c3ca3
21c3ca3
21c3ca3
21c3ca3
%dir %{_datadir}/%{name}/paletas
21c3ca3
%{_datadir}/%{name}/paletas/*.gpl
21c3ca3
6fa9c9d
%dir %{_datadir}/%{name}/imagenes/componentes
6fa9c9d
%{_datadir}/%{name}/imagenes/componentes/*.png
6fa9c9d
6fa9c9d
%dir %{_datadir}/%{name}/imagenes/main
6fa9c9d
%{_datadir}/%{name}/imagenes/main/*.png
6fa9c9d
6fa9c9d
%dir %{_datadir}/%{name}/imagenes/mouse
6fa9c9d
%{_datadir}/%{name}/imagenes/mouse/*.png
6fa9c9d
%{_datadir}/%{name}/imagenes/mouse/*.svg
446aed7
%{_datadir}/%{name}/imagenes/gif/*.gif
6fa9c9d
4bbd6d4
%dir %{_datadir}/%{name}/hardware/icaro/
4bbd6d4
%{_datadir}/%{name}/hardware/icaro/*
4bbd6d4
0e1b1a3
%dir %{_datadir}/%{name}/hardware/icaro/v2/ejemplos
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v2/ejemplos/*
4bbd6d4
0e1b1a3
%dir %{_datadir}/%{name}/hardware/icaro/v4/ejemplos
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v4/ejemplos/*
0e1b1a3
0e1b1a3
21c3ca3
%{_datadir}/%{name}/imagenes/*.svg
6fa9c9d
# Pinguino Firmware
6fa9c9d
# Exception granted by fpc
6fa9c9d
# For more details, see https://fedorahosted.org/fpc/ticket/253
6fa9c9d
0e1b1a3
%dir %{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/pic16
0e1b1a3
%dir %{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/pic16/lib
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v2/imagenes/componentes/*.png
4bbd6d4
4bbd6d4
%{_datadir}/%{name}/hardware/icaro/v2/imagenes/gif/*.gif
4bbd6d4
%{_datadir}/%{name}/hardware/icaro/v2/imagenes/*.png
4bbd6d4
4bbd6d4
0e1b1a3
%dir %{_datadir}/%{name}/hardware/icaro/v4/micro/firmware/pic16
0e1b1a3
%dir %{_datadir}/%{name}/hardware/icaro/v4/micro/firmware/pic16/lib
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v4/imagenes/componentes/*.png
0e1b1a3
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v4/imagenes/gif/*.gif
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v4/imagenes/*.png
21c3ca3
6fa9c9d
6fa9c9d
# rpmlint complains for this file. arch-independent-package-contains-binary-or-object error
6fa9c9d
# Really not intended as a file for be executed in Fedora host.
6fa9c9d
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/pic16/lib/*.lib
0e1b1a3
%dir %{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/pic16/lkr
21c3ca3
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/icaro_lib/*.h
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/icaro_lib/*.c
6fa9c9d
6fa9c9d
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/source/pilas/*.c
6fa9c9d
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/source/tortucaro/*.c
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/source/icaroblue/*.c
6fa9c9d
4bbd6d4
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v2/*.py
6fa9c9d
21c3ca3
%{_datadir}/%{name}/hardware/*.py
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v2/modulos/*.py
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v2/micro/conf/*.ini
4bbd6d4
0e1b1a3
0e1b1a3
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/pic16/lkr/*.lkr
0e1b1a3
%dir %{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/icaro_lib
0e1b1a3
%dir %{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/source
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/source/*.c
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/source/*.pde
0e1b1a3
0e1b1a3
%dir %{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/non-free/include/pic16
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/non-free/include/pic16/*.h
0e1b1a3
0e1b1a3
%dir %{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/non-free/lib/pic16
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/non-free/lib/pic16/*.lib
0e1b1a3
0e1b1a3
%dir %{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/tmp
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/tmp/*.c
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/tmp/*.h
0e1b1a3
0e1b1a3
%dir %{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/tmp/usb
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/tmp/usb/*.c
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/tmp/usb/*.h
0e1b1a3
0e1b1a3
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/temporal/
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/tmp/stdout
0e1b1a3
0e1b1a3
%dir %{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/pic16/obj
0e1b1a3
%{_datadir}/%{name}/hardware/icaro/v2/micro/firmware/pic16/obj/*.o
e36402b
e36402b
6fa9c9d
# This is not sugar activity, is a plugin for turtleart
6fa9c9d
# At present yet not there are Fedora guidelines for plugins.
e08a096
%dir %{sugaractivitydir}/%{activity}/plugins/icaro/
e08a096
%{sugaractivitydir}/%{activity}/plugins/icaro/*.py*
6fa9c9d
e08a096
%dir %{sugaractivitydir}/%{activity}/plugins/icaro/icons/
e08a096
%{sugaractivitydir}/%{activity}/plugins/icaro/icons/*.svg
4bbd6d4
%dir %{sugaractivitydir}/%{activity}/plugins/icaro/libreria/
4bbd6d4
%{sugaractivitydir}/%{activity}/plugins/icaro/libreria/*.py
6fa9c9d
92f42cc
%{python2_sitelib}/apicaro*egg*
92f42cc
%{python2_sitelib}/apicaro/
6fa9c9d
%{_bindir}/%{name}
6fa9c9d
%{_datadir}/applications/%{name}.desktop
6fa9c9d
%{_datadir}/icons/hicolor/48x48/apps/icarologo.png
6fa9c9d
%config(noreplace) %{_sysconfdir}/udev/rules.d/26-microchip.rules
6fa9c9d
%config(noreplace) %{_sysconfdir}/udev/rules.d/41-microchip.rules
6fa9c9d
%config(noreplace) %{_sysconfdir}/udev/rules.d/99-serial.rules
048086e
%config(noreplace) %{_sysconfdir}/udev/rules.d/026-microchip.rules
21c3ca3
%config(noreplace) %{_sysconfdir}/udev/rules.d/99-mm-usb-device-blacklist.rules
765855d
6fa9c9d
%changelog
54b1ddb
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.8-8
54b1ddb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
54b1ddb
5c78e75
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.8-7
5c78e75
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
5c78e75
59e3d74
* Mon Jan 15 2018 Iryna Shcherbina <ishcherb@redhat.com> - 1.0.8-6
59e3d74
- Update Python 2 dependency declarations to new packaging standards
59e3d74
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
59e3d74
d9a2858
* Thu Jan 11 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.0.8-5
d9a2858
- Remove obsolete scriptlets
d9a2858
b42e560
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.8-4
b42e560
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
b42e560
6dad798
* Thu Apr 13 2017 Omar Berroteran <omarberroteranlkf@gmail.com> - 1.0.8-3
6dad798
- Changes to Apicaro to improve stability on BootLoader v4 de Ping├╝ino.
6dad798
- Set the BootLoader v4 to default.
6dad798
Omar Berroterán Silva bb75f8f
* Thu Apr 13 2017 Omar Berroteran <omarberroteranlkf@gmail.com> - 1.0.8
4bbd6d4
- Bump to the new upstream version (April 10, 2017)
0e1b1a3
- Remove pyWebKit dependence because fedora 26  compatibility
Omar Berroterán Silva bb75f8f
- most bugfixes, improbe performance
0e1b1a3
- new firmwares and boot options
Omar Berroterán Silva bb75f8f
- Icaro Plugins changes 
cf8d926
45c0382
* Sat Nov 12 2016 Omar Berroteran <omarberroteranlkf@gmail.com> - 1.0.7
cfc9ab8
- Bump to the new upstream version
cfc9ab8
45c0382
* Wed Sep 28 2016 Omar Berroteran <omarberroteranlkf@gmail.com> - 1.0.6
65860e5
- Bump to the new upstream version
65860e5
- Firmware Tortucaro set pause time to 10
65860e5
- se resetea el pic. ahora tiene una espera de 20 seg donde prende y apaga el led1 y con eso estabiliza la comunicaci├│n entre el pic y la pc
65860e5
- 
65860e5
Dominik 'Rathann' Mierzejewski ee0c11a
* Mon Sep 26 2016 Dominik Mierzejewski <rpm@greysector.net> - 1.0.5-3
Dominik 'Rathann' Mierzejewski ee0c11a
- rebuilt for matplotlib-2.0.0
Dominik 'Rathann' Mierzejewski ee0c11a
4ebef22
* Tue Aug 23 2016 Omar Berroteran <omarberroteranlkf@gmail.com> -1.0.5-2
4ebef22
+  Requires:	python-matplotlib
10ef731
ab189cc
* Wed Jul 20 2016 Omar Berroteran <omarberroteranlkf@gmail.com> -1.0.4-4
21c3ca3
- Bump to the new upstream version
21c3ca3
- changes on Apicaro
21c3ca3
8a67904
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.4-4
8a67904
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
8a67904
8786076
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.4-3
8786076
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
8786076
e618031
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.4-2
e618031
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
e618031
446aed7
* Sat Jan 10 2015 Eduardo Echeverria <echevemaster@gmail.com>  - 1.0.4-1
446aed7
- Bump to the new upstream version
446aed7
007f5d7
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.3-2
007f5d7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
007f5d7
e36402b
* Fri Nov 08 2013 Eduardo Echeverria <echevemaster@gmail.com>  - 1.0.3-1
e36402b
- Bump to the new upstream version
e36402b
6c85343
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.2-3
6c85343
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
6c85343
e08a096
* Sat Jun 8 2013 Eduardo Echeverria <echevemaster@gmail.com> - 1.0.2-2
e08a096
- Fix issues with paths
e08a096
765855d
* Sat Jun 8 2013 Eduardo Echeverria <echevemaster@gmail.com> - 1.0.2-1
765855d
- Updated to the new upstream version 1.0.2
765855d
- Switch from pygame to pycairo
765855d
048086e
* Sat Mar 30 2013 Eduardo Echeverria <echevemaster@gmail.com> - 1.0.1-1
048086e
- Updated to the new upstream version
048086e
6fa9c9d
* Sat Mar 09 2013 Eduardo Echeverria <echevemaster@gmail.com> - 1.0-3
6fa9c9d
- Added license LGPLv2 for the firmware
6fa9c9d
- Add missing requires
6fa9c9d
- Improve find_lang
6fa9c9d
6fa9c9d
* Wed Dec 12 2012 Eduardo Echeverria <echevemaster@gmail.com> - 1.0-2
6fa9c9d
- Add support to languages
6fa9c9d
- Add scriplets for icons
6fa9c9d
- Create executables for icaro
6fa9c9d
- Fix permissions
6fa9c9d
- Clean spec
6fa9c9d
39e1b53
* Fri Sep 28 2012 Yader Velasquez <yaderv@fedoraproject.org> - 1.0-1
6fa9c9d
- First Initial Packaging