2a90a30
# Nodejs >= 12 is not supported by current versions of SWIG.
2a90a30
%bcond_with nodejs_pkg
2a90a30
2a90a30
%if %{with nodejs_pkg}
2a90a30
%global BUILD_NODEJS ON
2a90a30
%else
2a90a30
%global BUILD_NODEJS OFF
2a90a30
%endif
2a90a30
97adf1d
Name:          mraa
f91a547
Version:       2.2.0
e1e780d
Release:       10%{?dist}
97adf1d
Summary:       A low level skeleton library for Industrial IO Communication
97adf1d
License:       MIT
a457e3a
URL:           https://projects.eclipse.org/projects/iot.mraa
f91a547
Source0:       https://github.com/intel-iot-devkit/mraa/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
9a65f3b
# fix build on i686
f91a547
Patch1:        mraa_fix_i686_build-v2.1.0.patch
23906cc
# https://github.com/eclipse/mraa/pull/1012
f91a547
Patch2:        mraa_include-Declare-gVERSION-global-as-extern-v2.1.0.patch
97adf1d
97adf1d
# To quote "Only x86, arm and mock platforms currently supported"
97adf1d
ExcludeArch: %{power64} s390x
b2105a6
97adf1d
BuildRequires: cmake
a69a80c
BuildRequires: gcc
a69a80c
BuildRequires: gcc-c++
9937139
BuildRequires: json-c-devel
2a90a30
%if %{with nodejs_pkg}
97adf1d
BuildRequires: nodejs-devel nodejs-packaging
2a90a30
%endif
97adf1d
BuildRequires: python3-devel python3-setuptools
97adf1d
BuildRequires: swig
97adf1d
BuildRequires: doxygen graphviz sphinx
97adf1d
2a90a30
%if %{without nodejs_pkg}
2a90a30
Obsoletes: nodejs-mraa < %{version}-%{release}
2a90a30
%endif
2a90a30
97adf1d
%description
1b551db
mraa is a low level skeleton library for Industrial IO Communication and
97adf1d
includes python, java and Node-JS bindings.
97adf1d
97adf1d
%package devel
97adf1d
Summary: Development package for %{name}
97adf1d
Requires: %{name}%{?_isa} = %{version}-%{release}
97adf1d
97adf1d
%description devel
97adf1d
Files for development with %{name}.
97adf1d
3f0ced8
%package examples
3f0ced8
Summary: Development examples for %{name}
3f0ced8
Requires: %{name}%{?_isa} = %{version}-%{release}
3f0ced8
Requires: %{name}-devel = %{version}-%{release}
3f0ced8
3f0ced8
%description examples
3f0ced8
Various mraa development examples for working with the various interfaces.
3f0ced8
2f41ce7
%package -n python3-mraa
97adf1d
Summary: Python3 bindings
97adf1d
License: GPLv2+
97adf1d
Requires: %{name}%{?_isa} = %{version}-%{release}
97adf1d
2f41ce7
%description -n python3-mraa
97adf1d
Python3 bindings for Industrial IO.
97adf1d
2a90a30
%if %{with nodejs_pkg}
97adf1d
%package -n nodejs-mraa
97adf1d
Summary: NodeJS package for mraa low-level I/O library
97adf1d
License: GPLv2+
97adf1d
Requires: %{name}%{?_isa} = %{version}-%{release}
97adf1d
97adf1d
%description -n nodejs-mraa
97adf1d
NodeJS bindings for Industrial IO.
2a90a30
%endif
97adf1d
97adf1d
%prep
23906cc
%autosetup -p 1
97adf1d
97adf1d
pushd examples/javascript
97adf1d
sed -i '1i #!/usr/bin/node' AioA0.js Blink-IO.js GPIO_DigitalRead.js \
97adf1d
    GPIO_DigitalWrite.js firmata.js gpio-tool.js initio.js \
97adf1d
    rgblcd.js uart.js
