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 ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
|
|
26 |
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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 |
|
... | ... | |
750 |
767 |
|
751 |
768 |
cd "${WORKDIR}" || die
|
752 |
769 |
unpack locale-gen-${LOCALE_GEN_VER}.tar.gz
|
|
770 |
use riscv && unpack backport-rv32.txz
|
753 |
771 |
}
|
754 |
772 |
|
755 |
773 |
src_prepare() {
|
... | ... | |
763 |
781 |
elog "Applying Gentoo Glibc Patchset ${patchsetname}"
|
764 |
782 |
eapply "${WORKDIR}"/patches
|
765 |
783 |
einfo "Done."
|
|
784 |
|
|
785 |
if use riscv ; then
|
|
786 |
elog "Adding rv32 backport patchset for glibc-2.32 (experimental)"
|
|
787 |
eapply "${WORKDIR}"/backport-rv32
|
|
788 |
einfo "Done."
|
|
789 |
fi
|
766 |
790 |
fi
|
767 |
791 |
|
768 |
792 |
default
|
... | ... | |
936 |
960 |
$(use_enable static-pie)
|
937 |
961 |
$(use_enable systemtap)
|
938 |
962 |
$(use_enable nscd)
|
|
963 |
|
|
964 |
# locale data is arch-independent
|
|
965 |
# https://bugs.gentoo.org/753740
|
|
966 |
libc_cv_complocaledir='${exec_prefix}/lib/locale'
|
|
967 |
|
939 |
968 |
${EXTRA_ECONF}
|
940 |
969 |
)
|
941 |
970 |
|
... | ... | |
1244 |
1273 |
# powerpc
|
1245 |
1274 |
ppc /lib/ld.so.1
|
1246 |
1275 |
# riscv
|
|
1276 |
ilp32d /lib/ld-linux-riscv32-ilp32d.so.1
|
|
1277 |
ilp32 /lib/ld-linux-riscv32-ilp32.so.1
|
1247 |
1278 |
lp64d /lib/ld-linux-riscv64-lp64d.so.1
|
1248 |
1279 |
lp64 /lib/ld-linux-riscv64-lp64.so.1
|
1249 |
1280 |
# s390
|
... | ... | |
1322 |
1353 |
insinto /etc
|
1323 |
1354 |
doins locale.gen
|
1324 |
1355 |
|
1325 |
|
# Make sure all the ABI's can find the locales and so we only
|
1326 |
|
# have to generate one set
|
1327 |
|
local a
|
1328 |
|
keepdir /usr/$(get_libdir)/locale
|
1329 |
|
for a in $(get_install_abis) ; do
|
1330 |
|
if [[ ! -e ${ED}/usr/$(get_abi_LIBDIR ${a})/locale ]] ; then
|
1331 |
|
dosym ../$(get_libdir)/locale /usr/$(get_abi_LIBDIR ${a})/locale
|
1332 |
|
fi
|
1333 |
|
done
|
1334 |
|
|
1335 |
|
# HACK: If we're building for riscv, we need to additionally make sure that
|
1336 |
|
# we can find the locale archive afterwards
|
1337 |
|
case ${CTARGET} in
|
1338 |
|
riscv*)
|
1339 |
|
if [[ ! -e ${ED}/usr/lib/locale ]] ; then
|
1340 |
|
dosym ../$(get_libdir)/locale /usr/lib/locale
|
1341 |
|
fi
|
1342 |
|
;;
|
1343 |
|
*) ;;
|
1344 |
|
esac
|
|
1356 |
keepdir /usr/lib/locale
|
1345 |
1357 |
|
1346 |
1358 |
cd "${S}"
|
1347 |
1359 |
|
... | ... | |
1468 |
1480 |
[[ -n ${ROOT} ]] && return 0
|
1469 |
1481 |
[[ -d ${ED}/$(get_libdir) ]] || return 0
|
1470 |
1482 |
[[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check
|
|
1483 |
|
|
1484 |
if [[ -L ${EROOT}/usr/lib/locale ]]; then
|
|
1485 |
# Help portage migrate this to a directory
|
|
1486 |
# https://bugs.gentoo.org/753740
|
|
1487 |
rm "${EROOT}"/usr/lib/locale || die
|
|
1488 |
fi
|
1471 |
1489 |
}
|
1472 |
1490 |
|
1473 |
1491 |
pkg_postinst() {
|