archlinux-s390x/patches/pkgbuild
Mathieu Benoit f87502622a [ADD] port patches: gcc front ends, binutils gold, libtool multilib
Three more upstream PKGBUILDs assume x86_64, each in a different way,
and each is dropped rather than repaired because the thing being
dropped is architecture-specific by nature.

gcc: Ada and D are written in themselves and need an existing compiler
of the same language. Ubuntu ships gnat, but not one GCC 15 accepts,
and there is no D bootstrap compiler here at all. Modula-2 and COBOL
have the same shape. Front ends reduced to c, c++, fortran, lto, objc
and obj-c++, which is everything this port and ERPLibre compile.

binutils: gold is x86-centric, deprecated upstream since 2.44, and
built by no distribution that ships s390x. ld.bfd is the linker on Z.
binutils builds once gold is disabled -- measured.

libtool: the lib32-libltdl split package is i686-on-x86_64 multilib.
Its build step is already guarded by CARCH, but prepare() copies the
tree to src/libtool32 unconditionally and the package function then
packages a tree nobody built.

Two host-layout bridges were also needed. Ubuntu multiarch puts asm/,
bits/, gnu/ and sys/sdt.h under /usr/include/s390x-linux-gnu, while
glibc builds with -nostdinc and expects the classic layout:

  fatal error: asm/errno.h: No such file or directory
  fatal error: sys/sdt.h: No such file or directory

Symlinks make the host look like Arch for those paths. sys/ needed the
files linked, not the directory, since /usr/include/sys already exists.

--- FR ---

Trois PKGBUILD amont de plus supposent x86_64, chacun a sa maniere, et
chacun est retire plutot que repare : ce qu on retire est par nature
propre a une architecture.

gcc : Ada et D sont ecrits en eux-memes et reclament un compilateur
existant du meme langage. Ubuntu livre gnat, mais pas une version que
GCC 15 accepte, et il n y a ici aucun compilateur D d amorcage.
Modula-2 et COBOL posent le meme probleme. Les frontaux se reduisent a
c, c++, fortran, lto, objc et obj-c++, ce qui couvre tout ce que ce
portage et ERPLibre compilent.

binutils : gold est centre sur x86, abandonne en amont depuis 2.44, et
construit par aucune distribution livrant s390x. Sur Z, l editeur de
liens est ld.bfd. binutils se construit des que gold est desactive --
mesure.

libtool : le paquet scinde lib32-libltdl est du multilib i686 sur
x86_64. Son etape de compilation est deja gardee par CARCH, mais
prepare() copie l arbre vers src/libtool32 sans condition, et la
fonction de paquet empaquette ensuite un arbre que personne n a bati.

Deux ponts de disposition d hote etaient aussi necessaires. Le
multiarch d Ubuntu place asm/, bits/, gnu/ et sys/sdt.h sous
/usr/include/s390x-linux-gnu, quand glibc compile avec -nostdinc et
attend la disposition classique :

  fatal error: asm/errno.h: No such file or directory
  fatal error: sys/sdt.h: No such file or directory

Des liens symboliques donnent a l hote l allure d Arch pour ces
chemins. Pour sys/ il faut lier les fichiers et non le repertoire,
puisque /usr/include/sys existe deja.

Assisted-by: Claude Opus 5
2026-08-15 21:01:18 -04:00
..
binutils.sh [ADD] port patches: gcc front ends, binutils gold, libtool multilib 2026-08-15 21:01:18 -04:00
gcc.sh [ADD] port patches: gcc front ends, binutils gold, libtool multilib 2026-08-15 21:01:18 -04:00
glibc.sh [FIX] trust artefacts, not exit codes; add a PKGBUILD patch mechanism 2026-08-15 20:41:10 -04:00
libtool.sh [ADD] port patches: gcc front ends, binutils gold, libtool multilib 2026-08-15 21:01:18 -04:00