diff options
author | Ting-Wei Lan <lantw44@gmail.com> | 2019-05-25 00:03:08 +0800 |
---|---|---|
committer | Ting-Wei Lan <lantw44@gmail.com> | 2019-05-25 00:03:08 +0800 |
commit | c3fdd23c0661512faa65b92ff687583dde5855a5 (patch) | |
tree | 1ca5c330bb1a0b427ea8b2c41e0091b25a9790f1 | |
parent | 0b972be65db622d3c38f5e9644453d299621a7c3 (diff) | |
download | copr-rpm-spec-c3fdd23c0661512faa65b92ff687583dde5855a5.tar copr-rpm-spec-c3fdd23c0661512faa65b92ff687583dde5855a5.tar.gz copr-rpm-spec-c3fdd23c0661512faa65b92ff687583dde5855a5.tar.bz2 copr-rpm-spec-c3fdd23c0661512faa65b92ff687583dde5855a5.tar.lz copr-rpm-spec-c3fdd23c0661512faa65b92ff687583dde5855a5.tar.xz copr-rpm-spec-c3fdd23c0661512faa65b92ff687583dde5855a5.tar.zst copr-rpm-spec-c3fdd23c0661512faa65b92ff687583dde5855a5.zip |
arm-linux-gnueabi-toolchain: Keep multiple versions of packages
-rw-r--r-- | arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/8/arm-linux-gnueabi-gcc.spec | 496 | ||||
-rw-r--r-- | arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/9/arm-linux-gnueabi-gcc.spec (renamed from arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/arm-linux-gnueabi-gcc.spec) | 0 | ||||
-rwxr-xr-x | arm-linux-gnueabi-toolchain/create-arch.sh | 88 |
3 files changed, 561 insertions, 23 deletions
diff --git a/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/8/arm-linux-gnueabi-gcc.spec b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/8/arm-linux-gnueabi-gcc.spec new file mode 100644 index 0000000..84dfbb8 --- /dev/null +++ b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/8/arm-linux-gnueabi-gcc.spec @@ -0,0 +1,496 @@ +%global cross_arch arm +%global cross_triplet arm-linux-gnueabi +%global cross_sysroot %{_prefix}/%{cross_triplet}/sys-root + +%if 0%{?_unique_build_ids} +%global _find_debuginfo_opts --build-id-seed "%{name}-%{version}-%{release}" +%endif + +%if 0%{!?cross_stage:1} +%global cross_stage final +%endif + +%if %{cross_stage} != "final" +%global pkg_suffix -%{cross_stage} +%else +%global pkg_suffix %{nil} +%endif + +%if %{cross_arch} == "arm" + %global lib_dir_name lib +%else + %if %{cross_arch} == "arm64" + %global lib_dir_name lib64 + %else + %global lib_dir_name lib + %endif +%endif + +%bcond_without ada + +Name: %{cross_triplet}-gcc%{pkg_suffix} +Version: 8.3.0 +Release: 1%{?dist} +Summary: The GNU Compiler Collection (%{cross_triplet}) + +%global major_version %(echo %{version} | sed 's/\\..*$//') + +License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD +URL: https://gcc.gnu.org +Source0: https://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-%{version}.tar.xz + +BuildRequires: gcc, gcc-c++, gcc-gnat +BuildRequires: texinfo, gettext, flex, bison, zlib-devel, isl-devel +BuildRequires: gmp-devel, mpfr-devel, libmpc-devel, elfutils-libelf-devel +BuildRequires: %{cross_triplet}-filesystem +BuildRequires: %{cross_triplet}-binutils +Requires: %{cross_triplet}-filesystem +Requires: %{cross_triplet}-binutils +Provides: %{cross_triplet}-gcc-stage1 = %{version} + +%if %{cross_stage} == "pass2" +BuildRequires: %{cross_triplet}-glibc-stage1 +Requires: %{cross_triplet}-glibc-stage1 +Provides: %{cross_triplet}-gcc-stage2 = %{version} +%endif + +%if %{cross_stage} == "final" +BuildRequires: %{cross_triplet}-glibc +BuildRequires: gcc-gnat, libstdc++-static +Requires: %{cross_triplet}-glibc +Provides: %{cross_triplet}-gcc-stage2 = %{version} +Provides: %{cross_triplet}-gcc-stage3 = %{version} +%endif + +%global shared_library_regexp [^/]*\\.so[.0-9]*$ +%global usr_lib_gcc_dir %{_prefix}/lib/gcc/%{cross_triplet}/%{major_version} +%global usr_lib_gcc_adalib_dir %{usr_lib_gcc_dir}/adalib + +%global __provides_exclude_from ^(%{cross_sysroot}|%{usr_lib_gcc_dir}/%{shared_library_regexp}|%{usr_lib_gcc_adalib_dir}/%{shared_library_regexp}) +%global __requires_exclude_from ^(%{cross_sysroot}|%{usr_lib_gcc_dir}/%{shared_library_regexp}|%{usr_lib_gcc_adalib_dir}/%{shared_library_regexp}) + +%description + + +%prep +%autosetup -p1 -Tb 0 -n gcc-%{version} + + +%build +mkdir -p %{_builddir}/gcc-build +cd %{_builddir}/gcc-build +export AR_FOR_TARGET=%{_bindir}/%{cross_triplet}-ar +export AS_FOR_TARGET=%{_bindir}/%{cross_triplet}-as +export DLLTOOL_FOR_TARGET=%{_bindir}/%{cross_triplet}-dlltool +export LD_FOR_TARGET=%{_bindir}/%{cross_triplet}-ld +export NM_FOR_TARGET=%{_bindir}/%{cross_triplet}-nm +export OBJDUMP_FOR_TARGET=%{_bindir}/%{cross_triplet}-objdump +export RANLIB_FOR_TARGET=%{_bindir}/%{cross_triplet}-ranlib +export STRIP_FOR_TARGET=%{_bindir}/%{cross_triplet}-strip +export WINDRES_FOR_TARGET=%{_bindir}/%{cross_triplet}-windres +export WINDMC_FOR_TARGET=%{_bindir}/%{cross_triplet}-windmc +%global _configure ../gcc-%{version}/configure +%global _program_prefix %{cross_triplet}- +%global _hardening_ldflags \\\ + %(echo "%{_hardening_ldflags}" | sed -e 's/-specs=[^ ]*//g') +%global __global_ldflags \\\ + %(echo "%{__global_ldflags}" | \\\ + sed -e 's/-specs=[^ ]*//g' -e 's/-Wl,-z,defs *//g') +%global optflags \\\ + %(echo "%{optflags}" | \\\ + sed -e 's/-m[^ ]*//g' -e 's/-specs=[^ ]*//g' -e 's/-Werror=[^ ]*//g' \\\ + -e 's/-fstack-clash-protection *//g' -e 's/-fcf-protection *//g') +# GCC doesn't build without dependency tracking +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55930 +%configure \ + --libdir=%{_prefix}/lib \ + --target=%{cross_triplet} \ + --enable-dependency-tracking \ + --with-local-prefix=%{cross_sysroot} \ + --with-sysroot=%{cross_sysroot} \ + --with-gcc-major-version-only \ + --with-linker-hash-style=gnu \ + --with-system-zlib \ + --with-isl \ + --disable-nls \ + --enable-lto \ + --enable-multilib \ + --enable-__cxa_atexit \ + --enable-initfini-array \ + --enable-linker-build-id \ + --enable-gnu-unique-object \ + --enable-gnu-indirect-function \ +%if %{cross_arch} == "arm" +%if %(echo %{cross_triplet} | sed 's/.*-\([a-z]*\)$/\1/') == "gnueabihf" + --with-tune=cortex-a8 \ + --with-arch=armv7-a \ + --with-float=hard \ + --with-fpu=vfpv3-d16 \ + --with-abi=aapcs-linux \ +%endif +%endif +%if %{cross_stage} == "pass1" + --with-newlib \ + --enable-languages=c \ + --disable-shared \ + --disable-threads \ + --disable-libmudflap \ + +%make_build all-gcc +%endif +%if %{cross_stage} == "pass2" + --enable-languages=c \ + --enable-shared \ + --disable-libgomp \ + --disable-libmudflap \ + +%make_build all-gcc all-target-libgcc +%endif +%if %{cross_stage} == "final" +%if %{with ada} + --enable-languages=c,c++,fortran,objc,obj-c++,go,ada \ +%else + --enable-languages=c,c++,fortran,objc,obj-c++,go \ +%endif +%if 0%{?fedora} <= 22 + --with-default-libstdcxx-abi=gcc4-compatible \ +%endif + --enable-shared \ + --enable-libmulflap \ + --enable-libgomp \ + --enable-libssp \ + --enable-libquadmath \ + --enable-libquadmath-support \ + --enable-libsanitizer \ + --enable-gold \ + --enable-plugin \ + --enable-threads=posix \ + +%make_build +%endif + + +%install +cd %{_builddir}/gcc-build + +%if %{cross_stage} == "pass1" +%{__make} install-gcc DESTDIR=%{buildroot} +%endif +%if %{cross_stage} == "pass2" +%{__make} install-gcc install-target-libgcc DESTDIR=%{buildroot} +mkdir -p %{buildroot}%{cross_sysroot}/%{lib_dir_name} +mv %{buildroot}%{_prefix}/%{cross_triplet}/%{lib_dir_name}/* \ + %{buildroot}%{cross_sysroot}/%{lib_dir_name} +rmdir %{buildroot}%{_prefix}/%{cross_triplet}/%{lib_dir_name} +%endif +%if %{cross_stage} == "final" +%make_install +mkdir -p %{buildroot}%{cross_sysroot}/%{lib_dir_name} +mv %{buildroot}%{_prefix}/%{cross_triplet}/%{lib_dir_name}/* \ + %{buildroot}%{cross_sysroot}/%{lib_dir_name} +rmdir %{buildroot}%{_prefix}/%{cross_triplet}/%{lib_dir_name} +%endif + +find %{buildroot} -name '*.la' -delete +rm -rf %{buildroot}%{_mandir} +rm -rf %{buildroot}%{_infodir} +rm -rf %{buildroot}%{_datadir}/gcc-%{major_version}/python +rm -f %{buildroot}%{_bindir}/%{cross_triplet}-gcc-%{major_version} +rm -f %{buildroot}%{_libdir}/libcc1.so* +rm -rf %{buildroot}%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/install-tools +rm -f %{buildroot}%{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/install-tools/fixincl +rm -f %{buildroot}%{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/install-tools/fixinc.sh +rm -f %{buildroot}%{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/install-tools/mkheaders +rm -f %{buildroot}%{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/install-tools/mkinstalldirs +rmdir --ignore-fail-on-non-empty %{buildroot}%{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/install-tools + +# Don't strip libgcc.a and libgcov.a - based on Fedora Project cross-gcc.spec +%global __ar_no_strip $RPM_BUILD_DIR/gcc-%{version}/ar-no-strip +cat > %{__ar_no_strip} << EOF +#!/bin/sh +f=\$2 +case \$(basename \$f) in + *.a) + ;; + *) + %{__strip} \$@ + ;; +esac +EOF +chmod +x %{__ar_no_strip} +%undefine __strip +%global __strip %{__ar_no_strip} + + +%files +%license COPYING COPYING.LIB COPYING.RUNTIME COPYING3 COPYING3.LIB +%doc ChangeLog ChangeLog.jit ChangeLog.tree-ssa MAINTAINERS NEWS README +%{_bindir}/%{cross_triplet}-cpp +%{_bindir}/%{cross_triplet}-gcc +%{_bindir}/%{cross_triplet}-gcc-ar +%{_bindir}/%{cross_triplet}-gcc-nm +%{_bindir}/%{cross_triplet}-gcc-ranlib +%{_bindir}/%{cross_triplet}-gcov +%{_bindir}/%{cross_triplet}-gcov-dump +%{_bindir}/%{cross_triplet}-gcov-tool +%dir %{_prefix}/lib/gcc/%{cross_triplet} +%dir %{_prefix}/lib/gcc/%{cross_triplet}/%{major_version} +%dir %{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include-fixed +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include-fixed/README +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include-fixed/limits.h +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include-fixed/syslimits.h +%dir %{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/stddef.h +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/stdarg.h +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/stdfix.h +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/varargs.h +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/float.h +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/stdbool.h +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/iso646.h +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/stdint.h +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/stdint-gcc.h +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/stdalign.h +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/stdnoreturn.h +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/stdatomic.h +%if %{cross_arch} == "arm" +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/unwind-arm-common.h +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/mmintrin.h +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/arm_cmse.h +%endif +%if %{cross_arch} == "arm" || %{cross_arch} == "arm64" +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/arm_neon.h +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/arm_acle.h +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/arm_fp16.h +%endif +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/plugin +%dir %{_libexecdir}/gcc/%{cross_triplet} +%dir %{_libexecdir}/gcc/%{cross_triplet}/%{major_version} +%{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/cc1 +%{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/collect2 +%{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/lto1 +%{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/lto-wrapper +%{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/liblto_plugin.so* +%dir %{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/plugin +%{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/plugin/gengtype +%if %{cross_stage} != "pass1" +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/gcov.h +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/unwind.h +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/crtbegin*.o +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/crtend*.o +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/crtfastmath.o +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/libgcc.a +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/libgcc_eh.a +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/libgcov.a +%{cross_sysroot}/%{lib_dir_name}/libgcc_s.so +%{cross_sysroot}/%{lib_dir_name}/libgcc_s.so.1 +%endif +%if %{cross_stage} == "final" +%{_bindir}/%{cross_triplet}-c++ +%{_bindir}/%{cross_triplet}-g++ +%{_bindir}/%{cross_triplet}-gccgo +%{_bindir}/%{cross_triplet}-gfortran +%dir %{_prefix}/%{cross_triplet} +%dir %{_prefix}/%{cross_triplet}/include +%dir %{_prefix}/%{cross_triplet}/include/c++ +%{_prefix}/%{cross_triplet}/include/c++/%{major_version} +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/omp.h +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/openacc.h +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/objc +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/ssp +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/include/sanitizer +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/finclude +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/libcaf_single.a +%{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/cc1plus +%{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/cc1obj +%{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/cc1objplus +%{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/f951 +%{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/go1 +%dir %{cross_sysroot}/%{lib_dir_name}/go +%{cross_sysroot}/%{lib_dir_name}/go/%{major_version} +%{cross_sysroot}/%{lib_dir_name}/libasan.a +%{cross_sysroot}/%{lib_dir_name}/libasan_preinit.o +%{cross_sysroot}/%{lib_dir_name}/libasan.so* +%{cross_sysroot}/%{lib_dir_name}/libatomic.a +%{cross_sysroot}/%{lib_dir_name}/libatomic.so* +%{cross_sysroot}/%{lib_dir_name}/libgfortran.a +%{cross_sysroot}/%{lib_dir_name}/libgfortran.so* +%{cross_sysroot}/%{lib_dir_name}/libgfortran.spec +%{cross_sysroot}/%{lib_dir_name}/libgo.a +%{cross_sysroot}/%{lib_dir_name}/libgo.so* +%{cross_sysroot}/%{lib_dir_name}/libgobegin.a +%{cross_sysroot}/%{lib_dir_name}/libgolibbegin.a +%{cross_sysroot}/%{lib_dir_name}/libgomp.a +%{cross_sysroot}/%{lib_dir_name}/libgomp.so* +%{cross_sysroot}/%{lib_dir_name}/libgomp.spec +%{cross_sysroot}/%{lib_dir_name}/libitm.a +%{cross_sysroot}/%{lib_dir_name}/libitm.so* +%{cross_sysroot}/%{lib_dir_name}/libitm.spec +%{cross_sysroot}/%{lib_dir_name}/libobjc.a +%{cross_sysroot}/%{lib_dir_name}/libobjc.so* +%{cross_sysroot}/%{lib_dir_name}/libsanitizer.spec +%{cross_sysroot}/%{lib_dir_name}/libssp.a +%{cross_sysroot}/%{lib_dir_name}/libssp_nonshared.a +%{cross_sysroot}/%{lib_dir_name}/libssp.so +%{cross_sysroot}/%{lib_dir_name}/libssp.so.0* +%{cross_sysroot}/%{lib_dir_name}/libstdc++fs.a +%{cross_sysroot}/%{lib_dir_name}/libstdc++.a +%{cross_sysroot}/%{lib_dir_name}/libstdc++.so +%{cross_sysroot}/%{lib_dir_name}/libstdc++.so.6 +%{cross_sysroot}/%{lib_dir_name}/libstdc++.so.6.*.* +%{cross_sysroot}/%{lib_dir_name}/libsupc++.a +%{cross_sysroot}/%{lib_dir_name}/libubsan.a +%{cross_sysroot}/%{lib_dir_name}/libubsan.so* +%if %{cross_arch} == "arm64" +%{cross_sysroot}/%{lib_dir_name}/liblsan.a +%{cross_sysroot}/%{lib_dir_name}/liblsan_preinit.o +%{cross_sysroot}/%{lib_dir_name}/liblsan.so* +%{cross_sysroot}/%{lib_dir_name}/libtsan.a +%{cross_sysroot}/%{lib_dir_name}/libtsan_preinit.o +%{cross_sysroot}/%{lib_dir_name}/libtsan.so* +%endif +%if %{with ada} +%{_bindir}/%{cross_triplet}-gnat +%{_bindir}/%{cross_triplet}-gnatbind +%{_bindir}/%{cross_triplet}-gnatchop +%{_bindir}/%{cross_triplet}-gnatclean +%{_bindir}/%{cross_triplet}-gnatfind +%{_bindir}/%{cross_triplet}-gnatkr +%{_bindir}/%{cross_triplet}-gnatlink +%{_bindir}/%{cross_triplet}-gnatls +%{_bindir}/%{cross_triplet}-gnatmake +%{_bindir}/%{cross_triplet}-gnatname +%{_bindir}/%{cross_triplet}-gnatprep +%{_bindir}/%{cross_triplet}-gnatxref +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/adainclude +%{_prefix}/lib/gcc/%{cross_triplet}/%{major_version}/adalib +%{_libexecdir}/gcc/%{cross_triplet}/%{major_version}/gnat1 +%endif +%endif + + +%changelog +* Sat Feb 23 2019 Ting-Wei Lan <lantw44@gmail.com> - 8.3.0-1 +- Update to new stable release 8.3.0 + +* Mon Oct 22 2018 Ting-Wei Lan <lantw44@gmail.com> - 8.2.0-2 +- Add GCC to BuildRequires for Fedora 29 and later + +* Thu Jul 26 2018 Ting-Wei Lan <lantw44@gmail.com> - 8.2.0-1 +- Update to new stable release 8.2.0 + +* Thu Jul 19 2018 Ting-Wei Lan <lantw44@gmail.com> - 8.1.0-2 +- Enable Go support + +* Wed May 02 2018 Ting-Wei Lan <lantw44@gmail.com> - 8.1.0-1 +- Update to new stable release 8.1.0 + +* Sun Apr 29 2018 Ting-Wei Lan <lantw44@gmail.com> - 8.0.1-1.20180429svn259748 +- Update to GCC 8 snapshot for Fedora 28 + +* Mon Feb 26 2018 Ting-Wei Lan <lantw44@gmail.com> - 7.3.0-2 +- Remove -fcf-protection from compiler flags because it needs -m options +- Remove -specs from _hardening_ldflags because it is now used directly +- Remove group tag because it is deprecated in Fedora + +* Thu Jan 25 2018 Ting-Wei Lan <lantw44@gmail.com> - 7.3.0-1 +- Update to new stable release 7.3.0 +- Remove -fstack-clash-protection from compiler flags to fix Fortran build +- Remove -Wl,-z,defs from linker flags to prevent plugins from being disabled + +* Mon Dec 11 2017 Ting-Wei Lan <lantw44@gmail.com> - 7.2.0-4 +- Use configure, make_build, make_install macros +- Replace define with global + +* Thu Dec 07 2017 Ting-Wei Lan <lantw44@gmail.com> - 7.2.0-3 +- Fix build ID conflict for Fedora 27 and later + +* Mon Oct 16 2017 Ting-Wei Lan <lantw44@gmail.com> - 7.2.0-2 +- Rebuilt for Fedora 27 and 28 + +* Mon Aug 14 2017 Ting-Wei Lan <lantw44@gmail.com> - 7.2.0-1 +- Update to new stable release 7.2.0 + +* Tue Aug 08 2017 Ting-Wei Lan <lantw44@gmail.com> - 7.1.0-4 +- Fix build failure with GLIBC 2.26 + +* Wed Aug 02 2017 Ting-Wei Lan <lantw44@gmail.com> - 7.1.0-3 +- Filter provides and requires in adalib directory to sync with GCC 6 branch +- Own include, include-fixed, plugin and versioned gcc directories + +* Mon Jul 03 2017 Ting-Wei Lan <lantw44@gmail.com> - 7.1.0-2 +- Filter provides and requires in cross_sysroot + +* Wed May 03 2017 Ting-Wei Lan <lantw44@gmail.com> - 7.1.0-1 +- Update to new stable release 7.1.0 +- Use bcond_without macro to conditionally enable Ada support +- Use only major version number in filesystem paths + +* Wed Mar 08 2017 Ting-Wei Lan <lantw44@gmail.com> - 6.3.0-2 +- Fix wrong string check caught by GCC 7 + +* Thu Dec 22 2016 Ting-Wei Lan <lantw44@gmail.com> - 6.3.0-1 +- Update to new stable release 6.3.0 + +* Sat Sep 10 2016 Ting-Wei Lan <lantw44@gmail.com> - 6.2.0-2 +- Rebuilt for Fedora 25 and 26 + +* Thu Aug 25 2016 Ting-Wei Lan <lantw44@gmail.com> - 6.2.0-1 +- Update to new stable release 6.2.0 + +* Sun May 08 2016 Ting-Wei Lan <lantw44@gmail.com> - 6.1.0-1 +- Update to new stable release 6.1.0 +- Drop support for Fedora 23 and older versions + +* Thu Mar 03 2016 Ting-Wei Lan <lantw44@gmail.com> - 5.3.0-3 +- Rebuilt for Fedora 24 and 25 + +* Mon Dec 28 2015 Ting-Wei Lan <lantw44@gmail.com> - 5.3.0-2 +- Sync configure options with Fedora +- Support arm-linux-gnueabihf and aarch64-linux-gnu + +* Sat Dec 05 2015 Ting-Wei Lan <lantw44@gmail.com> - 5.3.0-1 +- Update to new stable release 5.3.0 +- Fix glibc build with dnf on Fedora 24 + +* Tue Nov 24 2015 Ting-Wei Lan <lantw44@gmail.com> - 5.2.0-5 +- Own the directory of C++ headers +- Require the filesystem sub-package + +* Sun Nov 22 2015 Ting-Wei Lan <lantw44@gmail.com> - 5.2.0-4 +- Install license files and documentation + +* Sat Nov 21 2015 Ting-Wei Lan <lantw44@gmail.com> - 5.2.0-3 +- Rebuilt for hardening flags + +* Tue Jul 28 2015 Ting-Wei Lan <lantw44@gmail.com> - 5.2.0-2 +- Rebuilt for Fedora 23 and 24 + +* Fri Jul 17 2015 Ting-Wei Lan <lantw44@gmail.com> - 5.2.0-1 +- Update to new stable release 5.2.0 + +* Thu Apr 23 2015 Ting-Wei Lan <lantw44@gmail.com> - 5.1.0-2 +- Fix the usage of Fedora macro + +* Wed Apr 22 2015 Ting-Wei Lan <lantw44@gmail.com> - 5.1.0-1 +- Update to new stable release 5.1.0 +- Drop untested and possibly non-working Java support. +- Drop bundled CLooG because it is no longer required in GCC 5. +- Drop bundled ISL because it is now available in Fedora repository. +- Remove libcc1.so to prevent conflict with gcc-gdb-plugin. + +* Fri Mar 20 2015 Ting-Wei Lan <lantw44@gmail.com> - 4.9.2-4 +- Rebuilt for Fedora 22 and 23 +- Ada support cannot be built using GCC 5, so we disable it until GCC 5 + become a stable release. + +* Fri Jan 02 2015 Ting-Wei Lan <lantw44@gmail.com> - 4.9.2-3 +- Enable Ada support on Fedora 21 or later. + +* Sun Dec 21 2014 Ting-Wei Lan <lantw44@gmail.com> - 4.9.2-2 +- Disable automatic requirements finding in %{cross_sysroot} instead of + disabling it in all directories. +- Remove the %{cross_triplet}-kernel-headers dependency. It should be pulled + in by %{cross_triplet}-glibc or %{cross_triplet}-glibc-headers. + +* Fri Dec 19 2014 Ting-Wei Lan <lantw44@gmail.com> - 4.9.2-1 +- Initial packaging diff --git a/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/arm-linux-gnueabi-gcc.spec b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/9/arm-linux-gnueabi-gcc.spec index d9db631..d9db631 100644 --- a/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/arm-linux-gnueabi-gcc.spec +++ b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/9/arm-linux-gnueabi-gcc.spec diff --git a/arm-linux-gnueabi-toolchain/create-arch.sh b/arm-linux-gnueabi-toolchain/create-arch.sh index b378c7c..fc55155 100755 --- a/arm-linux-gnueabi-toolchain/create-arch.sh +++ b/arm-linux-gnueabi-toolchain/create-arch.sh @@ -1,6 +1,6 @@ #!/bin/sh -srcdir="`dirname "$0"`" +srcdir="$(dirname "$0")" test -z "${srcdir}" && srcdir=. base_arch="arm" @@ -18,31 +18,73 @@ new_arch="$1" new_triplet="$2" new_dir="$3" -for spec in "${srcdir}/../${base_dir}/${base_triplet}"*/*.spec; do - base_pkg_name="`basename "${spec}" | sed 's/\.spec$//'`" - new_pkg_name="`echo "${base_pkg_name}" | sed "s/^${base_triplet}/${new_triplet}/"`" - echo "Creating RPM spec: ${new_pkg_name}" - mkdir -p "${new_dir}/${new_pkg_name}" - sed -e "1s/${base_arch}/${new_arch}/" -e "2s/${base_triplet}/${new_triplet}/" \ - "${spec}" > "${new_dir}/${new_pkg_name}/${new_pkg_name}.spec" +create_spec () { + arg_pkg_name="$1" + arg_src_spec="$2" + arg_sub_dir="$3" + if [ -n "${arg_sub_dir}" ]; then + var_msg_name="${arg_pkg_name} (version ${arg_sub_dir})" + var_dst_dir="${new_dir}/${arg_pkg_name}/${arg_sub_dir}" + else + var_msg_name="${arg_pkg_name}" + var_dst_dir="${new_dir}/${arg_pkg_name}" + fi + var_dst_spec="${var_dst_dir}/${arg_pkg_name}.spec" + printf 'Creating RPM spec: %s\n' "${var_msg_name}" + mkdir -p -- "${var_dst_dir}" + sed -e "1s ${base_arch} ${new_arch} " \ + -e "2s ${base_triplet} ${new_triplet} " \ + "${arg_src_spec}" > "${var_dst_spec}" +} + +for spec in "${srcdir}/../${base_dir}/${base_triplet}"-*/*.spec; do + base_pkg_name="$(basename -- "$(dirname -- "${spec}")")" + new_pkg_name="$(printf '%s' "${base_pkg_name}" | sed "s/^${base_triplet}/${new_triplet}/")" + create_spec "${new_pkg_name}" "${spec}" done -for boot_spec in bootstrap; do - base_pkg_name="${new_triplet}-glibc" - new_pkg_name="${new_triplet}-glibc-headers" - echo "Creating bootstrap RPM spec: ${new_pkg_name}" - mkdir -p "${new_dir}/${new_pkg_name}" - { echo '%global bootstrap 1'; - cat "${new_dir}/${base_pkg_name}/${base_pkg_name}.spec"; } > \ - "${new_dir}/${new_pkg_name}/${new_pkg_name}.spec" +for spec in "${srcdir}/../${base_dir}/${base_triplet}"-*/*/*.spec; do + base_sub_dir="$(basename -- "$(dirname -- "${spec}")")" + base_pkg_name="$(basename -- "$(dirname -- "$(dirname -- "${spec}")")")" + new_pkg_name="$(printf '%s' "${base_pkg_name}" | sed "s/^${base_triplet}/${new_triplet}/")" + create_spec "${new_pkg_name}" "${spec}" "${base_sub_dir}" done -for boot_spec in pass1 pass2; do +create_boot_spec () { + arg_pkg_name="$1" + arg_src_spec="$2" + arg_spec_hdr="$3" + arg_sub_dir="$4" + if [ -n "${arg_sub_dir}" ]; then + var_msg_name="${arg_pkg_name} (version ${arg_sub_dir})" + var_dst_dir="${new_dir}/${arg_pkg_name}/${arg_sub_dir}" + else + var_msg_name="${arg_pkg_name}" + var_dst_dir="${new_dir}/${arg_pkg_name}" + fi + var_dst_spec="${var_dst_dir}/${arg_pkg_name}.spec" + printf 'Creating bootstrap RPM spec: %s\n' "${var_msg_name}" + mkdir -p -- "${var_dst_dir}" + { printf '%s\n' "${arg_spec_hdr}"; + cat -- "${arg_src_spec}"; } > "${var_dst_spec}" +} + +base_pkg_name="${new_triplet}-glibc" +new_pkg_name="${new_triplet}-glibc-headers" +create_boot_spec \ + "${new_pkg_name}" \ + "${new_dir}/${base_pkg_name}/${base_pkg_name}.spec" \ + '%global bootstrap 1' + +for stage in pass1 pass2; do base_pkg_name="${new_triplet}-gcc" - new_pkg_name="${new_triplet}-gcc-${boot_spec}" - echo "Creating bootstrap RPM spec: ${new_pkg_name}" - mkdir -p "${new_dir}/${new_pkg_name}" - { echo "%global cross_stage ${boot_spec}"; - cat "${new_dir}/${base_pkg_name}/${base_pkg_name}.spec"; } > \ - "${new_dir}/${new_pkg_name}/${new_pkg_name}.spec" + new_pkg_name="${new_triplet}-gcc-${stage}" + for sub_dir in "${new_dir}/${base_pkg_name}/"*; do + version="$(basename -- "${sub_dir}")" + create_boot_spec \ + "${new_pkg_name}" \ + "${sub_dir}/${base_pkg_name}.spec" \ + "%global cross_stage ${stage}" \ + "${version}" + done done |