cross-x86_64-linux-musl: binutils-2.31.1 and gnat

[ci skip]
This commit is contained in:
Jürgen Buchmüller 2018-10-31 14:30:50 +01:00 committed by Enno Boland
parent fd3844014b
commit e649ccd05b
2 changed files with 26 additions and 14 deletions

View file

@ -0,0 +1 @@
../../gcc/patches/musl-ada.patch

View file

@ -1,39 +1,39 @@
# Template build file for 'cross-x86_64-linux-musl' # Template build file for 'cross-x86_64-linux-musl'
# #
_binutils_version=2.29.1 _binutils_version=2.31.1
_gcc_version=8.2.0 _gcc_version=8.2.0
_musl_version=1.1.20 _musl_version=1.1.20
_linux_version=4.9.8 _linux_version=4.19
_triplet=x86_64-linux-musl _triplet=x86_64-linux-musl
_sysroot="/usr/${_triplet}" _sysroot="/usr/${_triplet}"
pkgname=cross-${_triplet} pkgname=cross-${_triplet}
version=0.28 version=0.29
revision=1 revision=1
short_desc="Cross toolchain for x86_64 with musl" short_desc="Cross toolchain for x86_64 with musl"
maintainer="Juan RP <xtraeme@voidlinux.eu>" maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://www.voidlinux.eu" homepage="https://www.voidlinux.org/"
license="GPL-2.0-or-later, GPL-3.0-or-later, MIT" license="GPL-2.0-or-later, GPL-3.0-or-later, MIT"
distfiles=" distfiles="
${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz http://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz
http://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz" ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz"
checksum=" checksum="5d20086ecf5752cc7d9134246e9588fa201740d540f7eb84d795b1f7a93bca86
1509dff41369fb70aed23682351b663b56db894034773e6dbf7d5d6071fc55cc
196c3c04ba2613f893283977e6011b2345d1cd1af9abeac58e916b1aab3e0080 196c3c04ba2613f893283977e6011b2345d1cd1af9abeac58e916b1aab3e0080
150bb7f2dd4849b5d21b8ccd8d05294a48229e1fcb93a22e7b806a79ec0b0e45 44be8771d0e6c6b5f82dd15662eb2957c9a3173a19a8b49966ac0542bbd40d61
44be8771d0e6c6b5f82dd15662eb2957c9a3173a19a8b49966ac0542bbd40d61" 0c68f5655528aed4f99dae71a5b259edc93239fa899e2df79c055275c21749a1"
lib32disabled=yes lib32disabled=yes
nocross=yes nocross=yes
nopie=yes nopie=yes
nodebug=yes nodebug=yes
create_wrksrc=yes create_wrksrc=yes
hostmakedepends="perl flex" hostmakedepends="perl flex gcc-ada libada-devel"
makedepends="zlib-devel gmp-devel mpfr-devel libmpc-devel isl15-devel" makedepends="zlib-devel gmp-devel mpfr-devel libmpc-devel isl15-devel"
nostrip_files="libcaf_single.a libgcc.a libgcov.a libgcc_eh.a" nostrip_files="libcaf_single.a libgcc.a libgcov.a libgcc_eh.a
libgnarl_pic.a libgnarl.a libgnat_pic.a libgnat.a"
depends="${pkgname}-libc-${version}_${revision}" depends="${pkgname}-libc-${version}_${revision}"
only_for_archs="i686 i686-musl x86_64" only_for_archs="i686 i686-musl x86_64"
@ -83,6 +83,7 @@ _gcc_bootstrap() {
cd ${wrksrc}/gcc-${_gcc_version} cd ${wrksrc}/gcc-${_gcc_version}
_apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
_apply_patch -p0 ${FILESDIR}/musl-ada.patch
sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64 sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
sed -i 's/lib64/lib/' gcc/config/i386/linux64.h sed -i 's/lib64/lib/' gcc/config/i386/linux64.h
@ -167,7 +168,8 @@ _gcc_build() {
_args="--prefix=/usr" _args="--prefix=/usr"
_args+=" --target=${_triplet}" _args+=" --target=${_triplet}"
_args+=" --with-sysroot=${_sysroot}" _args+=" --with-sysroot=${_sysroot}"
_args+=" --enable-languages=c,c++,fortran,lto" _args+=" --enable-languages=c,ada,c++,fortran,lto"
_args+=" --enable-libada"
_args+=" --enable-lto" _args+=" --enable-lto"
_args+=" --enable-default-pie" _args+=" --enable-default-pie"
_args+=" --enable-default-ssp" _args+=" --enable-default-ssp"
@ -250,6 +252,15 @@ do_install() {
cd ${DESTDIR}/${_sysroot}/usr/lib cd ${DESTDIR}/${_sysroot}/usr/lib
ln -sf libc.so ld-musl-x86_64.so.1 ln -sf libc.so ld-musl-x86_64.so.1
# symlinks for gnarl and gnat shared libraries
_majorver=${_gcc_version%.*.*}
_adalib=usr/lib/gcc/${_triplet}/${_gcc_version}/adalib
mv -v ${DESTDIR}/${_adalib}/libgnarl-${_majorver}.so ${DESTDIR}/${_sysroot}/usr/lib
mv -v ${DESTDIR}/${_adalib}/libgnat-${_majorver}.so ${DESTDIR}/${_sysroot}/usr/lib
ln -svf libgnarl-${_majorver}.so libgnarl.so
ln -svf libgnat-${_majorver}.so libgnat.so
rm -vf ${DESTDIR}/${_adalib}/libgna{rl,t}.so
# Remove unnecessary stuff # Remove unnecessary stuff
rm -f ${DESTDIR}/usr/lib*/libiberty.a rm -f ${DESTDIR}/usr/lib*/libiberty.a
rm -rf ${DESTDIR}/usr/share rm -rf ${DESTDIR}/usr/share