dosym "../../opt/${P}/bin/${rustlldb}" "/usr/bin/${rustlldb}"
local cargo=cargo-bin-${PV}
- mv "${D}/opt/${P}/bin/cargo" "${D}/opt/${P}/bin/${cargo}" || die
+ # ugly hack for https://bugs.gentoo.org/679806
+ if use ppc64; then
+ mv "${D}/opt/${P}/bin/cargo" "${D}/opt/${P}/bin/${cargo}".bin || die
+ sed -i 's/getentropy/gEtEnTrOpY/g' "${D}/opt/${P}/bin/${cargo}".bin || die
+ cat <<- 'EOF' > "${D}/opt/${P}/bin/${cargo}"
+ #!/bin/sh
+ OPENSSL_ppccap=0 $(realpath $0).bin "${@}"
+ EOF
+ fperms +x "/opt/${P}/bin/${cargo}"
+ else
+ mv "${D}/opt/${P}/bin/cargo" "${D}/opt/${P}/bin/${cargo}" || die
+ fi
dosym "../../opt/${P}/bin/${cargo}" "/usr/bin/${cargo}"
if use clippy; then
local clippy_driver=clippy-driver-bin-${PV}
dosym "../../opt/${P}/bin/${rustlldb}" "/usr/bin/${rustlldb}"
local cargo=cargo-bin-${PV}
- mv "${D}/opt/${P}/bin/cargo" "${D}/opt/${P}/bin/${cargo}" || die
+ # ugly hack for https://bugs.gentoo.org/679806
+ if use ppc64; then
+ mv "${D}/opt/${P}/bin/cargo" "${D}/opt/${P}/bin/${cargo}".bin || die
+ sed -i 's/getentropy/gEtEnTrOpY/g' "${D}/opt/${P}/bin/${cargo}".bin || die
+ cat <<- 'EOF' > "${D}/opt/${P}/bin/${cargo}"
+ #!/bin/sh
+ OPENSSL_ppccap=0 $(realpath $0).bin "${@}"
+ EOF
+ fperms +x "/opt/${P}/bin/${cargo}"
+ else
+ mv "${D}/opt/${P}/bin/cargo" "${D}/opt/${P}/bin/${cargo}" || die
+ fi
dosym "../../opt/${P}/bin/${cargo}" "/usr/bin/${cargo}"
if use clippy; then
local clippy_driver=clippy-driver-bin-${PV}