Sophie

Sophie

distrib > Mageia > 6 > armv7hl > media > core-updates-src > by-pkgid > 17292428ba98ba68f2c056979a62a3f3 > files > 16

arduino-1.6.5-3.1.mga6.src.rpm

%global debug_package %{nil}
%define _binaries_in_noarch_packages_terminate_build   0

Name:           arduino
Epoch:          1
Version:        1.6.5
%define subrel  1
Release:        %mkrel 3
Summary:        An IDE for Arduino-compatible electronics prototyping platforms
Group:          Development/Tools
License:        GPLv2+ and LGPLv2+ and CC-BY-SA
URL:            http://www.arduino.cc/

# There are lots of binaries in the "source" tarball.  Remove them with:
# version=1.6.5; curl -L https://github.com/arduino/Arduino/archive/$version.tar.gz | tar -xzf - && mv Arduino-$version arduino-$version && rm -rf arduino-$version/hardware/arduino/sam && rm -rf arduino-$version/hardware/arduino/avr/firmwares/wifishield && find arduino-$version \( -type d \( -name macosx -o -name windows -o -name \.settings \) -o -type f \( -iname '*.jar' -or -iname '*.tgz' -or -iname '*.tar.gz' -or -iname '*.tar.bz2' -or -iname '*.so' \) \) -print0 | xargs -0 rm -rf && tar -cJf arduino-$version.tar.xz arduino-$version
# See also http://code.google.com/p/arduino/issues/detail?id=193
Source0:        %{name}-%{version}.tar.xz

# Libraries
# wget https://github.com/arduino-libraries/Firmata/archive/v2.4.3.zip
# wget https://github.com/temboo/Temboo/archive/1.1.2.zip
Source10:       Firmata-2.4.3.zip
Source11:       Temboo-1.1.2.zip

# External libraries and packages list
# wget http://downloads.arduino.cc/libraries/library_index.json.gz
# wget http://downloads.arduino.cc/packages/package_index.json.gz
# wget http://downloads.arduino.cc/packages/package_index.json.sig
Source13:       library_index.json-20150818.gz
Source14:       package_index.json-20150818.gz
Source15:       package_index.json-20150818.sig

# Documentation
# wget http://downloads.arduino.cc/Edison_help_files-1.6.2.zip
# wget http://downloads.arduino.cc/Galileo_help_files-1.6.2.zip
# wget http://downloads.arduino.cc/reference-1.6.0.zip
Source20:       Edison_help_files-1.6.2.zip
Source21:       Galileo_help_files-1.6.2.zip
Source22:       reference-1.6.0.zip

# Startup
Patch0:         arduino-1.6.5-add-to-groups.patch
Patch1:         arduino-1.6.5-script.patch

# Use system avr tools
Patch2:         arduino-1.6.5-build_no_bundled_avr_tools.patch
Patch3:         arduino-1.6.5-use_system_avr_tools.patch

# Remove macosx init in app
Patch4:         arduino-1.6.5-no-macosx-init.patch

# Use system astyle lib
Patch5:         arduino-1.6.5-build_use_system_astyle.patch

# Prevent re-download external lists
Patch6:         arduino-1.6.5-build_keep_external_lists.patch

# Fix build tarball name
Patch7:         arduino-1.6.5-build_fix_dist_tarball_name.patch

# Fix desktop file
Patch8:         arduino-1.6.5-fix_desktop_file.patch

# Load and use system libastyle (part from debian)
Patch9:         arduino-1.6.5-use_system_libastyle.patch

BuildArch:      noarch

BuildRequires:  ant
BuildRequires:  ant-apache-regexp
BuildRequires:  asciidoc
BuildRequires:  docbook-dtds
BuildRequires:  desktop-file-utils
BuildRequires:  java-devel >= 0:1.6.0

BuildRequires:  apache-commons-exec
BuildRequires:  apache-commons-compress
BuildRequires:  apache-commons-logging
BuildRequires:  apache-commons-codec
BuildRequires:  apache-commons-lang3
BuildRequires:  bouncycastle
BuildRequires:  bouncycastle-pg
BuildRequires:  ecj
BuildRequires:  guava
BuildRequires:  jackson-annotations
BuildRequires:  jackson-core
BuildRequires:  jackson-databind
BuildRequires:  jackson-module-mrbean
BuildRequires:  jakarta-commons-httpclient
BuildRequires:  jmdns
BuildRequires:  jna
BuildRequires:  jsch
BuildRequires:  jsemver
BuildRequires:  jssc
BuildRequires:  libastyle-devel
BuildRequires:  objectweb-asm
BuildRequires:  rsyntaxtextarea

