diff options
author | V3n3RiX <venerix@koprulu.sector> | 2025-01-03 06:31:16 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2025-01-03 06:31:16 +0000 |
commit | 5087ee3bf0055aae666159351774f2fb3610e571 (patch) | |
tree | 203f4d869518e7391a255055ca9a4b874e7b2d19 /sys-libs | |
parent | ff733bfb4d0bd82175e03255004faef8721b53ea (diff) |
gentoo auto-resync : 03:01:2025 - 06:31:16
Diffstat (limited to 'sys-libs')
-rw-r--r-- | sys-libs/Manifest.gz | bin | 13725 -> 13724 bytes | |||
-rw-r--r-- | sys-libs/glibc/Manifest | 4 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.40-r7.ebuild | 28 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-9999.ebuild | 28 | ||||
-rw-r--r-- | sys-libs/newlib/Manifest | 2 | ||||
-rw-r--r-- | sys-libs/newlib/newlib-4.5.0.20241231.ebuild | 178 |
6 files changed, 190 insertions, 50 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz Binary files differindex 218a8c6d47a0..ca5f95334cef 100644 --- a/sys-libs/Manifest.gz +++ b/sys-libs/Manifest.gz diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest index 695826e2d93e..50500a723eba 100644 --- a/sys-libs/glibc/Manifest +++ b/sys-libs/glibc/Manifest @@ -52,6 +52,6 @@ EBUILD glibc-2.37-r10.ebuild 53322 BLAKE2B 301a9c47f4149e927764cc132e6ec2a20b90a EBUILD glibc-2.38-r13.ebuild 55028 BLAKE2B fcee988603b8bcec9cf184c54e040c9190a98170170665c56998e9a14bec55b34e25fc1002b2aaa8bae29392968a8f543f2f68f1e564c52d9e7a0fcf5c829317 SHA512 9bd2e1fe3709f4b792575d37c6b343e2db3b4bb60090281521ac3b9c4e5b9bed2367453933a2df8c1fa9cc988a71e97d797c009f7bb9fabde6c2821ab61102dd EBUILD glibc-2.39-r11.ebuild 54663 BLAKE2B ef95a8014c990f42738c5b66b73416a55fab1b433af10d879a60d4d798ed3b9fca747242fb09d110f6a258e37bdbb384a85cc59dd8dc80f375c6faaa30ab4932 SHA512 3e8c216ac02f129a37de9d475980d911fb1ff77d09949f87ff6c5ffa666afdc6a35004d32d60d8a78b1abc17a823083442a68cbea6df35d4409897648ce8783f EBUILD glibc-2.40-r5.ebuild 54662 BLAKE2B 62dd423d70cd8598bc4e69dc49e9b5442d283af497b80c58a99fcc6d4977936b0171c0c76325978fd43ddccd7e3c6496984c90a171bfd7b27ce5296bd204f7e9 SHA512 4daab8f45afa47660e9edce14ce5733702a5c229e1dea24e702858425d30201686eb62b0fd2d6a9c99343e4c6e138352f18eacde24d99aada8ce610f001c5b33 -EBUILD glibc-2.40-r7.ebuild 55811 BLAKE2B acfceb338224a38741d4f2802041fbeb89ec0cc8d1326d14e4a9b7ae799e9a077fef3c1b0b72c2616f6cabf7763b425582745e53656ef121eec8f9ff174595df SHA512 6e036c5977c6bc4c095396b054df3397a01e2320683158c09387e3af18eb7cbec8c252b69ee478f8015881d81c03f4637a67af8806d2ca20293a9de2e3125c5e -EBUILD glibc-9999.ebuild 56078 BLAKE2B 21360b5d2946393f32e5e7ce9cf62e18598f991f337b607b290be9f2b1bed14af07656c1a1e58ac3971957890bf907ec5730072f172030e471fae482b9b26530 SHA512 9cfb30da99db7e500158f8933a7b77e34c1f67da6e72c399be12191a82924677c220f0de0ed69057cff72f5798f94ce4d948729bbef4d437c06a6682a9d9bbf2 +EBUILD glibc-2.40-r7.ebuild 55082 BLAKE2B 77720d61dc27850eee428d03ea2be5d66a24a1068d0eb489ea4ecef5b9f115d075342fc8d1f1f88978f6e683530d7e2f506bb30276a814a72d4409cf7f260643 SHA512 e210980f0f1ed540afddecc3108386ea2cef4b5d334133fc5ea01294aed7257f387679cfca5c7b482d709e2c7855fb0a47eb13fbef14189cf47e6dc81088c2ad +EBUILD glibc-9999.ebuild 55349 BLAKE2B fbf33cd94c24f68742d80c5e166844a499fc848af56f31d52e64278b09cccef853cd5863408a9b4a8ea3b606aa91168a21d387a1f8371a2eac7562208947901b SHA512 f7eb28cba747a9d6c8c60b7082275132bd85468c6a2f18a2e63df8897f7bf8a6b7ee6eb110b81b5004fc8cc9e16b5adc1ac16bd63442ea163dd9a8b72f5c6895 MISC metadata.xml 2142 BLAKE2B 765ba540eb10afccd1bade4de56f0c13ce269225500a62d1d17328194de69e7fa15d359a14eac6bfa8a36df45344db3d52f5e1811b174cf1fa2bfb95ad7760a7 SHA512 2f4a148c076a0967663d14e76b85a698ddae7093ff299b0dc95a6c3b00957c9bf73443f2bace9670eb62a45465efbcca892bb52b6aac8577acb2bc5f74a7397c diff --git a/sys-libs/glibc/glibc-2.40-r7.ebuild b/sys-libs/glibc/glibc-2.40-r7.ebuild index c24d663d40e0..66f7383c954d 100644 --- a/sys-libs/glibc/glibc-2.40-r7.ebuild +++ b/sys-libs/glibc/glibc-2.40-r7.ebuild @@ -248,29 +248,9 @@ build_eprefix() { is_crosscompile && echo "${EPREFIX}" } -# We need to be able to set alternative headers for compiling for non-native -# platform. Will also become useful for testing kernel-headers without screwing -# up the whole system. alt_headers() { - echo ${ALT_HEADERS:=$(alt_prefix)/usr/include} + echo $(alt_prefix)/usr/include } - -alt_build_headers() { - if [[ -z ${ALT_BUILD_HEADERS} ]] ; then - ALT_BUILD_HEADERS="$(host_eprefix)$(alt_headers)" - if tc-is-cross-compiler ; then - ALT_BUILD_HEADERS=${SYSROOT}$(alt_headers) - if [[ ! -e ${ALT_BUILD_HEADERS}/linux/version.h ]] ; then - local header_path=$(echo '#include <linux/version.h>' \ - | $(tc-getCPP ${CTARGET}) ${CFLAGS} 2>&1 \ - | grep -o '[^"]*linux/version.h') - ALT_BUILD_HEADERS=${header_path%/linux/version.h} - fi - fi - fi - echo "${ALT_BUILD_HEADERS}" -} - alt_libdir() { echo $(alt_prefix)/$(get_libdir) } @@ -792,7 +772,7 @@ eend_KV() { get_kheader_version() { printf '#include <linux/version.h>\nLINUX_VERSION_CODE\n' | \ - $(tc-getCPP ${CTARGET}) -I "$(build_eprefix)$(alt_build_headers)" - | \ + $(tc-getCPP ${CTARGET}) -I "${ESYSROOT}$(alt_headers)" - | \ tail -n 1 } @@ -1065,7 +1045,7 @@ glibc_do_configure() { --host=${CTARGET_OPT:-${CTARGET}} $(use_enable profile) $(use_with gd) - --with-headers=$(build_eprefix)$(alt_build_headers) + --with-headers="${ESYSROOT}$(alt_headers)" --prefix="$(host_eprefix)/usr" --sysconfdir="$(host_eprefix)/etc" --localstatedir="$(host_eprefix)/var" @@ -1228,7 +1208,7 @@ glibc_headers_configure() { --enable-bind-now --build=${CBUILD_OPT:-${CBUILD}} --host=${CTARGET_OPT:-${CTARGET}} - --with-headers=$(build_eprefix)$(alt_build_headers) + --with-headers="${ESYSROOT}$(alt_headers)" --prefix="$(host_eprefix)/usr" ${EXTRA_ECONF} ) diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild index 68c5b9325049..39f4cd3f2872 100644 --- a/sys-libs/glibc/glibc-9999.ebuild +++ b/sys-libs/glibc/glibc-9999.ebuild @@ -250,29 +250,9 @@ build_eprefix() { is_crosscompile && echo "${EPREFIX}" } -# We need to be able to set alternative headers for compiling for non-native -# platform. Will also become useful for testing kernel-headers without screwing -# up the whole system. alt_headers() { - echo ${ALT_HEADERS:=$(alt_prefix)/usr/include} + echo $(alt_prefix)/usr/include } - -alt_build_headers() { - if [[ -z ${ALT_BUILD_HEADERS} ]] ; then - ALT_BUILD_HEADERS="$(host_eprefix)$(alt_headers)" - if tc-is-cross-compiler ; then - ALT_BUILD_HEADERS=${SYSROOT}$(alt_headers) - if [[ ! -e ${ALT_BUILD_HEADERS}/linux/version.h ]] ; then - local header_path=$(echo '#include <linux/version.h>' \ - | $(tc-getCPP ${CTARGET}) ${CFLAGS} 2>&1 \ - | grep -o '[^"]*linux/version.h') - ALT_BUILD_HEADERS=${header_path%/linux/version.h} - fi - fi - fi - echo "${ALT_BUILD_HEADERS}" -} - alt_libdir() { echo $(alt_prefix)/$(get_libdir) } @@ -798,7 +778,7 @@ eend_KV() { get_kheader_version() { printf '#include <linux/version.h>\nLINUX_VERSION_CODE\n' | \ - $(tc-getCPP ${CTARGET}) -I "$(build_eprefix)$(alt_build_headers)" - | \ + $(tc-getCPP ${CTARGET}) -I "${ESYSROOT}$(alt_headers)" - | \ tail -n 1 } @@ -1077,7 +1057,7 @@ glibc_do_configure() { --host=${CTARGET_OPT:-${CTARGET}} $(use_enable profile) $(use_with gd) - --with-headers=$(build_eprefix)$(alt_build_headers) + --with-headers="${ESYSROOT}$(alt_headers)" --prefix="$(host_eprefix)/usr" --sysconfdir="$(host_eprefix)/etc" --localstatedir="$(host_eprefix)/var" @@ -1240,7 +1220,7 @@ glibc_headers_configure() { --enable-bind-now --build=${CBUILD_OPT:-${CBUILD}} --host=${CTARGET_OPT:-${CTARGET}} - --with-headers=$(build_eprefix)$(alt_build_headers) + --with-headers="${ESYSROOT}$(alt_headers)" --prefix="$(host_eprefix)/usr" ${EXTRA_ECONF} ) diff --git a/sys-libs/newlib/Manifest b/sys-libs/newlib/Manifest index 37b686c5c4a1..0eaf7de5113f 100644 --- a/sys-libs/newlib/Manifest +++ b/sys-libs/newlib/Manifest @@ -2,7 +2,9 @@ AUX newlib-3.3.0-no-nano-cxx.patch 1338 BLAKE2B ff16751b01784a38dc07aa79120c38f0 AUX newlib-4.3.0.20230120-libc-arm-setjmp-gcc-backwards-compat.patch 2411 BLAKE2B db79f5e534f70bc6338a647a242498d0e175624671c41ae9abf9030b046ffc50e576c7a25fe44e6607cdf42c072995e7d685889ae442097ad1c469919d59936c SHA512 91c684078904a38b0791bf788f48145eff9ccb393a8d1e181d5a66b3e359732576f257bd5908cd02844459cf12bbb2b43fbcd9b9095c36c08e6408aa68be95d1 DIST newlib-4.3.0.20230120.tar.gz 8832922 BLAKE2B b5493f25e44049f4e1222698894e7e67756928062e05f5d16bcd52b2221e5c04a80a9e0cbc3fc6e92d67fe6b3813e06b6d3a6d39e8742e02b8f13ff84d809de1 SHA512 4a06309d36c2255fef8fc8f2d133cafa850f1ed2eddfb27b5d45f5d16af69e0fca829a0b4c9b34af4ed3a28c6fcc929761e0ee823a4229f35c2853d432b5e7ef DIST newlib-4.4.0.20231231.tar.gz 9022406 BLAKE2B 1df810c7776aa1fe2806682509ab45df642f5e80d6069b7c6ca513b3d820440fc73abdf7505d1f3149d0a07f0c5558a48620d2824f1698c2f1df5f6473105eb4 SHA512 ea3baa0b7c9175aae024f0b7d272be092ef2c07483239a99329203e18a44bc23093d29e0ffcbe14bc591f610f0829eacd646cabb06d1c34aa23239cb1b814b46 +DIST newlib-4.5.0.20241231.tar.gz 9081514 BLAKE2B 8b019d50ef30e736eaf5de8a6ad2f9aee25757162cfc38fca4ad33496b98394292c013d1e3de3309cd81514b3738472405a0841b965b92ec092d2e7f618021fe SHA512 d391ea3ac68ddb722909ef790f81ba4d6c35d9b2e0fcdb029f91a6c47db9ee94a686a2bdff211fb84025e1a317e257acfa59abda3fd2bc6609966798e1c604dc EBUILD newlib-4.3.0.20230120-r2.ebuild 4519 BLAKE2B 9db3b20c71eb0a64914497fe39df11cada6f60376a1677f8875b10853cfc6264102e314c2ebf34357a700e4549eda6fe3dc969151ecc9339a9d501820cf8b485 SHA512 8fd374c92ed35b6f6ca5d782ca343c6fbce0594f6585fae96f5000da287c78c8f7d15502e7394fdf3890d5865099e3d01ae9a67bc5f009071ac3c78782994d17 EBUILD newlib-4.4.0.20231231.ebuild 4906 BLAKE2B 48d0923da559914a2b36618111eedc6610dbb75c8982596d5f1ff8bd048bb7fa4872ead719f7a81622ee92a51969e96d01c68a4b8b57445d45a4cbf4145054d6 SHA512 d9609c845b667160f289ba2c9d1f36c91a06dc0afad8dcb72c80b231eb0456fb99cb8fdcb9ceaf2d471e331fbf30daa13fa352a6e0ab988d72478681b6998deb +EBUILD newlib-4.5.0.20241231.ebuild 4906 BLAKE2B 6bc11b707039b319ab93d9fa2585a60feeb9636d393889039737fe7dd1e4e6f2f002839ece0159f16e5577a4c5a12c9fafd612a0913beb7f1cd98b92fafb7ad9 SHA512 e07f3e2122664eaff1b86b8c63f05b256a29141271f347e7c306c602c32ea636a4ab946e7a675ec8345bea4db75ce2895a58426ebc31e33abf0ddf7116c0f72b EBUILD newlib-9999.ebuild 4906 BLAKE2B 48d0923da559914a2b36618111eedc6610dbb75c8982596d5f1ff8bd048bb7fa4872ead719f7a81622ee92a51969e96d01c68a4b8b57445d45a4cbf4145054d6 SHA512 d9609c845b667160f289ba2c9d1f36c91a06dc0afad8dcb72c80b231eb0456fb99cb8fdcb9ceaf2d471e331fbf30daa13fa352a6e0ab988d72478681b6998deb MISC metadata.xml 502 BLAKE2B c9a9b25addc0f08e3ce84c063ec9a3a94de8ba15b91dabade89a05e81bc841ea95395a6aa715e0d431338a47973e6d7a203a6ba0c41fba66c743364fb8ce70b6 SHA512 7684d64003c900fff73681b3401de172f0b6278801f7984c2e60773a9a9f6e8788780cb28810b11643db7a37c1529df6d54a8ceac381991c79e9fd344612e445 diff --git a/sys-libs/newlib/newlib-4.5.0.20241231.ebuild b/sys-libs/newlib/newlib-4.5.0.20241231.ebuild new file mode 100644 index 000000000000..3a1f6a3d13af --- /dev/null +++ b/sys-libs/newlib/newlib-4.5.0.20241231.ebuild @@ -0,0 +1,178 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +inherit flag-o-matic toolchain-funcs + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://sourceware.org/git/newlib-cygwin.git" + inherit git-r3 +else + SRC_URI="https://sourceware.org/pub/newlib/${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi + +DESCRIPTION="Newlib is a C library intended for use on embedded systems" +HOMEPAGE="https://sourceware.org/newlib/" + +LICENSE="NEWLIB LIBGLOSS GPL-2" +SLOT="0" +IUSE="nls threads unicode headers-only nano" +RESTRICT="strip" + +PATCHES=( + "${FILESDIR}"/${PN}-3.3.0-no-nano-cxx.patch +) + +NEWLIBBUILD="${WORKDIR}/build" +NEWLIBNANOBUILD="${WORKDIR}/build.nano" +NEWLIBNANOTMPINSTALL="${WORKDIR}/nano_tmp_install" + +CFLAGS_FULL="-ffunction-sections -fdata-sections" +CFLAGS_NANO="-Os -ffunction-sections -fdata-sections" + +pkg_setup() { + # Reject newlib-on-glibc type installs + if [[ ${CTARGET} == ${CHOST} ]] ; then + case ${CHOST} in + *-newlib|*-elf) ;; + *) die "Use sys-devel/crossdev to build a newlib toolchain" ;; + esac + fi + + case ${CTARGET} in + msp430*) + if ver_test $(gcc-version ${CTARGET}) -lt 10.1; then + # bug #717610 + die "gcc for ${CTARGET} has to be 10.1 or above" + fi + ;; + esac +} + +src_configure() { + # TODO: we should fix this + unset LDFLAGS + CHOST=${CTARGET} strip-unsupported-flags + CCASFLAGS_ORIG="${CCASFLAGS}" + CFLAGS_ORIG="${CFLAGS}" + + local myconf=( + # The top-level configure doesn't utilize this flag, but subdirs do, + # so autodetection for econf doesn't work. Add ourselves. + --disable-dependency-tracking + --disable-silent-rules + # Disable legacy syscall stub code in newlib. These have been + # moved to libgloss for a long time now, so the code in newlib + # itself just gets in the way. + --disable-newlib-supplied-syscalls + ) + [[ ${CTARGET} == "spu" ]] \ + && myconf+=( --disable-newlib-multithread ) \ + || myconf+=( $(use_enable threads newlib-multithread) ) + + mkdir -p "${NEWLIBBUILD}" + cd "${NEWLIBBUILD}" + + export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_FULL}" + export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_FULL}" + + [[ ${CTARGET} == nvptx* ]] && { + CFLAGS_FOR_TARGET+=" -Wa,--no-verify" + CCASFLAGS+=" -Wa,--no-verify" + } + + ECONF_SOURCE=${S} \ + econf \ + $(use_enable unicode newlib-mb) \ + $(use_enable nls) \ + "${myconf[@]}" + + # Build newlib-nano beside newlib (original) + # Based on https://tracker.debian.org/media/packages/n/newlib/rules-2.1.0%2Bgit20140818.1a8323b-2 + if use nano ; then + mkdir -p "${NEWLIBNANOBUILD}" || die + cd "${NEWLIBNANOBUILD}" || die + export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_NANO}" + export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_NANO}" + + [[ ${CTARGET} == nvptx* ]] && { + CFLAGS_FOR_TARGET+=" -Wa,--no-verify" + CCASFLAGS+=" -Wa,--no-verify" + } + + ECONF_SOURCE=${S} \ + econf \ + $(use_enable unicode newlib-mb) \ + $(use_enable nls) \ + --enable-newlib-reent-small \ + --disable-newlib-fvwrite-in-streamio \ + --disable-newlib-fseek-optimization \ + --disable-newlib-wide-orient \ + --enable-newlib-nano-malloc \ + --disable-newlib-unbuf-stream-opt \ + --enable-lite-exit \ + --enable-newlib-global-atexit \ + --enable-newlib-nano-formatted-io \ + "${myconf[@]}" + fi +} + +src_compile() { + export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_FULL}" + export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_FULL}" + + [[ ${CTARGET} == nvptx* ]] && { + CFLAGS_FOR_TARGET+=" -Wa,--no-verify" + CCASFLAGS+=" -Wa,--no-verify" + } + + emake -C "${NEWLIBBUILD}" + + if use nano ; then + export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_NANO}" + export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_NANO}" + + [[ ${CTARGET} == nvptx* ]] && { + CFLAGS_FOR_TARGET+=" -Wa,--no-verify" + CCASFLAGS+=" -Wa,--no-verify" + } + + emake -C "${NEWLIBNANOBUILD}" + fi +} + +src_install() { + cd "${NEWLIBBUILD}" || die + emake DESTDIR="${D}" install + + if use nano ; then + cd "${NEWLIBNANOBUILD}" || die + emake DESTDIR="${NEWLIBNANOTMPINSTALL}" install + # Rename nano lib* files to lib*_nano and move to the real ${D} + local nanolibfiles="" + nanolibfiles=$(find "${NEWLIBNANOTMPINSTALL}" -regex ".*/lib\(c\|g\|m\|rdimon\|gloss\)\.a" -print) + for f in ${nanolibfiles}; do + local l="${f##${NEWLIBNANOTMPINSTALL}}" + mv -v "${f}" "${D}/${l%%\.a}_nano.a" || die + done + + # Move newlib-nano's version of newlib.h to newlib-nano/newlib.h + mkdir -p "${ED}/usr/${CTARGET}/include/newlib-nano" || die + mv "${NEWLIBNANOTMPINSTALL}/${EPREFIX}/usr/${CTARGET}/include/newlib.h" \ + "${ED}/usr/${CTARGET}/include/newlib-nano/newlib.h" || die + fi + + # minor hack to keep things clean + rm -rf "${D}"/usr/share/info || die + rm -rf "${D}"/usr/info || die +} |