17 |
17 |
EMULTILIB_PKG="true"
|
18 |
18 |
|
19 |
19 |
# Gentoo patchset (ignored for live ebuilds)
|
20 |
|
PATCH_VER=9
|
|
20 |
PATCH_VER=8
|
21 |
21 |
PATCH_DEV=dilfridge
|
22 |
22 |
|
23 |
23 |
if [[ ${PV} == 9999* ]]; then
|
24 |
24 |
inherit git-r3
|
25 |
25 |
else
|
26 |
|
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
|
|
26 |
KEYWORDS="~alpha amd64 arm arm64 hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
27 |
27 |
SRC_URI="mirror://gnu/glibc/${P}.tar.xz"
|
28 |
28 |
SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
|
|
29 |
SRC_URI+=" riscv? ( https://dev.gentoo.org/~dilfridge/distfiles/backport-rv32.txz )"
|
29 |
30 |
fi
|
30 |
31 |
|
31 |
32 |
RELEASE_VER=${PV}
|
32 |
33 |
|
33 |
|
GCC_BOOTSTRAP_VER=20180511
|
|
34 |
GCC_BOOTSTRAP_VER=20201208
|
34 |
35 |
|
35 |
|
LOCALE_GEN_VER=2.00
|
|
36 |
LOCALE_GEN_VER=2.10
|
36 |
37 |
|
37 |
38 |
SRC_URI+=" https://gitweb.gentoo.org/proj/locale-gen.git/snapshot/locale-gen-${LOCALE_GEN_VER}.tar.gz"
|
38 |
39 |
SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
|
... | ... | |
89 |
90 |
# and that gcc already contains the hardened patches.
|
90 |
91 |
# Lastly, let's avoid some openssh nastiness, bug 708224, as
|
91 |
92 |
# convenience to our users.
|
|
93 |
|
|
94 |
# gzip, grep, awk are needed by locale-gen, bug 740750
|
|
95 |
|
92 |
96 |
BDEPEND="
|
93 |
97 |
${PYTHON_DEPS}
|
94 |
98 |
>=app-misc/pax-utils-0.1.10
|
95 |
99 |
sys-devel/bison
|
96 |
100 |
doc? ( sys-apps/texinfo )
|
|
101 |
!compile-locales? (
|
|
102 |
app-arch/gzip
|
|
103 |
sys-apps/grep
|
|
104 |
app-alternatives/awk
|
|
105 |
)
|
97 |
106 |
"
|
98 |
107 |
COMMON_DEPEND="
|
99 |
108 |
gd? ( media-libs/gd:2= )
|
... | ... | |
107 |
116 |
!<net-misc/openssh-8.1_p1-r2
|
108 |
117 |
"
|
109 |
118 |
DEPEND="${COMMON_DEPEND}
|
|
119 |
compile-locales? (
|
|
120 |
app-arch/gzip
|
|
121 |
sys-apps/grep
|
|
122 |
app-alternatives/awk
|
|
123 |
)
|
110 |
124 |
test? ( >=net-dns/libidn2-2.3.0 )
|
111 |
125 |
"
|
112 |
126 |
RDEPEND="${COMMON_DEPEND}
|
|
127 |
app-arch/gzip
|
|
128 |
sys-apps/grep
|
|
129 |
app-alternatives/awk
|
113 |
130 |
sys-apps/gentoo-functions
|
114 |
131 |
"
|
115 |
132 |
|
... | ... | |
759 |
776 |
|
760 |
777 |
cd "${WORKDIR}" || die
|
761 |
778 |
unpack locale-gen-${LOCALE_GEN_VER}.tar.gz
|
|
779 |
use riscv && unpack backport-rv32.txz
|
762 |
780 |
}
|
763 |
781 |
|
764 |
782 |
src_prepare() {
|
... | ... | |
772 |
790 |
elog "Applying Gentoo Glibc Patchset ${patchsetname}"
|
773 |
791 |
eapply "${WORKDIR}"/patches
|
774 |
792 |
einfo "Done."
|
|
793 |
|
|
794 |
if use riscv ; then
|
|
795 |
elog "Adding rv32 backport patchset for glibc-2.32 (experimental)"
|
|
796 |
eapply "${WORKDIR}"/backport-rv32
|
|
797 |
einfo "Done."
|
|
798 |
fi
|
775 |
799 |
fi
|
776 |
800 |
|
777 |
801 |
default
|
... | ... | |
947 |
971 |
$(use_enable static-pie)
|
948 |
972 |
$(use_enable systemtap)
|
949 |
973 |
$(use_enable nscd)
|
|
974 |
|
|
975 |
# locale data is arch-independent
|
|
976 |
# https://bugs.gentoo.org/753740
|
|
977 |
libc_cv_complocaledir='${exec_prefix}/lib/locale'
|
|
978 |
|
950 |
979 |
${EXTRA_ECONF}
|
951 |
980 |
)
|
952 |
981 |
|
... | ... | |
1255 |
1284 |
# powerpc
|
1256 |
1285 |
ppc /lib/ld.so.1
|
1257 |
1286 |
# riscv
|
|
1287 |
ilp32d /lib/ld-linux-riscv32-ilp32d.so.1
|
|
1288 |
ilp32 /lib/ld-linux-riscv32-ilp32.so.1
|
1258 |
1289 |
lp64d /lib/ld-linux-riscv64-lp64d.so.1
|
1259 |
1290 |
lp64 /lib/ld-linux-riscv64-lp64.so.1
|
1260 |
1291 |
# s390
|
... | ... | |
1333 |
1364 |
insinto /etc
|
1334 |
1365 |
doins locale.gen
|
1335 |
1366 |
|
1336 |
|
# Make sure all the ABI's can find the locales and so we only
|
1337 |
|
# have to generate one set
|
1338 |
|
local a
|
1339 |
|
keepdir /usr/$(get_libdir)/locale
|
1340 |
|
for a in $(get_install_abis) ; do
|
1341 |
|
if [[ ! -e ${ED}/usr/$(get_abi_LIBDIR ${a})/locale ]] ; then
|
1342 |
|
dosym ../$(get_libdir)/locale /usr/$(get_abi_LIBDIR ${a})/locale
|
1343 |
|
fi
|
1344 |
|
done
|
1345 |
|
|
1346 |
|
# HACK: If we're building for riscv, we need to additionally make sure that
|
1347 |
|
# we can find the locale archive afterwards
|
1348 |
|
case ${CTARGET} in
|
1349 |
|
riscv*)
|
1350 |
|
if [[ ! -e ${ED}/usr/lib/locale ]] ; then
|
1351 |
|
dosym ../$(get_libdir)/locale /usr/lib/locale
|
1352 |
|
fi
|
1353 |
|
;;
|
1354 |
|
*) ;;
|
1355 |
|
esac
|
|
1367 |
keepdir /usr/lib/locale
|
1356 |
1368 |
|
1357 |
1369 |
cd "${S}"
|
1358 |
1370 |
|
... | ... | |
1479 |
1491 |
[[ -n ${ROOT} ]] && return 0
|
1480 |
1492 |
[[ -d ${ED}/$(get_libdir) ]] || return 0
|
1481 |
1493 |
[[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check
|
|
1494 |
|
|
1495 |
if [[ -L ${EROOT}/usr/lib/locale ]]; then
|
|
1496 |
# Help portage migrate this to a directory
|
|
1497 |
# https://bugs.gentoo.org/753740
|
|
1498 |
rm "${EROOT}"/usr/lib/locale || die
|
|
1499 |
fi
|
1482 |
1500 |
}
|
1483 |
1501 |
|
1484 |
1502 |
pkg_postinst() {
|