aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTing-Wei Lan <lantw44@gmail.com>2019-05-25 00:03:08 +0800
committerTing-Wei Lan <lantw44@gmail.com>2019-05-25 00:03:08 +0800
commitc3fdd23c0661512faa65b92ff687583dde5855a5 (patch)
tree1ca5c330bb1a0b427ea8b2c41e0091b25a9790f1
parent0b972be65db622d3c38f5e9644453d299621a7c3 (diff)
downloadcopr-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.spec496
-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-xarm-linux-gnueabi-toolchain/create-arch.sh88
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