diff options
author | Andreas Grapentin <andreas@grapentin.org> | 2018-05-23 22:34:04 +0200 |
---|---|---|
committer | Andreas Grapentin <andreas@grapentin.org> | 2018-05-23 22:34:04 +0200 |
commit | 4e0223ba90e229cfe066194ce2f4189bfcbf9e7a (patch) | |
tree | d0dfece247fba00c40a50a50241a5a70cfe923d6 | |
parent | c9d45d267226ecad2d5ac4b91efa8740c3542589 (diff) |
beware of the monster - this commit unifies the separate porting efforts into one source tree
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | README | 24 | ||||
-rw-r--r-- | config/config.powerpc64le.sh | 6 | ||||
-rw-r--r-- | config/config.riscv32.sh | 48 | ||||
-rw-r--r-- | config/config.riscv64.sh | 6 | ||||
-rw-r--r-- | config/config.sparc.sh | 48 | ||||
-rw-r--r-- | config/config.template.sh | 4 | ||||
-rwxr-xr-x | create.sh | 3 | ||||
-rw-r--r-- | src/shared/deptree.sh | 16 | ||||
-rw-r--r-- | src/shared/feedback.sh | 4 | ||||
-rw-r--r-- | src/shared/package.sh | 57 | ||||
-rw-r--r-- | src/shared/srcinfo.sh | 4 | ||||
-rwxr-xr-x | src/stage1/stage1.sh | 13 | ||||
-rw-r--r-- | src/stage1/toolchain-pkgbuilds/gcc-bootstrap/0001-pthread-reentrant.patch.in | 11 | ||||
-rw-r--r-- | src/stage1/toolchain-pkgbuilds/gcc-bootstrap/PKGBUILD.in | 26 | ||||
-rw-r--r-- | src/stage1/toolchain-pkgbuilds/gcc-bootstrap/pure64.patch.in | 217 | ||||
-rw-r--r-- | src/stage1/toolchain-pkgbuilds/gcc/0001-pthread-reentrant.patch.in | 11 | ||||
-rw-r--r-- | src/stage1/toolchain-pkgbuilds/gcc/PKGBUILD.in | 24 | ||||
-rw-r--r-- | src/stage1/toolchain-pkgbuilds/gcc/pure64.patch.in | 217 | ||||
-rw-r--r-- | src/stage1/toolchain-pkgbuilds/glibc/PKGBUILD.in | 14 | ||||
-rw-r--r-- | src/stage1/toolchain-pkgbuilds/linux-libre-api-headers/PKGBUILD.in | 4 | ||||
-rw-r--r-- | src/stage2/makepkg.sh | 20 | ||||
-rw-r--r-- | src/stage2/patches/binutils.patch | 39 | ||||
-rw-r--r-- | src/stage2/patches/bzip2.patch | 13 | ||||
-rw-r--r-- | src/stage2/patches/dbus.patch | 11 | ||||
-rw-r--r-- | src/stage2/patches/elfutils.patch | 11 | ||||
-rw-r--r-- | src/stage2/patches/gcc.patch | 223 | ||||
-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.patch | 20 | ||||
-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.patch | 23 | ||||
-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.patch | 21 | ||||
-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.patch | 72 | ||||
-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.patch | 424 | ||||
-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.patch | 73 | ||||
-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.patch | 11 | ||||
-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.patch | 11 | ||||
-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.patch | 12 | ||||
-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.patch | 11 | ||||
-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.patch | 12 | ||||
-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.patch | 28 | ||||
-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.patch | 86 | ||||
-rw-r--r-- | src/stage2/patches/libusb.patch | 11 | ||||
-rw-r--r-- | src/stage2/patches/pam.patch | 26 | ||||
-rw-r--r-- | src/stage2/patches/powerpc64le/filesystem.patch | 13 | ||||
-rw-r--r-- | src/stage2/patches/powerpc64le/pacman.patch | 157 | ||||
-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-x | src/stage2/stage2.sh | 19 | ||||
-rw-r--r-- | src/stage3/makepkg.conf.in | 2 | ||||
-rw-r--r-- | src/stage3/makepkg.sh | 12 | ||||
-rw-r--r-- | src/stage3/patches/binutils.patch | 49 | ||||
-rw-r--r-- | src/stage3/patches/gcc.patch | 204 | ||||
-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.patch | 414 | ||||
-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.patch | 11 | ||||
-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.patch | 13 | ||||
-rw-r--r-- | src/stage3/patches/powerpc64le/openssl.patch | 18 | ||||
-rw-r--r-- | src/stage3/patches/powerpc64le/pacman.patch | 164 | ||||
-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-x | src/stage3/stage3.sh | 7 | ||||
-rw-r--r-- | src/stage4/makepkg.sh | 12 | ||||
-rw-r--r-- | src/stage4/patches/binutils.patch | 49 | ||||
-rw-r--r-- | src/stage4/patches/gcc.patch | 187 | ||||
-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.patch | 414 | ||||
-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.patch | 14 | ||||
-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.patch | 34 | ||||
-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.patch | 13 | ||||
-rw-r--r-- | src/stage4/patches/powerpc64le/linux-libre.patch | 1 | ||||
-rw-r--r-- | src/stage4/patches/powerpc64le/mesa.patch | 49 | ||||
-rw-r--r-- | src/stage4/patches/powerpc64le/openssl-1.0.patch | 19 | ||||
-rw-r--r-- | src/stage4/patches/powerpc64le/openssl.patch | 18 | ||||
-rw-r--r-- | src/stage4/patches/powerpc64le/pacman.patch | 154 | ||||
-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-bin | 102 | ||||
-rw-r--r-- | src/stage4/stage4.sh | 5 |
337 files changed, 2975 insertions, 1191 deletions
@@ -1,6 +1,7 @@ # build dirs build/ +sources/ # built packages and signatures *.pkg.tar.xz @@ -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 @@ -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() { |