97adf1d
sed -i '1s/env //' *.js
97adf1d
popd
97adf1d
sed -i '1s/env //' examples/python/*.py
97adf1d
97adf1d
%build
100a756
%cmake -DBUILDSWIGNODE=%{BUILD_NODEJS} -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_SKIP_RPATH=ON -DVERSION:STRING=%{version}
1b551db
6e4c8c9
%cmake_build
1b551db
#make_build iio_driver
1b551db
#make_build mraajs
1b551db
#make_build npmpkg
1b551db
#make_build mraa-gpio
97adf1d
97adf1d
%install
6e4c8c9
%cmake_install
97adf1d
97adf1d
#Move the examples to the proper location
97adf1d
mkdir -p %{buildroot}%{_libexecdir}/mraa
97adf1d
mv %{buildroot}%{_datarootdir}/mraa/examples/ %{buildroot}%{_libexecdir}/mraa/examples/
97adf1d
97adf1d
#Remove libtool archives.
2f41ce7
find %{buildroot} -name '*.la' -delete
97adf1d
c3b70be
find %{buildroot}%{_libexecdir}/mraa/examples/python -name \*.py -exec chmod -x "{}" \;
c3b70be
2a90a30
%if %{with nodejs_pkg}
2a90a30
chmod 0755 %{buildroot}%{nodejs_sitelib}/mraa/mraa.node
2a90a30
97adf1d
# Symlink nodejs dependencies
97adf1d
%nodejs_symlink_deps
2a90a30
%endif
97adf1d
aae21a7
%ldconfig_scriptlets
97adf1d
97adf1d
%files
97adf1d
%license COPYING
97adf1d
%doc README.md CONTRIBUTING.md
97adf1d
%{_libdir}/lib%{name}.so.*
97adf1d
%{_bindir}/mraa-*
97adf1d
97adf1d
%files devel
97adf1d
%{_includedir}/mraa/
97adf1d
%{_includedir}/mraa.*
97adf1d
%{_libdir}/pkgconfig/%{name}.pc
97adf1d
%{_libdir}/lib%{name}.so
97adf1d
3f0ced8
%files examples
3f0ced8
%{_libexecdir}/mraa/
3f0ced8
2f41ce7
%files -n python3-mraa
97adf1d
%{python3_sitearch}/*
97adf1d
2a90a30
%if %{with nodejs_pkg}
97adf1d
%files -n nodejs-mraa
97adf1d
%{nodejs_sitelib}/mraa
2a90a30
%endif
97adf1d
97adf1d
%changelog
e1e780d
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.0-10
e1e780d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
e1e780d
5e754d3
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.0-9
5e754d3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
5e754d3
ae8b14a
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 2.2.0-8
ae8b14a
- Rebuilt for Python 3.11
ae8b14a
100a756
* Tue Mar 29 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2.2.0-7
100a756
- Fixes for new cmake
100a756
d98bf68
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.0-6
d98bf68
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
d98bf68
1bf3a0d
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.0-5
1bf3a0d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
1bf3a0d
20f4c42
* Sat Jul 10 2021 Björn Esser <besser82@fedoraproject.org> - 2.2.0-4
20f4c42
- Rebuild for versioned symbols in json-c
20f4c42
cf97307
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 2.2.0-3
cf97307
- Rebuilt for Python 3.10
cf97307
39cc16d
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.0-2
39cc16d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
39cc16d
f91a547
* Wed Nov 11 19:49:34 GMT 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2.2.0-1
f91a547
- Update to 2.2.0
f91a547
6543708
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-5
6543708
- Second attempt - Rebuilt for
6543708
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
6543708
600a71e
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-4
600a71e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
600a71e
4631cbe
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 2.1.0-3
4631cbe
- Rebuilt for Python 3.9
4631cbe
7bc847f
* Tue Apr 21 2020 Björn Esser <besser82@fedoraproject.org> - 2.1.0-2
7bc847f
- Rebuild (json-c)
7bc847f
1b551db
* Wed Apr 15 2020 Björn Esser <besser82@fedoraproject.org> - 2.1.0-1
1b551db
- Update to 2.1.0
2a90a30
- Disable Nodejs package, as SWIG does not support Nodejs >= 12
9a65f3b
- Add patch to fix build on i686
1b551db
23906cc
* Mon Apr 13 2020 Björn Esser <besser82@fedoraproject.org> - 2.0.0-8
23906cc
- Fix build with '-fno-common'
23906cc
b41bfbb
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-7
b41bfbb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
b41bfbb
4e3fb5f
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 2.0.0-6
4e3fb5f
- Rebuilt for Python 3.8
4e3fb5f
7f2d2b0
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-5
7f2d2b0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
7f2d2b0
b2105a6
* Tue Jun 11 2019 Peter Robinson <pbrobinson@fedoraproject.org> 2.0.0-4
b2105a6
- Minor bugfixes
b2105a6
cfd3a65
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-3
cfd3a65
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
cfd3a65
3f0ced8
* Mon Sep 10 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2.0.0-2
3f0ced8
- Split examples out to a sub package
3f0ced8
7f2324b
* Sun Sep  9 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2.0.0-1
7f2324b
- Update to 2.0.0
7f2324b
9937139
* Tue Jul 24 2018 Peter Robinson <pbrobinson@fedoraproject.org> 1.9.0-3
9937139
- Fix example permissions
9937139
- Add json-c build dep
9937139
70dedd1
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.0-2
70dedd1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
70dedd1
2f41ce7
* Sun Jul  1 2018 Peter Robinson <pbrobinson@fedoraproject.org> 1.9.0-1
2f41ce7
- Update to 1.9.0
2f41ce7
4423e0a
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 1.8.0-4
4423e0a
- Rebuilt for Python 3.7
4423e0a
a69a80c
* Mon Mar 05 2018 Jared Smith <jsmith@fedoraproject.org> - 1.8.0-3
a69a80c
- Add missing BuildRequires on gcc, gcc-c++
a69a80c
b307b94
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.0-2
b307b94
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
b307b94
1e9b31b
* Mon Oct  2 2017 Peter Robinson <pbrobinson@fedoraproject.org> 1.8.0-1
1e9b31b
- Update to 1.8.0
1e9b31b
bf6a64a
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.0-4
bf6a64a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
bf6a64a
90641ee
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.0-3
90641ee
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
90641ee
b1aa946
* Fri Jun 30 2017 Peter Robinson <pbrobinson@fedoraproject.org> 1.7.0-2
b1aa946
- Rebuild for nodejs 8
b1aa946
25fc277
* Tue May 16 2017 Peter Robinson <pbrobinson@fedoraproject.org> 1.7.0-1
25fc277
- Update to 1.7.0
25fc277
97adf1d
* Tue Apr 25 2017 Peter Robinson <pbrobinson@fedoraproject.org> 1.6.1-2
97adf1d
- Review updates
97adf1d
97adf1d
* Fri Apr  7 2017 Peter Robinson <pbrobinson@fedoraproject.org> 1.6.1-1
97adf1d
- Update to 1.6.1
97adf1d
97adf1d
* Mon Jan  9 2017 Peter Robinson <pbrobinson@fedoraproject.org> 1.5.1-2
97adf1d
- Review updates
97adf1d
97adf1d
* Wed Dec  7 2016 Peter Robinson <pbrobinson@fedoraproject.org> 1.5.1-1
97adf1d
- Initial package