- build with cross-avr-gcc7-bootstrap (bsc#1072028) - build with cross-avr-gcc7 - symlink /opt/cross/avr/bin to /usr/avr/bin to make gcc use avr-as instead of as. - update to 2.0.0 - remove old gcc-4.7 spec file - fix prefix - update some self tests to v2.0 tree structure - Update to version 1.8.1. - Drop patches: * 41-avr-libc-1.7.1-xmega32X1.patch: introduces just empty header * 42-avr-libc-1.7.1-xmega128b1.patch: now upstreamed - Add PDF doc. - Add GPG keys. - Clean spec file. - add hack to add -pipe to avr-gcc calls this avoids changing temporary filenames embedded in binaries and thus continous republishing due to changed binaries - update to 1.8.0, bugfix release, including: PSTR() now has const, to be compatible with gcc-4.7.0 savannah32698-power.patch upstreamed, removed. - updated logicp to 1.02 to heal poisoned SIG_UART_RECV ==> UART_RX_vect and friends. - added avr-libc-gcc47.spec to build with the new compiler. - Make the dependency on cross-avr-binutils unversioned. - testcase for tn4313 added, non-fatal. Still fails due to missing gcc binutils support - added savannah32698-power.patch - update to 1.7.1 This is primarily a bugfix release, and particularly, it fixes the infamous delay.h bug that caused the delay algorithm to be way off (https://savannah.nongnu.org/bugs/?30363). - fixed bnc#233520 - update to 1.7.0 * New architecture: avrtiny10 * New devices: atmega3000, attiny84a, atmega325a, atmega3250a, atmega329a, atmega3290a, attiny4, attiny5, attiny9, attiny10, attiny20, attiny40, ATxmega128A1U, ATxmega64A1U * countless bugfixes and other improvements - moved avr-example sub package into an own package. logicp remains here as a pre-install self-test. - do not require cross-acr-gcc44, we have removed the version number from the package. - update to 1.6.8 * Added iox128a1u.h iom16hva2.h iom16hvb.h iom169pa.h iom649p.h iom64hve.h iotn261a.h iotn461a.h iotn861a.h iom324pa.h iotn10.h iotn4.h iotn5.h iotn9.h iom16a.h iom88pa.h iom644pa.h iotn24a.h iotn44a.h iotn2313a.h iotn4313.h iom8u2.h iom16u2.h iom32u2.h iox192d3.h * Add support for new devices: ATmega16HVA2, ATmega16HVB, ATmega48A, ATmega88A, ATmega168A, ATmega328, ATmega164A, ATmega324A, ATmega644A, ATmega165A, ATmega169A, ATmega645A, ATmega6450A, ATmega649A, ATmega6490A, ATmega6490P, ATmega645P, ATmega6450P, ATmega329PA. ATtiny2313A, ATtiny4313, ATtiny24A, ATtiny44A, ATmega644PA, ATmega88PA, ATmega16A, ATtiny261A, ATtiny861A, ATtiny461A, ATmega64HVE, ATmega169PA, ATmega649P, ATmega324PA. ATmega8U2, ATmega16U2, and ATmega32U2. ATxmega192D3. * Add new functions: strtok_P() and strtok_rP(). memccpy_P(). * Fix some tests to run with host computer. * several bugfixes. - updated avr_isp.pl to 0.9h, this now better handles a lrger range of dongles. - moved /usr/share/doc/avr-libc to /usr/share/doc/packages/avr-libc . - populated /usr/bin/avr* symlinks, adding /opt/cross/bin to PATH no longer needed. - added an 00_index.html to the user_manual. - rediffed patch to remove fuzz. pampered rpmlint warnings. - updated avr_common.mk to no longer rename dir if under svn - update to 1.6.7, new devices xmega192D3,mega8U2,mega16U2,ATmega32U2. various bugfixes. see http://cvs.savannah.gnu.org/viewvc/*checkout*/avr-libc/avr-libc/ChangeLog - updated avr_isp.pl to survive (unsigned char) casts, and give better diagnostics in case something else fails. - added a symlink so that html doku finds its examples. - updated to 1.6.6 Too many small changes to list here. See http://cvs.savannah.gnu.org/viewvc/*checkout*/avr-libc/avr-libc/ChangeLog - update to 1.6.1 * The fplib/math library is completely rewritten. * Functions of numbers to ascii conversion are completely rewritten. * Test suite is added to the Avr-libc project. * A few new util's headers: util/atomic.h, util/setbaud.h. * Many new devices added, many revised. - update to 1.4.6 o Exclude 64-bit types for -mint8 (obsoletes no64bit_int.patch) o varios bugfixes (upstream #18115, #18385, #18509, #18662, #18686, #18688, #18726, #18899, #18903, #18915, #19009, #19050, #19060, #19134, #19135, #19280, #19281, #19445, #19495, #19650, #19666 #19841) o new devices: AT90USB82, AT90USB162, ATmega325P, ATmega3250P, ATmega329P, ATmega3290P, AT90PWM1, ATmega8HVA, ATmega16HVA o The "largedemo" has been ported to the ATtiny2313. o Integrate a copy of the license file into the documentation. o Include an alphabetical index of all globals o Added 'avr25' architecture. o new functions (memchr_P, memcmp_P, memmem, memmem_P, memrchr, memrchr_P, strcasestr, strcasestr_P, strchrnul, strchrnul_P, strchr_P, strcspn, strcspn_P, strpbrk, strpbrk_P, strrchr_P, strsep_P, strspn, strspn_P) o Optimized functions (atoi, atol, strchr, strcmp, strcmp_P, strlwr, strrev, strsep, strstr, strstr_P, strupr) - gzipped manpages to make rpmlint happy. user-manual moved *into* /usr/share/doc/packages/avr-libc. - 64bit datatypes on 64bit hosts only fail with -mint8 Now properly ifdefed. - update to 1.4.5 ATmega165P/169P support. Fixes to the HD44780 driver. Power Management API. New "asmdemo" example. sleep.h: Fix the entry for the ATtiny2313. new devices: ATmega2560, ATmega2561. fp_split.S: Pop 3 bytes for avr6 Bugs fixed: 15512 16125 16411 16434 16441 16868 17068 17470 17551 17591 17608 - make test now tests 3 CPUs - compiling and linking my logicp application as a simple selftest. - avr-64bit datatypes fail on 64bit hosts. - update to 1.4.4 added /opt/cross/share/man/man3/* and /opt/cross/share/doc symlink - converted neededforbuild to BuildRequires - update to 1.4.2 - upstreamed patches removed. - update to 1.4.0 - add norootforbuild - update to 1.2.5, fixes many things for atmega48 e.g. [#105226]. - removed dependency on uisp. - initial version: avr-libc-1.2.3 OBS-URL: https://build.opensuse.org/request/show/556412 OBS-URL: https://build.opensuse.org/package/show/devel:gcc/avr-libc?expand=0&rev=1
127 lines
5.1 KiB
RPMSpec
127 lines
5.1 KiB
RPMSpec
#
|
|
# spec file for package avr-libc
|
|
#
|
|
# Copyright (c) 2015 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 http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%define into_usr_avr 1
|
|
%define doc_vers %{version}
|
|
%if %{into_usr_avr}
|
|
%define PREFIX /usr/avr
|
|
%else
|
|
# FIXME:
|
|
# okay, FHS 2.2, if you forbid the obvious choices, can you also suggest a better place?
|
|
# avr-libc: "/usr/avr/{include,lib,...}" is not allowed anymore in FHS 2.2
|
|
# avr-libc: "/usr/local/avr/{include,lib,...}" is not allowed anymore in FHS 2.2
|
|
%define PREFIX %{_prefix}
|
|
%define PREFIX %{_prefix}/local
|
|
%endif
|
|
Name: avr-libc
|
|
Version: 2.0.0
|
|
Release: 0
|
|
Summary: The C Runtime Library for AVR Microcontrollers
|
|
License: BSD-3-Clause
|
|
Group: Development/Libraries/C and C++
|
|
Url: http://savannah.nongnu.org/projects/avr-libc
|
|
Source: http://savannah.nongnu.org/download/%{name}/%{name}-%{version}.tar.bz2
|
|
Source1: http://savannah.nongnu.org/download/%{name}/%{name}-%{version}.tar.bz2.sig
|
|
Source2: http://savannah.nongnu.org/download/%{name}/%{name}-manpages-%{doc_vers}.tar.bz2
|
|
Source3: http://savannah.nongnu.org/download/%{name}/%{name}-manpages-%{doc_vers}.tar.bz2.sig
|
|
Source4: http://savannah.nongnu.org/download/%{name}/%{name}-user-manual-%{doc_vers}.tar.bz2
|
|
Source5: http://savannah.nongnu.org/download/%{name}/%{name}-user-manual-%{doc_vers}.tar.bz2.sig
|
|
Source6: http://savannah.nongnu.org/download/%{name}/%{name}-user-manual-%{doc_vers}.pdf.bz2
|
|
Source7: http://savannah.nongnu.org/download/%{name}/%{name}-user-manual-%{doc_vers}.pdf.bz2.sig
|
|
Source8: %{name}.keyring
|
|
Source9: logicp-1.02.tgz
|
|
Source100: %{name}-rpmlintrc
|
|
BuildRequires: cross-avr-binutils
|
|
BuildRequires: cross-avr-gcc7-bootstrap
|
|
BuildRequires: doxygen
|
|
BuildRequires: fdupes
|
|
BuildRequires: findutils
|
|
BuildRequires: netpbm
|
|
Requires: cross-avr-binutils
|
|
Requires: cross-avr-gcc7
|
|
Recommends: avr-example
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
# does not depend on host arch. bnc#233520
|
|
BuildArch: noarch
|
|
%if 0%{?suse_version} < 1100
|
|
BuildRequires: libgmp3
|
|
BuildRequires: libmpfr1
|
|
%endif
|
|
|
|
%description
|
|
The C runtime library for the AVR family of microcontrollers for use
|
|
with the GNU toolset (cross-avr-binutils, cross-avr-gcc, uisp, etc.).
|
|
|
|
%prep
|
|
%setup -q -a2 -a4 -b9
|
|
cp -a %{SOURCE6} .
|
|
bunzip2 %{name}-user-manual-%{doc_vers}.pdf.bz2
|
|
|
|
%build
|
|
export CFLAGS="%{optflags}"
|
|
export CXXFLAGS="%{optflags}"
|
|
./configure --prefix=%{PREFIX} --host=avr
|
|
make %{?_smp_mflags} CC="avr-gcc -pipe" CCAS="avr-gcc -pipe"
|
|
|
|
%install
|
|
make DESTDIR=%{buildroot} install %{?_smp_mflags}
|
|
|
|
mkdir -p %{buildroot}%{_docdir}/%{name}
|
|
cp -pr AUTHORS ChangeLog* LICENSE NEWS README *.pdf %{buildroot}%{_docdir}/%{name}
|
|
cp -pr %{name}-user-manual-%{doc_vers} %{buildroot}%{_docdir}/%{name}/user-manual-%{doc_vers}
|
|
ln -s %{_docdir}/%{name}/user-manual-%{doc_vers} %{buildroot}/%{PREFIX}/share/doc/%{name}-%{version}/user-manual
|
|
ln -s %{PREFIX}/share/doc/%{name}-%{version}/examples %{buildroot}%{_docdir}/%{name}
|
|
cat >> %{buildroot}%{_docdir}/%{name}/user-manual.html <<EOF
|
|
<head><meta http-equiv="Refresh" content="0; user-manual-%{doc_vers}/index.html"></head>
|
|
<a href="user-manual-%{doc_vers}/pages.html">user-manual-%{doc_vers}/index.html</a>
|
|
EOF
|
|
|
|
mkdir -p %{buildroot}/%{PREFIX}/avr
|
|
cp -pr man %{buildroot}/%{PREFIX}/avr/.
|
|
|
|
# do not run brp-strip-debug on our avr-elf objects.
|
|
export NO_BRP_STRIP_DEBUG=true
|
|
|
|
%fdupes %{buildroot}
|
|
|
|
%check
|
|
### selftest ###
|
|
cd ../logicp*
|
|
## how do we tell the linker that crt*.o is at a nonstandard location?
|
|
ln -s $RPM_BUILD_ROOT%PREFIX/avr/lib/crtatt*.o .
|
|
ln -s $RPM_BUILD_ROOT%PREFIX/avr/lib/avrtiny/crtatt*.o .
|
|
ln -s $RPM_BUILD_ROOT%PREFIX/avr/lib/avr?/crtatm*.o .
|
|
make test CFLAGS="-Wall -g -Os -mint8 -I$RPM_BUILD_ROOT%PREFIX/avr/include/ -L$RPM_BUILD_ROOT%PREFIX/avr/lib/avr4" CPU=mega8 || true
|
|
make test CFLAGS="-Wall -g -Os -mint8 -I$RPM_BUILD_ROOT%PREFIX/avr/include/ -L$RPM_BUILD_ROOT%PREFIX/avr/lib/avr4" CPU=mega48 || true
|
|
make test CFLAGS="-Wall -g -Os -mint8 -I$RPM_BUILD_ROOT%PREFIX/avr/include/ -L$RPM_BUILD_ROOT%PREFIX/avr/lib/avr4" CPU=mega644 || true
|
|
make test CFLAGS="-Wall -g -Os -mint8 -I$RPM_BUILD_ROOT%PREFIX/avr/include/ -L$RPM_BUILD_ROOT%PREFIX/avr/lib" CPU=tiny2313 || true
|
|
make test CFLAGS="-Wall -g -Os -mint8 -I$RPM_BUILD_ROOT%PREFIX/avr/include/ -L$RPM_BUILD_ROOT%PREFIX/avr/lib" CPU=tiny4313 || true
|
|
|
|
%files
|
|
%defattr (-, root, root)
|
|
%doc %{_docdir}/%{name}
|
|
%if %{into_usr_avr}
|
|
%dir /usr/avr
|
|
/usr/avr/*
|
|
%else
|
|
%{_prefix}/*
|
|
%endif
|
|
# %%doc /usr/share/man/man?/*.*
|
|
|
|
%changelog
|