From 7f327476099280ea21d687f9e3bec43dcaf3d74f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Wed, 2 Dec 2020 19:44:14 +0700 Subject: [PATCH 1/2] cross-x86_64-linux-musl: build for i686* --- srcpkgs/cross-x86_64-linux-musl/template | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/srcpkgs/cross-x86_64-linux-musl/template b/srcpkgs/cross-x86_64-linux-musl/template index 96e6c7feb71..b352d3057c9 100644 --- a/srcpkgs/cross-x86_64-linux-musl/template +++ b/srcpkgs/cross-x86_64-linux-musl/template @@ -6,10 +6,10 @@ _musl_version=1.1.24 _linux_version=4.19 _libucontext_version=0.9.0 -_triplet=x86_64-linux-musl +pkgname=cross-x86_64-linux-musl +_triplet=${pkgname#cross-} _sysroot="/usr/${_triplet}" -pkgname=cross-${_triplet} version=0.33 revision=4 short_desc="Cross toolchain for x86_64 with musl" @@ -39,7 +39,9 @@ nostrip_files="libcaf_single.a libgcc.a libgcov.a libgcc_eh.a libgnarl_pic.a libgnarl.a libgnat_pic.a libgnat.a libgmem.a" depends="${pkgname}-libc-${version}_${revision}" -if [ "$XBPS_TARGET_WORDSIZE" != "64" ]; then +if [ "${XBPS_TARGET_MACHINE%-musl}" = i686 ]; then + : +elif [ "$XBPS_TARGET_WORDSIZE" != "64" ]; then broken="64-bit crosstoolchain only available on 64-bit host" fi @@ -321,5 +323,7 @@ cross-x86_64-linux-musl-libc_package() { noshlibprovides=yes pkg_install() { vmove ${_sysroot} + vlicense ${wrksrc}/musl-${_musl_version}/COPYRIGHT + vlicense ${wrksrc}/libucontext-${_libucontext_version}/LICENSE } } From 7067f898b8b4c9395e550fc528f15a3596fad54b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Wed, 2 Dec 2020 19:47:39 +0700 Subject: [PATCH 2/2] grub: build grub-x86_64-efi for i686, build manpages Close #25267 --- srcpkgs/grub/template | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/srcpkgs/grub/template b/srcpkgs/grub/template index 77c6cfbff2f..0b7f2edc412 100644 --- a/srcpkgs/grub/template +++ b/srcpkgs/grub/template @@ -1,8 +1,8 @@ # Template file for 'grub' pkgname=grub version=2.04 -revision=3 -hostmakedepends="python3 pkg-config flex freetype-devel font-unifont-bdf" +revision=4 +hostmakedepends="python3 pkg-config flex freetype-devel font-unifont-bdf help2man" makedepends="libusb-compat-devel ncurses-devel freetype-devel liblzma-devel device-mapper-devel fuse-devel" depends="os-prober" @@ -27,10 +27,11 @@ case "$XBPS_TARGET_MACHINE" in ;; i686*) CFLAGS="-D_FILE_OFFSET_BITS=64" + hostmakedepends+=" cross-x86_64-linux-musl" configure_args+=" ac_cv_sizeof_off_t=8" _NATIVE_PLATFORM=pc - _SUPPLEMENTARY_BUILDS="i386-efi i386-coreboot i386-xen" - subpackages+=" grub-i386-efi grub-i386-coreboot grub-xen" + _SUPPLEMENTARY_BUILDS="i386-efi x86_64-efi i386-coreboot i386-xen" + subpackages+=" grub-i386-efi grub-x86_64-efi grub-i386-coreboot grub-xen" ;; aarch64*) _NATIVE_PLATFORM=efi @@ -48,7 +49,7 @@ post_extract() { do_configure() { unset CC AS LD RANLIB CPP - CFLAGS="$CFLAGS -fno-stack-protector" + BASE_CFLAGS="$CFLAGS -fno-stack-protector" # building with altivec generates broken grub core case "$XBPS_TARGET_MACHINE" in @@ -63,14 +64,11 @@ do_configure() { sed -i 's|/usr/share/fonts/unifont|/usr/share/fonts/misc|' configure # build tools - _configure_args=${configure_args} - if [ -n "${_NATIVE_PLATFORM}" ]; then - _configure_args="--with-platform=${_NATIVE_PLATFORM} ${_configure_args}" - fi msg_normal "Configuring grub tools...\n" mkdir $wrksrc/build cd $wrksrc/build - ../configure --host=${XBPS_TARGET_MACHINE} ${_configure_args} + ../configure --host=${XBPS_TARGET_MACHINE} ${configure_args} \ + ${_NATIVE_PLATFORM:+--with-platform=${_NATIVE_PLATFORM}} for _SUPP_BUILD in ${_SUPPLEMENTARY_BUILDS}; do _TARGET=${_SUPP_BUILD%%-*} @@ -78,7 +76,15 @@ do_configure() { msg_normal "Configuring ${_TARGET} ${_PLATFORM} grub...\n" mkdir $wrksrc/${_PLATFORM}_${_TARGET}_build cd $wrksrc/${_PLATFORM}_${_TARGET}_build - ../configure --host=${XBPS_TARGET_MACHINE} --target=${_TARGET} --with-platform=${_PLATFORM} ${configure_args} \ + if [ "$_TARGET" = x86_64 ] && + [ "${XBPS_TARGET_MACHINE%-musl}" = i686 ]; then + _TARGET=x86_64-linux-musl + CFLAGS="${BASE_CFLAGS/-mtune=i686/-mtune=generic}" + else + CFLAGS="$BASE_CFLAGS" + fi + ../configure --host=${XBPS_TARGET_MACHINE} --target=${_TARGET} \ + --with-platform=${_PLATFORM} ${configure_args} \ --disable-efiemu \ --libdir=/usr/lib done @@ -90,14 +96,14 @@ do_build() { msg_normal "Building grub tools...\n" cd $wrksrc/build - make ${makejobs} &> make.log || tail -n100 make.log + make ${makejobs} for _SUPP_BUILD in ${_SUPPLEMENTARY_BUILDS}; do _TARGET=${_SUPP_BUILD%%-*} _PLATFORM=${_SUPP_BUILD##*-} msg_normal "Building ${_TARGET} ${_PLATFORM} grub...\n" cd $wrksrc/${_PLATFORM}_${_TARGET}_build - make ${makejobs} &> make.log || tail -n100 make.log + make ${makejobs} done } @@ -162,7 +168,6 @@ grub-utils_package() { } } grub-x86_64-efi_package() { - archs=noarch depends="grub>=$version dosfstools efibootmgr" short_desc+=" - x86_64 EFI support" pkg_install() { @@ -170,7 +175,6 @@ grub-x86_64-efi_package() { } } grub-i386-efi_package() { - archs=noarch depends="grub>=$version dosfstools efibootmgr" short_desc+=" - i386 EFI support" pkg_install() { @@ -178,7 +182,6 @@ grub-i386-efi_package() { } } grub-i386-coreboot_package() { - archs=noarch depends="grub>=$version" short_desc+=" - i386 coreboot support" pkg_install() { @@ -200,7 +203,6 @@ grub-xen_package() { } } grub-arm64-efi_package() { - archs=noarch depends="grub>=$version dosfstools efibootmgr" short_desc+=" - arm64 EFI support" pkg_install() { @@ -208,7 +210,6 @@ grub-arm64-efi_package() { } } grub-powerpc-ieee1275_package() { - archs=noarch depends="grub>=$version powerpc-utils" short_desc+=" - powerpc Open Firmware support" pkg_install() {