Requires:       %{name}-core = %{epoch}:%{version}-%{release}
Requires:       %{name}-doc = %{epoch}:%{version}-%{release}
Requires:       java >= 0:1.6.0
Requires:       jpackage-utils
Requires:       perl
Requires:       polkit
Requires:       x11-font-alias
Requires:       zenity

Requires:       apache-commons-exec
Requires:       apache-commons-compress
Requires:       apache-commons-logging
Requires:       apache-commons-codec
Requires:       apache-commons-lang3
Requires:       bouncycastle
Requires:       bouncycastle-pg
Requires:       ecj
Requires:       guava
Requires:       jackson-annotations
Requires:       jackson-core
Requires:       jackson-databind
Requires:       jackson-module-mrbean
Requires:       jakarta-commons-httpclient
Requires:       jmdns
Requires:       jna
Requires:       jsch
Requires:       jsemver
Requires:       jssc
Requires:       libastyle-devel
Requires:       objectweb-asm
Requires:       rsyntaxtextarea


%description
Arduino is an open-source electronics prototyping platform based on
flexible, easy-to-use hardware and software. It's intended for artists,
designers, hobbyists, and anyone interested in creating interactive
objects or environments.

This package contains an IDE that can be used to develop and upload code
to the micro-controller.

%files
%{_bindir}/*
%{_datadir}/%{name}/dist
%{_datadir}/%{name}/lib
%{_datadir}/%{name}/tools
%{_datadir}/%{name}/reference
%{_datadir}/applications/*
%{_datadir}/polkit-1/actions/cc.arduino.add-groups.policy
%{_datadir}/icons/hicolor/*/apps/%{name}.png
%{_mandir}/man1/%{name}.1.*
%{_datadir}/mime/packages/%{name}.xml
%{_datadir}/appdata/%{name}.appdata.xml

#--------------------------------------------------------------------

%package -n %{name}-core
Summary:        Files required for compiling code for Arduino-compatible micro-controllers
Group:          Development/C++
BuildArch:      noarch
Requires:       avr-libc
Requires:       avrdude
Requires:       cross-avr-gcc
Requires:       cross-avr-gcc-c++


%description -n %{name}-core
Arduino is an open-source electronics prototyping platform based on
flexible, easy-to-use hardware and software. It's intended for artists,
designers, hobbyists, and anyone interested in creating interactive
objects or environments.

This package contains the core files required to compile and upload
Arduino code.

%files -n %{name}-core
%doc license.txt README.md build/shared/revisions.txt
%config(noreplace) %{_sysconfdir}/%{name}/boards.txt
%config(noreplace) %{_sysconfdir}/%{name}/platform.txt
%config(noreplace) %{_sysconfdir}/%{name}/preferences.txt
%config(noreplace) %{_sysconfdir}/%{name}/programmers.txt
%{_datadir}/%{name}/examples/
%{_datadir}/%{name}/hardware/
%{_datadir}/%{name}/libraries/

#--------------------------------------------------------------------

%package -n %{name}-doc
Summary:        Documentation for the Arduino micro-controller platform
Group:          Documentation
BuildArch:      noarch

%description -n %{name}-doc
Arduino is an open-source electronics prototyping platform based on
flexible, easy-to-use hardware and software. It's intended for artists,
designers, hobbyists, and anyone interested in creating interactive
objects or environments.

This package contains reference documentation.

%files -n %{name}-doc
%{_defaultdocdir}/%{name}-%{version}/

#--------------------------------------------------------------------

%prep
%setup -q -n %{name}-%{version}
find -name '*.class' -exec rm -f '{}' \;
find -name '*.jar' -exec rm -f '{}' \;
%patch0 -p1 -b .add_to_groups
chmod a+rx build/linux/%{name}-add-groups
%patch1 -p1 -b .script
%patch2 -p1 -b .no_bundled
%patch3 -p1
%patch4 -p1 -b .no_macosx_init
%patch5 -p1 -b .build_use_system_astyle
%patch6 -p1 -b .build_keep_external_lists
%patch7 -p1 -b .build_fix_tarball_name
%patch8 -p1 -b .fix_desktop
%patch9 -p1 -b .use_system_astyle

# copy libraries
cp -p %SOURCE10 build
cp -p %SOURCE11 build

# copy external lists
mkdir -p build/linux/work/dist
cp -p %SOURCE13 build/linux/work/dist/library_index.json.gz
cp -p %SOURCE14 build/linux/work/dist/package_index.json.gz
cp -p %SOURCE15 build/linux/work/dist/package_index.json.sig

# copy documentation
cp -p %SOURCE20 build/shared
cp -p %SOURCE21 build/shared
cp -p %SOURCE22 build/shared

