Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
FS#68033 - [mingw-w64-gcc] consider removing/splitting unused languages
Attached to Project:
Community Packages
Opened by Emil (xexaxo) - Monday, 28 September 2020, 15:29 GMT
Last edited by freswa (frederik) - Monday, 28 September 2020, 19:34 GMT
Opened by Emil (xexaxo) - Monday, 28 September 2020, 15:29 GMT
Last edited by freswa (frederik) - Monday, 28 September 2020, 19:34 GMT
|
DetailsDescription:
The package was reintroduced (after living in AUR for 2.5 years) for building wine. Wine uses C/C++, yet the package also includes support for ada, objc/objc++ and fortran. The package is over 800MB, while in reality we're using only 1/3-1/2 of it. Can we disable the unused languages? Alternatively, we can split them in separate packages akin to gcc{,-ada,-objc,-fortran}. Additional info: * package version(s) 10.2.0-1 Steps to reproduce: - rebuild the package with "--enable-languages=c,c++,lto" - observe successful build of wine/wine-staging/other official packages |
This task depends upon
Separate the compiler (some 750MiB) and runtime (rest 100ish MiB) - akin to gcc{,-ada,-objc,-fortran} vs gcc-libs.
Although currently, we force-move the runtime from lib -> bin (in package()) so odd are that nobody, outside the mingw toolchain, actually uses it.
If so, a better solution may be to use mingw-w64-gcc as makedepend in the wine package?
Any applications build with -fstack-protector or other options can end up pulling DLLs like - libatomic/libgcc_s/libssp - at runtime.
Currently the only way to get the required runtime files (worth 10-15M), one needs to install the whole toolchain. Namely:
- mingw-w64-gcc 12.2.0-1 - 211.2 MB/935.6 MB
- mingw-w64-crt 10.0.0-1 - 5.8 MB/150.5 MB
- mingw-w64-binutils 2.38-3 - 4.1 MB/36.6 MB
- mingw-w64-headers 10.0.0-1 - 9.9 MB/118.2 MB
Overall, one need to download ~230M of packages and use ~1.2G of disk space... Only to run a simple Hello World, compiled with -fstack-protector.
Can we please get split the runtime libraries to a gcc-libs like package? Thanks in advance.