cross-x86_64-linux-musl: update for gcc-9.2.0 + go/objc(++)
This commit is contained in:
parent
67c09a3a89
commit
5891437ecd
3 changed files with 35 additions and 10 deletions
1
srcpkgs/cross-x86_64-linux-musl/files/gccgo-musl.patch
Symbolic link
1
srcpkgs/cross-x86_64-linux-musl/files/gccgo-musl.patch
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../../gcc/files/gccgo-musl.patch
|
|
@ -1 +0,0 @@
|
||||||
../../gcc/patches/non-nullness.patch
|
|
|
@ -1,16 +1,17 @@
|
||||||
# Template file for 'cross-x86_64-linux-musl'
|
# Template file for 'cross-x86_64-linux-musl'
|
||||||
#
|
#
|
||||||
_binutils_version=2.32
|
_binutils_version=2.32
|
||||||
_gcc_version=9.1.0
|
_gcc_version=9.2.0
|
||||||
_musl_version=1.1.23
|
_musl_version=1.1.23
|
||||||
_linux_version=4.19
|
_linux_version=4.19
|
||||||
|
_libucontext_version=0.9.0
|
||||||
|
|
||||||
_triplet=x86_64-linux-musl
|
_triplet=x86_64-linux-musl
|
||||||
_sysroot="/usr/${_triplet}"
|
_sysroot="/usr/${_triplet}"
|
||||||
|
|
||||||
pkgname=cross-${_triplet}
|
pkgname=cross-${_triplet}
|
||||||
version=0.31
|
version=0.32
|
||||||
revision=3
|
revision=1
|
||||||
archs="i686* x86_64 ppc64le"
|
archs="i686* x86_64 ppc64le"
|
||||||
short_desc="Cross toolchain for x86_64 with musl"
|
short_desc="Cross toolchain for x86_64 with musl"
|
||||||
maintainer="Orphaned <orphan@voidlinux.org>"
|
maintainer="Orphaned <orphan@voidlinux.org>"
|
||||||
|
@ -20,18 +21,20 @@ distfiles="
|
||||||
${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
|
${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
|
||||||
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"
|
${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz
|
||||||
|
https://distfiles.adelielinux.org/source/libucontext/libucontext-${_libucontext_version}.tar.xz"
|
||||||
checksum="0ab6c55dd86a92ed561972ba15b9b70a8b9f75557f896446c82e8b36e473ee04
|
checksum="0ab6c55dd86a92ed561972ba15b9b70a8b9f75557f896446c82e8b36e473ee04
|
||||||
79a66834e96a6050d8fe78db2c3b32fb285b230b855d0a66288235bc04b327a0
|
ea6ef08f121239da5695f76c9b33637a118dcf63e24164422231917fa61fb206
|
||||||
8a0feb41cef26c97dde382c014e68b9bb335c094bbc1356f6edaaf6b79bd14aa
|
8a0feb41cef26c97dde382c014e68b9bb335c094bbc1356f6edaaf6b79bd14aa
|
||||||
0c68f5655528aed4f99dae71a5b259edc93239fa899e2df79c055275c21749a1"
|
0c68f5655528aed4f99dae71a5b259edc93239fa899e2df79c055275c21749a1
|
||||||
|
0d53a415a307ef175153bbe60a572c940a922cb736ce13530b666e7ec2795d68"
|
||||||
|
|
||||||
lib32disabled=yes
|
lib32disabled=yes
|
||||||
nocross=yes
|
nocross=yes
|
||||||
nopie=yes
|
nopie=yes
|
||||||
nodebug=yes
|
nodebug=yes
|
||||||
create_wrksrc=yes
|
create_wrksrc=yes
|
||||||
hostmakedepends="flex perl python3"
|
hostmakedepends="gcc-objc gcc-go flex perl python3"
|
||||||
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"
|
libgnarl_pic.a libgnarl.a libgnat_pic.a libgnat.a"
|
||||||
|
@ -83,10 +86,10 @@ _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}/non-nullness.patch
|
|
||||||
_apply_patch -p0 ${FILESDIR}/musl-ada.patch
|
_apply_patch -p0 ${FILESDIR}/musl-ada.patch
|
||||||
_apply_patch -p1 ${FILESDIR}/libgnarl-musl.patch
|
_apply_patch -p1 ${FILESDIR}/libgnarl-musl.patch
|
||||||
_apply_patch -p0 ${FILESDIR}/invalid_tls_model.patch
|
_apply_patch -p0 ${FILESDIR}/invalid_tls_model.patch
|
||||||
|
_apply_patch -p0 ${FILESDIR}/gccgo-musl.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
|
||||||
|
@ -158,6 +161,22 @@ _musl_build() {
|
||||||
touch ${wrksrc}/.musl_build_done
|
touch ${wrksrc}/.musl_build_done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_libucontext_build() {
|
||||||
|
[ -f ${wrksrc}/.libucontext_build_done ] && return 0
|
||||||
|
|
||||||
|
cd ${wrksrc}/libucontext-${_libucontext_version}
|
||||||
|
msg_normal "Building cross libucontext\n"
|
||||||
|
|
||||||
|
# it's ok if we're static only here
|
||||||
|
CC="${_triplet}-gcc" AR="${_triplet}-ar" AS="${_triplet}-as" \
|
||||||
|
CFLAGS="-Os -pipe ${_archflags}" \
|
||||||
|
make ARCH=x86_64 libucontext.a
|
||||||
|
|
||||||
|
cp libucontext.a ${_sysroot}/usr/lib
|
||||||
|
|
||||||
|
touch ${wrksrc}/.libucontext_build_done
|
||||||
|
}
|
||||||
|
|
||||||
_gcc_build() {
|
_gcc_build() {
|
||||||
local _args
|
local _args
|
||||||
[ -f ${wrksrc}/.gcc_build_done ] && return 0
|
[ -f ${wrksrc}/.gcc_build_done ] && return 0
|
||||||
|
@ -171,7 +190,7 @@ _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,ada,c++,fortran,lto"
|
_args+=" --enable-languages=c,ada,c++,objc,obj-c++,go,fortran,lto"
|
||||||
_args+=" --enable-libada"
|
_args+=" --enable-libada"
|
||||||
_args+=" --enable-lto"
|
_args+=" --enable-lto"
|
||||||
_args+=" --enable-default-pie"
|
_args+=" --enable-default-pie"
|
||||||
|
@ -213,6 +232,7 @@ do_build() {
|
||||||
_gcc_bootstrap
|
_gcc_bootstrap
|
||||||
_linux_headers
|
_linux_headers
|
||||||
_musl_build
|
_musl_build
|
||||||
|
_libucontext_build
|
||||||
_gcc_build
|
_gcc_build
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -264,6 +284,11 @@ do_install() {
|
||||||
ln -svf libgnat-${_majorver}.so libgnat.so
|
ln -svf libgnat-${_majorver}.so libgnat.so
|
||||||
rm -vf ${DESTDIR}/${_adalib}/libgna{rl,t}.so
|
rm -vf ${DESTDIR}/${_adalib}/libgna{rl,t}.so
|
||||||
|
|
||||||
|
# We need to build libatomic in target gcc as gccgo needs it to
|
||||||
|
# build... but it's not needed at runtime, so remove it from the
|
||||||
|
# destdir so it doesn't conflict with the libatomic package
|
||||||
|
rm -f ${DESTDIR}/${_sysroot}/usr/lib/libatomic.*
|
||||||
|
|
||||||
# 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
|
||||||
|
|
Loading…
Reference in a new issue