summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Grapentin <andreas@grapentin.org>2018-05-23 22:34:04 +0200
committerAndreas Grapentin <andreas@grapentin.org>2018-05-23 22:34:04 +0200
commit4e0223ba90e229cfe066194ce2f4189bfcbf9e7a (patch)
treed0dfece247fba00c40a50a50241a5a70cfe923d6
parentc9d45d267226ecad2d5ac4b91efa8740c3542589 (diff)
beware of the monster - this commit unifies the separate porting efforts into one source tree
-rw-r--r--.gitignore1
-rw-r--r--README24
-rw-r--r--config/config.powerpc64le.sh6
-rw-r--r--config/config.riscv32.sh48
-rw-r--r--config/config.riscv64.sh6
-rw-r--r--config/config.sparc.sh48
-rw-r--r--config/config.template.sh4
-rwxr-xr-xcreate.sh3
-rw-r--r--src/shared/deptree.sh16
-rw-r--r--src/shared/feedback.sh4
-rw-r--r--src/shared/package.sh57
-rw-r--r--src/shared/srcinfo.sh4
-rwxr-xr-xsrc/stage1/stage1.sh13
-rw-r--r--src/stage1/toolchain-pkgbuilds/gcc-bootstrap/0001-pthread-reentrant.patch.in11
-rw-r--r--src/stage1/toolchain-pkgbuilds/gcc-bootstrap/PKGBUILD.in26
-rw-r--r--src/stage1/toolchain-pkgbuilds/gcc-bootstrap/pure64.patch.in217
-rw-r--r--src/stage1/toolchain-pkgbuilds/gcc/0001-pthread-reentrant.patch.in11
-rw-r--r--src/stage1/toolchain-pkgbuilds/gcc/PKGBUILD.in24
-rw-r--r--src/stage1/toolchain-pkgbuilds/gcc/pure64.patch.in217
-rw-r--r--src/stage1/toolchain-pkgbuilds/glibc/PKGBUILD.in14
-rw-r--r--src/stage1/toolchain-pkgbuilds/linux-libre-api-headers/PKGBUILD.in4
-rw-r--r--src/stage2/makepkg.sh20
-rw-r--r--src/stage2/patches/binutils.patch39
-rw-r--r--src/stage2/patches/bzip2.patch13
-rw-r--r--src/stage2/patches/dbus.patch11
-rw-r--r--src/stage2/patches/elfutils.patch11
-rw-r--r--src/stage2/patches/gcc.patch223
-rw-r--r--src/stage2/patches/generic/acl.patch (renamed from src/stage2/patches/acl.patch)0
-rw-r--r--src/stage2/patches/generic/argon2.patch (renamed from src/stage2/patches/argon2.patch)0
-rw-r--r--src/stage2/patches/generic/attr.patch (renamed from src/stage2/patches/attr.patch)0
-rw-r--r--src/stage2/patches/generic/bash.patch (renamed from src/stage2/patches/bash.patch)0
-rw-r--r--src/stage2/patches/generic/binutils.patch20
-rw-r--r--src/stage2/patches/generic/bison.patch (renamed from src/stage2/patches/bison.patch)0
-rw-r--r--src/stage2/patches/generic/bzip2.patch23
-rw-r--r--src/stage2/patches/generic/coreutils.patch (renamed from src/stage2/patches/coreutils.patch)0
-rw-r--r--src/stage2/patches/generic/cracklib.patch (renamed from src/stage2/patches/cracklib.patch)0
-rw-r--r--src/stage2/patches/generic/cryptsetup.patch (renamed from src/stage2/patches/cryptsetup.patch)0
-rw-r--r--src/stage2/patches/generic/curl.patch (renamed from src/stage2/patches/curl.patch)0
-rw-r--r--src/stage2/patches/generic/db.patch (renamed from src/stage2/patches/db.patch)0
-rw-r--r--src/stage2/patches/generic/dbus.patch21
-rw-r--r--src/stage2/patches/generic/diffutils.patch (renamed from src/stage2/patches/diffutils.patch)0
-rw-r--r--src/stage2/patches/generic/e2fsprogs.patch (renamed from src/stage2/patches/e2fsprogs.patch)0
-rw-r--r--src/stage2/patches/generic/elfutils.patch72
-rw-r--r--src/stage2/patches/generic/expat.patch (renamed from src/stage2/patches/expat.patch)0
-rw-r--r--src/stage2/patches/generic/fakeroot.patch (renamed from src/stage2/patches/fakeroot.patch)0
-rw-r--r--src/stage2/patches/generic/file.patch (renamed from src/stage2/patches/file.patch)0
-rw-r--r--src/stage2/patches/generic/findutils.patch (renamed from src/stage2/patches/findutils.patch)0
-rw-r--r--src/stage2/patches/generic/flex.patch (renamed from src/stage2/patches/flex.patch)0
-rw-r--r--src/stage2/patches/generic/gawk.patch (renamed from src/stage2/patches/gawk.patch)0
-rw-r--r--src/stage2/patches/generic/gcc.patch424
-rw-r--r--src/stage2/patches/generic/gdbm.patch (renamed from src/stage2/patches/gdbm.patch)0
-rw-r--r--src/stage2/patches/generic/gettext.patch (renamed from src/stage2/patches/gettext.patch)0
-rw-r--r--src/stage2/patches/generic/glib2.patch (renamed from src/stage2/patches/glib2.patch)11
-rw-r--r--src/stage2/patches/generic/glibc.patch73
-rw-r--r--src/stage2/patches/generic/gmp.patch (renamed from src/stage2/patches/gmp.patch)0
-rw-r--r--src/stage2/patches/generic/gnupg.patch (renamed from src/stage2/patches/gnupg.patch)0
-rw-r--r--src/stage2/patches/generic/gnutls.patch (renamed from src/stage2/patches/gnutls.patch)0
-rw-r--r--src/stage2/patches/generic/gpgme.patch (renamed from src/stage2/patches/gpgme.patch)21
-rw-r--r--src/stage2/patches/generic/grep.patch (renamed from src/stage2/patches/grep.patch)0
-rw-r--r--src/stage2/patches/generic/groff.patch (renamed from src/stage2/patches/groff.patch)0
-rw-r--r--src/stage2/patches/generic/gzip.patch (renamed from src/stage2/patches/gzip.patch)0
-rw-r--r--src/stage2/patches/generic/iptables.patch (renamed from src/stage2/patches/iptables.patch)0
-rw-r--r--src/stage2/patches/generic/json-c.patch (renamed from src/stage2/patches/json-c.patch)0
-rw-r--r--src/stage2/patches/generic/kbd.patch (renamed from src/stage2/patches/kbd.patch)0
-rw-r--r--src/stage2/patches/generic/keyutils.patch (renamed from src/stage2/patches/keyutils.patch)0
-rw-r--r--src/stage2/patches/generic/kmod.patch (renamed from src/stage2/patches/kmod.patch)0
-rw-r--r--src/stage2/patches/generic/less.patch (renamed from src/stage2/patches/less.patch)0
-rw-r--r--src/stage2/patches/generic/libarchive.patch (renamed from src/stage2/patches/libarchive.patch)0
-rw-r--r--src/stage2/patches/generic/libassuan.patch (renamed from src/stage2/patches/libassuan.patch)0
-rw-r--r--src/stage2/patches/generic/libatomic_ops.patch (renamed from src/stage2/patches/libatomic_ops.patch)0
-rw-r--r--src/stage2/patches/generic/libcap-ng.patch (renamed from src/stage2/patches/libcap-ng.patch)0
-rw-r--r--src/stage2/patches/generic/libcap.patch (renamed from src/stage2/patches/libcap.patch)0
-rw-r--r--src/stage2/patches/generic/libffi.patch11
-rw-r--r--src/stage2/patches/generic/libgcrypt.patch (renamed from src/stage2/patches/libgcrypt.patch)0
-rw-r--r--src/stage2/patches/generic/libgpg-error.patch11
-rw-r--r--src/stage2/patches/generic/libidn.patch (renamed from src/stage2/patches/libidn.patch)0
-rw-r--r--src/stage2/patches/generic/libidn2.patch (renamed from src/stage2/patches/libidn2.patch)0
-rw-r--r--src/stage2/patches/generic/libksba.patch (renamed from src/stage2/patches/libksba.patch)0
-rw-r--r--src/stage2/patches/generic/libmnl.patch (renamed from src/stage2/patches/libmnl.patch)0
-rw-r--r--src/stage2/patches/generic/libmpc.patch (renamed from src/stage2/patches/libmpc.patch)0
-rw-r--r--src/stage2/patches/generic/libnetfilter_conntrack.patch (renamed from src/stage2/patches/libnetfilter_conntrack.patch)0
-rw-r--r--src/stage2/patches/generic/libnfnetlink.patch (renamed from src/stage2/patches/libnfnetlink.patch)0
-rw-r--r--src/stage2/patches/generic/libnftnl.patch (renamed from src/stage2/patches/libnftnl.patch)0
-rw-r--r--src/stage2/patches/generic/libnghttp2.patch (renamed from src/stage2/patches/libnghttp2.patch)0
-rw-r--r--src/stage2/patches/generic/libnl.patch (renamed from src/stage2/patches/libnl.patch)0
-rw-r--r--src/stage2/patches/generic/libnsl.patch12
-rw-r--r--src/stage2/patches/generic/libpcap.patch (renamed from src/stage2/patches/libpcap.patch)0
-rw-r--r--src/stage2/patches/generic/libpsl.patch (renamed from src/stage2/patches/libpsl.patch)0
-rw-r--r--src/stage2/patches/generic/libsasl.patch (renamed from src/stage2/patches/libsasl.patch)0
-rw-r--r--src/stage2/patches/generic/libseccomp.patch11
-rw-r--r--src/stage2/patches/generic/libssh2.patch (renamed from src/stage2/patches/libssh2.patch)0
-rw-r--r--src/stage2/patches/generic/libtasn1.patch (renamed from src/stage2/patches/libtasn1.patch)0
-rw-r--r--src/stage2/patches/generic/libtirpc.patch (renamed from src/stage2/patches/libtirpc.patch)0
-rw-r--r--src/stage2/patches/generic/libtool.patch (renamed from src/stage2/patches/libtool.patch)0
-rw-r--r--src/stage2/patches/generic/libunistring.patch (renamed from src/stage2/patches/libunistring.patch)0
-rw-r--r--src/stage2/patches/generic/libusb.patch12
-rw-r--r--src/stage2/patches/generic/linux-libre-api-headers.patch (renamed from src/stage2/patches/linux-libre-api-headers.patch)11
-rw-r--r--src/stage2/patches/generic/lvm2.patch (renamed from src/stage2/patches/lvm2.patch)0
-rw-r--r--src/stage2/patches/generic/lz4.patch (renamed from src/stage2/patches/lz4.patch)0
-rw-r--r--src/stage2/patches/generic/m4.patch (renamed from src/stage2/patches/m4.patch)0
-rw-r--r--src/stage2/patches/generic/make.patch (renamed from src/stage2/patches/make.patch)0
-rw-r--r--src/stage2/patches/generic/mpfr.patch (renamed from src/stage2/patches/mpfr.patch)0
-rw-r--r--src/stage2/patches/generic/ncurses.patch (renamed from src/stage2/patches/ncurses.patch)0
-rw-r--r--src/stage2/patches/generic/nettle.patch (renamed from src/stage2/patches/nettle.patch)0
-rw-r--r--src/stage2/patches/generic/npth.patch (renamed from src/stage2/patches/npth.patch)0
-rw-r--r--src/stage2/patches/generic/openssl.patch (renamed from src/stage2/patches/openssl.patch)0
-rw-r--r--src/stage2/patches/generic/p11-kit.patch (renamed from src/stage2/patches/p11-kit.patch)0
-rw-r--r--src/stage2/patches/generic/pam.patch28
-rw-r--r--src/stage2/patches/generic/patch.patch (renamed from src/stage2/patches/patch.patch)0
-rw-r--r--src/stage2/patches/generic/pcre.patch (renamed from src/stage2/patches/pcre.patch)0
-rw-r--r--src/stage2/patches/generic/pcre2.patch (renamed from src/stage2/patches/pcre2.patch)0
-rw-r--r--src/stage2/patches/generic/perl.patch (renamed from src/stage2/patches/perl.patch)24
-rw-r--r--src/stage2/patches/generic/pinentry.patch (renamed from src/stage2/patches/pinentry.patch)0
-rw-r--r--src/stage2/patches/generic/pkg-config.patch (renamed from src/stage2/patches/pkg-config.patch)0
-rw-r--r--src/stage2/patches/generic/popt.patch (renamed from src/stage2/patches/popt.patch)0
-rw-r--r--src/stage2/patches/generic/readline.patch (renamed from src/stage2/patches/readline.patch)0
-rw-r--r--src/stage2/patches/generic/sed.patch (renamed from src/stage2/patches/sed.patch)0
-rw-r--r--src/stage2/patches/generic/shadow.patch (renamed from src/stage2/patches/shadow.patch)0
-rw-r--r--src/stage2/patches/generic/sqlite.patch (renamed from src/stage2/patches/sqlite.patch)0
-rw-r--r--src/stage2/patches/generic/sudo.patch (renamed from src/stage2/patches/sudo.patch)0
-rw-r--r--src/stage2/patches/generic/systemd.patch (renamed from src/stage2/patches/systemd.patch)9
-rw-r--r--src/stage2/patches/generic/tar.patch (renamed from src/stage2/patches/tar.patch)0
-rw-r--r--src/stage2/patches/generic/tcl.patch (renamed from src/stage2/patches/tcl.patch)0
-rw-r--r--src/stage2/patches/generic/texinfo.patch (renamed from src/stage2/patches/texinfo.patch)0
-rw-r--r--src/stage2/patches/generic/unixodbc.patch (renamed from src/stage2/patches/unixodbc.patch)0
-rw-r--r--src/stage2/patches/generic/util-linux.patch (renamed from src/stage2/patches/util-linux.patch)0
-rw-r--r--src/stage2/patches/generic/which.patch (renamed from src/stage2/patches/which.patch)0
-rw-r--r--src/stage2/patches/generic/xz.patch (renamed from src/stage2/patches/xz.patch)0
-rw-r--r--src/stage2/patches/generic/zlib.patch (renamed from src/stage2/patches/zlib.patch)0
-rw-r--r--src/stage2/patches/glibc.patch86
-rw-r--r--src/stage2/patches/libusb.patch11
-rw-r--r--src/stage2/patches/pam.patch26
-rw-r--r--src/stage2/patches/powerpc64le/filesystem.patch13
-rw-r--r--src/stage2/patches/powerpc64le/pacman.patch157
-rw-r--r--src/stage2/patches/riscv64/filesystem.patch (renamed from src/stage2/patches/filesystem.patch)0
-rw-r--r--src/stage2/patches/riscv64/libffi.patch (renamed from src/stage2/patches/libffi.patch)0
-rw-r--r--src/stage2/patches/riscv64/libgpg-error.patch (renamed from src/stage2/patches/libgpg-error.patch)0
-rw-r--r--src/stage2/patches/riscv64/libseccomp.patch (renamed from src/stage2/patches/libseccomp.patch)0
-rw-r--r--src/stage2/patches/riscv64/pacman.patch (renamed from src/stage2/patches/pacman.patch)0
-rwxr-xr-xsrc/stage2/stage2.sh19
-rw-r--r--src/stage3/makepkg.conf.in2
-rw-r--r--src/stage3/makepkg.sh12
-rw-r--r--src/stage3/patches/binutils.patch49
-rw-r--r--src/stage3/patches/gcc.patch204
-rw-r--r--src/stage3/patches/generic/bash-decross.patch (renamed from src/stage3/patches/bash-decross.patch)0
-rw-r--r--src/stage3/patches/generic/boost.patch (renamed from src/stage3/patches/boost.patch)0
-rw-r--r--src/stage3/patches/generic/cairo.patch (renamed from src/stage3/patches/cairo.patch)0
-rw-r--r--src/stage3/patches/generic/cmake.patch (renamed from src/stage3/patches/cmake.patch)0
-rw-r--r--src/stage3/patches/generic/dbus.patch (renamed from src/stage3/patches/dbus.patch)0
-rw-r--r--src/stage3/patches/generic/fakeroot.patch (renamed from src/stage3/patches/fakeroot.patch)0
-rw-r--r--src/stage3/patches/generic/gcc.patch414
-rw-r--r--src/stage3/patches/generic/git.patch (renamed from src/stage3/patches/git.patch)0
-rw-r--r--src/stage3/patches/generic/glib2.patch (renamed from src/stage3/patches/glib2.patch)0
-rw-r--r--src/stage3/patches/generic/glibc.patch (renamed from src/stage3/patches/glibc.patch)0
-rw-r--r--src/stage3/patches/generic/gnupg.patch (renamed from src/stage3/patches/gnupg.patch)0
-rw-r--r--src/stage3/patches/generic/gobject-introspection.patch (renamed from src/stage3/patches/gobject-introspection.patch)0
-rw-r--r--src/stage3/patches/generic/gpgme.patch (renamed from src/stage3/patches/gpgme.patch)0
-rw-r--r--src/stage3/patches/generic/groff.patch (renamed from src/stage3/patches/groff.patch)0
-rw-r--r--src/stage3/patches/generic/hwloc.patch (renamed from src/stage3/patches/hwloc.patch)0
-rw-r--r--src/stage3/patches/generic/ijs.patch (renamed from src/stage3/patches/ijs.patch)0
-rw-r--r--src/stage3/patches/generic/jsoncpp.patch (renamed from src/stage3/patches/jsoncpp.patch)0
-rw-r--r--src/stage3/patches/generic/kbd.patch (renamed from src/stage3/patches/kbd.patch)0
-rw-r--r--src/stage3/patches/generic/kmod.patch (renamed from src/stage3/patches/kmod.patch)0
-rw-r--r--src/stage3/patches/generic/lapack.patch (renamed from src/stage3/patches/lapack.patch)0
-rw-r--r--src/stage3/patches/generic/libidn2.patch (renamed from src/stage3/patches/libidn2.patch)0
-rw-r--r--src/stage3/patches/generic/libjpeg-turbo.patch (renamed from src/stage3/patches/libjpeg-turbo.patch)0
-rw-r--r--src/stage3/patches/generic/libpcap.patch (renamed from src/stage3/patches/libpcap.patch)0
-rw-r--r--src/stage3/patches/generic/libpsl.patch (renamed from src/stage3/patches/libpsl.patch)0
-rw-r--r--src/stage3/patches/generic/libsasl.patch (renamed from src/stage3/patches/libsasl.patch)0
-rw-r--r--src/stage3/patches/generic/libsecret.patch (renamed from src/stage3/patches/libsecret.patch)0
-rw-r--r--src/stage3/patches/generic/libtiff.patch (renamed from src/stage3/patches/libtiff.patch)0
-rw-r--r--src/stage3/patches/generic/libtool.patch (renamed from src/stage3/patches/libtool.patch)0
-rw-r--r--src/stage3/patches/generic/libuv.patch (renamed from src/stage3/patches/libuv.patch)0
-rw-r--r--src/stage3/patches/generic/lvm2.patch (renamed from src/stage3/patches/lvm2.patch)0
-rw-r--r--src/stage3/patches/generic/make-decross.patch (renamed from src/stage3/patches/make-decross.patch)0
-rw-r--r--src/stage3/patches/generic/make.patch (renamed from src/stage3/patches/make.patch)0
-rw-r--r--src/stage3/patches/generic/ninja.patch (renamed from src/stage3/patches/ninja.patch)0
-rw-r--r--src/stage3/patches/generic/openldap.patch (renamed from src/stage3/patches/openldap.patch)0
-rw-r--r--src/stage3/patches/generic/openmpi.patch (renamed from src/stage3/patches/openmpi.patch)0
-rw-r--r--src/stage3/patches/generic/openssh.patch (renamed from src/stage3/patches/openssh.patch)0
-rw-r--r--src/stage3/patches/generic/p11-kit.patch (renamed from src/stage3/patches/p11-kit.patch)0
-rw-r--r--src/stage3/patches/generic/pam.patch (renamed from src/stage3/patches/pam.patch)0
-rw-r--r--src/stage3/patches/generic/pinentry.patch (renamed from src/stage3/patches/pinentry.patch)0
-rw-r--r--src/stage3/patches/generic/python-lxml.patch (renamed from src/stage3/patches/python-lxml.patch)0
-rw-r--r--src/stage3/patches/generic/python-numpy.patch11
-rw-r--r--src/stage3/patches/generic/python.patch (renamed from src/stage3/patches/python.patch)0
-rw-r--r--src/stage3/patches/generic/python2.patch (renamed from src/stage3/patches/python2.patch)0
-rw-r--r--src/stage3/patches/generic/source-highlight.patch (renamed from src/stage3/patches/source-highlight.patch)0
-rw-r--r--src/stage3/patches/generic/sqlite.patch (renamed from src/stage3/patches/sqlite.patch)0
-rw-r--r--src/stage3/patches/generic/systemd.patch (renamed from src/stage3/patches/systemd.patch)0
-rw-r--r--src/stage3/patches/generic/util-linux.patch (renamed from src/stage3/patches/util-linux.patch)0
-rw-r--r--src/stage3/patches/generic/xz.patch (renamed from src/stage3/patches/xz.patch)0
-rw-r--r--src/stage3/patches/powerpc64le/filesystem.patch13
-rw-r--r--src/stage3/patches/powerpc64le/openssl.patch18
-rw-r--r--src/stage3/patches/powerpc64le/pacman.patch164
-rw-r--r--src/stage3/patches/riscv64/filesystem.patch (renamed from src/stage3/patches/filesystem.patch)0
-rw-r--r--src/stage3/patches/riscv64/gc.patch (renamed from src/stage3/patches/gc.patch)0
-rw-r--r--src/stage3/patches/riscv64/libaio.patch (renamed from src/stage3/patches/libaio.patch)0
-rw-r--r--src/stage3/patches/riscv64/libatomic_ops.patch (renamed from src/stage3/patches/libatomic_ops.patch)0
-rw-r--r--src/stage3/patches/riscv64/libffi.patch (renamed from src/stage3/patches/libffi.patch)0
-rw-r--r--src/stage3/patches/riscv64/libseccomp.patch (renamed from src/stage3/patches/libseccomp.patch)0
-rw-r--r--src/stage3/patches/riscv64/openssl.patch (renamed from src/stage3/patches/openssl.patch)0
-rw-r--r--src/stage3/patches/riscv64/pacman.patch (renamed from src/stage3/patches/pacman.patch)0
-rw-r--r--src/stage3/patches/riscv64/pcre.patch (renamed from src/stage3/patches/pcre.patch)0
-rw-r--r--src/stage3/patches/riscv64/pcre2.patch (renamed from src/stage3/patches/pcre2.patch)0
-rw-r--r--src/stage3/patches/riscv64/python-numpy.patch (renamed from src/stage3/patches/python-numpy.patch)0
-rwxr-xr-xsrc/stage3/stage3.sh7
-rw-r--r--src/stage4/makepkg.sh12
-rw-r--r--src/stage4/patches/binutils.patch49
-rw-r--r--src/stage4/patches/gcc.patch187
-rw-r--r--src/stage4/patches/generic/aspell.patch (renamed from src/stage4/patches/aspell.patch)0
-rw-r--r--src/stage4/patches/generic/avahi-breakdeps.patch (renamed from src/stage4/patches/avahi-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/avahi.patch (renamed from src/stage4/patches/avahi.patch)0
-rw-r--r--src/stage4/patches/generic/boost.patch (renamed from src/stage4/patches/boost.patch)0
-rw-r--r--src/stage4/patches/generic/btrfs-progs.patch (renamed from src/stage4/patches/btrfs-progs.patch)0
-rw-r--r--src/stage4/patches/generic/cairo-breakdeps.patch (renamed from src/stage4/patches/cairo-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/cairo.patch (renamed from src/stage4/patches/cairo.patch)0
-rw-r--r--src/stage4/patches/generic/colord-breakdeps.patch (renamed from src/stage4/patches/colord-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/cups-breakdeps.patch (renamed from src/stage4/patches/cups-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/cups-filters.patch (renamed from src/stage4/patches/cups-filters.patch)0
-rw-r--r--src/stage4/patches/generic/cups.patch (renamed from src/stage4/patches/cups.patch)0
-rw-r--r--src/stage4/patches/generic/dhcp.patch (renamed from src/stage4/patches/dhcp.patch)0
-rw-r--r--src/stage4/patches/generic/doxygen-breakdeps.patch (renamed from src/stage4/patches/doxygen-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/doxygen.patch (renamed from src/stage4/patches/doxygen.patch)0
-rw-r--r--src/stage4/patches/generic/ffmpeg-breakdeps.patch (renamed from src/stage4/patches/ffmpeg-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/fftw.patch (renamed from src/stage4/patches/fftw.patch)0
-rw-r--r--src/stage4/patches/generic/fontconfig-breakdeps.patch (renamed from src/stage4/patches/fontconfig-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/fontconfig.patch (renamed from src/stage4/patches/fontconfig.patch)0
-rw-r--r--src/stage4/patches/generic/freetype2-breakdeps.patch (renamed from src/stage4/patches/freetype2-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/gcc.patch414
-rw-r--r--src/stage4/patches/generic/ghostscript-breakdeps.patch (renamed from src/stage4/patches/ghostscript-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/glibc.patch (renamed from src/stage4/patches/glibc.patch)16
-rw-r--r--src/stage4/patches/generic/glibmm.patch (renamed from src/stage4/patches/glibmm.patch)0
-rw-r--r--src/stage4/patches/generic/gpm.patch (renamed from src/stage4/patches/gpm.patch)0
-rw-r--r--src/stage4/patches/generic/graphite-breakdeps.patch (renamed from src/stage4/patches/graphite-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/graphite.patch (renamed from src/stage4/patches/graphite.patch)0
-rw-r--r--src/stage4/patches/generic/graphviz-breakdeps.patch (renamed from src/stage4/patches/graphviz-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/graphviz.patch (renamed from src/stage4/patches/graphviz.patch)0
-rw-r--r--src/stage4/patches/generic/gstreamer.patch14
-rw-r--r--src/stage4/patches/generic/gtk3-breakdeps.patch (renamed from src/stage4/patches/gtk3-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/gypsy.patch (renamed from src/stage4/patches/gypsy.patch)0
-rw-r--r--src/stage4/patches/generic/harfbuzz-breakdeps.patch (renamed from src/stage4/patches/harfbuzz-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/lash.patch (renamed from src/stage4/patches/lash.patch)0
-rw-r--r--src/stage4/patches/generic/libbluray.patch (renamed from src/stage4/patches/libbluray.patch)0
-rw-r--r--src/stage4/patches/generic/libcanberra-breakdeps.patch (renamed from src/stage4/patches/libcanberra-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/libdrm.patch (renamed from src/stage4/patches/libdrm.patch)0
-rw-r--r--src/stage4/patches/generic/libevdev.patch (renamed from src/stage4/patches/libevdev.patch)0
-rw-r--r--src/stage4/patches/generic/libffado-breakdeps.patch (renamed from src/stage4/patches/libffado-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/libfontenc.patch (renamed from src/stage4/patches/libfontenc.patch)0
-rw-r--r--src/stage4/patches/generic/libglvnd-breakdeps.patch (renamed from src/stage4/patches/libglvnd-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/libid3tag.patch (renamed from src/stage4/patches/libid3tag.patch)0
-rw-r--r--src/stage4/patches/generic/libimobiledevice-breakdeps.patch (renamed from src/stage4/patches/libimobiledevice-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/libjpeg-turbo-breakdeps.patch (renamed from src/stage4/patches/libjpeg-turbo-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/libjpeg-turbo.patch (renamed from src/stage4/patches/libjpeg-turbo.patch)0
-rw-r--r--src/stage4/patches/generic/libproxy-breakdeps.patch (renamed from src/stage4/patches/libproxy-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/librsvg-breakdeps.patch (renamed from src/stage4/patches/librsvg-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/librsvg.patch (renamed from src/stage4/patches/librsvg.patch)0
-rw-r--r--src/stage4/patches/generic/libsigc++-breakdeps.patch (renamed from src/stage4/patches/libsigc++-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/libsndfile.patch (renamed from src/stage4/patches/libsndfile.patch)0
-rw-r--r--src/stage4/patches/generic/libsodium-breakdeps.patch (renamed from src/stage4/patches/libsodium-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/libtiff-breakdeps.patch (renamed from src/stage4/patches/libtiff-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/libva-breakdeps.patch (renamed from src/stage4/patches/libva-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/libxft.patch (renamed from src/stage4/patches/libxft.patch)0
-rw-r--r--src/stage4/patches/generic/lm_sensors-breakdeps.patch (renamed from src/stage4/patches/lm_sensors-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/lynx.patch (renamed from src/stage4/patches/lynx.patch)0
-rw-r--r--src/stage4/patches/generic/make.patch (renamed from src/stage4/patches/make.patch)0
-rw-r--r--src/stage4/patches/generic/mkinitcpio-busybox.patch (renamed from src/stage4/patches/mkinitcpio-busybox.patch)2
-rw-r--r--src/stage4/patches/generic/neon.patch (renamed from src/stage4/patches/neon.patch)0
-rw-r--r--src/stage4/patches/generic/openexr.patch (renamed from src/stage4/patches/openexr.patch)0
-rw-r--r--src/stage4/patches/generic/openmpi.patch (renamed from src/stage4/patches/openmpi.patch)0
-rw-r--r--src/stage4/patches/generic/orc.patch (renamed from src/stage4/patches/orc.patch)0
-rw-r--r--src/stage4/patches/generic/phonon-breakdeps.patch (renamed from src/stage4/patches/phonon-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/poppler-breakdeps.patch (renamed from src/stage4/patches/poppler-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/pulseaudio-breakdeps.patch (renamed from src/stage4/patches/pulseaudio-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/pulseaudio.patch (renamed from src/stage4/patches/pulseaudio.patch)0
-rw-r--r--src/stage4/patches/generic/pyqt5.patch (renamed from src/stage4/patches/pyqt5.patch)0
-rw-r--r--src/stage4/patches/generic/python-lxml.patch (renamed from src/stage4/patches/python-lxml.patch)0
-rw-r--r--src/stage4/patches/generic/python.patch (renamed from src/stage4/patches/python.patch)0
-rw-r--r--src/stage4/patches/generic/python2.patch (renamed from src/stage4/patches/python2.patch)0
-rw-r--r--src/stage4/patches/generic/qt5-base.patch (renamed from src/stage4/patches/qt5-base.patch)0
-rw-r--r--src/stage4/patches/generic/qt5-tools-breakdeps.patch (renamed from src/stage4/patches/qt5-tools-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/qt5-webkit.patch34
-rw-r--r--src/stage4/patches/generic/r-breakdeps.patch (renamed from src/stage4/patches/r-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/r.patch (renamed from src/stage4/patches/r.patch)0
-rw-r--r--src/stage4/patches/generic/ruby-rdiscount.patch (renamed from src/stage4/patches/ruby-rdiscount.patch)0
-rw-r--r--src/stage4/patches/generic/rust-breakdeps.patch (renamed from src/stage4/patches/rust-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/sqlite.patch (renamed from src/stage4/patches/sqlite.patch)0
-rw-r--r--src/stage4/patches/generic/subversion-breakdeps.patch (renamed from src/stage4/patches/subversion-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/subversion.patch (renamed from src/stage4/patches/subversion.patch)0
-rw-r--r--src/stage4/patches/generic/systemd.patch (renamed from src/stage4/patches/systemd.patch)0
-rw-r--r--src/stage4/patches/generic/texlive-bin.libsynctex.patch (renamed from src/stage4/patches/texlive-bin.patch.libsynctex)0
-rw-r--r--src/stage4/patches/generic/texlive-bin.texlive-bin.patch (renamed from src/stage4/patches/texlive-bin.patch)0
-rw-r--r--src/stage4/patches/generic/tokyocabinet.patch (renamed from src/stage4/patches/tokyocabinet.patch)0
-rw-r--r--src/stage4/patches/generic/vala-breakdeps.patch (renamed from src/stage4/patches/vala-breakdeps.patch)0
-rw-r--r--src/stage4/patches/generic/vid.stab.patch (renamed from src/stage4/patches/vid.stab.patch)0
-rw-r--r--src/stage4/patches/generic/vulkan-loader-layers.patch (renamed from src/stage4/patches/vulkan-loader-layers.patch)0
-rw-r--r--src/stage4/patches/generic/xfsprogs.patch (renamed from src/stage4/patches/xfsprogs.patch)2
-rw-r--r--src/stage4/patches/generic/xorg-server.patch (renamed from src/stage4/patches/xorg-server.patch)0
-rw-r--r--src/stage4/patches/generic/xz.patch (renamed from src/stage4/patches/xz.patch)0
-rw-r--r--src/stage4/patches/powerpc64le/filesystem.patch13
-rw-r--r--src/stage4/patches/powerpc64le/linux-libre.patch1
-rw-r--r--src/stage4/patches/powerpc64le/mesa.patch49
-rw-r--r--src/stage4/patches/powerpc64le/openssl-1.0.patch19
-rw-r--r--src/stage4/patches/powerpc64le/openssl.patch18
-rw-r--r--src/stage4/patches/powerpc64le/pacman.patch154
-rw-r--r--src/stage4/patches/riscv64/filesystem.patch (renamed from src/stage4/patches/filesystem.patch)0
-rw-r--r--src/stage4/patches/riscv64/gc.patch (renamed from src/stage4/patches/gc.patch)0
-rw-r--r--src/stage4/patches/riscv64/gstreamer.patch (renamed from src/stage4/patches/gstreamer.patch)0
-rw-r--r--src/stage4/patches/riscv64/jemalloc.patch (renamed from src/stage4/patches/jemalloc.patch)0
-rw-r--r--src/stage4/patches/riscv64/js.patch (renamed from src/stage4/patches/js.patch)0
-rw-r--r--src/stage4/patches/riscv64/libaio.patch (renamed from src/stage4/patches/libaio.patch)0
-rw-r--r--src/stage4/patches/riscv64/libatomic_ops.patch (renamed from src/stage4/patches/libatomic_ops.patch)0
-rw-r--r--src/stage4/patches/riscv64/libfbclient.patch (renamed from src/stage4/patches/libfbclient.patch)0
-rw-r--r--src/stage4/patches/riscv64/libffi.patch (renamed from src/stage4/patches/libffi.patch)0
-rw-r--r--src/stage4/patches/riscv64/libseccomp.patch (renamed from src/stage4/patches/libseccomp.patch)0
-rw-r--r--src/stage4/patches/riscv64/linux-libre.patch (renamed from src/stage4/patches/linux-libre.patch)0
-rw-r--r--src/stage4/patches/riscv64/llvm.patch (renamed from src/stage4/patches/llvm.patch)0
-rw-r--r--src/stage4/patches/riscv64/mariadb.patch (renamed from src/stage4/patches/mariadb.patch)0
-rw-r--r--src/stage4/patches/riscv64/mesa.patch (renamed from src/stage4/patches/mesa.patch)0
-rw-r--r--src/stage4/patches/riscv64/nspr.patch (renamed from src/stage4/patches/nspr.patch)0
-rw-r--r--src/stage4/patches/riscv64/nss.patch (renamed from src/stage4/patches/nss.patch)0
-rw-r--r--src/stage4/patches/riscv64/ocaml.patch (renamed from src/stage4/patches/ocaml.patch)0
-rw-r--r--src/stage4/patches/riscv64/opencv.patch (renamed from src/stage4/patches/opencv.patch)0
-rw-r--r--src/stage4/patches/riscv64/openssl-1.0.patch (renamed from src/stage4/patches/openssl-1.0.patch)0
-rw-r--r--src/stage4/patches/riscv64/openssl.patch (renamed from src/stage4/patches/openssl.patch)0
-rw-r--r--src/stage4/patches/riscv64/pacman.patch (renamed from src/stage4/patches/pacman.patch)0
-rw-r--r--src/stage4/patches/riscv64/pcre.patch (renamed from src/stage4/patches/pcre.patch)0
-rw-r--r--src/stage4/patches/riscv64/pcre2.patch (renamed from src/stage4/patches/pcre2.patch)0
-rw-r--r--src/stage4/patches/riscv64/postgresql.patch (renamed from src/stage4/patches/postgresql.patch)0
-rw-r--r--src/stage4/patches/riscv64/python-numpy.patch (renamed from src/stage4/patches/python-numpy.patch)0
-rw-r--r--src/stage4/patches/riscv64/qt4.patch (renamed from src/stage4/patches/qt4.patch)0
-rw-r--r--src/stage4/patches/riscv64/qt5-webkit.patch (renamed from src/stage4/patches/qt5-webkit.patch)0
-rw-r--r--src/stage4/patches/riscv64/webkit2gtk.patch (renamed from src/stage4/patches/webkit2gtk.patch)0
-rw-r--r--src/stage4/patches/riscv64/webrtc-audio-processing.patch (renamed from src/stage4/patches/webrtc-audio-processing.patch)0
-rw-r--r--src/stage4/patches/riscv64/zstd.patch (renamed from src/stage4/patches/zstd.patch)0
-rw-r--r--src/stage4/patches/texlive-bin.patch.texlive-bin102
-rw-r--r--src/stage4/stage4.sh5
337 files changed, 2975 insertions, 1191 deletions
diff --git a/.gitignore b/.gitignore
index dfa0f9c..ff59617 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
# build dirs
build/
+sources/
# built packages and signatures
*.pkg.tar.xz
diff --git a/README b/README
index ddefe0a..5d71f89 100644
--- a/README
+++ b/README
@@ -9,22 +9,28 @@ parabola-riscv64-bootstrap
---------------
This project is an attempt to bootstrap a self-contained parabola
-GNU/Linux-libre system for the riscv64 architecture. The scripts are created
-with the goal to be as architectur agnostic as possible, to make future porting
-efforts easier.
+GNU/Linux-libre system for the following architectures:
+
+ - riscv64 (HiFive)
+ - riscv32 (PULP)
+ - sparc (OpenSparc)
+ - powerpc64le (TalosII)
+
+The scripts are created with the goal to be as architecture agnostic as
+possible, to make future porting efforts easier.
The build process is split into four stages, the rationale of which is outlined
in section 2 below.
To initiate a complete build of all stages, run:
- $> sudo ./create
+ $> sudo ./create [CARCH]
The builds can be configured to keep going if the build of a single package
fails, by creating the file `build/.KEEP_GOING`. Otherwise, the build will stop
once an error is encountered. This is useful for getting as much work done as
possible unattended, but will make debugging harder in the later stages,
-because temporary build fragments and filesystem trees will be overwritten by
-the next package.
+because temporary build fragments and filesystem trees in the build chroots
+will be overwritten by the next package.
The complete console output of a package build process can be found in the
corresponding .MAKEPKGLOG file in the build directory of that package.
@@ -62,9 +68,9 @@ can email me at <andreas@grapentin.org>, or find me as <oaken-source> in
1.3. Current state of the project
---------------------------------
-All four stages are complete and this repository is now closed. A pointer where
-to find future development efforts for the parabola RISC-V port will be added
-here in due time.
+All four stages of the riscv64 bootstrap are complete, and efforts to add
+additional architectures has begun. A pointer where to find future development
+efforts for the parabola RISC-V port will be added here in due time.
2. Build Stages
---------------
diff --git a/config/config.powerpc64le.sh b/config/config.powerpc64le.sh
index 8490cd7..a7637e8 100644
--- a/config/config.powerpc64le.sh
+++ b/config/config.powerpc64le.sh
@@ -19,6 +19,8 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
##############################################################################
+# this configuration targets the TalosII systems
+
# the target host triplet
export CARCH=powerpc64le
export CHOST="$CARCH-unknown-linux-gnu"
@@ -39,9 +41,9 @@ export GCC_CONFIG_FLAGS=("--with-long-double-128" "--enable-vsx")
#export PLATFORM32_CFLAGS=()
# configure build directories
-export TOPBUILDDIR="$startdir/build/$CHOST"
+export TOPBUILDDIR="$startdir/build/$CARCH"
export TOPSRCDIR="$startdir"/src
-export SRCDEST="$startdir"/build/sources
+export SRCDEST="$startdir"/sources
# build options
export REGEN_CONFIG_FRAGMENTS=yes
diff --git a/config/config.riscv32.sh b/config/config.riscv32.sh
new file mode 100644
index 0000000..b964407
--- /dev/null
+++ b/config/config.riscv32.sh
@@ -0,0 +1,48 @@
+#!/bin/bash
+ ##############################################################################
+ # parabola-riscv64-bootstrap #
+ # #
+ # Copyright (C) 2018 Andreas Grapentin #
+ # #
+ # This program is free software: you can redistribute it and/or modify #
+ # it under the terms of the GNU General Public License as published by #
+ # the Free Software Foundation, either version 3 of the License, or #
+ # (at your option) any later version. #
+ # #
+ # This program is distributed in the hope that it will be useful, #
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of #
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+ # GNU General Public License for more details. #
+ # #
+ # You should have received a copy of the GNU General Public License #
+ # along with this program. If not, see <http://www.gnu.org/licenses/>. #
+ ##############################################################################
+
+# this configuration targets the PULP platform
+
+# the target host triplet
+export CARCH=riscv32
+export CHOST="$CARCH-unknown-linux-gnu"
+
+# the equivalent architecture name used by the linux kernel
+export LINUX_ARCH=riscv
+
+# flags added to the default CFLAGS in makepkg.conf
+export PLATFORM_CFLAGS=("-march=rv32g" "-mabi=ilp32d")
+
+# flags added to the gcc PKGBUILD configure call
+export GCC_CONFIG_FLAGS=("--with-arch=rv32g" "--with-abi=ilp32d")
+
+# multilib configuration, uncomment if applicable
+#export MULTILIB=enable
+#export CARCH32=""
+#export CHOST32=""
+#export PLATFORM32_CFLAGS=()
+
+# configure build directories
+export TOPBUILDDIR="$startdir/build/$CARCH"
+export SRCDEST="$startdir"/sources
+
+# regenerate config.sub / config.guess during builds
+export REGEN_CONFIG_FRAGMENTS=yes
+
diff --git a/config/config.riscv64.sh b/config/config.riscv64.sh
index 665f979..45d14d5 100644
--- a/config/config.riscv64.sh
+++ b/config/config.riscv64.sh
@@ -18,6 +18,8 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
##############################################################################
+# this configuration targets the HiFive boards
+
# the target host triplet
export CARCH=riscv64
export CHOST="$CARCH-unknown-linux-gnu"
@@ -38,9 +40,9 @@ export GCC_CONFIG_FLAGS=("--with-arch=rv64gc" "--with-abi=lp64d")
#export PLATFORM32_CFLAGS=()
# configure build directories
-export TOPBUILDDIR="$startdir/build/$CHOST"
+export TOPBUILDDIR="$startdir/build/$CARCH"
export TOPSRCDIR="$startdir"/src
-export SRCDEST="$startdir"/build/sources
+export SRCDEST="$startdir"/sources
# build options
export REGEN_CONFIG_FRAGMENTS=yes
diff --git a/config/config.sparc.sh b/config/config.sparc.sh
new file mode 100644
index 0000000..e92c8ca
--- /dev/null
+++ b/config/config.sparc.sh
@@ -0,0 +1,48 @@
+#!/bin/bash
+ ##############################################################################
+ # parabola-riscv64-bootstrap #
+ # #
+ # Copyright (C) 2018 Andreas Grapentin #
+ # #
+ # This program is free software: you can redistribute it and/or modify #
+ # it under the terms of the GNU General Public License as published by #
+ # the Free Software Foundation, either version 3 of the License, or #
+ # (at your option) any later version. #
+ # #
+ # This program is distributed in the hope that it will be useful, #
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of #
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+ # GNU General Public License for more details. #
+ # #
+ # You should have received a copy of the GNU General Public License #
+ # along with this program. If not, see <http://www.gnu.org/licenses/>. #
+ ##############################################################################
+
+# this configuration targets the OpenSPARC platform
+
+# the target host triplet
+export CARCH=sparc
+export CHOST="$CARCH-unknown-linux-gnu"
+
+# the equivalent architecture name used by the linux kernel
+export LINUX_ARCH=sparc
+
+# flags added to the default CFLAGS in makepkg.conf
+export PLATFORM_CFLAGS=("-mcpu=v9")
+
+# flags added to the gcc PKGBUILD configure call
+export GCC_CONFIG_FLAGS=("--with-cpu=v9")
+
+# multilib configuration, uncomment if applicable
+#export MULTILIB=enable
+#export CARCH32=""
+#export CHOST32=""
+#export PLATFORM32_CFLAGS=()
+
+# configure build directories
+export TOPBUILDDIR="$startdir/build/$CARCH"
+export SRCDEST="$startdir"/sources
+
+# regenerate config.sub / config.guess during builds
+export REGEN_CONFIG_FRAGMENTS=yes
+
diff --git a/config/config.template.sh b/config/config.template.sh
index 66e61dd..7260940 100644
--- a/config/config.template.sh
+++ b/config/config.template.sh
@@ -38,8 +38,8 @@ export GCC_CONFIG_FLAGS=()
#export PLATFORM32_CFLAGS=()
# configure build directories
-export TOPBUILDDIR="$startdir/build/$CHOST"
-export SRCDEST="$startdir"/build/sources
+export TOPBUILDDIR="$startdir/build/$CARCH"
+export SRCDEST="$startdir"/sources
# regenerate config.sub / config.guess during builds
export REGEN_CONFIG_FRAGMENTS=yes
diff --git a/create.sh b/create.sh
index dcf1e37..e50fc18 100755
--- a/create.sh
+++ b/create.sh
@@ -38,7 +38,8 @@ if [ -z "${SUDO_USER:-}" ]; then
fi
# shellcheck source=config/config.template.sh
-. "$CONFIGDIR/config.$1.sh" || die -e "$ERROR_INVOCATION" "usage: $0 CARCH (see config/config.*.sh)"
+. "$CONFIGDIR/config.$1.sh" || die -e "$ERROR_INVOCATION" \
+ "usage: $0 CARCH (see config/config.*.sh)"
mkdir -p "$TOPBUILDDIR" "$SRCDEST"
chown "$SUDO_USER" "$TOPBUILDDIR"
diff --git a/src/shared/deptree.sh b/src/shared/deptree.sh
index ad59bb5..e1ecee7 100644
--- a/src/shared/deptree.sh
+++ b/src/shared/deptree.sh
@@ -37,10 +37,14 @@ build_deptree() {
# add the packages listed in the given groups
local g p r
for g in "$@"; do
- for p in $(pacman -Sg "$g" | awk '{print $2}'); do
- r=$(make_realpkg "$p") || return "$ERROR_MISSING"
- deptree_add_entry "$r" "$g"
- done
+ if pacman -Si "$g" &>/dev/null; then
+ deptree_add_entry "$g" "<immediate>"
+ else
+ for p in $(pacman -Sg "$g" | awk '{print $2}'); do
+ r=$(make_realpkg "$p") || return "$ERROR_MISSING"
+ deptree_add_entry "$r" "$g"
+ done
+ fi
done
return 0
@@ -107,7 +111,7 @@ deptree_check_depend() {
}
deptree_add_entry() {
- local r="${2:-<cmdline>}"
+ local r="${2:-<immediate>}"
if grep -q "^$1 :" "$DEPTREE".FULL; then
# if pkg is in deptree, append requestee to list
@@ -115,7 +119,7 @@ deptree_add_entry() {
elif grep -q "^$r :" "$DEPTREE".FULL; then
# elif requestee is in deptree, insert after requestee
sed -i "/^$r :/a $1 : [ ] # $r" "$DEPTREE"*
- elif [ "x$r" == "x<cmdline>" ]; then
+ elif [ "x$r" == "x<immediate>" ]; then
# elif requested directly, add to top of file
sed -i "1i $1 : [ ] # $r" "$DEPTREE"*
else
diff --git a/src/shared/feedback.sh b/src/shared/feedback.sh
index 708bfdf..4239002 100644
--- a/src/shared/feedback.sh
+++ b/src/shared/feedback.sh
@@ -27,11 +27,9 @@ export ERROR_KEYFAIL=5
# messaging functions
notify() {
- # useful if running notify_telegram
- local recipient=-211578786
if type -p notify-send >/dev/null; then
machinectl -q shell --uid="$SUDO_USER" .host \
- "$(which notify-send)" -h string:recipient:$recipient "$@" >/dev/null
+ "$(which notify-send)" "$@" >/dev/null
fi
}
diff --git a/src/shared/package.sh b/src/shared/package.sh
index febfce5..940c4e8 100644
--- a/src/shared/package.sh
+++ b/src/shared/package.sh
@@ -120,10 +120,14 @@ package_has_patch() {
done
shift $((OPTIND-1))
- local pkgbase
+ local pkgbase pkgname
pkgbase=$(srcinfo_pkgbase) || return
+ pkgname=$(srcinfo_pkgname) || return
- local patch="$SRCDIR/patches/$pkgbase$p".patch
+ local patch="$SRCDIR/patches/$CARCH/$pkgbase$p.$pkgname".patch
+ [ -f "$patch" ] || patch="$SRCDIR/patches/$CARCH/$pkgbase$p".patch
+ [ -f "$patch" ] || patch="$SRCDIR/patches/generic/$pkgbase$p.$pkgname".patch
+ [ -f "$patch" ] || patch="$SRCDIR/patches/generic/$pkgbase$p".patch
[ -f "$patch" ] || return "$ERROR_MISSING"
}
@@ -138,26 +142,51 @@ package_patch() {
done
shift $((OPTIND-1))
- local pkgbase
+ local pkgbase pkgname
pkgbase=$(srcinfo_pkgbase) || return
+ pkgname=$(srcinfo_pkgname) || return
- local patch="$SRCDIR/patches/$pkgbase$p".patch
- local badpatch="$SRCDIR/patches/$pkgname$p".patch
-
- ln -s "$patch" .PATCH
-
- echo -n "checking for $(basename "$patch") ... "
+ local patch="$SRCDIR/patches/$CARCH/$pkgbase$p.$pkgname".patch
+ echo -n "checking for $CARCH/$(basename "$patch") ... "
local have_patch=yes
if [ ! -f "$patch" ]; then
have_patch=no
- if [ -f "$badpatch" ]; then
- have_patch="$(basename "$badpatch") (renaming...)"
- mv "$badpatch" "$patch" || return
- fi
fi
echo "$have_patch (needed: $r)"
- [ "x$r" == "xyes" ] && [ ! -e "$patch" ] && return "$ERROR_MISSING"
+ if [ "x$have_patch" == "xno" ]; then
+ patch="$SRCDIR/patches/$CARCH/$pkgbase$p".patch
+ echo -n "checking for $CARCH/$(basename "$patch") ... "
+ have_patch=yes
+ if [ ! -f "$patch" ]; then
+ have_patch=no
+ fi
+ echo "$have_patch (needed: $r)"
+ fi
+
+ if [ "x$have_patch" == "xno" ]; then
+ patch="$SRCDIR/patches/generic/$pkgbase$p.$pkgname".patch
+ echo -n "checking for generic/$(basename "$patch") ... "
+ have_patch=yes
+ if [ ! -f "$patch" ]; then
+ have_patch=no
+ fi
+ echo "$have_patch (needed: $r)"
+ fi
+
+ if [ "x$have_patch" == "xno" ]; then
+ patch="$SRCDIR/patches/generic/$pkgbase$p".patch
+ echo -n "checking for generic/$(basename "$patch") ... "
+ have_patch=yes
+ if [ ! -f "$patch" ]; then
+ have_patch=no
+ fi
+ echo "$have_patch (needed: $r)"
+ fi
+
+ ln -s "$patch" .PATCH
+
+ [ "x$r" == "xyes" ] && [ "x$have_patch" == "xno" ] && return "$ERROR_MISSING"
cp PKGBUILD{,.orig}
[ ! -e "$patch" ] || patch -Np1 -i "$patch" || return
diff --git a/src/shared/srcinfo.sh b/src/shared/srcinfo.sh
index 906ce9d..aa29c17 100644
--- a/src/shared/srcinfo.sh
+++ b/src/shared/srcinfo.sh
@@ -34,6 +34,10 @@ srcinfo_pkgbase() {
grep '^pkgbase =' .SRCINFO | awk '{print $3}'
}
+srcinfo_pkgname() {
+ $(basename $(pwd))
+}
+
srcinfo_builddeps() {
local OPTIND o n='check\|' m='make\|'
while getopts "nm" o; do
diff --git a/src/stage1/stage1.sh b/src/stage1/stage1.sh
index dbc98ea..4c0edcb 100755
--- a/src/stage1/stage1.sh
+++ b/src/stage1/stage1.sh
@@ -52,14 +52,13 @@ stage1_makepkg() {
for f in "$SRCDIR"/toolchain-pkgbuilds/$1/*.in; do
sed "s#@CHOST@#$CHOST#g; \
s#@CARCH@#$CARCH#g; \
+ s#@PLATFORM_CFLAGS@#${PLATFORM_CFLAGS[*]}#g; \
s#@LINUX_ARCH@#$LINUX_ARCH#g; \
- s#@GCC_MARCH@#${GCC_MARCH:-}#g; \
- s#@GCC_MABI@#${GCC_MABI:-}#g; \
+ s#@GCC_CONFIG_FLAGS@#${GCC_CONFIG_FLAGS[*]}#g; \
s#@MULTILIB@#${MULTILIB:-disable}#g; \
- s#@GCC_32_MARCH@#${GCC_32_MARCH:-}#g; \
- s#@GCC_32_MABI@#${GCC_32_MABI:-}#g; \
s#@CARCH32@#${CARCH32:-}#g; \
- s#@CHOST32@#${CHOST32:-}#g" \
+ s#@CHOST32@#${CHOST32:-}#g; \
+ s#@PLATFORM32_CFLAGS@#${PLATFORM32_CFLAGS[*]}#g" \
"$f" > ./"$(basename "${f%.in}")"
done
@@ -118,6 +117,8 @@ EOF
yes | pacman -U "$PKGDEST/$pkgfile"
done
- # final sanity check
+ # final sanity checks
check_cross_toolchain || die -e "$ERROR_MISSING" "toolchain build incomplete"
+ [ ! -e "/usr/$CHOST/lib64" ] || die \
+ "toolchain installs libraries in lib64. this WILL cause problems. fix pure64.patch!"
}
diff --git a/src/stage1/toolchain-pkgbuilds/gcc-bootstrap/0001-pthread-reentrant.patch.in b/src/stage1/toolchain-pkgbuilds/gcc-bootstrap/0001-pthread-reentrant.patch.in
deleted file mode 100644
index 36342ef..0000000
--- a/src/stage1/toolchain-pkgbuilds/gcc-bootstrap/0001-pthread-reentrant.patch.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- trunk/gcc/config/riscv/linux.h 2018/01/03 10:03:58 256169
-+++ trunk/gcc/config/riscv/linux.h 2018/02/13 11:21:01 257621
-@@ -47,6 +47,8 @@
-
- #define ICACHE_FLUSH_FUNC "__riscv_flush_icache"
-
-+#define CPP_SPEC "%{pthread:-D_REENTRANT}"
-+
- #define LINK_SPEC "\
- -melf" XLEN_SPEC "lriscv \
- %{shared} \
diff --git a/src/stage1/toolchain-pkgbuilds/gcc-bootstrap/PKGBUILD.in b/src/stage1/toolchain-pkgbuilds/gcc-bootstrap/PKGBUILD.in
index 02f51ee..7420877 100644
--- a/src/stage1/toolchain-pkgbuilds/gcc-bootstrap/PKGBUILD.in
+++ b/src/stage1/toolchain-pkgbuilds/gcc-bootstrap/PKGBUILD.in
@@ -2,7 +2,7 @@
_target=@CHOST@
pkgname=$_target-gcc-bootstrap
-pkgver=7.3.1+20180312
+pkgver=8.1.0
_islver=0.18
pkgrel=1
pkgdesc='The GNU Compiler Collection - cross compiler for @CARCH@ target - bootstrap version. only used to build initial glibc and compiler'
@@ -14,32 +14,33 @@ makedepends=(gmp mpfr)
options=(!emptydirs !strip)
provides=(${pkgname%-bootstrap})
conflicts=(${pkgname%-bootstrap})
-source=(https://sources.archlinux.org/other/gcc/gcc-${pkgver/+/-}.tar.xz{,.sig}
+source=(https://ftp.gnu.org/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.xz{,.sig}
http://isl.gforge.inria.fr/isl-$_islver.tar.bz2
- 0001-pthread-reentrant.patch)
+ pure64.patch)
validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org
- 13975A70E63C361C73AE69EF6EEB81F8981C74C7) # richard.guenther@gmail.com
-sha256sums=('c52618f656f2102b3544419e7d0a8a4f4e6ff052783865202be73edf1a40e28b'
+ 13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com
+ 33C235A34C46AA3FFB293709A328C3A2C3C45C06) # Jakub Jelinek <jakub@redhat.com>
+sha256sums=('1d1866f992626e61349a1ccd0b8d5253816222cdc13390dcfaa74b093aa2b153'
'SKIP'
'6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b'
- 'fc9c6f0edd615f2b39deff28b9626a08fd98ef8ce19f7e34281c0a5bd653ac3b')
+ 'ce8fd53670d34ab3a57a50d1f9b15a905c79bda611d447f52cd1612846682224')
prepare() {
[[ ! -d gcc ]] && ln -s gcc-${pkgver/+/-} gcc
cd gcc
- # link isl for in-tree builds
- ln -sf ../isl-$_islver isl
+ # link isl for in-tree build
+ ln -s ../isl-${_islver} isl
# Do not run fixincludes
sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+ # Arch Linux installs 64bit libraries in/lib
+ patch -Np1 -i "$srcdir"/pure64.patch
+
# hack! - some configure tests for header files using "$CPP $CPPFLAGS"
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" "$srcdir"/gcc/{libiberty,gcc}/configure
- # fix -pthreads behavior on risc-v
- patch -Np1 -i "$srcdir/0001-pthread-reentrant.patch"
-
mkdir -p "$srcdir/gcc-build"
}
@@ -53,6 +54,7 @@ build() {
$srcdir/gcc/configure \
--target=$_target \
+ @GCC_CONFIG_FLAGS@ \
--prefix=/usr \
--libdir=/usr/lib \
--libexecdir=/usr/lib \
@@ -74,8 +76,6 @@ build() {
--disable-libgomp \
--disable-nls \
--@MULTILIB@-multilib \
- --with-abi=@GCC_MABI@ \
- --with-arch=@GCC_MARCH@ \
--disable-bootstrap \
--enable-checking=release
diff --git a/src/stage1/toolchain-pkgbuilds/gcc-bootstrap/pure64.patch.in b/src/stage1/toolchain-pkgbuilds/gcc-bootstrap/pure64.patch.in
new file mode 100644
index 0000000..204934c
--- /dev/null
+++ b/src/stage1/toolchain-pkgbuilds/gcc-bootstrap/pure64.patch.in
@@ -0,0 +1,217 @@
+Submitted By: William Harrington <kb0iic at cross-lfs dot org>
+Date: 05-13-2017
+Initial Package Version: 6.1.0
+Origin: Idea originally developed by Ryan Oliver and Greg Schafer for
+ the Pure LFS project with help from
+ Martin Ward and Chris Staub
+Upstream Status: Not Applied - CLFS Specific
+Description: This patch makes changes to the paths for pure64, eg 64bit libs
+ in /usr/lib, 32bit in /usr/lib32.
+Comment: Rediffed for 7.1.0
+
+tweaked for powerpc64le gcc 8.1.0
+
+diff -rupN gcc-8.1.0.old/gcc/config/i386/linux64.h gcc-8.1.0/gcc/config/i386/linux64.h
+--- gcc-8.1.0.old/gcc/config/i386/linux64.h 2018-05-21 12:04:55.942167767 +0200
++++ gcc-8.1.0/gcc/config/i386/linux64.h 2018-05-21 12:05:08.352167891 +0200
+@@ -27,8 +27,8 @@ see the files COPYING3 and COPYING.RUNTI
+ #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
+ #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
+
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
+ #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
+
+ #undef MUSL_DYNAMIC_LINKER32
+diff -rupN gcc-8.1.0.old/gcc/config/i386/t-linux64 gcc-8.1.0/gcc/config/i386/t-linux64
+--- gcc-8.1.0.old/gcc/config/i386/t-linux64 2018-05-21 12:04:55.945501101 +0200
++++ gcc-8.1.0/gcc/config/i386/t-linux64 2018-05-21 12:05:08.445501226 +0200
+@@ -33,6 +33,6 @@
+ comma=,
+ MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
+ MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
+-MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
+-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
++MULTILIB_OSDIRNAMES = m64=../lib$(call if_multiarch,:x86_64-linux-gnu)
++MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call if_multiarch,:i386-linux-gnu)
+ MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
+diff -rupN gcc-8.1.0.old/gcc/config/linux.h gcc-8.1.0/gcc/config/linux.h
+--- gcc-8.1.0.old/gcc/config/linux.h 2018-05-21 12:04:55.928834434 +0200
++++ gcc-8.1.0/gcc/config/linux.h 2018-05-21 12:05:08.445501226 +0200
+@@ -82,7 +82,7 @@ see the files COPYING3 and COPYING.RUNTI
+ GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
+ supporting both 32-bit and 64-bit compilation. */
+ #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
+-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER32 "/lib32/ld-uClibc.so.0"
+ #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
+ #define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0"
+ #define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
+diff -rupN gcc-8.1.0.old/gcc/config/mips/t-linux64 gcc-8.1.0/gcc/config/mips/t-linux64
+--- gcc-8.1.0.old/gcc/config/mips/t-linux64 2018-05-21 12:04:55.918834435 +0200
++++ gcc-8.1.0/gcc/config/mips/t-linux64 2018-05-21 12:05:08.445501226 +0200
+@@ -22,5 +22,5 @@ MIPS_EL = $(if $(filter %el, $(firstword
+ MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
+ MULTILIB_OSDIRNAMES = \
+ ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
+- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
+- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
++ ../lib32$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
++ ../lib$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
+diff -rupN gcc-8.1.0.old/gcc/config/rs6000/linux64.h gcc-8.1.0/gcc/config/rs6000/linux64.h
+--- gcc-8.1.0.old/gcc/config/rs6000/linux64.h 2018-05-21 12:04:55.972167768 +0200
++++ gcc-8.1.0/gcc/config/rs6000/linux64.h 2018-05-21 12:05:08.445501226 +0200
+@@ -420,16 +420,16 @@ extern int dot_symbols;
+ #undef LINK_OS_DEFAULT_SPEC
+ #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
+
+-#define GLIBC_DYNAMIC_LINKER32 "%(dynamic_linker_prefix)/lib/ld.so.1"
++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld.so.1"
+
+ #ifdef LINUX64_DEFAULT_ABI_ELFv2
+ #define GLIBC_DYNAMIC_LINKER64 \
+-"%{mabi=elfv1:%(dynamic_linker_prefix)/lib64/ld64.so.1;" \
+-":%(dynamic_linker_prefix)/lib64/ld64.so.2}"
++"%{mabi=elfv1:/lib/ld64.so.1;" \
++":/lib/ld64.so.2}"
+ #else
+ #define GLIBC_DYNAMIC_LINKER64 \
+-"%{mabi=elfv2:%(dynamic_linker_prefix)/lib64/ld64.so.2;" \
+-":%(dynamic_linker_prefix)/lib64/ld64.so.1}"
++"%{mabi=elfv2:/lib/ld64.so.2;" \
++":/lib/ld64.so.1}"
+ #endif
+
+ #define MUSL_DYNAMIC_LINKER32 \
+@@ -437,7 +437,7 @@ extern int dot_symbols;
+ #define MUSL_DYNAMIC_LINKER64 \
+ "/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
+
+-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER32 "/lib32/ld-uClibc.so.0"
+ #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
+ #if DEFAULT_LIBC == LIBC_UCLIBC
+ #define CHOOSE_DYNAMIC_LINKER(G, U, M) \
+diff -rupN gcc-8.1.0.old/gcc/config/rs6000/t-ldouble-linux64le-ibm gcc-8.1.0/gcc/config/rs6000/t-ldouble-linux64le-ibm
+--- gcc-8.1.0.old/gcc/config/rs6000/t-ldouble-linux64le-ibm 2018-05-21 12:04:55.975501102 +0200
++++ gcc-8.1.0/gcc/config/rs6000/t-ldouble-linux64le-ibm 2018-05-21 12:17:02.082175008 +0200
+@@ -21,6 +21,6 @@
+
+ MULTILIB_OPTIONS += mabi=ieeelongdouble/mabi=ibmlongdouble
+ MULTILIB_DIRNAMES += ieee128 ibm128
+-MULTILIB_OSDIRNAMES += mabi.ibmlongdouble=../lib64$(call if_multiarch,:powerpc64-linux-gnu) \
+- mabi.ieeelongdouble=../lib64/ieee128$(call if_multiarch,:powerpc64-linux-gnu) \
+- ../lib64$(call if_multiarch,:powerpc64-linux-gnu)
++MULTILIB_OSDIRNAMES += mabi.ibmlongdouble=../lib$(call if_multiarch,:powerpc64-linux-gnu) \
++ mabi.ieeelongdouble=../lib/ieee128$(call if_multiarch,:powerpc64-linux-gnu) \
++ ../lib$(call if_multiarch,:powerpc64-linux-gnu)
+diff -rupN gcc-8.1.0.old/gcc/config/rs6000/t-ldouble-linux64le-ieee gcc-8.1.0/gcc/config/rs6000/t-ldouble-linux64le-ieee
+--- gcc-8.1.0.old/gcc/config/rs6000/t-ldouble-linux64le-ieee 2018-05-21 12:04:55.972167768 +0200
++++ gcc-8.1.0/gcc/config/rs6000/t-ldouble-linux64le-ieee 2018-05-21 12:17:02.082175008 +0200
+@@ -21,6 +21,6 @@
+
+ MULTILIB_OPTIONS += mabi=ieeelongdouble/mabi=ibmlongdouble
+ MULTILIB_DIRNAMES += ieee128 ibm128
+-MULTILIB_OSDIRNAMES += mabi.ibmlongdouble=../lib64/ibm128$(call if_multiarch,:powerpc64-linux-gnu) \
+- mabi.ieeelongdouble=../lib64$(call if_multiarch,:powerpc64-linux-gnu) \
+- ../lib64$(call if_multiarch,:powerpc64-linux-gnu)
++MULTILIB_OSDIRNAMES += mabi.ibmlongdouble=../lib/ibm128$(call if_multiarch,:powerpc64-linux-gnu) \
++ mabi.ieeelongdouble=../lib$(call if_multiarch,:powerpc64-linux-gnu) \
++ ../lib$(call if_multiarch,:powerpc64-linux-gnu)
+diff -rupN gcc-8.1.0.old/gcc/config/rs6000/t-linux gcc-8.1.0/gcc/config/rs6000/t-linux
+--- gcc-8.1.0.old/gcc/config/rs6000/t-linux 2018-05-21 12:04:55.972167768 +0200
++++ gcc-8.1.0/gcc/config/rs6000/t-linux 2018-05-21 12:17:02.082175008 +0200
+@@ -2,7 +2,7 @@
+ # or soft-float.
+ ifeq (,$(filter $(with_cpu),$(SOFT_FLOAT_CPUS))$(findstring soft,$(with_float)))
+ ifneq (,$(findstring powerpc64,$(target)))
+-MULTILIB_OSDIRNAMES := .=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
++MULTILIB_OSDIRNAMES := .=../lib$(call if_multiarch,:powerpc64-linux-gnu)
+ else
+ MULTIARCH_DIRNAME := powerpc-linux-gnu
+ endif
+diff -rupN gcc-8.1.0.old/gcc/config/rs6000/t-linux64 gcc-8.1.0/gcc/config/rs6000/t-linux64
+--- gcc-8.1.0.old/gcc/config/rs6000/t-linux64 2018-05-21 12:04:55.972167768 +0200
++++ gcc-8.1.0/gcc/config/rs6000/t-linux64 2018-05-21 12:17:02.082175008 +0200
+@@ -28,8 +28,8 @@
+ MULTILIB_OPTIONS := m64/m32
+ MULTILIB_DIRNAMES := 64 32
+ MULTILIB_EXTRA_OPTS :=
+-MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+-MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
++MULTILIB_OSDIRNAMES := m64=../lib$(call if_multiarch,:powerpc64-linux-gnu)
++MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call if_multiarch,:powerpc-linux-gnu)
+
+ rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
+ $(COMPILE) $<
+diff -rupN gcc-8.1.0.old/gcc/config/s390/linux.h gcc-8.1.0/gcc/config/s390/linux.h
+--- gcc-8.1.0.old/gcc/config/s390/linux.h 2018-05-21 12:04:55.938834435 +0200
++++ gcc-8.1.0/gcc/config/s390/linux.h 2018-05-21 12:05:08.445501226 +0200
+@@ -73,7 +73,7 @@ along with GCC; see the file COPYING3.
+ #define MULTILIB_DEFAULTS { "m31" }
+ #endif
+
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld.so.1"
+ #define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1"
+
+ #undef LINK_SPEC
+diff -rupN gcc-8.1.0.old/gcc/config/s390/t-linux64 gcc-8.1.0/gcc/config/s390/t-linux64
+--- gcc-8.1.0.old/gcc/config/s390/t-linux64 2018-05-21 12:04:55.938834435 +0200
++++ gcc-8.1.0/gcc/config/s390/t-linux64 2018-05-21 12:05:08.445501226 +0200
+@@ -7,5 +7,5 @@
+
+ MULTILIB_OPTIONS = m64/m31
+ MULTILIB_DIRNAMES = 64 32
+-MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:s390x-linux-gnu)
+-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:s390-linux-gnu)
++MULTILIB_OSDIRNAMES = ../lib$(call if_multiarch,:s390x-linux-gnu)
++MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call if_multiarch,:s390-linux-gnu)
+diff -rupN gcc-8.1.0.old/gcc/config/sparc/linux64.h gcc-8.1.0/gcc/config/sparc/linux64.h
+--- gcc-8.1.0.old/gcc/config/sparc/linux64.h 2018-05-21 12:04:55.948834435 +0200
++++ gcc-8.1.0/gcc/config/sparc/linux64.h 2018-05-21 12:05:08.445501226 +0200
+@@ -84,8 +84,8 @@ along with GCC; see the file COPYING3.
+ When the -shared link option is used a final link is not being
+ done. */
+
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux.so.2"
+
+ #ifdef SPARC_BI_ARCH
+
+@@ -213,7 +213,7 @@ extern const char *host_detect_local_cpu
+ #else /* !SPARC_BI_ARCH */
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
++#define LINK_SPEC "-m elf64_sparc -Y P,%R/lib %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+diff -rupN gcc-8.1.0.old/gcc/config/sparc/linux.h gcc-8.1.0/gcc/config/sparc/linux.h
+--- gcc-8.1.0.old/gcc/config/sparc/linux.h 2018-05-21 12:04:55.952167768 +0200
++++ gcc-8.1.0/gcc/config/sparc/linux.h 2018-05-21 12:05:08.445501226 +0200
+@@ -83,7 +83,7 @@ extern const char *host_detect_local_cpu
+ When the -shared link option is used a final link is not being
+ done. */
+
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER "/lib32/ld-linux.so.2"
+
+ #undef LINK_SPEC
+ #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
+diff -rupN gcc-8.1.0.old/gcc/config/sparc/t-linux64 gcc-8.1.0/gcc/config/sparc/t-linux64
+--- gcc-8.1.0.old/gcc/config/sparc/t-linux64 2018-05-21 12:04:55.948834435 +0200
++++ gcc-8.1.0/gcc/config/sparc/t-linux64 2018-05-21 12:05:08.445501226 +0200
+@@ -25,5 +25,5 @@
+
+ MULTILIB_OPTIONS = m64/m32
+ MULTILIB_DIRNAMES = 64 32
+-MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:sparc64-linux-gnu)
+-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:sparc-linux-gnu)
++MULTILIB_OSDIRNAMES = ../lib$(call if_multiarch,:sparc64-linux-gnu)
++MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call if_multiarch,:sparc-linux-gnu)
diff --git a/src/stage1/toolchain-pkgbuilds/gcc/0001-pthread-reentrant.patch.in b/src/stage1/toolchain-pkgbuilds/gcc/0001-pthread-reentrant.patch.in
deleted file mode 100644
index 36342ef..0000000
--- a/src/stage1/toolchain-pkgbuilds/gcc/0001-pthread-reentrant.patch.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- trunk/gcc/config/riscv/linux.h 2018/01/03 10:03:58 256169
-+++ trunk/gcc/config/riscv/linux.h 2018/02/13 11:21:01 257621
-@@ -47,6 +47,8 @@
-
- #define ICACHE_FLUSH_FUNC "__riscv_flush_icache"
-
-+#define CPP_SPEC "%{pthread:-D_REENTRANT}"
-+
- #define LINK_SPEC "\
- -melf" XLEN_SPEC "lriscv \
- %{shared} \
diff --git a/src/stage1/toolchain-pkgbuilds/gcc/PKGBUILD.in b/src/stage1/toolchain-pkgbuilds/gcc/PKGBUILD.in
index 2863cad..f7f9c04 100644
--- a/src/stage1/toolchain-pkgbuilds/gcc/PKGBUILD.in
+++ b/src/stage1/toolchain-pkgbuilds/gcc/PKGBUILD.in
@@ -2,7 +2,7 @@
_target=@CHOST@
pkgname=$_target-gcc
-pkgver=7.3.1+20180312
+pkgver=8.1.0
_islver=0.18
pkgrel=1
pkgdesc='The GNU Compiler Collection - cross compiler for @CARCH@ target'
@@ -14,15 +14,16 @@ makedepends=(gmp mpfr)
options=(!emptydirs !strip staticlibs)
conflicts=($pkgname-bootstrap)
replaces=($pkgname-bootstrap)
-source=(https://sources.archlinux.org/other/gcc/gcc-${pkgver/+/-}.tar.xz{,.sig}
+source=(https://ftp.gnu.org/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.xz{,.sig}
http://isl.gforge.inria.fr/isl-$_islver.tar.bz2
- 0001-pthread-reentrant.patch)
+ pure64.patch)
validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org
- 13975A70E63C361C73AE69EF6EEB81F8981C74C7) # richard.guenther@gmail.com
-sha256sums=('c52618f656f2102b3544419e7d0a8a4f4e6ff052783865202be73edf1a40e28b'
+ 13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com
+ 33C235A34C46AA3FFB293709A328C3A2C3C45C06) # Jakub Jelinek <jakub@redhat.com>
+sha256sums=('1d1866f992626e61349a1ccd0b8d5253816222cdc13390dcfaa74b093aa2b153'
'SKIP'
'6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b'
- 'fc9c6f0edd615f2b39deff28b9626a08fd98ef8ce19f7e34281c0a5bd653ac3b')
+ 'ce8fd53670d34ab3a57a50d1f9b15a905c79bda611d447f52cd1612846682224')
prepare() {
[[ ! -d gcc ]] && ln -s gcc-${pkgver/+/-} gcc
@@ -34,12 +35,12 @@ prepare() {
# Do not run fixincludes
sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+ # Arch Linux installs 64bit libraries in/lib
+ patch -Np1 -i "$srcdir"/pure64.patch
+
# hack! - some configure tests for header files using "$CPP $CPPFLAGS"
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" "$srcdir"/gcc/{libiberty,gcc}/configure
- # fix -pthreads behavior on risc-v
- patch -Np1 -i "$srcdir/0001-pthread-reentrant.patch"
-
mkdir -p "$srcdir/gcc-build"
}
@@ -53,6 +54,7 @@ build() {
$srcdir/gcc/configure \
--target=$_target \
+ @GCC_CONFIG_FLAGS@ \
--prefix=/usr \
--libdir=/usr/lib \
--libexecdir=/usr/lib \
@@ -66,11 +68,9 @@ build() {
--enable-languages=c,c++,fortran \
--disable-libmudflap \
--disable-libssp \
- --disable-libquadmath \
+ --enable-libquadmath \
--disable-nls \
--@MULTILIB@-multilib \
- --with-abi=@GCC_MABI@ \
- --with-arch=@GCC_MARCH@ \
--disable-bootstrap \
--enable-checking=release
diff --git a/src/stage1/toolchain-pkgbuilds/gcc/pure64.patch.in b/src/stage1/toolchain-pkgbuilds/gcc/pure64.patch.in
new file mode 100644
index 0000000..204934c
--- /dev/null
+++ b/src/stage1/toolchain-pkgbuilds/gcc/pure64.patch.in
@@ -0,0 +1,217 @@
+Submitted By: William Harrington <kb0iic at cross-lfs dot org>
+Date: 05-13-2017
+Initial Package Version: 6.1.0
+Origin: Idea originally developed by Ryan Oliver and Greg Schafer for
+ the Pure LFS project with help from
+ Martin Ward and Chris Staub
+Upstream Status: Not Applied - CLFS Specific
+Description: This patch makes changes to the paths for pure64, eg 64bit libs
+ in /usr/lib, 32bit in /usr/lib32.
+Comment: Rediffed for 7.1.0
+
+tweaked for powerpc64le gcc 8.1.0
+
+diff -rupN gcc-8.1.0.old/gcc/config/i386/linux64.h gcc-8.1.0/gcc/config/i386/linux64.h
+--- gcc-8.1.0.old/gcc/config/i386/linux64.h 2018-05-21 12:04:55.942167767 +0200
++++ gcc-8.1.0/gcc/config/i386/linux64.h 2018-05-21 12:05:08.352167891 +0200
+@@ -27,8 +27,8 @@ see the files COPYING3 and COPYING.RUNTI
+ #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
+ #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
+
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
+ #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
+
+ #undef MUSL_DYNAMIC_LINKER32
+diff -rupN gcc-8.1.0.old/gcc/config/i386/t-linux64 gcc-8.1.0/gcc/config/i386/t-linux64
+--- gcc-8.1.0.old/gcc/config/i386/t-linux64 2018-05-21 12:04:55.945501101 +0200
++++ gcc-8.1.0/gcc/config/i386/t-linux64 2018-05-21 12:05:08.445501226 +0200
+@@ -33,6 +33,6 @@
+ comma=,
+ MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
+ MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
+-MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
+-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
++MULTILIB_OSDIRNAMES = m64=../lib$(call if_multiarch,:x86_64-linux-gnu)
++MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call if_multiarch,:i386-linux-gnu)
+ MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
+diff -rupN gcc-8.1.0.old/gcc/config/linux.h gcc-8.1.0/gcc/config/linux.h
+--- gcc-8.1.0.old/gcc/config/linux.h 2018-05-21 12:04:55.928834434 +0200
++++ gcc-8.1.0/gcc/config/linux.h 2018-05-21 12:05:08.445501226 +0200
+@@ -82,7 +82,7 @@ see the files COPYING3 and COPYING.RUNTI
+ GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
+ supporting both 32-bit and 64-bit compilation. */
+ #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
+-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER32 "/lib32/ld-uClibc.so.0"
+ #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
+ #define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0"
+ #define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
+diff -rupN gcc-8.1.0.old/gcc/config/mips/t-linux64 gcc-8.1.0/gcc/config/mips/t-linux64
+--- gcc-8.1.0.old/gcc/config/mips/t-linux64 2018-05-21 12:04:55.918834435 +0200
++++ gcc-8.1.0/gcc/config/mips/t-linux64 2018-05-21 12:05:08.445501226 +0200
+@@ -22,5 +22,5 @@ MIPS_EL = $(if $(filter %el, $(firstword
+ MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
+ MULTILIB_OSDIRNAMES = \
+ ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
+- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
+- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
++ ../lib32$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
++ ../lib$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
+diff -rupN gcc-8.1.0.old/gcc/config/rs6000/linux64.h gcc-8.1.0/gcc/config/rs6000/linux64.h
+--- gcc-8.1.0.old/gcc/config/rs6000/linux64.h 2018-05-21 12:04:55.972167768 +0200
++++ gcc-8.1.0/gcc/config/rs6000/linux64.h 2018-05-21 12:05:08.445501226 +0200
+@@ -420,16 +420,16 @@ extern int dot_symbols;
+ #undef LINK_OS_DEFAULT_SPEC
+ #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
+
+-#define GLIBC_DYNAMIC_LINKER32 "%(dynamic_linker_prefix)/lib/ld.so.1"
++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld.so.1"
+
+ #ifdef LINUX64_DEFAULT_ABI_ELFv2
+ #define GLIBC_DYNAMIC_LINKER64 \
+-"%{mabi=elfv1:%(dynamic_linker_prefix)/lib64/ld64.so.1;" \
+-":%(dynamic_linker_prefix)/lib64/ld64.so.2}"
++"%{mabi=elfv1:/lib/ld64.so.1;" \
++":/lib/ld64.so.2}"
+ #else
+ #define GLIBC_DYNAMIC_LINKER64 \
+-"%{mabi=elfv2:%(dynamic_linker_prefix)/lib64/ld64.so.2;" \
+-":%(dynamic_linker_prefix)/lib64/ld64.so.1}"
++"%{mabi=elfv2:/lib/ld64.so.2;" \
++":/lib/ld64.so.1}"
+ #endif
+
+ #define MUSL_DYNAMIC_LINKER32 \
+@@ -437,7 +437,7 @@ extern int dot_symbols;
+ #define MUSL_DYNAMIC_LINKER64 \
+ "/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
+
+-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER32 "/lib32/ld-uClibc.so.0"
+ #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
+ #if DEFAULT_LIBC == LIBC_UCLIBC
+ #define CHOOSE_DYNAMIC_LINKER(G, U, M) \
+diff -rupN gcc-8.1.0.old/gcc/config/rs6000/t-ldouble-linux64le-ibm gcc-8.1.0/gcc/config/rs6000/t-ldouble-linux64le-ibm
+--- gcc-8.1.0.old/gcc/config/rs6000/t-ldouble-linux64le-ibm 2018-05-21 12:04:55.975501102 +0200
++++ gcc-8.1.0/gcc/config/rs6000/t-ldouble-linux64le-ibm 2018-05-21 12:17:02.082175008 +0200
+@@ -21,6 +21,6 @@
+
+ MULTILIB_OPTIONS += mabi=ieeelongdouble/mabi=ibmlongdouble
+ MULTILIB_DIRNAMES += ieee128 ibm128
+-MULTILIB_OSDIRNAMES += mabi.ibmlongdouble=../lib64$(call if_multiarch,:powerpc64-linux-gnu) \
+- mabi.ieeelongdouble=../lib64/ieee128$(call if_multiarch,:powerpc64-linux-gnu) \
+- ../lib64$(call if_multiarch,:powerpc64-linux-gnu)
++MULTILIB_OSDIRNAMES += mabi.ibmlongdouble=../lib$(call if_multiarch,:powerpc64-linux-gnu) \
++ mabi.ieeelongdouble=../lib/ieee128$(call if_multiarch,:powerpc64-linux-gnu) \
++ ../lib$(call if_multiarch,:powerpc64-linux-gnu)
+diff -rupN gcc-8.1.0.old/gcc/config/rs6000/t-ldouble-linux64le-ieee gcc-8.1.0/gcc/config/rs6000/t-ldouble-linux64le-ieee
+--- gcc-8.1.0.old/gcc/config/rs6000/t-ldouble-linux64le-ieee 2018-05-21 12:04:55.972167768 +0200
++++ gcc-8.1.0/gcc/config/rs6000/t-ldouble-linux64le-ieee 2018-05-21 12:17:02.082175008 +0200
+@@ -21,6 +21,6 @@
+
+ MULTILIB_OPTIONS += mabi=ieeelongdouble/mabi=ibmlongdouble
+ MULTILIB_DIRNAMES += ieee128 ibm128
+-MULTILIB_OSDIRNAMES += mabi.ibmlongdouble=../lib64/ibm128$(call if_multiarch,:powerpc64-linux-gnu) \
+- mabi.ieeelongdouble=../lib64$(call if_multiarch,:powerpc64-linux-gnu) \
+- ../lib64$(call if_multiarch,:powerpc64-linux-gnu)
++MULTILIB_OSDIRNAMES += mabi.ibmlongdouble=../lib/ibm128$(call if_multiarch,:powerpc64-linux-gnu) \
++ mabi.ieeelongdouble=../lib$(call if_multiarch,:powerpc64-linux-gnu) \
++ ../lib$(call if_multiarch,:powerpc64-linux-gnu)
+diff -rupN gcc-8.1.0.old/gcc/config/rs6000/t-linux gcc-8.1.0/gcc/config/rs6000/t-linux
+--- gcc-8.1.0.old/gcc/config/rs6000/t-linux 2018-05-21 12:04:55.972167768 +0200
++++ gcc-8.1.0/gcc/config/rs6000/t-linux 2018-05-21 12:17:02.082175008 +0200
+@@ -2,7 +2,7 @@
+ # or soft-float.
+ ifeq (,$(filter $(with_cpu),$(SOFT_FLOAT_CPUS))$(findstring soft,$(with_float)))
+ ifneq (,$(findstring powerpc64,$(target)))
+-MULTILIB_OSDIRNAMES := .=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
++MULTILIB_OSDIRNAMES := .=../lib$(call if_multiarch,:powerpc64-linux-gnu)
+ else
+ MULTIARCH_DIRNAME := powerpc-linux-gnu
+ endif
+diff -rupN gcc-8.1.0.old/gcc/config/rs6000/t-linux64 gcc-8.1.0/gcc/config/rs6000/t-linux64
+--- gcc-8.1.0.old/gcc/config/rs6000/t-linux64 2018-05-21 12:04:55.972167768 +0200
++++ gcc-8.1.0/gcc/config/rs6000/t-linux64 2018-05-21 12:17:02.082175008 +0200
+@@ -28,8 +28,8 @@
+ MULTILIB_OPTIONS := m64/m32
+ MULTILIB_DIRNAMES := 64 32
+ MULTILIB_EXTRA_OPTS :=
+-MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+-MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
++MULTILIB_OSDIRNAMES := m64=../lib$(call if_multiarch,:powerpc64-linux-gnu)
++MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call if_multiarch,:powerpc-linux-gnu)
+
+ rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
+ $(COMPILE) $<
+diff -rupN gcc-8.1.0.old/gcc/config/s390/linux.h gcc-8.1.0/gcc/config/s390/linux.h
+--- gcc-8.1.0.old/gcc/config/s390/linux.h 2018-05-21 12:04:55.938834435 +0200
++++ gcc-8.1.0/gcc/config/s390/linux.h 2018-05-21 12:05:08.445501226 +0200
+@@ -73,7 +73,7 @@ along with GCC; see the file COPYING3.
+ #define MULTILIB_DEFAULTS { "m31" }
+ #endif
+
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld.so.1"
+ #define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1"
+
+ #undef LINK_SPEC
+diff -rupN gcc-8.1.0.old/gcc/config/s390/t-linux64 gcc-8.1.0/gcc/config/s390/t-linux64
+--- gcc-8.1.0.old/gcc/config/s390/t-linux64 2018-05-21 12:04:55.938834435 +0200
++++ gcc-8.1.0/gcc/config/s390/t-linux64 2018-05-21 12:05:08.445501226 +0200
+@@ -7,5 +7,5 @@
+
+ MULTILIB_OPTIONS = m64/m31
+ MULTILIB_DIRNAMES = 64 32
+-MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:s390x-linux-gnu)
+-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:s390-linux-gnu)
++MULTILIB_OSDIRNAMES = ../lib$(call if_multiarch,:s390x-linux-gnu)
++MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call if_multiarch,:s390-linux-gnu)
+diff -rupN gcc-8.1.0.old/gcc/config/sparc/linux64.h gcc-8.1.0/gcc/config/sparc/linux64.h
+--- gcc-8.1.0.old/gcc/config/sparc/linux64.h 2018-05-21 12:04:55.948834435 +0200
++++ gcc-8.1.0/gcc/config/sparc/linux64.h 2018-05-21 12:05:08.445501226 +0200
+@@ -84,8 +84,8 @@ along with GCC; see the file COPYING3.
+ When the -shared link option is used a final link is not being
+ done. */
+
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux.so.2"
+
+ #ifdef SPARC_BI_ARCH
+
+@@ -213,7 +213,7 @@ extern const char *host_detect_local_cpu
+ #else /* !SPARC_BI_ARCH */
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
++#define LINK_SPEC "-m elf64_sparc -Y P,%R/lib %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+diff -rupN gcc-8.1.0.old/gcc/config/sparc/linux.h gcc-8.1.0/gcc/config/sparc/linux.h
+--- gcc-8.1.0.old/gcc/config/sparc/linux.h 2018-05-21 12:04:55.952167768 +0200
++++ gcc-8.1.0/gcc/config/sparc/linux.h 2018-05-21 12:05:08.445501226 +0200
+@@ -83,7 +83,7 @@ extern const char *host_detect_local_cpu
+ When the -shared link option is used a final link is not being
+ done. */
+
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER "/lib32/ld-linux.so.2"
+
+ #undef LINK_SPEC
+ #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
+diff -rupN gcc-8.1.0.old/gcc/config/sparc/t-linux64 gcc-8.1.0/gcc/config/sparc/t-linux64
+--- gcc-8.1.0.old/gcc/config/sparc/t-linux64 2018-05-21 12:04:55.948834435 +0200
++++ gcc-8.1.0/gcc/config/sparc/t-linux64 2018-05-21 12:05:08.445501226 +0200
+@@ -25,5 +25,5 @@
+
+ MULTILIB_OPTIONS = m64/m32
+ MULTILIB_DIRNAMES = 64 32
+-MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:sparc64-linux-gnu)
+-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:sparc-linux-gnu)
++MULTILIB_OSDIRNAMES = ../lib$(call if_multiarch,:sparc64-linux-gnu)
++MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call if_multiarch,:sparc-linux-gnu)
diff --git a/src/stage1/toolchain-pkgbuilds/glibc/PKGBUILD.in b/src/stage1/toolchain-pkgbuilds/glibc/PKGBUILD.in
index bfb44ce..3ff965c 100644
--- a/src/stage1/toolchain-pkgbuilds/glibc/PKGBUILD.in
+++ b/src/stage1/toolchain-pkgbuilds/glibc/PKGBUILD.in
@@ -4,7 +4,7 @@ _target=@CHOST@
pkgname=$_target-glibc
pkgver=2.27
pkgrel=1
-_commit=be176490b818b65b5162c332eb6b581690b16e5c
+_commit=23158b08a0908f381459f273a984c6fd328363cb
pkgdesc="GNU C Library @CARCH@ target"
arch=('x86_64')
url='http://www.gnu.org/software/libc/'
@@ -42,12 +42,12 @@ build() {
CPPFLAGS=${CPPFLAGS/-D_FORTIFY_SOURCE=2/}
export BUILD_CC=gcc
- export CC="${_target}-gcc -march=@GCC_MARCH@ -mabi=@GCC_MABI@"
+ export CC="${_target}-gcc @PLATFORM_CFLAGS@"
export AR=${_target}-ar
export RANLIB=${_target}-ranlib
- CFLAGS="$CFLAGS -mcmodel=medlow -g -O2 -march=@GCC_MARCH@ -mabi=@GCC_MABI@" \
- ASFLAGS="$ASFLAGS -mcmodel=medlow -march=@GCC_MARCH@ -mabi=@GCC_MABI@" \
+ CFLAGS="$CFLAGS -g -O2 @PLATFORM_CFLAGS@" \
+ ASFLAGS="$ASFLAGS @PLATFORM_CFLAGS@" \
"$srcdir/glibc-$pkgver/configure" \
--host=$_target \
--libdir=/usr/lib \
@@ -68,7 +68,7 @@ build() {
[ "x@MULTILIB@" == "xenable" ] || return 0
cd "$srcdir/lib32-glibc-build"
- export CC="${_target}-gcc -march=@GCC_32_MARCH@ -mabi=@GCC_32_MABI@"
+ export CC="${_target}-gcc @PLATFORM32_CFLAGS@"
echo "slibdir=/usr/lib32" >> configparms
echo "rtlddir=/usr/lib32" >> configparms
@@ -80,8 +80,8 @@ build() {
CFLAGS=${CFLAGS/-fno-plt/}
CXXFLAGS=${CXXFLAGS/-fno-plt/}
- CFLAGS="$CFLAGS -mcmodel=medlow -g -O2 -march=@GCC_32_MARCH@ -mabi=@GCC_32_MABI@" \
- ASFLAGS="$ASFLAGS -mcmodel=medlow -march=@GCC_32_MARCH@ -mabi=@GCC_32_MABI@" \
+ CFLAGS="$CFLAGS -mcmodel=medlow -g -O2 @PLATFORM32_CFLAGS@" \
+ ASFLAGS="$ASFLAGS -mcmodel=medlow @PLATFORM32_CFLAGS@" \
"$srcdir/glibc-$pkgver/configure" \
--host=@CHOST32@ \
--libdir=/usr/lib32 \
diff --git a/src/stage1/toolchain-pkgbuilds/linux-libre-api-headers/PKGBUILD.in b/src/stage1/toolchain-pkgbuilds/linux-libre-api-headers/PKGBUILD.in
index ddbd2a6..0b76ab6 100644
--- a/src/stage1/toolchain-pkgbuilds/linux-libre-api-headers/PKGBUILD.in
+++ b/src/stage1/toolchain-pkgbuilds/linux-libre-api-headers/PKGBUILD.in
@@ -4,7 +4,7 @@
_target_arch=@LINUX_ARCH@
_target=@CHOST@
pkgname=$_target-linux-libre-api-headers
-_pkgver=4.15-gnu
+_pkgver=4.16-gnu
_archpkgver=${_pkgver%-*}
pkgver=${_pkgver//-/_}
@@ -17,7 +17,7 @@ provides=("$_target-linux-api-headers=${_archpkgver}")
conflicts=("$_target-linux-api-headers")
replaces=("$_target-linux-api-headers")
source=("https://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgver}/linux-libre-${_pkgver}.tar.xz"{,.sign})
-sha512sums=('a55cc663c6fb1e1cfa7905282b368b5d5888bc2398f0acf37e5bb9a232ded04fd566b1980e654da26aaec005332e458581495184d6bd4cec669181085d4d78a5'
+sha512sums=('c6805b3649cd71cfef272384958b33da23a00908e795592470bf711dd67886ab7d7610e7d4ae8a2230fa7483466636465ed9744444464a078de37b41c3db23e0'
'SKIP')
validpgpkeys=('474402C8C582DAFBE389C427BCB7CF877E7D47A7') # Alexandre Oliva
diff --git a/src/stage2/makepkg.sh b/src/stage2/makepkg.sh
index 31e9633..73955ab 100644
--- a/src/stage2/makepkg.sh
+++ b/src/stage2/makepkg.sh
@@ -19,10 +19,10 @@
##############################################################################
check_stage2_makepkg() {
- echo -n "checking for makepkg-$CARCH.sh ... "
+ echo -n "checking for makepkg.sh ... "
local have_stage2_makepkg=yes
- [ -f "$BUILDDIR"/makepkg-"$CARCH".sh ] || have_stage2_makepkg=no
+ [ -f "$BUILDDIR"/makepkg.sh ] || have_stage2_makepkg=no
echo $have_stage2_makepkg
[ "x$have_stage2_makepkg" == "xyes" ] || return "$ERROR_MISSING"
@@ -31,18 +31,18 @@ check_stage2_makepkg() {
build_stage2_makepkg() {
check_exe bsdtar pacman || return
- prepare_makepkgdir "$MAKEPKGDIR/makepkg-$CARCH" || return
+ prepare_makepkgdir "$MAKEPKGDIR/makepkg" || return
# fetch pacman package to excract makepkg
- pacman -Sw --noconfirm --cachedir . pacman
+ pacman -Sw --noconfirm --cachedir . pacman || return
mkdir tmp && bsdtar -C tmp -xf pacman-*.pkg.tar.xz
# install makepkg
- cp -Lv tmp/usr/bin/makepkg "$BUILDDIR"/makepkg-"$CARCH".sh
+ cp -Lv tmp/usr/bin/makepkg "$BUILDDIR"/makepkg.sh
# patch run_pacman in makepkg, we cannot pass the pacman root to it as parameter ATM
sed -i "s#\"\$PACMAN_PATH\"#& --config $CHROOTDIR/etc/pacman.conf -r $CHROOTDIR#" \
- "$BUILDDIR"/makepkg-"$CARCH".sh
+ "$BUILDDIR"/makepkg.sh
popd >/dev/null || return
}
@@ -51,12 +51,12 @@ prepare_stage2_makepkg() {
check_stage2_makepkg || build_stage2_makepkg || return
# create a sane makepkg.conf
- cat "$SRCDIR"/makepkg.conf.in > "$BUILDDIR"/makepkg-"$CARCH".conf
- cat >> "$BUILDDIR"/makepkg-"$CARCH".conf << EOF
+ cat "$SRCDIR"/makepkg.conf.in > "$BUILDDIR"/makepkg.conf
+ cat >> "$BUILDDIR"/makepkg.conf << EOF
CARCH="$CARCH"
CHOST="$CHOST"
-CFLAGS="-march=$GCC_MARCH -mabi=$GCC_MABI -O2 -pipe -fstack-protector-strong -fno-plt"
-CXXFLAGS="-march=$GCC_MARCH -mabi=$GCC_MABI -O2 -pipe -fstack-protector-strong -fno-plt"
+CFLAGS="${PLATFORM_CFLAGS[*]} -O2 -pipe -fstack-protector-strong -fno-plt"
+CXXFLAGS="${PLATFORM_CFLAGS[*]} -O2 -pipe -fstack-protector-strong -fno-plt"
MAKEFLAGS="-j$(($(nproc) + 1))"
EOF
diff --git a/src/stage2/patches/binutils.patch b/src/stage2/patches/binutils.patch
deleted file mode 100644
index c5dfe64..0000000
--- a/src/stage2/patches/binutils.patch
+++ /dev/null
@@ -1,39 +0,0 @@
---- a/PKGBUILD 2018-03-29 08:30:40.025895502 +0200
-+++ b/PKGBUILD 2018-03-29 08:58:13.640738777 +0200
-@@ -4,8 +4,8 @@
- # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
-
- pkgname=binutils
--pkgver=2.29.1
--pkgrel=3
-+pkgver=2.30
-+pkgrel=1
- pkgdesc='A set of programs to assemble and manipulate binary and object files'
- arch=(x86_64)
- url='http://www.gnu.org/software/binutils/'
-@@ -24,7 +24,7 @@ source=(https://ftp.gnu.org/gnu/binutils
- 0001-PR22741-objcopy-segfault-on-fuzzed-COFF-object.patch
- 0001-PR22829-objcopy-strip-removes-PT_GNU_RELRO-from-lld-.patch)
- validpgpkeys=(3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F)
--md5sums=('acc9cd826edb9954ac7cecb81c727793'
-+md5sums=('ffc476dd46c96f932875d1b2e27e929f'
- 'SKIP'
- 'e4be936139ef46122cb3841881c432b2'
- '469164f3c93a0e92a697537b60c9806c'
-@@ -53,6 +53,7 @@ build() {
- cd binutils-build
-
- "$srcdir/binutils-$pkgver/configure" \
-+ --host=@CHOST@ --build=@BUILDHOST@ \
- --prefix=/usr \
- --with-lib-path=/usr/lib:/usr/local/lib \
- --with-bugurl=https://bugs.archlinux.org/ \
-@@ -66,7 +67,7 @@ build() {
- --with-pic \
- --disable-werror \
- --disable-gdb \
-- --with-system-zlib
-+ --with-system-zlib=@SYSROOT@/usr/lib/libz.so
-
- make configure-host
- make tooldir=/usr
diff --git a/src/stage2/patches/bzip2.patch b/src/stage2/patches/bzip2.patch
deleted file mode 100644
index 076fa8a..0000000
--- a/src/stage2/patches/bzip2.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/PKGBUILD 2018-02-20 09:55:03.463996102 +0100
-+++ b/PKGBUILD 2018-02-20 09:55:35.366908023 +0100
-@@ -31,8 +31,8 @@ build() {
- # CVE-2016-3189
- patch -Np1 -i "${srcdir}/fix-heap-use-after-free-bzip2recover.patch"
-
-- make -f Makefile-libbz2_so
-- make bzip2 bzip2recover
-+ make CC=@CHOST@-gcc RANLIB=@CHOST@-ranlib AR=@CHOST@-ar -f Makefile-libbz2_so
-+ make CC=@CHOST@-gcc RANLIB=@CHOST@-ranlib AR=@CHOST@-ar bzip2 bzip2recover
- }
-
- check() {
diff --git a/src/stage2/patches/dbus.patch b/src/stage2/patches/dbus.patch
deleted file mode 100644
index d516bda..0000000
--- a/src/stage2/patches/dbus.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/PKGBUILD 2018-02-22 14:34:25.657823418 +0100
-+++ b/PKGBUILD 2018-02-22 15:01:01.416469952 +0100
-@@ -40,6 +40,8 @@ prepare() {
- build() {
- cd $pkgbase
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
-+ --host=@CHOST@ --build=@BUILDHOST@ \
-+ --disable-silent-rules --without-x --disable-xml-docs \
- --libexecdir=/usr/lib/dbus-1.0 --with-dbus-user=dbus \
- --with-system-pid-file=/run/dbus/pid \
- --with-system-socket=/run/dbus/system_bus_socket \
diff --git a/src/stage2/patches/elfutils.patch b/src/stage2/patches/elfutils.patch
deleted file mode 100644
index fa7705b..0000000
--- a/src/stage2/patches/elfutils.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/PKGBUILD 2018-02-20 11:24:49.506123482 +0100
-+++ b/PKGBUILD 2018-02-20 11:25:27.462565435 +0100
-@@ -26,7 +26,7 @@ build() {
- export CFLAGS=${CFLAGS/-fno-plt} # fix make check with i686
-
- CFLAGS+=" -g" # required for test-suite success
-- ./configure --prefix=/usr --program-prefix="eu-" --enable-deterministic-archives
-+ ./configure --host=@CHOST@ --build=@BUILDHOST@ --prefix=/usr --program-prefix="eu-" --enable-deterministic-archives
-
- make
- }
diff --git a/src/stage2/patches/gcc.patch b/src/stage2/patches/gcc.patch
deleted file mode 100644
index ddb9c63..0000000
--- a/src/stage2/patches/gcc.patch
+++ /dev/null
@@ -1,223 +0,0 @@
---- a/PKGBUILD 2018-03-29 08:30:53.138894260 +0200
-+++ b/PKGBUILD 2018-03-29 09:01:36.169719582 +0200
-@@ -5,7 +5,8 @@
- # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
- # NOTE: libtool requires rebuilt with each new gcc version
-
--pkgname=(gcc gcc-libs gcc-fortran gcc-objc gcc-ada gcc-go lib32-gcc-libs)
-+pkgname=(gcc gcc-libs gcc-fortran)
-+[ "x@MULTILIB@" == "xdisable" ] || pkgname+=(lib32-gcc-libs)
- pkgver=7.3.1+20180312
- _majorver=${pkgver:0:1}
- _islver=0.18
-@@ -14,6 +15,7 @@ pkgdesc='The GNU Compiler Collection'
- arch=(x86_64)
- license=(GPL LGPL FDL custom)
- url='http://gcc.gnu.org'
-+depends=(zlib)
- makedepends=(binutils libmpc gcc-ada doxygen lib32-glibc lib32-gcc-libs python)
- checkdepends=(dejagnu inetutils)
- options=(!emptydirs)
-@@ -21,7 +23,8 @@ source=(https://sources.archlinux.org/ot
- #source=(https://ftp.gnu.org/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.xz{,.sig}
- http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2
- c89 c99
-- bz84080.patch)
-+ bz84080.patch
-+ 0001-pthread-reentrant.patch)
- validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org
- 13975A70E63C361C73AE69EF6EEB81F8981C74C7) # richard.guenther@gmail.com
- sha256sums=('c52618f656f2102b3544419e7d0a8a4f4e6ff052783865202be73edf1a40e28b'
-@@ -29,7 +32,8 @@ sha256sums=('c52618f656f2102b3544419e7d0
- '6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b'
- 'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931'
- '2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a'
-- 'bce05807443558db55f0d6b4dae37a678ea1bb3388b541c876fe3d110e3717e7')
-+ 'bce05807443558db55f0d6b4dae37a678ea1bb3388b541c876fe3d110e3717e7'
-+ 'fc9c6f0edd615f2b39deff28b9626a08fd98ef8ce19f7e34281c0a5bd653ac3b')
-
- _svnrev=258469
- _svnurl=svn://gcc.gnu.org/svn/gcc/branches/gcc-${_majorver}-branch
-@@ -71,6 +75,9 @@ prepare() {
- # hack! - some configure tests for header files using "$CPP $CPPFLAGS"
- sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
-
-+ # fix -pthreads behavior on risc-v
-+ patch -Np1 -i "$srcdir/0001-pthread-reentrant.patch"
-+
- mkdir -p "$srcdir/gcc-build"
- }
-
-@@ -82,16 +89,24 @@ build() {
- CFLAGS=${CFLAGS/-pipe/}
- CXXFLAGS=${CXXFLAGS/-pipe/}
-
-- "$srcdir/gcc/configure" --prefix=/usr \
-+ CFLAGS=${CFLAGS/-march=@GCC_MARCH@}
-+ CFLAGS=${CFLAGS/-mabi=@GCC_MABI@}
-+ CXXFLAGS=${CXXFLAGS/-march=@GCC_MARCH@}
-+ CXXFLAGS=${CXXFLAGS/-mabi=@GCC_MABI@}
-+
-+ sed -i 's/gcc_cv_objdump/ac_cv_prog_OBJDUMP/' $srcdir/gcc/libcc1/configure
-+ "$srcdir/gcc/configure" --host=@CHOST@ --build=@BUILDHOST@ --target=@CHOST@ --prefix=/usr \
-+ --with-arch=@GCC_MARCH@ --with-api=@GCC_MABI@ \
-+ --disable-bootstrap \
- --libdir=/usr/lib \
- --libexecdir=/usr/lib \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --with-bugurl=https://bugs.archlinux.org/ \
-- --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \
-+ --enable-languages=c,c++,fortran,lto \
- --enable-shared \
- --enable-threads=posix \
-- --enable-libmpx \
-+ --disable-libmpx \
- --with-system-zlib \
- --with-isl \
- --enable-__cxa_atexit \
-@@ -106,16 +121,13 @@ build() {
- --enable-install-libiberty \
- --with-linker-hash-style=gnu \
- --enable-gnu-indirect-function \
-- --enable-multilib \
-+ --@MULTILIB@-multilib \
- --disable-werror \
- --enable-checking=release \
- --enable-default-pie \
- --enable-default-ssp
-
- make
--
-- # make documentation
-- make -C $CHOST/libstdc++-v3/doc doc-man-doxygen
- }
-
- check() {
-@@ -129,7 +141,7 @@ check() {
- package_gcc-libs() {
- pkgdesc='Runtime libraries shipped by GCC'
- groups=(base)
-- depends=('glibc>=2.26')
-+ depends=('glibc>=2.26' libmpc)
- options+=(!strip)
- provides=($pkgname-multilib libgo.so libgfortran.so)
- replaces=($pkgname-multilib)
-@@ -139,25 +151,17 @@ package_gcc-libs() {
- rm -f "$pkgdir/$_libdir/libgcc_eh.a"
-
- for lib in libatomic \
-- libcilkrts \
- libgfortran \
-- libgo \
- libgomp \
-- libitm \
- libquadmath \
-- libsanitizer/{a,l,ub,t}san \
-- libstdc++-v3/src \
-- libvtv; do
-+ libstdc++-v3/src; do
- make -C $CHOST/$lib DESTDIR="$pkgdir" install-toolexeclibLTLIBRARIES
- done
-
-- make -C $CHOST/libobjc DESTDIR="$pkgdir" install-libs
- make -C $CHOST/libstdc++-v3/po DESTDIR="$pkgdir" install
-- make -C $CHOST/libmpx DESTDIR="$pkgdir" install
- rm -f "$pkgdir/usr/lib/libmpx.spec"
-
- for lib in libgomp \
-- libitm \
- libquadmath; do
- make -C $CHOST/$lib DESTDIR="$pkgdir" install-info
- done
-@@ -188,22 +192,22 @@ package_gcc() {
- install -m755 -t "$pkgdir/${_libdir}/" gcc/{cc1,cc1plus,collect2,lto1}
-
- make -C $CHOST/libgcc DESTDIR="$pkgdir" install
-- make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install
-+ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install
- rm -f "$pkgdir"/usr/lib{,32}/libgcc_s.so*
-
- make -C $CHOST/libstdc++-v3/src DESTDIR="$pkgdir" install
- make -C $CHOST/libstdc++-v3/include DESTDIR="$pkgdir" install
- make -C $CHOST/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install
- make -C $CHOST/libstdc++-v3/python DESTDIR="$pkgdir" install
-- make -C $CHOST/32/libstdc++-v3/src DESTDIR="$pkgdir" install
-- make -C $CHOST/32/libstdc++-v3/include DESTDIR="$pkgdir" install
-- make -C $CHOST/32/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install
-+ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libstdc++-v3/src DESTDIR="$pkgdir" install
-+ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libstdc++-v3/include DESTDIR="$pkgdir" install
-+ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install
-
- make DESTDIR="$pkgdir" install-libcc1
- install -d "$pkgdir/usr/share/gdb/auto-load/usr/lib"
- mv "$pkgdir"/usr/lib/libstdc++.so.6.*-gdb.py \
- "$pkgdir/usr/share/gdb/auto-load/usr/lib/"
-- rm "$pkgdir"/usr/lib{,32}/libstdc++.so*
-+ rm -f "$pkgdir"/usr/lib{,32}/libstdc++.so*
-
- make DESTDIR="$pkgdir" install-fixincludes
- make -C gcc DESTDIR="$pkgdir" install-mkheaders
-@@ -213,26 +217,16 @@ package_gcc() {
- ln -s /${_libdir}/liblto_plugin.so \
- "$pkgdir/usr/lib/bfd-plugins/"
-
-- make -C $CHOST/libcilkrts DESTDIR="$pkgdir" install-nodist_{toolexeclib,cilkinclude}HEADERS
- make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_{libsubinclude,toolexeclib}HEADERS
-- make -C $CHOST/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
- make -C $CHOST/libquadmath DESTDIR="$pkgdir" install-nodist_libsubincludeHEADERS
-- make -C $CHOST/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS
-- make -C $CHOST/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-- make -C $CHOST/libmpx DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-- make -C $CHOST/32/libcilkrts DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-- make -C $CHOST/32/libgomp DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-- make -C $CHOST/32/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-- make -C $CHOST/32/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS
-- make -C $CHOST/32/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-- make -C $CHOST/32/libmpx DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-+ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libgomp DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-
- make -C libiberty DESTDIR="$pkgdir" install
- install -m644 libiberty/pic/libiberty.a "$pkgdir/usr/lib"
-
- make -C gcc DESTDIR="$pkgdir" install-man install-info
-- rm "$pkgdir"/usr/share/man/man1/{gccgo,gfortran}.1
-- rm "$pkgdir"/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn}.info
-+ rm -f "$pkgdir"/usr/share/man/man1/{gccgo,gfortran}.1
-+ rm -f "$pkgdir"/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn}.info
-
- make -C libcpp DESTDIR="$pkgdir" install
- make -C gcc DESTDIR="$pkgdir" install-po
-@@ -244,9 +238,6 @@ package_gcc() {
- install -Dm755 "$srcdir/c89" "$pkgdir/usr/bin/c89"
- install -Dm755 "$srcdir/c99" "$pkgdir/usr/bin/c99"
-
-- # install the libstdc++ man pages
-- make -C $CHOST/libstdc++-v3/doc DESTDIR="$pkgdir" doc-install-man
--
- # remove files provided by lib32-gcc-libs
- rm -f "$pkgdir"/usr/lib32/lib{stdc++,gcc_s}.so
-
-@@ -269,7 +260,7 @@ package_gcc-fortran() {
- cd gcc-build
- make -C $CHOST/libgfortran DESTDIR="$pkgdir" install-cafexeclibLTLIBRARIES \
- install-{toolexeclibDATA,nodist_fincludeHEADERS}
-- make -C $CHOST/32/libgfortran DESTDIR=$pkgdir install-cafexeclibLTLIBRARIES \
-+ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libgfortran DESTDIR=$pkgdir install-cafexeclibLTLIBRARIES \
- install-{toolexeclibDATA,nodist_fincludeHEADERS}
- make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_fincludeHEADERS
- make -C gcc DESTDIR="$pkgdir" fortran.install-{common,man,info}
---- /dev/null 2018-03-20 11:36:27.102196685 +0100
-+++ b/0001-pthread-reentrant.patch 2018-03-29 09:01:25.248720617 +0200
-@@ -0,0 +1,11 @@
-+--- trunk/gcc/config/riscv/linux.h 2018/01/03 10:03:58 256169
-++++ trunk/gcc/config/riscv/linux.h 2018/02/13 11:21:01 257621
-+@@ -47,6 +47,8 @@
-+
-+ #define ICACHE_FLUSH_FUNC "__riscv_flush_icache"
-+
-++#define CPP_SPEC "%{pthread:-D_REENTRANT}"
-++
-+ #define LINK_SPEC "\
-+ -melf" XLEN_SPEC "lriscv \
-+ %{shared} \
diff --git a/src/stage2/patches/acl.patch b/src/stage2/patches/generic/acl.patch
index b335e49..b335e49 100644
--- a/src/stage2/patches/acl.patch
+++ b/src/stage2/patches/generic/acl.patch
diff --git a/src/stage2/patches/argon2.patch b/src/stage2/patches/generic/argon2.patch
index 2e28029..2e28029 100644
--- a/src/stage2/patches/argon2.patch
+++ b/src/stage2/patches/generic/argon2.patch
diff --git a/src/stage2/patches/attr.patch b/src/stage2/patches/generic/attr.patch
index 344e550..344e550 100644
--- a/src/stage2/patches/attr.patch
+++ b/src/stage2/patches/generic/attr.patch
diff --git a/src/stage2/patches/bash.patch b/src/stage2/patches/generic/bash.patch
index 1399677..1399677 100644
--- a/src/stage2/patches/bash.patch
+++ b/src/stage2/patches/generic/bash.patch
diff --git a/src/stage2/patches/generic/binutils.patch b/src/stage2/patches/generic/binutils.patch
new file mode 100644
index 0000000..178192d
--- /dev/null
+++ b/src/stage2/patches/generic/binutils.patch
@@ -0,0 +1,20 @@
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-05-19 22:42:12.064158439 +0200
++++ b/PKGBUILD 2018-05-19 22:47:21.014161521 +0200
+@@ -51,6 +51,7 @@ build() {
+ cd binutils-build
+
+ "$srcdir/binutils-$pkgver/configure" \
++ --host=@CHOST@ --build=@BUILDHOST@ \
+ --prefix=/usr \
+ --with-lib-path=/usr/lib:/usr/local/lib \
+ --with-bugurl=https://bugs.archlinux.org/ \
+@@ -66,7 +67,7 @@ build() {
+ --disable-gdb \
+ --disable-werror \
+ --with-pic \
+- --with-system-zlib
++ --with-system-zlib=@SYSROOT@/usr/lib/libz.so
+
+ make configure-host
+ make tooldir=/usr
diff --git a/src/stage2/patches/bison.patch b/src/stage2/patches/generic/bison.patch
index deb583b..deb583b 100644
--- a/src/stage2/patches/bison.patch
+++ b/src/stage2/patches/generic/bison.patch
diff --git a/src/stage2/patches/generic/bzip2.patch b/src/stage2/patches/generic/bzip2.patch
new file mode 100644
index 0000000..ff98080
--- /dev/null
+++ b/src/stage2/patches/generic/bzip2.patch
@@ -0,0 +1,23 @@
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-05-19 05:17:04.163532745 +0200
++++ b/PKGBUILD 2018-05-19 05:23:49.323536788 +0200
+@@ -16,7 +16,7 @@ source=(http://www.bzip.org/$pkgver/bzip
+ fix-heap-use-after-free-bzip2recover.patch::https://gitweb.gentoo.org/repo/gentoo.git/plain/app-arch/bzip2/files/bzip2-1.0.6-CVE-2016-3189.patch)
+ sha1sums=('3f89f861209ce81a6bab1fd1998c0ef311712002'
+ '85ce76fdb67f52f152bba368c1de81132dcdbdb5'
+- '95f6187491bcd980f869c6857a72edb3e43e1064')
++ '3318e71b4a6d9d350a61f47de495301a937fad8a')
+ build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+@@ -31,8 +31,8 @@ build() {
+ # CVE-2016-3189
+ patch -Np1 -i "${srcdir}/fix-heap-use-after-free-bzip2recover.patch"
+
+- make -f Makefile-libbz2_so
+- make bzip2 bzip2recover
++ make CC=@CHOST@-gcc RANLIB=@CHOST@-ranlib AR=@CHOST@-ar -f Makefile-libbz2_so
++ make CC=@CHOST@-gcc RANLIB=@CHOST@-ranlib AR=@CHOST@-ar bzip2 bzip2recover
+ }
+
+ check() {
diff --git a/src/stage2/patches/coreutils.patch b/src/stage2/patches/generic/coreutils.patch
index ba1be42..ba1be42 100644
--- a/src/stage2/patches/coreutils.patch
+++ b/src/stage2/patches/generic/coreutils.patch
diff --git a/src/stage2/patches/cracklib.patch b/src/stage2/patches/generic/cracklib.patch
index 9b54b24..9b54b24 100644
--- a/src/stage2/patches/cracklib.patch
+++ b/src/stage2/patches/generic/cracklib.patch
diff --git a/src/stage2/patches/cryptsetup.patch b/src/stage2/patches/generic/cryptsetup.patch
index dc1b214..dc1b214 100644
--- a/src/stage2/patches/cryptsetup.patch
+++ b/src/stage2/patches/generic/cryptsetup.patch
diff --git a/src/stage2/patches/curl.patch b/src/stage2/patches/generic/curl.patch
index b23389b..b23389b 100644
--- a/src/stage2/patches/curl.patch
+++ b/src/stage2/patches/generic/curl.patch
diff --git a/src/stage2/patches/db.patch b/src/stage2/patches/generic/db.patch
index a9be064..a9be064 100644
--- a/src/stage2/patches/db.patch
+++ b/src/stage2/patches/generic/db.patch
diff --git a/src/stage2/patches/generic/dbus.patch b/src/stage2/patches/generic/dbus.patch
new file mode 100644
index 0000000..d0b16b9
--- /dev/null
+++ b/src/stage2/patches/generic/dbus.patch
@@ -0,0 +1,21 @@
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-05-19 23:28:57.634186431 +0200
++++ b/PKGBUILD 2018-05-20 07:24:23.307804390 +0200
+@@ -12,7 +12,7 @@ pkgdesc="Freedesktop.org message bus sys
+ url="https://wiki.freedesktop.org/www/Software/dbus/"
+ arch=(x86_64)
+ license=(GPL custom)
+-depends=(libsystemd expat)
++depends=(libsystemd expat glib2)
+ makedepends=(systemd xmlto docbook-xsl python yelp-tools doxygen git autoconf-archive graphviz)
+ _commit=f8902fa1c840e3fab807016e6a00647b6ef9dd41 # tags/dbus-1.12.8^0
+ source=("git+https://anongit.freedesktop.org/git/dbus/dbus#commit=$_commit"
+@@ -40,6 +40,8 @@ prepare() {
+ build() {
+ cd $pkgbase
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
++ --host=@CHOST@ --build=@BUILDHOST@ \
++ --disable-silent-rules --without-x --disable-xml-docs \
+ --libexecdir=/usr/lib/dbus-1.0 --with-dbus-user=dbus \
+ --with-system-pid-file=/run/dbus/pid \
+ --with-system-socket=/run/dbus/system_bus_socket \
diff --git a/src/stage2/patches/diffutils.patch b/src/stage2/patches/generic/diffutils.patch
index 3afc11a..3afc11a 100644
--- a/src/stage2/patches/diffutils.patch
+++ b/src/stage2/patches/generic/diffutils.patch
diff --git a/src/stage2/patches/e2fsprogs.patch b/src/stage2/patches/generic/e2fsprogs.patch
index e9014f2..e9014f2 100644
--- a/src/stage2/patches/e2fsprogs.patch
+++ b/src/stage2/patches/generic/e2fsprogs.patch
diff --git a/src/stage2/patches/generic/elfutils.patch b/src/stage2/patches/generic/elfutils.patch
new file mode 100644
index 0000000..1fae64d
--- /dev/null
+++ b/src/stage2/patches/generic/elfutils.patch
@@ -0,0 +1,72 @@
+diff -rupN a/0001-Ensure-that-packed-structs-follow-the-gcc-memory-lay.patch b/0001-Ensure-that-packed-structs-follow-the-gcc-memory-lay.patch
+--- a/0001-Ensure-that-packed-structs-follow-the-gcc-memory-lay.patch 1970-01-01 01:00:00.000000000 +0100
++++ b/0001-Ensure-that-packed-structs-follow-the-gcc-memory-lay.patch 2018-05-19 22:19:07.020811285 +0200
+@@ -0,0 +1,34 @@
++From 732913a8c35c7b25c0cbf6903cab1ad6b602b525 Mon Sep 17 00:00:00 2001
++From: Khem Raj <raj.khem@gmail.com>
++Date: Thu, 22 Mar 2018 22:44:03 -0700
++Subject: [PATCH] Ensure that packed structs follow the gcc memory layout
++
++Partial backport of
++https://sourceware.org/git/?p=elfutils.git;a=commit;h=17d7194d291bf91d130b78e06cbe27b290e0376d
++
++Helps fixing alignment errors e.g.
++linux-core-note.c:116:1: error: alignment 2 of 'struct m68k_prstatus
++' is less than 4 [-Werror=packed-not-aligned]
++ ;
++ ^
++
++Upstream-Status: Backport [https://sourceware.org/git/?p=elfutils.git;a=commit;h=17d7194d291bf91d130b78e06cbe27b290e0376d]
++
++Signed-off-by: Khem Raj <raj.khem@gmail.com>
++---
++ backends/linux-core-note.c | 2 +-
++ 1 file changed, 1 insertion(+), 1 deletion(-)
++
++diff --git a/backends/linux-core-note.c b/backends/linux-core-note.c
++index 5f06c896..9faae4c3 100644
++--- a/backends/linux-core-note.c
+++++ b/backends/linux-core-note.c
++@@ -111,7 +111,7 @@ struct EBLHOOK(prstatus)
++ FIELD (INT, pr_fpvalid);
++ }
++ #ifdef ALIGN_PRSTATUS
++- __attribute__ ((packed, aligned (ALIGN_PRSTATUS)))
+++ attribute_packed __attribute__ ((aligned (ALIGN_PRSTATUS)))
++ #endif
++ ;
++
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-05-19 22:10:01.560805842 +0200
++++ b/PKGBUILD 2018-05-19 22:19:07.014144618 +0200
+@@ -13,11 +13,19 @@ url="https://sourceware.org/elfutils/"
+ license=('LGPL3' 'GPL' 'GPL3')
+ depends=('gcc-libs' 'zlib' 'bzip2' 'xz')
+ options=('staticlibs')
+-source=(https://sourceware.org/elfutils/ftp/${pkgver}/elfutils-${pkgver}.tar.bz2{,.sig})
++source=(https://sourceware.org/elfutils/ftp/${pkgver}/elfutils-${pkgver}.tar.bz2{,.sig}
++ 0001-Ensure-that-packed-structs-follow-the-gcc-memory-lay.patch)
+ sha1sums=('aff6feac0ff69eb7b240babdf2918f640eadb032'
+- 'SKIP')
++ 'SKIP'
++ '4b8020510587ba2b6795dd66a6798506ffd97ccf')
+ validpgpkeys=('47CC0331081B8BC6D0FD4DA08370665B57816A6A') # Mark J. Wielaard <mark@klomp.org>
+
++prepare() {
++ cd ${pkgbase}-${pkgver}
++
++ patch -Np1 -i "$srcdir"/0001-Ensure-that-packed-structs-follow-the-gcc-memory-lay.patch
++}
++
+ build() {
+ cd ${pkgbase}-${pkgver}
+
+@@ -26,7 +34,7 @@ build() {
+ export CFLAGS=${CFLAGS/-fno-plt} # fix make check with i686
+
+ CFLAGS+=" -g" # required for test-suite success
+- ./configure --prefix=/usr --program-prefix="eu-" --enable-deterministic-archives
++ ./configure --host=@CHOST@ --build=@BUILDHOST@ --prefix=/usr --program-prefix="eu-" --enable-deterministic-archives
+
+ make
+ }
diff --git a/src/stage2/patches/expat.patch b/src/stage2/patches/generic/expat.patch
index cb1d8a7..cb1d8a7 100644
--- a/src/stage2/patches/expat.patch
+++ b/src/stage2/patches/generic/expat.patch
diff --git a/src/stage2/patches/fakeroot.patch b/src/stage2/patches/generic/fakeroot.patch
index 3f34ba9..3f34ba9 100644
--- a/src/stage2/patches/fakeroot.patch
+++ b/src/stage2/patches/generic/fakeroot.patch
diff --git a/src/stage2/patches/file.patch b/src/stage2/patches/generic/file.patch
index 8aeaf1b..8aeaf1b 100644
--- a/src/stage2/patches/file.patch
+++ b/src/stage2/patches/generic/file.patch
diff --git a/src/stage2/patches/findutils.patch b/src/stage2/patches/generic/findutils.patch
index 97cb4b3..97cb4b3 100644
--- a/src/stage2/patches/findutils.patch
+++ b/src/stage2/patches/generic/findutils.patch
diff --git a/src/stage2/patches/flex.patch b/src/stage2/patches/generic/flex.patch
index 7b1f108..7b1f108 100644
--- a/src/stage2/patches/flex.patch
+++ b/src/stage2/patches/generic/flex.patch
diff --git a/src/stage2/patches/gawk.patch b/src/stage2/patches/generic/gawk.patch
index 14476d8..14476d8 100644
--- a/src/stage2/patches/gawk.patch
+++ b/src/stage2/patches/generic/gawk.patch
diff --git a/src/stage2/patches/generic/gcc.patch b/src/stage2/patches/generic/gcc.patch
new file mode 100644
index 0000000..3aff330
--- /dev/null
+++ b/src/stage2/patches/generic/gcc.patch
@@ -0,0 +1,424 @@
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-05-21 12:50:49.122195239 +0200
++++ b/PKGBUILD 2018-05-21 13:10:45.142207172 +0200
+@@ -5,7 +5,8 @@
+ # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+ # NOTE: libtool requires rebuilt with each new gcc version
+
+-pkgname=(gcc gcc-libs gcc-fortran gcc-objc gcc-ada gcc-go lib32-gcc-libs)
++pkgname=(gcc gcc-libs gcc-fortran)
++[ "x@MULTILIB@" == "xdisable" ] || pkgname+=(lib32-gcc-libs)
+ pkgver=8.1.0
+ _majorver=${pkgver:0:1}
+ _islver=0.18
+@@ -14,13 +15,14 @@ pkgdesc='The GNU Compiler Collection'
+ arch=(x86_64)
+ license=(GPL LGPL FDL custom)
+ url='http://gcc.gnu.org'
++depends=(zlib)
+ makedepends=(binutils libmpc gcc-ada doxygen lib32-glibc lib32-gcc-libs python)
+ checkdepends=(dejagnu inetutils)
+ options=(!emptydirs)
+ #source=(https://sources.archlinux.org/other/gcc/gcc-${pkgver/+/-}.tar.xz{,.sig}
+ source=(https://ftp.gnu.org/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.xz{,.sig}
+ http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2
+- c89 c99)
++ c89 c99 pure64.patch)
+ validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org
+ 13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com
+ 33C235A34C46AA3FFB293709A328C3A2C3C45C06) # Jakub Jelinek <jakub@redhat.com>
+@@ -28,7 +30,8 @@ sha256sums=('1d1866f992626e61349a1ccd0b8
+ 'SKIP'
+ '6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b'
+ 'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931'
+- '2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a')
++ '2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a'
++ 'ce8fd53670d34ab3a57a50d1f9b15a905c79bda611d447f52cd1612846682224')
+
+ _svnrev=259195
+ _svnurl=svn://gcc.gnu.org/svn/gcc/branches/gcc-${_majorver}-branch
+@@ -63,7 +66,7 @@ prepare() {
+ sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+
+ # Arch Linux installs x86_64 libraries /lib
+- sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
++ patch -Np1 -i "$srcdir"/pure64.patch
+
+ # hack! - some configure tests for header files using "$CPP $CPPFLAGS"
+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
+@@ -76,19 +79,23 @@ build() {
+
+ # using -pipe causes spurious test-suite failures
+ # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48565
+- CFLAGS=${CFLAGS/-pipe/}
+- CXXFLAGS=${CXXFLAGS/-pipe/}
++ CFLAGS="-O2 -fstack-protector-strong -fno-plt"
++ CXXFLAGS="-O2 -fstack-protector-strong -fno-plt"
+
+- "$srcdir/gcc/configure" --prefix=/usr \
++ sed -i 's/gcc_cv_objdump/ac_cv_prog_OBJDUMP/' $srcdir/gcc/libcc1/configure
++ "$srcdir/gcc/configure" --host=@CHOST@ --build=@BUILDHOST@ --target=@CHOST@ \
++ --prefix=/usr \
++ @GCC_CONFIG_FLAGS@ \
++ --disable-bootstrap \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --with-bugurl=https://bugs.archlinux.org/ \
+- --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \
++ --enable-languages=c,c++,fortran,lto \
+ --enable-shared \
+ --enable-threads=posix \
+- --enable-libmpx \
++ --disable-libmpx \
+ --with-system-zlib \
+ --with-isl \
+ --enable-__cxa_atexit \
+@@ -103,16 +110,13 @@ build() {
+ --enable-install-libiberty \
+ --with-linker-hash-style=gnu \
+ --enable-gnu-indirect-function \
+- --enable-multilib \
++ --@MULTILIB@-multilib \
+ --disable-werror \
+ --enable-checking=release \
+ --enable-default-pie \
+ --enable-default-ssp
+
+ make
+-
+- # make documentation
+- make -C $CHOST/libstdc++-v3/doc doc-man-doxygen
+ }
+
+ check() {
+@@ -126,7 +130,7 @@ check() {
+ package_gcc-libs() {
+ pkgdesc='Runtime libraries shipped by GCC'
+ groups=(base)
+- depends=('glibc>=2.27')
++ depends=('glibc>=2.27' libmpc)
+ options+=(!strip)
+ provides=($pkgname-multilib libgo.so libgfortran.so libubsan.so libasan.so)
+ replaces=($pkgname-multilib)
+@@ -137,23 +141,16 @@ package_gcc-libs() {
+
+ for lib in libatomic \
+ libgfortran \
+- libgo \
+ libgomp \
+- libitm \
+ libquadmath \
+- libsanitizer/{a,l,ub,t}san \
+- libstdc++-v3/src \
+- libvtv; do
++ libstdc++-v3/src; do
+ make -C $CHOST/$lib DESTDIR="$pkgdir" install-toolexeclibLTLIBRARIES
+ done
+
+- make -C $CHOST/libobjc DESTDIR="$pkgdir" install-libs
+ make -C $CHOST/libstdc++-v3/po DESTDIR="$pkgdir" install
+- make -C $CHOST/libmpx DESTDIR="$pkgdir" install
+ rm -f "$pkgdir/usr/lib/libmpx.spec"
+
+ for lib in libgomp \
+- libitm \
+ libquadmath; do
+ make -C $CHOST/$lib DESTDIR="$pkgdir" install-info
+ done
+@@ -184,22 +181,20 @@ package_gcc() {
+ install -m755 -t "$pkgdir/${_libdir}/" gcc/{cc1,cc1plus,collect2,lto1}
+
+ make -C $CHOST/libgcc DESTDIR="$pkgdir" install
+- make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install
++ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install
+ rm -f "$pkgdir"/usr/lib{,32}/libgcc_s.so*
+
+ make -C $CHOST/libstdc++-v3/src DESTDIR="$pkgdir" install
+ make -C $CHOST/libstdc++-v3/include DESTDIR="$pkgdir" install
+ make -C $CHOST/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install
+ make -C $CHOST/libstdc++-v3/python DESTDIR="$pkgdir" install
+- make -C $CHOST/32/libstdc++-v3/src DESTDIR="$pkgdir" install
+- make -C $CHOST/32/libstdc++-v3/include DESTDIR="$pkgdir" install
+- make -C $CHOST/32/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install
++ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libstdc++-v3/src DESTDIR="$pkgdir" install
++ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libstdc++-v3/include DESTDIR="$pkgdir" install
++ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install
+
+ make DESTDIR="$pkgdir" install-libcc1
+ install -d "$pkgdir/usr/share/gdb/auto-load/usr/lib"
+- mv "$pkgdir"/usr/lib/libstdc++.so.6.*-gdb.py \
+- "$pkgdir/usr/share/gdb/auto-load/usr/lib/"
+- rm "$pkgdir"/usr/lib{,32}/libstdc++.so*
++ rm -f "$pkgdir"/usr/lib{,32}/libstdc++.so*
+
+ make DESTDIR="$pkgdir" install-fixincludes
+ make -C gcc DESTDIR="$pkgdir" install-mkheaders
+@@ -210,23 +205,15 @@ package_gcc() {
+ "$pkgdir/usr/lib/bfd-plugins/"
+
+ make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_{libsubinclude,toolexeclib}HEADERS
+- make -C $CHOST/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+ make -C $CHOST/libquadmath DESTDIR="$pkgdir" install-nodist_libsubincludeHEADERS
+- make -C $CHOST/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS
+- make -C $CHOST/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+- make -C $CHOST/libmpx DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+- make -C $CHOST/32/libgomp DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+- make -C $CHOST/32/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+- make -C $CHOST/32/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS
+- make -C $CHOST/32/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+- make -C $CHOST/32/libmpx DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
++ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libgomp DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+
+ make -C libiberty DESTDIR="$pkgdir" install
+ install -m644 libiberty/pic/libiberty.a "$pkgdir/usr/lib"
+
+ make -C gcc DESTDIR="$pkgdir" install-man install-info
+- rm "$pkgdir"/usr/share/man/man1/{gccgo,gfortran}.1
+- rm "$pkgdir"/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn}.info
++ rm -f "$pkgdir"/usr/share/man/man1/{gccgo,gfortran}.1
++ rm -f "$pkgdir"/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn}.info
+
+ make -C libcpp DESTDIR="$pkgdir" install
+ make -C gcc DESTDIR="$pkgdir" install-po
+@@ -238,9 +225,6 @@ package_gcc() {
+ install -Dm755 "$srcdir/c89" "$pkgdir/usr/bin/c89"
+ install -Dm755 "$srcdir/c99" "$pkgdir/usr/bin/c99"
+
+- # install the libstdc++ man pages
+- make -C $CHOST/libstdc++-v3/doc DESTDIR="$pkgdir" doc-install-man
+-
+ # remove files provided by lib32-gcc-libs
+ rm -f "$pkgdir"/usr/lib32/lib{stdc++,gcc_s}.so
+
+@@ -263,7 +247,7 @@ package_gcc-fortran() {
+ cd gcc-build
+ make -C $CHOST/libgfortran DESTDIR="$pkgdir" install-cafexeclibLTLIBRARIES \
+ install-{toolexeclibDATA,nodist_fincludeHEADERS}
+- make -C $CHOST/32/libgfortran DESTDIR=$pkgdir install-cafexeclibLTLIBRARIES \
++ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libgfortran DESTDIR=$pkgdir install-cafexeclibLTLIBRARIES \
+ install-{toolexeclibDATA,nodist_fincludeHEADERS}
+ make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_fincludeHEADERS
+ make -C gcc DESTDIR="$pkgdir" fortran.install-{common,man,info}
+diff -rupN a/pure64.patch b/pure64.patch
+--- a/pure64.patch 1970-01-01 01:00:00.000000000 +0100
++++ b/pure64.patch 2018-05-21 13:10:45.152207173 +0200
+@@ -0,0 +1,217 @@
++Submitted By: William Harrington <kb0iic at cross-lfs dot org>
++Date: 05-13-2017
++Initial Package Version: 6.1.0
++Origin: Idea originally developed by Ryan Oliver and Greg Schafer for
++ the Pure LFS project with help from
++ Martin Ward and Chris Staub
++Upstream Status: Not Applied - CLFS Specific
++Description: This patch makes changes to the paths for pure64, eg 64bit libs
++ in /usr/lib, 32bit in /usr/lib32.
++Comment: Rediffed for 7.1.0
++
++tweaked for powerpc64le gcc 8.1.0
++
++diff -rupN gcc-8.1.0.old/gcc/config/i386/linux64.h gcc-8.1.0/gcc/config/i386/linux64.h
++--- gcc-8.1.0.old/gcc/config/i386/linux64.h 2018-05-21 12:04:55.942167767 +0200
+++++ gcc-8.1.0/gcc/config/i386/linux64.h 2018-05-21 12:05:08.352167891 +0200
++@@ -27,8 +27,8 @@ see the files COPYING3 and COPYING.RUNTI
++ #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
++ #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
++
++-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
++-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
+++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
+++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
++ #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
++
++ #undef MUSL_DYNAMIC_LINKER32
++diff -rupN gcc-8.1.0.old/gcc/config/i386/t-linux64 gcc-8.1.0/gcc/config/i386/t-linux64
++--- gcc-8.1.0.old/gcc/config/i386/t-linux64 2018-05-21 12:04:55.945501101 +0200
+++++ gcc-8.1.0/gcc/config/i386/t-linux64 2018-05-21 12:05:08.445501226 +0200
++@@ -33,6 +33,6 @@
++ comma=,
++ MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
++ MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
++-MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
++-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
+++MULTILIB_OSDIRNAMES = m64=../lib$(call if_multiarch,:x86_64-linux-gnu)
+++MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call if_multiarch,:i386-linux-gnu)
++ MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
++diff -rupN gcc-8.1.0.old/gcc/config/linux.h gcc-8.1.0/gcc/config/linux.h
++--- gcc-8.1.0.old/gcc/config/linux.h 2018-05-21 12:04:55.928834434 +0200
+++++ gcc-8.1.0/gcc/config/linux.h 2018-05-21 12:05:08.445501226 +0200
++@@ -82,7 +82,7 @@ see the files COPYING3 and COPYING.RUNTI
++ GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
++ supporting both 32-bit and 64-bit compilation. */
++ #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
+++#define UCLIBC_DYNAMIC_LINKER32 "/lib32/ld-uClibc.so.0"
++ #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
++ #define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0"
++ #define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
++diff -rupN gcc-8.1.0.old/gcc/config/mips/t-linux64 gcc-8.1.0/gcc/config/mips/t-linux64
++--- gcc-8.1.0.old/gcc/config/mips/t-linux64 2018-05-21 12:04:55.918834435 +0200
+++++ gcc-8.1.0/gcc/config/mips/t-linux64 2018-05-21 12:05:08.445501226 +0200
++@@ -22,5 +22,5 @@ MIPS_EL = $(if $(filter %el, $(firstword
++ MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
++ MULTILIB_OSDIRNAMES = \
++ ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
++- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
++- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
+++ ../lib32$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
+++ ../lib$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
++diff -rupN gcc-8.1.0.old/gcc/config/rs6000/linux64.h gcc-8.1.0/gcc/config/rs6000/linux64.h
++--- gcc-8.1.0.old/gcc/config/rs6000/linux64.h 2018-05-21 12:04:55.972167768 +0200
+++++ gcc-8.1.0/gcc/config/rs6000/linux64.h 2018-05-21 12:05:08.445501226 +0200
++@@ -420,16 +420,16 @@ extern int dot_symbols;
++ #undef LINK_OS_DEFAULT_SPEC
++ #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
++
++-#define GLIBC_DYNAMIC_LINKER32 "%(dynamic_linker_prefix)/lib/ld.so.1"
+++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld.so.1"
++
++ #ifdef LINUX64_DEFAULT_ABI_ELFv2
++ #define GLIBC_DYNAMIC_LINKER64 \
++-"%{mabi=elfv1:%(dynamic_linker_prefix)/lib64/ld64.so.1;" \
++-":%(dynamic_linker_prefix)/lib64/ld64.so.2}"
+++"%{mabi=elfv1:/lib/ld64.so.1;" \
+++":/lib/ld64.so.2}"
++ #else
++ #define GLIBC_DYNAMIC_LINKER64 \
++-"%{mabi=elfv2:%(dynamic_linker_prefix)/lib64/ld64.so.2;" \
++-":%(dynamic_linker_prefix)/lib64/ld64.so.1}"
+++"%{mabi=elfv2:/lib/ld64.so.2;" \
+++":/lib/ld64.so.1}"
++ #endif
++
++ #define MUSL_DYNAMIC_LINKER32 \
++@@ -437,7 +437,7 @@ extern int dot_symbols;
++ #define MUSL_DYNAMIC_LINKER64 \
++ "/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
++
++-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
+++#define UCLIBC_DYNAMIC_LINKER32 "/lib32/ld-uClibc.so.0"
++ #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
++ #if DEFAULT_LIBC == LIBC_UCLIBC
++ #define CHOOSE_DYNAMIC_LINKER(G, U, M) \
++diff -rupN gcc-8.1.0.old/gcc/config/rs6000/t-ldouble-linux64le-ibm gcc-8.1.0/gcc/config/rs6000/t-ldouble-linux64le-ibm
++--- gcc-8.1.0.old/gcc/config/rs6000/t-ldouble-linux64le-ibm 2018-05-21 12:04:55.975501102 +0200
+++++ gcc-8.1.0/gcc/config/rs6000/t-ldouble-linux64le-ibm 2018-05-21 12:17:02.082175008 +0200
++@@ -21,6 +21,6 @@
++
++ MULTILIB_OPTIONS += mabi=ieeelongdouble/mabi=ibmlongdouble
++ MULTILIB_DIRNAMES += ieee128 ibm128
++-MULTILIB_OSDIRNAMES += mabi.ibmlongdouble=../lib64$(call if_multiarch,:powerpc64-linux-gnu) \
++- mabi.ieeelongdouble=../lib64/ieee128$(call if_multiarch,:powerpc64-linux-gnu) \
++- ../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+++MULTILIB_OSDIRNAMES += mabi.ibmlongdouble=../lib$(call if_multiarch,:powerpc64-linux-gnu) \
+++ mabi.ieeelongdouble=../lib/ieee128$(call if_multiarch,:powerpc64-linux-gnu) \
+++ ../lib$(call if_multiarch,:powerpc64-linux-gnu)
++diff -rupN gcc-8.1.0.old/gcc/config/rs6000/t-ldouble-linux64le-ieee gcc-8.1.0/gcc/config/rs6000/t-ldouble-linux64le-ieee
++--- gcc-8.1.0.old/gcc/config/rs6000/t-ldouble-linux64le-ieee 2018-05-21 12:04:55.972167768 +0200
+++++ gcc-8.1.0/gcc/config/rs6000/t-ldouble-linux64le-ieee 2018-05-21 12:17:02.082175008 +0200
++@@ -21,6 +21,6 @@
++
++ MULTILIB_OPTIONS += mabi=ieeelongdouble/mabi=ibmlongdouble
++ MULTILIB_DIRNAMES += ieee128 ibm128
++-MULTILIB_OSDIRNAMES += mabi.ibmlongdouble=../lib64/ibm128$(call if_multiarch,:powerpc64-linux-gnu) \
++- mabi.ieeelongdouble=../lib64$(call if_multiarch,:powerpc64-linux-gnu) \
++- ../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+++MULTILIB_OSDIRNAMES += mabi.ibmlongdouble=../lib/ibm128$(call if_multiarch,:powerpc64-linux-gnu) \
+++ mabi.ieeelongdouble=../lib$(call if_multiarch,:powerpc64-linux-gnu) \
+++ ../lib$(call if_multiarch,:powerpc64-linux-gnu)
++diff -rupN gcc-8.1.0.old/gcc/config/rs6000/t-linux gcc-8.1.0/gcc/config/rs6000/t-linux
++--- gcc-8.1.0.old/gcc/config/rs6000/t-linux 2018-05-21 12:04:55.972167768 +0200
+++++ gcc-8.1.0/gcc/config/rs6000/t-linux 2018-05-21 12:17:02.082175008 +0200
++@@ -2,7 +2,7 @@
++ # or soft-float.
++ ifeq (,$(filter $(with_cpu),$(SOFT_FLOAT_CPUS))$(findstring soft,$(with_float)))
++ ifneq (,$(findstring powerpc64,$(target)))
++-MULTILIB_OSDIRNAMES := .=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+++MULTILIB_OSDIRNAMES := .=../lib$(call if_multiarch,:powerpc64-linux-gnu)
++ else
++ MULTIARCH_DIRNAME := powerpc-linux-gnu
++ endif
++diff -rupN gcc-8.1.0.old/gcc/config/rs6000/t-linux64 gcc-8.1.0/gcc/config/rs6000/t-linux64
++--- gcc-8.1.0.old/gcc/config/rs6000/t-linux64 2018-05-21 12:04:55.972167768 +0200
+++++ gcc-8.1.0/gcc/config/rs6000/t-linux64 2018-05-21 12:17:02.082175008 +0200
++@@ -28,8 +28,8 @@
++ MULTILIB_OPTIONS := m64/m32
++ MULTILIB_DIRNAMES := 64 32
++ MULTILIB_EXTRA_OPTS :=
++-MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
++-MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
+++MULTILIB_OSDIRNAMES := m64=../lib$(call if_multiarch,:powerpc64-linux-gnu)
+++MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call if_multiarch,:powerpc-linux-gnu)
++
++ rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
++ $(COMPILE) $<
++diff -rupN gcc-8.1.0.old/gcc/config/s390/linux.h gcc-8.1.0/gcc/config/s390/linux.h
++--- gcc-8.1.0.old/gcc/config/s390/linux.h 2018-05-21 12:04:55.938834435 +0200
+++++ gcc-8.1.0/gcc/config/s390/linux.h 2018-05-21 12:05:08.445501226 +0200
++@@ -73,7 +73,7 @@ along with GCC; see the file COPYING3.
++ #define MULTILIB_DEFAULTS { "m31" }
++ #endif
++
++-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
+++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld.so.1"
++ #define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1"
++
++ #undef LINK_SPEC
++diff -rupN gcc-8.1.0.old/gcc/config/s390/t-linux64 gcc-8.1.0/gcc/config/s390/t-linux64
++--- gcc-8.1.0.old/gcc/config/s390/t-linux64 2018-05-21 12:04:55.938834435 +0200
+++++ gcc-8.1.0/gcc/config/s390/t-linux64 2018-05-21 12:05:08.445501226 +0200
++@@ -7,5 +7,5 @@
++
++ MULTILIB_OPTIONS = m64/m31
++ MULTILIB_DIRNAMES = 64 32
++-MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:s390x-linux-gnu)
++-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:s390-linux-gnu)
+++MULTILIB_OSDIRNAMES = ../lib$(call if_multiarch,:s390x-linux-gnu)
+++MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call if_multiarch,:s390-linux-gnu)
++diff -rupN gcc-8.1.0.old/gcc/config/sparc/linux64.h gcc-8.1.0/gcc/config/sparc/linux64.h
++--- gcc-8.1.0.old/gcc/config/sparc/linux64.h 2018-05-21 12:04:55.948834435 +0200
+++++ gcc-8.1.0/gcc/config/sparc/linux64.h 2018-05-21 12:05:08.445501226 +0200
++@@ -84,8 +84,8 @@ along with GCC; see the file COPYING3.
++ When the -shared link option is used a final link is not being
++ done. */
++
++-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
++-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
+++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
+++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux.so.2"
++
++ #ifdef SPARC_BI_ARCH
++
++@@ -213,7 +213,7 @@ extern const char *host_detect_local_cpu
++ #else /* !SPARC_BI_ARCH */
++
++ #undef LINK_SPEC
++-#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
+++#define LINK_SPEC "-m elf64_sparc -Y P,%R/lib %{shared:-shared} \
++ %{!shared: \
++ %{!static: \
++ %{rdynamic:-export-dynamic} \
++diff -rupN gcc-8.1.0.old/gcc/config/sparc/linux.h gcc-8.1.0/gcc/config/sparc/linux.h
++--- gcc-8.1.0.old/gcc/config/sparc/linux.h 2018-05-21 12:04:55.952167768 +0200
+++++ gcc-8.1.0/gcc/config/sparc/linux.h 2018-05-21 12:05:08.445501226 +0200
++@@ -83,7 +83,7 @@ extern const char *host_detect_local_cpu
++ When the -shared link option is used a final link is not being
++ done. */
++
++-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+++#define GLIBC_DYNAMIC_LINKER "/lib32/ld-linux.so.2"
++
++ #undef LINK_SPEC
++ #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
++diff -rupN gcc-8.1.0.old/gcc/config/sparc/t-linux64 gcc-8.1.0/gcc/config/sparc/t-linux64
++--- gcc-8.1.0.old/gcc/config/sparc/t-linux64 2018-05-21 12:04:55.948834435 +0200
+++++ gcc-8.1.0/gcc/config/sparc/t-linux64 2018-05-21 12:05:08.445501226 +0200
++@@ -25,5 +25,5 @@
++
++ MULTILIB_OPTIONS = m64/m32
++ MULTILIB_DIRNAMES = 64 32
++-MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:sparc64-linux-gnu)
++-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:sparc-linux-gnu)
+++MULTILIB_OSDIRNAMES = ../lib$(call if_multiarch,:sparc64-linux-gnu)
+++MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call if_multiarch,:sparc-linux-gnu)
diff --git a/src/stage2/patches/gdbm.patch b/src/stage2/patches/generic/gdbm.patch
index a1bd9e6..a1bd9e6 100644
--- a/src/stage2/patches/gdbm.patch
+++ b/src/stage2/patches/generic/gdbm.patch
diff --git a/src/stage2/patches/gettext.patch b/src/stage2/patches/generic/gettext.patch
index aeab6f7..aeab6f7 100644
--- a/src/stage2/patches/gettext.patch
+++ b/src/stage2/patches/generic/gettext.patch
diff --git a/src/stage2/patches/glib2.patch b/src/stage2/patches/generic/glib2.patch
index 81ae1ac..a427990 100644
--- a/src/stage2/patches/glib2.patch
+++ b/src/stage2/patches/generic/glib2.patch
@@ -1,12 +1,13 @@
---- a/PKGBUILD 2018-02-21 21:54:28.027494092 +0100
-+++ b/PKGBUILD 2018-02-21 22:13:00.992257732 +0100
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-05-19 22:56:10.097500131 +0200
++++ b/PKGBUILD 2018-05-19 22:58:48.824168384 +0200
@@ -2,14 +2,14 @@
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=glib2
-pkgname=(glib2 glib2-docs)
+pkgname=(glib2)
- pkgver=2.56.0+7+g66948ae23
+ pkgver=2.56.1
pkgrel=1
pkgdesc="Low level core library"
url="https://wiki.gnome.org/Projects/GLib"
@@ -16,9 +17,9 @@
+depends=(pcre libffi libutil-linux zlib libelf)
makedepends=(gettext gtk-doc shared-mime-info python libelf git util-linux dbus)
checkdepends=(desktop-file-utils)
- optdepends=('python: for gdbus-codegen and gtester-report'
+ optdepends=('python: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report'
@@ -43,13 +43,18 @@ build() {
- check_option debug n && debug=yes
+ check_option debug y && debug=yes
cd glib
+ cat > config.cache << EOF
diff --git a/src/stage2/patches/generic/glibc.patch b/src/stage2/patches/generic/glibc.patch
new file mode 100644
index 0000000..6be827b
--- /dev/null
+++ b/src/stage2/patches/generic/glibc.patch
@@ -0,0 +1,73 @@
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-05-19 20:29:56.917412596 +0200
++++ b/PKGBUILD 2018-05-19 20:33:17.550747931 +0200
+@@ -6,7 +6,8 @@
+ # NOTE: valgrind requires rebuilt with each major glibc version
+
+ pkgbase=glibc
+-pkgname=(glibc lib32-glibc)
++pkgname=(glibc)
++[ "x@MULTILIB@" != "xenable" ] || pkgname+=(lib32-glibc)
+ pkgver=2.27
+ pkgrel=3
+ arch=(x86_64)
+@@ -48,12 +49,13 @@ prepare() {
+ build() {
+ local _configure_flags=(
+ --prefix=/usr
+- --with-headers=/usr/include
++ --host=@CHOST@ --build=@BUILDHOST@
++ --with-headers=@SYSROOT@/usr/include
+ --with-bugurl=https://bugs.archlinux.org/
+ --enable-add-ons
+ --enable-bind-now
+ --enable-lock-elision
+- --enable-multi-arch
++ --@MULTILIB@-multi-arch
+ --enable-stack-protector=strong
+ --enable-stackguard-randomization
+ --enable-static-pie
+@@ -87,6 +89,8 @@ build() {
+ echo "CXX += -D_FORTIFY_SOURCE=2" >> configparms
+ make
+
++ [ "x@MULTILIB@" == "xenable" ] || return 0
++
+ cd "$srcdir/lib32-glibc-build"
+ export CC="gcc -m32 -mstackrealign"
+ export CXX="g++ -m32 -mstackrealign"
+@@ -164,8 +168,8 @@ package_glibc() {
+ "$srcdir/glibc/localedata/SUPPORTED" >> "$pkgdir/etc/locale.gen"
+
+ if check_option 'debug' n; then
+- find "$pkgdir"/usr/bin -type f -executable -exec strip $STRIP_BINARIES {} + 2> /dev/null || true
+- find "$pkgdir"/usr/lib -name '*.a' -type f -exec strip $STRIP_STATIC {} + 2> /dev/null || true
++ find "$pkgdir"/usr/bin -type f -executable -exec @CHOST@-strip $STRIP_BINARIES {} + 2> /dev/null || true
++ find "$pkgdir"/usr/lib -name '*.a' -type f -exec @CHOST@-strip $STRIP_STATIC {} + 2> /dev/null || true
+
+ # Do not strip these for gdb and valgrind functionality, but strip the rest
+ find "$pkgdir"/usr/lib \
+@@ -173,7 +177,7 @@ package_glibc() {
+ -not -name 'libc-*.so' \
+ -not -name 'libpthread-*.so' \
+ -not -name 'libthread_db-*.so' \
+- -name '*-*.so' -type f -exec strip $STRIP_SHARED {} + 2> /dev/null || true
++ -name '*-*.so' -type f -exec @CHOST@-strip $STRIP_SHARED {} + 2> /dev/null || true
+ fi
+ }
+
+@@ -200,12 +204,12 @@ package_lib32-glibc() {
+ ln -s ../lib/locale "$pkgdir/usr/lib32/locale"
+
+ if check_option 'debug' n; then
+- find "$pkgdir"/usr/lib32 -name '*.a' -type f -exec strip $STRIP_STATIC {} + 2> /dev/null || true
++ find "$pkgdir"/usr/lib32 -name '*.a' -type f -exec @CHOST@-strip $STRIP_STATIC {} + 2> /dev/null || true
+ find "$pkgdir"/usr/lib32 \
+ -not -name 'ld-*.so' \
+ -not -name 'libc-*.so' \
+ -not -name 'libpthread-*.so' \
+ -not -name 'libthread_db-*.so' \
+- -name '*-*.so' -type f -exec strip $STRIP_SHARED {} + 2> /dev/null || true
++ -name '*-*.so' -type f -exec @CHOST@-strip $STRIP_SHARED {} + 2> /dev/null || true
+ fi
+ }
diff --git a/src/stage2/patches/gmp.patch b/src/stage2/patches/generic/gmp.patch
index 646858c..646858c 100644
--- a/src/stage2/patches/gmp.patch
+++ b/src/stage2/patches/generic/gmp.patch
diff --git a/src/stage2/patches/gnupg.patch b/src/stage2/patches/generic/gnupg.patch
index 42056f6..42056f6 100644
--- a/src/stage2/patches/gnupg.patch
+++ b/src/stage2/patches/generic/gnupg.patch
diff --git a/src/stage2/patches/gnutls.patch b/src/stage2/patches/generic/gnutls.patch
index 4dbe83b..4dbe83b 100644
--- a/src/stage2/patches/gnutls.patch
+++ b/src/stage2/patches/generic/gnutls.patch
diff --git a/src/stage2/patches/gpgme.patch b/src/stage2/patches/generic/gpgme.patch
index 4bfc1c5..d902492 100644
--- a/src/stage2/patches/gpgme.patch
+++ b/src/stage2/patches/generic/gpgme.patch
@@ -1,23 +1,24 @@
---- a/PKGBUILD 2018-02-22 11:35:45.855515252 +0100
-+++ b/PKGBUILD 2018-02-22 11:37:33.121645532 +0100
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-05-19 19:55:02.590725028 +0200
++++ b/PKGBUILD 2018-05-19 19:58:21.434060348 +0200
@@ -4,7 +4,7 @@
# Contributor: Sarah Hay <sarah@archlinux.org>
pkgbase=gpgme
-pkgname=(gpgme qgpgme python-gpgme python2-gpgme)
+pkgname=(gpgme)
- pkgver=1.10.0
- pkgrel=2
+ pkgver=1.11.1
+ pkgrel=1
pkgdesc="A C wrapper library for GnuPG"
@@ -20,6 +20,7 @@ validpgpkeys=('D8692123C4065DEA5E0F3AB52
build() {
cd ${pkgbase}-${pkgver}
- ./configure --prefix=/usr --disable-fd-passing --disable-static \
-+ --host=@CHOST@ --build=@BUILDHOST@ \
- --disable-gpgsm-test
- make
- }
-@@ -37,9 +38,9 @@ package_gpgme() {
+ ./configure \
++ --host=@CHOST@ --build=@BUILDHOST@ \
+ --prefix=/usr \
+ --disable-fd-passing \
+ --disable-static \
+@@ -40,9 +41,9 @@ package_gpgme() {
make DESTDIR="${pkgdir}" install
# split qgpgme
diff --git a/src/stage2/patches/grep.patch b/src/stage2/patches/generic/grep.patch
index 3af1030..3af1030 100644
--- a/src/stage2/patches/grep.patch
+++ b/src/stage2/patches/generic/grep.patch
diff --git a/src/stage2/patches/groff.patch b/src/stage2/patches/generic/groff.patch
index 95267c6..95267c6 100644
--- a/src/stage2/patches/groff.patch
+++ b/src/stage2/patches/generic/groff.patch
diff --git a/src/stage2/patches/gzip.patch b/src/stage2/patches/generic/gzip.patch
index 54d6d05..54d6d05 100644
--- a/src/stage2/patches/gzip.patch
+++ b/src/stage2/patches/generic/gzip.patch
diff --git a/src/stage2/patches/iptables.patch b/src/stage2/patches/generic/iptables.patch
index 50e02ff..50e02ff 100644
--- a/src/stage2/patches/iptables.patch
+++ b/src/stage2/patches/generic/iptables.patch
diff --git a/src/stage2/patches/json-c.patch b/src/stage2/patches/generic/json-c.patch
index dcf498d..dcf498d 100644
--- a/src/stage2/patches/json-c.patch
+++ b/src/stage2/patches/generic/json-c.patch
diff --git a/src/stage2/patches/kbd.patch b/src/stage2/patches/generic/kbd.patch
index 7efd5fc..7efd5fc 100644
--- a/src/stage2/patches/kbd.patch
+++ b/src/stage2/patches/generic/kbd.patch
diff --git a/src/stage2/patches/keyutils.patch b/src/stage2/patches/generic/keyutils.patch
index 0db96ea..0db96ea 100644
--- a/src/stage2/patches/keyutils.patch
+++ b/src/stage2/patches/generic/keyutils.patch
diff --git a/src/stage2/patches/kmod.patch b/src/stage2/patches/generic/kmod.patch
index 1911c90..1911c90 100644
--- a/src/stage2/patches/kmod.patch
+++ b/src/stage2/patches/generic/kmod.patch
diff --git a/src/stage2/patches/less.patch b/src/stage2/patches/generic/less.patch
index 7100f89..7100f89 100644
--- a/src/stage2/patches/less.patch
+++ b/src/stage2/patches/generic/less.patch
diff --git a/src/stage2/patches/libarchive.patch b/src/stage2/patches/generic/libarchive.patch
index c580bff..c580bff 100644
--- a/src/stage2/patches/libarchive.patch
+++ b/src/stage2/patches/generic/libarchive.patch
diff --git a/src/stage2/patches/libassuan.patch b/src/stage2/patches/generic/libassuan.patch
index 1a48953..1a48953 100644
--- a/src/stage2/patches/libassuan.patch
+++ b/src/stage2/patches/generic/libassuan.patch
diff --git a/src/stage2/patches/libatomic_ops.patch b/src/stage2/patches/generic/libatomic_ops.patch
index 817e34f..817e34f 100644
--- a/src/stage2/patches/libatomic_ops.patch
+++ b/src/stage2/patches/generic/libatomic_ops.patch
diff --git a/src/stage2/patches/libcap-ng.patch b/src/stage2/patches/generic/libcap-ng.patch
index e2e6e72..e2e6e72 100644
--- a/src/stage2/patches/libcap-ng.patch
+++ b/src/stage2/patches/generic/libcap-ng.patch
diff --git a/src/stage2/patches/libcap.patch b/src/stage2/patches/generic/libcap.patch
index 2399e50..2399e50 100644
--- a/src/stage2/patches/libcap.patch
+++ b/src/stage2/patches/generic/libcap.patch
diff --git a/src/stage2/patches/generic/libffi.patch b/src/stage2/patches/generic/libffi.patch
new file mode 100644
index 0000000..380d73a
--- /dev/null
+++ b/src/stage2/patches/generic/libffi.patch
@@ -0,0 +1,11 @@
+--- a/PKGBUILD 2018-03-03 22:03:14.363545840 +0100
++++ b/PKGBUILD 2018-03-03 22:03:14.363545840 +0100
+@@ -12,7 +12,7 @@ url='http://sourceware.org/libffi/'
+
+ build() {
+ cd $pkgname-$pkgver
+- ./configure --prefix=/usr --disable-static \
++ ./configure --host=@CHOST@ --build=@BUILDHOST@ --prefix=/usr --disable-static \
+ --enable-pax_emutramp
+ make
+ }
diff --git a/src/stage2/patches/libgcrypt.patch b/src/stage2/patches/generic/libgcrypt.patch
index 5756bfb..5756bfb 100644
--- a/src/stage2/patches/libgcrypt.patch
+++ b/src/stage2/patches/generic/libgcrypt.patch
diff --git a/src/stage2/patches/generic/libgpg-error.patch b/src/stage2/patches/generic/libgpg-error.patch
new file mode 100644
index 0000000..56cd122
--- /dev/null
+++ b/src/stage2/patches/generic/libgpg-error.patch
@@ -0,0 +1,11 @@
+--- a/PKGBUILD 2018-02-22 08:03:14.564663999 +0100
++++ b/PKGBUILD 2018-02-22 08:26:37.783659199 +0100
+@@ -10,7 +10,7 @@ arch=(x86_64)
+ '031EC2536E580D8EA286A9F22071B08A33BD3F06') # NIIBE Yutaka (GnuPG Release Key) <gniibe@fsij.org>
+ build() {
+ cd ${pkgname}-${pkgver}
+- ./configure --prefix=/usr
++ ./configure --host=@CHOST@ --build=@BUILDHOST@ --prefix=/usr
+ make
+ }
+
diff --git a/src/stage2/patches/libidn.patch b/src/stage2/patches/generic/libidn.patch
index 73aa068..73aa068 100644
--- a/src/stage2/patches/libidn.patch
+++ b/src/stage2/patches/generic/libidn.patch
diff --git a/src/stage2/patches/libidn2.patch b/src/stage2/patches/generic/libidn2.patch
index ca310c8..ca310c8 100644
--- a/src/stage2/patches/libidn2.patch
+++ b/src/stage2/patches/generic/libidn2.patch
diff --git a/src/stage2/patches/libksba.patch b/src/stage2/patches/generic/libksba.patch
index edc9fa5..edc9fa5 100644
--- a/src/stage2/patches/libksba.patch
+++ b/src/stage2/patches/generic/libksba.patch
diff --git a/src/stage2/patches/libmnl.patch b/src/stage2/patches/generic/libmnl.patch
index 7969419..7969419 100644
--- a/src/stage2/patches/libmnl.patch
+++ b/src/stage2/patches/generic/libmnl.patch
diff --git a/src/stage2/patches/libmpc.patch b/src/stage2/patches/generic/libmpc.patch
index 1b1f9cb..1b1f9cb 100644
--- a/src/stage2/patches/libmpc.patch
+++ b/src/stage2/patches/generic/libmpc.patch
diff --git a/src/stage2/patches/libnetfilter_conntrack.patch b/src/stage2/patches/generic/libnetfilter_conntrack.patch
index 78677f4..78677f4 100644
--- a/src/stage2/patches/libnetfilter_conntrack.patch
+++ b/src/stage2/patches/generic/libnetfilter_conntrack.patch
diff --git a/src/stage2/patches/libnfnetlink.patch b/src/stage2/patches/generic/libnfnetlink.patch
index ecc79ee..ecc79ee 100644
--- a/src/stage2/patches/libnfnetlink.patch
+++ b/src/stage2/patches/generic/libnfnetlink.patch
diff --git a/src/stage2/patches/libnftnl.patch b/src/stage2/patches/generic/libnftnl.patch
index 566135c..566135c 100644
--- a/src/stage2/patches/libnftnl.patch
+++ b/src/stage2/patches/generic/libnftnl.patch
diff --git a/src/stage2/patches/libnghttp2.patch b/src/stage2/patches/generic/libnghttp2.patch
index 8d3dfce..8d3dfce 100644
--- a/src/stage2/patches/libnghttp2.patch
+++ b/src/stage2/patches/generic/libnghttp2.patch
diff --git a/src/stage2/patches/libnl.patch b/src/stage2/patches/generic/libnl.patch
index e5e2101..e5e2101 100644
--- a/src/stage2/patches/libnl.patch
+++ b/src/stage2/patches/generic/libnl.patch
diff --git a/src/stage2/patches/generic/libnsl.patch b/src/stage2/patches/generic/libnsl.patch
new file mode 100644
index 0000000..4e95579
--- /dev/null
+++ b/src/stage2/patches/generic/libnsl.patch
@@ -0,0 +1,12 @@
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-05-19 21:16:29.054107120 +0200
++++ b/PKGBUILD 2018-05-19 21:16:30.814107139 +0200
+@@ -19,7 +19,7 @@ prepare() {
+
+ build() {
+ cd $pkgname-$pkgver
+- ./configure --prefix=/usr --disable-static
++ ./configure --host=@CHOST@ --build=@BUILDHOST@ --prefix=/usr --disable-static
+ make
+ }
+
diff --git a/src/stage2/patches/libpcap.patch b/src/stage2/patches/generic/libpcap.patch
index d73969d..d73969d 100644
--- a/src/stage2/patches/libpcap.patch
+++ b/src/stage2/patches/generic/libpcap.patch
diff --git a/src/stage2/patches/libpsl.patch b/src/stage2/patches/generic/libpsl.patch
index 5491547..5491547 100644
--- a/src/stage2/patches/libpsl.patch
+++ b/src/stage2/patches/generic/libpsl.patch
diff --git a/src/stage2/patches/libsasl.patch b/src/stage2/patches/generic/libsasl.patch
index 7ccd417..7ccd417 100644
--- a/src/stage2/patches/libsasl.patch
+++ b/src/stage2/patches/generic/libsasl.patch
diff --git a/src/stage2/patches/generic/libseccomp.patch b/src/stage2/patches/generic/libseccomp.patch
new file mode 100644
index 0000000..6e9dd75
--- /dev/null
+++ b/src/stage2/patches/generic/libseccomp.patch
@@ -0,0 +1,11 @@
+--- a/PKGBUILD 2018-03-03 22:00:46.580103696 +0100
++++ b/PKGBUILD 2018-03-03 22:00:46.579103680 +0100
+@@ -2,7 +2,7 @@
+
+ build() {
+ cd $pkgname-$pkgver
+- ./configure --prefix=/usr
++ ./configure --host=@CHOST@ --build=@BUILDHOST@ --prefix=/usr
+ make
+ }
+
diff --git a/src/stage2/patches/libssh2.patch b/src/stage2/patches/generic/libssh2.patch
index 37c99f0..37c99f0 100644
--- a/src/stage2/patches/libssh2.patch
+++ b/src/stage2/patches/generic/libssh2.patch
diff --git a/src/stage2/patches/libtasn1.patch b/src/stage2/patches/generic/libtasn1.patch
index f26e34d..f26e34d 100644
--- a/src/stage2/patches/libtasn1.patch
+++ b/src/stage2/patches/generic/libtasn1.patch
diff --git a/src/stage2/patches/libtirpc.patch b/src/stage2/patches/generic/libtirpc.patch
index 7f7a755..7f7a755 100644
--- a/src/stage2/patches/libtirpc.patch
+++ b/src/stage2/patches/generic/libtirpc.patch
diff --git a/src/stage2/patches/libtool.patch b/src/stage2/patches/generic/libtool.patch
index 5e0ade2..5e0ade2 100644
--- a/src/stage2/patches/libtool.patch
+++ b/src/stage2/patches/generic/libtool.patch
diff --git a/src/stage2/patches/libunistring.patch b/src/stage2/patches/generic/libunistring.patch
index e16ec4d..e16ec4d 100644
--- a/src/stage2/patches/libunistring.patch
+++ b/src/stage2/patches/generic/libunistring.patch
diff --git a/src/stage2/patches/generic/libusb.patch b/src/stage2/patches/generic/libusb.patch
new file mode 100644
index 0000000..3ed3864
--- /dev/null
+++ b/src/stage2/patches/generic/libusb.patch
@@ -0,0 +1,12 @@
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-05-19 22:31:00.764151740 +0200
++++ b/PKGBUILD 2018-05-19 22:33:38.267486645 +0200
+@@ -19,7 +19,7 @@ md5sums=('466267889daead47674df933cea9ca
+
+ build() {
+ cd $pkgname-$pkgver
+- ./configure --prefix=/usr
++ ./configure --host=@CHOST@ --build=@BUILDHOST@ --prefix=/usr
+ make
+ }
+
diff --git a/src/stage2/patches/linux-libre-api-headers.patch b/src/stage2/patches/generic/linux-libre-api-headers.patch
index 7cc202b..5a4a6a9 100644
--- a/src/stage2/patches/linux-libre-api-headers.patch
+++ b/src/stage2/patches/generic/linux-libre-api-headers.patch
@@ -1,7 +1,8 @@
---- a/PKGBUILD 2018-02-12 07:03:31.357350872 +0100
-+++ b/PKGBUILD 2018-02-12 07:09:41.641241382 +0100
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-05-18 20:06:48.996536657 +0200
++++ b/PKGBUILD 2018-05-18 20:08:03.463204067 +0200
@@ -39,12 +39,12 @@ build() {
- cd linux-${_basever}
+ cd linux-${pkgver%.*}
make mrproper
- make headers_check
@@ -9,9 +10,9 @@
}
package() {
- cd linux-${_basever}
+ cd linux-${pkgver%.*}
- make INSTALL_HDR_PATH="$pkgdir/usr" headers_install
-+ make INSTALL_HDR_PATH="$pkgdir"/usr ARCH=@LINUX_ARCH@ CROSS_COMPILE=@CHOST@- headers_install
++ make INSTALL_HDR_PATH="$pkgdir/usr" ARCH=@LINUX_ARCH@ CROSS_COMPILE=@CHOST@- headers_install
# use headers from libdrm
rm -r "$pkgdir/usr/include/drm"
diff --git a/src/stage2/patches/lvm2.patch b/src/stage2/patches/generic/lvm2.patch
index 229c789..229c789 100644
--- a/src/stage2/patches/lvm2.patch
+++ b/src/stage2/patches/generic/lvm2.patch
diff --git a/src/stage2/patches/lz4.patch b/src/stage2/patches/generic/lz4.patch
index 7e7810e..7e7810e 100644
--- a/src/stage2/patches/lz4.patch
+++ b/src/stage2/patches/generic/lz4.patch
diff --git a/src/stage2/patches/m4.patch b/src/stage2/patches/generic/m4.patch
index d3459b8..d3459b8 100644
--- a/src/stage2/patches/m4.patch
+++ b/src/stage2/patches/generic/m4.patch
diff --git a/src/stage2/patches/make.patch b/src/stage2/patches/generic/make.patch
index 163262b..163262b 100644
--- a/src/stage2/patches/make.patch
+++ b/src/stage2/patches/generic/make.patch
diff --git a/src/stage2/patches/mpfr.patch b/src/stage2/patches/generic/mpfr.patch
index 47a67bb..47a67bb 100644
--- a/src/stage2/patches/mpfr.patch
+++ b/src/stage2/patches/generic/mpfr.patch
diff --git a/src/stage2/patches/ncurses.patch b/src/stage2/patches/generic/ncurses.patch
index a259d17..a259d17 100644
--- a/src/stage2/patches/ncurses.patch
+++ b/src/stage2/patches/generic/ncurses.patch
diff --git a/src/stage2/patches/nettle.patch b/src/stage2/patches/generic/nettle.patch
index 7f62ae2..7f62ae2 100644
--- a/src/stage2/patches/nettle.patch
+++ b/src/stage2/patches/generic/nettle.patch
diff --git a/src/stage2/patches/npth.patch b/src/stage2/patches/generic/npth.patch
index 5ecc148..5ecc148 100644
--- a/src/stage2/patches/npth.patch
+++ b/src/stage2/patches/generic/npth.patch
diff --git a/src/stage2/patches/openssl.patch b/src/stage2/patches/generic/openssl.patch
index cc70009..cc70009 100644
--- a/src/stage2/patches/openssl.patch
+++ b/src/stage2/patches/generic/openssl.patch
diff --git a/src/stage2/patches/p11-kit.patch b/src/stage2/patches/generic/p11-kit.patch
index 50e10c6..50e10c6 100644
--- a/src/stage2/patches/p11-kit.patch
+++ b/src/stage2/patches/generic/p11-kit.patch
diff --git a/src/stage2/patches/generic/pam.patch b/src/stage2/patches/generic/pam.patch
new file mode 100644
index 0000000..6767ab4
--- /dev/null
+++ b/src/stage2/patches/generic/pam.patch
@@ -0,0 +1,28 @@
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-05-19 21:06:16.120767672 +0200
++++ b/PKGBUILD 2018-05-19 21:08:16.307435539 +0200
+@@ -9,7 +9,7 @@ pkgdesc="PAM (Pluggable Authentication M
+ arch=('x86_64')
+ license=('GPL2')
+ url="http://linux-pam.org"
+-depends=('glibc' 'cracklib' 'libtirpc' 'pambase')
++depends=('glibc' 'cracklib' 'libtirpc' 'pambase' 'libnsl')
+ makedepends=('flex' 'w3m' 'docbook-xml>=4.4' 'docbook-xsl')
+ backup=(etc/security/{access.conf,group.conf,limits.conf,namespace.conf,namespace.init,pam_env.conf,time.conf} etc/default/passwd etc/environment)
+ source=(http://linux-pam.org/library/Linux-PAM-$pkgver.tar.bz2)
+@@ -19,7 +19,7 @@ options=('!emptydirs')
+
+ build() {
+ cd $srcdir/Linux-PAM-$pkgver
+- ./configure --libdir=/usr/lib --sbindir=/usr/bin --disable-db
++ ./configure --host=@CHOST@ --build=@BUILDHOST@ --libdir=/usr/lib --sbindir=/usr/bin --disable-db
+ make
+ }
+
+@@ -32,5 +32,5 @@ package() {
+
+ # remove doc which is not used anymore
+ # FS #40749
+- rm $pkgdir/usr/share/doc/Linux-PAM/sag-pam_userdb.html
++ rm -f $pkgdir/usr/share/doc/Linux-PAM/sag-pam_userdb.html
+ }
diff --git a/src/stage2/patches/patch.patch b/src/stage2/patches/generic/patch.patch
index 3110447..3110447 100644
--- a/src/stage2/patches/patch.patch
+++ b/src/stage2/patches/generic/patch.patch
diff --git a/src/stage2/patches/pcre.patch b/src/stage2/patches/generic/pcre.patch
index dc178a4..dc178a4 100644
--- a/src/stage2/patches/pcre.patch
+++ b/src/stage2/patches/generic/pcre.patch
diff --git a/src/stage2/patches/pcre2.patch b/src/stage2/patches/generic/pcre2.patch
index 152b38e..152b38e 100644
--- a/src/stage2/patches/pcre2.patch
+++ b/src/stage2/patches/generic/pcre2.patch
diff --git a/src/stage2/patches/perl.patch b/src/stage2/patches/generic/perl.patch
index bfb45a1..275a8bf 100644
--- a/src/stage2/patches/perl.patch
+++ b/src/stage2/patches/generic/perl.patch
@@ -1,5 +1,15 @@
---- a/PKGBUILD 2018-02-20 11:34:12.895131575 +0100
-+++ b/PKGBUILD 2018-02-20 11:41:53.022315455 +0100
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-05-19 21:28:32.884114344 +0200
++++ b/PKGBUILD 2018-05-19 21:34:20.377451145 +0200
+@@ -6,7 +6,7 @@
+ # Contributor: francois <francois.archlinux.org>
+
+ pkgname=perl
+-pkgver=5.26.2
++pkgver=5.26.1
+ _baseversion="${pkgver%.*}"
+ pkgrel=1
+ pkgdesc="A highly capable, feature-rich programming language"
@@ -134,6 +134,7 @@ provides=('perl-archive-tar=2.24'
# Add your own provides here
provides=(${provides[@]})
@@ -8,15 +18,17 @@
perlbin.sh
perlbin.csh
perlbin.fish
-@@ -142,6 +143,7 @@ source=(https://www.cpan.org/src/5.0/per
+@@ -141,7 +142,8 @@ source=(https://www.cpan.org/src/5.0/per
+ detect-old-perl-modules.sh
detect-old-perl-modules.hook)
options=('makeflags' '!purge' 'emptydirs')
- sha512sums=('13faa7bcd7ed8c490c37e9032c115af06c9b8152b75f8062409dd72d263d1314480e8a9a883490de1b448b2e6d53b6a87d108e2eceb17de2524d5857c6a7d300'
+-sha512sums=('fd54c90da250144c81b94587c01c49fa367f84c54406f1d360ddab4a41589a7b19efc1707f95c95d6357fae66fc3f6f00bf69dd7741db114c7034a14f52be65f'
++sha512sums=('13faa7bcd7ed8c490c37e9032c115af06c9b8152b75f8062409dd72d263d1314480e8a9a883490de1b448b2e6d53b6a87d108e2eceb17de2524d5857c6a7d300'
+ '00de89c4b4dbef4aede397c541ef5b9c5b1c2b8fecc7ea4b8d5d133dcceb65da6e834ff28609e7865d24e563f050de25c72ce3a88a162d8c88e87524aac5217f'
'46724344828e7f86e016f9c8d588bf52b2e764e65e0acc1a38899a530c99bc6e4fd8b46fa0d4bbd685aa2074dd5bcbf9029ac3bb3f2d0ee9adfc4f6c0745f373'
'fc1344a02c741d61af6f6b5967f29cc6f43c2059761522b150261924dd7e1989da5254c03ffa0627accd9af01bc152edd24e84a6b59579acb9ee1900b6ce9383'
'026f8e1e81cacceaf78ec58830fb6109c5e6e9f48df835e661ca6b7b3a7d600ae002b489532adb3f292f355f6889273cc59e015f6dc32df1910883e2ab6a1bb7'
-@@ -153,6 +155,7 @@ sha512sums=('13faa7bcd7ed8c490c37e9032c1
+@@ -153,6 +155,7 @@ sha512sums=('fd54c90da250144c81b94587c01
prepare() {
cd ${srcdir}/${pkgname}-${pkgver}
@@ -43,7 +55,7 @@
}
check() {
-@@ -229,7 +232,7 @@ package() {
+@@ -229,7 +233,7 @@ package() {
install -d -m755 "$pkgdir/usr/bin/site_perl"
#(cd ${pkgdir}/usr/bin; mv perl${pkgver} perl)
diff --git a/src/stage2/patches/pinentry.patch b/src/stage2/patches/generic/pinentry.patch
index 64133a2..64133a2 100644
--- a/src/stage2/patches/pinentry.patch
+++ b/src/stage2/patches/generic/pinentry.patch
diff --git a/src/stage2/patches/pkg-config.patch b/src/stage2/patches/generic/pkg-config.patch
index 5f067b0..5f067b0 100644
--- a/src/stage2/patches/pkg-config.patch
+++ b/src/stage2/patches/generic/pkg-config.patch
diff --git a/src/stage2/patches/popt.patch b/src/stage2/patches/generic/popt.patch
index 9fe4ed3..9fe4ed3 100644
--- a/src/stage2/patches/popt.patch
+++ b/src/stage2/patches/generic/popt.patch
diff --git a/src/stage2/patches/readline.patch b/src/stage2/patches/generic/readline.patch
index 758db35..758db35 100644
--- a/src/stage2/patches/readline.patch
+++ b/src/stage2/patches/generic/readline.patch
diff --git a/src/stage2/patches/sed.patch b/src/stage2/patches/generic/sed.patch
index bbdac71..bbdac71 100644
--- a/src/stage2/patches/sed.patch
+++ b/src/stage2/patches/generic/sed.patch
diff --git a/src/stage2/patches/shadow.patch b/src/stage2/patches/generic/shadow.patch
index 4730563..4730563 100644
--- a/src/stage2/patches/shadow.patch
+++ b/src/stage2/patches/generic/shadow.patch
diff --git a/src/stage2/patches/sqlite.patch b/src/stage2/patches/generic/sqlite.patch
index d187d58..d187d58 100644
--- a/src/stage2/patches/sqlite.patch
+++ b/src/stage2/patches/generic/sqlite.patch
diff --git a/src/stage2/patches/sudo.patch b/src/stage2/patches/generic/sudo.patch
index 23fd5c2..23fd5c2 100644
--- a/src/stage2/patches/sudo.patch
+++ b/src/stage2/patches/generic/sudo.patch
diff --git a/src/stage2/patches/systemd.patch b/src/stage2/patches/generic/systemd.patch
index b1803fe..9a4bb64 100644
--- a/src/stage2/patches/systemd.patch
+++ b/src/stage2/patches/generic/systemd.patch
@@ -1,5 +1,6 @@
---- a/PKGBUILD 2018-03-29 08:40:33.725839233 +0200
-+++ b/PKGBUILD 2018-03-29 08:47:05.303802120 +0200
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-05-19 05:41:56.090214301 +0200
++++ b/PKGBUILD 2018-05-19 05:46:32.520217057 +0200
@@ -24,7 +24,7 @@ makedepends=('acl' 'cryptsetup' 'docbook
'meson' 'libseccomp' 'pcre2')
makedepends_i686=('gnu-efi-libs')
@@ -11,8 +12,8 @@
source=('git+https://github.com/systemd/systemd-stable'
@@ -85,6 +85,8 @@ sha512sums=('SKIP'
_backports=(
- # core: do not free heap-allocated strings (#8391) (FS#57741)
- '5cbaad2f6795088db56063d20695c6444595822f'
+ # nspawn: wait for network namespace creation before interface setup (#8633)
+ '7511655807e90aa33ea7b71991401a79ec36bb41'
+ # basic/macros: rename noreturn into _noreturn_ (#8456)
+ '848e863acc51ecfb0f3955c498874588201d9130'
)
diff --git a/src/stage2/patches/tar.patch b/src/stage2/patches/generic/tar.patch
index c6075f7..c6075f7 100644
--- a/src/stage2/patches/tar.patch
+++ b/src/stage2/patches/generic/tar.patch
diff --git a/src/stage2/patches/tcl.patch b/src/stage2/patches/generic/tcl.patch
index ff62673..ff62673 100644
--- a/src/stage2/patches/tcl.patch
+++ b/src/stage2/patches/generic/tcl.patch
diff --git a/src/stage2/patches/texinfo.patch b/src/stage2/patches/generic/texinfo.patch
index 50254bc..50254bc 100644
--- a/src/stage2/patches/texinfo.patch
+++ b/src/stage2/patches/generic/texinfo.patch
diff --git a/src/stage2/patches/unixodbc.patch b/src/stage2/patches/generic/unixodbc.patch
index 27849e3..27849e3 100644
--- a/src/stage2/patches/unixodbc.patch
+++ b/src/stage2/patches/generic/unixodbc.patch
diff --git a/src/stage2/patches/util-linux.patch b/src/stage2/patches/generic/util-linux.patch
index 12ae122..12ae122 100644
--- a/src/stage2/patches/util-linux.patch
+++ b/src/stage2/patches/generic/util-linux.patch
diff --git a/src/stage2/patches/which.patch b/src/stage2/patches/generic/which.patch
index 38f2ae7..38f2ae7 100644
--- a/src/stage2/patches/which.patch
+++ b/src/stage2/patches/generic/which.patch
diff --git a/src/stage2/patches/xz.patch b/src/stage2/patches/generic/xz.patch
index c56279f..c56279f 100644
--- a/src/stage2/patches/xz.patch
+++ b/src/stage2/patches/generic/xz.patch
diff --git a/src/stage2/patches/zlib.patch b/src/stage2/patches/generic/zlib.patch
index d8ee724..d8ee724 100644
--- a/src/stage2/patches/zlib.patch
+++ b/src/stage2/patches/generic/zlib.patch
diff --git a/src/stage2/patches/glibc.patch b/src/stage2/patches/glibc.patch
deleted file mode 100644
index 19fe4f0..0000000
--- a/src/stage2/patches/glibc.patch
+++ /dev/null
@@ -1,86 +0,0 @@
---- a/PKGBUILD 2018-03-02 08:04:38.298423124 +0100
-+++ b/PKGBUILD 2018-03-02 08:04:38.297423126 +0100
-@@ -6,16 +6,17 @@
- # NOTE: valgrind requires rebuilt with each major glibc version
-
- pkgbase=glibc
--pkgname=(glibc lib32-glibc)
--pkgver=2.26
--pkgrel=11
-+pkgname=(glibc)
-+[ "x@MULTILIB@" != "xenable" ] || pkgname+=(lib32-glibc)
-+pkgver=2.27
-+pkgrel=1
- arch=(x86_64)
- url='http://www.gnu.org/software/libc'
- license=(GPL LGPL)
- makedepends=(git gd lib32-gcc-libs)
- options=(!strip staticlibs)
- _commit=de51f431ed6226ec68ca76e578f2cbd55b6262cb
--source=(git+https://sourceware.org/git/glibc.git#commit=${_commit}
-+source=(git+https://sourceware.org/git/glibc.git#tag=glibc-$pkgver
- locale.gen.txt
- locale-gen
- lib32-glibc.conf
-@@ -44,12 +45,13 @@ prepare() {
- build() {
- local _configure_flags=(
- --prefix=/usr
-- --with-headers=/usr/include
-+ --host=@CHOST@ --build=@BUILDHOST@
-+ --with-headers=@SYSROOT@/usr/include
- --with-bugurl=https://bugs.archlinux.org/
- --enable-add-ons
- --enable-bind-now
- --enable-lock-elision
-- --enable-multi-arch
-+ --@MULTILIB@-multi-arch
- --enable-obsolete-nsl
- --enable-obsolete-rpc
- --enable-stack-protector=strong
-@@ -84,6 +86,8 @@ build() {
- echo "CXX += -D_FORTIFY_SOURCE=2" >> configparms
- make
-
-+ [ "x@MULTILIB@" == "xenable" ] || return 0
-+
- cd "$srcdir/lib32-glibc-build"
- export CC="gcc -m32 -mstackrealign"
- export CXX="g++ -m32 -mstackrealign"
-@@ -169,17 +173,17 @@ package_glibc() {
-
- if check_option 'debug' n; then
- cd "$pkgdir"
-- strip $STRIP_BINARIES usr/bin/{gencat,getconf,getent,iconv,iconvconfig} \
-+ @CHOST@-strip $STRIP_BINARIES usr/bin/{gencat,getconf,getent,iconv,iconvconfig} \
- usr/bin/{ldconfig,locale,localedef,nscd,makedb} \
- usr/bin/{pcprofiledump,pldd,rpcgen,sln,sprof} \
- usr/lib/getconf/*
-
-- strip $STRIP_STATIC usr/lib/lib{anl,BrokenLocale,c{,_nonshared},crypt}.a \
-+ @CHOST@-strip $STRIP_STATIC usr/lib/lib{anl,BrokenLocale,c{,_nonshared},crypt}.a \
- usr/lib/lib{dl,g,ieee,mcheck,nsl,pthread{,_nonshared}}.a \
- usr/lib/lib{resolv,rpcsvc,rt,util}.a \
-- usr/lib/lib{m-${pkgver},mvec{,_nonshared}}.a
-+ usr/lib/lib{m-${pkgver},mvec{,_nonshared}}.a || true
-
-- strip $STRIP_SHARED usr/lib/lib{anl,BrokenLocale,cidn,crypt}-${pkgver}.so \
-+ @CHOST@-strip $STRIP_SHARED usr/lib/lib{anl,BrokenLocale,cidn,crypt}-${pkgver}.so \
- usr/lib/libnss_{compat,db,dns,files,hesiod,nis,nisplus}-*.so \
- usr/lib/lib{dl,m,nsl,resolv,rt,util}-${pkgver}.so \
- usr/lib/lib{memusage,pcprofile,SegFault}.so \
-@@ -211,11 +215,11 @@ package_lib32-glibc() {
-
- if check_option 'debug' n; then
- cd $pkgdir
-- strip $STRIP_BINARIES usr/lib32/getconf/*
-- strip $STRIP_STATIC usr/lib32/lib{anl,BrokenLocale,c{,_nonshared},crypt}.a \
-+ @CHOST@-strip $STRIP_BINARIES usr/lib32/getconf/*
-+ @CHOST@-strip $STRIP_STATIC usr/lib32/lib{anl,BrokenLocale,c{,_nonshared},crypt}.a \
- usr/lib32/lib{dl,g,ieee,mcheck,nsl,pthread{,_nonshared}}.a \
- usr/lib32/lib{resolv,rpcsvc,rt,util,m}.a
-- strip $STRIP_SHARED usr/lib32/lib{anl,BrokenLocale,cidn,crypt}-${pkgver}.so \
-+ @CHOST@-strip $STRIP_SHARED usr/lib32/lib{anl,BrokenLocale,cidn,crypt}-${pkgver}.so \
- usr/lib32/libnss_{compat,db,dns,files,hesiod,nis,nisplus}-*.so \
- usr/lib32/lib{dl,m,nsl,resolv,rt,util}-${pkgver}.so \
- usr/lib32/lib{memusage,pcprofile,SegFault}.so \
diff --git a/src/stage2/patches/libusb.patch b/src/stage2/patches/libusb.patch
deleted file mode 100644
index 576f258..0000000
--- a/src/stage2/patches/libusb.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/PKGBUILD 2018-02-22 10:23:59.164686376 +0100
-+++ b/PKGBUILD 2018-02-22 10:24:42.587803720 +0100
-@@ -19,7 +19,7 @@ md5sums=('1da9ea3c27b3858fa85c5f4466003e
-
- build() {
- cd $pkgname-$pkgver
-- ./configure --prefix=/usr
-+ ./configure --host=@CHOST@ --build=@BUILDHOST@ --prefix=/usr
- make -j1
- }
-
diff --git a/src/stage2/patches/pam.patch b/src/stage2/patches/pam.patch
deleted file mode 100644
index c441aa9..0000000
--- a/src/stage2/patches/pam.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/PKGBUILD 2018-02-21 18:38:07.422735642 +0100
-+++ b/PKGBUILD 2018-02-21 18:39:52.272267854 +0100
-@@ -31,11 +31,15 @@ prepare () {
-
- build() {
- cd $srcdir/Linux-PAM-$pkgver
-- ./configure --libdir=/usr/lib --sbindir=/usr/bin --disable-db
-+ ./configure --host=@CHOST@ --build=@BUILDHOST@ --libdir=/usr/lib --sbindir=/usr/bin --disable-db
- make
-
- cd $srcdir/pam_unix2-2.9.1
- # modify flags to build against the pam compiled here, not a system lib.
-+ CFLAGS=${CFLAGS/-march=@GCC_MARCH@}
-+ CFLAGS=${CFLAGS/-mabi=@GCC_MABI@}
-+ CXXFLAGS=${CXXFLAGS/-march=@GCC_MARCH@}
-+ CXXFLAGS=${CXXFLAGS/-mabi=@GCC_MABI@}
- ./configure \
- CFLAGS="$CFLAGS -I$srcdir/Linux-PAM-$pkgver/libpam/include/" \
- LDFLAGS="$LDFLAGS -L$srcdir/Linux-PAM-$pkgver/libpam/.libs/" \
-@@ -64,5 +70,5 @@ package() {
- chmod +s $pkgdir/usr/bin/unix_chkpwd
- # remove doc which is not used anymore
- # FS #40749
-- rm $pkgdir/usr/share/doc/Linux-PAM/sag-pam_userdb.html
-+ rm -f $pkgdir/usr/share/doc/Linux-PAM/sag-pam_userdb.html
- }
diff --git a/src/stage2/patches/powerpc64le/filesystem.patch b/src/stage2/patches/powerpc64le/filesystem.patch
new file mode 100644
index 0000000..a58c599
--- /dev/null
+++ b/src/stage2/patches/powerpc64le/filesystem.patch
@@ -0,0 +1,13 @@
+--- a/PKGBUILD 2018-02-20 22:53:28.088939649 +0100
++++ b/PKGBUILD 2018-02-21 10:12:21.862501784 +0100
+@@ -103,6 +103,10 @@ package() {
+ ln -s usr/lib lib64
+ ln -s lib usr/lib64
+ }
++ [[ $CARCH = 'powerpc64le' ]] && {
++ ln -s usr/lib lib64
++ ln -s lib usr/lib64
++ }
+
+ # add bin symlinks
+ ln -s usr/bin bin
diff --git a/src/stage2/patches/powerpc64le/pacman.patch b/src/stage2/patches/powerpc64le/pacman.patch
new file mode 100644
index 0000000..f09abc0
--- /dev/null
+++ b/src/stage2/patches/powerpc64le/pacman.patch
@@ -0,0 +1,157 @@
+diff -rupN a/pacman.conf.powerpc64le b/pacman.conf.powerpc64le
+--- a/pacman.conf.powerpc64le 1970-01-01 01:00:00.000000000 +0100
++++ b/pacman.conf.powerpc64le 2018-05-19 07:43:10.426953548 +0200
+@@ -0,0 +1,120 @@
++#
++# /etc/pacman.conf
++#
++# See the pacman.conf(5) manpage for option and repository directives
++
++#
++# GENERAL OPTIONS
++#
++[options]
++# The following paths are commented out with their default values listed.
++# If you wish to use different paths, uncomment and update the paths.
++#RootDir = /
++#DBPath = /var/lib/pacman/
++#CacheDir = /var/cache/pacman/pkg/
++#LogFile = /var/log/pacman.log
++#GPGDir = /etc/pacman.d/gnupg/
++#HookDir = /etc/pacman.d/hooks/
++HoldPkg = pacman glibc
++#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
++#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
++#CleanMethod = KeepInstalled
++#UseDelta = 0.7
++Architecture = auto
++
++# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
++#IgnorePkg =
++#IgnoreGroup =
++
++#NoUpgrade =
++#NoExtract =
++
++# Misc options
++#UseSyslog
++#Color
++#TotalDownload
++CheckSpace
++#VerbosePkgLists
++
++# By default, pacman accepts packages signed by keys that its local keyring
++# trusts (see pacman-key and its man page), as well as unsigned packages.
++SigLevel = Required DatabaseOptional
++LocalFileSigLevel = Optional
++#RemoteFileSigLevel = Required
++
++# NOTE: You must run `pacman-key --init` before first using pacman; the local
++# keyring can then be populated with the keys of all Arch/Parabola packagers
++# with `pacman-key --populate archlinux` and `pacman-key --populate parabola`.
++
++#
++# REPOSITORIES
++# - can be defined here or included from another file
++# - pacman will search repositories in the order defined here
++# - local/custom mirrors can be added here or in separate files
++# - repositories listed first will take precedence when packages
++# have identical names, regardless of version number
++# - URLs will have $repo replaced by the name of the current repo
++# - URLs will have $arch replaced by the name of the architecture
++#
++# Repository entries are of the format:
++# [repo-name]
++# Server = ServerName
++# Include = IncludePath
++#
++# The header [repo-name] is crucial - it must be present and
++# uncommented to enable the repo.
++#
++
++# The testing repositories are disabled by default. To enable, uncomment the
++# repo name header and Include lines. You can add preferred servers immediately
++# after the header, and they will be used before the default mirrors.
++
++# NOTE: Nonprism is a particular repository that aims to provide software built
++# and patched without services under global data surveillance programs like PRISM,
++# XKeyscore and Tempora. For more info see: https://wiki.parabola.nu/Nonprism
++
++#[nonprism-testing]
++#Include = /etc/pacman.d/mirrorlist
++
++#[nonprism]
++#Include = /etc/pacman.d/mirrorlist
++
++#[libre-testing]
++#Include = /etc/pacman.d/mirrorlist
++
++[libre]
++Include = /etc/pacman.d/mirrorlist
++
++#[testing]
++#Include = /etc/pacman.d/mirrorlist
++
++[core]
++Include = /etc/pacman.d/mirrorlist
++
++[extra]
++Include = /etc/pacman.d/mirrorlist
++
++#[community-testing]
++#Include = /etc/pacman.d/mirrorlist
++
++[community]
++Include = /etc/pacman.d/mirrorlist
++
++# The PCR (Parabola Community Repository) contains packages maintained by trusted
++# members of the Parabola community. It also contains packages maintained by
++# Parabola developers, but that the developer decided didn't belong in core/libre.
++
++#[pcr-testing]
++#Include = /etc/pacman.d/mirrorlist
++
++[pcr]
++Include = /etc/pacman.d/mirrorlist
++
++# Parabola also supports another community projects and personal repositories, to
++# find them check out this wiki page: https://wiki.parabola.nu/Repositories
++
++# An example of a custom package repository. See the pacman manpage for
++# tips on creating your own repositories.
++#[custom]
++#SigLevel = Optional TrustAll
++#Server = file:///home/custompkgs
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-05-19 07:39:33.266951381 +0200
++++ b/PKGBUILD 2018-05-19 07:43:10.416953547 +0200
+@@ -51,6 +51,7 @@ sha256sums=('dfd36086ad68564bcd977f4a1fa
+ '78129351e96d19e14b05bda30480df3e834a96153b7cfe72ca5c91f5cc5cae40'
+ '19853ea9a2138157bbb334eb7f3a9b3098b88e513678b54b7b4f19d2ffd6ecad'
+ '1b2c8f4ec84d0dc496516880a54b5e4deb78798618c9cf5e284a45303f156e58'
++ '19853ea9a2138157bbb334eb7f3a9b3098b88e513678b54b7b4f19d2ffd6ecad'
+ 'b2cb3ba229edba338c0af7d7f5bb1a6ef6143bcd453c693bfee0c02fa1cfa18a'
+ '117892e340cc502b8659f21b209886c51a375e52f4af39f173ff7fe12762d40b'
+ '220f1b25a64727041dc6fa3fd486b0a043f735a3f6cecedc4e2f7c47ec6ce66d'
+@@ -80,7 +81,8 @@ build() {
+ cd "$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc \
+- --localstatedir=/var --enable-doc \
++ --host=@CHOST@ --build=@BUILDHOST@ \
++ --localstatedir=/var --disable-doc \
+ --with-scriptlet-shell=/usr/bin/bash \
+ --with-ldconfig=/usr/bin/ldconfig
+ make V=1
+@@ -105,6 +107,11 @@ build() {
+ mychost="armv7l-unknown-linux-gnueabihf"
+ myflags="-march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -O2 -pipe -fstack-protector-strong -fno-plt"
+ ;;
++ @CARCH@)
++ mycarch="@CARCH@"
++ mychost="@CHOST@"
++ myflags="@PLATFORM_FLAGS@ -O2 -pipe -fstack-protector-strong -fno-plt"
++ ;;
+ esac
+ myldflags="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
+
diff --git a/src/stage2/patches/filesystem.patch b/src/stage2/patches/riscv64/filesystem.patch
index 130c763..130c763 100644
--- a/src/stage2/patches/filesystem.patch
+++ b/src/stage2/patches/riscv64/filesystem.patch
diff --git a/src/stage2/patches/libffi.patch b/src/stage2/patches/riscv64/libffi.patch
index 39beb3b..39beb3b 100644
--- a/src/stage2/patches/libffi.patch
+++ b/src/stage2/patches/riscv64/libffi.patch
diff --git a/src/stage2/patches/libgpg-error.patch b/src/stage2/patches/riscv64/libgpg-error.patch
index 39267ba..39267ba 100644
--- a/src/stage2/patches/libgpg-error.patch
+++ b/src/stage2/patches/riscv64/libgpg-error.patch
diff --git a/src/stage2/patches/libseccomp.patch b/src/stage2/patches/riscv64/libseccomp.patch
index 4669b10..4669b10 100644
--- a/src/stage2/patches/libseccomp.patch
+++ b/src/stage2/patches/riscv64/libseccomp.patch
diff --git a/src/stage2/patches/pacman.patch b/src/stage2/patches/riscv64/pacman.patch
index 6548937..6548937 100644
--- a/src/stage2/patches/pacman.patch
+++ b/src/stage2/patches/riscv64/pacman.patch
diff --git a/src/stage2/stage2.sh b/src/stage2/stage2.sh
index 18e1423..9db683d 100755
--- a/src/stage2/stage2.sh
+++ b/src/stage2/stage2.sh
@@ -31,16 +31,15 @@ stage2_makepkg() {
# substitute common variables
sed "s#@CARCH@#$CARCH#g; \
s#@CHOST@#$CHOST#g; \
- s#@GCC_MARCH@#$GCC_MARCH#g; \
- s#@GCC_MABI@#$GCC_MABI#g; \
+ s#@PLATFORM_CFLAGS@#${PLATFORM_CFLAGS[*]}#g; \
+ s#@LINUX_ARCH@#$LINUX_ARCH#g; \
+ s#@GCC_CONFIG_FLAGS@#${GCC_CONFIG_FLAGS[*]}#g; \
+ s#@MULTILIB@#${MULTILIB:-disable}#g; \
s#@CARCH32@#${CARCH32:-}#g; \
s#@CHOST32@#${CHOST32:-}#g; \
- s#@GCC32_MARCH@#${GCC32_MARCH:-}#g; \
- s#@GCC32_MABI@#${GCC32_MABI:-}#g; \
+ s#@PLATFORM32_CFLAGS@#${PLATFORM32_CFLAGS[*]}#g; \
s#@BUILDHOST@#$(gcc -dumpmachine)#g; \
- s#@SYSROOT@#$SYSROOT#g; \
- s#@LINUX_ARCH@#$LINUX_ARCH#g; \
- s#@MULTILIB@#${MULTILIB:-disable}#g;" \
+ s#@SYSROOT@#$SYSROOT#g;" \
PKGBUILD.in > PKGBUILD
package_enable_arch "$CARCH"
@@ -62,7 +61,7 @@ stage2_makepkg() {
# build the package
runas "$SUDO_USER" \
- "$BUILDDIR"/makepkg-"$CARCH".sh -fLC --config "$BUILDDIR"/makepkg-"$CARCH".conf \
+ "$BUILDDIR"/makepkg.sh -fLC --config "$BUILDDIR"/makepkg.conf \
--nocheck --nodeps --nobuild --noconfirm || return
if [ "x${REGEN_CONFIG_FRAGMENTS:-no}" == "xyes" ]; then
@@ -71,7 +70,7 @@ stage2_makepkg() {
fi
runas "$SUDO_USER" \
- "$BUILDDIR"/makepkg-"$CARCH".sh -efL --config "$BUILDDIR"/makepkg-"$CARCH".conf \
+ "$BUILDDIR"/makepkg.sh -efL --config "$BUILDDIR"/makepkg.conf \
--nocheck --nodeps --noprepare --noconfirm || return
}
@@ -103,7 +102,7 @@ stage2_package_install() {
stage2() {
msg -n "Entering Stage 2"
- local groups=(base-devel)
+ local groups=(filesystem base-devel)
local sysroot
sysroot="$("$CHOST"-gcc --print-sysroot)"
diff --git a/src/stage3/makepkg.conf.in b/src/stage3/makepkg.conf.in
index a61887c..088712e 100644
--- a/src/stage3/makepkg.conf.in
+++ b/src/stage3/makepkg.conf.in
@@ -7,7 +7,7 @@ VCSCLIENTS=('bzr::bzr'
'git::git'
'hg::mercurial'
'svn::subversion')
-CPPFLAGS="-D_FORTIFY_SOURCE=2"
+CPPFLAGS=""
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
DEBUG_CFLAGS="-g -fvar-tracking-assignments"
DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"
diff --git a/src/stage3/makepkg.sh b/src/stage3/makepkg.sh
index 99d5971..8cd1bf6 100644
--- a/src/stage3/makepkg.sh
+++ b/src/stage3/makepkg.sh
@@ -43,16 +43,16 @@ EOF
cat >> "$BUILDDIR"/config/makepkg.conf << EOF
CARCH="$CARCH"
CHOST="$CHOST"
-CFLAGS="-march=$GCC_MARCH -mabi=$GCC_MABI -O2 -pipe -fstack-protector-strong -fno-plt"
-CXXFLAGS="-march=$GCC_MARCH -mabi=$GCC_MABI -O2 -pipe -fstack-protector-strong -fno-plt"
+CFLAGS="${PLATFORM_CFLAGS[*]} -O2 -pipe -fstack-protector-strong -fno-plt"
+CXXFLAGS="${PLATFORM_CFLAGS[*]} -O2 -pipe -fstack-protector-strong -fno-plt"
MAKEFLAGS="-j$(($(nproc) + 1))"
EOF
check_repo "$PKGDEST" native || make_repo "$PKGDEST" native
# patch libremakepkg to update config.sub/config.guess
- cat "$(which libremakepkg)" > "$BUILDDIR/libremakepkg-$CARCH.sh"
- chmod +x "$BUILDDIR/libremakepkg-$CARCH.sh"
+ cat "$(which libremakepkg)" > "$BUILDDIR/libremakepkg.sh"
+ chmod +x "$BUILDDIR/libremakepkg.sh"
if [ "x${REGEN_CONFIG_FRAGMENTS:-no}" == "xyes" ]; then
local url="https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain"
@@ -61,9 +61,9 @@ update_config_fragments() {\\
find \$1/build -iname config.sub -exec curl \"$url;f=config.sub;hb=HEAD\" -o {} \\\\;\\
find \$1/build -iname config.guess -exec curl \"$url;f=config.guess;hb=HEAD\" -o {} \\\\;\\
}\\
-hook_pre_build+=(update_config_fragments)" "$BUILDDIR/libremakepkg-$CARCH.sh"
+hook_pre_build+=(update_config_fragments)" "$BUILDDIR/libremakepkg.sh"
fi
# patch libremakepkg to disable checks
- sed -i 's/makepkg_args=(.*noconfirm[^)]*/& --nocheck/' "$BUILDDIR/libremakepkg-$CARCH.sh"
+ sed -i 's/makepkg_args=(.*noconfirm[^)]*/& --nocheck/' "$BUILDDIR/libremakepkg.sh"
}
diff --git a/src/stage3/patches/binutils.patch b/src/stage3/patches/binutils.patch
deleted file mode 100644
index 3a1e774..0000000
--- a/src/stage3/patches/binutils.patch
+++ /dev/null
@@ -1,49 +0,0 @@
---- a/PKGBUILD 2018-03-12 22:50:36.664872721 +0100
-+++ b/PKGBUILD 2018-03-12 22:54:43.245935566 +0100
-@@ -4,8 +4,8 @@
- # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
-
- pkgname=binutils
--pkgver=2.29.1
--pkgrel=3
-+pkgver=2.30
-+pkgrel=1
- pkgdesc='A set of programs to assemble and manipulate binary and object files'
- arch=(x86_64)
- url='http://www.gnu.org/software/binutils/'
-@@ -19,16 +19,10 @@ replaces=(binutils-multilib)
- options=(staticlibs !distcc !ccache)
- #_commit=d1a6e7195b9bb0255fa77588985b969ad8aaacf5
- #source=(git+https://sourceware.org/git/binutils-gdb.git#commit=${_commit}
--source=(https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz{,.sig}
-- 0001-x86-64_Dont_pass_output_bfd_to_info-callbacks-minfo.patch
-- 0001-PR22741-objcopy-segfault-on-fuzzed-COFF-object.patch
-- 0001-PR22829-objcopy-strip-removes-PT_GNU_RELRO-from-lld-.patch)
-+source=(https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz{,.sig})
- validpgpkeys=(3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F)
--md5sums=('acc9cd826edb9954ac7cecb81c727793'
-- 'SKIP'
-- 'e4be936139ef46122cb3841881c432b2'
-- '469164f3c93a0e92a697537b60c9806c'
-- '0c679b37e90fb23de60a4d28329b956a')
-+md5sums=('ffc476dd46c96f932875d1b2e27e929f'
-+ 'SKIP')
-
- prepare() {
- mkdir -p binutils-build
-@@ -38,15 +32,6 @@ prepare() {
-
- # hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS"
- sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
--
-- # https://bugs.archlinux.org/task/55741
-- git apply ../0001-x86-64_Dont_pass_output_bfd_to_info-callbacks-minfo.patch
--
-- # https://sourceware.org/bugzilla/show_bug.cgi?id=22741
-- git apply ../0001-PR22741-objcopy-segfault-on-fuzzed-COFF-object.patch
--
-- # https://sourceware.org/bugzilla/show_bug.cgi?id=22829
-- git apply ../0001-PR22829-objcopy-strip-removes-PT_GNU_RELRO-from-lld-.patch
- }
-
- build() {
diff --git a/src/stage3/patches/gcc.patch b/src/stage3/patches/gcc.patch
deleted file mode 100644
index bfb6018..0000000
--- a/src/stage3/patches/gcc.patch
+++ /dev/null
@@ -1,204 +0,0 @@
---- a/PKGBUILD 2018-03-23 07:34:01.091188345 +0100
-+++ b/PKGBUILD 2018-03-23 10:57:18.131432493 +0100
-@@ -5,7 +5,8 @@
- # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
- # NOTE: libtool requires rebuilt with each new gcc version
-
--pkgname=(gcc gcc-libs gcc-fortran gcc-objc gcc-ada gcc-go lib32-gcc-libs)
-+pkgname=(gcc gcc-libs gcc-fortran)
-+[ "x@MULTILIB@" == "xdisable" ] || pkgname+=(lib32-gcc-libs)
- pkgver=7.3.1+20180312
- _majorver=${pkgver:0:1}
- _islver=0.18
-@@ -14,13 +15,15 @@ pkgdesc='The GNU Compiler Collection'
- arch=(x86_64)
- license=(GPL LGPL FDL custom)
- url='http://gcc.gnu.org'
--makedepends=(binutils libmpc gcc-ada doxygen lib32-glibc lib32-gcc-libs python)
--checkdepends=(dejagnu inetutils)
-+makedepends=(binutils libmpc)
-+[ "x@MULTILIB@" == "xdisable" ] || makedepends+=(lib32-glibc lib32-gcc-libs)
-+checkdepends=(dejagnu)
- options=(!emptydirs)
- source=(https://sources.archlinux.org/other/gcc/gcc-${pkgver/+/-}.tar.xz{,.sig}
- #source=(https://ftp.gnu.org/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.xz{,.sig}
- http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2
- c89 c99
-+ 0001-pthread-reentrant.patch
- bz84080.patch)
- validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org
- 13975A70E63C361C73AE69EF6EEB81F8981C74C7) # richard.guenther@gmail.com
-@@ -29,6 +32,7 @@ sha256sums=('c52618f656f2102b3544419e7d0
- '6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b'
- 'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931'
- '2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a'
-+ 'fc9c6f0edd615f2b39deff28b9626a08fd98ef8ce19f7e34281c0a5bd653ac3b'
- 'bce05807443558db55f0d6b4dae37a678ea1bb3388b541c876fe3d110e3717e7')
-
- _svnrev=258469
-@@ -59,6 +63,9 @@ prepare() {
- # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84080
- patch -p0 -i "$srcdir/bz84080.patch"
-
-+ # parabola patches
-+ patch -Np1 -i "$srcdir"/0001-pthread-reentrant.patch
-+
- # link isl for in-tree build
- ln -s ../isl-${_islver} isl
-
-@@ -88,10 +95,10 @@ build() {
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --with-bugurl=https://bugs.archlinux.org/ \
-- --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \
-+ --enable-languages=c,c++,fortran,lto \
- --enable-shared \
- --enable-threads=posix \
-- --enable-libmpx \
-+ --disable-libmpx \
- --with-system-zlib \
- --with-isl \
- --enable-__cxa_atexit \
-@@ -106,16 +113,13 @@ build() {
- --enable-install-libiberty \
- --with-linker-hash-style=gnu \
- --enable-gnu-indirect-function \
-- --enable-multilib \
-+ --@MULTILIB@-multilib \
- --disable-werror \
- --enable-checking=release \
- --enable-default-pie \
- --enable-default-ssp
-
- make
--
-- # make documentation
-- make -C $CHOST/libstdc++-v3/doc doc-man-doxygen
- }
-
- check() {
-@@ -139,25 +143,17 @@ package_gcc-libs() {
- rm -f "$pkgdir/$_libdir/libgcc_eh.a"
-
- for lib in libatomic \
-- libcilkrts \
- libgfortran \
-- libgo \
- libgomp \
-- libitm \
- libquadmath \
-- libsanitizer/{a,l,ub,t}san \
-- libstdc++-v3/src \
-- libvtv; do
-+ libstdc++-v3/src; do
- make -C $CHOST/$lib DESTDIR="$pkgdir" install-toolexeclibLTLIBRARIES
- done
-
-- make -C $CHOST/libobjc DESTDIR="$pkgdir" install-libs
- make -C $CHOST/libstdc++-v3/po DESTDIR="$pkgdir" install
-- make -C $CHOST/libmpx DESTDIR="$pkgdir" install
- rm -f "$pkgdir/usr/lib/libmpx.spec"
-
- for lib in libgomp \
-- libitm \
- libquadmath; do
- make -C $CHOST/$lib DESTDIR="$pkgdir" install-info
- done
-@@ -188,22 +184,18 @@ package_gcc() {
- install -m755 -t "$pkgdir/${_libdir}/" gcc/{cc1,cc1plus,collect2,lto1}
-
- make -C $CHOST/libgcc DESTDIR="$pkgdir" install
-- make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install
-+ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install
- rm -f "$pkgdir"/usr/lib{,32}/libgcc_s.so*
-
- make -C $CHOST/libstdc++-v3/src DESTDIR="$pkgdir" install
- make -C $CHOST/libstdc++-v3/include DESTDIR="$pkgdir" install
- make -C $CHOST/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install
-- make -C $CHOST/libstdc++-v3/python DESTDIR="$pkgdir" install
-- make -C $CHOST/32/libstdc++-v3/src DESTDIR="$pkgdir" install
-- make -C $CHOST/32/libstdc++-v3/include DESTDIR="$pkgdir" install
-- make -C $CHOST/32/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install
-+ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libstdc++-v3/src DESTDIR="$pkgdir" install
-+ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libstdc++-v3/include DESTDIR="$pkgdir" install
-+ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install
-
- make DESTDIR="$pkgdir" install-libcc1
-- install -d "$pkgdir/usr/share/gdb/auto-load/usr/lib"
-- mv "$pkgdir"/usr/lib/libstdc++.so.6.*-gdb.py \
-- "$pkgdir/usr/share/gdb/auto-load/usr/lib/"
-- rm "$pkgdir"/usr/lib{,32}/libstdc++.so*
-+ rm -f "$pkgdir"/usr/lib{,32}/libstdc++.so*
-
- make DESTDIR="$pkgdir" install-fixincludes
- make -C gcc DESTDIR="$pkgdir" install-mkheaders
-@@ -213,26 +205,16 @@ package_gcc() {
- ln -s /${_libdir}/liblto_plugin.so \
- "$pkgdir/usr/lib/bfd-plugins/"
-
-- make -C $CHOST/libcilkrts DESTDIR="$pkgdir" install-nodist_{toolexeclib,cilkinclude}HEADERS
- make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_{libsubinclude,toolexeclib}HEADERS
-- make -C $CHOST/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
- make -C $CHOST/libquadmath DESTDIR="$pkgdir" install-nodist_libsubincludeHEADERS
-- make -C $CHOST/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS
-- make -C $CHOST/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-- make -C $CHOST/libmpx DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-- make -C $CHOST/32/libcilkrts DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-- make -C $CHOST/32/libgomp DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-- make -C $CHOST/32/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-- make -C $CHOST/32/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS
-- make -C $CHOST/32/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-- make -C $CHOST/32/libmpx DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-+ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libgomp DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-
- make -C libiberty DESTDIR="$pkgdir" install
- install -m644 libiberty/pic/libiberty.a "$pkgdir/usr/lib"
-
- make -C gcc DESTDIR="$pkgdir" install-man install-info
-- rm "$pkgdir"/usr/share/man/man1/{gccgo,gfortran}.1
-- rm "$pkgdir"/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn}.info
-+ rm -f "$pkgdir"/usr/share/man/man1/{gccgo,gfortran}.1
-+ rm -f "$pkgdir"/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn}.info
-
- make -C libcpp DESTDIR="$pkgdir" install
- make -C gcc DESTDIR="$pkgdir" install-po
-@@ -244,16 +226,9 @@ package_gcc() {
- install -Dm755 "$srcdir/c89" "$pkgdir/usr/bin/c89"
- install -Dm755 "$srcdir/c99" "$pkgdir/usr/bin/c99"
-
-- # install the libstdc++ man pages
-- make -C $CHOST/libstdc++-v3/doc DESTDIR="$pkgdir" doc-install-man
--
- # remove files provided by lib32-gcc-libs
- rm -f "$pkgdir"/usr/lib32/lib{stdc++,gcc_s}.so
-
-- # byte-compile python libraries
-- python -m compileall "$pkgdir/usr/share/gcc-${pkgver%%+*}/"
-- python -O -m compileall "$pkgdir/usr/share/gcc-${pkgver%%+*}/"
--
- # Install Runtime Library Exception
- install -d "$pkgdir/usr/share/licenses/$pkgname/"
- ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \
-@@ -269,7 +244,7 @@ package_gcc-fortran() {
- cd gcc-build
- make -C $CHOST/libgfortran DESTDIR="$pkgdir" install-cafexeclibLTLIBRARIES \
- install-{toolexeclibDATA,nodist_fincludeHEADERS}
-- make -C $CHOST/32/libgfortran DESTDIR=$pkgdir install-cafexeclibLTLIBRARIES \
-+ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libgfortran DESTDIR=$pkgdir install-cafexeclibLTLIBRARIES \
- install-{toolexeclibDATA,nodist_fincludeHEADERS}
- make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_fincludeHEADERS
- make -C gcc DESTDIR="$pkgdir" fortran.install-{common,man,info}
---- /dev/null 2018-03-21 10:59:45.661284739 +0100
-+++ b/0001-pthread-reentrant.patch 2018-03-23 07:34:01.165189272 +0100
-@@ -0,0 +1,11 @@
-+--- trunk/gcc/config/riscv/linux.h 2018/01/03 10:03:58 256169
-++++ trunk/gcc/config/riscv/linux.h 2018/02/13 11:21:01 257621
-+@@ -47,6 +47,8 @@
-+
-+ #define ICACHE_FLUSH_FUNC "__riscv_flush_icache"
-+
-++#define CPP_SPEC "%{pthread:-D_REENTRANT}"
-++
-+ #define LINK_SPEC "\
-+ -melf" XLEN_SPEC "lriscv \
-+ %{shared} \
diff --git a/src/stage3/patches/bash-decross.patch b/src/stage3/patches/generic/bash-decross.patch
index 8bfb639..8bfb639 100644
--- a/src/stage3/patches/bash-decross.patch
+++ b/src/stage3/patches/generic/bash-decross.patch
diff --git a/src/stage3/patches/boost.patch b/src/stage3/patches/generic/boost.patch
index da60b61..da60b61 100644
--- a/src/stage3/patches/boost.patch
+++ b/src/stage3/patches/generic/boost.patch
diff --git a/src/stage3/patches/cairo.patch b/src/stage3/patches/generic/cairo.patch
index 5d5654c..5d5654c 100644
--- a/src/stage3/patches/cairo.patch
+++ b/src/stage3/patches/generic/cairo.patch
diff --git a/src/stage3/patches/cmake.patch b/src/stage3/patches/generic/cmake.patch
index 34df103..34df103 100644
--- a/src/stage3/patches/cmake.patch
+++ b/src/stage3/patches/generic/cmake.patch
diff --git a/src/stage3/patches/dbus.patch b/src/stage3/patches/generic/dbus.patch
index 331dff7..331dff7 100644
--- a/src/stage3/patches/dbus.patch
+++ b/src/stage3/patches/generic/dbus.patch
diff --git a/src/stage3/patches/fakeroot.patch b/src/stage3/patches/generic/fakeroot.patch
index 3c3aa89..3c3aa89 100644
--- a/src/stage3/patches/fakeroot.patch
+++ b/src/stage3/patches/generic/fakeroot.patch
diff --git a/src/stage3/patches/generic/gcc.patch b/src/stage3/patches/generic/gcc.patch
new file mode 100644
index 0000000..0b18745
--- /dev/null
+++ b/src/stage3/patches/generic/gcc.patch
@@ -0,0 +1,414 @@
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-05-22 07:55:24.952880476 +0200
++++ b/PKGBUILD 2018-05-22 08:05:15.696219707 +0200
+@@ -5,7 +5,8 @@
+ # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+ # NOTE: libtool requires rebuilt with each new gcc version
+
+-pkgname=(gcc gcc-libs gcc-fortran gcc-objc gcc-ada gcc-go lib32-gcc-libs)
++pkgname=(gcc gcc-libs gcc-fortran)
++[ "x@MULTILIB@" == "xdisable" ] || pkgname+=(lib32-gcc-libs)
+ pkgver=8.1.0
+ _majorver=${pkgver:0:1}
+ _islver=0.18
+@@ -14,13 +15,14 @@ pkgdesc='The GNU Compiler Collection'
+ arch=(x86_64)
+ license=(GPL LGPL FDL custom)
+ url='http://gcc.gnu.org'
+-makedepends=(binutils libmpc gcc-ada doxygen lib32-glibc lib32-gcc-libs python)
+-checkdepends=(dejagnu inetutils)
++makedepends=(binutils libmpc)
++[ "x@MULTILIB@" == "xdisable" ] || makedepends+=(lib32-glibc lib32-gcc-libs)
++checkdepends=(dejagnu)
+ options=(!emptydirs)
+ #source=(https://sources.archlinux.org/other/gcc/gcc-${pkgver/+/-}.tar.xz{,.sig}
+ source=(https://ftp.gnu.org/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.xz{,.sig}
+ http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2
+- c89 c99)
++ c89 c99 pure64.patch)
+ validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org
+ 13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com
+ 33C235A34C46AA3FFB293709A328C3A2C3C45C06) # Jakub Jelinek <jakub@redhat.com>
+@@ -28,7 +30,8 @@ sha256sums=('1d1866f992626e61349a1ccd0b8
+ 'SKIP'
+ '6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b'
+ 'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931'
+- '2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a')
++ '2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a'
++ 'ce8fd53670d34ab3a57a50d1f9b15a905c79bda611d447f52cd1612846682224')
+
+ _svnrev=259195
+ _svnurl=svn://gcc.gnu.org/svn/gcc/branches/gcc-${_majorver}-branch
+@@ -63,7 +66,7 @@ prepare() {
+ sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+
+ # Arch Linux installs x86_64 libraries /lib
+- sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
++ patch -Np1 -i "$srcdir"/pure64.patch
+
+ # hack! - some configure tests for header files using "$CPP $CPPFLAGS"
+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
+@@ -80,15 +83,16 @@ build() {
+ CXXFLAGS=${CXXFLAGS/-pipe/}
+
+ "$srcdir/gcc/configure" --prefix=/usr \
++ @GCC_CONFIG_FLAGS@ \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --with-bugurl=https://bugs.archlinux.org/ \
+- --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \
++ --enable-languages=c,c++,fortran,lto \
+ --enable-shared \
+ --enable-threads=posix \
+- --enable-libmpx \
++ --disable-libmpx \
+ --with-system-zlib \
+ --with-isl \
+ --enable-__cxa_atexit \
+@@ -103,16 +107,13 @@ build() {
+ --enable-install-libiberty \
+ --with-linker-hash-style=gnu \
+ --enable-gnu-indirect-function \
+- --enable-multilib \
++ --@MULTILIB@-multilib \
+ --disable-werror \
+ --enable-checking=release \
+ --enable-default-pie \
+ --enable-default-ssp
+
+ make
+-
+- # make documentation
+- make -C $CHOST/libstdc++-v3/doc doc-man-doxygen
+ }
+
+ check() {
+@@ -137,23 +138,16 @@ package_gcc-libs() {
+
+ for lib in libatomic \
+ libgfortran \
+- libgo \
+ libgomp \
+- libitm \
+ libquadmath \
+- libsanitizer/{a,l,ub,t}san \
+- libstdc++-v3/src \
+- libvtv; do
++ libstdc++-v3/src; do
+ make -C $CHOST/$lib DESTDIR="$pkgdir" install-toolexeclibLTLIBRARIES
+ done
+
+- make -C $CHOST/libobjc DESTDIR="$pkgdir" install-libs
+ make -C $CHOST/libstdc++-v3/po DESTDIR="$pkgdir" install
+- make -C $CHOST/libmpx DESTDIR="$pkgdir" install
+ rm -f "$pkgdir/usr/lib/libmpx.spec"
+
+ for lib in libgomp \
+- libitm \
+ libquadmath; do
+ make -C $CHOST/$lib DESTDIR="$pkgdir" install-info
+ done
+@@ -184,22 +178,18 @@ package_gcc() {
+ install -m755 -t "$pkgdir/${_libdir}/" gcc/{cc1,cc1plus,collect2,lto1}
+
+ make -C $CHOST/libgcc DESTDIR="$pkgdir" install
+- make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install
++ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install
+ rm -f "$pkgdir"/usr/lib{,32}/libgcc_s.so*
+
+ make -C $CHOST/libstdc++-v3/src DESTDIR="$pkgdir" install
+ make -C $CHOST/libstdc++-v3/include DESTDIR="$pkgdir" install
+ make -C $CHOST/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install
+- make -C $CHOST/libstdc++-v3/python DESTDIR="$pkgdir" install
+- make -C $CHOST/32/libstdc++-v3/src DESTDIR="$pkgdir" install
+- make -C $CHOST/32/libstdc++-v3/include DESTDIR="$pkgdir" install
+- make -C $CHOST/32/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install
++ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libstdc++-v3/src DESTDIR="$pkgdir" install
++ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libstdc++-v3/include DESTDIR="$pkgdir" install
++ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install
+
+ make DESTDIR="$pkgdir" install-libcc1
+- install -d "$pkgdir/usr/share/gdb/auto-load/usr/lib"
+- mv "$pkgdir"/usr/lib/libstdc++.so.6.*-gdb.py \
+- "$pkgdir/usr/share/gdb/auto-load/usr/lib/"
+- rm "$pkgdir"/usr/lib{,32}/libstdc++.so*
++ rm -f "$pkgdir"/usr/lib{,32}/libstdc++.so*
+
+ make DESTDIR="$pkgdir" install-fixincludes
+ make -C gcc DESTDIR="$pkgdir" install-mkheaders
+@@ -210,23 +200,15 @@ package_gcc() {
+ "$pkgdir/usr/lib/bfd-plugins/"
+
+ make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_{libsubinclude,toolexeclib}HEADERS
+- make -C $CHOST/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+ make -C $CHOST/libquadmath DESTDIR="$pkgdir" install-nodist_libsubincludeHEADERS
+- make -C $CHOST/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS
+- make -C $CHOST/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+- make -C $CHOST/libmpx DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+- make -C $CHOST/32/libgomp DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+- make -C $CHOST/32/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+- make -C $CHOST/32/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS
+- make -C $CHOST/32/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+- make -C $CHOST/32/libmpx DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
++ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libgomp DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+
+ make -C libiberty DESTDIR="$pkgdir" install
+ install -m644 libiberty/pic/libiberty.a "$pkgdir/usr/lib"
+
+ make -C gcc DESTDIR="$pkgdir" install-man install-info
+- rm "$pkgdir"/usr/share/man/man1/{gccgo,gfortran}.1
+- rm "$pkgdir"/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn}.info
++ rm -f "$pkgdir"/usr/share/man/man1/{gccgo,gfortran}.1
++ rm -f "$pkgdir"/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn}.info
+
+ make -C libcpp DESTDIR="$pkgdir" install
+ make -C gcc DESTDIR="$pkgdir" install-po
+@@ -238,16 +220,9 @@ package_gcc() {
+ install -Dm755 "$srcdir/c89" "$pkgdir/usr/bin/c89"
+ install -Dm755 "$srcdir/c99" "$pkgdir/usr/bin/c99"
+
+- # install the libstdc++ man pages
+- make -C $CHOST/libstdc++-v3/doc DESTDIR="$pkgdir" doc-install-man
+-
+ # remove files provided by lib32-gcc-libs
+ rm -f "$pkgdir"/usr/lib32/lib{stdc++,gcc_s}.so
+
+- # byte-compile python libraries
+- python -m compileall "$pkgdir/usr/share/gcc-${pkgver%%+*}/"
+- python -O -m compileall "$pkgdir/usr/share/gcc-${pkgver%%+*}/"
+-
+ # Install Runtime Library Exception
+ install -d "$pkgdir/usr/share/licenses/$pkgname/"
+ ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \
+@@ -263,7 +238,7 @@ package_gcc-fortran() {
+ cd gcc-build
+ make -C $CHOST/libgfortran DESTDIR="$pkgdir" install-cafexeclibLTLIBRARIES \
+ install-{toolexeclibDATA,nodist_fincludeHEADERS}
+- make -C $CHOST/32/libgfortran DESTDIR=$pkgdir install-cafexeclibLTLIBRARIES \
++ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libgfortran DESTDIR=$pkgdir install-cafexeclibLTLIBRARIES \
+ install-{toolexeclibDATA,nodist_fincludeHEADERS}
+ make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_fincludeHEADERS
+ make -C gcc DESTDIR="$pkgdir" fortran.install-{common,man,info}
+diff -rupN a/pure64.patch b/pure64.patch
+--- a/pure64.patch 1970-01-01 01:00:00.000000000 +0100
++++ b/pure64.patch 2018-05-22 08:05:15.702886374 +0200
+@@ -0,0 +1,217 @@
++Submitted By: William Harrington <kb0iic at cross-lfs dot org>
++Date: 05-13-2017
++Initial Package Version: 6.1.0
++Origin: Idea originally developed by Ryan Oliver and Greg Schafer for
++ the Pure LFS project with help from
++ Martin Ward and Chris Staub
++Upstream Status: Not Applied - CLFS Specific
++Description: This patch makes changes to the paths for pure64, eg 64bit libs
++ in /usr/lib, 32bit in /usr/lib32.
++Comment: Rediffed for 7.1.0
++
++tweaked for powerpc64le gcc 8.1.0
++
++diff -rupN gcc-8.1.0.old/gcc/config/i386/linux64.h gcc-8.1.0/gcc/config/i386/linux64.h
++--- gcc-8.1.0.old/gcc/config/i386/linux64.h 2018-05-21 12:04:55.942167767 +0200
+++++ gcc-8.1.0/gcc/config/i386/linux64.h 2018-05-21 12:05:08.352167891 +0200
++@@ -27,8 +27,8 @@ see the files COPYING3 and COPYING.RUNTI
++ #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
++ #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
++
++-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
++-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
+++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
+++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
++ #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
++
++ #undef MUSL_DYNAMIC_LINKER32
++diff -rupN gcc-8.1.0.old/gcc/config/i386/t-linux64 gcc-8.1.0/gcc/config/i386/t-linux64
++--- gcc-8.1.0.old/gcc/config/i386/t-linux64 2018-05-21 12:04:55.945501101 +0200
+++++ gcc-8.1.0/gcc/config/i386/t-linux64 2018-05-21 12:05:08.445501226 +0200
++@@ -33,6 +33,6 @@
++ comma=,
++ MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
++ MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
++-MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
++-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
+++MULTILIB_OSDIRNAMES = m64=../lib$(call if_multiarch,:x86_64-linux-gnu)
+++MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call if_multiarch,:i386-linux-gnu)
++ MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
++diff -rupN gcc-8.1.0.old/gcc/config/linux.h gcc-8.1.0/gcc/config/linux.h
++--- gcc-8.1.0.old/gcc/config/linux.h 2018-05-21 12:04:55.928834434 +0200
+++++ gcc-8.1.0/gcc/config/linux.h 2018-05-21 12:05:08.445501226 +0200
++@@ -82,7 +82,7 @@ see the files COPYING3 and COPYING.RUNTI
++ GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
++ supporting both 32-bit and 64-bit compilation. */
++ #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
+++#define UCLIBC_DYNAMIC_LINKER32 "/lib32/ld-uClibc.so.0"
++ #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
++ #define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0"
++ #define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
++diff -rupN gcc-8.1.0.old/gcc/config/mips/t-linux64 gcc-8.1.0/gcc/config/mips/t-linux64
++--- gcc-8.1.0.old/gcc/config/mips/t-linux64 2018-05-21 12:04:55.918834435 +0200
+++++ gcc-8.1.0/gcc/config/mips/t-linux64 2018-05-21 12:05:08.445501226 +0200
++@@ -22,5 +22,5 @@ MIPS_EL = $(if $(filter %el, $(firstword
++ MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
++ MULTILIB_OSDIRNAMES = \
++ ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
++- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
++- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
+++ ../lib32$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
+++ ../lib$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
++diff -rupN gcc-8.1.0.old/gcc/config/rs6000/linux64.h gcc-8.1.0/gcc/config/rs6000/linux64.h
++--- gcc-8.1.0.old/gcc/config/rs6000/linux64.h 2018-05-21 12:04:55.972167768 +0200
+++++ gcc-8.1.0/gcc/config/rs6000/linux64.h 2018-05-21 12:05:08.445501226 +0200
++@@ -420,16 +420,16 @@ extern int dot_symbols;
++ #undef LINK_OS_DEFAULT_SPEC
++ #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
++
++-#define GLIBC_DYNAMIC_LINKER32 "%(dynamic_linker_prefix)/lib/ld.so.1"
+++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld.so.1"
++
++ #ifdef LINUX64_DEFAULT_ABI_ELFv2
++ #define GLIBC_DYNAMIC_LINKER64 \
++-"%{mabi=elfv1:%(dynamic_linker_prefix)/lib64/ld64.so.1;" \
++-":%(dynamic_linker_prefix)/lib64/ld64.so.2}"
+++"%{mabi=elfv1:/lib/ld64.so.1;" \
+++":/lib/ld64.so.2}"
++ #else
++ #define GLIBC_DYNAMIC_LINKER64 \
++-"%{mabi=elfv2:%(dynamic_linker_prefix)/lib64/ld64.so.2;" \
++-":%(dynamic_linker_prefix)/lib64/ld64.so.1}"
+++"%{mabi=elfv2:/lib/ld64.so.2;" \
+++":/lib/ld64.so.1}"
++ #endif
++
++ #define MUSL_DYNAMIC_LINKER32 \
++@@ -437,7 +437,7 @@ extern int dot_symbols;
++ #define MUSL_DYNAMIC_LINKER64 \
++ "/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
++
++-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
+++#define UCLIBC_DYNAMIC_LINKER32 "/lib32/ld-uClibc.so.0"
++ #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
++ #if DEFAULT_LIBC == LIBC_UCLIBC
++ #define CHOOSE_DYNAMIC_LINKER(G, U, M) \
++diff -rupN gcc-8.1.0.old/gcc/config/rs6000/t-ldouble-linux64le-ibm gcc-8.1.0/gcc/config/rs6000/t-ldouble-linux64le-ibm
++--- gcc-8.1.0.old/gcc/config/rs6000/t-ldouble-linux64le-ibm 2018-05-21 12:04:55.975501102 +0200
+++++ gcc-8.1.0/gcc/config/rs6000/t-ldouble-linux64le-ibm 2018-05-21 12:17:02.082175008 +0200
++@@ -21,6 +21,6 @@
++
++ MULTILIB_OPTIONS += mabi=ieeelongdouble/mabi=ibmlongdouble
++ MULTILIB_DIRNAMES += ieee128 ibm128
++-MULTILIB_OSDIRNAMES += mabi.ibmlongdouble=../lib64$(call if_multiarch,:powerpc64-linux-gnu) \
++- mabi.ieeelongdouble=../lib64/ieee128$(call if_multiarch,:powerpc64-linux-gnu) \
++- ../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+++MULTILIB_OSDIRNAMES += mabi.ibmlongdouble=../lib$(call if_multiarch,:powerpc64-linux-gnu) \
+++ mabi.ieeelongdouble=../lib/ieee128$(call if_multiarch,:powerpc64-linux-gnu) \
+++ ../lib$(call if_multiarch,:powerpc64-linux-gnu)
++diff -rupN gcc-8.1.0.old/gcc/config/rs6000/t-ldouble-linux64le-ieee gcc-8.1.0/gcc/config/rs6000/t-ldouble-linux64le-ieee
++--- gcc-8.1.0.old/gcc/config/rs6000/t-ldouble-linux64le-ieee 2018-05-21 12:04:55.972167768 +0200
+++++ gcc-8.1.0/gcc/config/rs6000/t-ldouble-linux64le-ieee 2018-05-21 12:17:02.082175008 +0200
++@@ -21,6 +21,6 @@
++
++ MULTILIB_OPTIONS += mabi=ieeelongdouble/mabi=ibmlongdouble
++ MULTILIB_DIRNAMES += ieee128 ibm128
++-MULTILIB_OSDIRNAMES += mabi.ibmlongdouble=../lib64/ibm128$(call if_multiarch,:powerpc64-linux-gnu) \
++- mabi.ieeelongdouble=../lib64$(call if_multiarch,:powerpc64-linux-gnu) \
++- ../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+++MULTILIB_OSDIRNAMES += mabi.ibmlongdouble=../lib/ibm128$(call if_multiarch,:powerpc64-linux-gnu) \
+++ mabi.ieeelongdouble=../lib$(call if_multiarch,:powerpc64-linux-gnu) \
+++ ../lib$(call if_multiarch,:powerpc64-linux-gnu)
++diff -rupN gcc-8.1.0.old/gcc/config/rs6000/t-linux gcc-8.1.0/gcc/config/rs6000/t-linux
++--- gcc-8.1.0.old/gcc/config/rs6000/t-linux 2018-05-21 12:04:55.972167768 +0200
+++++ gcc-8.1.0/gcc/config/rs6000/t-linux 2018-05-21 12:17:02.082175008 +0200
++@@ -2,7 +2,7 @@
++ # or soft-float.
++ ifeq (,$(filter $(with_cpu),$(SOFT_FLOAT_CPUS))$(findstring soft,$(with_float)))
++ ifneq (,$(findstring powerpc64,$(target)))
++-MULTILIB_OSDIRNAMES := .=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+++MULTILIB_OSDIRNAMES := .=../lib$(call if_multiarch,:powerpc64-linux-gnu)
++ else
++ MULTIARCH_DIRNAME := powerpc-linux-gnu
++ endif
++diff -rupN gcc-8.1.0.old/gcc/config/rs6000/t-linux64 gcc-8.1.0/gcc/config/rs6000/t-linux64
++--- gcc-8.1.0.old/gcc/config/rs6000/t-linux64 2018-05-21 12:04:55.972167768 +0200
+++++ gcc-8.1.0/gcc/config/rs6000/t-linux64 2018-05-21 12:17:02.082175008 +0200
++@@ -28,8 +28,8 @@
++ MULTILIB_OPTIONS := m64/m32
++ MULTILIB_DIRNAMES := 64 32
++ MULTILIB_EXTRA_OPTS :=
++-MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
++-MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
+++MULTILIB_OSDIRNAMES := m64=../lib$(call if_multiarch,:powerpc64-linux-gnu)
+++MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call if_multiarch,:powerpc-linux-gnu)
++
++ rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
++ $(COMPILE) $<
++diff -rupN gcc-8.1.0.old/gcc/config/s390/linux.h gcc-8.1.0/gcc/config/s390/linux.h
++--- gcc-8.1.0.old/gcc/config/s390/linux.h 2018-05-21 12:04:55.938834435 +0200
+++++ gcc-8.1.0/gcc/config/s390/linux.h 2018-05-21 12:05:08.445501226 +0200
++@@ -73,7 +73,7 @@ along with GCC; see the file COPYING3.
++ #define MULTILIB_DEFAULTS { "m31" }
++ #endif
++
++-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
+++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld.so.1"
++ #define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1"
++
++ #undef LINK_SPEC
++diff -rupN gcc-8.1.0.old/gcc/config/s390/t-linux64 gcc-8.1.0/gcc/config/s390/t-linux64
++--- gcc-8.1.0.old/gcc/config/s390/t-linux64 2018-05-21 12:04:55.938834435 +0200
+++++ gcc-8.1.0/gcc/config/s390/t-linux64 2018-05-21 12:05:08.445501226 +0200
++@@ -7,5 +7,5 @@
++
++ MULTILIB_OPTIONS = m64/m31
++ MULTILIB_DIRNAMES = 64 32
++-MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:s390x-linux-gnu)
++-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:s390-linux-gnu)
+++MULTILIB_OSDIRNAMES = ../lib$(call if_multiarch,:s390x-linux-gnu)
+++MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call if_multiarch,:s390-linux-gnu)
++diff -rupN gcc-8.1.0.old/gcc/config/sparc/linux64.h gcc-8.1.0/gcc/config/sparc/linux64.h
++--- gcc-8.1.0.old/gcc/config/sparc/linux64.h 2018-05-21 12:04:55.948834435 +0200
+++++ gcc-8.1.0/gcc/config/sparc/linux64.h 2018-05-21 12:05:08.445501226 +0200
++@@ -84,8 +84,8 @@ along with GCC; see the file COPYING3.
++ When the -shared link option is used a final link is not being
++ done. */
++
++-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
++-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
+++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
+++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux.so.2"
++
++ #ifdef SPARC_BI_ARCH
++
++@@ -213,7 +213,7 @@ extern const char *host_detect_local_cpu
++ #else /* !SPARC_BI_ARCH */
++
++ #undef LINK_SPEC
++-#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
+++#define LINK_SPEC "-m elf64_sparc -Y P,%R/lib %{shared:-shared} \
++ %{!shared: \
++ %{!static: \
++ %{rdynamic:-export-dynamic} \
++diff -rupN gcc-8.1.0.old/gcc/config/sparc/linux.h gcc-8.1.0/gcc/config/sparc/linux.h
++--- gcc-8.1.0.old/gcc/config/sparc/linux.h 2018-05-21 12:04:55.952167768 +0200
+++++ gcc-8.1.0/gcc/config/sparc/linux.h 2018-05-21 12:05:08.445501226 +0200
++@@ -83,7 +83,7 @@ extern const char *host_detect_local_cpu
++ When the -shared link option is used a final link is not being
++ done. */
++
++-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+++#define GLIBC_DYNAMIC_LINKER "/lib32/ld-linux.so.2"
++
++ #undef LINK_SPEC
++ #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
++diff -rupN gcc-8.1.0.old/gcc/config/sparc/t-linux64 gcc-8.1.0/gcc/config/sparc/t-linux64
++--- gcc-8.1.0.old/gcc/config/sparc/t-linux64 2018-05-21 12:04:55.948834435 +0200
+++++ gcc-8.1.0/gcc/config/sparc/t-linux64 2018-05-21 12:05:08.445501226 +0200
++@@ -25,5 +25,5 @@
++
++ MULTILIB_OPTIONS = m64/m32
++ MULTILIB_DIRNAMES = 64 32
++-MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:sparc64-linux-gnu)
++-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:sparc-linux-gnu)
+++MULTILIB_OSDIRNAMES = ../lib$(call if_multiarch,:sparc64-linux-gnu)
+++MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call if_multiarch,:sparc-linux-gnu)
diff --git a/src/stage3/patches/git.patch b/src/stage3/patches/generic/git.patch
index e2e9c8a..e2e9c8a 100644
--- a/src/stage3/patches/git.patch
+++ b/src/stage3/patches/generic/git.patch
diff --git a/src/stage3/patches/glib2.patch b/src/stage3/patches/generic/glib2.patch
index 82f511b..82f511b 100644
--- a/src/stage3/patches/glib2.patch
+++ b/src/stage3/patches/generic/glib2.patch
diff --git a/src/stage3/patches/glibc.patch b/src/stage3/patches/generic/glibc.patch
index 5db3721..5db3721 100644
--- a/src/stage3/patches/glibc.patch
+++ b/src/stage3/patches/generic/glibc.patch
diff --git a/src/stage3/patches/gnupg.patch b/src/stage3/patches/generic/gnupg.patch
index 7db079f..7db079f 100644
--- a/src/stage3/patches/gnupg.patch
+++ b/src/stage3/patches/generic/gnupg.patch
diff --git a/src/stage3/patches/gobject-introspection.patch b/src/stage3/patches/generic/gobject-introspection.patch
index 9bec5a1..9bec5a1 100644
--- a/src/stage3/patches/gobject-introspection.patch
+++ b/src/stage3/patches/generic/gobject-introspection.patch
diff --git a/src/stage3/patches/gpgme.patch b/src/stage3/patches/generic/gpgme.patch
index 14cc92e..14cc92e 100644
--- a/src/stage3/patches/gpgme.patch
+++ b/src/stage3/patches/generic/gpgme.patch
diff --git a/src/stage3/patches/groff.patch b/src/stage3/patches/generic/groff.patch
index 8b77bdd..8b77bdd 100644
--- a/src/stage3/patches/groff.patch
+++ b/src/stage3/patches/generic/groff.patch
diff --git a/src/stage3/patches/hwloc.patch b/src/stage3/patches/generic/hwloc.patch
index 69b035b..69b035b 100644
--- a/src/stage3/patches/hwloc.patch
+++ b/src/stage3/patches/generic/hwloc.patch
diff --git a/src/stage3/patches/ijs.patch b/src/stage3/patches/generic/ijs.patch
index 5d2ffd3..5d2ffd3 100644
--- a/src/stage3/patches/ijs.patch
+++ b/src/stage3/patches/generic/ijs.patch
diff --git a/src/stage3/patches/jsoncpp.patch b/src/stage3/patches/generic/jsoncpp.patch
index 30b317f..30b317f 100644
--- a/src/stage3/patches/jsoncpp.patch
+++ b/src/stage3/patches/generic/jsoncpp.patch
diff --git a/src/stage3/patches/kbd.patch b/src/stage3/patches/generic/kbd.patch
index a96b153..a96b153 100644
--- a/src/stage3/patches/kbd.patch
+++ b/src/stage3/patches/generic/kbd.patch
diff --git a/src/stage3/patches/kmod.patch b/src/stage3/patches/generic/kmod.patch
index 987d991..987d991 100644
--- a/src/stage3/patches/kmod.patch
+++ b/src/stage3/patches/generic/kmod.patch
diff --git a/src/stage3/patches/lapack.patch b/src/stage3/patches/generic/lapack.patch
index 777be87..777be87 100644
--- a/src/stage3/patches/lapack.patch
+++ b/src/stage3/patches/generic/lapack.patch
diff --git a/src/stage3/patches/libidn2.patch b/src/stage3/patches/generic/libidn2.patch
index 5a3be82..5a3be82 100644
--- a/src/stage3/patches/libidn2.patch
+++ b/src/stage3/patches/generic/libidn2.patch
diff --git a/src/stage3/patches/libjpeg-turbo.patch b/src/stage3/patches/generic/libjpeg-turbo.patch
index 79d3930..79d3930 100644
--- a/src/stage3/patches/libjpeg-turbo.patch
+++ b/src/stage3/patches/generic/libjpeg-turbo.patch
diff --git a/src/stage3/patches/libpcap.patch b/src/stage3/patches/generic/libpcap.patch
index 0316c31..0316c31 100644
--- a/src/stage3/patches/libpcap.patch
+++ b/src/stage3/patches/generic/libpcap.patch
diff --git a/src/stage3/patches/libpsl.patch b/src/stage3/patches/generic/libpsl.patch
index 587d728..587d728 100644
--- a/src/stage3/patches/libpsl.patch
+++ b/src/stage3/patches/generic/libpsl.patch
diff --git a/src/stage3/patches/libsasl.patch b/src/stage3/patches/generic/libsasl.patch
index 58ac0fe..58ac0fe 100644
--- a/src/stage3/patches/libsasl.patch
+++ b/src/stage3/patches/generic/libsasl.patch
diff --git a/src/stage3/patches/libsecret.patch b/src/stage3/patches/generic/libsecret.patch
index e617161..e617161 100644
--- a/src/stage3/patches/libsecret.patch
+++ b/src/stage3/patches/generic/libsecret.patch
diff --git a/src/stage3/patches/libtiff.patch b/src/stage3/patches/generic/libtiff.patch
index 42e7893..42e7893 100644
--- a/src/stage3/patches/libtiff.patch
+++ b/src/stage3/patches/generic/libtiff.patch
diff --git a/src/stage3/patches/libtool.patch b/src/stage3/patches/generic/libtool.patch
index 09aebee..09aebee 100644
--- a/src/stage3/patches/libtool.patch
+++ b/src/stage3/patches/generic/libtool.patch
diff --git a/src/stage3/patches/libuv.patch b/src/stage3/patches/generic/libuv.patch
index 56f7e72..56f7e72 100644
--- a/src/stage3/patches/libuv.patch
+++ b/src/stage3/patches/generic/libuv.patch
diff --git a/src/stage3/patches/lvm2.patch b/src/stage3/patches/generic/lvm2.patch
index 85c8b0e..85c8b0e 100644
--- a/src/stage3/patches/lvm2.patch
+++ b/src/stage3/patches/generic/lvm2.patch
diff --git a/src/stage3/patches/make-decross.patch b/src/stage3/patches/generic/make-decross.patch
index 627c263..627c263 100644
--- a/src/stage3/patches/make-decross.patch
+++ b/src/stage3/patches/generic/make-decross.patch
diff --git a/src/stage3/patches/make.patch b/src/stage3/patches/generic/make.patch
index 4f7b0f0..4f7b0f0 100644
--- a/src/stage3/patches/make.patch
+++ b/src/stage3/patches/generic/make.patch
diff --git a/src/stage3/patches/ninja.patch b/src/stage3/patches/generic/ninja.patch
index e47bdc9..e47bdc9 100644
--- a/src/stage3/patches/ninja.patch
+++ b/src/stage3/patches/generic/ninja.patch
diff --git a/src/stage3/patches/openldap.patch b/src/stage3/patches/generic/openldap.patch
index 1a37a0b..1a37a0b 100644
--- a/src/stage3/patches/openldap.patch
+++ b/src/stage3/patches/generic/openldap.patch
diff --git a/src/stage3/patches/openmpi.patch b/src/stage3/patches/generic/openmpi.patch
index 0e8956b..0e8956b 100644
--- a/src/stage3/patches/openmpi.patch
+++ b/src/stage3/patches/generic/openmpi.patch
diff --git a/src/stage3/patches/openssh.patch b/src/stage3/patches/generic/openssh.patch
index cca4a87..cca4a87 100644
--- a/src/stage3/patches/openssh.patch
+++ b/src/stage3/patches/generic/openssh.patch
diff --git a/src/stage3/patches/p11-kit.patch b/src/stage3/patches/generic/p11-kit.patch
index bbf67ea..bbf67ea 100644
--- a/src/stage3/patches/p11-kit.patch
+++ b/src/stage3/patches/generic/p11-kit.patch
diff --git a/src/stage3/patches/pam.patch b/src/stage3/patches/generic/pam.patch
index 17ddc16..17ddc16 100644
--- a/src/stage3/patches/pam.patch
+++ b/src/stage3/patches/generic/pam.patch
diff --git a/src/stage3/patches/pinentry.patch b/src/stage3/patches/generic/pinentry.patch
index 47cc023..47cc023 100644
--- a/src/stage3/patches/pinentry.patch
+++ b/src/stage3/patches/generic/pinentry.patch
diff --git a/src/stage3/patches/python-lxml.patch b/src/stage3/patches/generic/python-lxml.patch
index e9103e4..e9103e4 100644
--- a/src/stage3/patches/python-lxml.patch
+++ b/src/stage3/patches/generic/python-lxml.patch
diff --git a/src/stage3/patches/generic/python-numpy.patch b/src/stage3/patches/generic/python-numpy.patch
new file mode 100644
index 0000000..273ca76
--- /dev/null
+++ b/src/stage3/patches/generic/python-numpy.patch
@@ -0,0 +1,11 @@
+--- a/PKGBUILD 2018-03-17 17:57:14.313844109 +0100
++++ b/PKGBUILD 2018-03-17 18:03:26.310554392 +0100
+@@ -13,7 +13,7 @@ arch=('x86_64')
+ license=('custom')
+ url="http://www.numpy.org/"
+ makedepends=('cblas' 'lapack' 'python' 'python2' 'python-setuptools' 'python2-setuptools' 'gcc-fortran'
+- 'python-nose' 'python2-nose' 'cython' 'cython2')
++ 'cython' 'cython2')
+ options=('staticlibs')
+ source=("$pkgbase-$pkgver.tar.gz::https://github.com/numpy/numpy/archive/v$pkgver.tar.gz" 'site.cfg')
+ sha512sums=('65b10462011e033669b700f0688df2e8630a097323fc7d72e71549fdfc2258546fe6f1317e0d51e1a0c9ab86451e0998ccbc7daa9af690652a96034571d5b76b'
diff --git a/src/stage3/patches/python.patch b/src/stage3/patches/generic/python.patch
index 6907f42..6907f42 100644
--- a/src/stage3/patches/python.patch
+++ b/src/stage3/patches/generic/python.patch
diff --git a/src/stage3/patches/python2.patch b/src/stage3/patches/generic/python2.patch
index d0b17f4..d0b17f4 100644
--- a/src/stage3/patches/python2.patch
+++ b/src/stage3/patches/generic/python2.patch
diff --git a/src/stage3/patches/source-highlight.patch b/src/stage3/patches/generic/source-highlight.patch
index 2eec78a..2eec78a 100644
--- a/src/stage3/patches/source-highlight.patch
+++ b/src/stage3/patches/generic/source-highlight.patch
diff --git a/src/stage3/patches/sqlite.patch b/src/stage3/patches/generic/sqlite.patch
index 9b8a670..9b8a670 100644
--- a/src/stage3/patches/sqlite.patch
+++ b/src/stage3/patches/generic/sqlite.patch
diff --git a/src/stage3/patches/systemd.patch b/src/stage3/patches/generic/systemd.patch
index 62177a6..62177a6 100644
--- a/src/stage3/patches/systemd.patch
+++ b/src/stage3/patches/generic/systemd.patch
diff --git a/src/stage3/patches/util-linux.patch b/src/stage3/patches/generic/util-linux.patch
index d4b0bc1..d4b0bc1 100644
--- a/src/stage3/patches/util-linux.patch
+++ b/src/stage3/patches/generic/util-linux.patch
diff --git a/src/stage3/patches/xz.patch b/src/stage3/patches/generic/xz.patch
index bf330c6..bf330c6 100644
--- a/src/stage3/patches/xz.patch
+++ b/src/stage3/patches/generic/xz.patch
diff --git a/src/stage3/patches/powerpc64le/filesystem.patch b/src/stage3/patches/powerpc64le/filesystem.patch
new file mode 100644
index 0000000..a58c599
--- /dev/null
+++ b/src/stage3/patches/powerpc64le/filesystem.patch
@@ -0,0 +1,13 @@
+--- a/PKGBUILD 2018-02-20 22:53:28.088939649 +0100
++++ b/PKGBUILD 2018-02-21 10:12:21.862501784 +0100
+@@ -103,6 +103,10 @@ package() {
+ ln -s usr/lib lib64
+ ln -s lib usr/lib64
+ }
++ [[ $CARCH = 'powerpc64le' ]] && {
++ ln -s usr/lib lib64
++ ln -s lib usr/lib64
++ }
+
+ # add bin symlinks
+ ln -s usr/bin bin
diff --git a/src/stage3/patches/powerpc64le/openssl.patch b/src/stage3/patches/powerpc64le/openssl.patch
new file mode 100644
index 0000000..d1ea8aa
--- /dev/null
+++ b/src/stage3/patches/powerpc64le/openssl.patch
@@ -0,0 +1,18 @@
+--- a/PKGBUILD 2018-03-09 17:08:56.091685853 +0100
++++ b/PKGBUILD 2018-03-09 17:30:15.538077499 +0100
+@@ -38,11 +38,14 @@ build() {
+ elif [ "${CARCH}" == 'i686' ]; then
+ openssltarget='linux-elf'
+ optflags=''
++ elif [ "${CARCH}" == 'powerpc64le' ]; then
++ openssltarget='linux-elf'
++ optflags=''
+ fi
+
+ # mark stack as non-executable: http://bugs.archlinux.org/task/12434
+ ./Configure --prefix=/usr --openssldir=/etc/ssl --libdir=lib \
+- shared no-ssl3-method ${optflags} \
++ shared no-ssl3-method no-asm ${optflags} \
+ "${openssltarget}" \
+ "-Wa,--noexecstack ${CPPFLAGS} ${CFLAGS} ${LDFLAGS}"
+
diff --git a/src/stage3/patches/powerpc64le/pacman.patch b/src/stage3/patches/powerpc64le/pacman.patch
new file mode 100644
index 0000000..a60d681
--- /dev/null
+++ b/src/stage3/patches/powerpc64le/pacman.patch
@@ -0,0 +1,164 @@
+--- a/PKGBUILD 2018-03-17 22:43:27.776000901 +0100
++++ b/PKGBUILD 2018-03-17 22:45:57.506623741 +0100
+@@ -20,8 +20,7 @@ groups=('base' 'base-devel' 'base-openrc
+ depends=('bash' 'glibc' 'libarchive' 'curl' 'gpgme'
+ 'pacman-mirrorlist' 'archlinux-keyring' 'parabola-keyring'
+ 'archlinuxarm-keyring' 'archlinux32-keyring')
+-makedepends=('asciidoc')
+-makedepends+=('openssl>=1.1' 'openssl-1.0') # for during openssl 1.0->1.1 rebuild; remove on next rebuild
++makedepends+=('openssl>=1.1')
+ checkdepends=('python2' 'fakechroot')
+ optdepends=('cron: run specified programs at scheduled times and related tools')
+ provides=("$pkgname-contrib")
+@@ -45,6 +43,7 @@ sha256sums=('dfd36086ad68564bcd977f4a1fa
+ '19853ea9a2138157bbb334eb7f3a9b3098b88e513678b54b7b4f19d2ffd6ecad'
+ '1b2c8f4ec84d0dc496516880a54b5e4deb78798618c9cf5e284a45303f156e58'
+ 'b2cb3ba229edba338c0af7d7f5bb1a6ef6143bcd453c693bfee0c02fa1cfa18a'
++ '19853ea9a2138157bbb334eb7f3a9b3098b88e513678b54b7b4f19d2ffd6ecad'
+ '0d174c7c47921cfbb35dacb9d099095e78f6f67bfaa86836a3e588552f14ed03'
+ '1df848c5038a3f81ae4dc79a4072d340109b02f56292a5c4a20c59f735edd2b3'
+ '1cc4af1cf8e2133d4520827cc7d3ffad731892595f8e699909002d2e40ad8df9'
+@@ -71,7 +70,7 @@ build() {
+ cd "$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --sysconfdir=/etc \
+- --localstatedir=/var --enable-doc \
++ --localstatedir=/var --disable-doc \
+ --with-scriptlet-shell=/usr/bin/bash \
+ --with-ldconfig=/usr/bin/ldconfig
+ make V=1
+@@ -96,6 +95,11 @@ build() {
+ mychost="armv7l-unknown-linux-gnueabihf"
+ myflags="-march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -O2 -pipe -fstack-protector-strong -fno-plt"
+ ;;
++ @CARCH@)
++ mycarch="@CARCH@"
++ mychost="@CHOST@"
++ myflags="@PLATFORM_FLAGS@ -O2 -pipe -fstack-protector-strong -fno-plt"
++ ;;
+ esac
+ myldflags="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
+
+--- /dev/null 2018-03-05 07:42:50.020223709 +0100
++++ b/pacman.conf.powerpc64le 2018-03-17 22:43:27.778000923 +0100
+@@ -0,0 +1,120 @@
++#
++# /etc/pacman.conf
++#
++# See the pacman.conf(5) manpage for option and repository directives
++
++#
++# GENERAL OPTIONS
++#
++[options]
++# The following paths are commented out with their default values listed.
++# If you wish to use different paths, uncomment and update the paths.
++#RootDir = /
++#DBPath = /var/lib/pacman/
++#CacheDir = /var/cache/pacman/pkg/
++#LogFile = /var/log/pacman.log
++#GPGDir = /etc/pacman.d/gnupg/
++#HookDir = /etc/pacman.d/hooks/
++HoldPkg = pacman glibc
++#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
++#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
++#CleanMethod = KeepInstalled
++#UseDelta = 0.7
++Architecture = auto
++
++# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
++#IgnorePkg =
++#IgnoreGroup =
++
++#NoUpgrade =
++#NoExtract =
++
++# Misc options
++#UseSyslog
++#Color
++#TotalDownload
++CheckSpace
++#VerbosePkgLists
++
++# By default, pacman accepts packages signed by keys that its local keyring
++# trusts (see pacman-key and its man page), as well as unsigned packages.
++SigLevel = Required DatabaseOptional
++LocalFileSigLevel = Optional
++#RemoteFileSigLevel = Required
++
++# NOTE: You must run `pacman-key --init` before first using pacman; the local
++# keyring can then be populated with the keys of all Arch/Parabola packagers
++# with `pacman-key --populate archlinux` and `pacman-key --populate parabola`.
++
++#
++# REPOSITORIES
++# - can be defined here or included from another file
++# - pacman will search repositories in the order defined here
++# - local/custom mirrors can be added here or in separate files
++# - repositories listed first will take precedence when packages
++# have identical names, regardless of version number
++# - URLs will have $repo replaced by the name of the current repo
++# - URLs will have $arch replaced by the name of the architecture
++#
++# Repository entries are of the format:
++# [repo-name]
++# Server = ServerName
++# Include = IncludePath
++#
++# The header [repo-name] is crucial - it must be present and
++# uncommented to enable the repo.
++#
++
++# The testing repositories are disabled by default. To enable, uncomment the
++# repo name header and Include lines. You can add preferred servers immediately
++# after the header, and they will be used before the default mirrors.
++
++# NOTE: Nonprism is a particular repository that aims to provide software built
++# and patched without services under global data surveillance programs like PRISM,
++# XKeyscore and Tempora. For more info see: https://wiki.parabola.nu/Nonprism
++
++#[nonprism-testing]
++#Include = /etc/pacman.d/mirrorlist
++
++#[nonprism]
++#Include = /etc/pacman.d/mirrorlist
++
++#[libre-testing]
++#Include = /etc/pacman.d/mirrorlist
++
++[libre]
++Include = /etc/pacman.d/mirrorlist
++
++#[testing]
++#Include = /etc/pacman.d/mirrorlist
++
++[core]
++Include = /etc/pacman.d/mirrorlist
++
++[extra]
++Include = /etc/pacman.d/mirrorlist
++
++#[community-testing]
++#Include = /etc/pacman.d/mirrorlist
++
++[community]
++Include = /etc/pacman.d/mirrorlist
++
++# The PCR (Parabola Community Repository) contains packages maintained by trusted
++# members of the Parabola community. It also contains packages maintained by
++# Parabola developers, but that the developer decided didn't belong in core/libre.
++
++#[pcr-testing]
++#Include = /etc/pacman.d/mirrorlist
++
++[pcr]
++Include = /etc/pacman.d/mirrorlist
++
++# Parabola also supports another community projects and personal repositories, to
++# find them check out this wiki page: https://wiki.parabola.nu/Repositories
++
++# An example of a custom package repository. See the pacman manpage for
++# tips on creating your own repositories.
++#[custom]
++#SigLevel = Optional TrustAll
++#Server = file:///home/custompkgs
diff --git a/src/stage3/patches/filesystem.patch b/src/stage3/patches/riscv64/filesystem.patch
index 130c763..130c763 100644
--- a/src/stage3/patches/filesystem.patch
+++ b/src/stage3/patches/riscv64/filesystem.patch
diff --git a/src/stage3/patches/gc.patch b/src/stage3/patches/riscv64/gc.patch
index 3a8460e..3a8460e 100644
--- a/src/stage3/patches/gc.patch
+++ b/src/stage3/patches/riscv64/gc.patch
diff --git a/src/stage3/patches/libaio.patch b/src/stage3/patches/riscv64/libaio.patch
index aa71639..aa71639 100644
--- a/src/stage3/patches/libaio.patch
+++ b/src/stage3/patches/riscv64/libaio.patch
diff --git a/src/stage3/patches/libatomic_ops.patch b/src/stage3/patches/riscv64/libatomic_ops.patch
index 7ec3286..7ec3286 100644
--- a/src/stage3/patches/libatomic_ops.patch
+++ b/src/stage3/patches/riscv64/libatomic_ops.patch
diff --git a/src/stage3/patches/libffi.patch b/src/stage3/patches/riscv64/libffi.patch
index a37d526..a37d526 100644
--- a/src/stage3/patches/libffi.patch
+++ b/src/stage3/patches/riscv64/libffi.patch
diff --git a/src/stage3/patches/libseccomp.patch b/src/stage3/patches/riscv64/libseccomp.patch
index aafe729..aafe729 100644
--- a/src/stage3/patches/libseccomp.patch
+++ b/src/stage3/patches/riscv64/libseccomp.patch
diff --git a/src/stage3/patches/openssl.patch b/src/stage3/patches/riscv64/openssl.patch
index f73a089..f73a089 100644
--- a/src/stage3/patches/openssl.patch
+++ b/src/stage3/patches/riscv64/openssl.patch
diff --git a/src/stage3/patches/pacman.patch b/src/stage3/patches/riscv64/pacman.patch
index beead35..beead35 100644
--- a/src/stage3/patches/pacman.patch
+++ b/src/stage3/patches/riscv64/pacman.patch
diff --git a/src/stage3/patches/pcre.patch b/src/stage3/patches/riscv64/pcre.patch
index 8124d1a..8124d1a 100644
--- a/src/stage3/patches/pcre.patch
+++ b/src/stage3/patches/riscv64/pcre.patch
diff --git a/src/stage3/patches/pcre2.patch b/src/stage3/patches/riscv64/pcre2.patch
index d7a782f..d7a782f 100644
--- a/src/stage3/patches/pcre2.patch
+++ b/src/stage3/patches/riscv64/pcre2.patch
diff --git a/src/stage3/patches/python-numpy.patch b/src/stage3/patches/riscv64/python-numpy.patch
index d00802b..d00802b 100644
--- a/src/stage3/patches/python-numpy.patch
+++ b/src/stage3/patches/riscv64/python-numpy.patch
diff --git a/src/stage3/stage3.sh b/src/stage3/stage3.sh
index 3fa90bb..edb0a77 100755
--- a/src/stage3/stage3.sh
+++ b/src/stage3/stage3.sh
@@ -33,7 +33,8 @@ stage3_makepkg() {
package_patch "${prefix[@]}" "$pkgname" || return
# substitute common variables
- sed "s#@MULTILIB@#${MULTILIB:-disable}#g" \
+ sed "s#@MULTILIB@#${MULTILIB:-disable}#g; \
+ s#@GCC_CONFIG_FLAGS@#${GCC_CONFIG_FLAGS[*]}#g" \
PKGBUILD.in > PKGBUILD
# prepare the pkgbuild
@@ -57,13 +58,13 @@ stage3_makepkg() {
if [ "x$1" != "x$pkgname" ]; then
# a bit of magic for -decross builds
- PKGDEST=. "$BUILDDIR/libremakepkg-$CARCH.sh" -n "$CHOST"-stage3 || return
+ PKGDEST=. "$BUILDDIR/libremakepkg.sh" -n "$CHOST"-stage3 || return
local pkgfiles pkgfile
pkgfiles=("$pkgname"-*.pkg.tar.xz); pkgfile="${pkgfiles[0]}"
mv -v "$pkgfile" "$PKGDEST/${pkgfile/$pkgname/$1}"
else
# regular build otherwise
- "$BUILDDIR/libremakepkg-$CARCH.sh" -n "$CHOST"-stage3 || return
+ "$BUILDDIR/libremakepkg.sh" -n "$CHOST"-stage3 || return
fi
}
diff --git a/src/stage4/makepkg.sh b/src/stage4/makepkg.sh
index 1df4f23..4109941 100644
--- a/src/stage4/makepkg.sh
+++ b/src/stage4/makepkg.sh
@@ -55,8 +55,8 @@ EOF
cat >> "$BUILDDIR"/config/makepkg.conf << EOF
CARCH="$CARCH"
CHOST="$CHOST"
-CFLAGS="-march=$GCC_MARCH -mabi=$GCC_MABI -O2 -pipe -fstack-protector-strong -fno-plt"
-CXXFLAGS="-march=$GCC_MARCH -mabi=$GCC_MABI -O2 -pipe -fstack-protector-strong -fno-plt"
+CFLAGS="${PLATFORM_CFLAGS[*]} -O2 -pipe -fstack-protector-strong -fno-plt"
+CXXFLAGS="${PLATFORM_CFLAGS[*]} -O2 -pipe -fstack-protector-strong -fno-plt"
MAKEFLAGS="-j$(($(nproc) + 1))"
EOF
@@ -67,8 +67,8 @@ EOF
done
# patch libremakepkg to update config.sub/config.guess
- cat "$(which libremakepkg)" > "$BUILDDIR/libremakepkg-$CARCH.sh"
- chmod +x "$BUILDDIR/libremakepkg-$CARCH.sh"
+ cat "$(which libremakepkg)" > "$BUILDDIR/libremakepkg.sh"
+ chmod +x "$BUILDDIR/libremakepkg.sh"
if [ "x${REGEN_CONFIG_FRAGMENTS:-no}" == "xyes" ]; then
local url="https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain"
@@ -77,9 +77,9 @@ update_config_fragments() {\\
find \$1/build -iname 'config*.sub' -print -exec curl \"$url;f=config.sub;hb=HEAD\" -o {} \\\\;\\
find \$1/build -iname 'config*.guess' -print -exec curl \"$url;f=config.guess;hb=HEAD\" -o {} \\\\;\\
}\\
-hook_pre_build+=(update_config_fragments)" "$BUILDDIR/libremakepkg-$CARCH.sh"
+hook_pre_build+=(update_config_fragments)" "$BUILDDIR/libremakepkg.sh"
fi
# patch libremakepkg to disable checks
- sed -i 's/makepkg_args=(.*noconfirm[^)]*/& --nocheck/' "$BUILDDIR/libremakepkg-$CARCH.sh"
+ sed -i 's/makepkg_args=(.*noconfirm[^)]*/& --nocheck/' "$BUILDDIR/libremakepkg.sh"
}
diff --git a/src/stage4/patches/binutils.patch b/src/stage4/patches/binutils.patch
deleted file mode 100644
index 7885c35..0000000
--- a/src/stage4/patches/binutils.patch
+++ /dev/null
@@ -1,49 +0,0 @@
---- a/PKGBUILD 2018-03-21 23:15:04.617863791 +0100
-+++ b/PKGBUILD 2018-03-22 07:15:46.834768079 +0100
-@@ -4,8 +4,8 @@
- # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
-
- pkgname=binutils
--pkgver=2.29.1
--pkgrel=3
-+pkgver=2.30
-+pkgrel=1
- pkgdesc='A set of programs to assemble and manipulate binary and object files'
- arch=(x86_64)
- url='http://www.gnu.org/software/binutils/'
-@@ -19,16 +19,10 @@ replaces=(binutils-multilib)
- options=(staticlibs !distcc !ccache)
- #_commit=d1a6e7195b9bb0255fa77588985b969ad8aaacf5
- #source=(git+https://sourceware.org/git/binutils-gdb.git#commit=${_commit}
--source=(https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz{,.sig}
-- 0001-x86-64_Dont_pass_output_bfd_to_info-callbacks-minfo.patch
-- 0001-PR22741-objcopy-segfault-on-fuzzed-COFF-object.patch
-- 0001-PR22829-objcopy-strip-removes-PT_GNU_RELRO-from-lld-.patch)
-+source=(https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz{,.sig})
- validpgpkeys=(3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F)
--md5sums=('acc9cd826edb9954ac7cecb81c727793'
-- 'SKIP'
-- 'e4be936139ef46122cb3841881c432b2'
-- '469164f3c93a0e92a697537b60c9806c'
-- '0c679b37e90fb23de60a4d28329b956a')
-+md5sums=('ffc476dd46c96f932875d1b2e27e929f'
-+ 'SKIP')
-
- prepare() {
- mkdir -p binutils-build
-@@ -38,15 +32,6 @@ prepare() {
-
- # hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS"
- sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
--
-- # https://bugs.archlinux.org/task/55741
-- git apply ../0001-x86-64_Dont_pass_output_bfd_to_info-callbacks-minfo.patch
--
-- # https://sourceware.org/bugzilla/show_bug.cgi?id=22741
-- git apply ../0001-PR22741-objcopy-segfault-on-fuzzed-COFF-object.patch
--
-- # https://sourceware.org/bugzilla/show_bug.cgi?id=22829
-- git apply ../0001-PR22829-objcopy-strip-removes-PT_GNU_RELRO-from-lld-.patch
- }
-
- build() {
diff --git a/src/stage4/patches/gcc.patch b/src/stage4/patches/gcc.patch
deleted file mode 100644
index d437e21..0000000
--- a/src/stage4/patches/gcc.patch
+++ /dev/null
@@ -1,187 +0,0 @@
-diff -rupN a/PKGBUILD b/PKGBUILD
---- a/PKGBUILD 2018-04-06 04:45:27.275666098 +0200
-+++ b/PKGBUILD 2018-04-06 04:45:27.275666098 +0200
-@@ -5,7 +5,8 @@
- # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
- # NOTE: libtool requires rebuilt with each new gcc version
-
--pkgname=(gcc gcc-libs gcc-fortran gcc-objc gcc-ada gcc-go lib32-gcc-libs)
-+pkgname=(gcc gcc-libs gcc-fortran)
-+[ "x@MULTILIB@" == "xdisable" ] || pkgname+=(lib32-gcc-libs)
- pkgver=7.3.1+20180312
- _majorver=${pkgver:0:1}
- _islver=0.18
-@@ -14,13 +15,15 @@ pkgdesc='The GNU Compiler Collection'
- arch=(x86_64)
- license=(GPL LGPL FDL custom)
- url='http://gcc.gnu.org'
--makedepends=(binutils libmpc gcc-ada doxygen lib32-glibc lib32-gcc-libs python)
-+makedepends=(binutils libmpc doxygen python)
-+[ "x@MULTILIB@" == "xdisable" ] || makedepends+=(lib32-glibc lib32-gcc-libs)
- checkdepends=(dejagnu inetutils)
- options=(!emptydirs)
- source=(https://sources.archlinux.org/other/gcc/gcc-${pkgver/+/-}.tar.xz{,.sig}
- #source=(https://ftp.gnu.org/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.xz{,.sig}
- http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2
- c89 c99
-+ "0001-pthread-reentrant.patch"
- bz84080.patch)
- validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org
- 13975A70E63C361C73AE69EF6EEB81F8981C74C7) # richard.guenther@gmail.com
-@@ -29,6 +32,7 @@ sha256sums=('c52618f656f2102b3544419e7d0
- '6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b'
- 'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931'
- '2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a'
-+ 'fc9c6f0edd615f2b39deff28b9626a08fd98ef8ce19f7e34281c0a5bd653ac3b'
- 'bce05807443558db55f0d6b4dae37a678ea1bb3388b541c876fe3d110e3717e7')
-
- _svnrev=258469
-@@ -59,6 +63,9 @@ prepare() {
- # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84080
- patch -p0 -i "$srcdir/bz84080.patch"
-
-+ # parabola patches
-+ patch -Np1 -i "$srcdir/0001-pthread-reentrant.patch"
-+
- # link isl for in-tree build
- ln -s ../isl-${_islver} isl
-
-@@ -88,10 +95,10 @@ build() {
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --with-bugurl=https://bugs.archlinux.org/ \
-- --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \
-+ --enable-languages=c,c++,fortran,lto \
- --enable-shared \
- --enable-threads=posix \
-- --enable-libmpx \
-+ --disable-libmpx \
- --with-system-zlib \
- --with-isl \
- --enable-__cxa_atexit \
-@@ -106,7 +113,7 @@ build() {
- --enable-install-libiberty \
- --with-linker-hash-style=gnu \
- --enable-gnu-indirect-function \
-- --enable-multilib \
-+ --@MULTILIB@-multilib \
- --disable-werror \
- --enable-checking=release \
- --enable-default-pie \
-@@ -131,7 +138,7 @@ package_gcc-libs() {
- groups=(base)
- depends=('glibc>=2.26')
- options+=(!strip)
-- provides=($pkgname-multilib libgo.so libgfortran.so)
-+ provides=($pkgname-multilib libgfortran.so)
- replaces=($pkgname-multilib)
-
- cd gcc-build
-@@ -139,25 +146,17 @@ package_gcc-libs() {
- rm -f "$pkgdir/$_libdir/libgcc_eh.a"
-
- for lib in libatomic \
-- libcilkrts \
- libgfortran \
-- libgo \
- libgomp \
-- libitm \
- libquadmath \
-- libsanitizer/{a,l,ub,t}san \
-- libstdc++-v3/src \
-- libvtv; do
-+ libstdc++-v3/src; do
- make -C $CHOST/$lib DESTDIR="$pkgdir" install-toolexeclibLTLIBRARIES
- done
-
-- make -C $CHOST/libobjc DESTDIR="$pkgdir" install-libs
- make -C $CHOST/libstdc++-v3/po DESTDIR="$pkgdir" install
-- make -C $CHOST/libmpx DESTDIR="$pkgdir" install
- rm -f "$pkgdir/usr/lib/libmpx.spec"
-
- for lib in libgomp \
-- libitm \
- libquadmath; do
- make -C $CHOST/$lib DESTDIR="$pkgdir" install-info
- done
-@@ -188,22 +187,22 @@ package_gcc() {
- install -m755 -t "$pkgdir/${_libdir}/" gcc/{cc1,cc1plus,collect2,lto1}
-
- make -C $CHOST/libgcc DESTDIR="$pkgdir" install
-- make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install
-+ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install
- rm -f "$pkgdir"/usr/lib{,32}/libgcc_s.so*
-
- make -C $CHOST/libstdc++-v3/src DESTDIR="$pkgdir" install
- make -C $CHOST/libstdc++-v3/include DESTDIR="$pkgdir" install
- make -C $CHOST/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install
- make -C $CHOST/libstdc++-v3/python DESTDIR="$pkgdir" install
-- make -C $CHOST/32/libstdc++-v3/src DESTDIR="$pkgdir" install
-- make -C $CHOST/32/libstdc++-v3/include DESTDIR="$pkgdir" install
-- make -C $CHOST/32/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install
-+ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libstdc++-v3/src DESTDIR="$pkgdir" install
-+ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libstdc++-v3/include DESTDIR="$pkgdir" install
-+ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install
-
- make DESTDIR="$pkgdir" install-libcc1
- install -d "$pkgdir/usr/share/gdb/auto-load/usr/lib"
- mv "$pkgdir"/usr/lib/libstdc++.so.6.*-gdb.py \
- "$pkgdir/usr/share/gdb/auto-load/usr/lib/"
-- rm "$pkgdir"/usr/lib{,32}/libstdc++.so*
-+ rm -f "$pkgdir"/usr/lib{,32}/libstdc++.so*
-
- make DESTDIR="$pkgdir" install-fixincludes
- make -C gcc DESTDIR="$pkgdir" install-mkheaders
-@@ -213,26 +212,16 @@ package_gcc() {
- ln -s /${_libdir}/liblto_plugin.so \
- "$pkgdir/usr/lib/bfd-plugins/"
-
-- make -C $CHOST/libcilkrts DESTDIR="$pkgdir" install-nodist_{toolexeclib,cilkinclude}HEADERS
- make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_{libsubinclude,toolexeclib}HEADERS
-- make -C $CHOST/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
- make -C $CHOST/libquadmath DESTDIR="$pkgdir" install-nodist_libsubincludeHEADERS
-- make -C $CHOST/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS
-- make -C $CHOST/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-- make -C $CHOST/libmpx DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-- make -C $CHOST/32/libcilkrts DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-- make -C $CHOST/32/libgomp DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-- make -C $CHOST/32/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-- make -C $CHOST/32/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS
-- make -C $CHOST/32/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-- make -C $CHOST/32/libmpx DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-+ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libgomp DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
-
- make -C libiberty DESTDIR="$pkgdir" install
- install -m644 libiberty/pic/libiberty.a "$pkgdir/usr/lib"
-
- make -C gcc DESTDIR="$pkgdir" install-man install-info
-- rm "$pkgdir"/usr/share/man/man1/{gccgo,gfortran}.1
-- rm "$pkgdir"/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn}.info
-+ rm -f "$pkgdir"/usr/share/man/man1/{gccgo,gfortran}.1
-+ rm -f "$pkgdir"/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn}.info
-
- make -C libcpp DESTDIR="$pkgdir" install
- make -C gcc DESTDIR="$pkgdir" install-po
-@@ -269,7 +258,7 @@ package_gcc-fortran() {
- cd gcc-build
- make -C $CHOST/libgfortran DESTDIR="$pkgdir" install-cafexeclibLTLIBRARIES \
- install-{toolexeclibDATA,nodist_fincludeHEADERS}
-- make -C $CHOST/32/libgfortran DESTDIR=$pkgdir install-cafexeclibLTLIBRARIES \
-+ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libgfortran DESTDIR=$pkgdir install-cafexeclibLTLIBRARIES \
- install-{toolexeclibDATA,nodist_fincludeHEADERS}
- make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_fincludeHEADERS
- make -C gcc DESTDIR="$pkgdir" fortran.install-{common,man,info}
---- /dev/null 2018-03-21 10:59:45.661284739 +0100
-+++ b/0001-pthread-reentrant.patch 2018-03-22 16:30:51.272498464 +0100
-@@ -0,0 +1,11 @@
-+--- trunk/gcc/config/riscv/linux.h 2018/01/03 10:03:58 256169
-++++ trunk/gcc/config/riscv/linux.h 2018/02/13 11:21:01 257621
-+@@ -47,6 +47,8 @@
-+
-+ #define ICACHE_FLUSH_FUNC "__riscv_flush_icache"
-+
-++#define CPP_SPEC "%{pthread:-D_REENTRANT}"
-++
-+ #define LINK_SPEC "\
-+ -melf" XLEN_SPEC "lriscv \
-+ %{shared} \
diff --git a/src/stage4/patches/aspell.patch b/src/stage4/patches/generic/aspell.patch
index bd45264..bd45264 100644
--- a/src/stage4/patches/aspell.patch
+++ b/src/stage4/patches/generic/aspell.patch
diff --git a/src/stage4/patches/avahi-breakdeps.patch b/src/stage4/patches/generic/avahi-breakdeps.patch
index 0e0ec4b..0e0ec4b 100644
--- a/src/stage4/patches/avahi-breakdeps.patch
+++ b/src/stage4/patches/generic/avahi-breakdeps.patch
diff --git a/src/stage4/patches/avahi.patch b/src/stage4/patches/generic/avahi.patch
index b08d876..b08d876 100644
--- a/src/stage4/patches/avahi.patch
+++ b/src/stage4/patches/generic/avahi.patch
diff --git a/src/stage4/patches/boost.patch b/src/stage4/patches/generic/boost.patch
index da60b61..da60b61 100644
--- a/src/stage4/patches/boost.patch
+++ b/src/stage4/patches/generic/boost.patch
diff --git a/src/stage4/patches/btrfs-progs.patch b/src/stage4/patches/generic/btrfs-progs.patch
index 1c42396..1c42396 100644
--- a/src/stage4/patches/btrfs-progs.patch
+++ b/src/stage4/patches/generic/btrfs-progs.patch
diff --git a/src/stage4/patches/cairo-breakdeps.patch b/src/stage4/patches/generic/cairo-breakdeps.patch
index 7df0bb6..7df0bb6 100644
--- a/src/stage4/patches/cairo-breakdeps.patch
+++ b/src/stage4/patches/generic/cairo-breakdeps.patch
diff --git a/src/stage4/patches/cairo.patch b/src/stage4/patches/generic/cairo.patch
index 51f3685..51f3685 100644
--- a/src/stage4/patches/cairo.patch
+++ b/src/stage4/patches/generic/cairo.patch
diff --git a/src/stage4/patches/colord-breakdeps.patch b/src/stage4/patches/generic/colord-breakdeps.patch
index 0f64440..0f64440 100644
--- a/src/stage4/patches/colord-breakdeps.patch
+++ b/src/stage4/patches/generic/colord-breakdeps.patch
diff --git a/src/stage4/patches/cups-breakdeps.patch b/src/stage4/patches/generic/cups-breakdeps.patch
index 2f339be..2f339be 100644
--- a/src/stage4/patches/cups-breakdeps.patch
+++ b/src/stage4/patches/generic/cups-breakdeps.patch
diff --git a/src/stage4/patches/cups-filters.patch b/src/stage4/patches/generic/cups-filters.patch
index 993c373..993c373 100644
--- a/src/stage4/patches/cups-filters.patch
+++ b/src/stage4/patches/generic/cups-filters.patch
diff --git a/src/stage4/patches/cups.patch b/src/stage4/patches/generic/cups.patch
index 3af99d5..3af99d5 100644
--- a/src/stage4/patches/cups.patch
+++ b/src/stage4/patches/generic/cups.patch
diff --git a/src/stage4/patches/dhcp.patch b/src/stage4/patches/generic/dhcp.patch
index 02fa427..02fa427 100644
--- a/src/stage4/patches/dhcp.patch
+++ b/src/stage4/patches/generic/dhcp.patch
diff --git a/src/stage4/patches/doxygen-breakdeps.patch b/src/stage4/patches/generic/doxygen-breakdeps.patch
index 0326760..0326760 100644
--- a/src/stage4/patches/doxygen-breakdeps.patch
+++ b/src/stage4/patches/generic/doxygen-breakdeps.patch
diff --git a/src/stage4/patches/doxygen.patch b/src/stage4/patches/generic/doxygen.patch
index 4399ee0..4399ee0 100644
--- a/src/stage4/patches/doxygen.patch
+++ b/src/stage4/patches/generic/doxygen.patch
diff --git a/src/stage4/patches/ffmpeg-breakdeps.patch b/src/stage4/patches/generic/ffmpeg-breakdeps.patch
index 5375dd8..5375dd8 100644
--- a/src/stage4/patches/ffmpeg-breakdeps.patch
+++ b/src/stage4/patches/generic/ffmpeg-breakdeps.patch
diff --git a/src/stage4/patches/fftw.patch b/src/stage4/patches/generic/fftw.patch
index c6a01ee..c6a01ee 100644
--- a/src/stage4/patches/fftw.patch
+++ b/src/stage4/patches/generic/fftw.patch
diff --git a/src/stage4/patches/fontconfig-breakdeps.patch b/src/stage4/patches/generic/fontconfig-breakdeps.patch
index 661787c..661787c 100644
--- a/src/stage4/patches/fontconfig-breakdeps.patch
+++ b/src/stage4/patches/generic/fontconfig-breakdeps.patch
diff --git a/src/stage4/patches/fontconfig.patch b/src/stage4/patches/generic/fontconfig.patch
index c96eff1..c96eff1 100644
--- a/src/stage4/patches/fontconfig.patch
+++ b/src/stage4/patches/generic/fontconfig.patch
diff --git a/src/stage4/patches/freetype2-breakdeps.patch b/src/stage4/patches/generic/freetype2-breakdeps.patch
index 82ce5c1..82ce5c1 100644
--- a/src/stage4/patches/freetype2-breakdeps.patch
+++ b/src/stage4/patches/generic/freetype2-breakdeps.patch
diff --git a/src/stage4/patches/generic/gcc.patch b/src/stage4/patches/generic/gcc.patch
new file mode 100644
index 0000000..0b18745
--- /dev/null
+++ b/src/stage4/patches/generic/gcc.patch
@@ -0,0 +1,414 @@
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-05-22 07:55:24.952880476 +0200
++++ b/PKGBUILD 2018-05-22 08:05:15.696219707 +0200
+@@ -5,7 +5,8 @@
+ # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+ # NOTE: libtool requires rebuilt with each new gcc version
+
+-pkgname=(gcc gcc-libs gcc-fortran gcc-objc gcc-ada gcc-go lib32-gcc-libs)
++pkgname=(gcc gcc-libs gcc-fortran)
++[ "x@MULTILIB@" == "xdisable" ] || pkgname+=(lib32-gcc-libs)
+ pkgver=8.1.0
+ _majorver=${pkgver:0:1}
+ _islver=0.18
+@@ -14,13 +15,14 @@ pkgdesc='The GNU Compiler Collection'
+ arch=(x86_64)
+ license=(GPL LGPL FDL custom)
+ url='http://gcc.gnu.org'
+-makedepends=(binutils libmpc gcc-ada doxygen lib32-glibc lib32-gcc-libs python)
+-checkdepends=(dejagnu inetutils)
++makedepends=(binutils libmpc)
++[ "x@MULTILIB@" == "xdisable" ] || makedepends+=(lib32-glibc lib32-gcc-libs)
++checkdepends=(dejagnu)
+ options=(!emptydirs)
+ #source=(https://sources.archlinux.org/other/gcc/gcc-${pkgver/+/-}.tar.xz{,.sig}
+ source=(https://ftp.gnu.org/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.xz{,.sig}
+ http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2
+- c89 c99)
++ c89 c99 pure64.patch)
+ validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org
+ 13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com
+ 33C235A34C46AA3FFB293709A328C3A2C3C45C06) # Jakub Jelinek <jakub@redhat.com>
+@@ -28,7 +30,8 @@ sha256sums=('1d1866f992626e61349a1ccd0b8
+ 'SKIP'
+ '6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b'
+ 'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931'
+- '2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a')
++ '2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a'
++ 'ce8fd53670d34ab3a57a50d1f9b15a905c79bda611d447f52cd1612846682224')
+
+ _svnrev=259195
+ _svnurl=svn://gcc.gnu.org/svn/gcc/branches/gcc-${_majorver}-branch
+@@ -63,7 +66,7 @@ prepare() {
+ sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+
+ # Arch Linux installs x86_64 libraries /lib
+- sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
++ patch -Np1 -i "$srcdir"/pure64.patch
+
+ # hack! - some configure tests for header files using "$CPP $CPPFLAGS"
+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
+@@ -80,15 +83,16 @@ build() {
+ CXXFLAGS=${CXXFLAGS/-pipe/}
+
+ "$srcdir/gcc/configure" --prefix=/usr \
++ @GCC_CONFIG_FLAGS@ \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --with-bugurl=https://bugs.archlinux.org/ \
+- --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \
++ --enable-languages=c,c++,fortran,lto \
+ --enable-shared \
+ --enable-threads=posix \
+- --enable-libmpx \
++ --disable-libmpx \
+ --with-system-zlib \
+ --with-isl \
+ --enable-__cxa_atexit \
+@@ -103,16 +107,13 @@ build() {
+ --enable-install-libiberty \
+ --with-linker-hash-style=gnu \
+ --enable-gnu-indirect-function \
+- --enable-multilib \
++ --@MULTILIB@-multilib \
+ --disable-werror \
+ --enable-checking=release \
+ --enable-default-pie \
+ --enable-default-ssp
+
+ make
+-
+- # make documentation
+- make -C $CHOST/libstdc++-v3/doc doc-man-doxygen
+ }
+
+ check() {
+@@ -137,23 +138,16 @@ package_gcc-libs() {
+
+ for lib in libatomic \
+ libgfortran \
+- libgo \
+ libgomp \
+- libitm \
+ libquadmath \
+- libsanitizer/{a,l,ub,t}san \
+- libstdc++-v3/src \
+- libvtv; do
++ libstdc++-v3/src; do
+ make -C $CHOST/$lib DESTDIR="$pkgdir" install-toolexeclibLTLIBRARIES
+ done
+
+- make -C $CHOST/libobjc DESTDIR="$pkgdir" install-libs
+ make -C $CHOST/libstdc++-v3/po DESTDIR="$pkgdir" install
+- make -C $CHOST/libmpx DESTDIR="$pkgdir" install
+ rm -f "$pkgdir/usr/lib/libmpx.spec"
+
+ for lib in libgomp \
+- libitm \
+ libquadmath; do
+ make -C $CHOST/$lib DESTDIR="$pkgdir" install-info
+ done
+@@ -184,22 +178,18 @@ package_gcc() {
+ install -m755 -t "$pkgdir/${_libdir}/" gcc/{cc1,cc1plus,collect2,lto1}
+
+ make -C $CHOST/libgcc DESTDIR="$pkgdir" install
+- make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install
++ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install
+ rm -f "$pkgdir"/usr/lib{,32}/libgcc_s.so*
+
+ make -C $CHOST/libstdc++-v3/src DESTDIR="$pkgdir" install
+ make -C $CHOST/libstdc++-v3/include DESTDIR="$pkgdir" install
+ make -C $CHOST/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install
+- make -C $CHOST/libstdc++-v3/python DESTDIR="$pkgdir" install
+- make -C $CHOST/32/libstdc++-v3/src DESTDIR="$pkgdir" install
+- make -C $CHOST/32/libstdc++-v3/include DESTDIR="$pkgdir" install
+- make -C $CHOST/32/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install
++ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libstdc++-v3/src DESTDIR="$pkgdir" install
++ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libstdc++-v3/include DESTDIR="$pkgdir" install
++ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install
+
+ make DESTDIR="$pkgdir" install-libcc1
+- install -d "$pkgdir/usr/share/gdb/auto-load/usr/lib"
+- mv "$pkgdir"/usr/lib/libstdc++.so.6.*-gdb.py \
+- "$pkgdir/usr/share/gdb/auto-load/usr/lib/"
+- rm "$pkgdir"/usr/lib{,32}/libstdc++.so*
++ rm -f "$pkgdir"/usr/lib{,32}/libstdc++.so*
+
+ make DESTDIR="$pkgdir" install-fixincludes
+ make -C gcc DESTDIR="$pkgdir" install-mkheaders
+@@ -210,23 +200,15 @@ package_gcc() {
+ "$pkgdir/usr/lib/bfd-plugins/"
+
+ make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_{libsubinclude,toolexeclib}HEADERS
+- make -C $CHOST/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+ make -C $CHOST/libquadmath DESTDIR="$pkgdir" install-nodist_libsubincludeHEADERS
+- make -C $CHOST/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS
+- make -C $CHOST/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+- make -C $CHOST/libmpx DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+- make -C $CHOST/32/libgomp DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+- make -C $CHOST/32/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+- make -C $CHOST/32/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS
+- make -C $CHOST/32/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+- make -C $CHOST/32/libmpx DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
++ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libgomp DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+
+ make -C libiberty DESTDIR="$pkgdir" install
+ install -m644 libiberty/pic/libiberty.a "$pkgdir/usr/lib"
+
+ make -C gcc DESTDIR="$pkgdir" install-man install-info
+- rm "$pkgdir"/usr/share/man/man1/{gccgo,gfortran}.1
+- rm "$pkgdir"/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn}.info
++ rm -f "$pkgdir"/usr/share/man/man1/{gccgo,gfortran}.1
++ rm -f "$pkgdir"/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn}.info
+
+ make -C libcpp DESTDIR="$pkgdir" install
+ make -C gcc DESTDIR="$pkgdir" install-po
+@@ -238,16 +220,9 @@ package_gcc() {
+ install -Dm755 "$srcdir/c89" "$pkgdir/usr/bin/c89"
+ install -Dm755 "$srcdir/c99" "$pkgdir/usr/bin/c99"
+
+- # install the libstdc++ man pages
+- make -C $CHOST/libstdc++-v3/doc DESTDIR="$pkgdir" doc-install-man
+-
+ # remove files provided by lib32-gcc-libs
+ rm -f "$pkgdir"/usr/lib32/lib{stdc++,gcc_s}.so
+
+- # byte-compile python libraries
+- python -m compileall "$pkgdir/usr/share/gcc-${pkgver%%+*}/"
+- python -O -m compileall "$pkgdir/usr/share/gcc-${pkgver%%+*}/"
+-
+ # Install Runtime Library Exception
+ install -d "$pkgdir/usr/share/licenses/$pkgname/"
+ ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \
+@@ -263,7 +238,7 @@ package_gcc-fortran() {
+ cd gcc-build
+ make -C $CHOST/libgfortran DESTDIR="$pkgdir" install-cafexeclibLTLIBRARIES \
+ install-{toolexeclibDATA,nodist_fincludeHEADERS}
+- make -C $CHOST/32/libgfortran DESTDIR=$pkgdir install-cafexeclibLTLIBRARIES \
++ [ "x@MULTILIB@" == "xdisable" ] || make -C $CHOST/32/libgfortran DESTDIR=$pkgdir install-cafexeclibLTLIBRARIES \
+ install-{toolexeclibDATA,nodist_fincludeHEADERS}
+ make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_fincludeHEADERS
+ make -C gcc DESTDIR="$pkgdir" fortran.install-{common,man,info}
+diff -rupN a/pure64.patch b/pure64.patch
+--- a/pure64.patch 1970-01-01 01:00:00.000000000 +0100
++++ b/pure64.patch 2018-05-22 08:05:15.702886374 +0200
+@@ -0,0 +1,217 @@
++Submitted By: William Harrington <kb0iic at cross-lfs dot org>
++Date: 05-13-2017
++Initial Package Version: 6.1.0
++Origin: Idea originally developed by Ryan Oliver and Greg Schafer for
++ the Pure LFS project with help from
++ Martin Ward and Chris Staub
++Upstream Status: Not Applied - CLFS Specific
++Description: This patch makes changes to the paths for pure64, eg 64bit libs
++ in /usr/lib, 32bit in /usr/lib32.
++Comment: Rediffed for 7.1.0
++
++tweaked for powerpc64le gcc 8.1.0
++
++diff -rupN gcc-8.1.0.old/gcc/config/i386/linux64.h gcc-8.1.0/gcc/config/i386/linux64.h
++--- gcc-8.1.0.old/gcc/config/i386/linux64.h 2018-05-21 12:04:55.942167767 +0200
+++++ gcc-8.1.0/gcc/config/i386/linux64.h 2018-05-21 12:05:08.352167891 +0200
++@@ -27,8 +27,8 @@ see the files COPYING3 and COPYING.RUNTI
++ #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
++ #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
++
++-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
++-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
+++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
+++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
++ #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
++
++ #undef MUSL_DYNAMIC_LINKER32
++diff -rupN gcc-8.1.0.old/gcc/config/i386/t-linux64 gcc-8.1.0/gcc/config/i386/t-linux64
++--- gcc-8.1.0.old/gcc/config/i386/t-linux64 2018-05-21 12:04:55.945501101 +0200
+++++ gcc-8.1.0/gcc/config/i386/t-linux64 2018-05-21 12:05:08.445501226 +0200
++@@ -33,6 +33,6 @@
++ comma=,
++ MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
++ MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
++-MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
++-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
+++MULTILIB_OSDIRNAMES = m64=../lib$(call if_multiarch,:x86_64-linux-gnu)
+++MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call if_multiarch,:i386-linux-gnu)
++ MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
++diff -rupN gcc-8.1.0.old/gcc/config/linux.h gcc-8.1.0/gcc/config/linux.h
++--- gcc-8.1.0.old/gcc/config/linux.h 2018-05-21 12:04:55.928834434 +0200
+++++ gcc-8.1.0/gcc/config/linux.h 2018-05-21 12:05:08.445501226 +0200
++@@ -82,7 +82,7 @@ see the files COPYING3 and COPYING.RUNTI
++ GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
++ supporting both 32-bit and 64-bit compilation. */
++ #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
+++#define UCLIBC_DYNAMIC_LINKER32 "/lib32/ld-uClibc.so.0"
++ #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
++ #define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0"
++ #define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
++diff -rupN gcc-8.1.0.old/gcc/config/mips/t-linux64 gcc-8.1.0/gcc/config/mips/t-linux64
++--- gcc-8.1.0.old/gcc/config/mips/t-linux64 2018-05-21 12:04:55.918834435 +0200
+++++ gcc-8.1.0/gcc/config/mips/t-linux64 2018-05-21 12:05:08.445501226 +0200
++@@ -22,5 +22,5 @@ MIPS_EL = $(if $(filter %el, $(firstword
++ MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
++ MULTILIB_OSDIRNAMES = \
++ ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
++- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
++- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
+++ ../lib32$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
+++ ../lib$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
++diff -rupN gcc-8.1.0.old/gcc/config/rs6000/linux64.h gcc-8.1.0/gcc/config/rs6000/linux64.h
++--- gcc-8.1.0.old/gcc/config/rs6000/linux64.h 2018-05-21 12:04:55.972167768 +0200
+++++ gcc-8.1.0/gcc/config/rs6000/linux64.h 2018-05-21 12:05:08.445501226 +0200
++@@ -420,16 +420,16 @@ extern int dot_symbols;
++ #undef LINK_OS_DEFAULT_SPEC
++ #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
++
++-#define GLIBC_DYNAMIC_LINKER32 "%(dynamic_linker_prefix)/lib/ld.so.1"
+++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld.so.1"
++
++ #ifdef LINUX64_DEFAULT_ABI_ELFv2
++ #define GLIBC_DYNAMIC_LINKER64 \
++-"%{mabi=elfv1:%(dynamic_linker_prefix)/lib64/ld64.so.1;" \
++-":%(dynamic_linker_prefix)/lib64/ld64.so.2}"
+++"%{mabi=elfv1:/lib/ld64.so.1;" \
+++":/lib/ld64.so.2}"
++ #else
++ #define GLIBC_DYNAMIC_LINKER64 \
++-"%{mabi=elfv2:%(dynamic_linker_prefix)/lib64/ld64.so.2;" \
++-":%(dynamic_linker_prefix)/lib64/ld64.so.1}"
+++"%{mabi=elfv2:/lib/ld64.so.2;" \
+++":/lib/ld64.so.1}"
++ #endif
++
++ #define MUSL_DYNAMIC_LINKER32 \
++@@ -437,7 +437,7 @@ extern int dot_symbols;
++ #define MUSL_DYNAMIC_LINKER64 \
++ "/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
++
++-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
+++#define UCLIBC_DYNAMIC_LINKER32 "/lib32/ld-uClibc.so.0"
++ #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
++ #if DEFAULT_LIBC == LIBC_UCLIBC
++ #define CHOOSE_DYNAMIC_LINKER(G, U, M) \
++diff -rupN gcc-8.1.0.old/gcc/config/rs6000/t-ldouble-linux64le-ibm gcc-8.1.0/gcc/config/rs6000/t-ldouble-linux64le-ibm
++--- gcc-8.1.0.old/gcc/config/rs6000/t-ldouble-linux64le-ibm 2018-05-21 12:04:55.975501102 +0200
+++++ gcc-8.1.0/gcc/config/rs6000/t-ldouble-linux64le-ibm 2018-05-21 12:17:02.082175008 +0200
++@@ -21,6 +21,6 @@
++
++ MULTILIB_OPTIONS += mabi=ieeelongdouble/mabi=ibmlongdouble
++ MULTILIB_DIRNAMES += ieee128 ibm128
++-MULTILIB_OSDIRNAMES += mabi.ibmlongdouble=../lib64$(call if_multiarch,:powerpc64-linux-gnu) \
++- mabi.ieeelongdouble=../lib64/ieee128$(call if_multiarch,:powerpc64-linux-gnu) \
++- ../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+++MULTILIB_OSDIRNAMES += mabi.ibmlongdouble=../lib$(call if_multiarch,:powerpc64-linux-gnu) \
+++ mabi.ieeelongdouble=../lib/ieee128$(call if_multiarch,:powerpc64-linux-gnu) \
+++ ../lib$(call if_multiarch,:powerpc64-linux-gnu)
++diff -rupN gcc-8.1.0.old/gcc/config/rs6000/t-ldouble-linux64le-ieee gcc-8.1.0/gcc/config/rs6000/t-ldouble-linux64le-ieee
++--- gcc-8.1.0.old/gcc/config/rs6000/t-ldouble-linux64le-ieee 2018-05-21 12:04:55.972167768 +0200
+++++ gcc-8.1.0/gcc/config/rs6000/t-ldouble-linux64le-ieee 2018-05-21 12:17:02.082175008 +0200
++@@ -21,6 +21,6 @@
++
++ MULTILIB_OPTIONS += mabi=ieeelongdouble/mabi=ibmlongdouble
++ MULTILIB_DIRNAMES += ieee128 ibm128
++-MULTILIB_OSDIRNAMES += mabi.ibmlongdouble=../lib64/ibm128$(call if_multiarch,:powerpc64-linux-gnu) \
++- mabi.ieeelongdouble=../lib64$(call if_multiarch,:powerpc64-linux-gnu) \
++- ../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+++MULTILIB_OSDIRNAMES += mabi.ibmlongdouble=../lib/ibm128$(call if_multiarch,:powerpc64-linux-gnu) \
+++ mabi.ieeelongdouble=../lib$(call if_multiarch,:powerpc64-linux-gnu) \
+++ ../lib$(call if_multiarch,:powerpc64-linux-gnu)
++diff -rupN gcc-8.1.0.old/gcc/config/rs6000/t-linux gcc-8.1.0/gcc/config/rs6000/t-linux
++--- gcc-8.1.0.old/gcc/config/rs6000/t-linux 2018-05-21 12:04:55.972167768 +0200
+++++ gcc-8.1.0/gcc/config/rs6000/t-linux 2018-05-21 12:17:02.082175008 +0200
++@@ -2,7 +2,7 @@
++ # or soft-float.
++ ifeq (,$(filter $(with_cpu),$(SOFT_FLOAT_CPUS))$(findstring soft,$(with_float)))
++ ifneq (,$(findstring powerpc64,$(target)))
++-MULTILIB_OSDIRNAMES := .=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+++MULTILIB_OSDIRNAMES := .=../lib$(call if_multiarch,:powerpc64-linux-gnu)
++ else
++ MULTIARCH_DIRNAME := powerpc-linux-gnu
++ endif
++diff -rupN gcc-8.1.0.old/gcc/config/rs6000/t-linux64 gcc-8.1.0/gcc/config/rs6000/t-linux64
++--- gcc-8.1.0.old/gcc/config/rs6000/t-linux64 2018-05-21 12:04:55.972167768 +0200
+++++ gcc-8.1.0/gcc/config/rs6000/t-linux64 2018-05-21 12:17:02.082175008 +0200
++@@ -28,8 +28,8 @@
++ MULTILIB_OPTIONS := m64/m32
++ MULTILIB_DIRNAMES := 64 32
++ MULTILIB_EXTRA_OPTS :=
++-MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
++-MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
+++MULTILIB_OSDIRNAMES := m64=../lib$(call if_multiarch,:powerpc64-linux-gnu)
+++MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call if_multiarch,:powerpc-linux-gnu)
++
++ rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
++ $(COMPILE) $<
++diff -rupN gcc-8.1.0.old/gcc/config/s390/linux.h gcc-8.1.0/gcc/config/s390/linux.h
++--- gcc-8.1.0.old/gcc/config/s390/linux.h 2018-05-21 12:04:55.938834435 +0200
+++++ gcc-8.1.0/gcc/config/s390/linux.h 2018-05-21 12:05:08.445501226 +0200
++@@ -73,7 +73,7 @@ along with GCC; see the file COPYING3.
++ #define MULTILIB_DEFAULTS { "m31" }
++ #endif
++
++-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
+++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld.so.1"
++ #define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1"
++
++ #undef LINK_SPEC
++diff -rupN gcc-8.1.0.old/gcc/config/s390/t-linux64 gcc-8.1.0/gcc/config/s390/t-linux64
++--- gcc-8.1.0.old/gcc/config/s390/t-linux64 2018-05-21 12:04:55.938834435 +0200
+++++ gcc-8.1.0/gcc/config/s390/t-linux64 2018-05-21 12:05:08.445501226 +0200
++@@ -7,5 +7,5 @@
++
++ MULTILIB_OPTIONS = m64/m31
++ MULTILIB_DIRNAMES = 64 32
++-MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:s390x-linux-gnu)
++-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:s390-linux-gnu)
+++MULTILIB_OSDIRNAMES = ../lib$(call if_multiarch,:s390x-linux-gnu)
+++MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call if_multiarch,:s390-linux-gnu)
++diff -rupN gcc-8.1.0.old/gcc/config/sparc/linux64.h gcc-8.1.0/gcc/config/sparc/linux64.h
++--- gcc-8.1.0.old/gcc/config/sparc/linux64.h 2018-05-21 12:04:55.948834435 +0200
+++++ gcc-8.1.0/gcc/config/sparc/linux64.h 2018-05-21 12:05:08.445501226 +0200
++@@ -84,8 +84,8 @@ along with GCC; see the file COPYING3.
++ When the -shared link option is used a final link is not being
++ done. */
++
++-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
++-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
+++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
+++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux.so.2"
++
++ #ifdef SPARC_BI_ARCH
++
++@@ -213,7 +213,7 @@ extern const char *host_detect_local_cpu
++ #else /* !SPARC_BI_ARCH */
++
++ #undef LINK_SPEC
++-#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
+++#define LINK_SPEC "-m elf64_sparc -Y P,%R/lib %{shared:-shared} \
++ %{!shared: \
++ %{!static: \
++ %{rdynamic:-export-dynamic} \
++diff -rupN gcc-8.1.0.old/gcc/config/sparc/linux.h gcc-8.1.0/gcc/config/sparc/linux.h
++--- gcc-8.1.0.old/gcc/config/sparc/linux.h 2018-05-21 12:04:55.952167768 +0200
+++++ gcc-8.1.0/gcc/config/sparc/linux.h 2018-05-21 12:05:08.445501226 +0200
++@@ -83,7 +83,7 @@ extern const char *host_detect_local_cpu
++ When the -shared link option is used a final link is not being
++ done. */
++
++-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+++#define GLIBC_DYNAMIC_LINKER "/lib32/ld-linux.so.2"
++
++ #undef LINK_SPEC
++ #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
++diff -rupN gcc-8.1.0.old/gcc/config/sparc/t-linux64 gcc-8.1.0/gcc/config/sparc/t-linux64
++--- gcc-8.1.0.old/gcc/config/sparc/t-linux64 2018-05-21 12:04:55.948834435 +0200
+++++ gcc-8.1.0/gcc/config/sparc/t-linux64 2018-05-21 12:05:08.445501226 +0200
++@@ -25,5 +25,5 @@
++
++ MULTILIB_OPTIONS = m64/m32
++ MULTILIB_DIRNAMES = 64 32
++-MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:sparc64-linux-gnu)
++-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:sparc-linux-gnu)
+++MULTILIB_OSDIRNAMES = ../lib$(call if_multiarch,:sparc64-linux-gnu)
+++MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call if_multiarch,:sparc-linux-gnu)
diff --git a/src/stage4/patches/ghostscript-breakdeps.patch b/src/stage4/patches/generic/ghostscript-breakdeps.patch
index f33b007..f33b007 100644
--- a/src/stage4/patches/ghostscript-breakdeps.patch
+++ b/src/stage4/patches/generic/ghostscript-breakdeps.patch
diff --git a/src/stage4/patches/glibc.patch b/src/stage4/patches/generic/glibc.patch
index 0ed324d..5db3721 100644
--- a/src/stage4/patches/glibc.patch
+++ b/src/stage4/patches/generic/glibc.patch
@@ -1,6 +1,6 @@
---- a/PKGBUILD 2018-03-21 10:05:48.270438408 +0100
-+++ b/PKGBUILD 2018-03-21 10:08:59.870913388 +0100
-@@ -6,21 +6,23 @@
+--- a/PKGBUILD 2018-03-06 06:01:42.289066523 +0100
++++ b/PKGBUILD 2018-03-06 06:01:42.289066523 +0100
+@@ -6,21 +6,21 @@
# NOTE: valgrind requires rebuilt with each major glibc version
pkgbase=glibc
@@ -15,8 +15,6 @@
url='http://www.gnu.org/software/libc'
license=(GPL LGPL)
-makedepends=(git gd lib32-gcc-libs)
-+makedepends=(gd)
-+[ "x@MULTILIB@" != "xenable" ] || makedepends+=(lib32-gcc-libs)
options=(!strip staticlibs)
_commit=de51f431ed6226ec68ca76e578f2cbd55b6262cb
-source=(git+https://sourceware.org/git/glibc.git#commit=${_commit}
@@ -30,7 +28,7 @@
'07ac979b6ab5eeb778d55f041529d623'
'476e9113489f93b348b21e144b6a8fcf'
'6e052f1cb693d5d3203f50f9d4e8c33b'
-@@ -29,6 +31,7 @@ md5sums=('SKIP'
+@@ -29,6 +29,7 @@ md5sums=('SKIP'
prepare() {
mkdir -p glibc-build lib32-glibc-build
@@ -38,7 +36,7 @@
cd glibc
local i; for i in ${source[@]}; do
-@@ -49,7 +52,7 @@ build() {
+@@ -49,7 +50,7 @@ build() {
--enable-add-ons
--enable-bind-now
--enable-lock-elision
@@ -47,7 +45,7 @@
--enable-obsolete-nsl
--enable-obsolete-rpc
--enable-stack-protector=strong
-@@ -84,6 +87,8 @@ build() {
+@@ -84,6 +85,8 @@ build() {
echo "CXX += -D_FORTIFY_SOURCE=2" >> configparms
make
@@ -56,7 +54,7 @@
cd "$srcdir/lib32-glibc-build"
export CC="gcc -m32 -mstackrealign"
export CXX="g++ -m32 -mstackrealign"
-@@ -177,7 +182,7 @@ package_glibc() {
+@@ -177,7 +170,7 @@ package_glibc() {
strip $STRIP_STATIC usr/lib/lib{anl,BrokenLocale,c{,_nonshared},crypt}.a \
usr/lib/lib{dl,g,ieee,mcheck,nsl,pthread{,_nonshared}}.a \
usr/lib/lib{resolv,rpcsvc,rt,util}.a \
diff --git a/src/stage4/patches/glibmm.patch b/src/stage4/patches/generic/glibmm.patch
index 8f619e2..8f619e2 100644
--- a/src/stage4/patches/glibmm.patch
+++ b/src/stage4/patches/generic/glibmm.patch
diff --git a/src/stage4/patches/gpm.patch b/src/stage4/patches/generic/gpm.patch
index da03262..da03262 100644
--- a/src/stage4/patches/gpm.patch
+++ b/src/stage4/patches/generic/gpm.patch
diff --git a/src/stage4/patches/graphite-breakdeps.patch b/src/stage4/patches/generic/graphite-breakdeps.patch
index 5504ca2..5504ca2 100644
--- a/src/stage4/patches/graphite-breakdeps.patch
+++ b/src/stage4/patches/generic/graphite-breakdeps.patch
diff --git a/src/stage4/patches/graphite.patch b/src/stage4/patches/generic/graphite.patch
index ed33b0e..ed33b0e 100644
--- a/src/stage4/patches/graphite.patch
+++ b/src/stage4/patches/generic/graphite.patch
diff --git a/src/stage4/patches/graphviz-breakdeps.patch b/src/stage4/patches/generic/graphviz-breakdeps.patch
index eb56bb2..eb56bb2 100644
--- a/src/stage4/patches/graphviz-breakdeps.patch
+++ b/src/stage4/patches/generic/graphviz-breakdeps.patch
diff --git a/src/stage4/patches/graphviz.patch b/src/stage4/patches/generic/graphviz.patch
index 6478656..6478656 100644
--- a/src/stage4/patches/graphviz.patch
+++ b/src/stage4/patches/generic/graphviz.patch
diff --git a/src/stage4/patches/generic/gstreamer.patch b/src/stage4/patches/generic/gstreamer.patch
new file mode 100644
index 0000000..6240044
--- /dev/null
+++ b/src/stage4/patches/generic/gstreamer.patch
@@ -0,0 +1,14 @@
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-04-11 06:50:38.438010392 +0200
++++ b/PKGBUILD 2018-04-11 08:32:21.806431931 +0200
+@@ -9,8 +9,8 @@ pkgdesc="GStreamer open-source multimedi
+ url="https://gstreamer.freedesktop.org/"
+ arch=(x86_64)
+ license=(LGPL)
+-depends=(libxml2 glib2 libunwind libcap libelf)
+-makedepends=(gtk-doc gobject-introspection autoconf-archive git valgrind bash-completion)
++depends=(libxml2 glib2 libcap libelf)
++makedepends=(gtk-doc gobject-introspection autoconf-archive git bash-completion)
+ checkdepends=(gmp gsl gtk3)
+ _commit=80e0e90d00bb358ca9dc071cf6de010ec5ae2644 # tags/1.14.0^0
+ install=gstreamer.install
diff --git a/src/stage4/patches/gtk3-breakdeps.patch b/src/stage4/patches/generic/gtk3-breakdeps.patch
index ceb2310..ceb2310 100644
--- a/src/stage4/patches/gtk3-breakdeps.patch
+++ b/src/stage4/patches/generic/gtk3-breakdeps.patch
diff --git a/src/stage4/patches/gypsy.patch b/src/stage4/patches/generic/gypsy.patch
index 17812ce..17812ce 100644
--- a/src/stage4/patches/gypsy.patch
+++ b/src/stage4/patches/generic/gypsy.patch
diff --git a/src/stage4/patches/harfbuzz-breakdeps.patch b/src/stage4/patches/generic/harfbuzz-breakdeps.patch
index 41d0fe7..41d0fe7 100644
--- a/src/stage4/patches/harfbuzz-breakdeps.patch
+++ b/src/stage4/patches/generic/harfbuzz-breakdeps.patch
diff --git a/src/stage4/patches/lash.patch b/src/stage4/patches/generic/lash.patch
index a43fae2..a43fae2 100644
--- a/src/stage4/patches/lash.patch
+++ b/src/stage4/patches/generic/lash.patch
diff --git a/src/stage4/patches/libbluray.patch b/src/stage4/patches/generic/libbluray.patch
index dcf8260..dcf8260 100644
--- a/src/stage4/patches/libbluray.patch
+++ b/src/stage4/patches/generic/libbluray.patch
diff --git a/src/stage4/patches/libcanberra-breakdeps.patch b/src/stage4/patches/generic/libcanberra-breakdeps.patch
index 5ba58b0..5ba58b0 100644
--- a/src/stage4/patches/libcanberra-breakdeps.patch
+++ b/src/stage4/patches/generic/libcanberra-breakdeps.patch
diff --git a/src/stage4/patches/libdrm.patch b/src/stage4/patches/generic/libdrm.patch
index b52378a..b52378a 100644
--- a/src/stage4/patches/libdrm.patch
+++ b/src/stage4/patches/generic/libdrm.patch
diff --git a/src/stage4/patches/libevdev.patch b/src/stage4/patches/generic/libevdev.patch
index ea4df75..ea4df75 100644
--- a/src/stage4/patches/libevdev.patch
+++ b/src/stage4/patches/generic/libevdev.patch
diff --git a/src/stage4/patches/libffado-breakdeps.patch b/src/stage4/patches/generic/libffado-breakdeps.patch
index 6735a11..6735a11 100644
--- a/src/stage4/patches/libffado-breakdeps.patch
+++ b/src/stage4/patches/generic/libffado-breakdeps.patch
diff --git a/src/stage4/patches/libfontenc.patch b/src/stage4/patches/generic/libfontenc.patch
index cbca51f..cbca51f 100644
--- a/src/stage4/patches/libfontenc.patch
+++ b/src/stage4/patches/generic/libfontenc.patch
diff --git a/src/stage4/patches/libglvnd-breakdeps.patch b/src/stage4/patches/generic/libglvnd-breakdeps.patch
index 486de8f..486de8f 100644
--- a/src/stage4/patches/libglvnd-breakdeps.patch
+++ b/src/stage4/patches/generic/libglvnd-breakdeps.patch
diff --git a/src/stage4/patches/libid3tag.patch b/src/stage4/patches/generic/libid3tag.patch
index 8e629a7..8e629a7 100644
--- a/src/stage4/patches/libid3tag.patch
+++ b/src/stage4/patches/generic/libid3tag.patch
diff --git a/src/stage4/patches/libimobiledevice-breakdeps.patch b/src/stage4/patches/generic/libimobiledevice-breakdeps.patch
index e62be5e..e62be5e 100644
--- a/src/stage4/patches/libimobiledevice-breakdeps.patch
+++ b/src/stage4/patches/generic/libimobiledevice-breakdeps.patch
diff --git a/src/stage4/patches/libjpeg-turbo-breakdeps.patch b/src/stage4/patches/generic/libjpeg-turbo-breakdeps.patch
index 14e733c..14e733c 100644
--- a/src/stage4/patches/libjpeg-turbo-breakdeps.patch
+++ b/src/stage4/patches/generic/libjpeg-turbo-breakdeps.patch
diff --git a/src/stage4/patches/libjpeg-turbo.patch b/src/stage4/patches/generic/libjpeg-turbo.patch
index dbdcfbc..dbdcfbc 100644
--- a/src/stage4/patches/libjpeg-turbo.patch
+++ b/src/stage4/patches/generic/libjpeg-turbo.patch
diff --git a/src/stage4/patches/libproxy-breakdeps.patch b/src/stage4/patches/generic/libproxy-breakdeps.patch
index a236d6f..a236d6f 100644
--- a/src/stage4/patches/libproxy-breakdeps.patch
+++ b/src/stage4/patches/generic/libproxy-breakdeps.patch
diff --git a/src/stage4/patches/librsvg-breakdeps.patch b/src/stage4/patches/generic/librsvg-breakdeps.patch
index 4c75214..4c75214 100644
--- a/src/stage4/patches/librsvg-breakdeps.patch
+++ b/src/stage4/patches/generic/librsvg-breakdeps.patch
diff --git a/src/stage4/patches/librsvg.patch b/src/stage4/patches/generic/librsvg.patch
index 03265e2..03265e2 100644
--- a/src/stage4/patches/librsvg.patch
+++ b/src/stage4/patches/generic/librsvg.patch
diff --git a/src/stage4/patches/libsigc++-breakdeps.patch b/src/stage4/patches/generic/libsigc++-breakdeps.patch
index 24635df..24635df 100644
--- a/src/stage4/patches/libsigc++-breakdeps.patch
+++ b/src/stage4/patches/generic/libsigc++-breakdeps.patch
diff --git a/src/stage4/patches/libsndfile.patch b/src/stage4/patches/generic/libsndfile.patch
index 3befd7a..3befd7a 100644
--- a/src/stage4/patches/libsndfile.patch
+++ b/src/stage4/patches/generic/libsndfile.patch
diff --git a/src/stage4/patches/libsodium-breakdeps.patch b/src/stage4/patches/generic/libsodium-breakdeps.patch
index 18a03fd..18a03fd 100644
--- a/src/stage4/patches/libsodium-breakdeps.patch
+++ b/src/stage4/patches/generic/libsodium-breakdeps.patch
diff --git a/src/stage4/patches/libtiff-breakdeps.patch b/src/stage4/patches/generic/libtiff-breakdeps.patch
index 34322eb..34322eb 100644
--- a/src/stage4/patches/libtiff-breakdeps.patch
+++ b/src/stage4/patches/generic/libtiff-breakdeps.patch
diff --git a/src/stage4/patches/libva-breakdeps.patch b/src/stage4/patches/generic/libva-breakdeps.patch
index e8624da..e8624da 100644
--- a/src/stage4/patches/libva-breakdeps.patch
+++ b/src/stage4/patches/generic/libva-breakdeps.patch
diff --git a/src/stage4/patches/libxft.patch b/src/stage4/patches/generic/libxft.patch
index 1031e35..1031e35 100644
--- a/src/stage4/patches/libxft.patch
+++ b/src/stage4/patches/generic/libxft.patch
diff --git a/src/stage4/patches/lm_sensors-breakdeps.patch b/src/stage4/patches/generic/lm_sensors-breakdeps.patch
index a09db10..a09db10 100644
--- a/src/stage4/patches/lm_sensors-breakdeps.patch
+++ b/src/stage4/patches/generic/lm_sensors-breakdeps.patch
diff --git a/src/stage4/patches/lynx.patch b/src/stage4/patches/generic/lynx.patch
index 26ef5f7..26ef5f7 100644
--- a/src/stage4/patches/lynx.patch
+++ b/src/stage4/patches/generic/lynx.patch
diff --git a/src/stage4/patches/make.patch b/src/stage4/patches/generic/make.patch
index a71388c..a71388c 100644
--- a/src/stage4/patches/make.patch
+++ b/src/stage4/patches/generic/make.patch
diff --git a/src/stage4/patches/mkinitcpio-busybox.patch b/src/stage4/patches/generic/mkinitcpio-busybox.patch
index 506c70d..372e014 100644
--- a/src/stage4/patches/mkinitcpio-busybox.patch
+++ b/src/stage4/patches/generic/mkinitcpio-busybox.patch
@@ -5,7 +5,7 @@
cd "busybox-$pkgver"
- local safeflags="-march=${CARCH/_/-} -mtune=generic -Os -pipe -fno-strict-aliasing"
-+ local safeflags="-march=rv64gc -mabi=lp64d -Os -pipe -fno-strict-aliasing"
++ local safeflags="@PLATFORM_CFLAGS@ -Os -pipe -fno-strict-aliasing"
sed 's|^\(CONFIG_EXTRA_CFLAGS\)=.*|\1="'"$safeflags"'"|' "$srcdir/config" > .config
}
diff --git a/src/stage4/patches/neon.patch b/src/stage4/patches/generic/neon.patch
index ff1d749..ff1d749 100644
--- a/src/stage4/patches/neon.patch
+++ b/src/stage4/patches/generic/neon.patch
diff --git a/src/stage4/patches/openexr.patch b/src/stage4/patches/generic/openexr.patch
index ba43fe0..ba43fe0 100644
--- a/src/stage4/patches/openexr.patch
+++ b/src/stage4/patches/generic/openexr.patch
diff --git a/src/stage4/patches/openmpi.patch b/src/stage4/patches/generic/openmpi.patch
index 84a7808..84a7808 100644
--- a/src/stage4/patches/openmpi.patch
+++ b/src/stage4/patches/generic/openmpi.patch
diff --git a/src/stage4/patches/orc.patch b/src/stage4/patches/generic/orc.patch
index 05d19e8..05d19e8 100644
--- a/src/stage4/patches/orc.patch
+++ b/src/stage4/patches/generic/orc.patch
diff --git a/src/stage4/patches/phonon-breakdeps.patch b/src/stage4/patches/generic/phonon-breakdeps.patch
index 5cb9748..5cb9748 100644
--- a/src/stage4/patches/phonon-breakdeps.patch
+++ b/src/stage4/patches/generic/phonon-breakdeps.patch
diff --git a/src/stage4/patches/poppler-breakdeps.patch b/src/stage4/patches/generic/poppler-breakdeps.patch
index dbf1fd5..dbf1fd5 100644
--- a/src/stage4/patches/poppler-breakdeps.patch
+++ b/src/stage4/patches/generic/poppler-breakdeps.patch
diff --git a/src/stage4/patches/pulseaudio-breakdeps.patch b/src/stage4/patches/generic/pulseaudio-breakdeps.patch
index 2e22df1..2e22df1 100644
--- a/src/stage4/patches/pulseaudio-breakdeps.patch
+++ b/src/stage4/patches/generic/pulseaudio-breakdeps.patch
diff --git a/src/stage4/patches/pulseaudio.patch b/src/stage4/patches/generic/pulseaudio.patch
index df76448..df76448 100644
--- a/src/stage4/patches/pulseaudio.patch
+++ b/src/stage4/patches/generic/pulseaudio.patch
diff --git a/src/stage4/patches/pyqt5.patch b/src/stage4/patches/generic/pyqt5.patch
index 3052d38..3052d38 100644
--- a/src/stage4/patches/pyqt5.patch
+++ b/src/stage4/patches/generic/pyqt5.patch
diff --git a/src/stage4/patches/python-lxml.patch b/src/stage4/patches/generic/python-lxml.patch
index bd1d890..bd1d890 100644
--- a/src/stage4/patches/python-lxml.patch
+++ b/src/stage4/patches/generic/python-lxml.patch
diff --git a/src/stage4/patches/python.patch b/src/stage4/patches/generic/python.patch
index 08ce6da..08ce6da 100644
--- a/src/stage4/patches/python.patch
+++ b/src/stage4/patches/generic/python.patch
diff --git a/src/stage4/patches/python2.patch b/src/stage4/patches/generic/python2.patch
index 4dd87cd..4dd87cd 100644
--- a/src/stage4/patches/python2.patch
+++ b/src/stage4/patches/generic/python2.patch
diff --git a/src/stage4/patches/qt5-base.patch b/src/stage4/patches/generic/qt5-base.patch
index 797563e..797563e 100644
--- a/src/stage4/patches/qt5-base.patch
+++ b/src/stage4/patches/generic/qt5-base.patch
diff --git a/src/stage4/patches/qt5-tools-breakdeps.patch b/src/stage4/patches/generic/qt5-tools-breakdeps.patch
index 063fe24..063fe24 100644
--- a/src/stage4/patches/qt5-tools-breakdeps.patch
+++ b/src/stage4/patches/generic/qt5-tools-breakdeps.patch
diff --git a/src/stage4/patches/generic/qt5-webkit.patch b/src/stage4/patches/generic/qt5-webkit.patch
new file mode 100644
index 0000000..cebd93b
--- /dev/null
+++ b/src/stage4/patches/generic/qt5-webkit.patch
@@ -0,0 +1,34 @@
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-04-16 21:02:39.504221456 +0200
++++ b/PKGBUILD 2018-04-16 21:06:13.560201168 +0200
+@@ -12,7 +12,7 @@ url='http://qt-project.org/'
+ license=(GPL3 LGPL3 FDL custom)
+ pkgdesc='Classes for a WebKit2 based implementation and a new QML API'
+ depends=(qt5-location qt5-sensors qt5-webchannel libwebp libxslt libxcomposite gst-plugins-base hyphen)
+-makedepends=(cmake ruby gperf python2 qt5-doc qt5-tools)
++makedepends=(cmake ruby gperf python2 qt5-doc qt5-tools ninja)
+ optdepends=('gst-plugins-good: Webm codec support')
+ conflicts=(qt5-webkit-ng)
+ replaces=(qt5-webkit-ng)
+@@ -44,16 +46,18 @@ prepare() {
+ cd build
+
+ cmake ../qtwebkit-$_qtver \
++ -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPORT=Qt \
+- -DENABLE_TOOLS=OFF
+- make
++ -DENABLE_TOOLS=OFF \
++ -DENABLE_JIT=OFF
++ ninja
+ }
+
+ package() {
+ cd build
+- make DESTDIR="$pkgdir" install
++ DESTDIR="$pkgdir" ninja install
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
diff --git a/src/stage4/patches/r-breakdeps.patch b/src/stage4/patches/generic/r-breakdeps.patch
index 5cc9267..5cc9267 100644
--- a/src/stage4/patches/r-breakdeps.patch
+++ b/src/stage4/patches/generic/r-breakdeps.patch
diff --git a/src/stage4/patches/r.patch b/src/stage4/patches/generic/r.patch
index f4beb2f..f4beb2f 100644
--- a/src/stage4/patches/r.patch
+++ b/src/stage4/patches/generic/r.patch
diff --git a/src/stage4/patches/ruby-rdiscount.patch b/src/stage4/patches/generic/ruby-rdiscount.patch
index 335806e..335806e 100644
--- a/src/stage4/patches/ruby-rdiscount.patch
+++ b/src/stage4/patches/generic/ruby-rdiscount.patch
diff --git a/src/stage4/patches/rust-breakdeps.patch b/src/stage4/patches/generic/rust-breakdeps.patch
index dfe4903..dfe4903 100644
--- a/src/stage4/patches/rust-breakdeps.patch
+++ b/src/stage4/patches/generic/rust-breakdeps.patch
diff --git a/src/stage4/patches/sqlite.patch b/src/stage4/patches/generic/sqlite.patch
index 9b8a670..9b8a670 100644
--- a/src/stage4/patches/sqlite.patch
+++ b/src/stage4/patches/generic/sqlite.patch
diff --git a/src/stage4/patches/subversion-breakdeps.patch b/src/stage4/patches/generic/subversion-breakdeps.patch
index c7fa4a0..c7fa4a0 100644
--- a/src/stage4/patches/subversion-breakdeps.patch
+++ b/src/stage4/patches/generic/subversion-breakdeps.patch
diff --git a/src/stage4/patches/subversion.patch b/src/stage4/patches/generic/subversion.patch
index cf13d9c..cf13d9c 100644
--- a/src/stage4/patches/subversion.patch
+++ b/src/stage4/patches/generic/subversion.patch
diff --git a/src/stage4/patches/systemd.patch b/src/stage4/patches/generic/systemd.patch
index f915824..f915824 100644
--- a/src/stage4/patches/systemd.patch
+++ b/src/stage4/patches/generic/systemd.patch
diff --git a/src/stage4/patches/texlive-bin.patch.libsynctex b/src/stage4/patches/generic/texlive-bin.libsynctex.patch
index fd521b0..fd521b0 100644
--- a/src/stage4/patches/texlive-bin.patch.libsynctex
+++ b/src/stage4/patches/generic/texlive-bin.libsynctex.patch
diff --git a/src/stage4/patches/texlive-bin.patch b/src/stage4/patches/generic/texlive-bin.texlive-bin.patch
index 80a5e83..80a5e83 100644
--- a/src/stage4/patches/texlive-bin.patch
+++ b/src/stage4/patches/generic/texlive-bin.texlive-bin.patch
diff --git a/src/stage4/patches/tokyocabinet.patch b/src/stage4/patches/generic/tokyocabinet.patch
index 705d02b..705d02b 100644
--- a/src/stage4/patches/tokyocabinet.patch
+++ b/src/stage4/patches/generic/tokyocabinet.patch
diff --git a/src/stage4/patches/vala-breakdeps.patch b/src/stage4/patches/generic/vala-breakdeps.patch
index d7df56d..d7df56d 100644
--- a/src/stage4/patches/vala-breakdeps.patch
+++ b/src/stage4/patches/generic/vala-breakdeps.patch
diff --git a/src/stage4/patches/vid.stab.patch b/src/stage4/patches/generic/vid.stab.patch
index 7923a12..7923a12 100644
--- a/src/stage4/patches/vid.stab.patch
+++ b/src/stage4/patches/generic/vid.stab.patch
diff --git a/src/stage4/patches/vulkan-loader-layers.patch b/src/stage4/patches/generic/vulkan-loader-layers.patch
index 64580ea..64580ea 100644
--- a/src/stage4/patches/vulkan-loader-layers.patch
+++ b/src/stage4/patches/generic/vulkan-loader-layers.patch
diff --git a/src/stage4/patches/xfsprogs.patch b/src/stage4/patches/generic/xfsprogs.patch
index 5bdce59..257964a 100644
--- a/src/stage4/patches/xfsprogs.patch
+++ b/src/stage4/patches/generic/xfsprogs.patch
@@ -5,7 +5,7 @@
cd "${srcdir}/${pkgname}-dev"
make configure
- export OPTIMIZER="-march=${CARCH/_/-} -O1"
-+ export OPTIMIZER="-march=rv64gc -mabi=lp64d -O1"
++ export OPTIMIZER="@PLATFORM_CFLAGS@ -O1"
export DEBUG=-DNDEBUG
./configure --prefix=/usr --sbindir=/usr/bin --enable-readline
make
diff --git a/src/stage4/patches/xorg-server.patch b/src/stage4/patches/generic/xorg-server.patch
index 00bc0aa..00bc0aa 100644
--- a/src/stage4/patches/xorg-server.patch
+++ b/src/stage4/patches/generic/xorg-server.patch
diff --git a/src/stage4/patches/xz.patch b/src/stage4/patches/generic/xz.patch
index 55c6edc..55c6edc 100644
--- a/src/stage4/patches/xz.patch
+++ b/src/stage4/patches/generic/xz.patch
diff --git a/src/stage4/patches/powerpc64le/filesystem.patch b/src/stage4/patches/powerpc64le/filesystem.patch
new file mode 100644
index 0000000..a58c599
--- /dev/null
+++ b/src/stage4/patches/powerpc64le/filesystem.patch
@@ -0,0 +1,13 @@
+--- a/PKGBUILD 2018-02-20 22:53:28.088939649 +0100
++++ b/PKGBUILD 2018-02-21 10:12:21.862501784 +0100
+@@ -103,6 +103,10 @@ package() {
+ ln -s usr/lib lib64
+ ln -s lib usr/lib64
+ }
++ [[ $CARCH = 'powerpc64le' ]] && {
++ ln -s usr/lib lib64
++ ln -s lib usr/lib64
++ }
+
+ # add bin symlinks
+ ln -s usr/bin bin
diff --git a/src/stage4/patches/powerpc64le/linux-libre.patch b/src/stage4/patches/powerpc64le/linux-libre.patch
new file mode 100644
index 0000000..9d6cf4b
--- /dev/null
+++ b/src/stage4/patches/powerpc64le/linux-libre.patch
@@ -0,0 +1 @@
+FIXME
diff --git a/src/stage4/patches/powerpc64le/mesa.patch b/src/stage4/patches/powerpc64le/mesa.patch
new file mode 100644
index 0000000..3518f01
--- /dev/null
+++ b/src/stage4/patches/powerpc64le/mesa.patch
@@ -0,0 +1,49 @@
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-04-10 10:23:30.086988693 +0200
++++ b/PKGBUILD 2018-04-10 10:23:30.087988693 +0200
+@@ -9,7 +9,7 @@ pkgrel=1.parabola1
+ arch=('i686' 'x86_64' 'armv7h')
+ makedepends=('python2-mako' 'libxml2' 'libx11' 'glproto' 'libdrm' 'dri2proto' 'dri3proto' 'presentproto'
+ 'libxshmfence' 'libxxf86vm' 'libxdamage' 'libvdpau' 'libva' 'wayland' 'wayland-protocols'
+- 'elfutils' 'llvm' 'libomxil-bellagio' 'clang' 'libglvnd' 'lm_sensors')
++ 'elfutils' 'llvm' 'libomxil-bellagio' 'libglvnd' 'lm_sensors')
+ makedepends_x86_64=('libclc' 'libunwind')
+ makedepends_i686=("${makedepends_x86_64[@]}")
+ url="https://www.mesa3d.org/"
+@@ -57,6 +57,14 @@ build() {
+ VDPAU_AND_XA=
+ OPENCL=
+ ;;
++ powerpc64le)
++ GALLIUM=r300,r600,radeonsi,nouveau,swrast,virgl
++ DRI=r200,radeon,nouveau,swrast
++ VULKAN=
++ LIBUNWIND=
++ VDPAU_AND_XA='--enable-vdpau'
++ OPENCL=
++ ;;
+ esac
+
+ ./configure --prefix=/usr \
+@@ -85,8 +93,7 @@ build() {
+ $VDPAU_AND_XA \
+ --enable-omx-bellagio \
+ --enable-nine \
+- $OPENCL \
+- --with-clang-libdir=/usr/lib
++ $OPENCL
+
+ make
+
+@@ -125,11 +132,6 @@ package_mesa() {
+ cp -rv ${srcdir}/fakeinstall/usr/lib/libOSMesa.so* ${pkgdir}/usr/lib/
+ cp -rv ${srcdir}/fakeinstall/usr/lib/libwayland*.so* ${pkgdir}/usr/lib/
+
+- if [ "$CARCH" != "armv7h" ]; then
+- cp -rv ${srcdir}/fakeinstall/usr/lib/libxatracker.so* ${pkgdir}/usr/lib/
+- cp -rv ${srcdir}/fakeinstall/usr/lib/libswrAVX*.so* ${pkgdir}/usr/lib/
+- fi
+-
+ cp -rv ${srcdir}/fakeinstall/usr/include ${pkgdir}/usr
+ cp -rv ${srcdir}/fakeinstall/usr/lib/pkgconfig ${pkgdir}/usr/lib/
+
diff --git a/src/stage4/patches/powerpc64le/openssl-1.0.patch b/src/stage4/patches/powerpc64le/openssl-1.0.patch
new file mode 100644
index 0000000..0f3f4ee
--- /dev/null
+++ b/src/stage4/patches/powerpc64le/openssl-1.0.patch
@@ -0,0 +1,19 @@
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-04-05 07:57:08.773764780 +0200
++++ b/PKGBUILD 2018-04-05 07:57:08.774764779 +0200
+@@ -48,11 +48,14 @@ build() {
+ elif [ "${CARCH}" == 'i686' ]; then
+ openssltarget='linux-elf'
+ optflags=''
++ elif [ "${CARCH}" == 'powerpc64le' ]; then
++ openssltarget='linux-elf'
++ optflags=''
+ fi
+
+ # mark stack as non-executable: http://bugs.archlinux.org/task/12434
+ ./Configure --prefix=/usr --openssldir=/etc/ssl --libdir=lib/openssl-1.0 \
+- shared no-ssl3-method ${optflags} \
++ shared no-ssl3-method no-asm ${optflags} \
+ "${openssltarget}" \
+ "-Wa,--noexecstack ${CPPFLAGS} ${CFLAGS} ${LDFLAGS}"
+
diff --git a/src/stage4/patches/powerpc64le/openssl.patch b/src/stage4/patches/powerpc64le/openssl.patch
new file mode 100644
index 0000000..4ba9fb4
--- /dev/null
+++ b/src/stage4/patches/powerpc64le/openssl.patch
@@ -0,0 +1,18 @@
+--- a/PKGBUILD 2018-03-22 12:57:29.430740457 +0100
++++ b/PKGBUILD 2018-03-22 13:23:19.198868217 +0100
+@@ -38,11 +38,14 @@ build() {
+ elif [ "${CARCH}" == 'i686' ]; then
+ openssltarget='linux-elf'
+ optflags=''
++ elif [ "${CARCH}" == 'powerpc64le' ]; then
++ openssltarget='linux-elf'
++ optflags=''
+ fi
+
+ # mark stack as non-executable: http://bugs.archlinux.org/task/12434
+ ./Configure --prefix=/usr --openssldir=/etc/ssl --libdir=lib \
+- shared no-ssl3-method ${optflags} \
++ shared no-ssl3-method no-asm ${optflags} \
+ "${openssltarget}" \
+ "-Wa,--noexecstack ${CPPFLAGS} ${CFLAGS} ${LDFLAGS}"
+
diff --git a/src/stage4/patches/powerpc64le/pacman.patch b/src/stage4/patches/powerpc64le/pacman.patch
new file mode 100644
index 0000000..09c563a
--- /dev/null
+++ b/src/stage4/patches/powerpc64le/pacman.patch
@@ -0,0 +1,154 @@
+--- a/PKGBUILD 2018-03-17 22:43:27.776000901 +0100
++++ b/PKGBUILD 2018-03-17 22:45:57.506623741 +0100
+@@ -21,7 +20,7 @@ groups=('base' 'base-devel' 'base-openrc
+ 'pacman-mirrorlist' 'archlinux-keyring' 'parabola-keyring'
+ 'archlinuxarm-keyring' 'archlinux32-keyring')
+ makedepends=('asciidoc')
+-makedepends+=('openssl>=1.1' 'openssl-1.0') # for during openssl 1.0->1.1 rebuild; remove on next rebuild
++makedepends+=('openssl>=1.1')
+ checkdepends=('python2' 'fakechroot')
+ optdepends=('cron: run specified programs at scheduled times and related tools')
+ provides=("$pkgname-contrib")
+@@ -45,6 +43,7 @@ sha256sums=('dfd36086ad68564bcd977f4a1fa
+ '19853ea9a2138157bbb334eb7f3a9b3098b88e513678b54b7b4f19d2ffd6ecad'
+ '1b2c8f4ec84d0dc496516880a54b5e4deb78798618c9cf5e284a45303f156e58'
+ 'b2cb3ba229edba338c0af7d7f5bb1a6ef6143bcd453c693bfee0c02fa1cfa18a'
++ '19853ea9a2138157bbb334eb7f3a9b3098b88e513678b54b7b4f19d2ffd6ecad'
+ '0d174c7c47921cfbb35dacb9d099095e78f6f67bfaa86836a3e588552f14ed03'
+ '1df848c5038a3f81ae4dc79a4072d340109b02f56292a5c4a20c59f735edd2b3'
+ '1cc4af1cf8e2133d4520827cc7d3ffad731892595f8e699909002d2e40ad8df9'
+@@ -96,6 +95,11 @@ build() {
+ mychost="armv7l-unknown-linux-gnueabihf"
+ myflags="-march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -O2 -pipe -fstack-protector-strong -fno-plt"
+ ;;
++ @CARCH@)
++ mycarch="@CARCH@"
++ mychost="@CHOST@"
++ myflags="@PLATFORM_CFLAGS@ -O2 -pipe -fstack-protector-strong -fno-plt"
++ ;;
+ esac
+ myldflags="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
+
+--- /dev/null 2018-03-05 07:42:50.020223709 +0100
++++ b/pacman.conf.powerpc64le 2018-03-17 22:43:27.778000923 +0100
+@@ -0,0 +1,120 @@
++#
++# /etc/pacman.conf
++#
++# See the pacman.conf(5) manpage for option and repository directives
++
++#
++# GENERAL OPTIONS
++#
++[options]
++# The following paths are commented out with their default values listed.
++# If you wish to use different paths, uncomment and update the paths.
++#RootDir = /
++#DBPath = /var/lib/pacman/
++#CacheDir = /var/cache/pacman/pkg/
++#LogFile = /var/log/pacman.log
++#GPGDir = /etc/pacman.d/gnupg/
++#HookDir = /etc/pacman.d/hooks/
++HoldPkg = pacman glibc
++#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
++#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
++#CleanMethod = KeepInstalled
++#UseDelta = 0.7
++Architecture = auto
++
++# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
++#IgnorePkg =
++#IgnoreGroup =
++
++#NoUpgrade =
++#NoExtract =
++
++# Misc options
++#UseSyslog
++#Color
++#TotalDownload
++CheckSpace
++#VerbosePkgLists
++
++# By default, pacman accepts packages signed by keys that its local keyring
++# trusts (see pacman-key and its man page), as well as unsigned packages.
++SigLevel = Required DatabaseOptional
++LocalFileSigLevel = Optional
++#RemoteFileSigLevel = Required
++
++# NOTE: You must run `pacman-key --init` before first using pacman; the local
++# keyring can then be populated with the keys of all Arch/Parabola packagers
++# with `pacman-key --populate archlinux` and `pacman-key --populate parabola`.
++
++#
++# REPOSITORIES
++# - can be defined here or included from another file
++# - pacman will search repositories in the order defined here
++# - local/custom mirrors can be added here or in separate files
++# - repositories listed first will take precedence when packages
++# have identical names, regardless of version number
++# - URLs will have $repo replaced by the name of the current repo
++# - URLs will have $arch replaced by the name of the architecture
++#
++# Repository entries are of the format:
++# [repo-name]
++# Server = ServerName
++# Include = IncludePath
++#
++# The header [repo-name] is crucial - it must be present and
++# uncommented to enable the repo.
++#
++
++# The testing repositories are disabled by default. To enable, uncomment the
++# repo name header and Include lines. You can add preferred servers immediately
++# after the header, and they will be used before the default mirrors.
++
++# NOTE: Nonprism is a particular repository that aims to provide software built
++# and patched without services under global data surveillance programs like PRISM,
++# XKeyscore and Tempora. For more info see: https://wiki.parabola.nu/Nonprism
++
++#[nonprism-testing]
++#Include = /etc/pacman.d/mirrorlist
++
++#[nonprism]
++#Include = /etc/pacman.d/mirrorlist
++
++#[libre-testing]
++#Include = /etc/pacman.d/mirrorlist
++
++[libre]
++Include = /etc/pacman.d/mirrorlist
++
++#[testing]
++#Include = /etc/pacman.d/mirrorlist
++
++[core]
++Include = /etc/pacman.d/mirrorlist
++
++[extra]
++Include = /etc/pacman.d/mirrorlist
++
++#[community-testing]
++#Include = /etc/pacman.d/mirrorlist
++
++[community]
++Include = /etc/pacman.d/mirrorlist
++
++# The PCR (Parabola Community Repository) contains packages maintained by trusted
++# members of the Parabola community. It also contains packages maintained by
++# Parabola developers, but that the developer decided didn't belong in core/libre.
++
++#[pcr-testing]
++#Include = /etc/pacman.d/mirrorlist
++
++[pcr]
++Include = /etc/pacman.d/mirrorlist
++
++# Parabola also supports another community projects and personal repositories, to
++# find them check out this wiki page: https://wiki.parabola.nu/Repositories
++
++# An example of a custom package repository. See the pacman manpage for
++# tips on creating your own repositories.
++#[custom]
++#SigLevel = Optional TrustAll
++#Server = file:///home/custompkgs
diff --git a/src/stage4/patches/filesystem.patch b/src/stage4/patches/riscv64/filesystem.patch
index 130c763..130c763 100644
--- a/src/stage4/patches/filesystem.patch
+++ b/src/stage4/patches/riscv64/filesystem.patch
diff --git a/src/stage4/patches/gc.patch b/src/stage4/patches/riscv64/gc.patch
index 0db562a..0db562a 100644
--- a/src/stage4/patches/gc.patch
+++ b/src/stage4/patches/riscv64/gc.patch
diff --git a/src/stage4/patches/gstreamer.patch b/src/stage4/patches/riscv64/gstreamer.patch
index c82fa6a..c82fa6a 100644
--- a/src/stage4/patches/gstreamer.patch
+++ b/src/stage4/patches/riscv64/gstreamer.patch
diff --git a/src/stage4/patches/jemalloc.patch b/src/stage4/patches/riscv64/jemalloc.patch
index ed27524..ed27524 100644
--- a/src/stage4/patches/jemalloc.patch
+++ b/src/stage4/patches/riscv64/jemalloc.patch
diff --git a/src/stage4/patches/js.patch b/src/stage4/patches/riscv64/js.patch
index 3501657..3501657 100644
--- a/src/stage4/patches/js.patch
+++ b/src/stage4/patches/riscv64/js.patch
diff --git a/src/stage4/patches/libaio.patch b/src/stage4/patches/riscv64/libaio.patch
index 2c07294..2c07294 100644
--- a/src/stage4/patches/libaio.patch
+++ b/src/stage4/patches/riscv64/libaio.patch
diff --git a/src/stage4/patches/libatomic_ops.patch b/src/stage4/patches/riscv64/libatomic_ops.patch
index dc8157f..dc8157f 100644
--- a/src/stage4/patches/libatomic_ops.patch
+++ b/src/stage4/patches/riscv64/libatomic_ops.patch
diff --git a/src/stage4/patches/libfbclient.patch b/src/stage4/patches/riscv64/libfbclient.patch
index d4c6c38..d4c6c38 100644
--- a/src/stage4/patches/libfbclient.patch
+++ b/src/stage4/patches/riscv64/libfbclient.patch
diff --git a/src/stage4/patches/libffi.patch b/src/stage4/patches/riscv64/libffi.patch
index a37d526..a37d526 100644
--- a/src/stage4/patches/libffi.patch
+++ b/src/stage4/patches/riscv64/libffi.patch
diff --git a/src/stage4/patches/libseccomp.patch b/src/stage4/patches/riscv64/libseccomp.patch
index aafe729..aafe729 100644
--- a/src/stage4/patches/libseccomp.patch
+++ b/src/stage4/patches/riscv64/libseccomp.patch
diff --git a/src/stage4/patches/linux-libre.patch b/src/stage4/patches/riscv64/linux-libre.patch
index 69cad26..69cad26 100644
--- a/src/stage4/patches/linux-libre.patch
+++ b/src/stage4/patches/riscv64/linux-libre.patch
diff --git a/src/stage4/patches/llvm.patch b/src/stage4/patches/riscv64/llvm.patch
index d94bd6f..d94bd6f 100644
--- a/src/stage4/patches/llvm.patch
+++ b/src/stage4/patches/riscv64/llvm.patch
diff --git a/src/stage4/patches/mariadb.patch b/src/stage4/patches/riscv64/mariadb.patch
index 93a2e8a..93a2e8a 100644
--- a/src/stage4/patches/mariadb.patch
+++ b/src/stage4/patches/riscv64/mariadb.patch
diff --git a/src/stage4/patches/mesa.patch b/src/stage4/patches/riscv64/mesa.patch
index 8e6cd33..8e6cd33 100644
--- a/src/stage4/patches/mesa.patch
+++ b/src/stage4/patches/riscv64/mesa.patch
diff --git a/src/stage4/patches/nspr.patch b/src/stage4/patches/riscv64/nspr.patch
index b8332a0..b8332a0 100644
--- a/src/stage4/patches/nspr.patch
+++ b/src/stage4/patches/riscv64/nspr.patch
diff --git a/src/stage4/patches/nss.patch b/src/stage4/patches/riscv64/nss.patch
index a60e0e2..a60e0e2 100644
--- a/src/stage4/patches/nss.patch
+++ b/src/stage4/patches/riscv64/nss.patch
diff --git a/src/stage4/patches/ocaml.patch b/src/stage4/patches/riscv64/ocaml.patch
index e050b64..e050b64 100644
--- a/src/stage4/patches/ocaml.patch
+++ b/src/stage4/patches/riscv64/ocaml.patch
diff --git a/src/stage4/patches/opencv.patch b/src/stage4/patches/riscv64/opencv.patch
index db50750..db50750 100644
--- a/src/stage4/patches/opencv.patch
+++ b/src/stage4/patches/riscv64/opencv.patch
diff --git a/src/stage4/patches/openssl-1.0.patch b/src/stage4/patches/riscv64/openssl-1.0.patch
index 7f2b7e6..7f2b7e6 100644
--- a/src/stage4/patches/openssl-1.0.patch
+++ b/src/stage4/patches/riscv64/openssl-1.0.patch
diff --git a/src/stage4/patches/openssl.patch b/src/stage4/patches/riscv64/openssl.patch
index e930372..e930372 100644
--- a/src/stage4/patches/openssl.patch
+++ b/src/stage4/patches/riscv64/openssl.patch
diff --git a/src/stage4/patches/pacman.patch b/src/stage4/patches/riscv64/pacman.patch
index b702ddf..b702ddf 100644
--- a/src/stage4/patches/pacman.patch
+++ b/src/stage4/patches/riscv64/pacman.patch
diff --git a/src/stage4/patches/pcre.patch b/src/stage4/patches/riscv64/pcre.patch
index 8124d1a..8124d1a 100644
--- a/src/stage4/patches/pcre.patch
+++ b/src/stage4/patches/riscv64/pcre.patch
diff --git a/src/stage4/patches/pcre2.patch b/src/stage4/patches/riscv64/pcre2.patch
index d7a782f..d7a782f 100644
--- a/src/stage4/patches/pcre2.patch
+++ b/src/stage4/patches/riscv64/pcre2.patch
diff --git a/src/stage4/patches/postgresql.patch b/src/stage4/patches/riscv64/postgresql.patch
index ff8c00e..ff8c00e 100644
--- a/src/stage4/patches/postgresql.patch
+++ b/src/stage4/patches/riscv64/postgresql.patch
diff --git a/src/stage4/patches/python-numpy.patch b/src/stage4/patches/riscv64/python-numpy.patch
index 2b249b7..2b249b7 100644
--- a/src/stage4/patches/python-numpy.patch
+++ b/src/stage4/patches/riscv64/python-numpy.patch
diff --git a/src/stage4/patches/qt4.patch b/src/stage4/patches/riscv64/qt4.patch
index 0579794..0579794 100644
--- a/src/stage4/patches/qt4.patch
+++ b/src/stage4/patches/riscv64/qt4.patch
diff --git a/src/stage4/patches/qt5-webkit.patch b/src/stage4/patches/riscv64/qt5-webkit.patch
index a6e7316..a6e7316 100644
--- a/src/stage4/patches/qt5-webkit.patch
+++ b/src/stage4/patches/riscv64/qt5-webkit.patch
diff --git a/src/stage4/patches/webkit2gtk.patch b/src/stage4/patches/riscv64/webkit2gtk.patch
index c8ea468..c8ea468 100644
--- a/src/stage4/patches/webkit2gtk.patch
+++ b/src/stage4/patches/riscv64/webkit2gtk.patch
diff --git a/src/stage4/patches/webrtc-audio-processing.patch b/src/stage4/patches/riscv64/webrtc-audio-processing.patch
index ca9977d..ca9977d 100644
--- a/src/stage4/patches/webrtc-audio-processing.patch
+++ b/src/stage4/patches/riscv64/webrtc-audio-processing.patch
diff --git a/src/stage4/patches/zstd.patch b/src/stage4/patches/riscv64/zstd.patch
index bab7b1b..bab7b1b 100644
--- a/src/stage4/patches/zstd.patch
+++ b/src/stage4/patches/riscv64/zstd.patch
diff --git a/src/stage4/patches/texlive-bin.patch.texlive-bin b/src/stage4/patches/texlive-bin.patch.texlive-bin
deleted file mode 100644
index 80a5e83..0000000
--- a/src/stage4/patches/texlive-bin.patch.texlive-bin
+++ /dev/null
@@ -1,102 +0,0 @@
-diff -rupN a/PKGBUILD b/PKGBUILD
---- a/PKGBUILD 2018-04-11 06:12:11.168229069 +0200
-+++ b/PKGBUILD 2018-04-11 06:12:11.169229069 +0200
-@@ -9,18 +9,15 @@
- # parabola changes and rationale:
- # - rebranded to parabola
-
--pkgname=('texlive-bin')
-+pkgname=('texlive-bin' 'libsynctex')
- pkgver=2017.44590
- pkgrel=13
--pkgrel+=.parabola1
- license=('GPL')
- arch=('x86_64')
--arch+=('i686' 'armv7h')
- makedepends=('cairo' 'pixman' 'graphite' 't1lib' 'gd' 'poppler'
- 'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2'
- 'icu' 'harfbuzz' 'harfbuzz-icu' 'gmp' 'mpfr' 'potrace' 'libpaper'
-- 'perl' 'clisp' 'ffcall')
--makedepends+=('poppler=0.63.0' 'icu>=61' 'icu<62')
-+ 'perl')
- url='http://tug.org/texlive/'
- source=("https://sources.archlinux.org/other/texlive/texlive-bin-source-${pkgver}.tar.xz"
- "luatex-gcc7.patch"
-@@ -52,12 +49,6 @@ prepare() {
- build() {
- cd "$srcdir"
-
-- if [ "${CARCH}" = "armv7h" ]; then
-- local config_xindy="--disable-xindy"
-- else
-- local config_xindy="--enable-xindy"
-- fi
--
- #############################################################
- ### configure
- cd source
-@@ -105,8 +96,7 @@ build() {
- --disable-dump-share \
- --disable-aleph \
- --enable-luatex \
-- --with-clisp-runtime=default \
-- --disable-xindy-rules --disable-xindy-docs "$config_xindy"
-+ --disable-xindy --disable-luajittex --disable-mfluajit
- #############################################################
- ### make
- echo "-------------------------------------------------------"
-@@ -115,6 +105,15 @@ build() {
- make
- }
-
-+package_libsynctex() {
-+ pkgdesc='Library for synchronization between TeX files and resulting file'
-+ depends=('glibc' 'zlib')
-+
-+ cd "${srcdir}/source/Work"
-+ make -C texk/web2c DESTDIR="${pkgdir}" \
-+ install-data-am install-libLTLIBRARIES
-+}
-+
- package_texlive-bin() {
- pkgdesc="TeX Live binaries"
- pkgdesc+=" (Parabola rebranded)"
-@@ -122,8 +121,7 @@ package_texlive-bin() {
- 'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2'
- 'icu' 'harfbuzz' 'harfbuzz-icu' 'gmp' 'mpfr' 'potrace' 'libpaper'
- 'libsynctex')
-- depends+=('icu>=61' 'icu<62' 'poppler=0.63.0')
-- provides=('lcdf-typetools' 'kpathsea' 'xindy')
-+ provides=('lcdf-typetools' 'kpathsea')
- optdepends=('ed: for texconfig'
- 'biber: for bibliography processing')
- options=('!strip')
-@@ -133,8 +131,6 @@ package_texlive-bin() {
- #############################################################
- ### install
- cd source
-- # fixes for xindy
-- find utils/xindy -name Makefile -exec sed -i -e "s|^prefix =.\+$|prefix = $pkgdir/usr|" -e "s|^mandir =.\+$|mandir = \${prefix}/share/man|" -e "s|^datadir =.\+$|datadir = \${datarootdir}/texmf|" -e "s|^docdir =.\+$|docdir = \${datadir}/doc/xindy|" '{}' \;
-
- echo "-------------------------------------------------------"
- echo "--> Proceeding with make install ..."
-@@ -307,7 +303,6 @@ texdoc
- texdoctk
- texexec
- texfot
--texindy
- texlinks
- texliveonfly
- texloganalyser
-@@ -323,11 +318,7 @@ updmap-user
- vpl2ovp
- vpl2vpl
- xhlatex
--xindy
- "
-- if [ "$CARCH" = "armv7h" ]; then
-- _core_scripts="$(echo "$_core_scripts" | sed '/xindy$/d')"
-- fi
- _games_scripts="rubikrotation"
- _humanities_scripts="diadia"
- _langcyrillic_scripts="rubibtex rumakeindex"
diff --git a/src/stage4/stage4.sh b/src/stage4/stage4.sh
index 6423757..01a8f59 100644
--- a/src/stage4/stage4.sh
+++ b/src/stage4/stage4.sh
@@ -33,7 +33,8 @@ stage4_makepkg() {
package_import_keys "$pkgname" || return
# substitute common variables
- sed "s#@MULTILIB@#${MULTILIB:-disable}#g" \
+ sed "s#@MULTILIB@#${MULTILIB:-disable}#g; \
+ s#@GCC_CONFIG_FLAGS@#${GCC_CONFIG_FLAGS[*]}#g" \
PKGBUILD.in > PKGBUILD
# prepare the pkgbuild
@@ -70,7 +71,7 @@ stage4_makepkg() {
run pacman -Scc || return
# build the package
- "$BUILDDIR/libremakepkg-$CARCH.sh" -n "$CHOST"-stage4 || return
+ "$BUILDDIR/libremakepkg.sh" -n "$CHOST"-stage4 || return
}
stage4_package_build() {