From 54ec7f2175ea40a0b9a892f7943fa526a03a9953 Mon Sep 17 00:00:00 2001 From: Aleksey Tulinov Date: Sun, 17 Feb 2019 17:03:07 +0200 Subject: [PATCH] cross-x86_64-w64-mingw32: update to 6.0.0. [ci skip] closes #9113 Co-authored-by: maxice8 --- srcpkgs/cross-i686-w64-mingw32-crt | 1 + srcpkgs/cross-x86_64-w64-mingw32-crt | 1 + srcpkgs/cross-x86_64-w64-mingw32/template | 111 ++++++++++++++++------ 3 files changed, 82 insertions(+), 31 deletions(-) create mode 120000 srcpkgs/cross-i686-w64-mingw32-crt create mode 120000 srcpkgs/cross-x86_64-w64-mingw32-crt diff --git a/srcpkgs/cross-i686-w64-mingw32-crt b/srcpkgs/cross-i686-w64-mingw32-crt new file mode 120000 index 00000000000..e3a5ca88033 --- /dev/null +++ b/srcpkgs/cross-i686-w64-mingw32-crt @@ -0,0 +1 @@ +cross-x86_64-w64-mingw32 \ No newline at end of file diff --git a/srcpkgs/cross-x86_64-w64-mingw32-crt b/srcpkgs/cross-x86_64-w64-mingw32-crt new file mode 120000 index 00000000000..e3a5ca88033 --- /dev/null +++ b/srcpkgs/cross-x86_64-w64-mingw32-crt @@ -0,0 +1 @@ +cross-x86_64-w64-mingw32 \ No newline at end of file diff --git a/srcpkgs/cross-x86_64-w64-mingw32/template b/srcpkgs/cross-x86_64-w64-mingw32/template index 43980421db9..ecc83c44647 100644 --- a/srcpkgs/cross-x86_64-w64-mingw32/template +++ b/srcpkgs/cross-x86_64-w64-mingw32/template @@ -1,19 +1,27 @@ -_binutils_version=2.29.1 -_gcc_version=8.3.0 -_gmp_version=6.1.2 -_mpfr_version=4.0.1 -_mpc_version=1.1.0 -_isl_version=0.19 -_mingw_version=5.0.4 +# Template file for 'cross-x86_64-w64-mingw32' +_gcc_version="8.3.0" +_binutils_version="2.32" +_gmp_version="6.1.2" +_mpfr_version="4.0.1" +_mpc_version="1.1.0" +_isl_version="0.19" +_mingw_version="6.0.0" pkgname=cross-x86_64-w64-mingw32 -version=${_mingw_version} -revision=5 +version="$_mingw_version" +revision=1 +archs="x86_64 i686" +create_wrksrc=yes +hostmakedepends="perl flex" +makedepends="zlib-devel" +# it's ok to build with current's -devel packages +# although it might break the package during compiler updates +#makedepends="zlib-devel gmp-devel mpfr-devel libmpc-devel isl15-devel" +depends="${pkgname}-crt-${version}_${revision}" short_desc="Cross toolchain for Win64 (GCC ${_gcc_version})" maintainer="Aleksey Tulinov " homepage="https://sourceforge.net/projects/mingw-w64/" license="GPL-2.0-or-later, GPL-3.0-or-later, ZPL-2.1" - distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz @@ -22,25 +30,23 @@ distfiles=" http://www.mpfr.org/mpfr-${_mpfr_version}/mpfr-${_mpfr_version}.tar.xz http://isl.gforge.inria.fr/isl-${_isl_version}.tar.bz2 ${SOURCEFORGE_SITE}/project/mingw-w64/mingw-w64/mingw-w64-release/mingw-w64-v${_mingw_version}.tar.bz2" -checksum=" - 1509dff41369fb70aed23682351b663b56db894034773e6dbf7d5d6071fc55cc +checksum="de38b15c902eb2725eac6af21183a5f34ea4634cb0bcef19612b50e5ed31072d 64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c 6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e 87b565e89a9a684fe4ebeeddb8399dce2599f9c9049854ca8c0dfbdea0e21912 67874a60826303ee2fb6affc6dc0ddd3e749e9bfcb4c8655e3953d0458a6e16e d59726f34f7852a081fbd3defd1ab2136f174110fc2e0c8d10bb122173fa9ed8 - 5527e1f6496841e2bb72f97a184fc79affdcd37972eaa9ebf7a5fd05c31ff803" + 805e11101e26d7897fce7d49cbb140d7bac15f3e085a91e0001e80b2adaf48f0" -archs="x86_64" -create_wrksrc=yes -hostmakedepends="perl flex" -makedepends="zlib-devel" -# it's ok to build with current's -devel packages -# although it might break the package during compiler updates -#makedepends="zlib-devel gmp-devel mpfr-devel libmpc-devel isl15-devel" -nostrip=yes nopie=yes nodebug=yes +noverifyrdeps=yes +noshlibprovides=yes +lib32disabled=yes # disable build of 32bits packages +nostrip_files="libgcc.a libgcc_eh.a libgcc_s.a libgcov.a + libatomic.a libatomic.dll.a libquadmath.a libquadmath.dll.a + libssp.a libssp.dll.a libssp_nonshared.a + libstdc++.a libstdc++.dll.a libsupc++.a" # https://sourceforge.net/p/mingw-w64/wiki2/Cross%20Win32%20and%20Win64%20compiler/ # https://gcc.gnu.org/install/configure.html @@ -198,6 +204,11 @@ _gcc_build() { } _build_cross() { + # ensure we use sane environment + unset CC CXX CPP LD AS AR RANLIB OBJDUMP READELF NM + unset STRIP OBJDUMP WINDRES + unset CFLAGS CXXFLAGS CPPFLAGS LDFLAGS + _target=$1 (_binutils_build ${_target}) @@ -213,22 +224,27 @@ do_build() { (_build_cross "i686-w64-mingw32") } -_install_cross() { +_install_toolchain() { _target=$1 (cd ${wrksrc}/"build-binutils-${_target}" && DESTDIR="$DESTDIR" make install) (cd ${wrksrc}/"build-gcc-${_target}" && DESTDIR="$DESTDIR" make install) - (cd ${wrksrc}/"build-mingw-headers-${_target}" && DESTDIR="$DESTDIR" make install) - (cd ${wrksrc}/"build-mingw-crt-${_target}" && DESTDIR="$DESTDIR" make install) - (cd ${wrksrc}/"build-mingw-winpthreads-${_target}" && DESTDIR="$DESTDIR" make install) # remove unnecessary stuff rm -rf ${DESTDIR}/usr/share/ rm -rf ${DESTDIR}/usr/lib/libcc1* } +_install_crt() { + _target=$1 + + (cd ${wrksrc}/"build-mingw-headers-${_target}" && DESTDIR="$DESTDIR" make install) + (cd ${wrksrc}/"build-mingw-crt-${_target}" && DESTDIR="$DESTDIR" make install) + (cd ${wrksrc}/"build-mingw-winpthreads-${_target}" && DESTDIR="$DESTDIR" make install) +} + do_install() { - _install_cross "x86_64-w64-mingw32" + (_install_toolchain "x86_64-w64-mingw32") # i686 version will be installed in subpackage (below) } @@ -242,17 +258,50 @@ _clean_cross() { } do_clean() { - _clean_cross "x86_64-w64-mingw32" - _clean_cross "i686-w64-mingw32" + (_clean_cross "x86_64-w64-mingw32") + (_clean_cross "i686-w64-mingw32") +} + +cross-x86_64-w64-mingw32-crt_package() { + short_desc="CRT for Win64 cross toolchain" + nopie=yes + nodebug=yes + # this subpackage exists to skip strip step on CRT files + nostrip=yes + noverifyrdeps=yes + noshlibsprovides=yes + lib32disabled=yes + pkg_install() { + DESTDIR="$PKGDESTDIR" _install_crt "x86_64-w64-mingw32" + } } cross-i686-w64-mingw32_package() { short_desc="Cross toolchain for Win32 (GCC ${_gcc_version})" - nostrip=yes + depends="${pkgname}-crt-${version}_${revision}" nopie=yes nodebug=yes - + noverifyrdeps=yes + noshlibsprovides=yes + lib32disabled=yes + nostrip_files="libgcc.a libgcc_eh.a libgcc_s.a libgcov.a + libatomic.a libatomic.dll.a libquadmath.a libquadmath.dll.a + libssp.a libssp.dll.a libssp_nonshared.a + libstdc++.a libstdc++.dll.a libsupc++.a" pkg_install() { - DESTDIR="$PKGDESTDIR" _install_cross "i686-w64-mingw32" + DESTDIR="$PKGDESTDIR" _install_toolchain "i686-w64-mingw32" + } +} + +cross-i686-w64-mingw32-crt_package() { + short_desc="CRT for Win32 cross toolchain" + nopie=yes + nodebug=yes + nostrip=yes + noverifyrdeps=yes + noshlibsprovides=yes + lib32disabled=yes + pkg_install() { + DESTDIR="$PKGDESTDIR" _install_crt "i686-w64-mingw32" } }