WineBarrels-BasePlatforms/Platform/v1.0/ExtensionMinGW.yaml

291 lines
11 KiB
YAML

build-extension: true
id: de.marko10_000.winebarrels.Platform.ExtensionsV1.MinGW
branch: "v1.0"
sdk: de.marko10_000.winebarrels.Sdk
runtime: de.marko10_000.winebarrels.Platform
runtime-version: "v1.0"
build-options:
prefix: /usr/wine_extensions/v1/MinGW
modules:
- name: mingw-binutils-32bit
sources:
- type: archive
url: https://ftp.gnu.org/gnu/binutils/binutils-2.32.tar.xz
sha256: 0ab6c55dd86a92ed561972ba15b9b70a8b9f75557f896446c82e8b36e473ee04
config-opts:
- --target=i686-w64-mingw32
- --disable-multilib
- --disable-nls
- --disable-werror
- --enable-deterministic-archives
- --enable-gold
- --enable-lto
- --enable-plugins
- --enable-relro
- --enable-static-pie
- --enable-threads
builddir: true
cleanup:
- /share
- name: mingw-headers-32bit
sources:
- type: archive
url: https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/mingw-w64-v6.0.0.tar.bz2
sha256: 805e11101e26d7897fce7d49cbb140d7bac15f3e085a91e0001e80b2adaf48f0
buildsystem: simple
build-commands:
- ls -la /usr/wine_extensions/v1/MinGW
- mkdir builds
- cd builds && ../mingw-w64-headers/configure
--host=i686-w64-mingw32
--enable-sdk=all
--enable-secure-api
--prefix=/usr/wine_extensions/v1/MinGW/i686-w64-mingw32
- cd builds && make install
- echo "" > /usr/wine_extensions/v1/MinGW/i686-w64-mingw32/include/pthread_signal.h
- echo "" > /usr/wine_extensions/v1/MinGW/i686-w64-mingw32/include/pthread_time.h
- echo "" > /usr/wine_extensions/v1/MinGW/i686-w64-mingw32/include/pthread_unistd.h
cleanup:
- /share
- name: mingw-gcc-pass1-32bit
sources:
- type: archive
url: https://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.xz
sha256: 64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c
- type: archive
url: https://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.xz
sha256: 87b565e89a9a684fe4ebeeddb8399dce2599f9c9049854ca8c0dfbdea0e21912
dest: gmp
- type: archive
url: https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.xz
sha256: 1d3be708604eae0e42d578ba93b390c2a145f17743a744d8f3f8c2ad5855a38a
dest: mpfr
- type: archive
url: https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
sha256: 6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e
dest: mpc
- type: shell
commands:
- sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64
config-opts: &gcc32
- --libexecdir=/usr/wine_extensions/v1/MinGW/lib
- --target=i686-w64-mingw32
- --disable-dw2-exceptions
- --disable-multilib
- --disable-nls
- --enable-cloog-backend=isl
- --enable-cet=auto
- --enable-default-pie
- --enable-fully-dynamic-string
- --enable-languages=c,lto,c++
- --enable-lto
- --enable-plugin
- --enable-shared
- --enable-static
- --with-system-zlib
builddir: true
no-make-install: true
build-options:
make-args:
- all-gcc
post-install:
- make install-gcc
cleanup:
- /share
- name: mingw-crt-32bit
sources:
- type: archive
url: https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/mingw-w64-v6.0.0.tar.bz2
sha256: 805e11101e26d7897fce7d49cbb140d7bac15f3e085a91e0001e80b2adaf48f0
config-opts:
- --host=i686-w64-mingw32
- --disable-lib64
- --enable-lib32
- --enable-shared
- --enable-static
- --enable-wildcard
- --prefix=/usr/wine_extensions/v1/MinGW/i686-w64-mingw32
- CFLAGS=-fno-stack-protector
- CPPFLAGS=-fno-stack-protector
#- LDFLAGS=-fstack-protector-strong
#- ARFLAGS=-fstack-protector-strong
builddir: true
build-options:
env:
PATH: "/usr/wine_extensions/v1/MinGW/bin:/usr/bin"
cleanup:
- /share
- name: mingw-gcc-32bit
sources:
- type: archive
url: https://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.xz
sha256: 64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c
- type: archive
url: https://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.xz
sha256: 87b565e89a9a684fe4ebeeddb8399dce2599f9c9049854ca8c0dfbdea0e21912
dest: gmp
- type: archive
url: https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.xz
sha256: 1d3be708604eae0e42d578ba93b390c2a145f17743a744d8f3f8c2ad5855a38a
dest: mpfr
- type: archive
url: https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
sha256: 6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e
dest: mpc
- type: shell
commands:
- sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64
config-opts: *gcc32
builddir: true
post-install:
- rm -rfv /lib/cpp
cleanup:
- /share
- name: mingw-binutils-64bit
sources:
- type: archive
url: https://ftp.gnu.org/gnu/binutils/binutils-2.32.tar.xz
sha256: 0ab6c55dd86a92ed561972ba15b9b70a8b9f75557f896446c82e8b36e473ee04
config-opts:
- --target=x86_64-w64-mingw32
- --disable-multilib
- --disable-nls
- --disable-werror
- --enable-deterministic-archives
- --enable-gold
- --enable-lto
- --enable-plugins
- --enable-relro
- --enable-static-pie
- --enable-threads
builddir: true
cleanup:
- /share
only-arches:
- x86_64
- name: mingw-headers-64bit
sources:
- type: archive
url: https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/mingw-w64-v6.0.0.tar.bz2
sha256: 805e11101e26d7897fce7d49cbb140d7bac15f3e085a91e0001e80b2adaf48f0
buildsystem: simple
build-commands:
- mkdir builds
- cd builds && ../mingw-w64-headers/configure
--host=x86_64-w64-mingw32
--enable-sdk=all
--enable-secure-api
--prefix=/usr/wine_extensions/v1/MinGW/x86_64-w64-mingw32
- cd builds && make install
cleanup:
- /share
only-arches:
- x86_64
- name: mingw-gcc-pass1-64bit
sources:
- type: archive
url: https://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.xz
sha256: 64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c
- type: archive
url: https://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.xz
sha256: 87b565e89a9a684fe4ebeeddb8399dce2599f9c9049854ca8c0dfbdea0e21912
dest: gmp
- type: archive
url: https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.xz
sha256: 1d3be708604eae0e42d578ba93b390c2a145f17743a744d8f3f8c2ad5855a38a
dest: mpfr
- type: archive
url: https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
sha256: 6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e
dest: mpc
- type: shell
commands:
- sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64
config-opts: &gcc64
- --libexecdir=/usr/wine_extensions/v1/MinGW/lib
- --target=x86_64-w64-mingw32
- --disable-dw2-exceptions
- --disable-multilib
- --disable-nls
- --enable-cloog-backend=isl
- --enable-cet=auto
- --enable-default-pie
- --enable-fully-dynamic-string
- --enable-languages=c,lto,c++
- --enable-lto
- --enable-plugin
- --enable-shared
- --enable-static
- --with-system-zlib
builddir: true
no-make-install: true
build-options:
make-args:
- all-gcc
post-install:
- make install-gcc
cleanup:
- /share
only-arches:
- x86_64
- name: mingw-crt-64bit
sources:
- type: archive
url: https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/mingw-w64-v6.0.0.tar.bz2
sha256: 805e11101e26d7897fce7d49cbb140d7bac15f3e085a91e0001e80b2adaf48f0
config-opts:
- --host=x86_64-w64-mingw32
- --disable-lib32
- --disable-static
- --enable-lib64
- --enable-shared
- --enable-wildcard
- --prefix=/usr/wine_extensions/v1/MinGW/x86_64-w64-mingw32
- CFLAGS=-fno-stack-protector
- CPPFLAGS=-fno-stack-protector
#- LDFLAGS=-fstack-protector-strong
#- ARFLAGS=-fstack-protector-strong
builddir: true
build-options:
env:
PATH: "/usr/wine_extensions/v1/MinGW/bin:/usr/bin"
cleanup:
- /share
only-arches:
- x86_64
- name: mingw-gcc-64bit
sources:
- type: archive
url: https://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.xz
sha256: 64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c
- type: archive
url: https://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.xz
sha256: 87b565e89a9a684fe4ebeeddb8399dce2599f9c9049854ca8c0dfbdea0e21912
dest: gmp
- type: archive
url: https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.xz
sha256: 1d3be708604eae0e42d578ba93b390c2a145f17743a744d8f3f8c2ad5855a38a
dest: mpfr
- type: archive
url: https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
sha256: 6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e
dest: mpc
- type: shell
commands:
- sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64
config-opts: *gcc64
builddir: true
cleanup:
- /share
only-arches:
- x86_64
- name: update_elf
sources:
- type: file
path: elf_compress.py
buildsystem: simple
build-commands:
- python3 elf_compress.py /usr/wine_extensions/v1/MinGW