# system jars repo
build-jar-repository -p -s arduino-core/lib/ bcprov bcpg commons-codec commons-compress commons-exec commons-logging guava jackson-annotations jackson-core jackson-databind jackson-modules-base/jackson-module-mrbean.jar jmdns jsch jsemver jssc
build-jar-repository -p -s app/lib/ commons-compress commons-httpclient commons-lang3 commons-logging ecj guava jna jsch jsemver jssc rsyntaxtextarea


%build
cd build
echo %{version} | ant dist
tar -xf linux/%{name}-%{version}.tar.xz


%install
cd build/%{name}-%{version}

mkdir -p $RPM_BUILD_ROOT/%{_bindir}
cp -a arduino $RPM_BUILD_ROOT/%{_bindir}/
cp -a ../linux/%{name}-add-groups $RPM_BUILD_ROOT/%{_bindir}/

mkdir -p $RPM_BUILD_ROOT/%{_datadir}/polkit-1/actions
cp -a ../linux/cc.arduino.add-groups.policy $RPM_BUILD_ROOT/%{_datadir}/polkit-1/actions


mkdir -p $RPM_BUILD_ROOT/%{_datadir}/%{name}
cp -a dist examples hardware lib libraries tools $RPM_BUILD_ROOT/%{_datadir}/%{name}/
rm $RPM_BUILD_ROOT/%{_datadir}/%{name}/lib/*.jar
rm -r $RPM_BUILD_ROOT/%{_datadir}/%{name}/hardware/tools

# copy app jar
cp -a lib/arduino-core.jar $RPM_BUILD_ROOT/%{_datadir}/%{name}/lib/
cp -a lib/pde.jar $RPM_BUILD_ROOT/%{_datadir}/%{name}/lib/

mkdir -p $RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}-%{version}
cp -a reference $RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}-%{version}/
ln -s %{_defaultdocdir}/%{name}-%{version}/reference $RPM_BUILD_ROOT/%{_datadir}/%{name}/reference

# Requested upstream in http://github.com/arduino/Arduino/pull/4:
find $RPM_BUILD_ROOT -type f -iname *.jpg -or -iname *.java -or -iname *.pde -or -iname *.h -or -iname *.cpp -or -iname *.c -or -iname *.txt -or -iname makefile -or -iname key*.txt -or -iname pref*.txt | xargs chmod -x;

mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}
mv $RPM_BUILD_ROOT/%{_datadir}/%{name}/hardware/%{name}/avr/boards.txt \
   $RPM_BUILD_ROOT/%{_datadir}/%{name}/hardware/%{name}/avr/platform.txt \
   $RPM_BUILD_ROOT/%{_datadir}/%{name}/hardware/%{name}/avr/programmers.txt \
   $RPM_BUILD_ROOT/%{_datadir}/%{name}/lib/preferences.txt \
   $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/
ln -s %{_sysconfdir}/%{name}/boards.txt \
   $RPM_BUILD_ROOT/%{_datadir}/%{name}/hardware/%{name}/avr/boards.txt
ln -s %{_sysconfdir}/%{name}/platform.txt \
   $RPM_BUILD_ROOT/%{_datadir}/%{name}/hardware/%{name}/avr/platform.txt
ln -s %{_sysconfdir}/%{name}/programmers.txt \
   $RPM_BUILD_ROOT/%{_datadir}/%{name}/hardware/%{name}/avr/programmers.txt
ln -s %{_sysconfdir}/%{name}/preferences.txt \
   $RPM_BUILD_ROOT/%{_datadir}/%{name}/lib/preferences.txt

mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man1
a2x -f manpage ../shared/manpage.adoc
cp -a ../shared/%{name}.1 $RPM_BUILD_ROOT/%{_mandir}/man1/

desktop-file-install --dir=${RPM_BUILD_ROOT}%{_datadir}/applications ../linux/dist/%{name}.desktop

rm -f ../shared/icons/%{name}.xpm
for dir in ../shared/icons/*; do
    size=`basename $dir`
    mkdir -p $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/$size/apps
    cp $dir/apps/%{name}.png $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/$size/apps/
done

# appdata
mkdir -p $RPM_BUILD_ROOT/%{_datadir}/appdata
cp -a ../linux/dist/appdata.xml $RPM_BUILD_ROOT/%{_datadir}/appdata/%{name}.appdata.xml

# mime type
mkdir -p $RPM_BUILD_ROOT/%{_datadir}/mime/packages
cp -a ../linux/dist/mime.xml $RPM_BUILD_ROOT/%{_datadir}/mime/packages/%{name}.xml



%changelog
* Fri Nov 03 2017 daviddavid <daviddavid> 1:1.6.5-3.1.mga6
+ Revision: 1175639
- fix jackson-module-mrbean classpath, should be jackson-modules-base (mga#21350)

* Fri May 26 2017 neoclust <neoclust> 1:1.6.5-3.mga6
+ Revision: 1104814
- Fix Build with fixed java stack

* Sat Feb 20 2016 umeabot <umeabot> 1:1.6.5-2.mga6
+ Revision: 971800
- Mageia 6 Mass Rebuild

* Mon Oct 19 2015 ycantin <ycantin> 1:1.6.5-1.mga6
+ Revision: 892741
- new version 1.6.5

  + alexl <alexl>
    - add GenericName from upstream

* Sun Aug 16 2015 ycantin <ycantin> 1:1.0.6-1.mga6
+ Revision: 865175
- new version 1.0.6
- Passing the --directory argument to `git apply` is no longer required.
- source download procedure : add *.bz2 to catch avr tools archives in build/linux

* Wed Oct 15 2014 umeabot <umeabot> 1:1.0.5-10.mga5
+ Revision: 747819
- Second Mageia 5 Mass Rebuild

* Tue Sep 16 2014 umeabot <umeabot> 1:1.0.5-9.mga5
+ Revision: 677887
- Mageia 5 Mass Rebuild

* Sun May 04 2014 shlomif <shlomif> 1:1.0.5-8.mga5
+ Revision: 619958
- New version 1.0.5 (thanks to Red Hat)

* Fri Oct 18 2013 umeabot <umeabot> 1:1.0-8.mga4
+ Revision: 502592
- Mageia 4 Mass Rebuild

* Fri Jan 11 2013 umeabot <umeabot> 1:1.0-7.mga3
+ Revision: 346024
- Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild

* Wed Oct 03 2012 malo <malo> 1:1.0-6.mga3
+ Revision: 302639
- update RPM group

* Wed Jan 25 2012 dmorgan <dmorgan> 1:1.0-5.mga2
+ Revision: 201554
- Install arduino-add-groups in %%_bindir

* Wed Jan 25 2012 dmorgan <dmorgan> 1:1.0-4.mga2
+ Revision: 201549
- Rediff arduino-script.patch too
- Launch userdrake ( for now ) to add groups ( mga #4185)

* Wed Jan 11 2012 dmorgan <dmorgan> 1:1.0-3.mga2
+ Revision: 194916
- Fix Requires in x11-font-alias

* Wed Jan 11 2012 dmorgan <dmorgan> 1:1.0-2.mga2
+ Revision: 194826
- Fix Require in avr-gcc

* Wed Jan 11 2012 dmorgan <dmorgan> 1:1.0-1.mga2
+ Revision: 194809
- New version 1.0

* Tue Jan 10 2012 dmorgan <dmorgan> 0022-1.mga2
+ Revision: 194628
- Fix requires
- FIx Requires in avr*
- Revert to version 0022
- New version 1.0
- imported package arduino


* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0022-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Fri Dec 31 2010 Peter Oliver <rpm@mavit.org.uk> - 0022-2
- Prompt the user if they are not a member of the required groups, rather than failing silently.

* Thu Dec 30 2010 Peter Oliver <rpm@mavit.org.uk> - 0022-1
- Update to 0022 release (#666309).
- Use the new upstream source tarball rather than git.
- Drop oro requirement and related patch, since it is no-longer used.

* Fri Dec 17 2010 Peter Oliver <rpm@mavit.org.uk> - 0021-2
- Patch boards.txt to use the "arduino" programmer type for Uno boards,
  allowing Fedora's version of avrdude to work with these boards.

* Thu Oct  7 2010 Peter Oliver <rpm@mavit.org.uk> - 0021-1
- New upstream release 0021.
- Add patch for new upstream icons.
- Override device scan in RXTX to allow use of Arduino Uno.

* Mon Sep 20 2010 Peter Oliver <rpm@mavit.org.uk> - 0019-6
- Explictly mention documentation with doc macro.
- Move reference documentation into -doc package.

* Thu Sep  9 2010 Peter Oliver <rpm@mavit.org.uk> - 0019-5
- Add missing BuildRequires.
- Use build-jar-repository to locate java libraries to build against.
- Eliminate cross-package symlinks.

* Wed Sep  8 2010 Peter Oliver <rpm@mavit.org.uk> - 0019-4
- Make sure all jars are removed from the source bundle.
- Add missing documentation.

* Tue Sep  7 2010 Peter Oliver <rpm@mavit.org.uk> - 0019-3
- Split into two packages, making the IDE optional to install.
- Build during the build phase not the install phase.
- More dependencies.

* Mon Sep  6 2010 Peter Oliver <rpm@mavit.org.uk> - 0019-2
- Expanded dependencies.

* Sun Sep  5 2010 Peter Oliver <rpm@mavit.org.uk> - 0019-1
- Initial version.  Based in part on the Debian package.