mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-28 17:11:34 +02:00
Merge pull request #2126 from flatcar/buildbot/weekly-portage-stable-package-updates-2024-07-16
Weekly portage-stable package updates 2024-07-16
This commit is contained in:
commit
dd9035644f
8
changelog/updates/2024-07-16-weekly-updates.md
Normal file
8
changelog/updates/2024-07-16-weekly-updates.md
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
- sqlite ([3.46.0](https://www.sqlite.org/releaselog/3_46_0.html))
|
||||||
|
- bpftool ([6.9.2](https://kernelnewbies.org/Linux_6.9#Tracing.2C_perf_and_BPF))
|
||||||
|
- ipset ([7.22](https://ipset.netfilter.org/changelog.html))
|
||||||
|
- curl ([8.8.0](https://curl.se/changes.html#8_8_0))
|
||||||
|
- sysext-python: setuptools([70.1.1](https://setuptools.pypa.io/en/stable/history.html#v70-1-1) (includes [70.1.0](https://setuptools.pypa.io/en/stable/history.html#v70-1-0), [70.0.0](https://setuptools.pypa.io/en/stable/history.html#v70-0-0), [69.5.1](https://setuptools.pypa.io/en/stable/history.html#v69-5-1), [69.5.0](https://setuptools.pypa.io/en/stable/history.html#v69-5-0), [69.4.2](https://setuptools.pypa.io/en/stable/history.html#v69-4-2), [69.4.1](https://setuptools.pypa.io/en/stable/history.html#v69-4-1), [69.4.0](https://setuptools.pypa.io/en/stable/history.html#v69-4-0), [69.3.1](https://setuptools.pypa.io/en/stable/history.html#v69-3-1), [69.3.0](https://setuptools.pypa.io/en/stable/history.html#v69-3-0), [69.2.0](https://setuptools.pypa.io/en/stable/history.html#v69-2-0)))
|
||||||
|
- sysext-python: jaraco-text ([3.12.1](https://github.com/jaraco/jaraco.text/compare/v3.12.0...v3.12.1))
|
||||||
|
- sysext-python: trove-classifiers ([2024.7.2](https://github.com/pypa/trove-classifiers/compare/2024.5.22...2024.7.2))
|
||||||
|
- SDK: portage ([3.0.65](https://github.com/gentoo/portage/blob/f03998622e0960388e903de0d6d24bdf6881e567/NEWS#L9))
|
@ -94,12 +94,8 @@ dev-util/catalyst ~amd64 ~arm64
|
|||||||
=net-libs/libnetfilter_cthelper-1.0.1-r1 ~arm64
|
=net-libs/libnetfilter_cthelper-1.0.1-r1 ~arm64
|
||||||
=net-libs/libnetfilter_cttimeout-1.0.1 ~arm64
|
=net-libs/libnetfilter_cttimeout-1.0.1 ~arm64
|
||||||
|
|
||||||
# Required to address coreutils-2024-03-28
|
|
||||||
=sys-apps/coreutils-9.5 ~amd64 ~arm64
|
|
||||||
|
|
||||||
# Keep versions on both arches in sync.
|
# Keep versions on both arches in sync.
|
||||||
=sys-apps/kexec-tools-2.0.28 ~arm64
|
=sys-apps/kexec-tools-2.0.28 ~arm64
|
||||||
=sys-apps/nvme-cli-2.9.1 ~arm64
|
|
||||||
|
|
||||||
sys-apps/zram-generator ~amd64 ~arm64
|
sys-apps/zram-generator ~amd64 ~arm64
|
||||||
|
|
||||||
@ -112,8 +108,5 @@ sys-apps/zram-generator ~amd64 ~arm64
|
|||||||
# Keep versions on both arches in sync.
|
# Keep versions on both arches in sync.
|
||||||
=sys-firmware/edk2-aarch64-18.02 **
|
=sys-firmware/edk2-aarch64-18.02 **
|
||||||
|
|
||||||
# Keep versions on both arches in sync.
|
|
||||||
=sys-libs/libnvme-1.9 ~arm64
|
|
||||||
|
|
||||||
# Accept unstable host Rust compilers.
|
# Accept unstable host Rust compilers.
|
||||||
=virtual/rust-1.79.0 ~amd64 ~arm64
|
=virtual/rust-1.79.0 ~amd64 ~arm64
|
||||||
|
@ -51,6 +51,10 @@ src_configure() {
|
|||||||
# Avoid text relocation in gzip
|
# Avoid text relocation in gzip
|
||||||
use pic && export DEFS="NO_ASM"
|
use pic && export DEFS="NO_ASM"
|
||||||
|
|
||||||
|
# embeds the path to grep detected at build time into installed scripts;
|
||||||
|
# use the canonical USE="split-usr" agnostic path. bug #935721
|
||||||
|
export GREP="${EPREFIX}/bin/grep"
|
||||||
|
|
||||||
# bug #663928
|
# bug #663928
|
||||||
econf --disable-gcc-warnings
|
econf --disable-gcc-warnings
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
# Copyright 1999-2024 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=8
|
EAPI=8
|
||||||
@ -7,7 +7,7 @@ inherit autotools flag-o-matic
|
|||||||
|
|
||||||
DESCRIPTION="Parallel bzip2 utility"
|
DESCRIPTION="Parallel bzip2 utility"
|
||||||
HOMEPAGE="https://github.com/kjn/lbzip2/"
|
HOMEPAGE="https://github.com/kjn/lbzip2/"
|
||||||
SRC_URI="https://dev.gentoo.org/~whissi/dist/${PN}/${P}.tar.gz"
|
SRC_URI="mirror://gentoo/05/${P}.tar.gz"
|
||||||
|
|
||||||
LICENSE="GPL-3"
|
LICENSE="GPL-3"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
|
@ -23,7 +23,7 @@ S="${WORKDIR}/${MY_P}"
|
|||||||
|
|
||||||
LICENSE="GPL-3+"
|
LICENSE="GPL-3+"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
IUSE="bzip2 doc ldap nls readline selinux +smartcard ssl test tofu tools usb user-socket wks-server"
|
IUSE="bzip2 doc ldap nls readline selinux +smartcard ssl test tofu tools usb user-socket wks-server"
|
||||||
RESTRICT="!test? ( test )"
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ EAPI=8
|
|||||||
|
|
||||||
DISTUTILS_EXT=1
|
DISTUTILS_EXT=1
|
||||||
DISTUTILS_OPTIONAL=1
|
DISTUTILS_OPTIONAL=1
|
||||||
PYTHON_COMPAT=( python3_{10..12} )
|
PYTHON_COMPAT=( python3_{10..13} )
|
||||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
|
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
|
||||||
|
|
||||||
# in-source builds are not supported:
|
# in-source builds are not supported:
|
||||||
|
@ -2,3 +2,5 @@ DIST pinentry-1.2.1.tar.bz2 547698 BLAKE2B aa47612aa3a6f74c3676bf4018780356cb22e
|
|||||||
DIST pinentry-1.2.1.tar.bz2.sig 238 BLAKE2B 01ba3dc296a8e76c546d21d0bb0cd13778476d5d5b3ef55a3401c6a0353a56d79250d11555afb31c77c5a77e63847ded0f8eaef395bb0dc2ee3ff1d6a4ed83bd SHA512 d0e8435dc169a58f111f057f1c9fbb6c70da32a850f1107d6abdf41357c1714832728109ae61507db313d7eaef9596e5faf92fd21bed78adcc46a8c8a590430b
|
DIST pinentry-1.2.1.tar.bz2.sig 238 BLAKE2B 01ba3dc296a8e76c546d21d0bb0cd13778476d5d5b3ef55a3401c6a0353a56d79250d11555afb31c77c5a77e63847ded0f8eaef395bb0dc2ee3ff1d6a4ed83bd SHA512 d0e8435dc169a58f111f057f1c9fbb6c70da32a850f1107d6abdf41357c1714832728109ae61507db313d7eaef9596e5faf92fd21bed78adcc46a8c8a590430b
|
||||||
DIST pinentry-1.3.0.tar.bz2 610363 BLAKE2B a55b80754ef37d18ebdf0bd50e134a7b1bf6362b859b7069a9e4ebd86cd7e733d51f3c21a16779a18aa0d0dfab1f7a3df070d4f7e39e0840339078c4e9cb58bc SHA512 1bbac81c6811cffc8969a46494e6daa6b8447802f47ff6fa3e4dc9ac244cf6e5f629834c9b6a60770d06bff6c9932ad4059f10d2fdf93fd9e26fd5d21c0e3732
|
DIST pinentry-1.3.0.tar.bz2 610363 BLAKE2B a55b80754ef37d18ebdf0bd50e134a7b1bf6362b859b7069a9e4ebd86cd7e733d51f3c21a16779a18aa0d0dfab1f7a3df070d4f7e39e0840339078c4e9cb58bc SHA512 1bbac81c6811cffc8969a46494e6daa6b8447802f47ff6fa3e4dc9ac244cf6e5f629834c9b6a60770d06bff6c9932ad4059f10d2fdf93fd9e26fd5d21c0e3732
|
||||||
DIST pinentry-1.3.0.tar.bz2.sig 119 BLAKE2B 0f11126761b2a06f8b08cf971f5d610cacbde1a5ee419523a6e704ac21fef4cce26495a160a51bee5ed5f68eca7d6864dfa03efa48030ba2cf783e767b925e1c SHA512 77a61877adf241d67caeea3af4c12a2c7c13ddc423ac001fab79bcec463a5853d8806052d61504fae0c67e0a9d1edf6a12d24b560ff7b4083eea5e86f9b54a90
|
DIST pinentry-1.3.0.tar.bz2.sig 119 BLAKE2B 0f11126761b2a06f8b08cf971f5d610cacbde1a5ee419523a6e704ac21fef4cce26495a160a51bee5ed5f68eca7d6864dfa03efa48030ba2cf783e767b925e1c SHA512 77a61877adf241d67caeea3af4c12a2c7c13ddc423ac001fab79bcec463a5853d8806052d61504fae0c67e0a9d1edf6a12d24b560ff7b4083eea5e86f9b54a90
|
||||||
|
DIST pinentry-1.3.1.tar.bz2 611233 BLAKE2B 47a510b3746fc8cdd83b56302132f4f4d9c61324fc857ce0867387f70f79490dad375bca4dc72e5d1cdca707bf89a16e1c9a20bf1aa0e857d69e59dc59403afd SHA512 3b72034dc1792b1475acb6d605ff7c1bd7647a0f02d1b6bdcd475acdef24bc802f49e275055436c3271261c4b7a64168477a698aab812a145962146b2f67a0e2
|
||||||
|
DIST pinentry-1.3.1.tar.bz2.sig 119 BLAKE2B ca562d2903c88c4297e641ddc39f6cd99db3e3fd40cf5d69e7b4335f006c7717c874fa4b5e47920af3ec97385a96c0c96aafb849cf399d11a7f9f1a6b693f479 SHA512 22bd94f74486300eb84c1c9c371a43b05fb6179118518004fba0d42b6d3e6731f94d79b37c2a3a6b0c5886578c4575f75d2460accd36cd4874342e7239521be9
|
||||||
|
143
sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.1.ebuild
vendored
Normal file
143
sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.1.ebuild
vendored
Normal file
@ -0,0 +1,143 @@
|
|||||||
|
# Copyright 1999-2024 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
|
||||||
|
inherit autotools qmake-utils verify-sig
|
||||||
|
|
||||||
|
DESCRIPTION="Simple passphrase entry dialogs which utilize the Assuan protocol"
|
||||||
|
HOMEPAGE="https://gnupg.org/related_software/pinentry/"
|
||||||
|
SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
|
||||||
|
SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
|
||||||
|
|
||||||
|
LICENSE="GPL-2"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
|
IUSE="caps efl emacs gtk keyring ncurses qt5 qt6 wayland X"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
>=dev-libs/libassuan-2.1:=
|
||||||
|
>=dev-libs/libgcrypt-1.6.3
|
||||||
|
>=dev-libs/libgpg-error-1.17
|
||||||
|
efl? ( dev-libs/efl[X] )
|
||||||
|
keyring? ( app-crypt/libsecret )
|
||||||
|
ncurses? ( sys-libs/ncurses:= )
|
||||||
|
qt5? (
|
||||||
|
dev-qt/qtcore:5
|
||||||
|
dev-qt/qtgui:5
|
||||||
|
dev-qt/qtwidgets:5
|
||||||
|
wayland? ( kde-plasma/kwayland:5 )
|
||||||
|
X? (
|
||||||
|
dev-qt/qtx11extras:5
|
||||||
|
x11-libs/libX11
|
||||||
|
)
|
||||||
|
)
|
||||||
|
qt6? (
|
||||||
|
dev-qt/qtbase:6[gui,widgets]
|
||||||
|
wayland? (
|
||||||
|
kde-frameworks/kguiaddons:6
|
||||||
|
kde-frameworks/kwindowsystem:6
|
||||||
|
)
|
||||||
|
)
|
||||||
|
"
|
||||||
|
RDEPEND="
|
||||||
|
${DEPEND}
|
||||||
|
gtk? ( app-crypt/gcr:4[gtk] )
|
||||||
|
"
|
||||||
|
BDEPEND="
|
||||||
|
sys-devel/gettext
|
||||||
|
virtual/pkgconfig
|
||||||
|
verify-sig? ( sec-keys/openpgp-keys-gnupg )
|
||||||
|
"
|
||||||
|
PDEPEND="emacs? ( app-emacs/pinentry )"
|
||||||
|
IDEPEND=">=app-eselect/eselect-pinentry-0.7.4"
|
||||||
|
|
||||||
|
DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}/${PN}-1.0.0-AR.patch"
|
||||||
|
"${FILESDIR}/${PN}-1.3.0-automagic.patch" # bug #819939, bug #837719
|
||||||
|
)
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
|
||||||
|
eautoreconf
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
unset FLTK_CONFIG
|
||||||
|
|
||||||
|
local myeconfargs=(
|
||||||
|
$(use_enable efl pinentry-efl)
|
||||||
|
$(use_enable emacs pinentry-emacs)
|
||||||
|
$(use_enable keyring libsecret)
|
||||||
|
$(use_enable gtk pinentry-gnome3)
|
||||||
|
$(use_enable ncurses fallback-curses)
|
||||||
|
$(use_enable ncurses pinentry-curses)
|
||||||
|
$(use_enable qt5 pinentry-qt5)
|
||||||
|
$(use_enable qt6 pinentry-qt)
|
||||||
|
# TODO: could split this up into qt5/qt6?
|
||||||
|
$(use_enable X qtx11extras)
|
||||||
|
$(use_with X x)
|
||||||
|
|
||||||
|
--enable-pinentry-tty
|
||||||
|
--disable-pinentry-fltk
|
||||||
|
--disable-pinentry-gtk2
|
||||||
|
|
||||||
|
ac_cv_path_GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config"
|
||||||
|
|
||||||
|
$("${S}/configure" --help | grep -- '--without-.*-prefix' | sed -e 's/^ *\([^ ]*\) .*/\1/g')
|
||||||
|
)
|
||||||
|
|
||||||
|
if use qt5 ; then
|
||||||
|
export PATH="$(qt5_get_bindir):${PATH}"
|
||||||
|
export QTLIB="$(qt5_get_libdir):${QTLIB}"
|
||||||
|
export MOC5="$(qt5_get_bindir)"/moc
|
||||||
|
|
||||||
|
myeconfargs+=(
|
||||||
|
$(use_enable wayland kf5-wayland)
|
||||||
|
)
|
||||||
|
else
|
||||||
|
myeconfargs+=(
|
||||||
|
--disable-kf5-wayland
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use qt6 ; then
|
||||||
|
export PATH="$(qt6_get_bindir):${PATH}"
|
||||||
|
export QTLIB="$(qt6_get_libdir):${QTLIB}"
|
||||||
|
export MOC="$(qt6_get_libdir)/qt6/libexec/moc"
|
||||||
|
|
||||||
|
myeconfargs+=(
|
||||||
|
$(use_enable wayland kf6-wayland)
|
||||||
|
)
|
||||||
|
else
|
||||||
|
myeconfargs+=(
|
||||||
|
--disable-kf6-wayland
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
econf "${myeconfargs[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
default
|
||||||
|
|
||||||
|
rm "${ED}"/usr/bin/pinentry || die
|
||||||
|
|
||||||
|
# The preferred Qt implementation upstream gets installed as just 'qt'.
|
||||||
|
# Make a symlink for eselect-pinentry and friends.
|
||||||
|
if use qt6 ; then
|
||||||
|
dosym pinentry-qt /usr/bin/pinentry-qt6
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
eselect pinentry update ifunset
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
eselect pinentry update ifunset
|
||||||
|
}
|
@ -1,2 +1,3 @@
|
|||||||
DIST nano-7.2.tar.xz 1608444 BLAKE2B c7e3b18383e9f2f9db1f6059c875ddd164d730ea0e5b363e66fb8e5f30e8598ba49a5afd8eea3a55e295f1e43fb136019f60cc9154ae276c5d589002c0e5298a SHA512 a6dfa70edab62e439a9a998ca214f2415d57dbdc01766ad2e4b14048836557a32755f8b09de13c6a89023f215b61d2854017b389eae8d097ca6f3ba73ce2f583
|
DIST nano-7.2.tar.xz 1608444 BLAKE2B c7e3b18383e9f2f9db1f6059c875ddd164d730ea0e5b363e66fb8e5f30e8598ba49a5afd8eea3a55e295f1e43fb136019f60cc9154ae276c5d589002c0e5298a SHA512 a6dfa70edab62e439a9a998ca214f2415d57dbdc01766ad2e4b14048836557a32755f8b09de13c6a89023f215b61d2854017b389eae8d097ca6f3ba73ce2f583
|
||||||
DIST nano-8.0.tar.xz 1666272 BLAKE2B ba36182da059a3ee4c1fc60a200dee26f47cc6b1441b7ff665b82871f2f8fcac054f6adf82966d353234141bf9c521518da8fa967aca28307bccf43e015ddaea SHA512 86c484428b8805768fd580d0f62aa32ce8f588f4beedcdd35a4014506b562928c7a2fa6487aa0d853b4c9c1639a4d186f46b4e96721568ff81191d5098403ca8
|
DIST nano-8.0.tar.xz 1666272 BLAKE2B ba36182da059a3ee4c1fc60a200dee26f47cc6b1441b7ff665b82871f2f8fcac054f6adf82966d353234141bf9c521518da8fa967aca28307bccf43e015ddaea SHA512 86c484428b8805768fd580d0f62aa32ce8f588f4beedcdd35a4014506b562928c7a2fa6487aa0d853b4c9c1639a4d186f46b4e96721568ff81191d5098403ca8
|
||||||
|
DIST nano-8.1.tar.xz 1667392 BLAKE2B e454f6e5ef86afbab3b2cf6707954d8821bf47ebc89bdad8cc6c70e2d4bb9fac27614069140f40140bca156b14605d286b0dca42469901c6559051089645cab8 SHA512 cb7d696bd18322ba1e713282e3156934e2c7f2a8abc17c99b2d5ae91fa40ea1478758853d4ad391f72039f01cfe0db79fd7302f3e67ed2afeff3a447b6f975ec
|
||||||
|
@ -9,7 +9,7 @@ if [[ ${PV} == 9999 ]] ; then
|
|||||||
else
|
else
|
||||||
MY_P="${PN}-${PV/_}"
|
MY_P="${PN}-${PV/_}"
|
||||||
SRC_URI="https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz"
|
SRC_URI="https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz"
|
||||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DESCRIPTION="GNU GPL'd Pico clone with more functionality"
|
DESCRIPTION="GNU GPL'd Pico clone with more functionality"
|
||||||
|
105
sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.1.ebuild
vendored
Normal file
105
sdk_container/src/third_party/portage-stable/app-editors/nano/nano-8.1.ebuild
vendored
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
# Copyright 1999-2024 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
EGIT_REPO_URI="https://git.savannah.gnu.org/git/nano.git"
|
||||||
|
inherit autotools git-r3
|
||||||
|
else
|
||||||
|
MY_P="${PN}-${PV/_}"
|
||||||
|
SRC_URI="https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DESCRIPTION="GNU GPL'd Pico clone with more functionality"
|
||||||
|
HOMEPAGE="https://www.nano-editor.org/ https://wiki.gentoo.org/wiki/Nano/Guide"
|
||||||
|
|
||||||
|
LICENSE="GPL-3+ LGPL-2.1+ || ( GPL-3+ FDL-1.2+ )"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="debug justify magic minimal ncurses nls +spell unicode"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
>=sys-libs/ncurses-5.9-r1:=[unicode(+)?]
|
||||||
|
magic? ( sys-apps/file )
|
||||||
|
nls? ( virtual/libintl )
|
||||||
|
"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
BDEPEND="
|
||||||
|
nls? ( sys-devel/gettext )
|
||||||
|
virtual/pkgconfig
|
||||||
|
"
|
||||||
|
|
||||||
|
REQUIRED_USE="
|
||||||
|
magic? ( !minimal )
|
||||||
|
"
|
||||||
|
|
||||||
|
# gnulib FPs
|
||||||
|
QA_CONFIG_IMPL_DECL_SKIP=( unreachable MIN static_assert )
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
eautoreconf
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
local myconfargs=(
|
||||||
|
--bindir="${EPREFIX}"/bin
|
||||||
|
--htmldir=/trash
|
||||||
|
$(use_enable !minimal color)
|
||||||
|
$(use_enable !minimal multibuffer)
|
||||||
|
$(use_enable !minimal nanorc)
|
||||||
|
$(use_enable magic libmagic)
|
||||||
|
$(use_enable spell speller)
|
||||||
|
$(use_enable justify)
|
||||||
|
$(use_enable debug)
|
||||||
|
$(use_enable nls)
|
||||||
|
$(use_enable unicode utf8)
|
||||||
|
$(use_enable minimal tiny)
|
||||||
|
)
|
||||||
|
|
||||||
|
econf "${myconfargs[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
default
|
||||||
|
|
||||||
|
# Don't use "${ED}" here or things break (#654534)
|
||||||
|
rm -r "${D}"/trash || die
|
||||||
|
|
||||||
|
dodoc doc/sample.nanorc
|
||||||
|
docinto html
|
||||||
|
dodoc doc/faq.html
|
||||||
|
insinto /etc
|
||||||
|
newins doc/sample.nanorc nanorc
|
||||||
|
|
||||||
|
if ! use minimal ; then
|
||||||
|
# Enable colorization by default.
|
||||||
|
sed -i \
|
||||||
|
-e '/^# include /s:# *::' \
|
||||||
|
"${ED}"/etc/nanorc || die
|
||||||
|
|
||||||
|
# Since nano-5.0 these are no longer being "enabled" by default
|
||||||
|
# (bug #736848)
|
||||||
|
local rcdir="/usr/share/nano"
|
||||||
|
mv "${ED}"${rcdir}/extra/* "${ED}"/${rcdir}/ || die
|
||||||
|
rmdir "${ED}"${rcdir}/extra || die
|
||||||
|
|
||||||
|
insinto "${rcdir}"
|
||||||
|
newins "${FILESDIR}/gentoo.nanorc-r1" gentoo.nanorc
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
[[ -n ${REPLACED_BY_VERSION} ]] && return
|
||||||
|
|
||||||
|
local e
|
||||||
|
e=$(unset EDITOR; . "${EROOT}"/etc/profile &>/dev/null; echo "${EDITOR}")
|
||||||
|
if [[ ${e##*/} == nano ]]; then
|
||||||
|
ewarn "The EDITOR variable is still set to ${e}."
|
||||||
|
ewarn "You can update it with \"eselect editor\"."
|
||||||
|
fi
|
||||||
|
}
|
@ -9,10 +9,6 @@
|
|||||||
<email>sam@gentoo.org</email>
|
<email>sam@gentoo.org</email>
|
||||||
<name>Sam James</name>
|
<name>Sam James</name>
|
||||||
</maintainer>
|
</maintainer>
|
||||||
<maintainer type="person">
|
|
||||||
<email>tamiko@gentoo.org</email>
|
|
||||||
<name>Matthias Maier</name>
|
|
||||||
</maintainer>
|
|
||||||
<maintainer type="project">
|
<maintainer type="project">
|
||||||
<email>virtualization@gentoo.org</email>
|
<email>virtualization@gentoo.org</email>
|
||||||
<name>Gentoo Virtualization Project</name>
|
<name>Gentoo Virtualization Project</name>
|
||||||
|
@ -19,7 +19,7 @@ else
|
|||||||
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz
|
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz
|
||||||
"
|
"
|
||||||
|
|
||||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~arm64-linux ~ppc64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~arm64-linux ~ppc64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
LICENSE="GPL-2"
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
EAPI=8
|
EAPI=8
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{10..12} pypy3 )
|
PYTHON_COMPAT=( python3_{10..13} pypy3 )
|
||||||
PYTHON_REQ_USE="xml(+),threads(+)"
|
PYTHON_REQ_USE="xml(+),threads(+)"
|
||||||
|
|
||||||
inherit meson python-r1 tmpfiles
|
inherit meson python-r1 tmpfiles
|
||||||
@ -83,7 +83,8 @@ src_compile() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
src_test() {
|
src_test() {
|
||||||
python_foreach_impl meson_src_test --no-rebuild --verbose
|
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
|
||||||
|
python_foreach_impl epytest
|
||||||
}
|
}
|
||||||
|
|
||||||
src_install() {
|
src_install() {
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
EAPI=8
|
EAPI=8
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{10..12} pypy3 )
|
PYTHON_COMPAT=( python3_{10..13} pypy3 )
|
||||||
PYTHON_REQ_USE="xml(+),threads(+)"
|
PYTHON_REQ_USE="xml(+),threads(+)"
|
||||||
|
|
||||||
inherit meson python-r1 tmpfiles
|
inherit meson python-r1 tmpfiles
|
||||||
@ -83,7 +83,8 @@ src_compile() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
src_test() {
|
src_test() {
|
||||||
python_foreach_impl meson_src_test --no-rebuild --verbose
|
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
|
||||||
|
python_foreach_impl epytest
|
||||||
}
|
}
|
||||||
|
|
||||||
src_install() {
|
src_install() {
|
||||||
|
@ -19,7 +19,7 @@ SRC_URI="
|
|||||||
|
|
||||||
LICENSE="GPL-2+"
|
LICENSE="GPL-2+"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
||||||
IUSE="+eselect test"
|
IUSE="+eselect test"
|
||||||
RESTRICT="!test? ( test )"
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
EAPI=8
|
EAPI=8
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{10..12} )
|
PYTHON_COMPAT=( python3_{10..13} )
|
||||||
|
|
||||||
inherit autotools git-r3 python-any-r1
|
inherit autotools git-r3 python-any-r1
|
||||||
|
|
||||||
@ -56,26 +56,9 @@ strip_completions() {
|
|||||||
|
|
||||||
# Now-dead symlinks to deprecated completions
|
# Now-dead symlinks to deprecated completions
|
||||||
hd ncal
|
hd ncal
|
||||||
|
|
||||||
# FreeBSD
|
|
||||||
freebsd-update kldload kldunload portinstall portsnap
|
|
||||||
pkg_deinstall pkg_delete pkg_info
|
|
||||||
|
|
||||||
# For GNU mailman, which isn't packaged. If mailman isn't installed,
|
|
||||||
# it triggers a QA warning.
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if [[ ${CHOST} = *solaris* ]]; then
|
rm -v "${strip_completions[@]/#/${ED}/usr/share/bash-completion/completions/}" || die
|
||||||
# Triggers QA warning since it only defines a completion on Solaris,
|
|
||||||
# to avoid defining a bad one on macOS.
|
|
||||||
strip_completions+=(pkgutil)
|
|
||||||
fi
|
|
||||||
|
|
||||||
local file
|
|
||||||
for file in "${strip_completions[@]}"; do
|
|
||||||
rm "${ED}"/usr/share/bash-completion/completions/${file} ||
|
|
||||||
die "stripping ${file} failed"
|
|
||||||
done
|
|
||||||
|
|
||||||
# remove deprecated completions (moved to other packages)
|
# remove deprecated completions (moved to other packages)
|
||||||
rm "${ED}"/usr/share/bash-completion/completions/_* || die
|
rm "${ED}"/usr/share/bash-completion/completions/_* || die
|
||||||
|
@ -25,6 +25,9 @@ DIST bash-5.2.tar.gz 10950833 BLAKE2B 51b196e710794ebad8eac28c31c93eb99ac1a7db30
|
|||||||
DIST bash-5.2.tar.gz.sig 95 BLAKE2B 2991b7c46ef1cdca08062f419be47fca7551f4c5d9aad8a5c1da74974f5e7707d23914b4cecf9b6c9610471146b2c49b611bb62a5d974f1c37cceb77b719851c SHA512 a161664f124f906be32709f66702f8f780e6d52e558ea45e71ec60a959c9435ff68477ee65a0a9f6c0051d5592f5044fb3b410cf3cd3ae5a8a323789b01be258
|
DIST bash-5.2.tar.gz.sig 95 BLAKE2B 2991b7c46ef1cdca08062f419be47fca7551f4c5d9aad8a5c1da74974f5e7707d23914b4cecf9b6c9610471146b2c49b611bb62a5d974f1c37cceb77b719851c SHA512 a161664f124f906be32709f66702f8f780e6d52e558ea45e71ec60a959c9435ff68477ee65a0a9f6c0051d5592f5044fb3b410cf3cd3ae5a8a323789b01be258
|
||||||
DIST bash-5.3-alpha.tar.gz 11195025 BLAKE2B b3325f6927d7dde86aae165891317b972f0b9814e134676b3d7d3aea81ce4d4cad1a01f160e290352072153ad3568ee21701a35190ef5e6274b3c03fc95c8d42 SHA512 52354eb7cd71330192ec76fdda04bcacf758a312e89b45558db5f5345f19b0d8e54732049934958cf89786f5bd7c538d88859eb8d8d22dabfc9ec7305263d10e
|
DIST bash-5.3-alpha.tar.gz 11195025 BLAKE2B b3325f6927d7dde86aae165891317b972f0b9814e134676b3d7d3aea81ce4d4cad1a01f160e290352072153ad3568ee21701a35190ef5e6274b3c03fc95c8d42 SHA512 52354eb7cd71330192ec76fdda04bcacf758a312e89b45558db5f5345f19b0d8e54732049934958cf89786f5bd7c538d88859eb8d8d22dabfc9ec7305263d10e
|
||||||
DIST bash-5.3-alpha.tar.gz.sig 95 BLAKE2B 69c8b33fe2a40498662ef084967701cff1926086785a41d6f49a3c2e2b9908499226d3d970bdb6397a74d3ccc22acb3651261ad2a421799eb135c64a78af8589 SHA512 c9587da66457e2010b0852c6dbf5949821a543b7f1b616a4d016df3477913e2a655c57289e83adeeb31b8b8afca22313e3af76cf727b93932d33a889c1263c20
|
DIST bash-5.3-alpha.tar.gz.sig 95 BLAKE2B 69c8b33fe2a40498662ef084967701cff1926086785a41d6f49a3c2e2b9908499226d3d970bdb6397a74d3ccc22acb3651261ad2a421799eb135c64a78af8589 SHA512 c9587da66457e2010b0852c6dbf5949821a543b7f1b616a4d016df3477913e2a655c57289e83adeeb31b8b8afca22313e3af76cf727b93932d33a889c1263c20
|
||||||
|
DIST bash-5.3_alpha_p20240628-5e28a1813ce7d08628c8df584ea36515091c6d9b.tar.xz 8528432 BLAKE2B d920640b0ba0ae38dbb98b48a9e4dd6635a05d7f86fcf26a4f2c79f6a4338e4f25ff20119f9a1df451d23d9cc381862963dcf9c135050102e8159eccbe5f7314 SHA512 cc60f94083b378ac51fda973f834f10477ac6ebcfc682f934426db3fd6ca4506e5ed1c64311c67d5d9d70b62ab2bf9900ee66f1aa96a7bce7198d69edf9131ca
|
||||||
|
DIST bash-5.3_alpha_p20240706-a91b8b077300b0a2a7daefe02f0363f9116e00d5.tar.xz 8525768 BLAKE2B 07b1b92b15bbd1c4bd01e3c2fbdf65d7dab14976442a2c4ea751c0d6e729d937886495af5402cd4669e84f68e952f3e79a375c649bbda1b4cc948172e3ea2948 SHA512 dfd19e6a4786ff066cb7e13ae328fbc909847fd7f987b59d9c646ab0bbf5abdc8c570bbc75810fe9eb6c9171acb3256b4e3278f565a1f526d9ce030fd423c0f8
|
||||||
|
DIST bash-5.3_alpha_p20240711-d3e86e66ce857a8dc02e3116fd98b6e5b34d6364.tar.xz 8532476 BLAKE2B bae60589e733f29f4dab827c1c68899f4770c4cb2ca58af19e10bb833820644d336ada480be60b4dabb82441ae68f64494074387057d8b56efe8d5b9befd2a13 SHA512 ef677d2641607b75a000bef4b6eb9b359553ae6c3f930285989b97c036bfd1f7ecfa9240af1873af11dda42d1eca68da9c4b7567876e0bca878e8469dde0d0af
|
||||||
DIST bash205b-001 1132 BLAKE2B 0c5eef29777d54ef05957ea3d63b1556fb380bd20c238dc28993d822b37bc4e78ff4048ad069f6b8cd25da77ccdeb7aecd86c4349cb9d81e5e94c7001eeae5e6 SHA512 5ce4357468821b05e747201f3aa57225ad8f540c9e2c87051720490e039c30b478b9b662a68f14a0800fefe40184e4495e2645665200f9d75e9a115b2ac08071
|
DIST bash205b-001 1132 BLAKE2B 0c5eef29777d54ef05957ea3d63b1556fb380bd20c238dc28993d822b37bc4e78ff4048ad069f6b8cd25da77ccdeb7aecd86c4349cb9d81e5e94c7001eeae5e6 SHA512 5ce4357468821b05e747201f3aa57225ad8f540c9e2c87051720490e039c30b478b9b662a68f14a0800fefe40184e4495e2645665200f9d75e9a115b2ac08071
|
||||||
DIST bash205b-002 755 BLAKE2B 6a6ed5679d451f02f8104b345c1722d11718ce3b4043b581c17786d40d8da69a34786fb56d0c363dba277b8e9dd33f12f70c9cc73a9fc39ba4a8319406f0458d SHA512 46947b0229478d5c2cfeff68b8ebc00e4ef0c8b94e336ca12f72b4490ba3622c0240c01c17c1641c3b07adc2c64ec94d6d780365e8990768ec8888f3a9526883
|
DIST bash205b-002 755 BLAKE2B 6a6ed5679d451f02f8104b345c1722d11718ce3b4043b581c17786d40d8da69a34786fb56d0c363dba277b8e9dd33f12f70c9cc73a9fc39ba4a8319406f0458d SHA512 46947b0229478d5c2cfeff68b8ebc00e4ef0c8b94e336ca12f72b4490ba3622c0240c01c17c1641c3b07adc2c64ec94d6d780365e8990768ec8888f3a9526883
|
||||||
DIST bash205b-003 2356 BLAKE2B b7887d00d92fd298cd07a15e1c73b516dabd22ecd74c97091636dd97a0cd55024ed698e5cc924c4311d994dd326b1ad074bea35e7650cf9cf4e25c60d2713fa7 SHA512 74528ca5d165b812d299f1c69b47757bd677c0b22ce4217e155cd641708b02364a93c6709fb57b546b376b36da74429a61493921c7c199563da40ddcf1c1f399
|
DIST bash205b-003 2356 BLAKE2B b7887d00d92fd298cd07a15e1c73b516dabd22ecd74c97091636dd97a0cd55024ed698e5cc924c4311d994dd326b1ad074bea35e7650cf9cf4e25c60d2713fa7 SHA512 74528ca5d165b812d299f1c69b47757bd677c0b22ce4217e155cd641708b02364a93c6709fb57b546b376b36da74429a61493921c7c199563da40ddcf1c1f399
|
||||||
|
402
sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r8.ebuild
vendored
Normal file
402
sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.2_p26-r8.ebuild
vendored
Normal file
@ -0,0 +1,402 @@
|
|||||||
|
# Copyright 1999-2024 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc
|
||||||
|
inherit flag-o-matic toolchain-funcs prefix verify-sig
|
||||||
|
|
||||||
|
# Uncomment if we have a patchset.
|
||||||
|
#GENTOO_PATCH_DEV="sam"
|
||||||
|
#GENTOO_PATCH_VER="${PV}"
|
||||||
|
|
||||||
|
MY_PV=${PV/_p*}
|
||||||
|
MY_PV=${MY_PV/_/-}
|
||||||
|
MY_P=${PN}-${MY_PV}
|
||||||
|
MY_PATCHES=()
|
||||||
|
|
||||||
|
# Determine the patchlevel. See ftp://ftp.gnu.org/gnu/bash/bash-5.2-patches/.
|
||||||
|
case ${PV} in
|
||||||
|
*_p*)
|
||||||
|
PLEVEL=${PV##*_p}
|
||||||
|
;;
|
||||||
|
9999|*_alpha*|*_beta*|*_rc*)
|
||||||
|
# Set a negative patchlevel to indicate that it's a pre-release.
|
||||||
|
PLEVEL=-1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
PLEVEL=0
|
||||||
|
esac
|
||||||
|
|
||||||
|
# The version of readline this bash normally ships with. Note that we only use
|
||||||
|
# the bundled copy of readline for pre-releases.
|
||||||
|
READLINE_VER="8.2_p1"
|
||||||
|
|
||||||
|
DESCRIPTION="The standard GNU Bourne again shell"
|
||||||
|
HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git"
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999 ]]; then
|
||||||
|
EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git"
|
||||||
|
EGIT_BRANCH=devel
|
||||||
|
inherit git-r3
|
||||||
|
else
|
||||||
|
my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" )
|
||||||
|
|
||||||
|
# bash-5.1 -> bash51
|
||||||
|
my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.}
|
||||||
|
|
||||||
|
for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do
|
||||||
|
printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}"
|
||||||
|
my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" )
|
||||||
|
MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" )
|
||||||
|
done
|
||||||
|
|
||||||
|
SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )"
|
||||||
|
|
||||||
|
unset -v my_urls my_p my_patch_idx my_patch_ver
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${GENTOO_PATCH_VER} ]]; then
|
||||||
|
SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz"
|
||||||
|
fi
|
||||||
|
|
||||||
|
S=${WORKDIR}/${MY_P}
|
||||||
|
|
||||||
|
LICENSE="GPL-3+"
|
||||||
|
SLOT="0"
|
||||||
|
if (( PLEVEL >= 0 )); then
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
|
fi
|
||||||
|
IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
>=sys-libs/ncurses-5.2-r2:=
|
||||||
|
nls? ( virtual/libintl )
|
||||||
|
"
|
||||||
|
if (( PLEVEL >= 0 )); then
|
||||||
|
DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )"
|
||||||
|
fi
|
||||||
|
RDEPEND="
|
||||||
|
${DEPEND}
|
||||||
|
"
|
||||||
|
# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011).
|
||||||
|
BDEPEND="
|
||||||
|
pgo? ( dev-util/gperf )
|
||||||
|
verify-sig? ( sec-keys/openpgp-keys-chetramey )
|
||||||
|
"
|
||||||
|
|
||||||
|
# EAPI 8 tries to append it but it doesn't exist here.
|
||||||
|
QA_CONFIGURE_OPTIONS="--disable-static"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
#"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/
|
||||||
|
|
||||||
|
# Patches to or from Chet, posted to the bug-bash mailing list.
|
||||||
|
"${FILESDIR}/${PN}-5.0-syslog-history-extern.patch"
|
||||||
|
"${FILESDIR}/${PN}-5.2_p15-random-ub.patch"
|
||||||
|
"${FILESDIR}/${PN}-5.2_p15-configure-clang16.patch"
|
||||||
|
"${FILESDIR}/${PN}-5.2_p21-wpointer-to-int.patch"
|
||||||
|
"${FILESDIR}/${PN}-5.2_p21-configure-strtold.patch"
|
||||||
|
"${FILESDIR}/${PN}-5.2_p26-memory-leaks.patch"
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
# bug #7332
|
||||||
|
if is-flag -malign-double; then
|
||||||
|
eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
|
||||||
|
eerror "as it breaks LFS (struct stat64) on x86."
|
||||||
|
die "remove -malign-double from your CFLAGS mr ricer"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use bashlogger; then
|
||||||
|
ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
|
||||||
|
ewarn "This will log ALL output you enter into the shell, you have been warned."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
local patch
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999 ]]; then
|
||||||
|
git-r3_src_unpack
|
||||||
|
else
|
||||||
|
if use verify-sig; then
|
||||||
|
verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
|
||||||
|
|
||||||
|
for patch in "${MY_PATCHES[@]}"; do
|
||||||
|
verify-sig_verify_detached "${patch}"{,.sig}
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
unpack "${MY_P}.tar.gz"
|
||||||
|
|
||||||
|
if [[ ${GENTOO_PATCH_VER} ]]; then
|
||||||
|
unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
# Include official patches.
|
||||||
|
(( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}"
|
||||||
|
|
||||||
|
# Clean out local libs so we know we use system ones w/releases. The
|
||||||
|
# touch utility is invoked for the benefit of config.status.
|
||||||
|
if (( PLEVEL >= 0 )); then
|
||||||
|
rm -rf lib/{readline,termcap}/* \
|
||||||
|
&& touch lib/{readline,termcap}/Makefile.in \
|
||||||
|
&& sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \
|
||||||
|
|| die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Prefixify hardcoded path names. No-op for non-prefix.
|
||||||
|
hprefixify pathnames.h.in
|
||||||
|
|
||||||
|
# Avoid regenerating docs after patches, bug #407985.
|
||||||
|
sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \
|
||||||
|
&& touch -r . doc/* \
|
||||||
|
|| die
|
||||||
|
|
||||||
|
# Sometimes hangs (more noticeable w/ pgo), bug #907403.
|
||||||
|
rm tests/run-jobs || die
|
||||||
|
|
||||||
|
eapply -p0 "${PATCHES[@]}"
|
||||||
|
eapply_user
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
local -a myconf
|
||||||
|
|
||||||
|
# Upstream only test with Bison and require GNUisms like YYEOF and
|
||||||
|
# YYERRCODE. The former at least may be in POSIX soon:
|
||||||
|
# https://www.austingroupbugs.net/view.php?id=1269.
|
||||||
|
# configure warns on use of non-Bison but doesn't abort. The result
|
||||||
|
# may misbehave at runtime.
|
||||||
|
unset -v YACC
|
||||||
|
|
||||||
|
myconf=(
|
||||||
|
--disable-profiling
|
||||||
|
|
||||||
|
# Force linking with system curses ... the bundled termcap lib
|
||||||
|
# sucks bad compared to ncurses. For the most part, ncurses
|
||||||
|
# is here because readline needs it. But bash itself calls
|
||||||
|
# ncurses in one or two small places :(.
|
||||||
|
--with-curses
|
||||||
|
|
||||||
|
$(use_enable mem-scramble)
|
||||||
|
$(use_enable net net-redirections)
|
||||||
|
$(use_enable readline)
|
||||||
|
$(use_enable readline bang-history)
|
||||||
|
$(use_enable readline history)
|
||||||
|
$(use_with afs)
|
||||||
|
$(use_with mem-scramble bash-malloc)
|
||||||
|
)
|
||||||
|
|
||||||
|
# For descriptions of these, see config-top.h.
|
||||||
|
# bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426
|
||||||
|
append-cppflags \
|
||||||
|
-DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \
|
||||||
|
-DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \
|
||||||
|
-DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \
|
||||||
|
-DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \
|
||||||
|
-DNON_INTERACTIVE_LOGIN_SHELLS \
|
||||||
|
-DSSH_SOURCE_BASHRC \
|
||||||
|
$(use bashlogger && echo -DSYSLOG_HISTORY)
|
||||||
|
|
||||||
|
use nls || myconf+=( --disable-nls )
|
||||||
|
|
||||||
|
if (( PLEVEL >= 0 )); then
|
||||||
|
# Historically, we always used the builtin readline, but since
|
||||||
|
# our handling of SONAME upgrades has gotten much more stable
|
||||||
|
# in the PM (and the readline ebuild itself preserves the old
|
||||||
|
# libs during upgrades), linking against the system copy should
|
||||||
|
# be safe.
|
||||||
|
# Exact cached version here doesn't really matter as long as it
|
||||||
|
# is at least what's in the DEPEND up above.
|
||||||
|
export ac_cv_rl_version=${READLINE_VER%%_*}
|
||||||
|
|
||||||
|
# Use system readline only with released versions.
|
||||||
|
myconf+=( --with-installed-readline=. )
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use plugins; then
|
||||||
|
append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash"
|
||||||
|
else
|
||||||
|
# Disable the plugins logic by hand since bash doesn't provide
|
||||||
|
# a way of doing it.
|
||||||
|
export ac_cv_func_dl{close,open,sym}=no \
|
||||||
|
ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
|
||||||
|
|
||||||
|
sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# bug #444070
|
||||||
|
tc-export AR
|
||||||
|
|
||||||
|
econf "${myconf[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
local -a pgo_generate_flags pgo_use_flags
|
||||||
|
local flag
|
||||||
|
|
||||||
|
# -fprofile-partial-training because upstream notes the test suite isn't
|
||||||
|
# super comprehensive.
|
||||||
|
# https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo
|
||||||
|
if use pgo; then
|
||||||
|
pgo_generate_flags=(
|
||||||
|
-fprofile-update=atomic
|
||||||
|
-fprofile-dir="${T}"/pgo
|
||||||
|
-fprofile-generate="${T}"/pgo
|
||||||
|
)
|
||||||
|
pgo_use_flags=(
|
||||||
|
-fprofile-use="${T}"/pgo
|
||||||
|
-fprofile-dir="${T}"/pgo
|
||||||
|
)
|
||||||
|
if flag=$(test-flags-CC -fprofile-partial-training); then
|
||||||
|
pgo_generate_flags+=( "${flag}" )
|
||||||
|
pgo_use_flags+=( "${flag}" )
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}"
|
||||||
|
use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others
|
||||||
|
|
||||||
|
# Build Bash and run its tests to generate profiles.
|
||||||
|
if (( ${#pgo_generate_flags[@]} )); then
|
||||||
|
# Used in test suite.
|
||||||
|
unset -v A
|
||||||
|
|
||||||
|
emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check
|
||||||
|
|
||||||
|
if tc-is-clang; then
|
||||||
|
llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Rebuild Bash using the profiling data we just generated.
|
||||||
|
emake clean
|
||||||
|
emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}"
|
||||||
|
use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
# Used in test suite.
|
||||||
|
unset -v A
|
||||||
|
|
||||||
|
default
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
local d f
|
||||||
|
|
||||||
|
default
|
||||||
|
|
||||||
|
my_prefixify() {
|
||||||
|
while read -r; do
|
||||||
|
if [[ $REPLY == *$1* ]]; then
|
||||||
|
REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"}
|
||||||
|
fi
|
||||||
|
printf '%s\n' "${REPLY}" || ! break
|
||||||
|
done < "$2" || die
|
||||||
|
}
|
||||||
|
|
||||||
|
dodir /bin
|
||||||
|
mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die
|
||||||
|
dosym bash /bin/rbash
|
||||||
|
|
||||||
|
insinto /etc/bash
|
||||||
|
doins "${FILESDIR}"/bash_logout
|
||||||
|
my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc
|
||||||
|
|
||||||
|
insinto /etc/bash/bashrc.d
|
||||||
|
my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash
|
||||||
|
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash
|
||||||
|
if [[ ! ${EPREFIX} ]]; then
|
||||||
|
doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash
|
||||||
|
fi
|
||||||
|
|
||||||
|
insinto /etc/skel
|
||||||
|
for f in bash{_logout,_profile,rc}; do
|
||||||
|
newins "${FILESDIR}/dot-${f}" ".${f}"
|
||||||
|
done
|
||||||
|
|
||||||
|
if use plugins; then
|
||||||
|
exeinto "/usr/$(get_libdir)/bash"
|
||||||
|
set -- examples/loadables/*.o
|
||||||
|
doexe "${@%.o}"
|
||||||
|
|
||||||
|
insinto /usr/include/bash-plugins
|
||||||
|
doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use examples; then
|
||||||
|
for d in examples/{functions,misc,scripts,startup-files}; do
|
||||||
|
exeinto "/usr/share/doc/${PF}/${d}"
|
||||||
|
docinto "${d}"
|
||||||
|
for f in "${d}"/*; do
|
||||||
|
if [[ ${f##*/} != @(PERMISSION|*README) ]]; then
|
||||||
|
doexe "${f}"
|
||||||
|
else
|
||||||
|
dodoc "${f}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install bash_builtins.1 and rbash.1.
|
||||||
|
emake -C doc DESTDIR="${D}" install_builtins
|
||||||
|
sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die
|
||||||
|
doman "${T}"/rbash.1
|
||||||
|
|
||||||
|
newdoc CWRU/changelog ChangeLog
|
||||||
|
dosym bash.info /usr/share/info/bashref.info
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_preinst() {
|
||||||
|
if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then
|
||||||
|
mkdir -p -- "${EROOT}"/etc/bash \
|
||||||
|
&& mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \
|
||||||
|
|| die
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
local old_ver
|
||||||
|
|
||||||
|
# If /bin/sh does not exist, provide it.
|
||||||
|
if [[ ! -e ${EROOT}/bin/sh ]]; then
|
||||||
|
ln -sf -- bash "${EROOT}"/bin/sh || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
read -r old_ver <<<"${REPLACING_VERSIONS}"
|
||||||
|
if [[ ! $old_ver ]]; then
|
||||||
|
:
|
||||||
|
elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
while read -r; do ewarn "${REPLY}"; done <<'EOF'
|
||||||
|
Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash.
|
||||||
|
|
||||||
|
Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the
|
||||||
|
characteristics of the operating environment, it may contain a command to set
|
||||||
|
the terminal's window title. Those who were already choosing to customise the
|
||||||
|
PROMPT_COMMAND variable are now advised to append their commands like so:
|
||||||
|
|
||||||
|
PROMPT_COMMAND+=('custom command goes here')
|
||||||
|
|
||||||
|
Gentoo no longer defaults to having bash set the window title in the case
|
||||||
|
that the terminal is controlled by sshd(8), unless screen is launched on the
|
||||||
|
remote side or the terminal reliably supports saving and restoring the title
|
||||||
|
(as alacritty, foot and tmux do). Those wanting for the title to be set
|
||||||
|
regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d
|
||||||
|
drop-in - to set PROMPT_COMMMAND like so:
|
||||||
|
|
||||||
|
PROMPT_COMMAND=(genfun_set_win_title)
|
||||||
|
|
||||||
|
Those who would prefer for bash never to interfere with the window title may
|
||||||
|
now opt out of the default title setting behaviour, either with the "unset -v
|
||||||
|
PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired.
|
||||||
|
EOF
|
||||||
|
}
|
411
sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240628.ebuild
vendored
Normal file
411
sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240628.ebuild
vendored
Normal file
@ -0,0 +1,411 @@
|
|||||||
|
# Copyright 1999-2024 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc
|
||||||
|
inherit flag-o-matic toolchain-funcs prefix verify-sig
|
||||||
|
|
||||||
|
# Uncomment if we have a patchset.
|
||||||
|
#GENTOO_PATCH_DEV="sam"
|
||||||
|
#GENTOO_PATCH_VER="${PV}"
|
||||||
|
|
||||||
|
MY_PV=${PV/_p*}
|
||||||
|
MY_PV=${MY_PV/_/-}
|
||||||
|
MY_P=${PN}-${MY_PV}
|
||||||
|
MY_PATCHES=()
|
||||||
|
|
||||||
|
# Determine the patchlevel.
|
||||||
|
case ${PV} in
|
||||||
|
9999|*_alpha*|*_beta*|*_rc*)
|
||||||
|
# Set a negative patchlevel to indicate that it's a pre-release.
|
||||||
|
PLEVEL=-1
|
||||||
|
;;
|
||||||
|
*_p*)
|
||||||
|
PLEVEL=${PV##*_p}
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
PLEVEL=0
|
||||||
|
esac
|
||||||
|
|
||||||
|
# The version of readline this bash normally ships with. Note that we only use
|
||||||
|
# the bundled copy of readline for pre-releases.
|
||||||
|
READLINE_VER="8.3_alpha"
|
||||||
|
|
||||||
|
DESCRIPTION="The standard GNU Bourne again shell"
|
||||||
|
HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git"
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999 ]]; then
|
||||||
|
EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git"
|
||||||
|
EGIT_BRANCH=devel
|
||||||
|
inherit git-r3
|
||||||
|
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||||
|
# It can be useful to have snapshots in the pre-release period once
|
||||||
|
# the first alpha is out, as various bugs get reported and fixed from
|
||||||
|
# the alpha, and the next pre-release is usually quite far away.
|
||||||
|
#
|
||||||
|
# i.e. if it's worth packaging the alpha, it's worth packaging a followup.
|
||||||
|
BASH_COMMIT="5e28a1813ce7d08628c8df584ea36515091c6d9b"
|
||||||
|
SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.xz -> ${P}-${BASH_COMMIT}.tar.xz"
|
||||||
|
S=${WORKDIR}/${PN}-${BASH_COMMIT}
|
||||||
|
else
|
||||||
|
my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" )
|
||||||
|
|
||||||
|
# bash-5.1 -> bash51
|
||||||
|
my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.}
|
||||||
|
|
||||||
|
for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do
|
||||||
|
printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}"
|
||||||
|
my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" )
|
||||||
|
MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" )
|
||||||
|
done
|
||||||
|
|
||||||
|
SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )"
|
||||||
|
S=${WORKDIR}/${MY_P}
|
||||||
|
|
||||||
|
unset -v my_urls my_p my_patch_idx my_patch_ver
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${GENTOO_PATCH_VER} ]]; then
|
||||||
|
SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz"
|
||||||
|
fi
|
||||||
|
|
||||||
|
LICENSE="GPL-3+"
|
||||||
|
SLOT="0"
|
||||||
|
if (( PLEVEL >= 0 )); then
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
|
fi
|
||||||
|
IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
>=sys-libs/ncurses-5.2-r2:=
|
||||||
|
nls? ( virtual/libintl )
|
||||||
|
"
|
||||||
|
if (( PLEVEL >= 0 )); then
|
||||||
|
DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )"
|
||||||
|
fi
|
||||||
|
RDEPEND="
|
||||||
|
${DEPEND}
|
||||||
|
"
|
||||||
|
# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011).
|
||||||
|
BDEPEND="
|
||||||
|
pgo? ( dev-util/gperf )
|
||||||
|
verify-sig? ( sec-keys/openpgp-keys-chetramey )
|
||||||
|
"
|
||||||
|
|
||||||
|
# EAPI 8 tries to append it but it doesn't exist here.
|
||||||
|
QA_CONFIGURE_OPTIONS="--disable-static"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
#"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/
|
||||||
|
|
||||||
|
# Patches to or from Chet, posted to the bug-bash mailing list.
|
||||||
|
"${FILESDIR}/${PN}-5.0-syslog-history-extern.patch"
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
# bug #7332
|
||||||
|
if is-flag -malign-double; then
|
||||||
|
eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
|
||||||
|
eerror "as it breaks LFS (struct stat64) on x86."
|
||||||
|
die "remove -malign-double from your CFLAGS mr ricer"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use bashlogger; then
|
||||||
|
ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
|
||||||
|
ewarn "This will log ALL output you enter into the shell, you have been warned."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
local patch
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999 ]]; then
|
||||||
|
git-r3_src_unpack
|
||||||
|
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||||
|
default
|
||||||
|
else
|
||||||
|
if use verify-sig; then
|
||||||
|
verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
|
||||||
|
|
||||||
|
for patch in "${MY_PATCHES[@]}"; do
|
||||||
|
verify-sig_verify_detached "${patch}"{,.sig}
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
unpack "${MY_P}.tar.gz"
|
||||||
|
|
||||||
|
if [[ ${GENTOO_PATCH_VER} ]]; then
|
||||||
|
unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
# Include official patches.
|
||||||
|
(( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}"
|
||||||
|
|
||||||
|
# Clean out local libs so we know we use system ones w/releases. The
|
||||||
|
# touch utility is invoked for the benefit of config.status.
|
||||||
|
if (( PLEVEL >= 0 )); then
|
||||||
|
rm -rf lib/{readline,termcap}/* \
|
||||||
|
&& touch lib/{readline,termcap}/Makefile.in \
|
||||||
|
&& sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \
|
||||||
|
|| die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Prefixify hardcoded path names. No-op for non-prefix.
|
||||||
|
hprefixify pathnames.h.in
|
||||||
|
|
||||||
|
# Avoid regenerating docs after patches, bug #407985.
|
||||||
|
sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \
|
||||||
|
&& touch -r . doc/* \
|
||||||
|
|| die
|
||||||
|
|
||||||
|
# Sometimes hangs (more noticeable w/ pgo), bug #907403.
|
||||||
|
rm tests/run-jobs || die
|
||||||
|
|
||||||
|
eapply -p0 "${PATCHES[@]}"
|
||||||
|
eapply_user
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
local -a myconf
|
||||||
|
|
||||||
|
# Upstream only test with Bison and require GNUisms like YYEOF and
|
||||||
|
# YYERRCODE. The former at least may be in POSIX soon:
|
||||||
|
# https://www.austingroupbugs.net/view.php?id=1269.
|
||||||
|
# configure warns on use of non-Bison but doesn't abort. The result
|
||||||
|
# may misbehave at runtime.
|
||||||
|
unset -v YACC
|
||||||
|
|
||||||
|
# wcsnwidth(), substring() issues with -Wlto-type-mismatch, reported
|
||||||
|
# upstream to Chet by email.
|
||||||
|
filter-lto
|
||||||
|
|
||||||
|
myconf=(
|
||||||
|
--disable-profiling
|
||||||
|
|
||||||
|
# Force linking with system curses ... the bundled termcap lib
|
||||||
|
# sucks bad compared to ncurses. For the most part, ncurses
|
||||||
|
# is here because readline needs it. But bash itself calls
|
||||||
|
# ncurses in one or two small places :(.
|
||||||
|
--with-curses
|
||||||
|
|
||||||
|
$(use_enable mem-scramble)
|
||||||
|
$(use_enable net net-redirections)
|
||||||
|
$(use_enable readline)
|
||||||
|
$(use_enable readline bang-history)
|
||||||
|
$(use_enable readline history)
|
||||||
|
$(use_with afs)
|
||||||
|
$(use_with mem-scramble bash-malloc)
|
||||||
|
)
|
||||||
|
|
||||||
|
# For descriptions of these, see config-top.h.
|
||||||
|
# bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426
|
||||||
|
append-cppflags \
|
||||||
|
-DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \
|
||||||
|
-DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \
|
||||||
|
-DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \
|
||||||
|
-DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \
|
||||||
|
-DNON_INTERACTIVE_LOGIN_SHELLS \
|
||||||
|
-DSSH_SOURCE_BASHRC \
|
||||||
|
$(use bashlogger && echo -DSYSLOG_HISTORY)
|
||||||
|
|
||||||
|
use nls || myconf+=( --disable-nls )
|
||||||
|
|
||||||
|
if (( PLEVEL >= 0 )); then
|
||||||
|
# Historically, we always used the builtin readline, but since
|
||||||
|
# our handling of SONAME upgrades has gotten much more stable
|
||||||
|
# in the PM (and the readline ebuild itself preserves the old
|
||||||
|
# libs during upgrades), linking against the system copy should
|
||||||
|
# be safe.
|
||||||
|
# Exact cached version here doesn't really matter as long as it
|
||||||
|
# is at least what's in the DEPEND up above.
|
||||||
|
export ac_cv_rl_version=${READLINE_VER%%_*}
|
||||||
|
|
||||||
|
# Use system readline only with released versions.
|
||||||
|
myconf+=( --with-installed-readline=. )
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use plugins; then
|
||||||
|
append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash"
|
||||||
|
else
|
||||||
|
# Disable the plugins logic by hand since bash doesn't provide
|
||||||
|
# a way of doing it.
|
||||||
|
export ac_cv_func_dl{close,open,sym}=no \
|
||||||
|
ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
|
||||||
|
|
||||||
|
sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# bug #444070
|
||||||
|
tc-export AR
|
||||||
|
|
||||||
|
econf "${myconf[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
local -a pgo_generate_flags pgo_use_flags
|
||||||
|
local flag
|
||||||
|
|
||||||
|
# -fprofile-partial-training because upstream notes the test suite isn't
|
||||||
|
# super comprehensive.
|
||||||
|
# https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo
|
||||||
|
if use pgo; then
|
||||||
|
pgo_generate_flags=(
|
||||||
|
-fprofile-update=atomic
|
||||||
|
-fprofile-dir="${T}"/pgo
|
||||||
|
-fprofile-generate="${T}"/pgo
|
||||||
|
)
|
||||||
|
pgo_use_flags=(
|
||||||
|
-fprofile-use="${T}"/pgo
|
||||||
|
-fprofile-dir="${T}"/pgo
|
||||||
|
)
|
||||||
|
if flag=$(test-flags-CC -fprofile-partial-training); then
|
||||||
|
pgo_generate_flags+=( "${flag}" )
|
||||||
|
pgo_use_flags+=( "${flag}" )
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}"
|
||||||
|
use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others
|
||||||
|
|
||||||
|
# Build Bash and run its tests to generate profiles.
|
||||||
|
if (( ${#pgo_generate_flags[@]} )); then
|
||||||
|
# Used in test suite.
|
||||||
|
unset -v A
|
||||||
|
|
||||||
|
emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check
|
||||||
|
|
||||||
|
if tc-is-clang; then
|
||||||
|
llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Rebuild Bash using the profiling data we just generated.
|
||||||
|
emake clean
|
||||||
|
emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}"
|
||||||
|
use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
# Used in test suite.
|
||||||
|
unset -v A
|
||||||
|
|
||||||
|
default
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
local d f
|
||||||
|
|
||||||
|
default
|
||||||
|
|
||||||
|
my_prefixify() {
|
||||||
|
while read -r; do
|
||||||
|
if [[ $REPLY == *$1* ]]; then
|
||||||
|
REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"}
|
||||||
|
fi
|
||||||
|
printf '%s\n' "${REPLY}" || ! break
|
||||||
|
done < "$2" || die
|
||||||
|
}
|
||||||
|
|
||||||
|
dodir /bin
|
||||||
|
mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die
|
||||||
|
dosym bash /bin/rbash
|
||||||
|
|
||||||
|
insinto /etc/bash
|
||||||
|
doins "${FILESDIR}"/bash_logout
|
||||||
|
my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc
|
||||||
|
|
||||||
|
insinto /etc/bash/bashrc.d
|
||||||
|
my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash
|
||||||
|
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash
|
||||||
|
if [[ ! ${EPREFIX} ]]; then
|
||||||
|
doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash
|
||||||
|
fi
|
||||||
|
|
||||||
|
insinto /etc/skel
|
||||||
|
for f in bash{_logout,_profile,rc}; do
|
||||||
|
newins "${FILESDIR}/dot-${f}" ".${f}"
|
||||||
|
done
|
||||||
|
|
||||||
|
if use plugins; then
|
||||||
|
exeinto "/usr/$(get_libdir)/bash"
|
||||||
|
set -- examples/loadables/*.o
|
||||||
|
doexe "${@%.o}"
|
||||||
|
|
||||||
|
insinto /usr/include/bash-plugins
|
||||||
|
doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use examples; then
|
||||||
|
for d in examples/{functions,misc,scripts,startup-files}; do
|
||||||
|
exeinto "/usr/share/doc/${PF}/${d}"
|
||||||
|
docinto "${d}"
|
||||||
|
for f in "${d}"/*; do
|
||||||
|
if [[ ${f##*/} != @(PERMISSION|*README) ]]; then
|
||||||
|
doexe "${f}"
|
||||||
|
else
|
||||||
|
dodoc "${f}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install bash_builtins.1 and rbash.1.
|
||||||
|
emake -C doc DESTDIR="${D}" install_builtins
|
||||||
|
sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die
|
||||||
|
doman "${T}"/rbash.1
|
||||||
|
|
||||||
|
newdoc CWRU/changelog ChangeLog
|
||||||
|
dosym bash.info /usr/share/info/bashref.info
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_preinst() {
|
||||||
|
if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then
|
||||||
|
mkdir -p -- "${EROOT}"/etc/bash \
|
||||||
|
&& mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \
|
||||||
|
|| die
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
local old_ver
|
||||||
|
|
||||||
|
# If /bin/sh does not exist, provide it.
|
||||||
|
if [[ ! -e ${EROOT}/bin/sh ]]; then
|
||||||
|
ln -sf -- bash "${EROOT}"/bin/sh || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
read -r old_ver <<<"${REPLACING_VERSIONS}"
|
||||||
|
if [[ ! $old_ver ]]; then
|
||||||
|
:
|
||||||
|
elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
while read -r; do ewarn "${REPLY}"; done <<'EOF'
|
||||||
|
Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash.
|
||||||
|
|
||||||
|
Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the
|
||||||
|
characteristics of the operating environment, it may contain a command to set
|
||||||
|
the terminal's window title. Those who were already choosing to customise the
|
||||||
|
PROMPT_COMMAND variable are now advised to append their commands like so:
|
||||||
|
|
||||||
|
PROMPT_COMMAND+=('custom command goes here')
|
||||||
|
|
||||||
|
Gentoo no longer defaults to having bash set the window title in the case
|
||||||
|
that the terminal is controlled by sshd(8), unless screen is launched on the
|
||||||
|
remote side or the terminal reliably supports saving and restoring the title
|
||||||
|
(as alacritty, foot and tmux do). Those wanting for the title to be set
|
||||||
|
regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d
|
||||||
|
drop-in - to set PROMPT_COMMMAND like so:
|
||||||
|
|
||||||
|
PROMPT_COMMAND=(genfun_set_win_title)
|
||||||
|
|
||||||
|
Those who would prefer for bash never to interfere with the window title may
|
||||||
|
now opt out of the default title setting behaviour, either with the "unset -v
|
||||||
|
PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired.
|
||||||
|
EOF
|
||||||
|
}
|
411
sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240706.ebuild
vendored
Normal file
411
sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240706.ebuild
vendored
Normal file
@ -0,0 +1,411 @@
|
|||||||
|
# Copyright 1999-2024 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc
|
||||||
|
inherit flag-o-matic toolchain-funcs prefix verify-sig
|
||||||
|
|
||||||
|
# Uncomment if we have a patchset.
|
||||||
|
#GENTOO_PATCH_DEV="sam"
|
||||||
|
#GENTOO_PATCH_VER="${PV}"
|
||||||
|
|
||||||
|
MY_PV=${PV/_p*}
|
||||||
|
MY_PV=${MY_PV/_/-}
|
||||||
|
MY_P=${PN}-${MY_PV}
|
||||||
|
MY_PATCHES=()
|
||||||
|
|
||||||
|
# Determine the patchlevel.
|
||||||
|
case ${PV} in
|
||||||
|
9999|*_alpha*|*_beta*|*_rc*)
|
||||||
|
# Set a negative patchlevel to indicate that it's a pre-release.
|
||||||
|
PLEVEL=-1
|
||||||
|
;;
|
||||||
|
*_p*)
|
||||||
|
PLEVEL=${PV##*_p}
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
PLEVEL=0
|
||||||
|
esac
|
||||||
|
|
||||||
|
# The version of readline this bash normally ships with. Note that we only use
|
||||||
|
# the bundled copy of readline for pre-releases.
|
||||||
|
READLINE_VER="8.3_alpha"
|
||||||
|
|
||||||
|
DESCRIPTION="The standard GNU Bourne again shell"
|
||||||
|
HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git"
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999 ]]; then
|
||||||
|
EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git"
|
||||||
|
EGIT_BRANCH=devel
|
||||||
|
inherit git-r3
|
||||||
|
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||||
|
# It can be useful to have snapshots in the pre-release period once
|
||||||
|
# the first alpha is out, as various bugs get reported and fixed from
|
||||||
|
# the alpha, and the next pre-release is usually quite far away.
|
||||||
|
#
|
||||||
|
# i.e. if it's worth packaging the alpha, it's worth packaging a followup.
|
||||||
|
BASH_COMMIT="a91b8b077300b0a2a7daefe02f0363f9116e00d5"
|
||||||
|
SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.xz -> ${P}-${BASH_COMMIT}.tar.xz"
|
||||||
|
S=${WORKDIR}/${PN}-${BASH_COMMIT}
|
||||||
|
else
|
||||||
|
my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" )
|
||||||
|
|
||||||
|
# bash-5.1 -> bash51
|
||||||
|
my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.}
|
||||||
|
|
||||||
|
for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do
|
||||||
|
printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}"
|
||||||
|
my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" )
|
||||||
|
MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" )
|
||||||
|
done
|
||||||
|
|
||||||
|
SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )"
|
||||||
|
S=${WORKDIR}/${MY_P}
|
||||||
|
|
||||||
|
unset -v my_urls my_p my_patch_idx my_patch_ver
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${GENTOO_PATCH_VER} ]]; then
|
||||||
|
SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz"
|
||||||
|
fi
|
||||||
|
|
||||||
|
LICENSE="GPL-3+"
|
||||||
|
SLOT="0"
|
||||||
|
if (( PLEVEL >= 0 )); then
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
|
fi
|
||||||
|
IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
>=sys-libs/ncurses-5.2-r2:=
|
||||||
|
nls? ( virtual/libintl )
|
||||||
|
"
|
||||||
|
if (( PLEVEL >= 0 )); then
|
||||||
|
DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )"
|
||||||
|
fi
|
||||||
|
RDEPEND="
|
||||||
|
${DEPEND}
|
||||||
|
"
|
||||||
|
# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011).
|
||||||
|
BDEPEND="
|
||||||
|
pgo? ( dev-util/gperf )
|
||||||
|
verify-sig? ( sec-keys/openpgp-keys-chetramey )
|
||||||
|
"
|
||||||
|
|
||||||
|
# EAPI 8 tries to append it but it doesn't exist here.
|
||||||
|
QA_CONFIGURE_OPTIONS="--disable-static"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
#"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/
|
||||||
|
|
||||||
|
# Patches to or from Chet, posted to the bug-bash mailing list.
|
||||||
|
"${FILESDIR}/${PN}-5.0-syslog-history-extern.patch"
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
# bug #7332
|
||||||
|
if is-flag -malign-double; then
|
||||||
|
eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
|
||||||
|
eerror "as it breaks LFS (struct stat64) on x86."
|
||||||
|
die "remove -malign-double from your CFLAGS mr ricer"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use bashlogger; then
|
||||||
|
ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
|
||||||
|
ewarn "This will log ALL output you enter into the shell, you have been warned."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
local patch
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999 ]]; then
|
||||||
|
git-r3_src_unpack
|
||||||
|
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||||
|
default
|
||||||
|
else
|
||||||
|
if use verify-sig; then
|
||||||
|
verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
|
||||||
|
|
||||||
|
for patch in "${MY_PATCHES[@]}"; do
|
||||||
|
verify-sig_verify_detached "${patch}"{,.sig}
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
unpack "${MY_P}.tar.gz"
|
||||||
|
|
||||||
|
if [[ ${GENTOO_PATCH_VER} ]]; then
|
||||||
|
unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
# Include official patches.
|
||||||
|
(( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}"
|
||||||
|
|
||||||
|
# Clean out local libs so we know we use system ones w/releases. The
|
||||||
|
# touch utility is invoked for the benefit of config.status.
|
||||||
|
if (( PLEVEL >= 0 )); then
|
||||||
|
rm -rf lib/{readline,termcap}/* \
|
||||||
|
&& touch lib/{readline,termcap}/Makefile.in \
|
||||||
|
&& sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \
|
||||||
|
|| die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Prefixify hardcoded path names. No-op for non-prefix.
|
||||||
|
hprefixify pathnames.h.in
|
||||||
|
|
||||||
|
# Avoid regenerating docs after patches, bug #407985.
|
||||||
|
sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \
|
||||||
|
&& touch -r . doc/* \
|
||||||
|
|| die
|
||||||
|
|
||||||
|
# Sometimes hangs (more noticeable w/ pgo), bug #907403.
|
||||||
|
rm tests/run-jobs || die
|
||||||
|
|
||||||
|
eapply -p0 "${PATCHES[@]}"
|
||||||
|
eapply_user
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
local -a myconf
|
||||||
|
|
||||||
|
# Upstream only test with Bison and require GNUisms like YYEOF and
|
||||||
|
# YYERRCODE. The former at least may be in POSIX soon:
|
||||||
|
# https://www.austingroupbugs.net/view.php?id=1269.
|
||||||
|
# configure warns on use of non-Bison but doesn't abort. The result
|
||||||
|
# may misbehave at runtime.
|
||||||
|
unset -v YACC
|
||||||
|
|
||||||
|
# wcsnwidth(), substring() issues with -Wlto-type-mismatch, reported
|
||||||
|
# upstream to Chet by email.
|
||||||
|
filter-lto
|
||||||
|
|
||||||
|
myconf=(
|
||||||
|
--disable-profiling
|
||||||
|
|
||||||
|
# Force linking with system curses ... the bundled termcap lib
|
||||||
|
# sucks bad compared to ncurses. For the most part, ncurses
|
||||||
|
# is here because readline needs it. But bash itself calls
|
||||||
|
# ncurses in one or two small places :(.
|
||||||
|
--with-curses
|
||||||
|
|
||||||
|
$(use_enable mem-scramble)
|
||||||
|
$(use_enable net net-redirections)
|
||||||
|
$(use_enable readline)
|
||||||
|
$(use_enable readline bang-history)
|
||||||
|
$(use_enable readline history)
|
||||||
|
$(use_with afs)
|
||||||
|
$(use_with mem-scramble bash-malloc)
|
||||||
|
)
|
||||||
|
|
||||||
|
# For descriptions of these, see config-top.h.
|
||||||
|
# bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426
|
||||||
|
append-cppflags \
|
||||||
|
-DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \
|
||||||
|
-DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \
|
||||||
|
-DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \
|
||||||
|
-DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \
|
||||||
|
-DNON_INTERACTIVE_LOGIN_SHELLS \
|
||||||
|
-DSSH_SOURCE_BASHRC \
|
||||||
|
$(use bashlogger && echo -DSYSLOG_HISTORY)
|
||||||
|
|
||||||
|
use nls || myconf+=( --disable-nls )
|
||||||
|
|
||||||
|
if (( PLEVEL >= 0 )); then
|
||||||
|
# Historically, we always used the builtin readline, but since
|
||||||
|
# our handling of SONAME upgrades has gotten much more stable
|
||||||
|
# in the PM (and the readline ebuild itself preserves the old
|
||||||
|
# libs during upgrades), linking against the system copy should
|
||||||
|
# be safe.
|
||||||
|
# Exact cached version here doesn't really matter as long as it
|
||||||
|
# is at least what's in the DEPEND up above.
|
||||||
|
export ac_cv_rl_version=${READLINE_VER%%_*}
|
||||||
|
|
||||||
|
# Use system readline only with released versions.
|
||||||
|
myconf+=( --with-installed-readline=. )
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use plugins; then
|
||||||
|
append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash"
|
||||||
|
else
|
||||||
|
# Disable the plugins logic by hand since bash doesn't provide
|
||||||
|
# a way of doing it.
|
||||||
|
export ac_cv_func_dl{close,open,sym}=no \
|
||||||
|
ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
|
||||||
|
|
||||||
|
sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# bug #444070
|
||||||
|
tc-export AR
|
||||||
|
|
||||||
|
econf "${myconf[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
local -a pgo_generate_flags pgo_use_flags
|
||||||
|
local flag
|
||||||
|
|
||||||
|
# -fprofile-partial-training because upstream notes the test suite isn't
|
||||||
|
# super comprehensive.
|
||||||
|
# https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo
|
||||||
|
if use pgo; then
|
||||||
|
pgo_generate_flags=(
|
||||||
|
-fprofile-update=atomic
|
||||||
|
-fprofile-dir="${T}"/pgo
|
||||||
|
-fprofile-generate="${T}"/pgo
|
||||||
|
)
|
||||||
|
pgo_use_flags=(
|
||||||
|
-fprofile-use="${T}"/pgo
|
||||||
|
-fprofile-dir="${T}"/pgo
|
||||||
|
)
|
||||||
|
if flag=$(test-flags-CC -fprofile-partial-training); then
|
||||||
|
pgo_generate_flags+=( "${flag}" )
|
||||||
|
pgo_use_flags+=( "${flag}" )
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}"
|
||||||
|
use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others
|
||||||
|
|
||||||
|
# Build Bash and run its tests to generate profiles.
|
||||||
|
if (( ${#pgo_generate_flags[@]} )); then
|
||||||
|
# Used in test suite.
|
||||||
|
unset -v A
|
||||||
|
|
||||||
|
emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check
|
||||||
|
|
||||||
|
if tc-is-clang; then
|
||||||
|
llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Rebuild Bash using the profiling data we just generated.
|
||||||
|
emake clean
|
||||||
|
emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}"
|
||||||
|
use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
# Used in test suite.
|
||||||
|
unset -v A
|
||||||
|
|
||||||
|
default
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
local d f
|
||||||
|
|
||||||
|
default
|
||||||
|
|
||||||
|
my_prefixify() {
|
||||||
|
while read -r; do
|
||||||
|
if [[ $REPLY == *$1* ]]; then
|
||||||
|
REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"}
|
||||||
|
fi
|
||||||
|
printf '%s\n' "${REPLY}" || ! break
|
||||||
|
done < "$2" || die
|
||||||
|
}
|
||||||
|
|
||||||
|
dodir /bin
|
||||||
|
mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die
|
||||||
|
dosym bash /bin/rbash
|
||||||
|
|
||||||
|
insinto /etc/bash
|
||||||
|
doins "${FILESDIR}"/bash_logout
|
||||||
|
my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc
|
||||||
|
|
||||||
|
insinto /etc/bash/bashrc.d
|
||||||
|
my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash
|
||||||
|
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash
|
||||||
|
if [[ ! ${EPREFIX} ]]; then
|
||||||
|
doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash
|
||||||
|
fi
|
||||||
|
|
||||||
|
insinto /etc/skel
|
||||||
|
for f in bash{_logout,_profile,rc}; do
|
||||||
|
newins "${FILESDIR}/dot-${f}" ".${f}"
|
||||||
|
done
|
||||||
|
|
||||||
|
if use plugins; then
|
||||||
|
exeinto "/usr/$(get_libdir)/bash"
|
||||||
|
set -- examples/loadables/*.o
|
||||||
|
doexe "${@%.o}"
|
||||||
|
|
||||||
|
insinto /usr/include/bash-plugins
|
||||||
|
doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use examples; then
|
||||||
|
for d in examples/{functions,misc,scripts,startup-files}; do
|
||||||
|
exeinto "/usr/share/doc/${PF}/${d}"
|
||||||
|
docinto "${d}"
|
||||||
|
for f in "${d}"/*; do
|
||||||
|
if [[ ${f##*/} != @(PERMISSION|*README) ]]; then
|
||||||
|
doexe "${f}"
|
||||||
|
else
|
||||||
|
dodoc "${f}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install bash_builtins.1 and rbash.1.
|
||||||
|
emake -C doc DESTDIR="${D}" install_builtins
|
||||||
|
sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die
|
||||||
|
doman "${T}"/rbash.1
|
||||||
|
|
||||||
|
newdoc CWRU/changelog ChangeLog
|
||||||
|
dosym bash.info /usr/share/info/bashref.info
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_preinst() {
|
||||||
|
if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then
|
||||||
|
mkdir -p -- "${EROOT}"/etc/bash \
|
||||||
|
&& mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \
|
||||||
|
|| die
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
local old_ver
|
||||||
|
|
||||||
|
# If /bin/sh does not exist, provide it.
|
||||||
|
if [[ ! -e ${EROOT}/bin/sh ]]; then
|
||||||
|
ln -sf -- bash "${EROOT}"/bin/sh || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
read -r old_ver <<<"${REPLACING_VERSIONS}"
|
||||||
|
if [[ ! $old_ver ]]; then
|
||||||
|
:
|
||||||
|
elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
while read -r; do ewarn "${REPLY}"; done <<'EOF'
|
||||||
|
Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash.
|
||||||
|
|
||||||
|
Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the
|
||||||
|
characteristics of the operating environment, it may contain a command to set
|
||||||
|
the terminal's window title. Those who were already choosing to customise the
|
||||||
|
PROMPT_COMMAND variable are now advised to append their commands like so:
|
||||||
|
|
||||||
|
PROMPT_COMMAND+=('custom command goes here')
|
||||||
|
|
||||||
|
Gentoo no longer defaults to having bash set the window title in the case
|
||||||
|
that the terminal is controlled by sshd(8), unless screen is launched on the
|
||||||
|
remote side or the terminal reliably supports saving and restoring the title
|
||||||
|
(as alacritty, foot and tmux do). Those wanting for the title to be set
|
||||||
|
regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d
|
||||||
|
drop-in - to set PROMPT_COMMMAND like so:
|
||||||
|
|
||||||
|
PROMPT_COMMAND=(genfun_set_win_title)
|
||||||
|
|
||||||
|
Those who would prefer for bash never to interfere with the window title may
|
||||||
|
now opt out of the default title setting behaviour, either with the "unset -v
|
||||||
|
PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired.
|
||||||
|
EOF
|
||||||
|
}
|
411
sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240711.ebuild
vendored
Normal file
411
sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_alpha_p20240711.ebuild
vendored
Normal file
@ -0,0 +1,411 @@
|
|||||||
|
# Copyright 1999-2024 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc
|
||||||
|
inherit flag-o-matic toolchain-funcs prefix verify-sig
|
||||||
|
|
||||||
|
# Uncomment if we have a patchset.
|
||||||
|
#GENTOO_PATCH_DEV="sam"
|
||||||
|
#GENTOO_PATCH_VER="${PV}"
|
||||||
|
|
||||||
|
MY_PV=${PV/_p*}
|
||||||
|
MY_PV=${MY_PV/_/-}
|
||||||
|
MY_P=${PN}-${MY_PV}
|
||||||
|
MY_PATCHES=()
|
||||||
|
|
||||||
|
# Determine the patchlevel.
|
||||||
|
case ${PV} in
|
||||||
|
9999|*_alpha*|*_beta*|*_rc*)
|
||||||
|
# Set a negative patchlevel to indicate that it's a pre-release.
|
||||||
|
PLEVEL=-1
|
||||||
|
;;
|
||||||
|
*_p*)
|
||||||
|
PLEVEL=${PV##*_p}
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
PLEVEL=0
|
||||||
|
esac
|
||||||
|
|
||||||
|
# The version of readline this bash normally ships with. Note that we only use
|
||||||
|
# the bundled copy of readline for pre-releases.
|
||||||
|
READLINE_VER="8.3_alpha"
|
||||||
|
|
||||||
|
DESCRIPTION="The standard GNU Bourne again shell"
|
||||||
|
HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git"
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999 ]]; then
|
||||||
|
EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git"
|
||||||
|
EGIT_BRANCH=devel
|
||||||
|
inherit git-r3
|
||||||
|
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||||
|
# It can be useful to have snapshots in the pre-release period once
|
||||||
|
# the first alpha is out, as various bugs get reported and fixed from
|
||||||
|
# the alpha, and the next pre-release is usually quite far away.
|
||||||
|
#
|
||||||
|
# i.e. if it's worth packaging the alpha, it's worth packaging a followup.
|
||||||
|
BASH_COMMIT="d3e86e66ce857a8dc02e3116fd98b6e5b34d6364"
|
||||||
|
SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.xz -> ${P}-${BASH_COMMIT}.tar.xz"
|
||||||
|
S=${WORKDIR}/${PN}-${BASH_COMMIT}
|
||||||
|
else
|
||||||
|
my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" )
|
||||||
|
|
||||||
|
# bash-5.1 -> bash51
|
||||||
|
my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.}
|
||||||
|
|
||||||
|
for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do
|
||||||
|
printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}"
|
||||||
|
my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" )
|
||||||
|
MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" )
|
||||||
|
done
|
||||||
|
|
||||||
|
SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )"
|
||||||
|
S=${WORKDIR}/${MY_P}
|
||||||
|
|
||||||
|
unset -v my_urls my_p my_patch_idx my_patch_ver
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${GENTOO_PATCH_VER} ]]; then
|
||||||
|
SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz"
|
||||||
|
fi
|
||||||
|
|
||||||
|
LICENSE="GPL-3+"
|
||||||
|
SLOT="0"
|
||||||
|
if (( PLEVEL >= 0 )); then
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
|
fi
|
||||||
|
IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
>=sys-libs/ncurses-5.2-r2:=
|
||||||
|
nls? ( virtual/libintl )
|
||||||
|
"
|
||||||
|
if (( PLEVEL >= 0 )); then
|
||||||
|
DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )"
|
||||||
|
fi
|
||||||
|
RDEPEND="
|
||||||
|
${DEPEND}
|
||||||
|
"
|
||||||
|
# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011).
|
||||||
|
BDEPEND="
|
||||||
|
pgo? ( dev-util/gperf )
|
||||||
|
verify-sig? ( sec-keys/openpgp-keys-chetramey )
|
||||||
|
"
|
||||||
|
|
||||||
|
# EAPI 8 tries to append it but it doesn't exist here.
|
||||||
|
QA_CONFIGURE_OPTIONS="--disable-static"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
#"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/
|
||||||
|
|
||||||
|
# Patches to or from Chet, posted to the bug-bash mailing list.
|
||||||
|
"${FILESDIR}/${PN}-5.0-syslog-history-extern.patch"
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
# bug #7332
|
||||||
|
if is-flag -malign-double; then
|
||||||
|
eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
|
||||||
|
eerror "as it breaks LFS (struct stat64) on x86."
|
||||||
|
die "remove -malign-double from your CFLAGS mr ricer"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use bashlogger; then
|
||||||
|
ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
|
||||||
|
ewarn "This will log ALL output you enter into the shell, you have been warned."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
local patch
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999 ]]; then
|
||||||
|
git-r3_src_unpack
|
||||||
|
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||||
|
default
|
||||||
|
else
|
||||||
|
if use verify-sig; then
|
||||||
|
verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
|
||||||
|
|
||||||
|
for patch in "${MY_PATCHES[@]}"; do
|
||||||
|
verify-sig_verify_detached "${patch}"{,.sig}
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
unpack "${MY_P}.tar.gz"
|
||||||
|
|
||||||
|
if [[ ${GENTOO_PATCH_VER} ]]; then
|
||||||
|
unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
# Include official patches.
|
||||||
|
(( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}"
|
||||||
|
|
||||||
|
# Clean out local libs so we know we use system ones w/releases. The
|
||||||
|
# touch utility is invoked for the benefit of config.status.
|
||||||
|
if (( PLEVEL >= 0 )); then
|
||||||
|
rm -rf lib/{readline,termcap}/* \
|
||||||
|
&& touch lib/{readline,termcap}/Makefile.in \
|
||||||
|
&& sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \
|
||||||
|
|| die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Prefixify hardcoded path names. No-op for non-prefix.
|
||||||
|
hprefixify pathnames.h.in
|
||||||
|
|
||||||
|
# Avoid regenerating docs after patches, bug #407985.
|
||||||
|
sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \
|
||||||
|
&& touch -r . doc/* \
|
||||||
|
|| die
|
||||||
|
|
||||||
|
# Sometimes hangs (more noticeable w/ pgo), bug #907403.
|
||||||
|
rm tests/run-jobs || die
|
||||||
|
|
||||||
|
eapply -p0 "${PATCHES[@]}"
|
||||||
|
eapply_user
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
local -a myconf
|
||||||
|
|
||||||
|
# Upstream only test with Bison and require GNUisms like YYEOF and
|
||||||
|
# YYERRCODE. The former at least may be in POSIX soon:
|
||||||
|
# https://www.austingroupbugs.net/view.php?id=1269.
|
||||||
|
# configure warns on use of non-Bison but doesn't abort. The result
|
||||||
|
# may misbehave at runtime.
|
||||||
|
unset -v YACC
|
||||||
|
|
||||||
|
# wcsnwidth(), substring() issues with -Wlto-type-mismatch, reported
|
||||||
|
# upstream to Chet by email.
|
||||||
|
filter-lto
|
||||||
|
|
||||||
|
myconf=(
|
||||||
|
--disable-profiling
|
||||||
|
|
||||||
|
# Force linking with system curses ... the bundled termcap lib
|
||||||
|
# sucks bad compared to ncurses. For the most part, ncurses
|
||||||
|
# is here because readline needs it. But bash itself calls
|
||||||
|
# ncurses in one or two small places :(.
|
||||||
|
--with-curses
|
||||||
|
|
||||||
|
$(use_enable mem-scramble)
|
||||||
|
$(use_enable net net-redirections)
|
||||||
|
$(use_enable readline)
|
||||||
|
$(use_enable readline bang-history)
|
||||||
|
$(use_enable readline history)
|
||||||
|
$(use_with afs)
|
||||||
|
$(use_with mem-scramble bash-malloc)
|
||||||
|
)
|
||||||
|
|
||||||
|
# For descriptions of these, see config-top.h.
|
||||||
|
# bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426
|
||||||
|
append-cppflags \
|
||||||
|
-DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \
|
||||||
|
-DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \
|
||||||
|
-DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \
|
||||||
|
-DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \
|
||||||
|
-DNON_INTERACTIVE_LOGIN_SHELLS \
|
||||||
|
-DSSH_SOURCE_BASHRC \
|
||||||
|
$(use bashlogger && echo -DSYSLOG_HISTORY)
|
||||||
|
|
||||||
|
use nls || myconf+=( --disable-nls )
|
||||||
|
|
||||||
|
if (( PLEVEL >= 0 )); then
|
||||||
|
# Historically, we always used the builtin readline, but since
|
||||||
|
# our handling of SONAME upgrades has gotten much more stable
|
||||||
|
# in the PM (and the readline ebuild itself preserves the old
|
||||||
|
# libs during upgrades), linking against the system copy should
|
||||||
|
# be safe.
|
||||||
|
# Exact cached version here doesn't really matter as long as it
|
||||||
|
# is at least what's in the DEPEND up above.
|
||||||
|
export ac_cv_rl_version=${READLINE_VER%%_*}
|
||||||
|
|
||||||
|
# Use system readline only with released versions.
|
||||||
|
myconf+=( --with-installed-readline=. )
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use plugins; then
|
||||||
|
append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash"
|
||||||
|
else
|
||||||
|
# Disable the plugins logic by hand since bash doesn't provide
|
||||||
|
# a way of doing it.
|
||||||
|
export ac_cv_func_dl{close,open,sym}=no \
|
||||||
|
ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
|
||||||
|
|
||||||
|
sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# bug #444070
|
||||||
|
tc-export AR
|
||||||
|
|
||||||
|
econf "${myconf[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
local -a pgo_generate_flags pgo_use_flags
|
||||||
|
local flag
|
||||||
|
|
||||||
|
# -fprofile-partial-training because upstream notes the test suite isn't
|
||||||
|
# super comprehensive.
|
||||||
|
# https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo
|
||||||
|
if use pgo; then
|
||||||
|
pgo_generate_flags=(
|
||||||
|
-fprofile-update=atomic
|
||||||
|
-fprofile-dir="${T}"/pgo
|
||||||
|
-fprofile-generate="${T}"/pgo
|
||||||
|
)
|
||||||
|
pgo_use_flags=(
|
||||||
|
-fprofile-use="${T}"/pgo
|
||||||
|
-fprofile-dir="${T}"/pgo
|
||||||
|
)
|
||||||
|
if flag=$(test-flags-CC -fprofile-partial-training); then
|
||||||
|
pgo_generate_flags+=( "${flag}" )
|
||||||
|
pgo_use_flags+=( "${flag}" )
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}"
|
||||||
|
use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others
|
||||||
|
|
||||||
|
# Build Bash and run its tests to generate profiles.
|
||||||
|
if (( ${#pgo_generate_flags[@]} )); then
|
||||||
|
# Used in test suite.
|
||||||
|
unset -v A
|
||||||
|
|
||||||
|
emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check
|
||||||
|
|
||||||
|
if tc-is-clang; then
|
||||||
|
llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Rebuild Bash using the profiling data we just generated.
|
||||||
|
emake clean
|
||||||
|
emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}"
|
||||||
|
use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
# Used in test suite.
|
||||||
|
unset -v A
|
||||||
|
|
||||||
|
default
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
local d f
|
||||||
|
|
||||||
|
default
|
||||||
|
|
||||||
|
my_prefixify() {
|
||||||
|
while read -r; do
|
||||||
|
if [[ $REPLY == *$1* ]]; then
|
||||||
|
REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"}
|
||||||
|
fi
|
||||||
|
printf '%s\n' "${REPLY}" || ! break
|
||||||
|
done < "$2" || die
|
||||||
|
}
|
||||||
|
|
||||||
|
dodir /bin
|
||||||
|
mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die
|
||||||
|
dosym bash /bin/rbash
|
||||||
|
|
||||||
|
insinto /etc/bash
|
||||||
|
doins "${FILESDIR}"/bash_logout
|
||||||
|
my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc
|
||||||
|
|
||||||
|
insinto /etc/bash/bashrc.d
|
||||||
|
my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash
|
||||||
|
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash
|
||||||
|
if [[ ! ${EPREFIX} ]]; then
|
||||||
|
doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash
|
||||||
|
fi
|
||||||
|
|
||||||
|
insinto /etc/skel
|
||||||
|
for f in bash{_logout,_profile,rc}; do
|
||||||
|
newins "${FILESDIR}/dot-${f}" ".${f}"
|
||||||
|
done
|
||||||
|
|
||||||
|
if use plugins; then
|
||||||
|
exeinto "/usr/$(get_libdir)/bash"
|
||||||
|
set -- examples/loadables/*.o
|
||||||
|
doexe "${@%.o}"
|
||||||
|
|
||||||
|
insinto /usr/include/bash-plugins
|
||||||
|
doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use examples; then
|
||||||
|
for d in examples/{functions,misc,scripts,startup-files}; do
|
||||||
|
exeinto "/usr/share/doc/${PF}/${d}"
|
||||||
|
docinto "${d}"
|
||||||
|
for f in "${d}"/*; do
|
||||||
|
if [[ ${f##*/} != @(PERMISSION|*README) ]]; then
|
||||||
|
doexe "${f}"
|
||||||
|
else
|
||||||
|
dodoc "${f}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install bash_builtins.1 and rbash.1.
|
||||||
|
emake -C doc DESTDIR="${D}" install_builtins
|
||||||
|
sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die
|
||||||
|
doman "${T}"/rbash.1
|
||||||
|
|
||||||
|
newdoc CWRU/changelog ChangeLog
|
||||||
|
dosym bash.info /usr/share/info/bashref.info
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_preinst() {
|
||||||
|
if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then
|
||||||
|
mkdir -p -- "${EROOT}"/etc/bash \
|
||||||
|
&& mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \
|
||||||
|
|| die
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
local old_ver
|
||||||
|
|
||||||
|
# If /bin/sh does not exist, provide it.
|
||||||
|
if [[ ! -e ${EROOT}/bin/sh ]]; then
|
||||||
|
ln -sf -- bash "${EROOT}"/bin/sh || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
read -r old_ver <<<"${REPLACING_VERSIONS}"
|
||||||
|
if [[ ! $old_ver ]]; then
|
||||||
|
:
|
||||||
|
elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
while read -r; do ewarn "${REPLY}"; done <<'EOF'
|
||||||
|
Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash.
|
||||||
|
|
||||||
|
Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the
|
||||||
|
characteristics of the operating environment, it may contain a command to set
|
||||||
|
the terminal's window title. Those who were already choosing to customise the
|
||||||
|
PROMPT_COMMAND variable are now advised to append their commands like so:
|
||||||
|
|
||||||
|
PROMPT_COMMAND+=('custom command goes here')
|
||||||
|
|
||||||
|
Gentoo no longer defaults to having bash set the window title in the case
|
||||||
|
that the terminal is controlled by sshd(8), unless screen is launched on the
|
||||||
|
remote side or the terminal reliably supports saving and restoring the title
|
||||||
|
(as alacritty, foot and tmux do). Those wanting for the title to be set
|
||||||
|
regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d
|
||||||
|
drop-in - to set PROMPT_COMMMAND like so:
|
||||||
|
|
||||||
|
PROMPT_COMMAND=(genfun_set_win_title)
|
||||||
|
|
||||||
|
Those who would prefer for bash never to interfere with the window title may
|
||||||
|
now opt out of the default title setting behaviour, either with the "unset -v
|
||||||
|
PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired.
|
||||||
|
EOF
|
||||||
|
}
|
@ -17,13 +17,13 @@ MY_PATCHES=()
|
|||||||
|
|
||||||
# Determine the patchlevel.
|
# Determine the patchlevel.
|
||||||
case ${PV} in
|
case ${PV} in
|
||||||
*_p*)
|
|
||||||
PLEVEL=${PV##*_p}
|
|
||||||
;;
|
|
||||||
9999|*_alpha*|*_beta*|*_rc*)
|
9999|*_alpha*|*_beta*|*_rc*)
|
||||||
# Set a negative patchlevel to indicate that it's a pre-release.
|
# Set a negative patchlevel to indicate that it's a pre-release.
|
||||||
PLEVEL=-1
|
PLEVEL=-1
|
||||||
;;
|
;;
|
||||||
|
*_p*)
|
||||||
|
PLEVEL=${PV##*_p}
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
PLEVEL=0
|
PLEVEL=0
|
||||||
esac
|
esac
|
||||||
@ -39,6 +39,15 @@ if [[ ${PV} == 9999 ]]; then
|
|||||||
EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git"
|
EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git"
|
||||||
EGIT_BRANCH=devel
|
EGIT_BRANCH=devel
|
||||||
inherit git-r3
|
inherit git-r3
|
||||||
|
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||||
|
# It can be useful to have snapshots in the pre-release period once
|
||||||
|
# the first alpha is out, as various bugs get reported and fixed from
|
||||||
|
# the alpha, and the next pre-release is usually quite far away.
|
||||||
|
#
|
||||||
|
# i.e. if it's worth packaging the alpha, it's worth packaging a followup.
|
||||||
|
BASH_COMMIT="d3e86e66ce857a8dc02e3116fd98b6e5b34d6364"
|
||||||
|
SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.xz -> ${P}-${BASH_COMMIT}.tar.xz"
|
||||||
|
S=${WORKDIR}/${PN}-${BASH_COMMIT}
|
||||||
else
|
else
|
||||||
my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" )
|
my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" )
|
||||||
|
|
||||||
@ -52,6 +61,7 @@ else
|
|||||||
done
|
done
|
||||||
|
|
||||||
SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )"
|
SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )"
|
||||||
|
S=${WORKDIR}/${MY_P}
|
||||||
|
|
||||||
unset -v my_urls my_p my_patch_idx my_patch_ver
|
unset -v my_urls my_p my_patch_idx my_patch_ver
|
||||||
fi
|
fi
|
||||||
@ -60,8 +70,6 @@ if [[ ${GENTOO_PATCH_VER} ]]; then
|
|||||||
SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz"
|
SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
S=${WORKDIR}/${MY_P}
|
|
||||||
|
|
||||||
LICENSE="GPL-3+"
|
LICENSE="GPL-3+"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
if (( PLEVEL >= 0 )); then
|
if (( PLEVEL >= 0 )); then
|
||||||
@ -114,6 +122,8 @@ src_unpack() {
|
|||||||
|
|
||||||
if [[ ${PV} == 9999 ]]; then
|
if [[ ${PV} == 9999 ]]; then
|
||||||
git-r3_src_unpack
|
git-r3_src_unpack
|
||||||
|
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||||
|
default
|
||||||
else
|
else
|
||||||
if use verify-sig; then
|
if use verify-sig; then
|
||||||
verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
|
verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
|
||||||
@ -310,7 +320,7 @@ src_install() {
|
|||||||
|
|
||||||
insinto /etc/bash/bashrc.d
|
insinto /etc/bash/bashrc.d
|
||||||
my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash
|
my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash
|
||||||
doins "${FILESDIR}"/bashrc.d/10-gentoo-title.bash
|
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash
|
||||||
if [[ ! ${EPREFIX} ]]; then
|
if [[ ! ${EPREFIX} ]]; then
|
||||||
doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash
|
doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash
|
||||||
fi
|
fi
|
||||||
@ -371,26 +381,26 @@ pkg_postinst() {
|
|||||||
read -r old_ver <<<"${REPLACING_VERSIONS}"
|
read -r old_ver <<<"${REPLACING_VERSIONS}"
|
||||||
if [[ ! $old_ver ]]; then
|
if [[ ! $old_ver ]]; then
|
||||||
:
|
:
|
||||||
elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r6"; then
|
elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then
|
||||||
return
|
|
||||||
elif ver_test "$old_ver" -lt "5.2" && ver_test "$old_ver" -ge "5.1_p16-r13"; then
|
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
while read -r; do ewarn "${REPLY}"; done <<'EOF'
|
while read -r; do ewarn "${REPLY}"; done <<'EOF'
|
||||||
Files situated under /etc/bash/bashrc.d must now have a suffix of .sh or .bash.
|
Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash.
|
||||||
|
|
||||||
Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the
|
Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the
|
||||||
characteristics of the operating environment, this array may contain a command
|
characteristics of the operating environment, it may contain a command to set
|
||||||
to set the terminal's window title. Those already choosing to customise the
|
the terminal's window title. Those who were already choosing to customise the
|
||||||
PROMPT_COMMAND variable are now advised to append their commands like so:
|
PROMPT_COMMAND variable are now advised to append their commands like so:
|
||||||
|
|
||||||
PROMPT_COMMAND+=('custom command goes here')
|
PROMPT_COMMAND+=('custom command goes here')
|
||||||
|
|
||||||
Gentoo no longer defaults to having bash manipulate the window title in the case
|
Gentoo no longer defaults to having bash set the window title in the case
|
||||||
that the terminal is controlled by sshd(8), unless screen or tmux are in use.
|
that the terminal is controlled by sshd(8), unless screen is launched on the
|
||||||
Those wanting to set the title unconditionally may adjust ~/.bashrc - or create
|
remote side or the terminal reliably supports saving and restoring the title
|
||||||
a custom /etc/bash/bashrc.d drop-in - to set PROMPT_COMMMAND like so:
|
(as alacritty, foot and tmux do). Those wanting for the title to be set
|
||||||
|
regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d
|
||||||
|
drop-in - to set PROMPT_COMMMAND like so:
|
||||||
|
|
||||||
PROMPT_COMMAND=(genfun_set_win_title)
|
PROMPT_COMMAND=(genfun_set_win_title)
|
||||||
|
|
||||||
|
@ -0,0 +1,81 @@
|
|||||||
|
# /etc/bash/bashrc.d/10-gentoo-title.bash
|
||||||
|
|
||||||
|
# For information regarding the control sequences used, please refer to
|
||||||
|
# https://invisible-island.net/xterm/ctlseqs/ctlseqs.html.
|
||||||
|
|
||||||
|
genfun_set_win_title() {
|
||||||
|
# Advertise the fact that the presently running interactive shell will
|
||||||
|
# update the title. Doing so allows for its subprocesses to determine
|
||||||
|
# whether it is safe to set the title of their own accord. Note that 0
|
||||||
|
# refers to the value of Ps within the OSC Ps ; Pt BEL sequence.
|
||||||
|
export SHELL_SETS_TITLE=0
|
||||||
|
|
||||||
|
# Assigns the basename of the current working directory, having
|
||||||
|
# sanitised it with @Q parameter expansion. Useful for paths containing
|
||||||
|
# newlines and such. As a special case, names consisting entirely of
|
||||||
|
# graphemes shall not undergo the expansion, for reasons of cleanliness.
|
||||||
|
genfun_sanitise_cwd() {
|
||||||
|
_cwd=${PWD##*/}
|
||||||
|
if [[ ! ${_cwd} ]]; then
|
||||||
|
_cwd=${PWD}
|
||||||
|
elif [[ ${_cwd} == *[![:graph:]]* ]]; then
|
||||||
|
_cwd=${_cwd@Q}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Sets the window title with the Set Text Parameters control sequence.
|
||||||
|
# For screen, the sequence defines the hardstatus (%h) and for tmux, the
|
||||||
|
# pane_title (#T). For graphical terminal emulators, it is normal for
|
||||||
|
# the title bar to be affected.
|
||||||
|
genfun_set_win_title() {
|
||||||
|
genfun_sanitise_cwd
|
||||||
|
printf '\033]0;%s@%s - %s\007' "${USER}" "${HOSTNAME%%.*}" "${_cwd}"
|
||||||
|
}
|
||||||
|
|
||||||
|
genfun_set_win_title
|
||||||
|
}
|
||||||
|
|
||||||
|
unset -v SHELL_SETS_TITLE
|
||||||
|
|
||||||
|
# Determine whether the terminal can handle the Set Text Parameters sequence.
|
||||||
|
# The only terminals permitted here are those for which there is empirical
|
||||||
|
# evidence that the sequence is supported and that the UTF-8 character encoding
|
||||||
|
# is handled correctly. Quite rightly, this precludes many vintage terminals.
|
||||||
|
case ${TERM} in
|
||||||
|
alacritty|foot*|tmux*)
|
||||||
|
# The terminal emulator also supports XTWINOPS. If the PTY was
|
||||||
|
# created by sshd(8) then push the current window title to the
|
||||||
|
# stack and arrange for it to be popped upon exiting. Xterm also
|
||||||
|
# supports this but there are far too many terminal emulators
|
||||||
|
# that falsely identify as being xterm-compatible.
|
||||||
|
if [[ ${SSH_TTY} && ${SSH_TTY} == "$(tty)" ]]; then
|
||||||
|
trap 'printf "\033[23;0t"' EXIT
|
||||||
|
printf '\033[22;0t'
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
rxvt-unicode*|st-256color|xterm*)
|
||||||
|
# If the PTY was created by sshd(8) then proceed no further.
|
||||||
|
# Alas, there exist many operating environments in which the
|
||||||
|
# title would otherwise not be restored upon ssh(1) exiting.
|
||||||
|
# Those wanting for the title to be set regardless may adjust
|
||||||
|
# ~/.bashrc or create a bashrc.d drop-in to set PROMPT_COMMAND.
|
||||||
|
# For example, PROMPT_COMMAND=(genfun_set_win_title).
|
||||||
|
if [[ ${SSH_TTY} && ${SSH_TTY} == "$(tty)" ]]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
screen*)
|
||||||
|
# If the PTY was created by sshd(8) and screen(1) was launched
|
||||||
|
# prior to the SSH session beginning, as opposed to afterwards,
|
||||||
|
# proceed no further. It is another case in which there would be
|
||||||
|
# no guarantee of the title being restored upon ssh(1) exiting.
|
||||||
|
if [[ ! ${WINDOW} && ${SSH_TTY} && ${SSH_TTY} == "$(tty)" ]]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
return
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Arrange for the title to be updated each time the primary prompt is displayed.
|
||||||
|
PROMPT_COMMAND+=('genfun_set_win_title')
|
@ -1,3 +1 @@
|
|||||||
DIST gentoo-bashcomp-20240511.tar.bz2 21695 BLAKE2B 886a80eafbb923b5ccb5c9e6e0749b66878003d99e0ddf8fc3d07c072fd23cb3277eb254c4687695459fe8401d427dee2779bc29f2a48ab1c6f2b4bfe7d4ef0d SHA512 3e5add581268e7911eb18d1958e4db3b549b2afc496231dcf537abe5409fdd4fa045c6f61538be6c2686888e20ad0d0b714ecf82639a9ae0ec6eecedc378b78d
|
|
||||||
DIST gentoo-bashcomp-20240525.tar.bz2 23392 BLAKE2B 03da7f6a077382efaac9c9ddad2ef6bcf21704574378a400aeeb0ec2b88934c3aac10009912ad6f0d06ae410c42d6013acaf4629f3c6f46abb19b0d1e000c1d9 SHA512 5017f2e106e2b3f1335f1edbce7ede1fd918bd701a1082ec8cd71f1cedad9480109d82381d56587cb6da4dd04c210f9f51dbaaf8b2aa419abbc6fab73825226a
|
|
||||||
DIST gentoo-bashcomp-20240625.tar.bz2 23794 BLAKE2B 567131238e24744a5083ad8ec484d4342b6891e95b999d11d809da769d8f2ad3536f7da769f0d291663b9c3be46fe67d261cbdcf59a0f846e4f08a66b4106571 SHA512 1b5476ba7cb1b7c2f1d51c03d592245718fb4c2c07ff5171aee1bfa0def2a2f0bbff7a38950d18e3646285e7432cedee0ee75eed1c6348946793f011de4ddcbf
|
DIST gentoo-bashcomp-20240625.tar.bz2 23794 BLAKE2B 567131238e24744a5083ad8ec484d4342b6891e95b999d11d809da769d8f2ad3536f7da769f0d291663b9c3be46fe67d261cbdcf59a0f846e4f08a66b4106571 SHA512 1b5476ba7cb1b7c2f1d51c03d592245718fb4c2c07ff5171aee1bfa0def2a2f0bbff7a38950d18e3646285e7432cedee0ee75eed1c6348946793f011de4ddcbf
|
||||||
|
@ -1,21 +0,0 @@
|
|||||||
# Copyright 1999-2024 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
inherit bash-completion-r1
|
|
||||||
|
|
||||||
DESCRIPTION="Gentoo-specific bash command-line completions (emerge, ebuild, equery, etc)"
|
|
||||||
HOMEPAGE="https://gitweb.gentoo.org/proj/gentoo-bashcomp.git/"
|
|
||||||
SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.bz2"
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
emake DESTDIR="${D}" install \
|
|
||||||
completionsdir="$(get_bashcompdir)" \
|
|
||||||
helpersdir="$(get_bashhelpersdir)" \
|
|
||||||
compatdir="${EPREFIX}/etc/bash_completion.d"
|
|
||||||
}
|
|
@ -1,21 +0,0 @@
|
|||||||
# Copyright 1999-2024 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
inherit bash-completion-r1
|
|
||||||
|
|
||||||
DESCRIPTION="Gentoo-specific bash command-line completions (emerge, ebuild, equery, etc)"
|
|
||||||
HOMEPAGE="https://gitweb.gentoo.org/proj/gentoo-bashcomp.git/"
|
|
||||||
SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.bz2"
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
emake DESTDIR="${D}" install \
|
|
||||||
completionsdir="$(get_bashcompdir)" \
|
|
||||||
helpersdir="$(get_bashhelpersdir)" \
|
|
||||||
compatdir="${EPREFIX}/etc/bash_completion.d"
|
|
||||||
}
|
|
@ -2,7 +2,5 @@ DIST automake-1.11.6.tar.xz 1092908 BLAKE2B 17254d81d6920c32aa877b6c892025de8e40
|
|||||||
DIST automake-1.16.5-tests-c99.patch.xz 7176 BLAKE2B 1fa1d3a499bacc5da9ee9d8ea6cb63d9ab91646a708a53d9bb08eef65fe02a6ab34ff95737042348ea7572bd70c6c7467e260d9441239a00c3571d25d73085f0 SHA512 0065b809219257cbce3c6f6f88459b91a5a29272e0027698e06246181357ffe8d5d40057086438f891d821836441a5a96f2568d52dcd3b5acb80e4d4968cbaf9
|
DIST automake-1.16.5-tests-c99.patch.xz 7176 BLAKE2B 1fa1d3a499bacc5da9ee9d8ea6cb63d9ab91646a708a53d9bb08eef65fe02a6ab34ff95737042348ea7572bd70c6c7467e260d9441239a00c3571d25d73085f0 SHA512 0065b809219257cbce3c6f6f88459b91a5a29272e0027698e06246181357ffe8d5d40057086438f891d821836441a5a96f2568d52dcd3b5acb80e4d4968cbaf9
|
||||||
DIST automake-1.16.5.tar.xz 1601740 BLAKE2B 87408abc57e1d4317a2b518fb3606d0f6d156522e7333016dd84747cd8922f27ef7fcc93220b11f794ce52bf8fd9a788d0166a4d1964d7c283905f269977ac7c SHA512 3084ae543aa3fb5a05104ffb2e66cfa9a53080f2343c44809707fd648516869511500dba50dae67ff10f92a1bf3b5a92b2a0fa01cda30adb69b9da03994d9d88
|
DIST automake-1.16.5.tar.xz 1601740 BLAKE2B 87408abc57e1d4317a2b518fb3606d0f6d156522e7333016dd84747cd8922f27ef7fcc93220b11f794ce52bf8fd9a788d0166a4d1964d7c283905f269977ac7c SHA512 3084ae543aa3fb5a05104ffb2e66cfa9a53080f2343c44809707fd648516869511500dba50dae67ff10f92a1bf3b5a92b2a0fa01cda30adb69b9da03994d9d88
|
||||||
DIST automake-1.16.5.tar.xz.sig 833 BLAKE2B a79fcdce97e13ac3bf39d73e183da92703681ff80011974d95a41be20169f95414551985f7a46602fba3558e33f24d6dcb76222d99f9de4fef0d3dc59b88807e SHA512 032a7c39abb4cabbefa4eb9c15263baec0902e48c0c81364307361a41fd55be282b9640707c789f5ae572e8e60240e34d1b575a671b5710f5d2a5716fafc2d51
|
DIST automake-1.16.5.tar.xz.sig 833 BLAKE2B a79fcdce97e13ac3bf39d73e183da92703681ff80011974d95a41be20169f95414551985f7a46602fba3558e33f24d6dcb76222d99f9de4fef0d3dc59b88807e SHA512 032a7c39abb4cabbefa4eb9c15263baec0902e48c0c81364307361a41fd55be282b9640707c789f5ae572e8e60240e34d1b575a671b5710f5d2a5716fafc2d51
|
||||||
DIST automake-1.16.90.tar.xz 1644220 BLAKE2B 01a4ddfccbbdd96976b1801c767ef2ff6951a09eb7e0071a7b8e7c8c768fae1accc4a6a38290109995710b9296a2ac1e0dcf8d03a3f6ec42e4d69d25b3ff106e SHA512 139a2777be1417e02a7701a8e0166d4961fe50e3bddc79e2e852727fc1032b7f85ad0bee6ddc8bfd796a02c75a464500e984295290dac5614a7d6039dae9c52d
|
DIST automake-1.17.tar.xz 1652632 BLAKE2B 53c24c138faf3d2be4e30ababcccd4d157c03e815fc4b7f3e3063b6648cf254dfa63afe6e3285b21309dbf260335c3e67991db3825e7532b158b25ccaead83f5 SHA512 46aba1c9d64a6368b326020803a2999831c1deaf31eaa1c1dfdcfa5138a7f755643294e82a08b6daab3983b31eee725bdb7b9edc4e9a558374c7d1f1b8e854a7
|
||||||
DIST automake-1.16.90.tar.xz.sig 833 BLAKE2B c77fa1a99a7638b570f26f4858486d20b83801a661549e82ac4f7b7e9fd9c7dd2211e2403fc13b65a488d05d7a3c81ae7a372988c4a7e2e0588e4d7d609c77b5 SHA512 f4fc6ff3e1158bc37f95375f4eb2497e5bd9bb943a7d418e94379fcd292b9f35357b842b8a7383c942b23bf5510b61b17b997231267fb6f55dad7bab00b954e2
|
DIST automake-1.17.tar.xz.sig 833 BLAKE2B 4564c7189360c61bde7e16a7c3a52b86084fb16b7f4625969fc588a6aa0da687c7b27acf7247822ec0e09e59336acf0ef69784032f255190a070081f6d9da5cc SHA512 180dde452ec097a9267c334044a9ec16bb65cc6ccbc000b7eca0af81ed7ece6f4ce6f6c2be8a2cabca9d48fd46085c81f0ee5d020967104bc25f37f52927829a
|
||||||
DIST automake-1.16.92.tar.xz 1649420 BLAKE2B aa7c50d9d8f2d9b9444530c24bf694c031909f96164cb3f335e793ae1244f34253903123e26ce9cd50724c60fa47cbcee5ae4c59b8a2d955d8f8363480050a71 SHA512 47609fcbe962195b6683d3ccc62bda7f86af0bb702148caa4aa7e21ce1b49ae4c238254817b51ea7afdaa671d183ec43fc4af41b676cd1afafec8e485142e2fc
|
|
||||||
DIST automake-1.16.92.tar.xz.sig 833 BLAKE2B 0ad23cea8e865be0e928fb3feaee4f982de59e1c60322465f44acb7126dee5ab13d2010757f23f60960819345399ff5ba1f80dee7cbc4483c7adf3413b6025e4 SHA512 1df37c983b70250383084b2dcdba543e9c32a028a842ca6dd7cb8a3f17dba5edfb4372a87c03d2da1053ea5a72e45972e0ae1f0492b78463bae437e7b0dad6b4
|
|
||||||
|
@ -8,7 +8,7 @@ EAPI=7
|
|||||||
# on new automake (major) releases, as well as the dependency in RDEPEND below too.
|
# on new automake (major) releases, as well as the dependency in RDEPEND below too.
|
||||||
# * Update _WANT_AUTOMAKE and _automake_atom case statement in autotools.eclass.
|
# * Update _WANT_AUTOMAKE and _automake_atom case statement in autotools.eclass.
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{10..12} )
|
PYTHON_COMPAT=( python3_{10..13} )
|
||||||
|
|
||||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jimmeyering.asc
|
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jimmeyering.asc
|
||||||
inherit python-any-r1 verify-sig
|
inherit python-any-r1 verify-sig
|
||||||
|
@ -1,148 +0,0 @@
|
|||||||
# Copyright 1999-2024 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
# Bumping notes:
|
|
||||||
# * Remember to modify LAST_KNOWN_AUTOMAKE_VER 'upstream' in dev-build/automake-wrapper
|
|
||||||
# on new automake (major) releases, as well as the dependency in RDEPEND below too.
|
|
||||||
# * Update _WANT_AUTOMAKE and _automake_atom case statement in autotools.eclass.
|
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{10..12} )
|
|
||||||
|
|
||||||
inherit python-any-r1 verify-sig
|
|
||||||
|
|
||||||
MANGLED_SLOT=${PV:0:4}
|
|
||||||
|
|
||||||
if [[ ${PV} == 9999 ]] ; then
|
|
||||||
EGIT_MIN_CLONE_TYPE=single
|
|
||||||
EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git"
|
|
||||||
inherit git-r3
|
|
||||||
else
|
|
||||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jimmeyering.asc
|
|
||||||
if [[ $(ver_cut 3) -ge 90 ]] ; then
|
|
||||||
MANGLED_SLOT=$(ver_cut 1).$(($(ver_cut 2) + 1))
|
|
||||||
SRC_URI="
|
|
||||||
https://alpha.gnu.org/pub/gnu/${PN}/${P}.tar.xz
|
|
||||||
verify-sig? (
|
|
||||||
https://alpha.gnu.org/pub/gnu/${PN}/${P}.tar.xz.sig
|
|
||||||
)
|
|
||||||
"
|
|
||||||
else
|
|
||||||
SRC_URI="
|
|
||||||
mirror://gnu/${PN}/${P}.tar.xz
|
|
||||||
verify-sig? (
|
|
||||||
mirror://gnu/${PN}/${P}.tar.xz.sig
|
|
||||||
)
|
|
||||||
"
|
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
DESCRIPTION="Used to generate Makefile.in from Makefile.am"
|
|
||||||
HOMEPAGE="https://www.gnu.org/software/automake/"
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
# Use Gentoo versioning for slotting.
|
|
||||||
SLOT="${MANGLED_SLOT}"
|
|
||||||
IUSE="test"
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
>=dev-lang/perl-5.6
|
|
||||||
>=dev-build/automake-wrapper-20240607
|
|
||||||
>=dev-build/autoconf-2.69:*
|
|
||||||
sys-devel/gnuconfig
|
|
||||||
"
|
|
||||||
BDEPEND="
|
|
||||||
app-alternatives/gzip
|
|
||||||
sys-apps/help2man
|
|
||||||
dev-build/autoconf-wrapper
|
|
||||||
dev-build/autoconf
|
|
||||||
test? (
|
|
||||||
${PYTHON_DEPS}
|
|
||||||
dev-util/dejagnu
|
|
||||||
sys-devel/bison
|
|
||||||
sys-devel/flex
|
|
||||||
)
|
|
||||||
verify-sig? ( sec-keys/openpgp-keys-jimmeyering )
|
|
||||||
"
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
use test && python-any-r1_pkg_setup
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
default
|
|
||||||
|
|
||||||
export WANT_AUTOCONF=2.5
|
|
||||||
# Don't try wrapping the autotools - this thing runs as it tends
|
|
||||||
# to be a bit esoteric, and the script does `set -e` itself.
|
|
||||||
./bootstrap || die
|
|
||||||
sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
|
|
||||||
|
|
||||||
# bug #628912
|
|
||||||
if ! has_version -b sys-apps/texinfo ; then
|
|
||||||
touch doc/{stamp-vti,version.texi,automake.info} || die
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
# Also used in install.
|
|
||||||
infopath="${EPREFIX}/usr/share/automake-${PV}/info"
|
|
||||||
econf --infodir="${infopath}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test() {
|
|
||||||
# Fails with byacc/flex
|
|
||||||
emake YACC="bison -y" LEX="flex" check
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
default
|
|
||||||
|
|
||||||
rm "${ED}"/usr/share/aclocal/README || die
|
|
||||||
rmdir "${ED}"/usr/share/aclocal || die
|
|
||||||
rm \
|
|
||||||
"${ED}"/usr/bin/{aclocal,automake} \
|
|
||||||
"${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die
|
|
||||||
|
|
||||||
# remove all config.guess and config.sub files replacing them
|
|
||||||
# w/a symlink to a specific gnuconfig version
|
|
||||||
local x
|
|
||||||
for x in guess sub ; do
|
|
||||||
dosym ../gnuconfig/config.${x} \
|
|
||||||
/usr/share/${PN}-${SLOT}/config.${x}
|
|
||||||
done
|
|
||||||
|
|
||||||
# Avoid QA message about pre-compressed file in docs
|
|
||||||
local tarfile="${ED}/usr/share/doc/${PF}/amhello-1.0.tar.gz"
|
|
||||||
if [[ -f "${tarfile}" ]] ; then
|
|
||||||
gunzip "${tarfile}" || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
pushd "${D}/${infopath}" >/dev/null || die
|
|
||||||
for f in *.info*; do
|
|
||||||
# Install convenience aliases for versioned Automake pages.
|
|
||||||
ln -s "$f" "${f/./-${PV}.}" || die
|
|
||||||
done
|
|
||||||
popd >/dev/null || die
|
|
||||||
|
|
||||||
if [[ ${PV} == 9999 ]]; then
|
|
||||||
local major="89"
|
|
||||||
local minor="999"
|
|
||||||
else
|
|
||||||
local major="$(ver_cut 1)"
|
|
||||||
if [[ $(ver_cut 3) -ge 90 ]] ; then
|
|
||||||
local minor=$(($(ver_cut 2) + 1))
|
|
||||||
else
|
|
||||||
local minor="$(ver_cut 2)"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
local idx="$((99999-(major*1000+minor)))"
|
|
||||||
newenvd - "06automake${idx}" <<-EOF
|
|
||||||
INFOPATH="${infopath}"
|
|
||||||
EOF
|
|
||||||
|
|
||||||
docompress "${MY_INFODIR}"
|
|
||||||
}
|
|
@ -8,7 +8,7 @@ EAPI=8
|
|||||||
# on new automake (major) releases, as well as the dependency in RDEPEND below too.
|
# on new automake (major) releases, as well as the dependency in RDEPEND below too.
|
||||||
# * Update _WANT_AUTOMAKE and _automake_atom case statement in autotools.eclass.
|
# * Update _WANT_AUTOMAKE and _automake_atom case statement in autotools.eclass.
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{10..12} )
|
PYTHON_COMPAT=( python3_{10..13} )
|
||||||
|
|
||||||
inherit python-any-r1 verify-sig
|
inherit python-any-r1 verify-sig
|
||||||
|
|
||||||
@ -35,7 +35,7 @@ else
|
|||||||
mirror://gnu/${PN}/${P}.tar.xz.sig
|
mirror://gnu/${PN}/${P}.tar.xz.sig
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -144,5 +144,5 @@ src_install() {
|
|||||||
INFOPATH="${infopath}"
|
INFOPATH="${infopath}"
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
docompress "${MY_INFODIR}"
|
docompress "${infopath}"
|
||||||
}
|
}
|
@ -8,7 +8,7 @@ EAPI=8
|
|||||||
# on new automake (major) releases, as well as the dependency in RDEPEND below too.
|
# on new automake (major) releases, as well as the dependency in RDEPEND below too.
|
||||||
# * Update _WANT_AUTOMAKE and _automake_atom case statement in autotools.eclass.
|
# * Update _WANT_AUTOMAKE and _automake_atom case statement in autotools.eclass.
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{10..12} )
|
PYTHON_COMPAT=( python3_{10..13} )
|
||||||
|
|
||||||
inherit python-any-r1 verify-sig
|
inherit python-any-r1 verify-sig
|
||||||
|
|
||||||
@ -35,7 +35,7 @@ else
|
|||||||
mirror://gnu/${PN}/${P}.tar.xz.sig
|
mirror://gnu/${PN}/${P}.tar.xz.sig
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -144,5 +144,5 @@ src_install() {
|
|||||||
INFOPATH="${infopath}"
|
INFOPATH="${infopath}"
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
docompress "${MY_INFODIR}"
|
docompress "${infopath}"
|
||||||
}
|
}
|
||||||
|
@ -2,9 +2,17 @@ DIST cmake-3.27.0-docs.tar.xz 521348 BLAKE2B 319c84195c37b1944bb5d3fde1aeae75623
|
|||||||
DIST cmake-3.27.9-SHA-256.txt 1646 BLAKE2B abfef38f8994d7684a44caaa4a5efa1ac8fbe38bd8e8c98bf341cf813f77ee54bea58f7b3ab7f68b3f5d992519396fd15a1f72a1d9587f593d80b8d2f8ba36e7 SHA512 310c45281735cf9812d9d1cf22a656c5b44e596ef7032a8b7b09900ef838e74b884599b42ed2f5469946f371d431b7d4b1e44f6cd49dfb36ea49d88b187b4804
|
DIST cmake-3.27.9-SHA-256.txt 1646 BLAKE2B abfef38f8994d7684a44caaa4a5efa1ac8fbe38bd8e8c98bf341cf813f77ee54bea58f7b3ab7f68b3f5d992519396fd15a1f72a1d9587f593d80b8d2f8ba36e7 SHA512 310c45281735cf9812d9d1cf22a656c5b44e596ef7032a8b7b09900ef838e74b884599b42ed2f5469946f371d431b7d4b1e44f6cd49dfb36ea49d88b187b4804
|
||||||
DIST cmake-3.27.9-SHA-256.txt.asc 833 BLAKE2B 57d52fc2f3233662af13eb362ec82626c4821267f55f1313907513b61cee5b8481936da2b03c908c507b3e0919e4811e90c6cb47568420a8b2187c7942de9f1e SHA512 cad2007e356eac480b2cb93778f90152788e33be2e565b38535a2d205794054e5d67d4ed7db0765a05017aedc5f1af21556535a084014fe6c446bc13258253da
|
DIST cmake-3.27.9-SHA-256.txt.asc 833 BLAKE2B 57d52fc2f3233662af13eb362ec82626c4821267f55f1313907513b61cee5b8481936da2b03c908c507b3e0919e4811e90c6cb47568420a8b2187c7942de9f1e SHA512 cad2007e356eac480b2cb93778f90152788e33be2e565b38535a2d205794054e5d67d4ed7db0765a05017aedc5f1af21556535a084014fe6c446bc13258253da
|
||||||
DIST cmake-3.27.9.tar.gz 10984490 BLAKE2B 66f8fb6e301ed19f993fde6c4f9e336124be6373d49b58d130ce59f4e5225cd27e02813856636b51c2521403c3a56c200ce646de5c35be2b25b5e6240c98bdb4 SHA512 56ce723b0b6d09b420a2f89ba1636cdfb1bc305bc2df91ae716f866bee07f5d702d75efbddfbaf724f47382df809107fe1e6d046314cd2f1ff07bca34ad6340a
|
DIST cmake-3.27.9.tar.gz 10984490 BLAKE2B 66f8fb6e301ed19f993fde6c4f9e336124be6373d49b58d130ce59f4e5225cd27e02813856636b51c2521403c3a56c200ce646de5c35be2b25b5e6240c98bdb4 SHA512 56ce723b0b6d09b420a2f89ba1636cdfb1bc305bc2df91ae716f866bee07f5d702d75efbddfbaf724f47382df809107fe1e6d046314cd2f1ff07bca34ad6340a
|
||||||
|
DIST cmake-3.28.0-docs.tar.xz 525776 BLAKE2B b643f76012768f0100c51f0dd146230eba25b634ab4f9abd9c739b0b257e4b1d54aa01be8d2dcd27a7b1d9822bf13eb8af16ff3c6984eeefdeb58988a164bc26 SHA512 474dc77e44240de921013219bd7cdc4aee80214fbf38d60dc2ddb53c0fda8a11c466c01bbee2abbd32b711ec7524678515e39a79a5634354a6cb38f9683e229f
|
||||||
DIST cmake-3.28.5-SHA-256.txt 1646 BLAKE2B 763cbec9ede58cc43a7435e3fe97a9a9f28b201712f52d98ecdf8035887232fe6000675c9bab90f275ff6d44406839f04352784a921dcbc9d65c5e2440b53f52 SHA512 0fdeed277d113e4642c11b87b98305da43213bd89566e3aaaf427a11e168d9e6754632c2fd76fae542d29fddfa8b67c3c0df19f741c53fdd3aea8ce7bec73ff3
|
DIST cmake-3.28.5-SHA-256.txt 1646 BLAKE2B 763cbec9ede58cc43a7435e3fe97a9a9f28b201712f52d98ecdf8035887232fe6000675c9bab90f275ff6d44406839f04352784a921dcbc9d65c5e2440b53f52 SHA512 0fdeed277d113e4642c11b87b98305da43213bd89566e3aaaf427a11e168d9e6754632c2fd76fae542d29fddfa8b67c3c0df19f741c53fdd3aea8ce7bec73ff3
|
||||||
DIST cmake-3.28.5-SHA-256.txt.asc 833 BLAKE2B bde735a577b556bc30ae1a5de0df8533243c955cc5d222537b3323e7108900af2f01799a4bfa843d953b141cc76a19aed77bfba15cf4e2c3cc36a0e7e844e853 SHA512 d495afd2ce4e16f8d3ecc0b319d59c3634aae71c26110d14225f9dd628bfe173cdd94818c69c930ef5cfff3b331445e192db0082188e0822155184e3f6f80e7d
|
DIST cmake-3.28.5-SHA-256.txt.asc 833 BLAKE2B bde735a577b556bc30ae1a5de0df8533243c955cc5d222537b3323e7108900af2f01799a4bfa843d953b141cc76a19aed77bfba15cf4e2c3cc36a0e7e844e853 SHA512 d495afd2ce4e16f8d3ecc0b319d59c3634aae71c26110d14225f9dd628bfe173cdd94818c69c930ef5cfff3b331445e192db0082188e0822155184e3f6f80e7d
|
||||||
DIST cmake-3.28.5.tar.gz 11076017 BLAKE2B 7da653e42fca4848362a97e80320ffcc85ced4951dfe475f48f1619a40dc674d2828a78df2ef09589868f41f1da86970074186f730e675851cd9e7c1b099ba4c SHA512 d8f1c056e94c835c2078a5e68b23a3918f0e2cc40ef9dacaf5df4f2c26106149d85364c01528fcc2d6a4b6c2182ba420d938c519fa98757a5fc375cf152c7f82
|
DIST cmake-3.28.5.tar.gz 11076017 BLAKE2B 7da653e42fca4848362a97e80320ffcc85ced4951dfe475f48f1619a40dc674d2828a78df2ef09589868f41f1da86970074186f730e675851cd9e7c1b099ba4c SHA512 d8f1c056e94c835c2078a5e68b23a3918f0e2cc40ef9dacaf5df4f2c26106149d85364c01528fcc2d6a4b6c2182ba420d938c519fa98757a5fc375cf152c7f82
|
||||||
DIST cmake-3.29.3-SHA-256.txt 1646 BLAKE2B a1cb6895e9d98ac750450230adaba562a4be7134563869feb59c5a32dbea62a49273a9d163aade84c81fa410a94fcdfe2adaa653cd663972376b20a3b5436be9 SHA512 118604ac64ccd02995e6b421c256cb414637471094a72ff65d0f604cc4cc9f869f64fe1d409584925b93050373e7b69966ea91e4a9fc34b98287b0ee49eeb23c
|
DIST cmake-3.29.3-SHA-256.txt 1646 BLAKE2B a1cb6895e9d98ac750450230adaba562a4be7134563869feb59c5a32dbea62a49273a9d163aade84c81fa410a94fcdfe2adaa653cd663972376b20a3b5436be9 SHA512 118604ac64ccd02995e6b421c256cb414637471094a72ff65d0f604cc4cc9f869f64fe1d409584925b93050373e7b69966ea91e4a9fc34b98287b0ee49eeb23c
|
||||||
DIST cmake-3.29.3-SHA-256.txt.asc 833 BLAKE2B e4bfe4ea447441bcb7d4c46861b30da21e15ba6327c5ccbf1456ef273383b0ce8ee4a2e5a3de3312e112c26fe256e23021f4a1f89f8f96b5b39ff28398d4a51c SHA512 f2ed15c13a8fc7e05f5a8e41c3506435b4a204be37372c769577b51e30478740863eac800d32a0ef838f9b0a1125c1fe6772132ac4570e88a482109d42333fd9
|
DIST cmake-3.29.3-SHA-256.txt.asc 833 BLAKE2B e4bfe4ea447441bcb7d4c46861b30da21e15ba6327c5ccbf1456ef273383b0ce8ee4a2e5a3de3312e112c26fe256e23021f4a1f89f8f96b5b39ff28398d4a51c SHA512 f2ed15c13a8fc7e05f5a8e41c3506435b4a204be37372c769577b51e30478740863eac800d32a0ef838f9b0a1125c1fe6772132ac4570e88a482109d42333fd9
|
||||||
DIST cmake-3.29.3.tar.gz 11247199 BLAKE2B 8d18aca8871a615a4dca8eeb380ad79fdf41a2696bfbc69141db2a2715ff52b2a17c57b195aa00f7b0643791f40991c123056ef10482e80c1f963631d8d8ea50 SHA512 930060cf484a769992ebc798d5e81984560b2cd7e163db7053181ad842656ccd0085e7e077c9c620e719d212f78283ca0db19bec5491a355d38078bbe0bac254
|
DIST cmake-3.29.3.tar.gz 11247199 BLAKE2B 8d18aca8871a615a4dca8eeb380ad79fdf41a2696bfbc69141db2a2715ff52b2a17c57b195aa00f7b0643791f40991c123056ef10482e80c1f963631d8d8ea50 SHA512 930060cf484a769992ebc798d5e81984560b2cd7e163db7053181ad842656ccd0085e7e077c9c620e719d212f78283ca0db19bec5491a355d38078bbe0bac254
|
||||||
|
DIST cmake-3.29.6-SHA-256.txt 1646 BLAKE2B 8d2e11fe0e7ba89e394e51920657deb793e5f45026ebb86c39748410f110568c68021099286901f05fea47bf641d583b4f3715fe315e795cc8041a1fb66d5107 SHA512 1df0e791c3f42e5f96a967b385155b1f2e5214d78df639c81d2632455748f68423ab5de580f7f3e64c06387fd25247660da4b4bda0c9881f7ca25a317b62556f
|
||||||
|
DIST cmake-3.29.6-SHA-256.txt.asc 833 BLAKE2B 25e2588375d353cc3d56480dae7aa3d2376c11cb1d830167f57544429fb0b455aeaceb121ac0fdd3f6f2b235c418bc4f52eafacc436472d9a2f3e80b97b08b18 SHA512 f01fff8b188ddd5aa7501acba3d68f3ba2a6b94d402af1afd716be66fa8f76c2d373cd6851a7fe308761171e2206c60f4f785209c86170037afcf3f416f080de
|
||||||
|
DIST cmake-3.29.6.tar.gz 11248411 BLAKE2B cfd639ce975a4a13221d1fffea97c3bf0599c9af1c8de28e340013ea918bd0fc1eff1d97ca07b2cdd9c34f790950246530ebf1282d400f658fb2d1f4f89a089c SHA512 ecb7b62d2ed133da5c03932d78cc218deddd3c5d7d1116a5ded80b07f6e5f8145928fc15a5c22265995a2b451b1e20aa4dcaa1918060d025485fe8fa7730f3ec
|
||||||
|
DIST cmake-3.30.0-SHA-256.txt 1646 BLAKE2B 9ef563e1b7a49a34bd08547483e628de469edf64889e4a82975441eba6ec77f1ae3cafec4bfcc641699f9c5a60a9998960a6a3e0fd2b955678dc3c40729248ed SHA512 7236dba187dcd5c92b5221116fe31931324ffd09f3371eb3d06b10cdcdb45c6822d95646cf4f8a44926210485f68f34c09f78cc4e3939b5f176f84aa818e82cd
|
||||||
|
DIST cmake-3.30.0-SHA-256.txt.asc 833 BLAKE2B 2c2657afba4b9d2b176d82789d634505e1eb9a1f46969a0993aadf52da34a242dc104988bc2d5d24cecbab7f32266aa22ac57c09986e20871321bbab11d2aa92 SHA512 de86b2b88c78bc5db905f0d8cbbb7f3ce736c1905375de93d68a2eea3927a02bc4d93d2f3a49c6cb5b0afbc61f6520c9cb1e8b4a33897670d16caff60aa4cdb3
|
||||||
|
DIST cmake-3.30.0-docs.tar.xz 572276 BLAKE2B 0c258f8dd0a518bb7bf97d35a778d8e406c986e123fc8acafb174a750ad0883d346254d12e8134dd9d030faefddc13b8260e7b43e405272157ada742c75b5fc2 SHA512 9d534b0efc30829f1144fb32c4f10ba25749e238c8ceeb4399b6d1eb8421b9fb1363972a497757ef84689bb987840619cbb4333ae95fd2397eea07eebed112c1
|
||||||
|
DIST cmake-3.30.0.tar.gz 11500060 BLAKE2B 62b3f3d5ed92f7f118991f36ba7098ff20c202dd924ecd1e7af3fedc54345c5db26ce6fa782fe1acb490857b478067c17383f0453dece579482c2e962bd9de12 SHA512 1dd872a3f93cfadb7ac0f93177e7d4d7ded67cf09c71b1b776dc3bc8b7d4e44dd81533a8a4bf2c9eaaed56443060aa27a11250a5e47de316c89db7e146929782
|
||||||
|
@ -9,8 +9,7 @@ EAPI=8
|
|||||||
: ${CMAKE_DOCS_PREBUILT:=1}
|
: ${CMAKE_DOCS_PREBUILT:=1}
|
||||||
|
|
||||||
CMAKE_DOCS_PREBUILT_DEV=sam
|
CMAKE_DOCS_PREBUILT_DEV=sam
|
||||||
#CMAKE_DOCS_VERSION=$(ver_cut 1-3)
|
CMAKE_DOCS_VERSION=$(ver_cut 1-2).0
|
||||||
CMAKE_DOCS_VERSION=3.27.0
|
|
||||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||||
# See bug #784815
|
# See bug #784815
|
||||||
CMAKE_DOCS_USEFLAG="+doc"
|
CMAKE_DOCS_USEFLAG="+doc"
|
||||||
|
@ -9,8 +9,7 @@ EAPI=8
|
|||||||
: ${CMAKE_DOCS_PREBUILT:=1}
|
: ${CMAKE_DOCS_PREBUILT:=1}
|
||||||
|
|
||||||
CMAKE_DOCS_PREBUILT_DEV=sam
|
CMAKE_DOCS_PREBUILT_DEV=sam
|
||||||
#CMAKE_DOCS_VERSION=$(ver_cut 1-3)
|
CMAKE_DOCS_VERSION=$(ver_cut 1-2).0
|
||||||
CMAKE_DOCS_VERSION=3.27.0
|
|
||||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||||
# See bug #784815
|
# See bug #784815
|
||||||
CMAKE_DOCS_USEFLAG="+doc"
|
CMAKE_DOCS_USEFLAG="+doc"
|
||||||
@ -179,13 +178,9 @@ src_prepare() {
|
|||||||
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
|
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
|
||||||
Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
|
Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
|
||||||
|
|
||||||
if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then
|
## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must*
|
||||||
CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
|
## handle them as part of bootstrapping, sadly.
|
||||||
cmake_src_bootstrap
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
# Fix linking on Solaris
|
# Fix linking on Solaris
|
||||||
[[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
|
[[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
|
||||||
|
|
||||||
@ -193,6 +188,13 @@ src_configure() {
|
|||||||
# https://gitlab.kitware.com/cmake/cmake/-/issues/20740
|
# https://gitlab.kitware.com/cmake/cmake/-/issues/20740
|
||||||
filter-lto
|
filter-lto
|
||||||
|
|
||||||
|
if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then
|
||||||
|
CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
|
||||||
|
cmake_src_bootstrap
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
local mycmakeargs=(
|
local mycmakeargs=(
|
||||||
-DCMAKE_USE_SYSTEM_LIBRARIES=ON
|
-DCMAKE_USE_SYSTEM_LIBRARIES=ON
|
||||||
-DCMake_ENABLE_DEBUGGER=$(usex dap)
|
-DCMake_ENABLE_DEBUGGER=$(usex dap)
|
||||||
|
@ -9,8 +9,7 @@ EAPI=8
|
|||||||
: ${CMAKE_DOCS_PREBUILT:=1}
|
: ${CMAKE_DOCS_PREBUILT:=1}
|
||||||
|
|
||||||
CMAKE_DOCS_PREBUILT_DEV=sam
|
CMAKE_DOCS_PREBUILT_DEV=sam
|
||||||
#CMAKE_DOCS_VERSION=$(ver_cut 1-3)
|
CMAKE_DOCS_VERSION=3.28.0
|
||||||
CMAKE_DOCS_VERSION=3.27.0
|
|
||||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||||
# See bug #784815
|
# See bug #784815
|
||||||
CMAKE_DOCS_USEFLAG="+doc"
|
CMAKE_DOCS_USEFLAG="+doc"
|
||||||
|
284
sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.6.ebuild
vendored
Normal file
284
sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.29.6.ebuild
vendored
Normal file
@ -0,0 +1,284 @@
|
|||||||
|
# Copyright 1999-2024 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs
|
||||||
|
# Set to 1 if prebuilt, 0 if not
|
||||||
|
# (the construct below is to allow overriding from env for script)
|
||||||
|
: ${CMAKE_DOCS_PREBUILT:=1}
|
||||||
|
|
||||||
|
CMAKE_DOCS_PREBUILT_DEV=sam
|
||||||
|
CMAKE_DOCS_VERSION=3.28.0
|
||||||
|
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||||
|
# See bug #784815
|
||||||
|
CMAKE_DOCS_USEFLAG="+doc"
|
||||||
|
|
||||||
|
# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja
|
||||||
|
# ... but seems fine as of 3.22.3?
|
||||||
|
# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759.
|
||||||
|
CMAKE_MAKEFILE_GENERATOR="emake"
|
||||||
|
CMAKE_REMOVE_MODULES_LIST=( none )
|
||||||
|
inherit bash-completion-r1 cmake flag-o-matic multiprocessing \
|
||||||
|
toolchain-funcs xdg-utils
|
||||||
|
|
||||||
|
MY_P="${P/_/-}"
|
||||||
|
|
||||||
|
DESCRIPTION="Cross platform Make"
|
||||||
|
HOMEPAGE="https://cmake.org/"
|
||||||
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
CMAKE_DOCS_PREBUILT=0
|
||||||
|
|
||||||
|
EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git"
|
||||||
|
inherit git-r3
|
||||||
|
else
|
||||||
|
SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
|
||||||
|
|
||||||
|
if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
|
||||||
|
SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${PV} != *_rc* ]] ; then
|
||||||
|
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradking.asc
|
||||||
|
inherit verify-sig
|
||||||
|
|
||||||
|
SRC_URI+=" verify-sig? (
|
||||||
|
https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt
|
||||||
|
https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc
|
||||||
|
)"
|
||||||
|
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
|
|
||||||
|
BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20230817 )"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc"
|
||||||
|
|
||||||
|
S="${WORKDIR}/${MY_P}"
|
||||||
|
|
||||||
|
LICENSE="BSD"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses qt6 test"
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
>=app-arch/libarchive-3.3.3:=
|
||||||
|
app-crypt/rhash:0=
|
||||||
|
>=dev-libs/expat-2.0.1
|
||||||
|
>=dev-libs/jsoncpp-1.9.2-r2:0=
|
||||||
|
>=dev-libs/libuv-1.10.0:=
|
||||||
|
>=net-misc/curl-7.21.5[ssl]
|
||||||
|
sys-libs/zlib
|
||||||
|
virtual/pkgconfig
|
||||||
|
dap? ( dev-cpp/cppdap )
|
||||||
|
gui? (
|
||||||
|
!qt6? (
|
||||||
|
dev-qt/qtcore:5
|
||||||
|
dev-qt/qtgui:5
|
||||||
|
dev-qt/qtwidgets:5
|
||||||
|
)
|
||||||
|
qt6? ( dev-qt/qtbase:6[gui,widgets] )
|
||||||
|
)
|
||||||
|
ncurses? ( sys-libs/ncurses:= )
|
||||||
|
"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
BDEPEND+="
|
||||||
|
doc? (
|
||||||
|
dev-python/requests
|
||||||
|
dev-python/sphinx
|
||||||
|
)
|
||||||
|
test? ( app-arch/libarchive[zstd] )
|
||||||
|
"
|
||||||
|
|
||||||
|
SITEFILE="50${PN}-gentoo.el"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
# Prefix
|
||||||
|
"${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch
|
||||||
|
"${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch
|
||||||
|
# Misc
|
||||||
|
"${FILESDIR}"/${PN}-3.27.0_rc1-0003-Prefer-pkgconfig-in-FindBLAS.patch
|
||||||
|
"${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch
|
||||||
|
"${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch
|
||||||
|
"${FILESDIR}"/${PN}-3.27.0_rc1-0006-Filter-out-distcc-warnings-to-avoid-confusing-CMake.patch
|
||||||
|
|
||||||
|
# Upstream fixes (can usually be removed with a version bump)
|
||||||
|
)
|
||||||
|
|
||||||
|
cmake_src_bootstrap() {
|
||||||
|
# disable running of cmake in bootstrap command
|
||||||
|
sed -i \
|
||||||
|
-e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \
|
||||||
|
bootstrap || die "sed failed"
|
||||||
|
|
||||||
|
# execinfo.h on Solaris isn't quite what it is on Darwin
|
||||||
|
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||||
|
sed -i -e 's/execinfo\.h/blablabla.h/' \
|
||||||
|
Source/kwsys/CMakeLists.txt || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# bootstrap script isn't exactly /bin/sh compatible
|
||||||
|
tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \
|
||||||
|
--prefix="${T}/cmakestrap/" \
|
||||||
|
--parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \
|
||||||
|
|| die "Bootstrap failed"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
git-r3_src_unpack
|
||||||
|
elif [[ ${PV} == *_rc* ]] || ! use verify-sig ; then
|
||||||
|
default
|
||||||
|
else
|
||||||
|
cd "${DISTDIR}" || die
|
||||||
|
|
||||||
|
# See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature
|
||||||
|
verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc}
|
||||||
|
verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz
|
||||||
|
|
||||||
|
cd "${WORKDIR}" || die
|
||||||
|
|
||||||
|
default
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
cmake_src_prepare
|
||||||
|
|
||||||
|
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||||
|
# Disable Xcode hooks, bug #652134
|
||||||
|
sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \
|
||||||
|
Source/CMakeLists.txt || die
|
||||||
|
sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \
|
||||||
|
-e '/cmGlobalXCodeGenerator.h/d' \
|
||||||
|
Source/cmake.cxx || die
|
||||||
|
|
||||||
|
# Disable isysroot usage with GCC, we've properly instructed
|
||||||
|
# where things are via GCC configuration and ldwrapper
|
||||||
|
sed -i -e '/cmake_gnu_set_sysroot_flag/d' \
|
||||||
|
Modules/Platform/Apple-GNU-*.cmake || die
|
||||||
|
# Disable isysroot usage with clang as well
|
||||||
|
sed -i -e '/_SYSROOT_FLAG/d' \
|
||||||
|
Modules/Platform/Apple-Clang.cmake || die
|
||||||
|
# Don't set a POSIX standard, system headers don't like that, #757426
|
||||||
|
sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
|
||||||
|
Source/cmLoadCommandCommand.cxx \
|
||||||
|
Source/cmStandardLexer.h \
|
||||||
|
Source/cmSystemTools.cxx \
|
||||||
|
Source/cmTimestamp.cxx
|
||||||
|
sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
|
||||||
|
Source/cmStandardLexer.h
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Add gcc libs to the default link paths
|
||||||
|
sed -i \
|
||||||
|
-e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \
|
||||||
|
-e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \
|
||||||
|
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
|
||||||
|
Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
|
||||||
|
|
||||||
|
## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must*
|
||||||
|
## handle them as part of bootstrapping, sadly.
|
||||||
|
|
||||||
|
# Fix linking on Solaris
|
||||||
|
[[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
|
||||||
|
|
||||||
|
# ODR warnings, bug #858335
|
||||||
|
# https://gitlab.kitware.com/cmake/cmake/-/issues/20740
|
||||||
|
filter-lto
|
||||||
|
|
||||||
|
if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then
|
||||||
|
CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
|
||||||
|
cmake_src_bootstrap
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
local mycmakeargs=(
|
||||||
|
-DCMAKE_USE_SYSTEM_LIBRARIES=ON
|
||||||
|
-DCMake_ENABLE_DEBUGGER=$(usex dap)
|
||||||
|
-DCMAKE_DOC_DIR=/share/doc/${PF}
|
||||||
|
-DCMAKE_MAN_DIR=/share/man
|
||||||
|
-DCMAKE_DATA_DIR=/share/${PN}
|
||||||
|
-DSPHINX_MAN=$(usex doc)
|
||||||
|
-DSPHINX_HTML=$(usex doc)
|
||||||
|
-DBUILD_CursesDialog="$(usex ncurses)"
|
||||||
|
-DBUILD_TESTING=$(usex test)
|
||||||
|
-DBUILD_QtDialog=$(usex gui)
|
||||||
|
)
|
||||||
|
|
||||||
|
use gui && mycmakeargs+=( -DCMake_QT_MAJOR_VERSION=$(usex qt6 6 5) )
|
||||||
|
|
||||||
|
cmake_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
# Fix OutDir and SelectLibraryConfigurations tests
|
||||||
|
# these are altered thanks to our eclass
|
||||||
|
sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
|
||||||
|
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
|
||||||
|
|| die
|
||||||
|
|
||||||
|
unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS CMAKE_COLOR_DIAGNOSTICS
|
||||||
|
|
||||||
|
pushd "${BUILD_DIR}" > /dev/null || die
|
||||||
|
|
||||||
|
# Excluded tests:
|
||||||
|
# BootstrapTest: we actualy bootstrap it every time so why test it.
|
||||||
|
# BundleUtilities: bundle creation broken
|
||||||
|
# CMakeOnly.AllFindModules: pthread issues
|
||||||
|
# CTest.updatecvs: which fails to commit as root
|
||||||
|
# Fortran: requires fortran
|
||||||
|
# RunCMake.CompilerLauncher: also requires fortran
|
||||||
|
# RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
|
||||||
|
# debugedit binary is not in the expected location
|
||||||
|
# RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
|
||||||
|
# it can't find a deb package that owns libc
|
||||||
|
# TestUpload, which requires network access
|
||||||
|
# RunCMake.CMP0125, known failure reported upstream (bug #829414)
|
||||||
|
local myctestargs=(
|
||||||
|
--output-on-failure
|
||||||
|
-E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \
|
||||||
|
)
|
||||||
|
|
||||||
|
local -x QT_QPA_PLATFORM=offscreen
|
||||||
|
|
||||||
|
cmake_src_test
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
cmake_src_install
|
||||||
|
|
||||||
|
# If USE=doc, there'll be newly generated docs which we install instead.
|
||||||
|
if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
|
||||||
|
doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8]
|
||||||
|
fi
|
||||||
|
|
||||||
|
insinto /usr/share/vim/vimfiles/syntax
|
||||||
|
doins Auxiliary/vim/syntax/cmake.vim
|
||||||
|
|
||||||
|
insinto /usr/share/vim/vimfiles/indent
|
||||||
|
doins Auxiliary/vim/indent/cmake.vim
|
||||||
|
|
||||||
|
insinto /usr/share/vim/vimfiles/ftdetect
|
||||||
|
doins "${FILESDIR}/${PN}.vim"
|
||||||
|
|
||||||
|
dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack}
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
if use gui; then
|
||||||
|
xdg_icon_cache_update
|
||||||
|
xdg_desktop_database_update
|
||||||
|
xdg_mimeinfo_database_update
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
if use gui; then
|
||||||
|
xdg_icon_cache_update
|
||||||
|
xdg_desktop_database_update
|
||||||
|
xdg_mimeinfo_database_update
|
||||||
|
fi
|
||||||
|
}
|
283
sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.0.ebuild
vendored
Normal file
283
sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-3.30.0.ebuild
vendored
Normal file
@ -0,0 +1,283 @@
|
|||||||
|
# Copyright 1999-2024 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs
|
||||||
|
# Set to 1 if prebuilt, 0 if not
|
||||||
|
# (the construct below is to allow overriding from env for script)
|
||||||
|
: ${CMAKE_DOCS_PREBUILT:=1}
|
||||||
|
|
||||||
|
CMAKE_DOCS_PREBUILT_DEV=sam
|
||||||
|
CMAKE_DOCS_VERSION=$(ver_cut 1-2).0
|
||||||
|
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||||
|
# See bug #784815
|
||||||
|
CMAKE_DOCS_USEFLAG="+doc"
|
||||||
|
|
||||||
|
# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja
|
||||||
|
# ... but seems fine as of 3.22.3?
|
||||||
|
# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759.
|
||||||
|
CMAKE_MAKEFILE_GENERATOR="emake"
|
||||||
|
CMAKE_REMOVE_MODULES_LIST=( none )
|
||||||
|
inherit bash-completion-r1 cmake flag-o-matic multiprocessing \
|
||||||
|
toolchain-funcs xdg-utils
|
||||||
|
|
||||||
|
MY_P="${P/_/-}"
|
||||||
|
|
||||||
|
DESCRIPTION="Cross platform Make"
|
||||||
|
HOMEPAGE="https://cmake.org/"
|
||||||
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
CMAKE_DOCS_PREBUILT=0
|
||||||
|
|
||||||
|
EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git"
|
||||||
|
inherit git-r3
|
||||||
|
else
|
||||||
|
SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
|
||||||
|
|
||||||
|
if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
|
||||||
|
SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${PV} != *_rc* ]] ; then
|
||||||
|
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradking.asc
|
||||||
|
inherit verify-sig
|
||||||
|
|
||||||
|
SRC_URI+=" verify-sig? (
|
||||||
|
https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt
|
||||||
|
https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc
|
||||||
|
)"
|
||||||
|
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
|
|
||||||
|
BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20230817 )"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc"
|
||||||
|
|
||||||
|
S="${WORKDIR}/${MY_P}"
|
||||||
|
|
||||||
|
LICENSE="BSD"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses qt6 test"
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
>=app-arch/libarchive-3.3.3:=
|
||||||
|
app-crypt/rhash:0=
|
||||||
|
>=dev-libs/expat-2.0.1
|
||||||
|
>=dev-libs/jsoncpp-1.9.2-r2:0=
|
||||||
|
>=dev-libs/libuv-1.10.0:=
|
||||||
|
>=net-misc/curl-7.21.5[ssl]
|
||||||
|
sys-libs/zlib
|
||||||
|
virtual/pkgconfig
|
||||||
|
dap? ( dev-cpp/cppdap )
|
||||||
|
gui? (
|
||||||
|
!qt6? (
|
||||||
|
dev-qt/qtcore:5
|
||||||
|
dev-qt/qtgui:5
|
||||||
|
dev-qt/qtwidgets:5
|
||||||
|
)
|
||||||
|
qt6? ( dev-qt/qtbase:6[gui,widgets] )
|
||||||
|
)
|
||||||
|
ncurses? ( sys-libs/ncurses:= )
|
||||||
|
"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
BDEPEND+="
|
||||||
|
doc? (
|
||||||
|
dev-python/requests
|
||||||
|
dev-python/sphinx
|
||||||
|
)
|
||||||
|
test? ( app-arch/libarchive[zstd] )
|
||||||
|
"
|
||||||
|
|
||||||
|
SITEFILE="50${PN}-gentoo.el"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
# Prefix
|
||||||
|
"${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch
|
||||||
|
"${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch
|
||||||
|
# Misc
|
||||||
|
"${FILESDIR}"/${PN}-3.27.0_rc1-0003-Prefer-pkgconfig-in-FindBLAS.patch
|
||||||
|
"${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch
|
||||||
|
"${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch
|
||||||
|
|
||||||
|
# Upstream fixes (can usually be removed with a version bump)
|
||||||
|
)
|
||||||
|
|
||||||
|
cmake_src_bootstrap() {
|
||||||
|
# disable running of cmake in bootstrap command
|
||||||
|
sed -i \
|
||||||
|
-e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \
|
||||||
|
bootstrap || die "sed failed"
|
||||||
|
|
||||||
|
# execinfo.h on Solaris isn't quite what it is on Darwin
|
||||||
|
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||||
|
sed -i -e 's/execinfo\.h/blablabla.h/' \
|
||||||
|
Source/kwsys/CMakeLists.txt || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# bootstrap script isn't exactly /bin/sh compatible
|
||||||
|
tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \
|
||||||
|
--prefix="${T}/cmakestrap/" \
|
||||||
|
--parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \
|
||||||
|
|| die "Bootstrap failed"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
git-r3_src_unpack
|
||||||
|
elif [[ ${PV} == *_rc* ]] || ! use verify-sig ; then
|
||||||
|
default
|
||||||
|
else
|
||||||
|
cd "${DISTDIR}" || die
|
||||||
|
|
||||||
|
# See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature
|
||||||
|
verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc}
|
||||||
|
verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz
|
||||||
|
|
||||||
|
cd "${WORKDIR}" || die
|
||||||
|
|
||||||
|
default
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
cmake_src_prepare
|
||||||
|
|
||||||
|
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||||
|
# Disable Xcode hooks, bug #652134
|
||||||
|
sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \
|
||||||
|
Source/CMakeLists.txt || die
|
||||||
|
sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \
|
||||||
|
-e '/cmGlobalXCodeGenerator.h/d' \
|
||||||
|
Source/cmake.cxx || die
|
||||||
|
|
||||||
|
# Disable isysroot usage with GCC, we've properly instructed
|
||||||
|
# where things are via GCC configuration and ldwrapper
|
||||||
|
sed -i -e '/cmake_gnu_set_sysroot_flag/d' \
|
||||||
|
Modules/Platform/Apple-GNU-*.cmake || die
|
||||||
|
# Disable isysroot usage with clang as well
|
||||||
|
sed -i -e '/_SYSROOT_FLAG/d' \
|
||||||
|
Modules/Platform/Apple-Clang.cmake || die
|
||||||
|
# Don't set a POSIX standard, system headers don't like that, #757426
|
||||||
|
sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
|
||||||
|
Source/cmLoadCommandCommand.cxx \
|
||||||
|
Source/cmStandardLexer.h \
|
||||||
|
Source/cmSystemTools.cxx \
|
||||||
|
Source/cmTimestamp.cxx
|
||||||
|
sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
|
||||||
|
Source/cmStandardLexer.h
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Add gcc libs to the default link paths
|
||||||
|
sed -i \
|
||||||
|
-e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \
|
||||||
|
-e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \
|
||||||
|
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
|
||||||
|
Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
|
||||||
|
|
||||||
|
## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must*
|
||||||
|
## handle them as part of bootstrapping, sadly.
|
||||||
|
|
||||||
|
# Fix linking on Solaris
|
||||||
|
[[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
|
||||||
|
|
||||||
|
# ODR warnings, bug #858335
|
||||||
|
# https://gitlab.kitware.com/cmake/cmake/-/issues/20740
|
||||||
|
filter-lto
|
||||||
|
|
||||||
|
if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then
|
||||||
|
CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
|
||||||
|
cmake_src_bootstrap
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
local mycmakeargs=(
|
||||||
|
-DCMAKE_USE_SYSTEM_LIBRARIES=ON
|
||||||
|
-DCMake_ENABLE_DEBUGGER=$(usex dap)
|
||||||
|
-DCMAKE_DOC_DIR=/share/doc/${PF}
|
||||||
|
-DCMAKE_MAN_DIR=/share/man
|
||||||
|
-DCMAKE_DATA_DIR=/share/${PN}
|
||||||
|
-DSPHINX_MAN=$(usex doc)
|
||||||
|
-DSPHINX_HTML=$(usex doc)
|
||||||
|
-DBUILD_CursesDialog="$(usex ncurses)"
|
||||||
|
-DBUILD_TESTING=$(usex test)
|
||||||
|
-DBUILD_QtDialog=$(usex gui)
|
||||||
|
)
|
||||||
|
|
||||||
|
use gui && mycmakeargs+=( -DCMake_QT_MAJOR_VERSION=$(usex qt6 6 5) )
|
||||||
|
|
||||||
|
cmake_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
# Fix OutDir and SelectLibraryConfigurations tests
|
||||||
|
# these are altered thanks to our eclass
|
||||||
|
sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
|
||||||
|
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
|
||||||
|
|| die
|
||||||
|
|
||||||
|
unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS CMAKE_COLOR_DIAGNOSTICS
|
||||||
|
|
||||||
|
pushd "${BUILD_DIR}" > /dev/null || die
|
||||||
|
|
||||||
|
# Excluded tests:
|
||||||
|
# BootstrapTest: we actualy bootstrap it every time so why test it.
|
||||||
|
# BundleUtilities: bundle creation broken
|
||||||
|
# CMakeOnly.AllFindModules: pthread issues
|
||||||
|
# CTest.updatecvs: which fails to commit as root
|
||||||
|
# Fortran: requires fortran
|
||||||
|
# RunCMake.CompilerLauncher: also requires fortran
|
||||||
|
# RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
|
||||||
|
# debugedit binary is not in the expected location
|
||||||
|
# RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
|
||||||
|
# it can't find a deb package that owns libc
|
||||||
|
# TestUpload, which requires network access
|
||||||
|
# RunCMake.CMP0125, known failure reported upstream (bug #829414)
|
||||||
|
local myctestargs=(
|
||||||
|
--output-on-failure
|
||||||
|
-E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \
|
||||||
|
)
|
||||||
|
|
||||||
|
local -x QT_QPA_PLATFORM=offscreen
|
||||||
|
|
||||||
|
cmake_src_test
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
cmake_src_install
|
||||||
|
|
||||||
|
# If USE=doc, there'll be newly generated docs which we install instead.
|
||||||
|
if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
|
||||||
|
doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8]
|
||||||
|
fi
|
||||||
|
|
||||||
|
insinto /usr/share/vim/vimfiles/syntax
|
||||||
|
doins Auxiliary/vim/syntax/cmake.vim
|
||||||
|
|
||||||
|
insinto /usr/share/vim/vimfiles/indent
|
||||||
|
doins Auxiliary/vim/indent/cmake.vim
|
||||||
|
|
||||||
|
insinto /usr/share/vim/vimfiles/ftdetect
|
||||||
|
doins "${FILESDIR}/${PN}.vim"
|
||||||
|
|
||||||
|
dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack}
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
if use gui; then
|
||||||
|
xdg_icon_cache_update
|
||||||
|
xdg_desktop_database_update
|
||||||
|
xdg_mimeinfo_database_update
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
if use gui; then
|
||||||
|
xdg_icon_cache_update
|
||||||
|
xdg_desktop_database_update
|
||||||
|
xdg_mimeinfo_database_update
|
||||||
|
fi
|
||||||
|
}
|
@ -9,8 +9,7 @@ EAPI=8
|
|||||||
: ${CMAKE_DOCS_PREBUILT:=1}
|
: ${CMAKE_DOCS_PREBUILT:=1}
|
||||||
|
|
||||||
CMAKE_DOCS_PREBUILT_DEV=sam
|
CMAKE_DOCS_PREBUILT_DEV=sam
|
||||||
#CMAKE_DOCS_VERSION=$(ver_cut 1-3)
|
CMAKE_DOCS_VERSION=$(ver_cut 1-2).0
|
||||||
CMAKE_DOCS_VERSION=3.27.0
|
|
||||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||||
# See bug #784815
|
# See bug #784815
|
||||||
CMAKE_DOCS_USEFLAG="+doc"
|
CMAKE_DOCS_USEFLAG="+doc"
|
||||||
@ -179,13 +178,9 @@ src_prepare() {
|
|||||||
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
|
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
|
||||||
Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
|
Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
|
||||||
|
|
||||||
if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then
|
## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must*
|
||||||
CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
|
## handle them as part of bootstrapping, sadly.
|
||||||
cmake_src_bootstrap
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
# Fix linking on Solaris
|
# Fix linking on Solaris
|
||||||
[[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
|
[[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
|
||||||
|
|
||||||
@ -193,6 +188,13 @@ src_configure() {
|
|||||||
# https://gitlab.kitware.com/cmake/cmake/-/issues/20740
|
# https://gitlab.kitware.com/cmake/cmake/-/issues/20740
|
||||||
filter-lto
|
filter-lto
|
||||||
|
|
||||||
|
if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then
|
||||||
|
CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
|
||||||
|
cmake_src_bootstrap
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
local mycmakeargs=(
|
local mycmakeargs=(
|
||||||
-DCMAKE_USE_SYSTEM_LIBRARIES=ON
|
-DCMAKE_USE_SYSTEM_LIBRARIES=ON
|
||||||
-DCMake_ENABLE_DEBUGGER=$(usex dap)
|
-DCMake_ENABLE_DEBUGGER=$(usex dap)
|
||||||
@ -218,6 +220,8 @@ src_test() {
|
|||||||
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
|
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
|
||||||
|| die
|
|| die
|
||||||
|
|
||||||
|
unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS CMAKE_COLOR_DIAGNOSTICS
|
||||||
|
|
||||||
pushd "${BUILD_DIR}" > /dev/null || die
|
pushd "${BUILD_DIR}" > /dev/null || die
|
||||||
|
|
||||||
# Excluded tests:
|
# Excluded tests:
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=8
|
EAPI=8
|
||||||
PYTHON_COMPAT=( python3_{10..12} )
|
PYTHON_COMPAT=( python3_{10..13} )
|
||||||
|
|
||||||
inherit python-r1
|
inherit python-r1
|
||||||
|
|
||||||
|
@ -4,12 +4,12 @@ DIST meson-1.2.3.tar.gz 2184484 BLAKE2B 7d76c54bddba249ab97ebd5dd0afc448177ff9fa
|
|||||||
DIST meson-1.2.3.tar.gz.asc 833 BLAKE2B 1416c49302aab80b5f647cc1d6cd18c36f6199e79c7d13ea284143b2423267b5823850218578626937c14589ebcdf19069b310394c63bc762ab8f59d7ebe3780 SHA512 852c031ecfe032cb48d284bb270597d114294b7d1be5dd0df6ec2f78a62e1a5ba82711bc14ae410e47ced54f99a639055a1628b0acf7aa07a3a80034fce5ebc9
|
DIST meson-1.2.3.tar.gz.asc 833 BLAKE2B 1416c49302aab80b5f647cc1d6cd18c36f6199e79c7d13ea284143b2423267b5823850218578626937c14589ebcdf19069b310394c63bc762ab8f59d7ebe3780 SHA512 852c031ecfe032cb48d284bb270597d114294b7d1be5dd0df6ec2f78a62e1a5ba82711bc14ae410e47ced54f99a639055a1628b0acf7aa07a3a80034fce5ebc9
|
||||||
DIST meson-1.3.2.tar.gz 2223798 BLAKE2B 72b061598a0cb22517460de4df25394a9dfbddb536c5b8e75b7267ae21292fe2a6a3ec16d64aa81cde63d33022decebcc051cf2d87d677f9b40eb2f4106a40cd SHA512 6369c6d64f91c769f0f4d3e2445bb3615785998489d41acba2134b44ec89abd04bd97a3d3d17c64779eb40b0bf4808e3419eb47638169446a98824d680f37a7b
|
DIST meson-1.3.2.tar.gz 2223798 BLAKE2B 72b061598a0cb22517460de4df25394a9dfbddb536c5b8e75b7267ae21292fe2a6a3ec16d64aa81cde63d33022decebcc051cf2d87d677f9b40eb2f4106a40cd SHA512 6369c6d64f91c769f0f4d3e2445bb3615785998489d41acba2134b44ec89abd04bd97a3d3d17c64779eb40b0bf4808e3419eb47638169446a98824d680f37a7b
|
||||||
DIST meson-1.3.2.tar.gz.asc 833 BLAKE2B b11ae2be4e9cb0278be9cafd304146432e606a5fd23379d08116943676286f240fb8cc1d5f897cbd4c2bacfe298802afb1a847e447d71250f58cee5dec38083b SHA512 0cb9575fb599cba4ae77c1954599a24b1f079c46cf255bb8d581ef434598503db6e08af6a95b7c00bc54c165ec8fd9834310e2d4874afe01c5d44e72cef496b3
|
DIST meson-1.3.2.tar.gz.asc 833 BLAKE2B b11ae2be4e9cb0278be9cafd304146432e606a5fd23379d08116943676286f240fb8cc1d5f897cbd4c2bacfe298802afb1a847e447d71250f58cee5dec38083b SHA512 0cb9575fb599cba4ae77c1954599a24b1f079c46cf255bb8d581ef434598503db6e08af6a95b7c00bc54c165ec8fd9834310e2d4874afe01c5d44e72cef496b3
|
||||||
DIST meson-1.4.0.tar.gz 2224663 BLAKE2B 7f742ef870c182e552c1ff3508d65f251009d610def6a08e01fddb6c6a4ed6d608ead0d52cf8ca7d66b5bd7a4732dccd7ab5d98f141a4a61e275398885f79486 SHA512 2787941fbc77d5ad95011753df52fe39812929a06d84dbce8bdc965c9c1e62fd6bfa819712eb1f5934c2ebe6919a65f7874ecac2caf40d111ea024343108cfbd
|
|
||||||
DIST meson-1.4.0.tar.gz.asc 833 BLAKE2B 6e4002303da16bcaa3d1d3c76a3485b23174074de2d29bd34347a4671d7fb0f1c0767559ed9267e0f0b52c02638b85a11a5980f4ee188e7e4d35c733b0821c62 SHA512 ea73e72d929bf30d28c033f103fd1d26bac7cef175aabbf9b3a24c7b336682c28f5aae184e04d2189731cf80dd7571939cb02de642bb5b412cea996ca30dfdad
|
|
||||||
DIST meson-1.4.1.tar.gz 2235558 BLAKE2B 1eb83ad34d9e0a80eaf667a5edf04cf40ff043c0b9e8c78c5bd553eb2dae372b4c0dc8e30760da0321b7c33d331304c21c7f51d2133681c9fa66d551039952f3 SHA512 2616bcca70d5554407d4852aa3494e05e53aa8a33f58859ada42750221922fcb6ea7f3452844883f4800d77eed4a7289b061324871218f052219b3caa02dcc9e
|
DIST meson-1.4.1.tar.gz 2235558 BLAKE2B 1eb83ad34d9e0a80eaf667a5edf04cf40ff043c0b9e8c78c5bd553eb2dae372b4c0dc8e30760da0321b7c33d331304c21c7f51d2133681c9fa66d551039952f3 SHA512 2616bcca70d5554407d4852aa3494e05e53aa8a33f58859ada42750221922fcb6ea7f3452844883f4800d77eed4a7289b061324871218f052219b3caa02dcc9e
|
||||||
DIST meson-1.4.1.tar.gz.asc 833 BLAKE2B cbdac6620111acbb8c1e07a017a9f5f1cea2cfee62dc7ebf77a9dba7a578e43f8706923e4054ae8458c27a43112c634811c1a0d698f693f2e40744288ce586ea SHA512 bfc4f52a5e21684012aeef95dafba74a6d730efe88bc81bc410c183c253605f119dacd9684c3742ce1d3abf798a4443172526e535523531443beb0ca8c1c3633
|
DIST meson-1.4.1.tar.gz.asc 833 BLAKE2B cbdac6620111acbb8c1e07a017a9f5f1cea2cfee62dc7ebf77a9dba7a578e43f8706923e4054ae8458c27a43112c634811c1a0d698f693f2e40744288ce586ea SHA512 bfc4f52a5e21684012aeef95dafba74a6d730efe88bc81bc410c183c253605f119dacd9684c3742ce1d3abf798a4443172526e535523531443beb0ca8c1c3633
|
||||||
DIST meson-1.5.0rc1.tar.gz 2253455 BLAKE2B 1e0d9e350532a75c8db8295dba4e12527eca9be21cf9dfd55f86fb4f063c618e93c5f579c23ddebf322a3c2e29fbad41ce9051565bd997c3b234d7eb6c3a0f60 SHA512 d19168bf32a1c758c63d08cf8eb0b8c3b63b22e8bdef1ccccf2b7d6970cc1a4ea9400b0ee593765ad579c8184cfa6b731138a040d2aad6ebe9943c8c7778da13
|
DIST meson-1.4.2.tar.gz 2227701 BLAKE2B 11d98d8c84545390bd35b393ae02db7876a38dad56c363471b5be59521f08c0b70da5dc5b3f991e5c715d6b59f4752738515bd8dc2412a6dc5ca1fa42e7cd63b SHA512 4aed1a5f133de2c6839bab361a0e911dd5697f5dac2a8f100df69d43a8880a810dcfa1aa6402cdfb9c5e14fdceec76925f0496c301c31ba733a32618c403eaf0
|
||||||
DIST meson-1.5.0rc1.tar.gz.asc 833 BLAKE2B 256058d06f2e13eab8b2a82211d78f7fd2fc70ec65f7e97a1441311a6df5ca82a7950f06b4523af6494951a4a49bba5ed69c8cefc95b56fe7913e2c17a300b31 SHA512 260052a143ea050ada19673d622a459c36717d6bedf56c699c2afbf287ad78d01572c50d510d875537f4ad81442a5caed5639b9f5c25b015ca4041335f92b1d7
|
DIST meson-1.4.2.tar.gz.asc 833 BLAKE2B 64ce1fc0fecdd6aa76bb89d88ff7497548d82afc00805c083a0bca7ce4cee41dc50be50368e333649ae7e863c03ea780fe24a48c525281fbbcab679b540f4254 SHA512 51d3245f9443cb398e2e8f225f00a853848bde1bfba02bae6334d47115e36ad96c8ec03244f6169c89d73162b86a73158a7f8d08d5bd6b3d28e8369ce7b55093
|
||||||
DIST meson-reference-1.4.0.3 339324 BLAKE2B 8ad24592c1a9100832dead97a55d4cb358892fc1cd6aee641f9610cb6a5df211831e6cfc42e047d5e835ed53de1bb9c7d711dd1a0a8cfe18a0f85e92a1a3f925 SHA512 8df06f63db6db01a6c8c0a5b4a8b26c868bb027f26580d290288b1067429a526fb654fae01a45085c1f20ee8dab1b5325e8b2fd285faf175d2fcfc2c704b4768
|
DIST meson-1.5.0.tar.gz 2257170 BLAKE2B 5103622831a3581b428f9cdd96950b8544ddfdcbd384ec2ccd344d6b9ffb2cdd7da069963d57b09a22f26938f6a3b34823abe678fb50a0fe8d79c8abc7899605 SHA512 f0a25cf134949739c698eddaea602bf7852866b3fee3d2c11c1e6b6e48c944cf92abc3d171a2e42e21077edc01f1e7079d451f5624e2b6131382e114e814db3e
|
||||||
|
DIST meson-1.5.0.tar.gz.asc 833 BLAKE2B 43c1e0f197520d3151ea4a41e3723666034fbfba0d794a18783ed765e5844776337f8119aed5897f5320922ac8978992f3900756300b54970bf1066f6fcde629 SHA512 35537ebc8c430eb3c011ff75529442e0ab364aa4fbec8176c340b5f466cd7f2217ab7ed6a03c7bdb577b86bb3472faa054e5ce0472edbb690fe76f39845c2dd6
|
||||||
DIST meson-reference-1.4.1.3 339324 BLAKE2B a0ea6a1dd599c0a559dae64772f730ac7cad7df3ea63acc8355ff933152873567803efff012e6ea0a4c75ef9c8be023a8d927411a49e43de20bbfc69b1263488 SHA512 fc94aa95df3cd04af49ab2f27050c3ef206407a2ccb3b61d9c8660deba55eae3fb627d83713de62f3e1216a1a33a88e989bf5b557b7e17adbb73a57d5f2ad11a
|
DIST meson-reference-1.4.1.3 339324 BLAKE2B a0ea6a1dd599c0a559dae64772f730ac7cad7df3ea63acc8355ff933152873567803efff012e6ea0a4c75ef9c8be023a8d927411a49e43de20bbfc69b1263488 SHA512 fc94aa95df3cd04af49ab2f27050c3ef206407a2ccb3b61d9c8660deba55eae3fb627d83713de62f3e1216a1a33a88e989bf5b557b7e17adbb73a57d5f2ad11a
|
||||||
DIST meson-reference-1.5.0rc1.3 341787 BLAKE2B aaa8b32db40cfcb91fab2a147e7d4ca77e934606f630eda3362adeaa2f25df25ee4393876a4c4e5a6320ec4c4c689dcb2f8d0560d74b694c61d9449da44fd508 SHA512 4cb6ca649f167b477fc26f45bde9eb3e7fe9b322efe55146578ddc42ad075737a3d15ca3d6724d2ffa52131d5f4bb3b480d02eda20a38bfffd326910de0d5f92
|
DIST meson-reference-1.4.2.3 339324 BLAKE2B 1a4fbd8c27a8cfba773777eabd2ebaa0f76ec0c61dcfe1c7b4483737b348ff9528d68f26e68d7d40b2e1875611eed5b9a31c1cf55fed8eabb42fc1e31d9ef14b SHA512 8b8ec43e812599203ec44c08805eb6818485805c45b9c69802261eaa35efc97846a96f6472c6b1ef5f6c703e7153fd957df7b805f173ca3400a2030dfbe002ca
|
||||||
|
DIST meson-reference-1.5.0.3 341110 BLAKE2B c81d1014f93ca3848e03e6a8948190a31e1823b04134ab6861db94d5b9517252bf66fcbbc987ba2051430c54282256d729d3575db83e1e8d09fa344c6ff06dbf SHA512 b45c7b40cbe1abf7416d50c1c7658726d4feda4a30627a6dc70c7b9aab61f72c9c7c1fa915e47f4b50e9d82987e4179db8ab3d5158ec5ef3d7856335b604f603
|
||||||
|
@ -33,7 +33,7 @@ else
|
|||||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg
|
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg
|
||||||
|
|
||||||
if [[ ${PV} != *_rc* ]] ; then
|
if [[ ${PV} != *_rc* ]] ; then
|
||||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ else
|
|||||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg
|
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg
|
||||||
|
|
||||||
if [[ ${PV} != *_rc* ]] ; then
|
if [[ ${PV} != *_rc* ]] ; then
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -82,6 +82,12 @@ python_prepare_all() {
|
|||||||
# ASAN is unsupported on some targets
|
# ASAN is unsupported on some targets
|
||||||
# https://bugs.gentoo.org/692822
|
# https://bugs.gentoo.org/692822
|
||||||
-e 's/test_pch_with_address_sanitizer/_&/'
|
-e 's/test_pch_with_address_sanitizer/_&/'
|
||||||
|
|
||||||
|
# clippy-driver fails, but only when run via portage.
|
||||||
|
#
|
||||||
|
# error[E0463]: can't find crate for `std`
|
||||||
|
# error: requires `sized` lang_item
|
||||||
|
-e 's/test_rust_clippy/_&/'
|
||||||
)
|
)
|
||||||
|
|
||||||
sed -i "${disable_unittests[@]}" unittests/*.py || die
|
sed -i "${disable_unittests[@]}" unittests/*.py || die
|
||||||
@ -89,6 +95,10 @@ python_prepare_all() {
|
|||||||
# Broken due to python2 script created by python_wrapper_setup
|
# Broken due to python2 script created by python_wrapper_setup
|
||||||
rm -r "test cases/frameworks/1 boost" || die
|
rm -r "test cases/frameworks/1 boost" || die
|
||||||
|
|
||||||
|
# The 1.4.2 tarball accidentally contains some untracked files from git master:
|
||||||
|
# - subprojects/bar-0.1/Cargo.toml
|
||||||
|
rm -r "test cases/rust/25 cargo lock/"
|
||||||
|
|
||||||
distutils-r1_python_prepare_all
|
distutils-r1_python_prepare_all
|
||||||
}
|
}
|
||||||
|
|
@ -82,6 +82,12 @@ python_prepare_all() {
|
|||||||
# ASAN is unsupported on some targets
|
# ASAN is unsupported on some targets
|
||||||
# https://bugs.gentoo.org/692822
|
# https://bugs.gentoo.org/692822
|
||||||
-e 's/test_pch_with_address_sanitizer/_&/'
|
-e 's/test_pch_with_address_sanitizer/_&/'
|
||||||
|
|
||||||
|
# clippy-driver fails, but only when run via portage.
|
||||||
|
#
|
||||||
|
# error[E0463]: can't find crate for `std`
|
||||||
|
# error: requires `sized` lang_item
|
||||||
|
-e 's/test_rust_clippy/_&/'
|
||||||
)
|
)
|
||||||
|
|
||||||
sed -i "${disable_unittests[@]}" unittests/*.py || die
|
sed -i "${disable_unittests[@]}" unittests/*.py || die
|
@ -82,6 +82,12 @@ python_prepare_all() {
|
|||||||
# ASAN is unsupported on some targets
|
# ASAN is unsupported on some targets
|
||||||
# https://bugs.gentoo.org/692822
|
# https://bugs.gentoo.org/692822
|
||||||
-e 's/test_pch_with_address_sanitizer/_&/'
|
-e 's/test_pch_with_address_sanitizer/_&/'
|
||||||
|
|
||||||
|
# clippy-driver fails, but only when run via portage.
|
||||||
|
#
|
||||||
|
# error[E0463]: can't find crate for `std`
|
||||||
|
# error: requires `sized` lang_item
|
||||||
|
-e 's/test_rust_clippy/_&/'
|
||||||
)
|
)
|
||||||
|
|
||||||
sed -i "${disable_unittests[@]}" unittests/*.py || die
|
sed -i "${disable_unittests[@]}" unittests/*.py || die
|
||||||
|
@ -4,8 +4,8 @@
|
|||||||
<maintainer type="project">
|
<maintainer type="project">
|
||||||
<email>base-system@gentoo.org</email>
|
<email>base-system@gentoo.org</email>
|
||||||
</maintainer>
|
</maintainer>
|
||||||
<maintainer type="person" proxied="yes">
|
<maintainer type="person">
|
||||||
<email>eschwartz93@gmail.com</email>
|
<email>eschwartz@gentoo.org</email>
|
||||||
<name>Eli Schwartz</name>
|
<name>Eli Schwartz</name>
|
||||||
</maintainer>
|
</maintainer>
|
||||||
<upstream>
|
<upstream>
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
|
DIST gtest-1.14.0.tar.gz 867764 BLAKE2B c457f55ac572b9fb1553eee3df7eeeaf1e7dd2c3d747dd5e90dd279038fa5c71bb7b7d9ba1cf7e6143898b2a1d24d100584bd2a48ded41a426870c4825eec1b2 SHA512 765c326ccc1b87a01027385e69238266e356361cd4ee3e18e3c9d137a5d11fa5d657c164d02dd1be8fe693c8e10f2b580588dbfa57d27f070e2750f50d3e662c
|
||||||
DIST ninja-1.11.1.tar.gz 229479 BLAKE2B c96cf7c319b7abd65f644465688d256f8b3a576c4616d0c63852e25dd0dc5f63c66708d429d8dddb6228502eb147211a86a5dd369b80ec2228902b370d2343e5 SHA512 1bca38877c70ee6613f347ffccef5adc02ba0a3947c62ae004ea97f918442b5a3de92378e4f820ae2a7676bc7609d25fbc7d41f6cfb3a61e5e4b26ec3639e403
|
DIST ninja-1.11.1.tar.gz 229479 BLAKE2B c96cf7c319b7abd65f644465688d256f8b3a576c4616d0c63852e25dd0dc5f63c66708d429d8dddb6228502eb147211a86a5dd369b80ec2228902b370d2343e5 SHA512 1bca38877c70ee6613f347ffccef5adc02ba0a3947c62ae004ea97f918442b5a3de92378e4f820ae2a7676bc7609d25fbc7d41f6cfb3a61e5e4b26ec3639e403
|
||||||
DIST ninja-1.12.1.tar.gz 240483 BLAKE2B 915545888cbd7d9e6e7e4fb0bad42f6c36ecef2de93356966541de0f8f4315e59e47cf20f189de5de11ba2a038488c7964ec709bad8868488cc03524a88483f4 SHA512 d6e6f0e89a4844a69069ff0c7cefc07704a41c7b0c062a57534de87decdde63e27928147b321111b806aa7efa1061f031a1319b074391db61b0cbdccf096954c
|
DIST ninja-1.12.1.tar.gz 240483 BLAKE2B 915545888cbd7d9e6e7e4fb0bad42f6c36ecef2de93356966541de0f8f4315e59e47cf20f189de5de11ba2a038488c7964ec709bad8868488cc03524a88483f4 SHA512 d6e6f0e89a4844a69069ff0c7cefc07704a41c7b0c062a57534de87decdde63e27928147b321111b806aa7efa1061f031a1319b074391db61b0cbdccf096954c
|
||||||
|
@ -0,0 +1,135 @@
|
|||||||
|
https://bugs.gentoo.org/929221
|
||||||
|
https://github.com/ninja-build/ninja/issues/2447
|
||||||
|
https://github.com/ninja-build/ninja/commit/afcd4a146fb82843f6ff695f89504ce4ca65ddfd
|
||||||
|
|
||||||
|
From afcd4a146fb82843f6ff695f89504ce4ca65ddfd Mon Sep 17 00:00:00 2001
|
||||||
|
From: David 'Digit' Turner <digit+github@google.com>
|
||||||
|
Date: Sun, 12 May 2024 23:45:28 +0200
|
||||||
|
Subject: [PATCH] configure.py: Support --gtest-source-dir to build tests.
|
||||||
|
|
||||||
|
Allow the Ninja build plan generated by configure.py to
|
||||||
|
build `ninja_test` by compiling GoogleTest from source if
|
||||||
|
the path to the library if passed through the new option
|
||||||
|
`--gtest-source-dir` or the GTEST_SOURCE_DIR environment
|
||||||
|
variable.
|
||||||
|
|
||||||
|
For simplicity, probing for an installed version of the
|
||||||
|
library, and linking to it, is not supported (use the
|
||||||
|
CMake build for this).
|
||||||
|
|
||||||
|
This also removes the obsolete `--gtest-dir` option.
|
||||||
|
|
||||||
|
Fixes #2447
|
||||||
|
---
|
||||||
|
configure.py | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++-
|
||||||
|
2 files changed, 95 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/configure.py b/configure.py
|
||||||
|
index f9e49f9cdf..2b16618c43 100755
|
||||||
|
--- a/configure.py
|
||||||
|
+++ b/configure.py
|
||||||
|
@@ -223,7 +223,10 @@ def _run_command(self, cmdline: str) -> None:
|
||||||
|
parser.add_option('--profile', metavar='TYPE',
|
||||||
|
choices=profilers,
|
||||||
|
help='enable profiling (' + '/'.join(profilers) + ')',)
|
||||||
|
-parser.add_option('--with-gtest', metavar='PATH', help='ignored')
|
||||||
|
+parser.add_option('--gtest-source-dir', metavar='PATH',
|
||||||
|
+ help='Path to GoogleTest source directory. If not provided ' +
|
||||||
|
+ 'GTEST_SOURCE_DIR will be probed in the environment. ' +
|
||||||
|
+ 'Tests will not be built without a value.')
|
||||||
|
parser.add_option('--with-python', metavar='EXE',
|
||||||
|
help='use EXE as the Python interpreter',
|
||||||
|
default=os.path.basename(sys.executable))
|
||||||
|
@@ -435,6 +438,7 @@ def shell_escape(str: str) -> str:
|
||||||
|
if 'LDFLAGS' in configure_env:
|
||||||
|
ldflags.append(configure_env['LDFLAGS'])
|
||||||
|
n.variable('ldflags', ' '.join(shell_escape(flag) for flag in ldflags))
|
||||||
|
+
|
||||||
|
n.newline()
|
||||||
|
|
||||||
|
if platform.is_msvc():
|
||||||
|
@@ -592,6 +596,83 @@ def has_re2c() -> bool:
|
||||||
|
# build.ninja file.
|
||||||
|
n = ninja_writer
|
||||||
|
|
||||||
|
+# Build the ninja_test executable only if the GTest source directory
|
||||||
|
+# is provided explicitly. Either from the environment with GTEST_SOURCE_DIR
|
||||||
|
+# or with the --gtest-source-dir command-line option.
|
||||||
|
+#
|
||||||
|
+# Do not try to look for an installed binary version, and link against it
|
||||||
|
+# because doing so properly is platform-specific (use the CMake build for
|
||||||
|
+# this).
|
||||||
|
+if options.gtest_source_dir:
|
||||||
|
+ gtest_src_dir = options.gtest_source_dir
|
||||||
|
+else:
|
||||||
|
+ gtest_src_dir = os.environ.get('GTEST_SOURCE_DIR')
|
||||||
|
+
|
||||||
|
+if gtest_src_dir:
|
||||||
|
+ # Verify GoogleTest source directory, and add its include directory
|
||||||
|
+ # to the global include search path (even for non-test sources) to
|
||||||
|
+ # keep the build plan generation simple.
|
||||||
|
+ gtest_all_cc = os.path.join(gtest_src_dir, 'googletest', 'src', 'gtest-all.cc')
|
||||||
|
+ if not os.path.exists(gtest_all_cc):
|
||||||
|
+ print('ERROR: Missing GoogleTest source file: %s' % gtest_all_cc)
|
||||||
|
+ sys.exit(1)
|
||||||
|
+
|
||||||
|
+ n.comment('Tests all build into ninja_test executable.')
|
||||||
|
+
|
||||||
|
+ # Test-specific version of cflags, must include the GoogleTest
|
||||||
|
+ # include directory. Also GoogleTest can only build with a C++14 compiler.
|
||||||
|
+ test_cflags = [f.replace('std=c++11', 'std=c++14') for f in cflags]
|
||||||
|
+ test_cflags.append('-I' + os.path.join(gtest_src_dir, 'googletest', 'include'))
|
||||||
|
+
|
||||||
|
+ test_variables = [('cflags', test_cflags)]
|
||||||
|
+ if platform.is_msvc():
|
||||||
|
+ test_variables += [('pdb', 'ninja_test.pdb')]
|
||||||
|
+
|
||||||
|
+ test_names = [
|
||||||
|
+ 'build_log_test',
|
||||||
|
+ 'build_test',
|
||||||
|
+ 'clean_test',
|
||||||
|
+ 'clparser_test',
|
||||||
|
+ 'depfile_parser_test',
|
||||||
|
+ 'deps_log_test',
|
||||||
|
+ 'disk_interface_test',
|
||||||
|
+ 'dyndep_parser_test',
|
||||||
|
+ 'edit_distance_test',
|
||||||
|
+ 'graph_test',
|
||||||
|
+ 'json_test',
|
||||||
|
+ 'lexer_test',
|
||||||
|
+ 'manifest_parser_test',
|
||||||
|
+ 'ninja_test',
|
||||||
|
+ 'state_test',
|
||||||
|
+ 'string_piece_util_test',
|
||||||
|
+ 'subprocess_test',
|
||||||
|
+ 'test',
|
||||||
|
+ 'util_test',
|
||||||
|
+ ]
|
||||||
|
+ if platform.is_windows():
|
||||||
|
+ test_names += [
|
||||||
|
+ 'includes_normalize_test',
|
||||||
|
+ 'msvc_helper_test',
|
||||||
|
+ ]
|
||||||
|
+
|
||||||
|
+ objs = []
|
||||||
|
+ for name in test_names:
|
||||||
|
+ objs += cxx(name, variables=test_variables)
|
||||||
|
+
|
||||||
|
+ # Build GTest as a monolithic source file.
|
||||||
|
+ # This requires one extra include search path, so replace the
|
||||||
|
+ # value of 'cflags' in our list.
|
||||||
|
+ gtest_all_variables = test_variables[1:] + [
|
||||||
|
+ ('cflags', test_cflags + ['-I' + os.path.join(gtest_src_dir, 'googletest') ]),
|
||||||
|
+ ]
|
||||||
|
+ # Do not use cxx() directly to ensure the object file is under $builddir.
|
||||||
|
+ objs += n.build(built('gtest_all' + objext), 'cxx', gtest_all_cc, variables=gtest_all_variables)
|
||||||
|
+
|
||||||
|
+ ninja_test = n.build(binary('ninja_test'), 'link', objs, implicit=ninja_lib,
|
||||||
|
+ variables=[('libs', libs)])
|
||||||
|
+ n.newline()
|
||||||
|
+ all_targets += ninja_test
|
||||||
|
+
|
||||||
|
n.comment('Ancillary executables.')
|
||||||
|
|
||||||
|
if platform.is_aix() and '-maix64' not in ldflags:
|
||||||
|
|
@ -7,6 +7,9 @@ PYTHON_COMPAT=( python3_{10..13} )
|
|||||||
|
|
||||||
inherit bash-completion-r1 edo python-any-r1 toolchain-funcs
|
inherit bash-completion-r1 edo python-any-r1 toolchain-funcs
|
||||||
|
|
||||||
|
DESCRIPTION="A small build system similar to make"
|
||||||
|
HOMEPAGE="https://ninja-build.org/"
|
||||||
|
|
||||||
if [[ ${PV} == 9999 ]]; then
|
if [[ ${PV} == 9999 ]]; then
|
||||||
EGIT_REPO_URI="https://github.com/ninja-build/ninja.git"
|
EGIT_REPO_URI="https://github.com/ninja-build/ninja.git"
|
||||||
inherit git-r3
|
inherit git-r3
|
||||||
@ -15,12 +18,13 @@ else
|
|||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DESCRIPTION="A small build system similar to make"
|
GTEST_VER=1.14.0
|
||||||
HOMEPAGE="https://ninja-build.org/"
|
SRC_URI+=" test? ( https://github.com/google/googletest/archive/refs/tags/v${GTEST_VER}.tar.gz -> gtest-${GTEST_VER}.tar.gz )"
|
||||||
|
|
||||||
LICENSE="Apache-2.0"
|
LICENSE="Apache-2.0"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
IUSE="doc"
|
IUSE="doc test"
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
BDEPEND="
|
BDEPEND="
|
||||||
${PYTHON_DEPS}
|
${PYTHON_DEPS}
|
||||||
@ -36,14 +40,20 @@ PDEPEND="
|
|||||||
app-alternatives/ninja
|
app-alternatives/ninja
|
||||||
"
|
"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}"/ninja-cflags.patch
|
||||||
|
"${FILESDIR}"/${P}-restore-tests-bootstrap.patch
|
||||||
|
)
|
||||||
|
|
||||||
pkg_setup() {
|
pkg_setup() {
|
||||||
:
|
:
|
||||||
}
|
}
|
||||||
|
|
||||||
src_prepare() {
|
src_unpack() {
|
||||||
local PATCHES=(
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
"${FILESDIR}"/ninja-cflags.patch
|
git-r3_src_unpack
|
||||||
)
|
fi
|
||||||
|
|
||||||
default
|
default
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -55,7 +65,18 @@ bootstrap() {
|
|||||||
local -x CXXFLAGS="${BUILD_CXXFLAGS} -D_FILE_OFFSET_BITS=64"
|
local -x CXXFLAGS="${BUILD_CXXFLAGS} -D_FILE_OFFSET_BITS=64"
|
||||||
local -x LDFLAGS=${BUILD_LDFLAGS}
|
local -x LDFLAGS=${BUILD_LDFLAGS}
|
||||||
fi
|
fi
|
||||||
edo ${EPYTHON} configure.py --with-python=python --bootstrap --verbose
|
|
||||||
|
local args=(
|
||||||
|
--with-python=python
|
||||||
|
--bootstrap
|
||||||
|
--verbose
|
||||||
|
)
|
||||||
|
|
||||||
|
if use test; then
|
||||||
|
args+=( --gtest-source-dir="${WORKDIR}"/googletest-${GTEST_VER} )
|
||||||
|
fi
|
||||||
|
|
||||||
|
edo ${EPYTHON} configure.py "${args[@]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
src_compile() {
|
src_compile() {
|
||||||
@ -77,6 +98,15 @@ src_compile() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
if ! tc-is-cross-compiler; then
|
||||||
|
# Bug 485772
|
||||||
|
ulimit -n 2048
|
||||||
|
edo ./ninja -v ninja_test
|
||||||
|
edo ./ninja_test
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
src_install() {
|
src_install() {
|
||||||
newbin ninja{,-reference}
|
newbin ninja{,-reference}
|
||||||
|
|
||||||
|
@ -7,6 +7,9 @@ PYTHON_COMPAT=( python3_{10..13} )
|
|||||||
|
|
||||||
inherit bash-completion-r1 edo python-any-r1 toolchain-funcs
|
inherit bash-completion-r1 edo python-any-r1 toolchain-funcs
|
||||||
|
|
||||||
|
DESCRIPTION="A small build system similar to make"
|
||||||
|
HOMEPAGE="https://ninja-build.org/"
|
||||||
|
|
||||||
if [[ ${PV} == 9999 ]]; then
|
if [[ ${PV} == 9999 ]]; then
|
||||||
EGIT_REPO_URI="https://github.com/ninja-build/ninja.git"
|
EGIT_REPO_URI="https://github.com/ninja-build/ninja.git"
|
||||||
inherit git-r3
|
inherit git-r3
|
||||||
@ -15,12 +18,13 @@ else
|
|||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DESCRIPTION="A small build system similar to make"
|
GTEST_VER=1.14.0
|
||||||
HOMEPAGE="https://ninja-build.org/"
|
SRC_URI+=" test? ( https://github.com/google/googletest/archive/refs/tags/v${GTEST_VER}.tar.gz -> gtest-${GTEST_VER}.tar.gz )"
|
||||||
|
|
||||||
LICENSE="Apache-2.0"
|
LICENSE="Apache-2.0"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
IUSE="doc"
|
IUSE="doc test"
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
BDEPEND="
|
BDEPEND="
|
||||||
${PYTHON_DEPS}
|
${PYTHON_DEPS}
|
||||||
@ -36,14 +40,19 @@ PDEPEND="
|
|||||||
app-alternatives/ninja
|
app-alternatives/ninja
|
||||||
"
|
"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}"/ninja-cflags.patch
|
||||||
|
)
|
||||||
|
|
||||||
pkg_setup() {
|
pkg_setup() {
|
||||||
:
|
:
|
||||||
}
|
}
|
||||||
|
|
||||||
src_prepare() {
|
src_unpack() {
|
||||||
local PATCHES=(
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
"${FILESDIR}"/ninja-cflags.patch
|
git-r3_src_unpack
|
||||||
)
|
fi
|
||||||
|
|
||||||
default
|
default
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -55,7 +64,15 @@ bootstrap() {
|
|||||||
local -x CXXFLAGS="${BUILD_CXXFLAGS} -D_FILE_OFFSET_BITS=64"
|
local -x CXXFLAGS="${BUILD_CXXFLAGS} -D_FILE_OFFSET_BITS=64"
|
||||||
local -x LDFLAGS=${BUILD_LDFLAGS}
|
local -x LDFLAGS=${BUILD_LDFLAGS}
|
||||||
fi
|
fi
|
||||||
edo ${EPYTHON} configure.py --with-python=python --bootstrap --verbose
|
|
||||||
|
local bootstrap_args=(
|
||||||
|
--with-python=python
|
||||||
|
--bootstrap
|
||||||
|
--verbose
|
||||||
|
$(usev test --gtest-source-dir="${WORKDIR}"/googletest-${GTEST_VER})
|
||||||
|
)
|
||||||
|
|
||||||
|
edo ${EPYTHON} configure.py "${bootstrap_args[@]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
src_compile() {
|
src_compile() {
|
||||||
@ -77,6 +94,15 @@ src_compile() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
if ! tc-is-cross-compiler; then
|
||||||
|
# Bug 485772
|
||||||
|
ulimit -n 2048
|
||||||
|
edo ./ninja -v ninja_test
|
||||||
|
edo ./ninja_test
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
src_install() {
|
src_install() {
|
||||||
newbin ninja{,-reference}
|
newbin ninja{,-reference}
|
||||||
|
|
||||||
|
@ -29,6 +29,7 @@ RESTRICT="!test? ( test )"
|
|||||||
|
|
||||||
PATCHES=(
|
PATCHES=(
|
||||||
"${FILESDIR}"/${PN}-20230125.2-musl-1.2.4.patch #906218
|
"${FILESDIR}"/${PN}-20230125.2-musl-1.2.4.patch #906218
|
||||||
|
"${FILESDIR}"/${PN}-random-tests.patch #935417
|
||||||
)
|
)
|
||||||
|
|
||||||
src_prepare() {
|
src_prepare() {
|
||||||
|
67
sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r4.ebuild
vendored
Normal file
67
sdk_container/src/third_party/portage-stable/dev-cpp/abseil-cpp/abseil-cpp-20230125.3-r4.ebuild
vendored
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
# Copyright 2020-2024 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python3_{10..12} )
|
||||||
|
|
||||||
|
inherit cmake-multilib python-any-r1
|
||||||
|
|
||||||
|
DESCRIPTION="Abseil Common Libraries (C++), LTS Branch"
|
||||||
|
HOMEPAGE="https://abseil.io/"
|
||||||
|
SRC_URI="https://github.com/abseil/abseil-cpp/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="Apache-2.0"
|
||||||
|
SLOT="0/${PV%%.*}.0"
|
||||||
|
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
|
||||||
|
IUSE="test"
|
||||||
|
|
||||||
|
RDEPEND=">=dev-cpp/gtest-1.13.0[${MULTILIB_USEDEP}]"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
BDEPEND="
|
||||||
|
${PYTHON_DEPS}
|
||||||
|
test? (
|
||||||
|
sys-libs/timezone-data
|
||||||
|
)
|
||||||
|
"
|
||||||
|
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}"/${PN}-20230125.2-musl-1.2.4.patch #906218
|
||||||
|
"${FILESDIR}"/${PN}-random-tests.patch #935417
|
||||||
|
"${FILESDIR}/${PN}-20230802.0-conditional-use-of-lzcnt.patch" #934337
|
||||||
|
)
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
cmake_src_prepare
|
||||||
|
|
||||||
|
# un-hardcode abseil compiler flags
|
||||||
|
sed -i \
|
||||||
|
-e '/"-maes",/d' \
|
||||||
|
-e '/"-msse4.1",/d' \
|
||||||
|
-e '/"-mfpu=neon"/d' \
|
||||||
|
-e '/"-march=armv8-a+crypto"/d' \
|
||||||
|
absl/copts/copts.py || die
|
||||||
|
|
||||||
|
# now generate cmake files
|
||||||
|
python_fix_shebang absl/copts/generate_copts.py
|
||||||
|
absl/copts/generate_copts.py || die
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_configure() {
|
||||||
|
local mycmakeargs=(
|
||||||
|
# We use -std=c++14 here so that abseil-cpp's string_view is used
|
||||||
|
# See the discussion in https://github.com/gentoo/gentoo/pull/32281.
|
||||||
|
-DCMAKE_CXX_STANDARD=14
|
||||||
|
-DABSL_ENABLE_INSTALL=TRUE
|
||||||
|
-DABSL_USE_EXTERNAL_GOOGLETEST=ON
|
||||||
|
-DABSL_PROPAGATE_CXX_STD=TRUE
|
||||||
|
# TEST_HELPERS needed for protobuf (bug #915902)
|
||||||
|
-DABSL_BUILD_TEST_HELPERS=ON
|
||||||
|
-DABSL_BUILD_TESTING=$(usex test ON OFF)
|
||||||
|
$(usex test -DBUILD_TESTING=ON '') # intentional usex, it used both variables for tests.
|
||||||
|
)
|
||||||
|
|
||||||
|
cmake_src_configure
|
||||||
|
}
|
@ -26,7 +26,12 @@ BDEPEND="
|
|||||||
"
|
"
|
||||||
|
|
||||||
RESTRICT="!test? ( test )"
|
RESTRICT="!test? ( test )"
|
||||||
PATCHES=( "${FILESDIR}/${PN}-20230802.0-sdata-tests.patch" )
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}/${PN}-20230802.0-sdata-tests.patch"
|
||||||
|
"${FILESDIR}/${PN}-random-tests.patch" #935417
|
||||||
|
"${FILESDIR}/${PN}-20230802.0-conditional-use-of-lzcnt.patch" #934337
|
||||||
|
)
|
||||||
|
|
||||||
src_prepare() {
|
src_prepare() {
|
||||||
cmake_src_prepare
|
cmake_src_prepare
|
@ -26,7 +26,12 @@ BDEPEND="
|
|||||||
"
|
"
|
||||||
|
|
||||||
RESTRICT="!test? ( test )"
|
RESTRICT="!test? ( test )"
|
||||||
PATCHES=( "${FILESDIR}/${PN}-20230802.0-sdata-tests.patch" )
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}/${PN}-20230802.0-sdata-tests.patch"
|
||||||
|
"${FILESDIR}/${PN}-random-tests.patch" #935417
|
||||||
|
"${FILESDIR}/${PN}-20230802.0-conditional-use-of-lzcnt.patch" #934337
|
||||||
|
)
|
||||||
|
|
||||||
src_prepare() {
|
src_prepare() {
|
||||||
cmake_src_prepare
|
cmake_src_prepare
|
@ -0,0 +1,49 @@
|
|||||||
|
Bug: https://bugs.gentoo.org/934337
|
||||||
|
From: https://github.com/abseil/abseil-cpp/commit/c1e1b47d989978cde8c5a2a219df425b785a0c47.patch
|
||||||
|
From c1e1b47d989978cde8c5a2a219df425b785a0c47 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Derek Mauro <dmauro@google.com>
|
||||||
|
Date: Fri, 3 May 2024 09:14:22 -0700
|
||||||
|
Subject: [PATCH] Use __builtin_ctzg and __builtin_clzg in the implementations
|
||||||
|
of CountTrailingZeroesNonzero16 and CountLeadingZeroes16 when they are
|
||||||
|
available.
|
||||||
|
|
||||||
|
GCC 14 and Clang 19 adds these new builtins. The g-suffix is for
|
||||||
|
"generic". The s-suffix on __builtin_ctzs and __builtin_clzs is for
|
||||||
|
"short". GCC never implemented the short versions and #1664 reports
|
||||||
|
GCC 14 (pre-release) gives an error here, although this may be a
|
||||||
|
pre-release bug.
|
||||||
|
|
||||||
|
Fixes #1664
|
||||||
|
|
||||||
|
PiperOrigin-RevId: 630408249
|
||||||
|
Change-Id: I4aedcc82b85430f50d025f8eb1cab089c6fcd1bc
|
||||||
|
---
|
||||||
|
absl/numeric/internal/bits.h | 8 ++++++--
|
||||||
|
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/absl/numeric/internal/bits.h b/absl/numeric/internal/bits.h
|
||||||
|
index bfef06bce1f..0917464d6ad 100644
|
||||||
|
--- a/absl/numeric/internal/bits.h
|
||||||
|
+++ b/absl/numeric/internal/bits.h
|
||||||
|
@@ -167,7 +167,9 @@ CountLeadingZeroes32(uint32_t x) {
|
||||||
|
|
||||||
|
ABSL_ATTRIBUTE_ALWAYS_INLINE ABSL_INTERNAL_CONSTEXPR_CLZ inline int
|
||||||
|
CountLeadingZeroes16(uint16_t x) {
|
||||||
|
-#if ABSL_HAVE_BUILTIN(__builtin_clzs)
|
||||||
|
+#if ABSL_HAVE_BUILTIN(__builtin_clzg)
|
||||||
|
+ return x == 0 ? 16 : __builtin_clzg(x);
|
||||||
|
+#elif ABSL_HAVE_BUILTIN(__builtin_clzs)
|
||||||
|
static_assert(sizeof(unsigned short) == sizeof(x), // NOLINT(runtime/int)
|
||||||
|
"__builtin_clzs does not take 16-bit arg");
|
||||||
|
return x == 0 ? 16 : __builtin_clzs(x);
|
||||||
|
@@ -303,7 +305,9 @@ CountTrailingZeroesNonzero64(uint64_t x) {
|
||||||
|
|
||||||
|
ABSL_ATTRIBUTE_ALWAYS_INLINE ABSL_INTERNAL_CONSTEXPR_CTZ inline int
|
||||||
|
CountTrailingZeroesNonzero16(uint16_t x) {
|
||||||
|
-#if ABSL_HAVE_BUILTIN(__builtin_ctzs)
|
||||||
|
+#if ABSL_HAVE_BUILTIN(__builtin_ctzg)
|
||||||
|
+ return __builtin_ctzg(x);
|
||||||
|
+#elif ABSL_HAVE_BUILTIN(__builtin_ctzs)
|
||||||
|
static_assert(sizeof(unsigned short) == sizeof(x), // NOLINT(runtime/int)
|
||||||
|
"__builtin_ctzs does not take 16-bit arg");
|
||||||
|
return __builtin_ctzs(x);
|
@ -0,0 +1,19 @@
|
|||||||
|
https://github.com/abseil/abseil-cpp/issues/1528
|
||||||
|
|
||||||
|
From: Paul Zander <negril.nx+gentoo@gmail.com>
|
||||||
|
Date: Sat, 7 Jul 2024 01:53:19 +0200
|
||||||
|
Subject: [PATCH] remove abseil::random_internal_mock_overload_set
|
||||||
|
See-Also: https://bugs.gentoo.org/935417
|
||||||
|
|
||||||
|
diff --git a/absl/random/CMakeLists.txt b/absl/random/CMakeLists.txt
|
||||||
|
index bd363d8..7692a35 100644
|
||||||
|
--- a/absl/random/CMakeLists.txt
|
||||||
|
+++ b/absl/random/CMakeLists.txt
|
||||||
|
@@ -112,7 +112,6 @@ absl_cc_library(
|
||||||
|
absl::raw_logging_internal
|
||||||
|
absl::random_distributions
|
||||||
|
absl::random_internal_distribution_caller
|
||||||
|
- absl::random_internal_mock_overload_set
|
||||||
|
absl::random_random
|
||||||
|
absl::strings
|
||||||
|
absl::span
|
@ -21,7 +21,7 @@ else
|
|||||||
-> ${P}.tar.gz"
|
-> ${P}.tar.gz"
|
||||||
S="${WORKDIR}"/googletest-${GOOGLETEST_COMMIT}
|
S="${WORKDIR}"/googletest-${GOOGLETEST_COMMIT}
|
||||||
fi
|
fi
|
||||||
KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DESCRIPTION="Google C++ Testing Framework"
|
DESCRIPTION="Google C++ Testing Framework"
|
||||||
|
@ -24,7 +24,7 @@ else
|
|||||||
"
|
"
|
||||||
S="${WORKDIR}/${PN}-src-${SRC_PV}"
|
S="${WORKDIR}/${PN}-src-${SRC_PV}"
|
||||||
|
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
LICENSE="public-domain"
|
LICENSE="public-domain"
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
DIST gdb-14.2-sim-modern-c99.patch.xz 5348 BLAKE2B f8039cdf1b49d12eead0dae7db88dbfad4c47eda696ee26b0bd140605d1d62d4a88557518d4e18c86fffb3c6194782d16e459f4392df71d2ec1af271ccb2838d SHA512 f44239871c584f5d6de98db8d6a6766103a8a6fc92dada7d37f04bdc53efe635cca7dfaa778d620348559814f4784a33e5f72a8dd376dc96fba8ec27032ab389
|
DIST gdb-14.2-sim-modern-c99.patch.xz 5348 BLAKE2B f8039cdf1b49d12eead0dae7db88dbfad4c47eda696ee26b0bd140605d1d62d4a88557518d4e18c86fffb3c6194782d16e459f4392df71d2ec1af271ccb2838d SHA512 f44239871c584f5d6de98db8d6a6766103a8a6fc92dada7d37f04bdc53efe635cca7dfaa778d620348559814f4784a33e5f72a8dd376dc96fba8ec27032ab389
|
||||||
DIST gdb-14.2.tar.xz 24111936 BLAKE2B 65765dfd1ed08e19bb881fc7ae98d6ee4914f38a9a2bb0d0ca73bef472669664f807fe9c04e8dffd7025be98e736ac52f88ff5851ceddbb01a361885b18befc8 SHA512 7e07941f1fe661288cc571b4964012ceabc1760624fce20320db2f470c01439b2386f859b5288da13204b758e2e3b22a74c68c012178db93b9529b06f1e22ede
|
DIST gdb-14.2.tar.xz 24111936 BLAKE2B 65765dfd1ed08e19bb881fc7ae98d6ee4914f38a9a2bb0d0ca73bef472669664f807fe9c04e8dffd7025be98e736ac52f88ff5851ceddbb01a361885b18befc8 SHA512 7e07941f1fe661288cc571b4964012ceabc1760624fce20320db2f470c01439b2386f859b5288da13204b758e2e3b22a74c68c012178db93b9529b06f1e22ede
|
||||||
DIST gdb-15.0.91.tar.xz 24278716 BLAKE2B 8fbbabf40472e6414ef180a9a072db5fa12c9663e723f763c5ebc9583d160d0ca3dc5910e043dba8b12a494a12c202ad095e36e0a0ea2ba1e8e548c3ba1e5221 SHA512 a946b5a074cec93b06b175276c55614b306cfcabb1f467dc0c2f60085cb6853c6d62511a9570ae9ea778c05bad245d8e6e17b15a29b85d48e60d9c8a72086e2e
|
DIST gdb-15.1.tar.xz 24295712 BLAKE2B e05133a9f98a1a00cbfb49294f534e3b8830b48ac9526af3312a3b9a0381e0e652bc3f5fdc8528ceb16c890529cefbd7745bed97298a1fecb64c726d09c8aacb SHA512 0217434073023a8b8316088bf3ee95d53a1b6a7897f6269095429016a8900f9a05e130c390d8d5d5550cc515c16519de1071d8eef96aa58e38056c7e37da1d8b
|
||||||
|
@ -23,8 +23,10 @@ DIST python-gentoo-patches-3.10.14_p1.tar.xz 15836 BLAKE2B a850e4ad4f025fa9d38cc
|
|||||||
DIST python-gentoo-patches-3.11.9.tar.xz 8456 BLAKE2B 4e62837f17c1d056460df417b056a79ad78dbcdd3454761c7cda68ffe6faf8f4d4f04d5539e0ba94332fe19a751f7d5ff2c35ff969a6aa09a2c72d2ce5efbff1 SHA512 a288aa8d1d15e906e0f1762602a2122f9dc91bbd6b72123ac5d00ce55b3af324a4e8280b600fc0fb630e489e57ee1547d7595a4ede7a70e4b26d6686a8414997
|
DIST python-gentoo-patches-3.11.9.tar.xz 8456 BLAKE2B 4e62837f17c1d056460df417b056a79ad78dbcdd3454761c7cda68ffe6faf8f4d4f04d5539e0ba94332fe19a751f7d5ff2c35ff969a6aa09a2c72d2ce5efbff1 SHA512 a288aa8d1d15e906e0f1762602a2122f9dc91bbd6b72123ac5d00ce55b3af324a4e8280b600fc0fb630e489e57ee1547d7595a4ede7a70e4b26d6686a8414997
|
||||||
DIST python-gentoo-patches-3.12.3.tar.xz 6028 BLAKE2B 7953a48a1d95a6a33bd88060fbcac463a5469371aa0c882c3945f1fea64a63c4d45fca8451f51f4eaeea00a04267ad2e54e4cc720c95e8bb5a3477e00263b80a SHA512 4779bab2b24e59e4a77987ce3e9611d99e87c9c4d016309758c26a65fe2e11ef04d48d5af628c02b1552dc1f31b768f87448f8e19e716b4fe372941e6dacac3f
|
DIST python-gentoo-patches-3.12.3.tar.xz 6028 BLAKE2B 7953a48a1d95a6a33bd88060fbcac463a5469371aa0c882c3945f1fea64a63c4d45fca8451f51f4eaeea00a04267ad2e54e4cc720c95e8bb5a3477e00263b80a SHA512 4779bab2b24e59e4a77987ce3e9611d99e87c9c4d016309758c26a65fe2e11ef04d48d5af628c02b1552dc1f31b768f87448f8e19e716b4fe372941e6dacac3f
|
||||||
DIST python-gentoo-patches-3.12.4_p1.tar.xz 7088 BLAKE2B 450b95539aaf7c8c052ca1bbcab3b1a8f1c33e8007b6c66cc290c33d88cac8bad346e13cf96508834599a59ccb6548e6dd8cbfb1e24d84539f502101b04299d0 SHA512 df874cb1d8d0f5df60fca82daa2a59cbcfeba6be72b021101a753306a09bb19ee268681b3fdb39659be923d868c727bf7aabbe8173cfd48a329c66f4727353c7
|
DIST python-gentoo-patches-3.12.4_p1.tar.xz 7088 BLAKE2B 450b95539aaf7c8c052ca1bbcab3b1a8f1c33e8007b6c66cc290c33d88cac8bad346e13cf96508834599a59ccb6548e6dd8cbfb1e24d84539f502101b04299d0 SHA512 df874cb1d8d0f5df60fca82daa2a59cbcfeba6be72b021101a753306a09bb19ee268681b3fdb39659be923d868c727bf7aabbe8173cfd48a329c66f4727353c7
|
||||||
|
DIST python-gentoo-patches-3.12.4_p2.tar.xz 11124 BLAKE2B 8e49af60b1e514de9b77c562a8df5ae7d6caf0045e631fcf85a8f91335cf18f1df2ac611ea73d26e5b70c2537beb423a9303dcce41c2c2e2b049ee9f1e537b53 SHA512 df1d49e60d23f5f09144c57034c86f81f8d185f65c3a93bbb2b386977638bd525b45fe1dff8c7202d60ca3a5fdf96b94a492b076072713565e7449b679fde7b5
|
||||||
DIST python-gentoo-patches-3.13.0b1_p3.tar.xz 11056 BLAKE2B ef932bac59d2316ee8fe638a3d34ce247ff587915546038627674cd4c03179998a58336f8ebae45f1fcc94c8059d61ff6f22693f25ace1462bce275f50bfb48f SHA512 956e3da7376d60d7a593af50fff9842016a3b193180e93ab8298756c9eedfb2aaf8c1287bb75111e6340b5bac20a12dcb00ef51ecf0e12ef9ae5c98202fb071b
|
DIST python-gentoo-patches-3.13.0b1_p3.tar.xz 11056 BLAKE2B ef932bac59d2316ee8fe638a3d34ce247ff587915546038627674cd4c03179998a58336f8ebae45f1fcc94c8059d61ff6f22693f25ace1462bce275f50bfb48f SHA512 956e3da7376d60d7a593af50fff9842016a3b193180e93ab8298756c9eedfb2aaf8c1287bb75111e6340b5bac20a12dcb00ef51ecf0e12ef9ae5c98202fb071b
|
||||||
DIST python-gentoo-patches-3.13.0b2_p9.tar.xz 11288 BLAKE2B e46bac845ce54e32446316b8a5e055905f023e88ad7fb9cfed101f0fccf6c0fef2fb9fd5b7dc4b15ec1e6c075ceaa9f07777c3cfede0f88412871beac0a54e47 SHA512 4148342d649acd98cce1f3d3c7bdbf4adad069ba555624882ddb69f00ee0e64641014086b5e60d97eac809ccb1e3e782a112eb58d7bb83bcfa3222811cbb8682
|
DIST python-gentoo-patches-3.13.0b2_p9.tar.xz 11288 BLAKE2B e46bac845ce54e32446316b8a5e055905f023e88ad7fb9cfed101f0fccf6c0fef2fb9fd5b7dc4b15ec1e6c075ceaa9f07777c3cfede0f88412871beac0a54e47 SHA512 4148342d649acd98cce1f3d3c7bdbf4adad069ba555624882ddb69f00ee0e64641014086b5e60d97eac809ccb1e3e782a112eb58d7bb83bcfa3222811cbb8682
|
||||||
DIST python-gentoo-patches-3.13.0b3.tar.xz 5704 BLAKE2B 665f60d0a440c63ca6bbc1615333e01e0b9d3c5cd8c871157866dd70146a9afb71aecdb6f72f75de2fd8c163d011c8df538c8b278ad6a91079f3300bd05fead3 SHA512 959826aaf467235c8a144a2b94137113b273f79febd30fee0556b718132bb89b5ba97bc01a3718771cade099777f131b322682f336dfaabe18cd5838a75318fa
|
DIST python-gentoo-patches-3.13.0b3.tar.xz 5704 BLAKE2B 665f60d0a440c63ca6bbc1615333e01e0b9d3c5cd8c871157866dd70146a9afb71aecdb6f72f75de2fd8c163d011c8df538c8b278ad6a91079f3300bd05fead3 SHA512 959826aaf467235c8a144a2b94137113b273f79febd30fee0556b718132bb89b5ba97bc01a3718771cade099777f131b322682f336dfaabe18cd5838a75318fa
|
||||||
|
DIST python-gentoo-patches-3.13.0b3_p1.tar.xz 8716 BLAKE2B 25b2d9f059c6f31a354b19833a3dfaab446a43ca00bbaa415e38c3ede6c4a738046469ca4ef6e184a5d7df33a8a1c5209271a1eb0728c3791e6630953bcd798f SHA512 57bbe0470e3356cef3b1880cedd18d4e84d6f64d1f398ce3e3e729744ac5f7a4dc4144333e2355f9ecf41c58382ab5708e7dbf7d480dbf797caa460862aee3bd
|
||||||
DIST python-gentoo-patches-3.8.19_p2.tar.xz 35524 BLAKE2B a6b81e6ae907b60eea676cb65a9c693e62453dc44616baaadb294c5782a195c20eff6c2869b38ea110fe06e9e511468f4ab0c3d1811b16e0ab2833f9dc09b25b SHA512 9944c330b6062c2ac6e13fcfbc1c8835dfd078f6744cdfbc03ba787ae97c08bdae559cefadafe9dfe9be9c31f8c15ee895599b266d870f73c06a2f4b15c78dc3
|
DIST python-gentoo-patches-3.8.19_p2.tar.xz 35524 BLAKE2B a6b81e6ae907b60eea676cb65a9c693e62453dc44616baaadb294c5782a195c20eff6c2869b38ea110fe06e9e511468f4ab0c3d1811b16e0ab2833f9dc09b25b SHA512 9944c330b6062c2ac6e13fcfbc1c8835dfd078f6744cdfbc03ba787ae97c08bdae559cefadafe9dfe9be9c31f8c15ee895599b266d870f73c06a2f4b15c78dc3
|
||||||
DIST python-gentoo-patches-3.9.19_p3.tar.xz 28240 BLAKE2B 35c70b1f9a590abe9a74795f478ab788cd72c96e9d84f2756685e61324dc4203148e71b00a236bb4af8fb8315e3582ecec255b39749a653e0511d4a9f9fef725 SHA512 6b8f4dab4aa7d4d646ee4091b5cf76bbc8896d4299a3623660a2c5fec06c0cf56c0a50ac87604885cd155141bc85e0e80acdbedb7b34a813901aad021b9b8ab2
|
DIST python-gentoo-patches-3.9.19_p3.tar.xz 28240 BLAKE2B 35c70b1f9a590abe9a74795f478ab788cd72c96e9d84f2756685e61324dc4203148e71b00a236bb4af8fb8315e3582ecec255b39749a653e0511d4a9f9fef725 SHA512 6b8f4dab4aa7d4d646ee4091b5cf76bbc8896d4299a3623660a2c5fec06c0cf56c0a50ac87604885cd155141bc85e0e80acdbedb7b34a813901aad021b9b8ab2
|
||||||
|
558
sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.4_p2.ebuild
vendored
Normal file
558
sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.4_p2.ebuild
vendored
Normal file
@ -0,0 +1,558 @@
|
|||||||
|
# Copyright 1999-2024 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI="8"
|
||||||
|
WANT_LIBTOOL="none"
|
||||||
|
|
||||||
|
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils
|
||||||
|
inherit python-utils-r1 toolchain-funcs verify-sig
|
||||||
|
|
||||||
|
MY_PV=${PV/_rc/rc}
|
||||||
|
MY_P="Python-${MY_PV%_p*}"
|
||||||
|
PYVER=$(ver_cut 1-2)
|
||||||
|
PATCHSET="python-gentoo-patches-${MY_PV}"
|
||||||
|
|
||||||
|
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
|
||||||
|
HOMEPAGE="
|
||||||
|
https://www.python.org/
|
||||||
|
https://github.com/python/cpython/
|
||||||
|
"
|
||||||
|
SRC_URI="
|
||||||
|
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
|
||||||
|
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
|
||||||
|
verify-sig? (
|
||||||
|
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
|
||||||
|
)
|
||||||
|
"
|
||||||
|
S="${WORKDIR}/${MY_P}"
|
||||||
|
|
||||||
|
LICENSE="PSF-2"
|
||||||
|
SLOT="${PYVER}"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||||
|
IUSE="
|
||||||
|
bluetooth build debug +ensurepip examples gdbm libedit
|
||||||
|
+ncurses pgo +readline +sqlite +ssl test tk valgrind
|
||||||
|
"
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
# Do not add a dependency on dev-lang/python to this ebuild.
|
||||||
|
# If you need to apply a patch which requires python for bootstrapping, please
|
||||||
|
# run the bootstrap code on your dev box and include the results in the
|
||||||
|
# patchset. See bug 447752.
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
app-arch/bzip2:=
|
||||||
|
app-arch/xz-utils:=
|
||||||
|
app-crypt/libb2
|
||||||
|
>=dev-libs/expat-2.1:=
|
||||||
|
dev-libs/libffi:=
|
||||||
|
dev-libs/mpdecimal:=
|
||||||
|
dev-python/gentoo-common
|
||||||
|
>=sys-libs/zlib-1.1.3:=
|
||||||
|
virtual/libcrypt:=
|
||||||
|
virtual/libintl
|
||||||
|
ensurepip? ( dev-python/ensurepip-pip )
|
||||||
|
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||||
|
kernel_linux? ( sys-apps/util-linux:= )
|
||||||
|
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||||
|
readline? (
|
||||||
|
!libedit? ( >=sys-libs/readline-4.1:= )
|
||||||
|
libedit? ( dev-libs/libedit:= )
|
||||||
|
)
|
||||||
|
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
|
||||||
|
ssl? ( >=dev-libs/openssl-1.1.1:= )
|
||||||
|
tk? (
|
||||||
|
>=dev-lang/tcl-8.0:=
|
||||||
|
>=dev-lang/tk-8.0:=
|
||||||
|
dev-tcltk/blt:=
|
||||||
|
dev-tcltk/tix
|
||||||
|
)
|
||||||
|
"
|
||||||
|
# bluetooth requires headers from bluez
|
||||||
|
DEPEND="
|
||||||
|
${RDEPEND}
|
||||||
|
bluetooth? ( net-wireless/bluez )
|
||||||
|
test? (
|
||||||
|
app-arch/xz-utils
|
||||||
|
dev-python/ensurepip-pip
|
||||||
|
dev-python/ensurepip-setuptools
|
||||||
|
dev-python/ensurepip-wheel
|
||||||
|
)
|
||||||
|
valgrind? ( dev-debug/valgrind )
|
||||||
|
"
|
||||||
|
# autoconf-archive needed to eautoreconf
|
||||||
|
BDEPEND="
|
||||||
|
dev-build/autoconf-archive
|
||||||
|
app-alternatives/awk
|
||||||
|
virtual/pkgconfig
|
||||||
|
verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
|
||||||
|
"
|
||||||
|
RDEPEND+="
|
||||||
|
!build? ( app-misc/mime-types )
|
||||||
|
"
|
||||||
|
if [[ ${PV} != *_alpha* ]]; then
|
||||||
|
RDEPEND+="
|
||||||
|
dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
|
||||||
|
"
|
||||||
|
fi
|
||||||
|
|
||||||
|
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
|
||||||
|
|
||||||
|
# large file tests involve a 2.5G file being copied (duplicated)
|
||||||
|
CHECKREQS_DISK_BUILD=5500M
|
||||||
|
|
||||||
|
QA_PKGCONFIG_VERSION=${PYVER}
|
||||||
|
# false positives -- functions specific to *BSD
|
||||||
|
QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags )
|
||||||
|
|
||||||
|
pkg_pretend() {
|
||||||
|
use test && check-reqs_pkg_pretend
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
use test && check-reqs_pkg_setup
|
||||||
|
}
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
if use verify-sig; then
|
||||||
|
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
|
||||||
|
fi
|
||||||
|
default
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
# Ensure that internal copies of expat and libffi are not used.
|
||||||
|
# TODO: Makefile has annoying deps on expat headers
|
||||||
|
#rm -r Modules/expat || die
|
||||||
|
|
||||||
|
local PATCHES=(
|
||||||
|
"${WORKDIR}/${PATCHSET}"
|
||||||
|
)
|
||||||
|
|
||||||
|
default
|
||||||
|
|
||||||
|
# force the correct number of jobs
|
||||||
|
# https://bugs.gentoo.org/737660
|
||||||
|
sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die
|
||||||
|
|
||||||
|
# breaks tests when using --with-wheel-pkg-dir
|
||||||
|
rm -r Lib/test/wheeldata || die
|
||||||
|
|
||||||
|
eautoreconf
|
||||||
|
}
|
||||||
|
|
||||||
|
build_cbuild_python() {
|
||||||
|
# Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
|
||||||
|
local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
|
||||||
|
|
||||||
|
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||||
|
# propagated to sysconfig for built extensions
|
||||||
|
#
|
||||||
|
# -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway)
|
||||||
|
local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto"
|
||||||
|
local -x LDFLAGS_NODIST=${BUILD_LDFLAGS}
|
||||||
|
local -x CFLAGS= LDFLAGS=
|
||||||
|
local -x BUILD_CFLAGS="${CFLAGS_NODIST}"
|
||||||
|
local -x BUILD_LDFLAGS=${LDFLAGS_NODIST}
|
||||||
|
|
||||||
|
# We need to build our own Python on CBUILD first, and feed it in.
|
||||||
|
# bug #847910
|
||||||
|
local myeconfargs_cbuild=(
|
||||||
|
"${myeconfargs[@]}"
|
||||||
|
|
||||||
|
--prefix="${BROOT}"/usr
|
||||||
|
--libdir="${cbuild_libdir:2}"
|
||||||
|
|
||||||
|
# Avoid needing to load the right libpython.so.
|
||||||
|
--disable-shared
|
||||||
|
|
||||||
|
# As minimal as possible for the mini CBUILD Python
|
||||||
|
# we build just for cross to satisfy --with-build-python.
|
||||||
|
--without-lto
|
||||||
|
--without-readline
|
||||||
|
--disable-optimizations
|
||||||
|
)
|
||||||
|
|
||||||
|
mkdir "${WORKDIR}"/${P}-${CBUILD} || die
|
||||||
|
pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
|
||||||
|
|
||||||
|
# Avoid as many dependencies as possible for the cross build.
|
||||||
|
mkdir Modules || die
|
||||||
|
cat > Modules/Setup.local <<-EOF || die
|
||||||
|
*disabled*
|
||||||
|
nis
|
||||||
|
_dbm _gdbm
|
||||||
|
_sqlite3
|
||||||
|
_hashlib _ssl
|
||||||
|
_curses _curses_panel
|
||||||
|
readline
|
||||||
|
_tkinter
|
||||||
|
pyexpat
|
||||||
|
zlib
|
||||||
|
# We disabled these for CBUILD because Python's setup.py can't handle locating
|
||||||
|
# libdir correctly for cross. This should be rechecked for the pure Makefile approach,
|
||||||
|
# and uncommented if needed.
|
||||||
|
#_ctypes _crypt
|
||||||
|
EOF
|
||||||
|
|
||||||
|
ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
|
||||||
|
|
||||||
|
# Unfortunately, we do have to build this immediately, and
|
||||||
|
# not in src_compile, because CHOST configure for Python
|
||||||
|
# will check the existence of the --with-build-python value
|
||||||
|
# immediately.
|
||||||
|
emake
|
||||||
|
popd &> /dev/null || die
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
# disable automagic bluetooth headers detection
|
||||||
|
if ! use bluetooth; then
|
||||||
|
local -x ac_cv_header_bluetooth_bluetooth_h=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
append-flags -fwrapv
|
||||||
|
filter-flags -malign-double
|
||||||
|
|
||||||
|
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
|
||||||
|
# PKG_CONFIG needed for cross.
|
||||||
|
tc-export CXX PKG_CONFIG
|
||||||
|
|
||||||
|
local dbmliborder=
|
||||||
|
if use gdbm; then
|
||||||
|
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use pgo; then
|
||||||
|
local profile_task_flags=(
|
||||||
|
-m test
|
||||||
|
"-j$(makeopts_jobs)"
|
||||||
|
--pgo-extended
|
||||||
|
-u-network
|
||||||
|
|
||||||
|
# We use a timeout because of how often we've had hang issues
|
||||||
|
# here. It also matches the default upstream PROFILE_TASK.
|
||||||
|
--timeout 1200
|
||||||
|
|
||||||
|
-x test_gdb
|
||||||
|
-x test_dtrace
|
||||||
|
|
||||||
|
# All of these seem to occasionally hang for PGO inconsistently
|
||||||
|
# They'll even hang here but be fine in src_test sometimes.
|
||||||
|
# bug #828535 (and related: bug #788022)
|
||||||
|
-x test_asyncio
|
||||||
|
-x test_concurrent_futures
|
||||||
|
-x test_httpservers
|
||||||
|
-x test_logging
|
||||||
|
-x test_multiprocessing_fork
|
||||||
|
-x test_socket
|
||||||
|
-x test_xmlrpc
|
||||||
|
|
||||||
|
# Hangs (actually runs indefinitely executing itself w/ many cpython builds)
|
||||||
|
# bug #900429
|
||||||
|
-x test_tools
|
||||||
|
)
|
||||||
|
|
||||||
|
# musl-specific skips
|
||||||
|
use elibc_musl && profile_task_flags+=(
|
||||||
|
# various musl locale deficiencies
|
||||||
|
-x test__locale
|
||||||
|
-x test_c_locale_coercion
|
||||||
|
-x test_locale
|
||||||
|
-x test_re
|
||||||
|
|
||||||
|
# known issues with find_library on musl
|
||||||
|
# https://bugs.python.org/issue21622
|
||||||
|
-x test_ctypes
|
||||||
|
|
||||||
|
# fpathconf, ttyname errno values
|
||||||
|
-x test_os
|
||||||
|
)
|
||||||
|
|
||||||
|
if has_version "app-arch/rpm" ; then
|
||||||
|
# Avoid sandbox failure (attempts to write to /var/lib/rpm)
|
||||||
|
profile_task_flags+=(
|
||||||
|
-x test_distutils
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
local -x PROFILE_TASK="${profile_task_flags[*]}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
local myeconfargs=(
|
||||||
|
# glibc-2.30 removes it; since we can't cleanly force-rebuild
|
||||||
|
# Python on glibc upgrade, remove it proactively to give
|
||||||
|
# a chance for users rebuilding python before glibc
|
||||||
|
ac_cv_header_stropts_h=no
|
||||||
|
|
||||||
|
--enable-shared
|
||||||
|
--without-static-libpython
|
||||||
|
--enable-ipv6
|
||||||
|
--infodir='${prefix}/share/info'
|
||||||
|
--mandir='${prefix}/share/man'
|
||||||
|
--with-computed-gotos
|
||||||
|
--with-dbmliborder="${dbmliborder}"
|
||||||
|
--with-libc=
|
||||||
|
--enable-loadable-sqlite-extensions
|
||||||
|
--without-ensurepip
|
||||||
|
--without-lto
|
||||||
|
--with-system-expat
|
||||||
|
--with-system-libmpdec
|
||||||
|
--with-platlibdir=lib
|
||||||
|
--with-pkg-config=yes
|
||||||
|
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
|
||||||
|
|
||||||
|
$(use_with debug assertions)
|
||||||
|
$(use_enable pgo optimizations)
|
||||||
|
$(use_with readline readline "$(usex libedit editline readline)")
|
||||||
|
$(use_with valgrind)
|
||||||
|
)
|
||||||
|
|
||||||
|
# https://bugs.gentoo.org/700012
|
||||||
|
if tc-is-lto; then
|
||||||
|
append-cflags $(test-flags-CC -ffat-lto-objects)
|
||||||
|
myeconfargs+=(
|
||||||
|
--with-lto
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Force-disable modules we don't want built.
|
||||||
|
# See Modules/Setup for docs on how this works. Setup.local contains our local deviations.
|
||||||
|
cat > Modules/Setup.local <<-EOF || die
|
||||||
|
*disabled*
|
||||||
|
nis
|
||||||
|
$(usev !gdbm '_gdbm _dbm')
|
||||||
|
$(usev !sqlite '_sqlite3')
|
||||||
|
$(usev !ssl '_hashlib _ssl')
|
||||||
|
$(usev !ncurses '_curses _curses_panel')
|
||||||
|
$(usev !readline 'readline')
|
||||||
|
$(usev !tk '_tkinter')
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# disable implicit optimization/debugging flags
|
||||||
|
local -x OPT=
|
||||||
|
|
||||||
|
if tc-is-cross-compiler ; then
|
||||||
|
build_cbuild_python
|
||||||
|
myeconfargs+=(
|
||||||
|
# Point the imminent CHOST build to the Python we just
|
||||||
|
# built for CBUILD.
|
||||||
|
--with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||||
|
# propagated to sysconfig for built extensions
|
||||||
|
local -x CFLAGS_NODIST=${CFLAGS}
|
||||||
|
local -x LDFLAGS_NODIST=${LDFLAGS}
|
||||||
|
local -x CFLAGS= LDFLAGS=
|
||||||
|
|
||||||
|
# Fix implicit declarations on cross and prefix builds. Bug #674070.
|
||||||
|
if use ncurses; then
|
||||||
|
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
|
||||||
|
fi
|
||||||
|
|
||||||
|
econf "${myeconfargs[@]}"
|
||||||
|
|
||||||
|
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
|
||||||
|
eerror "configure has detected that the sem_open function is broken."
|
||||||
|
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
|
||||||
|
die "Broken sem_open function (bug 496328)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# install epython.py as part of stdlib
|
||||||
|
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
# Ensure sed works as expected
|
||||||
|
# https://bugs.gentoo.org/594768
|
||||||
|
local -x LC_ALL=C
|
||||||
|
export PYTHONSTRICTEXTENSIONBUILD=1
|
||||||
|
|
||||||
|
# Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
|
||||||
|
# end up writing bytecode & violating sandbox.
|
||||||
|
# bug #831897
|
||||||
|
local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
|
||||||
|
|
||||||
|
if use pgo ; then
|
||||||
|
# bug 660358
|
||||||
|
local -x COLUMNS=80
|
||||||
|
local -x PYTHONDONTWRITEBYTECODE=
|
||||||
|
|
||||||
|
addpredict "/usr/lib/python${PYVER}/site-packages"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# also need to clear the flags explicitly here or they end up
|
||||||
|
# in _sysconfigdata*
|
||||||
|
emake CPPFLAGS= CFLAGS= LDFLAGS=
|
||||||
|
|
||||||
|
# Restore saved value from above.
|
||||||
|
local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
|
||||||
|
|
||||||
|
# Work around bug 329499. See also bug 413751 and 457194.
|
||||||
|
if has_version dev-libs/libffi[pax-kernel]; then
|
||||||
|
pax-mark E python
|
||||||
|
else
|
||||||
|
pax-mark m python
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
# Tests will not work when cross compiling.
|
||||||
|
if tc-is-cross-compiler; then
|
||||||
|
elog "Disabling tests due to crosscompiling."
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# this just happens to skip test_support.test_freeze that is broken
|
||||||
|
# without bundled expat
|
||||||
|
# TODO: get a proper skip for it upstream
|
||||||
|
local -x LOGNAME=buildbot
|
||||||
|
|
||||||
|
local test_opts=(
|
||||||
|
-u-network
|
||||||
|
-j "$(makeopts_jobs)"
|
||||||
|
|
||||||
|
# fails
|
||||||
|
-x test_concurrent_futures
|
||||||
|
-x test_gdb
|
||||||
|
)
|
||||||
|
|
||||||
|
if use sparc ; then
|
||||||
|
# bug #788022
|
||||||
|
test_opts+=(
|
||||||
|
-x test_multiprocessing_fork
|
||||||
|
-x test_multiprocessing_forkserver
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# musl-specific skips
|
||||||
|
use elibc_musl && test_opts+=(
|
||||||
|
# various musl locale deficiencies
|
||||||
|
-x test__locale
|
||||||
|
-x test_c_locale_coercion
|
||||||
|
-x test_locale
|
||||||
|
-x test_re
|
||||||
|
|
||||||
|
# known issues with find_library on musl
|
||||||
|
# https://bugs.python.org/issue21622
|
||||||
|
-x test_ctypes
|
||||||
|
|
||||||
|
# fpathconf, ttyname errno values
|
||||||
|
-x test_os
|
||||||
|
)
|
||||||
|
|
||||||
|
# workaround docutils breaking tests
|
||||||
|
cat > Lib/docutils.py <<-EOF || die
|
||||||
|
raise ImportError("Thou shalt not import!")
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# bug 660358
|
||||||
|
local -x COLUMNS=80
|
||||||
|
local -x PYTHONDONTWRITEBYTECODE=
|
||||||
|
# workaround https://bugs.gentoo.org/775416
|
||||||
|
addwrite "/usr/lib/python${PYVER}/site-packages"
|
||||||
|
|
||||||
|
nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \
|
||||||
|
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
|
||||||
|
local ret=${?}
|
||||||
|
|
||||||
|
rm Lib/docutils.py || die
|
||||||
|
|
||||||
|
[[ ${ret} -eq 0 ]] || die "emake test failed"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
local libdir=${ED}/usr/lib/python${PYVER}
|
||||||
|
|
||||||
|
# the Makefile rules are broken
|
||||||
|
# https://github.com/python/cpython/issues/100221
|
||||||
|
mkdir -p "${libdir}"/lib-dynload || die
|
||||||
|
|
||||||
|
# -j1 hack for now for bug #843458
|
||||||
|
emake -j1 DESTDIR="${D}" altinstall
|
||||||
|
|
||||||
|
# Fix collisions between different slots of Python.
|
||||||
|
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
|
||||||
|
|
||||||
|
# Cheap hack to get version with ABIFLAGS
|
||||||
|
local abiver=$(cd "${ED}/usr/include"; echo python*)
|
||||||
|
if [[ ${abiver} != python${PYVER} ]]; then
|
||||||
|
# Replace python3.X with a symlink to python3.Xm
|
||||||
|
rm "${ED}/usr/bin/python${PYVER}" || die
|
||||||
|
dosym "${abiver}" "/usr/bin/python${PYVER}"
|
||||||
|
# Create python3.X-config symlink
|
||||||
|
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
|
||||||
|
# Create python-3.5m.pc symlink
|
||||||
|
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# python seems to get rebuilt in src_install (bug 569908)
|
||||||
|
# Work around it for now.
|
||||||
|
if has_version dev-libs/libffi[pax-kernel]; then
|
||||||
|
pax-mark E "${ED}/usr/bin/${abiver}"
|
||||||
|
else
|
||||||
|
pax-mark m "${ED}/usr/bin/${abiver}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -r "${libdir}"/ensurepip/_bundled || die
|
||||||
|
if ! use ensurepip; then
|
||||||
|
rm -r "${libdir}"/ensurepip || die
|
||||||
|
fi
|
||||||
|
if ! use sqlite; then
|
||||||
|
rm -r "${libdir}/"sqlite3 || die
|
||||||
|
fi
|
||||||
|
if ! use tk; then
|
||||||
|
rm -r "${ED}/usr/bin/idle${PYVER}" || die
|
||||||
|
rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die
|
||||||
|
|
||||||
|
dodoc Misc/{ACKS,HISTORY,NEWS}
|
||||||
|
|
||||||
|
if use examples; then
|
||||||
|
docinto examples
|
||||||
|
find Tools -name __pycache__ -exec rm -fr {} + || die
|
||||||
|
dodoc -r Tools
|
||||||
|
fi
|
||||||
|
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
|
||||||
|
local libname=$(
|
||||||
|
printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
|
||||||
|
emake --no-print-directory -s -f - 2>/dev/null
|
||||||
|
)
|
||||||
|
newins Tools/gdb/libpython.py "${libname}"-gdb.py
|
||||||
|
|
||||||
|
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
|
||||||
|
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
|
||||||
|
sed \
|
||||||
|
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
|
||||||
|
-e "s:@PYDOC@:pydoc${PYVER}:" \
|
||||||
|
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
|
||||||
|
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
|
||||||
|
|
||||||
|
# python-exec wrapping support
|
||||||
|
local pymajor=${PYVER%.*}
|
||||||
|
local EPYTHON=python${PYVER}
|
||||||
|
local scriptdir=${D}$(python_get_scriptdir)
|
||||||
|
mkdir -p "${scriptdir}" || die
|
||||||
|
# python and pythonX
|
||||||
|
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
|
||||||
|
ln -s "python${pymajor}" "${scriptdir}/python" || die
|
||||||
|
# python-config and pythonX-config
|
||||||
|
# note: we need to create a wrapper rather than symlinking it due
|
||||||
|
# to some random dirname(argv[0]) magic performed by python-config
|
||||||
|
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
|
||||||
|
#!/bin/sh
|
||||||
|
exec "${abiver}-config" "\${@}"
|
||||||
|
EOF
|
||||||
|
chmod +x "${scriptdir}/python${pymajor}-config" || die
|
||||||
|
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
|
||||||
|
# 2to3, pydoc
|
||||||
|
ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
|
||||||
|
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
|
||||||
|
# idle
|
||||||
|
if use tk; then
|
||||||
|
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
|
||||||
|
fi
|
||||||
|
}
|
659
sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta3_p1.ebuild
vendored
Normal file
659
sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_beta3_p1.ebuild
vendored
Normal file
@ -0,0 +1,659 @@
|
|||||||
|
# Copyright 1999-2024 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI="8"
|
||||||
|
|
||||||
|
LLVM_COMPAT=( 18 )
|
||||||
|
LLVM_OPTIONAL=1
|
||||||
|
WANT_LIBTOOL="none"
|
||||||
|
|
||||||
|
inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing
|
||||||
|
inherit pax-utils python-utils-r1 toolchain-funcs verify-sig
|
||||||
|
|
||||||
|
MY_PV=${PV/_beta/b}
|
||||||
|
MY_P="Python-${MY_PV%_p*}"
|
||||||
|
PYVER=$(ver_cut 1-2)
|
||||||
|
PATCHSET="python-gentoo-patches-${MY_PV}"
|
||||||
|
|
||||||
|
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
|
||||||
|
HOMEPAGE="
|
||||||
|
https://www.python.org/
|
||||||
|
https://github.com/python/cpython/
|
||||||
|
"
|
||||||
|
SRC_URI="
|
||||||
|
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
|
||||||
|
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
|
||||||
|
verify-sig? (
|
||||||
|
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
|
||||||
|
)
|
||||||
|
"
|
||||||
|
S="${WORKDIR}/${MY_P}"
|
||||||
|
|
||||||
|
LICENSE="PSF-2"
|
||||||
|
SLOT="${PYVER}"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||||
|
IUSE="
|
||||||
|
bluetooth build +debug +ensurepip examples gdbm +gil jit
|
||||||
|
libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind
|
||||||
|
"
|
||||||
|
REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )"
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
# Do not add a dependency on dev-lang/python to this ebuild.
|
||||||
|
# If you need to apply a patch which requires python for bootstrapping, please
|
||||||
|
# run the bootstrap code on your dev box and include the results in the
|
||||||
|
# patchset. See bug 447752.
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
app-arch/bzip2:=
|
||||||
|
app-arch/xz-utils:=
|
||||||
|
app-crypt/libb2
|
||||||
|
>=dev-libs/expat-2.1:=
|
||||||
|
dev-libs/libffi:=
|
||||||
|
dev-libs/mpdecimal:=
|
||||||
|
dev-python/gentoo-common
|
||||||
|
>=sys-libs/zlib-1.1.3:=
|
||||||
|
virtual/libcrypt:=
|
||||||
|
virtual/libintl
|
||||||
|
ensurepip? ( dev-python/ensurepip-pip )
|
||||||
|
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||||
|
kernel_linux? ( sys-apps/util-linux:= )
|
||||||
|
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||||
|
readline? (
|
||||||
|
!libedit? ( >=sys-libs/readline-4.1:= )
|
||||||
|
libedit? ( dev-libs/libedit:= )
|
||||||
|
)
|
||||||
|
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
|
||||||
|
ssl? ( >=dev-libs/openssl-1.1.1:= )
|
||||||
|
tk? (
|
||||||
|
>=dev-lang/tcl-8.0:=
|
||||||
|
>=dev-lang/tk-8.0:=
|
||||||
|
dev-tcltk/blt:=
|
||||||
|
dev-tcltk/tix
|
||||||
|
)
|
||||||
|
"
|
||||||
|
# bluetooth requires headers from bluez
|
||||||
|
DEPEND="
|
||||||
|
${RDEPEND}
|
||||||
|
bluetooth? ( net-wireless/bluez )
|
||||||
|
test? (
|
||||||
|
app-arch/xz-utils
|
||||||
|
dev-python/ensurepip-pip
|
||||||
|
dev-python/ensurepip-setuptools
|
||||||
|
dev-python/ensurepip-wheel
|
||||||
|
)
|
||||||
|
valgrind? ( dev-debug/valgrind )
|
||||||
|
"
|
||||||
|
# autoconf-archive needed to eautoreconf
|
||||||
|
BDEPEND="
|
||||||
|
dev-build/autoconf-archive
|
||||||
|
app-alternatives/awk
|
||||||
|
virtual/pkgconfig
|
||||||
|
jit? (
|
||||||
|
$(llvm_gen_dep '
|
||||||
|
sys-devel/clang:${LLVM_SLOT}
|
||||||
|
sys-devel/llvm:${LLVM_SLOT}
|
||||||
|
')
|
||||||
|
)
|
||||||
|
verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
|
||||||
|
"
|
||||||
|
RDEPEND+="
|
||||||
|
!build? ( app-misc/mime-types )
|
||||||
|
"
|
||||||
|
if [[ ${PV} != *_alpha* ]]; then
|
||||||
|
RDEPEND+="
|
||||||
|
dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
|
||||||
|
"
|
||||||
|
fi
|
||||||
|
|
||||||
|
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
|
||||||
|
|
||||||
|
# large file tests involve a 2.5G file being copied (duplicated)
|
||||||
|
CHECKREQS_DISK_BUILD=5500M
|
||||||
|
|
||||||
|
QA_PKGCONFIG_VERSION=${PYVER}
|
||||||
|
# false positives -- functions specific to *BSD
|
||||||
|
QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags )
|
||||||
|
|
||||||
|
pkg_pretend() {
|
||||||
|
use test && check-reqs_pkg_pretend
|
||||||
|
|
||||||
|
if ! use gil || use jit; then
|
||||||
|
ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using"
|
||||||
|
ewarn "them could lead to unexpected breakage, including race conditions"
|
||||||
|
ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless"
|
||||||
|
ewarn "you can reproduce the problem with dev-lang/python[gil,-jit]. Instead,"
|
||||||
|
ewarn "please consider reporting freethreading / JIT problems upstream."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
use jit && llvm-r1_pkg_setup
|
||||||
|
use test && check-reqs_pkg_setup
|
||||||
|
}
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
if use verify-sig; then
|
||||||
|
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
|
||||||
|
fi
|
||||||
|
default
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
# Ensure that internal copies of expat and libffi are not used.
|
||||||
|
# TODO: Makefile has annoying deps on expat headers
|
||||||
|
#rm -r Modules/expat || die
|
||||||
|
|
||||||
|
local PATCHES=(
|
||||||
|
"${WORKDIR}/${PATCHSET}"
|
||||||
|
)
|
||||||
|
|
||||||
|
default
|
||||||
|
|
||||||
|
# force the correct number of jobs
|
||||||
|
# https://bugs.gentoo.org/737660
|
||||||
|
sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die
|
||||||
|
|
||||||
|
# breaks tests when using --with-wheel-pkg-dir
|
||||||
|
rm -r Lib/test/wheeldata || die
|
||||||
|
|
||||||
|
eautoreconf
|
||||||
|
}
|
||||||
|
|
||||||
|
build_cbuild_python() {
|
||||||
|
# Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
|
||||||
|
local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
|
||||||
|
|
||||||
|
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||||
|
# propagated to sysconfig for built extensions
|
||||||
|
#
|
||||||
|
# -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway)
|
||||||
|
local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto"
|
||||||
|
local -x LDFLAGS_NODIST=${BUILD_LDFLAGS}
|
||||||
|
local -x CFLAGS= LDFLAGS=
|
||||||
|
local -x BUILD_CFLAGS="${CFLAGS_NODIST}"
|
||||||
|
local -x BUILD_LDFLAGS=${LDFLAGS_NODIST}
|
||||||
|
|
||||||
|
# We need to build our own Python on CBUILD first, and feed it in.
|
||||||
|
# bug #847910
|
||||||
|
local myeconfargs_cbuild=(
|
||||||
|
"${myeconfargs[@]}"
|
||||||
|
|
||||||
|
--prefix="${BROOT}"/usr
|
||||||
|
--libdir="${cbuild_libdir:2}"
|
||||||
|
|
||||||
|
# Avoid needing to load the right libpython.so.
|
||||||
|
--disable-shared
|
||||||
|
|
||||||
|
# As minimal as possible for the mini CBUILD Python
|
||||||
|
# we build just for cross to satisfy --with-build-python.
|
||||||
|
--without-lto
|
||||||
|
--without-readline
|
||||||
|
--disable-optimizations
|
||||||
|
)
|
||||||
|
|
||||||
|
mkdir "${WORKDIR}"/${P}-${CBUILD} || die
|
||||||
|
pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
|
||||||
|
|
||||||
|
# Avoid as many dependencies as possible for the cross build.
|
||||||
|
mkdir Modules || die
|
||||||
|
cat > Modules/Setup.local <<-EOF || die
|
||||||
|
*disabled*
|
||||||
|
nis
|
||||||
|
_dbm _gdbm
|
||||||
|
_sqlite3
|
||||||
|
_hashlib _ssl
|
||||||
|
_curses _curses_panel
|
||||||
|
readline
|
||||||
|
_tkinter
|
||||||
|
pyexpat
|
||||||
|
zlib
|
||||||
|
# We disabled these for CBUILD because Python's setup.py can't handle locating
|
||||||
|
# libdir correctly for cross. This should be rechecked for the pure Makefile approach,
|
||||||
|
# and uncommented if needed.
|
||||||
|
#_ctypes _crypt
|
||||||
|
EOF
|
||||||
|
|
||||||
|
ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
|
||||||
|
|
||||||
|
# Unfortunately, we do have to build this immediately, and
|
||||||
|
# not in src_compile, because CHOST configure for Python
|
||||||
|
# will check the existence of the --with-build-python value
|
||||||
|
# immediately.
|
||||||
|
emake
|
||||||
|
popd &> /dev/null || die
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
# disable automagic bluetooth headers detection
|
||||||
|
if ! use bluetooth; then
|
||||||
|
local -x ac_cv_header_bluetooth_bluetooth_h=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
append-flags -fwrapv
|
||||||
|
filter-flags -malign-double
|
||||||
|
|
||||||
|
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
|
||||||
|
# PKG_CONFIG needed for cross.
|
||||||
|
tc-export CXX PKG_CONFIG
|
||||||
|
|
||||||
|
local dbmliborder=
|
||||||
|
if use gdbm; then
|
||||||
|
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set baseline test skip flags.
|
||||||
|
COMMON_TEST_SKIPS=(
|
||||||
|
# failures
|
||||||
|
-x test_concurrent_futures
|
||||||
|
-x test_gdb
|
||||||
|
# test_asyncio_repl_is_ok is flaky
|
||||||
|
# https://github.com/python/cpython/issues/119909
|
||||||
|
-x test_repl
|
||||||
|
)
|
||||||
|
|
||||||
|
# Arch-specific skips. See #931888 for a collection of these.
|
||||||
|
case ${CHOST} in
|
||||||
|
alpha*)
|
||||||
|
COMMON_TEST_SKIPS+=(
|
||||||
|
-x test_builtin
|
||||||
|
-x test_capi
|
||||||
|
-x test_cmath
|
||||||
|
-x test_float
|
||||||
|
# timeout
|
||||||
|
-x test_free_threading
|
||||||
|
-x test_math
|
||||||
|
-x test_numeric_tower
|
||||||
|
-x test_random
|
||||||
|
-x test_statistics
|
||||||
|
# bug 653850
|
||||||
|
-x test_resource
|
||||||
|
-x test_strtod
|
||||||
|
)
|
||||||
|
;;
|
||||||
|
ia64*)
|
||||||
|
COMMON_TEST_SKIPS+=(
|
||||||
|
-x test_ctypes
|
||||||
|
-x test_external_inspection
|
||||||
|
)
|
||||||
|
;;
|
||||||
|
mips*)
|
||||||
|
COMMON_TEST_SKIPS+=(
|
||||||
|
-x test_ctypes
|
||||||
|
-x test_external_inspection
|
||||||
|
-x test_statistics
|
||||||
|
)
|
||||||
|
;;
|
||||||
|
powerpc64-*) # big endian
|
||||||
|
COMMON_TEST_SKIPS+=(
|
||||||
|
-x test_descr
|
||||||
|
)
|
||||||
|
;;
|
||||||
|
riscv*)
|
||||||
|
COMMON_TEST_SKIPS+=(
|
||||||
|
-x test_urllib2
|
||||||
|
)
|
||||||
|
;;
|
||||||
|
sparc*)
|
||||||
|
COMMON_TEST_SKIPS+=(
|
||||||
|
# bug 788022
|
||||||
|
-x test_multiprocessing_fork
|
||||||
|
-x test_multiprocessing_forkserver
|
||||||
|
|
||||||
|
-x test_ctypes
|
||||||
|
-x test_descr
|
||||||
|
# bug 931908
|
||||||
|
-x test_exceptions
|
||||||
|
)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# musl-specific skips
|
||||||
|
use elibc_musl && COMMON_TEST_SKIPS+=(
|
||||||
|
# various musl locale deficiencies
|
||||||
|
-x test__locale
|
||||||
|
-x test_c_locale_coercion
|
||||||
|
-x test_locale
|
||||||
|
-x test_re
|
||||||
|
|
||||||
|
# known issues with find_library on musl
|
||||||
|
# https://bugs.python.org/issue21622
|
||||||
|
-x test_ctypes
|
||||||
|
|
||||||
|
# fpathconf, ttyname errno values
|
||||||
|
-x test_os
|
||||||
|
)
|
||||||
|
|
||||||
|
if use pgo; then
|
||||||
|
local profile_task_flags=(
|
||||||
|
-m test
|
||||||
|
"-j$(makeopts_jobs)"
|
||||||
|
--pgo-extended
|
||||||
|
--verbose3
|
||||||
|
-u-network
|
||||||
|
|
||||||
|
# We use a timeout because of how often we've had hang issues
|
||||||
|
# here. It also matches the default upstream PROFILE_TASK.
|
||||||
|
--timeout 1200
|
||||||
|
|
||||||
|
"${COMMON_TEST_SKIPS[@]}"
|
||||||
|
|
||||||
|
-x test_dtrace
|
||||||
|
|
||||||
|
# All of these seem to occasionally hang for PGO inconsistently
|
||||||
|
# They'll even hang here but be fine in src_test sometimes.
|
||||||
|
# bug #828535 (and related: bug #788022)
|
||||||
|
-x test_asyncio
|
||||||
|
-x test_httpservers
|
||||||
|
-x test_logging
|
||||||
|
-x test_multiprocessing_fork
|
||||||
|
-x test_socket
|
||||||
|
-x test_xmlrpc
|
||||||
|
|
||||||
|
# Hangs (actually runs indefinitely executing itself w/ many cpython builds)
|
||||||
|
# bug #900429
|
||||||
|
-x test_tools
|
||||||
|
|
||||||
|
# Fails in profiling run, passes in src_test().
|
||||||
|
-x test_capi
|
||||||
|
)
|
||||||
|
|
||||||
|
# Arch-specific skips. See #931888 for a collection of these.
|
||||||
|
case ${CHOST} in
|
||||||
|
alpha*)
|
||||||
|
profile_task_flags+=(
|
||||||
|
-x test_os
|
||||||
|
)
|
||||||
|
;;
|
||||||
|
hppa*)
|
||||||
|
profile_task_flags+=(
|
||||||
|
-x test_descr
|
||||||
|
# bug 931908
|
||||||
|
-x test_exceptions
|
||||||
|
-x test_os
|
||||||
|
)
|
||||||
|
;;
|
||||||
|
ia64*)
|
||||||
|
profile_task_flags+=(
|
||||||
|
-x test_signal
|
||||||
|
)
|
||||||
|
;;
|
||||||
|
powerpc64-*) # big endian
|
||||||
|
profile_task_flags+=(
|
||||||
|
# bug 931908
|
||||||
|
-x test_exceptions
|
||||||
|
)
|
||||||
|
;;
|
||||||
|
riscv*)
|
||||||
|
profile_task_flags+=(
|
||||||
|
-x test_statistics
|
||||||
|
)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if has_version "app-arch/rpm" ; then
|
||||||
|
# Avoid sandbox failure (attempts to write to /var/lib/rpm)
|
||||||
|
profile_task_flags+=(
|
||||||
|
-x test_distutils
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
local -x PROFILE_TASK="${profile_task_flags[*]}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
local myeconfargs=(
|
||||||
|
# glibc-2.30 removes it; since we can't cleanly force-rebuild
|
||||||
|
# Python on glibc upgrade, remove it proactively to give
|
||||||
|
# a chance for users rebuilding python before glibc
|
||||||
|
ac_cv_header_stropts_h=no
|
||||||
|
|
||||||
|
--enable-shared
|
||||||
|
--without-static-libpython
|
||||||
|
--enable-ipv6
|
||||||
|
--infodir='${prefix}/share/info'
|
||||||
|
--mandir='${prefix}/share/man'
|
||||||
|
--with-computed-gotos
|
||||||
|
--with-dbmliborder="${dbmliborder}"
|
||||||
|
--with-libc=
|
||||||
|
--enable-loadable-sqlite-extensions
|
||||||
|
--without-ensurepip
|
||||||
|
--without-lto
|
||||||
|
--with-system-expat
|
||||||
|
--with-system-libmpdec
|
||||||
|
--with-platlibdir=lib
|
||||||
|
--with-pkg-config=yes
|
||||||
|
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
|
||||||
|
|
||||||
|
$(use_with debug assertions)
|
||||||
|
$(use_enable gil)
|
||||||
|
$(use_enable jit experimental-jit)
|
||||||
|
$(use_enable pgo optimizations)
|
||||||
|
$(use_with readline readline "$(usex libedit editline readline)")
|
||||||
|
$(use_with valgrind)
|
||||||
|
)
|
||||||
|
|
||||||
|
# https://bugs.gentoo.org/700012
|
||||||
|
if tc-is-lto; then
|
||||||
|
append-cflags $(test-flags-CC -ffat-lto-objects)
|
||||||
|
myeconfargs+=(
|
||||||
|
--with-lto
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Force-disable modules we don't want built.
|
||||||
|
# See Modules/Setup for docs on how this works. Setup.local contains our local deviations.
|
||||||
|
cat > Modules/Setup.local <<-EOF || die
|
||||||
|
*disabled*
|
||||||
|
nis
|
||||||
|
$(usev !gdbm '_gdbm _dbm')
|
||||||
|
$(usev !sqlite '_sqlite3')
|
||||||
|
$(usev !ssl '_hashlib _ssl')
|
||||||
|
$(usev !ncurses '_curses _curses_panel')
|
||||||
|
$(usev !readline 'readline')
|
||||||
|
$(usev !tk '_tkinter')
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# disable implicit optimization/debugging flags
|
||||||
|
local -x OPT=
|
||||||
|
|
||||||
|
if tc-is-cross-compiler ; then
|
||||||
|
build_cbuild_python
|
||||||
|
myeconfargs+=(
|
||||||
|
# Point the imminent CHOST build to the Python we just
|
||||||
|
# built for CBUILD.
|
||||||
|
--with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||||
|
# propagated to sysconfig for built extensions
|
||||||
|
local -x CFLAGS_NODIST=${CFLAGS}
|
||||||
|
local -x LDFLAGS_NODIST=${LDFLAGS}
|
||||||
|
local -x CFLAGS= LDFLAGS=
|
||||||
|
|
||||||
|
# Fix implicit declarations on cross and prefix builds. Bug #674070.
|
||||||
|
if use ncurses; then
|
||||||
|
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
|
||||||
|
fi
|
||||||
|
|
||||||
|
econf "${myeconfargs[@]}"
|
||||||
|
|
||||||
|
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
|
||||||
|
eerror "configure has detected that the sem_open function is broken."
|
||||||
|
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
|
||||||
|
die "Broken sem_open function (bug 496328)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# install epython.py as part of stdlib
|
||||||
|
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
# Ensure sed works as expected
|
||||||
|
# https://bugs.gentoo.org/594768
|
||||||
|
local -x LC_ALL=C
|
||||||
|
export PYTHONSTRICTEXTENSIONBUILD=1
|
||||||
|
|
||||||
|
# Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
|
||||||
|
# end up writing bytecode & violating sandbox.
|
||||||
|
# bug #831897
|
||||||
|
local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
|
||||||
|
|
||||||
|
# Gentoo hack to disable accessing system site-packages
|
||||||
|
export GENTOO_CPYTHON_BUILD=1
|
||||||
|
|
||||||
|
if use pgo ; then
|
||||||
|
# bug 660358
|
||||||
|
local -x COLUMNS=80
|
||||||
|
local -x PYTHONDONTWRITEBYTECODE=
|
||||||
|
fi
|
||||||
|
|
||||||
|
# also need to clear the flags explicitly here or they end up
|
||||||
|
# in _sysconfigdata*
|
||||||
|
emake CPPFLAGS= CFLAGS= LDFLAGS=
|
||||||
|
|
||||||
|
# Restore saved value from above.
|
||||||
|
local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
|
||||||
|
|
||||||
|
# Work around bug 329499. See also bug 413751 and 457194.
|
||||||
|
if has_version dev-libs/libffi[pax-kernel]; then
|
||||||
|
pax-mark E python
|
||||||
|
else
|
||||||
|
pax-mark m python
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
# Tests will not work when cross compiling.
|
||||||
|
if tc-is-cross-compiler; then
|
||||||
|
elog "Disabling tests due to crosscompiling."
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# this just happens to skip test_support.test_freeze that is broken
|
||||||
|
# without bundled expat
|
||||||
|
# TODO: get a proper skip for it upstream
|
||||||
|
local -x LOGNAME=buildbot
|
||||||
|
|
||||||
|
local test_opts=(
|
||||||
|
--verbose3
|
||||||
|
-u-network
|
||||||
|
-j "$(makeopts_jobs)"
|
||||||
|
"${COMMON_TEST_SKIPS[@]}"
|
||||||
|
)
|
||||||
|
|
||||||
|
# bug 660358
|
||||||
|
local -x COLUMNS=80
|
||||||
|
local -x PYTHONDONTWRITEBYTECODE=
|
||||||
|
|
||||||
|
nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \
|
||||||
|
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
|
||||||
|
local ret=${?}
|
||||||
|
|
||||||
|
[[ ${ret} -eq 0 ]] || die "emake test failed"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
local libdir=${ED}/usr/lib/python${PYVER}
|
||||||
|
|
||||||
|
# -j1 hack for now for bug #843458
|
||||||
|
emake -j1 DESTDIR="${D}" altinstall
|
||||||
|
|
||||||
|
# Fix collisions between different slots of Python.
|
||||||
|
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
|
||||||
|
|
||||||
|
# Cheap hack to get version with ABIFLAGS
|
||||||
|
local abiver=$(cd "${ED}/usr/include"; echo python*)
|
||||||
|
if [[ ${abiver} != python${PYVER} ]]; then
|
||||||
|
# Replace python3.X with a symlink to python3.Xm
|
||||||
|
rm "${ED}/usr/bin/python${PYVER}" || die
|
||||||
|
dosym "${abiver}" "/usr/bin/python${PYVER}"
|
||||||
|
# Create python3.X-config symlink
|
||||||
|
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
|
||||||
|
# Create python-3.5m.pc symlink
|
||||||
|
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# python seems to get rebuilt in src_install (bug 569908)
|
||||||
|
# Work around it for now.
|
||||||
|
if has_version dev-libs/libffi[pax-kernel]; then
|
||||||
|
pax-mark E "${ED}/usr/bin/${abiver}"
|
||||||
|
else
|
||||||
|
pax-mark m "${ED}/usr/bin/${abiver}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -r "${libdir}"/ensurepip/_bundled || die
|
||||||
|
if ! use ensurepip; then
|
||||||
|
rm -r "${libdir}"/ensurepip || die
|
||||||
|
fi
|
||||||
|
if ! use sqlite; then
|
||||||
|
rm -r "${libdir}/"sqlite3 || die
|
||||||
|
fi
|
||||||
|
if ! use tk; then
|
||||||
|
rm -r "${ED}/usr/bin/idle${PYVER}" || die
|
||||||
|
rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die
|
||||||
|
|
||||||
|
dodoc Misc/{ACKS,HISTORY,NEWS}
|
||||||
|
|
||||||
|
if use examples; then
|
||||||
|
docinto examples
|
||||||
|
find Tools -name __pycache__ -exec rm -fr {} + || die
|
||||||
|
dodoc -r Tools
|
||||||
|
fi
|
||||||
|
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
|
||||||
|
local libname=$(
|
||||||
|
printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
|
||||||
|
emake --no-print-directory -s -f - 2>/dev/null
|
||||||
|
)
|
||||||
|
newins Tools/gdb/libpython.py "${libname}"-gdb.py
|
||||||
|
|
||||||
|
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
|
||||||
|
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
|
||||||
|
sed \
|
||||||
|
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
|
||||||
|
-e "s:@PYDOC@:pydoc${PYVER}:" \
|
||||||
|
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
|
||||||
|
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
|
||||||
|
|
||||||
|
# python-exec wrapping support
|
||||||
|
local pymajor=${PYVER%.*}
|
||||||
|
local EPYTHON=python${PYVER}
|
||||||
|
local scriptdir=${D}$(python_get_scriptdir)
|
||||||
|
mkdir -p "${scriptdir}" || die
|
||||||
|
# python and pythonX
|
||||||
|
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
|
||||||
|
ln -s "python${pymajor}" "${scriptdir}/python" || die
|
||||||
|
# python-config and pythonX-config
|
||||||
|
# note: we need to create a wrapper rather than symlinking it due
|
||||||
|
# to some random dirname(argv[0]) magic performed by python-config
|
||||||
|
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
|
||||||
|
#!/bin/sh
|
||||||
|
exec "${abiver}-config" "\${@}"
|
||||||
|
EOF
|
||||||
|
chmod +x "${scriptdir}/python${pymajor}-config" || die
|
||||||
|
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
|
||||||
|
# pydoc
|
||||||
|
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
|
||||||
|
# idle
|
||||||
|
if use tk; then
|
||||||
|
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
local v
|
||||||
|
for v in ${REPLACING_VERSIONS}; do
|
||||||
|
if ver_test "${v}" -lt 3.13.0_beta2; then
|
||||||
|
ewarn "Python 3.13.0b2 has changed its module ABI. The .pyc files"
|
||||||
|
ewarn "installed previously are no longer valid and will be regenerated"
|
||||||
|
ewarn "(or ignored) on the next import. This may cause sandbox failures"
|
||||||
|
ewarn "when installing some packages and checksum mismatches when removing"
|
||||||
|
ewarn "old versions. To actively prevent this, rebuild all packages"
|
||||||
|
ewarn "installing Python 3.13 modules, e.g. using:"
|
||||||
|
ewarn
|
||||||
|
ewarn " emerge -1v /usr/lib/python3.13/site-packages"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
@ -11,7 +11,7 @@ SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
|
|||||||
|
|
||||||
LICENSE="GPL-3+ BSD BSD-2"
|
LICENSE="GPL-3+ BSD BSD-2"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
IUSE="ccache doc pcre test"
|
IUSE="ccache doc pcre test"
|
||||||
RESTRICT="!test? ( test )"
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
@ -1,2 +1 @@
|
|||||||
DIST cJSON-1.7.17.tar.gz 353748 BLAKE2B 11d47bebc4b6b3a8115234706f1b35af0f450725c2ee36aaf563a5d44e20a7bc0e2b83aaf15aeea3146bdad7467e96bf7d6edcd79ad4f3e5a9ffe40f002cf8d5 SHA512 4feebafa5225297fa3e6a7bf23f8d31b5c3e172f437078c5a07528522ad58ca2e9c72dd9e8611241d2b8321e9aa0a1a9af7743689d1c2001d1d9cb624aae6fa8
|
|
||||||
DIST cJSON-1.7.18.tar.gz 354726 BLAKE2B 293c483ed39028a23a49994698be69de16274500298893711d5767c381f51802c52f4981e074b26fd9174c186f9874fdc1811f49272c1b90f8fb82a1a315db60 SHA512 2accb507c6b97222eb5f0232c015b356cf6d248d1247049928731aa8e897378245e62395c232b1ec57d28d1e53ac72c849be85e59c33616a382d40473649f66b
|
DIST cJSON-1.7.18.tar.gz 354726 BLAKE2B 293c483ed39028a23a49994698be69de16274500298893711d5767c381f51802c52f4981e074b26fd9174c186f9874fdc1811f49272c1b90f8fb82a1a315db60 SHA512 2accb507c6b97222eb5f0232c015b356cf6d248d1247049928731aa8e897378245e62395c232b1ec57d28d1e53ac72c849be85e59c33616a382d40473649f66b
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
# Copyright 2021-2024 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
inherit cmake
|
|
||||||
|
|
||||||
DESCRIPTION="Ultralightweight JSON parser in ANSI C"
|
|
||||||
HOMEPAGE="https://github.com/DaveGamble/cJSON"
|
|
||||||
SRC_URI="https://github.com/DaveGamble/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="MIT"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
|
|
||||||
IUSE="test"
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
cmake_src_prepare
|
|
||||||
|
|
||||||
sed -i -e '/-Werror/d' CMakeLists.txt || die
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
local mycmakeargs=(
|
|
||||||
-DENABLE_CJSON_TEST=$(usex test)
|
|
||||||
)
|
|
||||||
|
|
||||||
cmake_src_configure
|
|
||||||
}
|
|
@ -11,7 +11,7 @@ SRC_URI="https://github.com/DaveGamble/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.g
|
|||||||
|
|
||||||
LICENSE="MIT"
|
LICENSE="MIT"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
|
||||||
IUSE="test"
|
IUSE="test"
|
||||||
RESTRICT="!test? ( test )"
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
EAPI=8
|
EAPI=8
|
||||||
PYTHON_REQ_USE="xml(+)"
|
PYTHON_REQ_USE="xml(+)"
|
||||||
PYTHON_COMPAT=( python3_{10..12} )
|
PYTHON_COMPAT=( python3_{10..13} )
|
||||||
|
|
||||||
inherit gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
|
inherit gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
|
||||||
|
|
||||||
@ -16,7 +16,7 @@ IUSE="dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test u
|
|||||||
RESTRICT="!test? ( test )"
|
RESTRICT="!test? ( test )"
|
||||||
REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
|
REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
|
||||||
|
|
||||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
|
|
||||||
# * elfutils (via libelf) does not build on Windows. gresources are not embedded
|
# * elfutils (via libelf) does not build on Windows. gresources are not embedded
|
||||||
# within ELF binaries on that platform anyway and inspecting ELF binaries from
|
# within ELF binaries on that platform anyway and inspecting ELF binaries from
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
EAPI=8
|
EAPI=8
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{10..12} )
|
PYTHON_COMPAT=( python3_{10..13} )
|
||||||
PYTHON_REQ_USE="xml(+)"
|
PYTHON_REQ_USE="xml(+)"
|
||||||
inherit gnome.org meson python-single-r1 xdg
|
inherit gnome.org meson python-single-r1 xdg
|
||||||
|
|
||||||
|
@ -78,6 +78,14 @@ src_prepare() {
|
|||||||
eautoreconf
|
eautoreconf
|
||||||
}
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
# Sensitive to optimisation; parts of the codebase are built with
|
||||||
|
# -O0 already. Don't risk it with UB.
|
||||||
|
strip-flags
|
||||||
|
|
||||||
|
multilib-minimal_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
multilib_src_configure() {
|
multilib_src_configure() {
|
||||||
if [[ ${CHOST} == *86*-solaris* ]] ; then
|
if [[ ${CHOST} == *86*-solaris* ]] ; then
|
||||||
# ASM code uses GNU ELF syntax, divide in particular, we need to
|
# ASM code uses GNU ELF syntax, divide in particular, we need to
|
||||||
|
@ -81,6 +81,14 @@ src_prepare() {
|
|||||||
eautoreconf
|
eautoreconf
|
||||||
}
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
# Sensitive to optimisation; parts of the codebase are built with
|
||||||
|
# -O0 already. Don't risk it with UB.
|
||||||
|
strip-flags
|
||||||
|
|
||||||
|
multilib-minimal_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
multilib_src_configure() {
|
multilib_src_configure() {
|
||||||
if [[ ${CHOST} == *86*-solaris* ]] ; then
|
if [[ ${CHOST} == *86*-solaris* ]] ; then
|
||||||
# ASM code uses GNU ELF syntax, divide in particular, we need to
|
# ASM code uses GNU ELF syntax, divide in particular, we need to
|
||||||
|
@ -84,6 +84,14 @@ src_prepare() {
|
|||||||
eautoreconf
|
eautoreconf
|
||||||
}
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
# Sensitive to optimisation; parts of the codebase are built with
|
||||||
|
# -O0 already. Don't risk it with UB.
|
||||||
|
strip-flags
|
||||||
|
|
||||||
|
multilib-minimal_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
multilib_src_configure() {
|
multilib_src_configure() {
|
||||||
if [[ ${CHOST} == *86*-solaris* ]] ; then
|
if [[ ${CHOST} == *86*-solaris* ]] ; then
|
||||||
# ASM code uses GNU ELF syntax, divide in particular, we need to
|
# ASM code uses GNU ELF syntax, divide in particular, we need to
|
||||||
|
@ -85,6 +85,14 @@ src_prepare() {
|
|||||||
eautoreconf
|
eautoreconf
|
||||||
}
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
# Sensitive to optimisation; parts of the codebase are built with
|
||||||
|
# -O0 already. Don't risk it with UB.
|
||||||
|
strip-flags
|
||||||
|
|
||||||
|
multilib-minimal_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
multilib_src_configure() {
|
multilib_src_configure() {
|
||||||
if [[ ${CHOST} == *86*-solaris* ]] ; then
|
if [[ ${CHOST} == *86*-solaris* ]] ; then
|
||||||
# ASM code uses GNU ELF syntax, divide in particular, we need to
|
# ASM code uses GNU ELF syntax, divide in particular, we need to
|
||||||
|
@ -4,6 +4,7 @@ DIST libxml2-2.12.5.tar.xz 2643452 BLAKE2B b63ade8b18d98701e95b79ac2199bfc4ca89c
|
|||||||
DIST libxml2-2.12.6.tar.xz 2643124 BLAKE2B 677589cf063b109018aafc04a1564242ba1a9d88b2c511f583d4aa511c13aff15254a9d5f6ea2c294902338b0c0207ff59c51298e128981d57f86367ddc1a803 SHA512 19d6901c0f189813e8bd20ffdfbb29d8545ca30154d1f3cc82624d64e4db3cfbe8eef7e8ccc1e195289f1bf94bb50fefcf11a95badb0ddeb845b4e4ea5a819ac
|
DIST libxml2-2.12.6.tar.xz 2643124 BLAKE2B 677589cf063b109018aafc04a1564242ba1a9d88b2c511f583d4aa511c13aff15254a9d5f6ea2c294902338b0c0207ff59c51298e128981d57f86367ddc1a803 SHA512 19d6901c0f189813e8bd20ffdfbb29d8545ca30154d1f3cc82624d64e4db3cfbe8eef7e8ccc1e195289f1bf94bb50fefcf11a95badb0ddeb845b4e4ea5a819ac
|
||||||
DIST libxml2-2.12.7.tar.xz 2641980 BLAKE2B 19abc2a7824212b1de3ceb1e8e3bbb39cb5feb31f8f6e1b1701a8255f34aadbbd01631e8011fd1207d2e711372a893034a99cb4aaa779a1df22d49d339dbfc76 SHA512 88b5f3e0a7c6704926e662a46ba0606d901efbcd70a36bd39fe034e29ee42d66d7296358761e04272c9696192a1380bda55852b2a0b14a05a7a083a08e125f5f
|
DIST libxml2-2.12.7.tar.xz 2641980 BLAKE2B 19abc2a7824212b1de3ceb1e8e3bbb39cb5feb31f8f6e1b1701a8255f34aadbbd01631e8011fd1207d2e711372a893034a99cb4aaa779a1df22d49d339dbfc76 SHA512 88b5f3e0a7c6704926e662a46ba0606d901efbcd70a36bd39fe034e29ee42d66d7296358761e04272c9696192a1380bda55852b2a0b14a05a7a083a08e125f5f
|
||||||
DIST libxml2-2.12.8.tar.xz 2643728 BLAKE2B d26fe61e913e73c923eb8140a9080d6b70078ce45e94fe61d1ca1b8919d5b86feb7f14156f5a8b06ea06a03a96a242ce3a32e8d61169cfa8bde587888438627b SHA512 59baac9a82a734045112be6da12bbbe80a71575145424c2225e4bd9f8d54e53c674dcbc9576eb55f646632335702e7f0b1928f96a851159ace9b26f677fd3d77
|
DIST libxml2-2.12.8.tar.xz 2643728 BLAKE2B d26fe61e913e73c923eb8140a9080d6b70078ce45e94fe61d1ca1b8919d5b86feb7f14156f5a8b06ea06a03a96a242ce3a32e8d61169cfa8bde587888438627b SHA512 59baac9a82a734045112be6da12bbbe80a71575145424c2225e4bd9f8d54e53c674dcbc9576eb55f646632335702e7f0b1928f96a851159ace9b26f677fd3d77
|
||||||
|
DIST libxml2-2.13.1.tar.xz 2579424 BLAKE2B 93cbd3943b0a7a7a07036a3ce01740c37049b44c20f43aaee96ef9a36e86bc108914950d7532740be87995b8eb5c1e6fbb4464c6af0a20233c8a1a206b9a5b83 SHA512 28d280eb5e2f3af9df5adcccced730602e6951fd181b8d00256dbb2138abfe32a4b145fdc00ed8c77a6d322e0929bcb3d5128ad4622877d7f8a059d4b6e011a6
|
||||||
DIST xmlts20130923.tar.gz 641522 BLAKE2B 63a47bc69278ef510cd0b3779aed729e1b309e30efa0015d28ed051cc03f9dfddb447ab57b07b3393e8f47393d15473b0e199c34cb1f5f746b15ddfaa55670be SHA512 d5c4d26b324ed21f4e0641cd7f8b76dbf9de80df8b519982e44d41c960df29fd03618e02e9693b2d11ad06d19c4a965274c95a048ec3b9653eacb919a7f8b733
|
DIST xmlts20130923.tar.gz 641522 BLAKE2B 63a47bc69278ef510cd0b3779aed729e1b309e30efa0015d28ed051cc03f9dfddb447ab57b07b3393e8f47393d15473b0e199c34cb1f5f746b15ddfaa55670be SHA512 d5c4d26b324ed21f4e0641cd7f8b76dbf9de80df8b519982e44d41c960df29fd03618e02e9693b2d11ad06d19c4a965274c95a048ec3b9653eacb919a7f8b733
|
||||||
DIST xsts-2002-01-16.tar.gz 6894439 BLAKE2B 1e9ec63d2c104655e64249e07440a04d862fcbcd4d4e19745d81b34994319b510a531c9d6df1491fae1e90b5d0764f0f1a827251ca8df5d613178b0eab01ef25 SHA512 43300af6d39c1e2221b0ed7318fe14c7464eeb6eb030ed1e22eb29b4ab17f014e2a4c8887c3a46ae5d243e3072da27f00f4e285498ae6f1288177d38d1108288
|
DIST xsts-2002-01-16.tar.gz 6894439 BLAKE2B 1e9ec63d2c104655e64249e07440a04d862fcbcd4d4e19745d81b34994319b510a531c9d6df1491fae1e90b5d0764f0f1a827251ca8df5d613178b0eab01ef25 SHA512 43300af6d39c1e2221b0ed7318fe14c7464eeb6eb030ed1e22eb29b4ab17f014e2a4c8887c3a46ae5d243e3072da27f00f4e285498ae6f1288177d38d1108288
|
||||||
DIST xsts-2004-01-14.tar.gz 2761085 BLAKE2B 41545995fb3a65d053257c376c07d45ffd1041a433bfbdb46d4dd87a5afb60c18c8629a3d988323f9e7a1d709775b5a7e5930276a7121c0725a22705c0976e36 SHA512 32854388d7e720ad67156baf50bf2bae7bd878ca3e35fd7e44e57cad3f434f69d56bbbedd61509f8a1faf01c9eae74a078df8fe130780b182c05c05cb1c39ebe
|
DIST xsts-2004-01-14.tar.gz 2761085 BLAKE2B 41545995fb3a65d053257c376c07d45ffd1041a433bfbdb46d4dd87a5afb60c18c8629a3d988323f9e7a1d709775b5a7e5930276a7121c0725a22705c0976e36 SHA512 32854388d7e720ad67156baf50bf2bae7bd878ca3e35fd7e44e57cad3f434f69d56bbbedd61509f8a1faf01c9eae74a078df8fe130780b182c05c05cb1c39ebe
|
||||||
|
@ -23,7 +23,7 @@ if [[ ${PV} == 9999 ]] ; then
|
|||||||
inherit autotools git-r3
|
inherit autotools git-r3
|
||||||
else
|
else
|
||||||
inherit gnome.org libtool
|
inherit gnome.org libtool
|
||||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
SRC_URI+="
|
SRC_URI+="
|
||||||
|
@ -23,7 +23,7 @@ if [[ ${PV} == 9999 ]] ; then
|
|||||||
inherit autotools git-r3
|
inherit autotools git-r3
|
||||||
else
|
else
|
||||||
inherit gnome.org libtool
|
inherit gnome.org libtool
|
||||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
SRC_URI+="
|
SRC_URI+="
|
||||||
|
@ -5,7 +5,7 @@ EAPI=8
|
|||||||
|
|
||||||
# Note: Please bump in sync with dev-libs/libxslt
|
# Note: Please bump in sync with dev-libs/libxslt
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{10..12} )
|
PYTHON_COMPAT=( python3_{10..13} )
|
||||||
PYTHON_REQ_USE="xml(+)"
|
PYTHON_REQ_USE="xml(+)"
|
||||||
inherit flag-o-matic python-r1 multilib-minimal
|
inherit flag-o-matic python-r1 multilib-minimal
|
||||||
|
|
||||||
|
187
sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.1.ebuild
vendored
Normal file
187
sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.13.1.ebuild
vendored
Normal file
@ -0,0 +1,187 @@
|
|||||||
|
# Copyright 1999-2024 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
# Note: Please bump in sync with dev-libs/libxslt
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python3_{10..13} )
|
||||||
|
PYTHON_REQ_USE="xml(+)"
|
||||||
|
inherit python-r1 multilib-minimal
|
||||||
|
|
||||||
|
XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
|
||||||
|
XSTS_NAME_1="xmlschema2002-01-16"
|
||||||
|
XSTS_NAME_2="xmlschema2004-01-14"
|
||||||
|
XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
|
||||||
|
XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
|
||||||
|
XMLCONF_TARBALL="xmlts20130923.tar.gz"
|
||||||
|
|
||||||
|
DESCRIPTION="XML C parser and toolkit"
|
||||||
|
HOMEPAGE="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home"
|
||||||
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2"
|
||||||
|
inherit autotools git-r3
|
||||||
|
else
|
||||||
|
inherit gnome.org libtool
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
|
fi
|
||||||
|
|
||||||
|
SRC_URI+="
|
||||||
|
test? (
|
||||||
|
${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
|
||||||
|
${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
|
||||||
|
https://www.w3.org/XML/Test/${XMLCONF_TARBALL}
|
||||||
|
)
|
||||||
|
"
|
||||||
|
S="${WORKDIR}/${PN}-${PV%_rc*}"
|
||||||
|
|
||||||
|
LICENSE="MIT"
|
||||||
|
SLOT="2"
|
||||||
|
IUSE="examples icu lzma +python readline static-libs test"
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
virtual/libiconv
|
||||||
|
>=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
|
||||||
|
icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
|
||||||
|
lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] )
|
||||||
|
python? ( ${PYTHON_DEPS} )
|
||||||
|
readline? ( sys-libs/readline:= )
|
||||||
|
"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
BDEPEND="virtual/pkgconfig"
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
BDEPEND+=" dev-build/gtk-doc-am"
|
||||||
|
fi
|
||||||
|
|
||||||
|
MULTILIB_CHOST_TOOLS=(
|
||||||
|
/usr/bin/xml2-config
|
||||||
|
)
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
git-r3_src_unpack
|
||||||
|
else
|
||||||
|
local tarname=${P/_rc/-rc}.tar.xz
|
||||||
|
|
||||||
|
# ${A} isn't used to avoid unpacking of test tarballs into ${WORKDIR},
|
||||||
|
# as they are needed as tarballs in ${S}/xstc instead and not unpacked
|
||||||
|
unpack ${tarname}
|
||||||
|
|
||||||
|
if [[ -n ${PATCHSET_VERSION} ]] ; then
|
||||||
|
unpack ${PN}-${PATCHSET_VERSION}.tar.xz
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "${S}" || die
|
||||||
|
|
||||||
|
if use test ; then
|
||||||
|
cp "${DISTDIR}/${XSTS_TARBALL_1}" \
|
||||||
|
"${DISTDIR}/${XSTS_TARBALL_2}" \
|
||||||
|
"${S}"/xstc/ \
|
||||||
|
|| die "Failed to install test tarballs"
|
||||||
|
unpack ${XMLCONF_TARBALL}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
eautoreconf
|
||||||
|
else
|
||||||
|
# Please do not remove, as else we get references to PORTAGE_TMPDIR
|
||||||
|
# in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
|
||||||
|
elibtoolize
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_configure() {
|
||||||
|
libxml2_configure() {
|
||||||
|
ECONF_SOURCE="${S}" econf \
|
||||||
|
$(use_with icu) \
|
||||||
|
$(use_with lzma) \
|
||||||
|
$(use_enable static-libs static) \
|
||||||
|
$(multilib_native_use_with readline) \
|
||||||
|
$(multilib_native_use_with readline history) \
|
||||||
|
"$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Build python bindings separately
|
||||||
|
libxml2_configure --without-python
|
||||||
|
|
||||||
|
multilib_is_native_abi && use python &&
|
||||||
|
python_foreach_impl run_in_build_dir libxml2_configure --with-python
|
||||||
|
}
|
||||||
|
|
||||||
|
libxml2_py_emake() {
|
||||||
|
pushd "${BUILD_DIR}"/python >/dev/null || die
|
||||||
|
|
||||||
|
emake top_builddir="${NATIVE_BUILD_DIR}" "$@"
|
||||||
|
|
||||||
|
popd >/dev/null || die
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_compile() {
|
||||||
|
default
|
||||||
|
|
||||||
|
if multilib_is_native_abi && use python ; then
|
||||||
|
NATIVE_BUILD_DIR="${BUILD_DIR}"
|
||||||
|
python_foreach_impl run_in_build_dir libxml2_py_emake all
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_test() {
|
||||||
|
ln -s "${S}"/xmlconf || die
|
||||||
|
|
||||||
|
emake check
|
||||||
|
|
||||||
|
multilib_is_native_abi && use python &&
|
||||||
|
python_foreach_impl run_in_build_dir libxml2_py_emake check
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install() {
|
||||||
|
emake DESTDIR="${D}" install
|
||||||
|
|
||||||
|
multilib_is_native_abi && use python &&
|
||||||
|
python_foreach_impl run_in_build_dir libxml2_py_emake DESTDIR="${D}" install
|
||||||
|
|
||||||
|
# Hack until automake release is made for the optimise fix
|
||||||
|
# https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097
|
||||||
|
multilib_is_native_abi && use python && python_foreach_impl python_optimize
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install_all() {
|
||||||
|
einstalldocs
|
||||||
|
|
||||||
|
if ! use examples ; then
|
||||||
|
rm -rf "${ED}"/usr/share/doc/${PF}/examples || die
|
||||||
|
rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -rf "${ED}"/usr/share/doc/${PN}-python-${PVR} || die
|
||||||
|
|
||||||
|
find "${ED}" -name '*.la' -delete || die
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
# We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
|
||||||
|
# be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
|
||||||
|
if [[ -n "${ROOT}" ]]; then
|
||||||
|
elog "Skipping XML catalog creation for stage building (bug #208887)."
|
||||||
|
else
|
||||||
|
# Need an XML catalog, so no-one writes to a non-existent one
|
||||||
|
CATALOG="${EROOT}/etc/xml/catalog"
|
||||||
|
|
||||||
|
# We don't want to clobber an existing catalog though,
|
||||||
|
# only ensure that one is there
|
||||||
|
# <obz@gentoo.org>
|
||||||
|
if [[ ! -e "${CATALOG}" ]]; then
|
||||||
|
[[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml"
|
||||||
|
"${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}"
|
||||||
|
einfo "Created XML catalog in ${CATALOG}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
@ -5,7 +5,7 @@ EAPI=8
|
|||||||
|
|
||||||
# Note: Please bump in sync with dev-libs/libxslt
|
# Note: Please bump in sync with dev-libs/libxslt
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{10..12} )
|
PYTHON_COMPAT=( python3_{10..13} )
|
||||||
PYTHON_REQ_USE="xml(+)"
|
PYTHON_REQ_USE="xml(+)"
|
||||||
inherit python-r1 multilib-minimal
|
inherit python-r1 multilib-minimal
|
||||||
|
|
||||||
|
@ -1 +1,2 @@
|
|||||||
DIST libxslt-1.1.39.tar.xz 1578216 BLAKE2B 7c87b769d345fc99a966bea6b4e94533fa211dc3a987ce013a03eefb05dde73ef75526bdecf7d32d8c77112232096fb22d8ec4f0a781b9f59d0422a2db75df01 SHA512 c0c99dc63f8b2acb6cc3ad7ad684ffa2a427ee8d1740495cbf8a7c9b9c8679f96351b4b676c73ccc191014db4cb4ab42b9a0070f6295565f39dbc665c5c16f89
|
DIST libxslt-1.1.39.tar.xz 1578216 BLAKE2B 7c87b769d345fc99a966bea6b4e94533fa211dc3a987ce013a03eefb05dde73ef75526bdecf7d32d8c77112232096fb22d8ec4f0a781b9f59d0422a2db75df01 SHA512 c0c99dc63f8b2acb6cc3ad7ad684ffa2a427ee8d1740495cbf8a7c9b9c8679f96351b4b676c73ccc191014db4cb4ab42b9a0070f6295565f39dbc665c5c16f89
|
||||||
|
DIST libxslt-1.1.41.tar.xz 1573868 BLAKE2B 2228a4074f257edd4fa0ebb2a713b035b780b19398ba9208dedb0d0cec6777129c9bb08a80494b657a4238bea228bd752761118a0022f56d71cc1302838b1733 SHA512 b9f94d1c00dfb9f731c6c424a0d3f07fb0a37935048b26618e5405c3890d1d40c832420117de4d5363a90ab4809f77f6e566013ce7858cc88e0905709ca0f6fe
|
||||||
|
@ -0,0 +1,93 @@
|
|||||||
|
https://gitlab.gnome.org/GNOME/libxslt/-/commit/8d456f03b6b6661edfb0a3f1bc5abdc9597f60e7
|
||||||
|
|
||||||
|
From 8d456f03b6b6661edfb0a3f1bc5abdc9597f60e7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nick Wellnhofer <wellnhofer@aevum.de>
|
||||||
|
Date: Tue, 2 Jul 2024 22:27:02 +0200
|
||||||
|
Subject: [PATCH] utils: Don't use deprecated xmlCharEncodingHandler member
|
||||||
|
|
||||||
|
---
|
||||||
|
libxslt/xsltutils.c | 44 ++++++++++++++++++++------------------------
|
||||||
|
1 file changed, 20 insertions(+), 24 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libxslt/xsltutils.c b/libxslt/xsltutils.c
|
||||||
|
index 3705d28f..d493905b 100644
|
||||||
|
--- a/libxslt/xsltutils.c
|
||||||
|
+++ b/libxslt/xsltutils.c
|
||||||
|
@@ -1750,13 +1750,12 @@ xsltSaveResultToFilename(const char *URL, xmlDocPtr result,
|
||||||
|
|
||||||
|
XSLT_GET_IMPORT_PTR(encoding, style, encoding)
|
||||||
|
if (encoding != NULL) {
|
||||||
|
- xmlCharEncodingHandlerPtr encoder;
|
||||||
|
+ xmlCharEncodingHandlerPtr encoder = NULL;
|
||||||
|
|
||||||
|
- encoder = xmlFindCharEncodingHandler((char *)encoding);
|
||||||
|
- if ((encoder != NULL) &&
|
||||||
|
- (xmlStrEqual((const xmlChar *)encoder->name,
|
||||||
|
- (const xmlChar *) "UTF-8")))
|
||||||
|
- encoder = NULL;
|
||||||
|
+ /* Don't use UTF-8 dummy encoder */
|
||||||
|
+ if ((xmlStrcasecmp(encoding, BAD_CAST "UTF-8") != 0) &&
|
||||||
|
+ (xmlStrcasecmp(encoding, BAD_CAST "UTF8") != 0))
|
||||||
|
+ encoder = xmlFindCharEncodingHandler((char *) encoding);
|
||||||
|
buf = xmlOutputBufferCreateFilename(URL, encoder, compression);
|
||||||
|
} else {
|
||||||
|
buf = xmlOutputBufferCreateFilename(URL, NULL, compression);
|
||||||
|
@@ -1793,13 +1792,12 @@ xsltSaveResultToFile(FILE *file, xmlDocPtr result, xsltStylesheetPtr style) {
|
||||||
|
|
||||||
|
XSLT_GET_IMPORT_PTR(encoding, style, encoding)
|
||||||
|
if (encoding != NULL) {
|
||||||
|
- xmlCharEncodingHandlerPtr encoder;
|
||||||
|
+ xmlCharEncodingHandlerPtr encoder = NULL;
|
||||||
|
|
||||||
|
- encoder = xmlFindCharEncodingHandler((char *)encoding);
|
||||||
|
- if ((encoder != NULL) &&
|
||||||
|
- (xmlStrEqual((const xmlChar *)encoder->name,
|
||||||
|
- (const xmlChar *) "UTF-8")))
|
||||||
|
- encoder = NULL;
|
||||||
|
+ /* Don't use UTF-8 dummy encoder */
|
||||||
|
+ if ((xmlStrcasecmp(encoding, BAD_CAST "UTF-8") != 0) &&
|
||||||
|
+ (xmlStrcasecmp(encoding, BAD_CAST "UTF8") != 0))
|
||||||
|
+ encoder = xmlFindCharEncodingHandler((char *) encoding);
|
||||||
|
buf = xmlOutputBufferCreateFile(file, encoder);
|
||||||
|
} else {
|
||||||
|
buf = xmlOutputBufferCreateFile(file, NULL);
|
||||||
|
@@ -1837,13 +1835,12 @@ xsltSaveResultToFd(int fd, xmlDocPtr result, xsltStylesheetPtr style) {
|
||||||
|
|
||||||
|
XSLT_GET_IMPORT_PTR(encoding, style, encoding)
|
||||||
|
if (encoding != NULL) {
|
||||||
|
- xmlCharEncodingHandlerPtr encoder;
|
||||||
|
+ xmlCharEncodingHandlerPtr encoder = NULL;
|
||||||
|
|
||||||
|
- encoder = xmlFindCharEncodingHandler((char *)encoding);
|
||||||
|
- if ((encoder != NULL) &&
|
||||||
|
- (xmlStrEqual((const xmlChar *)encoder->name,
|
||||||
|
- (const xmlChar *) "UTF-8")))
|
||||||
|
- encoder = NULL;
|
||||||
|
+ /* Don't use UTF-8 dummy encoder */
|
||||||
|
+ if ((xmlStrcasecmp(encoding, BAD_CAST "UTF-8") != 0) &&
|
||||||
|
+ (xmlStrcasecmp(encoding, BAD_CAST "UTF8") != 0))
|
||||||
|
+ encoder = xmlFindCharEncodingHandler((char *) encoding);
|
||||||
|
buf = xmlOutputBufferCreateFd(fd, encoder);
|
||||||
|
} else {
|
||||||
|
buf = xmlOutputBufferCreateFd(fd, NULL);
|
||||||
|
@@ -1880,13 +1877,12 @@ xsltSaveResultToString(xmlChar **doc_txt_ptr, int * doc_txt_len,
|
||||||
|
|
||||||
|
XSLT_GET_IMPORT_PTR(encoding, style, encoding)
|
||||||
|
if (encoding != NULL) {
|
||||||
|
- xmlCharEncodingHandlerPtr encoder;
|
||||||
|
+ xmlCharEncodingHandlerPtr encoder = NULL;
|
||||||
|
|
||||||
|
- encoder = xmlFindCharEncodingHandler((char *)encoding);
|
||||||
|
- if ((encoder != NULL) &&
|
||||||
|
- (xmlStrEqual((const xmlChar *)encoder->name,
|
||||||
|
- (const xmlChar *) "UTF-8")))
|
||||||
|
- encoder = NULL;
|
||||||
|
+ /* Don't use UTF-8 dummy encoder */
|
||||||
|
+ if ((xmlStrcasecmp(encoding, BAD_CAST "UTF-8") != 0) &&
|
||||||
|
+ (xmlStrcasecmp(encoding, BAD_CAST "UTF8") != 0))
|
||||||
|
+ encoder = xmlFindCharEncodingHandler((char *) encoding);
|
||||||
|
buf = xmlAllocOutputBuffer(encoder);
|
||||||
|
if (buf == NULL)
|
||||||
|
xmlCharEncCloseFunc(encoder);
|
||||||
|
--
|
||||||
|
GitLab
|
@ -0,0 +1,40 @@
|
|||||||
|
https://gitlab.gnome.org/GNOME/libxslt/-/commit/a85bd17ec52793b33074f0f785c3d989feb20170
|
||||||
|
|
||||||
|
From a85bd17ec52793b33074f0f785c3d989feb20170 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nick Wellnhofer <wellnhofer@aevum.de>
|
||||||
|
Date: Fri, 21 Jun 2024 15:07:18 +0200
|
||||||
|
Subject: [PATCH] extensions: Readd call to xmlCheckFilename with older libxml2
|
||||||
|
|
||||||
|
Fix spurious warning with libxml2 before 2.13.0 caused by 014b2892.
|
||||||
|
|
||||||
|
Fixes #113.
|
||||||
|
---
|
||||||
|
libxslt/extensions.c | 13 +++++++++++++
|
||||||
|
1 file changed, 13 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/libxslt/extensions.c b/libxslt/extensions.c
|
||||||
|
index 05cdf354..d3d61543 100644
|
||||||
|
--- a/libxslt/extensions.c
|
||||||
|
+++ b/libxslt/extensions.c
|
||||||
|
@@ -415,6 +415,19 @@ xsltExtModuleRegisterDynamic(const xmlChar * URI)
|
||||||
|
module_filename, URI);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#if LIBXML_VERSION < 21300
|
||||||
|
+ if (1 != xmlCheckFilename(module_filename)) {
|
||||||
|
+
|
||||||
|
+#ifdef WITH_XSLT_DEBUG_EXTENSIONS
|
||||||
|
+ xsltGenericDebug(xsltGenericDebugContext,
|
||||||
|
+ "xmlCheckFilename failed for plugin: %s\n", module_filename);
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+ xmlFree(ext_name);
|
||||||
|
+ return (-1);
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
/* attempt to open the module */
|
||||||
|
m = xmlModuleOpen(module_filename, 0);
|
||||||
|
if (NULL == m) {
|
||||||
|
--
|
||||||
|
GitLab
|
@ -0,0 +1,171 @@
|
|||||||
|
https://gitlab.gnome.org/GNOME/libxslt/-/issues/116
|
||||||
|
https://gitlab.gnome.org/GNOME/libxslt/-/commit/081cd6e97a620d035ed7df35e998e2d288bc7862
|
||||||
|
|
||||||
|
From 081cd6e97a620d035ed7df35e998e2d288bc7862 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nick Wellnhofer <wellnhofer@aevum.de>
|
||||||
|
Date: Mon, 1 Jul 2024 13:21:14 +0200
|
||||||
|
Subject: [PATCH] transform: Handle filesystem paths after libxml2 changes
|
||||||
|
|
||||||
|
After changes in libxml2 2.13, base URIs and resolved URIs can be
|
||||||
|
filesystem paths.
|
||||||
|
|
||||||
|
Check for invalid URIs and remove fragment before resolving URI in
|
||||||
|
xsltDocumentFunction.
|
||||||
|
|
||||||
|
Handle filesystem paths in xsltCheckRead.
|
||||||
|
|
||||||
|
Should fix #116.
|
||||||
|
---
|
||||||
|
libxslt/functions.c | 64 ++++++++++++++++++++++++++-------------------
|
||||||
|
libxslt/security.c | 13 +++++++++
|
||||||
|
2 files changed, 50 insertions(+), 27 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libxslt/functions.c b/libxslt/functions.c
|
||||||
|
index 0c9dec43..d54f8f48 100644
|
||||||
|
--- a/libxslt/functions.c
|
||||||
|
+++ b/libxslt/functions.c
|
||||||
|
@@ -96,11 +96,10 @@ xsltXPathFunctionLookup (void *vctxt,
|
||||||
|
************************************************************************/
|
||||||
|
|
||||||
|
static void
|
||||||
|
-xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt, xmlChar* URI)
|
||||||
|
+xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt,
|
||||||
|
+ const xmlChar* URI, const xmlChar *fragment)
|
||||||
|
{
|
||||||
|
xsltTransformContextPtr tctxt;
|
||||||
|
- xmlURIPtr uri;
|
||||||
|
- xmlChar *fragment = NULL;
|
||||||
|
xsltDocumentPtr idoc; /* document info */
|
||||||
|
xmlDocPtr doc;
|
||||||
|
xmlXPathContextPtr xptrctxt = NULL;
|
||||||
|
@@ -115,26 +114,7 @@ xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt, xmlChar* URI)
|
||||||
|
goto out_fragment;
|
||||||
|
}
|
||||||
|
|
||||||
|
- uri = xmlParseURI((const char *) URI);
|
||||||
|
- if (uri == NULL) {
|
||||||
|
- xsltTransformError(tctxt, NULL, NULL,
|
||||||
|
- "document() : failed to parse URI\n");
|
||||||
|
- goto out_fragment;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- /*
|
||||||
|
- * check for and remove fragment identifier
|
||||||
|
- */
|
||||||
|
- fragment = (xmlChar *)uri->fragment;
|
||||||
|
- if (fragment != NULL) {
|
||||||
|
- xmlChar *newURI;
|
||||||
|
- uri->fragment = NULL;
|
||||||
|
- newURI = xmlSaveUri(uri);
|
||||||
|
- idoc = xsltLoadDocument(tctxt, newURI);
|
||||||
|
- xmlFree(newURI);
|
||||||
|
- } else
|
||||||
|
- idoc = xsltLoadDocument(tctxt, URI);
|
||||||
|
- xmlFreeURI(uri);
|
||||||
|
+ idoc = xsltLoadDocument(tctxt, URI);
|
||||||
|
|
||||||
|
if (idoc == NULL) {
|
||||||
|
if ((URI == NULL) ||
|
||||||
|
@@ -194,7 +174,6 @@ out_fragment:
|
||||||
|
if (resObj == NULL)
|
||||||
|
resObj = xmlXPathNewNodeSet(NULL);
|
||||||
|
valuePush(ctxt, resObj);
|
||||||
|
- xmlFree(fragment);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@@ -210,7 +189,8 @@ xsltDocumentFunction(xmlXPathParserContextPtr ctxt, int nargs)
|
||||||
|
{
|
||||||
|
xmlXPathObjectPtr obj, obj2 = NULL;
|
||||||
|
xmlChar *base = NULL, *URI;
|
||||||
|
-
|
||||||
|
+ xmlChar *newURI = NULL;
|
||||||
|
+ xmlChar *fragment = NULL;
|
||||||
|
|
||||||
|
if ((nargs < 1) || (nargs > 2)) {
|
||||||
|
xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
|
||||||
|
@@ -292,7 +272,32 @@ xsltDocumentFunction(xmlXPathParserContextPtr ctxt, int nargs)
|
||||||
|
valuePush(ctxt, xmlXPathNewNodeSet(NULL));
|
||||||
|
} else {
|
||||||
|
xsltTransformContextPtr tctxt;
|
||||||
|
+ xmlURIPtr uri;
|
||||||
|
+ const xmlChar *url;
|
||||||
|
+
|
||||||
|
tctxt = xsltXPathGetTransformContext(ctxt);
|
||||||
|
+
|
||||||
|
+ url = obj->stringval;
|
||||||
|
+
|
||||||
|
+ uri = xmlParseURI((const char *) url);
|
||||||
|
+ if (uri == NULL) {
|
||||||
|
+ xsltTransformError(tctxt, NULL, NULL,
|
||||||
|
+ "document() : failed to parse URI '%s'\n", url);
|
||||||
|
+ valuePush(ctxt, xmlXPathNewNodeSet(NULL));
|
||||||
|
+ goto error;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /*
|
||||||
|
+ * check for and remove fragment identifier
|
||||||
|
+ */
|
||||||
|
+ fragment = (xmlChar *)uri->fragment;
|
||||||
|
+ if (fragment != NULL) {
|
||||||
|
+ uri->fragment = NULL;
|
||||||
|
+ newURI = xmlSaveUri(uri);
|
||||||
|
+ url = newURI;
|
||||||
|
+ }
|
||||||
|
+ xmlFreeURI(uri);
|
||||||
|
+
|
||||||
|
if ((obj2 != NULL) && (obj2->nodesetval != NULL) &&
|
||||||
|
(obj2->nodesetval->nodeNr > 0) &&
|
||||||
|
IS_XSLT_REAL_NODE(obj2->nodesetval->nodeTab[0])) {
|
||||||
|
@@ -313,7 +318,8 @@ xsltDocumentFunction(xmlXPathParserContextPtr ctxt, int nargs)
|
||||||
|
(xmlNodePtr) tctxt->style->doc);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- URI = xmlBuildURI(obj->stringval, base);
|
||||||
|
+
|
||||||
|
+ URI = xmlBuildURI(url, base);
|
||||||
|
if (base != NULL)
|
||||||
|
xmlFree(base);
|
||||||
|
if (URI == NULL) {
|
||||||
|
@@ -326,10 +332,14 @@ xsltDocumentFunction(xmlXPathParserContextPtr ctxt, int nargs)
|
||||||
|
valuePush(ctxt, xmlXPathNewNodeSet(NULL));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
- xsltDocumentFunctionLoadDocument( ctxt, URI );
|
||||||
|
+ xsltDocumentFunctionLoadDocument(ctxt, URI, fragment);
|
||||||
|
xmlFree(URI);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+error:
|
||||||
|
+ xmlFree(newURI);
|
||||||
|
+ xmlFree(fragment);
|
||||||
|
xmlXPathFreeObject(obj);
|
||||||
|
if (obj2 != NULL)
|
||||||
|
xmlXPathFreeObject(obj2);
|
||||||
|
diff --git a/libxslt/security.c b/libxslt/security.c
|
||||||
|
index 001ee6e4..3a66594f 100644
|
||||||
|
--- a/libxslt/security.c
|
||||||
|
+++ b/libxslt/security.c
|
||||||
|
@@ -422,6 +422,19 @@ xsltCheckRead(xsltSecurityPrefsPtr sec,
|
||||||
|
xmlURIPtr uri;
|
||||||
|
xsltSecurityCheck check;
|
||||||
|
|
||||||
|
+ if (xmlStrstr(URL, BAD_CAST "://") == NULL) {
|
||||||
|
+ check = xsltGetSecurityPrefs(sec, XSLT_SECPREF_READ_FILE);
|
||||||
|
+ if (check != NULL) {
|
||||||
|
+ ret = check(sec, ctxt, (const char *) URL);
|
||||||
|
+ if (ret == 0) {
|
||||||
|
+ xsltTransformError(ctxt, NULL, NULL,
|
||||||
|
+ "Local file read for %s refused\n", URL);
|
||||||
|
+ return(0);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ return(1);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
uri = xmlParseURI((const char *)URL);
|
||||||
|
if (uri == NULL) {
|
||||||
|
xsltTransformError(ctxt, NULL, NULL,
|
||||||
|
--
|
||||||
|
GitLab
|
@ -5,7 +5,7 @@ EAPI=8
|
|||||||
|
|
||||||
# Note: Please bump this in sync with dev-libs/libxml2.
|
# Note: Please bump this in sync with dev-libs/libxml2.
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{10..12} )
|
PYTHON_COMPAT=( python3_{10..13} )
|
||||||
inherit flag-o-matic python-r1 multilib-minimal
|
inherit flag-o-matic python-r1 multilib-minimal
|
||||||
|
|
||||||
DESCRIPTION="XSLT libraries and tools"
|
DESCRIPTION="XSLT libraries and tools"
|
||||||
|
129
sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.41.ebuild
vendored
Normal file
129
sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.41.ebuild
vendored
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
# Copyright 1999-2024 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
# Note: Please bump this in sync with dev-libs/libxml2.
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python3_{10..13} )
|
||||||
|
inherit python-r1 multilib-minimal
|
||||||
|
|
||||||
|
DESCRIPTION="XSLT libraries and tools"
|
||||||
|
HOMEPAGE="https://gitlab.gnome.org/GNOME/libxslt"
|
||||||
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxslt"
|
||||||
|
inherit autotools git-r3
|
||||||
|
else
|
||||||
|
inherit libtool gnome.org
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
|
fi
|
||||||
|
|
||||||
|
LICENSE="MIT"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="crypt debug examples python static-libs"
|
||||||
|
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||||
|
|
||||||
|
BDEPEND=">=virtual/pkgconfig-1"
|
||||||
|
RDEPEND="
|
||||||
|
>=dev-libs/libxml2-2.13:2[${MULTILIB_USEDEP}]
|
||||||
|
crypt? ( >=dev-libs/libgcrypt-1.5.3:=[${MULTILIB_USEDEP}] )
|
||||||
|
python? (
|
||||||
|
${PYTHON_DEPS}
|
||||||
|
>=dev-libs/libxml2-2.13:2[${MULTILIB_USEDEP},python,${PYTHON_USEDEP}]
|
||||||
|
)
|
||||||
|
"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
|
||||||
|
MULTILIB_CHOST_TOOLS=(
|
||||||
|
/usr/bin/xslt-config
|
||||||
|
)
|
||||||
|
|
||||||
|
MULTILIB_WRAPPED_HEADERS=(
|
||||||
|
/usr/include/libxslt/xsltconfig.h
|
||||||
|
)
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}"/${P}-extensions-xmlCheckFilename-older-libxml2.patch
|
||||||
|
"${FILESDIR}"/${P}-libxml2-2.13.patch
|
||||||
|
"${FILESDIR}"/${P}-deprecated-xmlCharEncodingHandler.patch
|
||||||
|
)
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
eautoreconf
|
||||||
|
else
|
||||||
|
# Prefix always needs elibtoolize if not eautoreconf'd.
|
||||||
|
elibtoolize
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_configure() {
|
||||||
|
libxslt_configure() {
|
||||||
|
ECONF_SOURCE="${S}" econf \
|
||||||
|
--without-python \
|
||||||
|
$(use_with crypt crypto) \
|
||||||
|
$(use_with debug) \
|
||||||
|
$(use_enable static-libs static) \
|
||||||
|
"$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Build Python bindings separately
|
||||||
|
libxslt_configure --without-python
|
||||||
|
|
||||||
|
if multilib_is_native_abi && use python ; then
|
||||||
|
NATIVE_BUILD_DIR="${BUILD_DIR}"
|
||||||
|
python_foreach_impl run_in_build_dir libxslt_configure --with-python
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
libxslt_py_emake() {
|
||||||
|
pushd "${BUILD_DIR}"/python >/dev/null || die
|
||||||
|
|
||||||
|
emake top_builddir="${NATIVE_BUILD_DIR}" "$@"
|
||||||
|
|
||||||
|
popd >/dev/null || die
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_compile() {
|
||||||
|
default
|
||||||
|
|
||||||
|
if multilib_is_native_abi && use python ; then
|
||||||
|
python_foreach_impl run_in_build_dir libxslt_py_emake all
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_test() {
|
||||||
|
default
|
||||||
|
|
||||||
|
if multilib_is_native_abi && use python ; then
|
||||||
|
python_foreach_impl run_in_build_dir libxslt_py_emake check
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install() {
|
||||||
|
# "default" does not work here - docs are installed by multilib_src_install_all
|
||||||
|
emake DESTDIR="${D}" install
|
||||||
|
|
||||||
|
if multilib_is_native_abi && use python; then
|
||||||
|
python_foreach_impl run_in_build_dir libxslt_py_emake \
|
||||||
|
DESTDIR="${D}" \
|
||||||
|
install
|
||||||
|
|
||||||
|
# Hack until automake release is made for the optimise fix
|
||||||
|
# https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097
|
||||||
|
python_foreach_impl python_optimize
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install_all() {
|
||||||
|
einstalldocs
|
||||||
|
|
||||||
|
if ! use examples ; then
|
||||||
|
rm -rf "${ED}"/usr/share/doc/${PF}/tutorial{,2} || die
|
||||||
|
rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
find "${ED}" -type f -name "*.la" -delete || die
|
||||||
|
}
|
@ -5,7 +5,7 @@ EAPI=8
|
|||||||
|
|
||||||
# Note: Please bump this in sync with dev-libs/libxml2.
|
# Note: Please bump this in sync with dev-libs/libxml2.
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{10..12} )
|
PYTHON_COMPAT=( python3_{10..13} )
|
||||||
inherit python-r1 multilib-minimal
|
inherit python-r1 multilib-minimal
|
||||||
|
|
||||||
DESCRIPTION="XSLT libraries and tools"
|
DESCRIPTION="XSLT libraries and tools"
|
||||||
@ -25,9 +25,12 @@ REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
|||||||
|
|
||||||
BDEPEND=">=virtual/pkgconfig-1"
|
BDEPEND=">=virtual/pkgconfig-1"
|
||||||
RDEPEND="
|
RDEPEND="
|
||||||
>=dev-libs/libxml2-2.9.11:2[${MULTILIB_USEDEP}]
|
>=dev-libs/libxml2-2.13:2[${MULTILIB_USEDEP}]
|
||||||
crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
|
crypt? ( >=dev-libs/libgcrypt-1.5.3:=[${MULTILIB_USEDEP}] )
|
||||||
python? ( ${PYTHON_DEPS} )
|
python? (
|
||||||
|
${PYTHON_DEPS}
|
||||||
|
>=dev-libs/libxml2-2.13:2[${MULTILIB_USEDEP},python,${PYTHON_USEDEP}]
|
||||||
|
)
|
||||||
"
|
"
|
||||||
DEPEND="${RDEPEND}"
|
DEPEND="${RDEPEND}"
|
||||||
|
|
||||||
@ -39,6 +42,12 @@ MULTILIB_WRAPPED_HEADERS=(
|
|||||||
/usr/include/libxslt/xsltconfig.h
|
/usr/include/libxslt/xsltconfig.h
|
||||||
)
|
)
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}"/${P}-extensions-xmlCheckFilename-older-libxml2.patch
|
||||||
|
"${FILESDIR}"/${P}-libxml2-2.13.patch
|
||||||
|
"${FILESDIR}"/${P}-deprecated-xmlCharEncodingHandler.patch
|
||||||
|
)
|
||||||
|
|
||||||
src_prepare() {
|
src_prepare() {
|
||||||
default
|
default
|
||||||
|
|
||||||
|
@ -89,7 +89,7 @@ multilib_src_configure() {
|
|||||||
)
|
)
|
||||||
|
|
||||||
# https://git.lysator.liu.se/nettle/nettle/-/issues/7
|
# https://git.lysator.liu.se/nettle/nettle/-/issues/7
|
||||||
if use cpu_flags_ppc_altivec && ! tc-cpp-is-true "defined(__VSX__) && __VSX__ == 1" "${CPPFLAGS}" "${CFLAGS}" ; then
|
if use cpu_flags_ppc_altivec && ! tc-cpp-is-true "defined(__VSX__) && __VSX__ == 1" ${CPPFLAGS} ${CFLAGS} ; then
|
||||||
ewarn "cpu_flags_ppc_altivec is enabled, but nettle's asm requires >=P7."
|
ewarn "cpu_flags_ppc_altivec is enabled, but nettle's asm requires >=P7."
|
||||||
ewarn "Disabling, sorry! See bug #920234."
|
ewarn "Disabling, sorry! See bug #920234."
|
||||||
myeconfargs+=( --disable-power-altivec )
|
myeconfargs+=( --disable-power-altivec )
|
||||||
|
@ -84,7 +84,7 @@ multilib_src_configure() {
|
|||||||
)
|
)
|
||||||
|
|
||||||
# https://git.lysator.liu.se/nettle/nettle/-/issues/7
|
# https://git.lysator.liu.se/nettle/nettle/-/issues/7
|
||||||
if use cpu_flags_ppc_altivec && ! tc-cpp-is-true "defined(__VSX__) && __VSX__ == 1" "${CPPFLAGS}" "${CFLAGS}" ; then
|
if use cpu_flags_ppc_altivec && ! tc-cpp-is-true "defined(__VSX__) && __VSX__ == 1" ${CPPFLAGS} ${CFLAGS} ; then
|
||||||
ewarn "cpu_flags_ppc_altivec is enabled, but nettle's asm requires >=P7."
|
ewarn "cpu_flags_ppc_altivec is enabled, but nettle's asm requires >=P7."
|
||||||
ewarn "Disabling, sorry! See bug #920234."
|
ewarn "Disabling, sorry! See bug #920234."
|
||||||
myeconfargs+=( --disable-power-altivec )
|
myeconfargs+=( --disable-power-altivec )
|
||||||
|
@ -2,4 +2,8 @@ DIST protobuf-21.12.tar.gz 5141166 BLAKE2B 33500612d103afb817062486a741e8e5503f8
|
|||||||
DIST protobuf-21.9.tar.gz 5110670 BLAKE2B a4f5b7f58e1c5904ca990b100a72992f6f56177b28773f8de8c99e4158391d33cfb8aa8575915887fc9ae4294faf81d4ff6b470bc07b394bfd5885a09ba0fafe SHA512 6954b42d21921e630173b7848c056ab95635627d8eddec960f3db2ddda13eedde00520a9b350722e76e2998649eb8ebe10758e1db938b6a91e38ff3295b1b7c1
|
DIST protobuf-21.9.tar.gz 5110670 BLAKE2B a4f5b7f58e1c5904ca990b100a72992f6f56177b28773f8de8c99e4158391d33cfb8aa8575915887fc9ae4294faf81d4ff6b470bc07b394bfd5885a09ba0fafe SHA512 6954b42d21921e630173b7848c056ab95635627d8eddec960f3db2ddda13eedde00520a9b350722e76e2998649eb8ebe10758e1db938b6a91e38ff3295b1b7c1
|
||||||
DIST protobuf-22.5.tar.gz 4924661 BLAKE2B d69c73f4ebfddf45fd94b4f5f898faf00256fe674f2cbc0443c60a88d7a0f47fb96f2f6262879927c6da88095b4ea3ee7fd4c471c100bf42a2bae9edf48c07f1 SHA512 058ab2fec5b11007972e6043071056d1944c3b6fe1d31246cddba8eb57686e3b5280f6ad3d58e78940ca63005e74a8de3c72237f9f7c5066548c5a2513ddc584
|
DIST protobuf-22.5.tar.gz 4924661 BLAKE2B d69c73f4ebfddf45fd94b4f5f898faf00256fe674f2cbc0443c60a88d7a0f47fb96f2f6262879927c6da88095b4ea3ee7fd4c471c100bf42a2bae9edf48c07f1 SHA512 058ab2fec5b11007972e6043071056d1944c3b6fe1d31246cddba8eb57686e3b5280f6ad3d58e78940ca63005e74a8de3c72237f9f7c5066548c5a2513ddc584
|
||||||
DIST protobuf-23.3.tar.gz 5043803 BLAKE2B ee2edee230969555c9ef95069c7b1d6c23c3d1f8ea1b2249fb3e9f6fcf63312c6e10e9da65b80629fb08d5fb08d05a19bb9c752c25b892c1e3fd6f18b9279eb3 SHA512 646af367dbc61b42e322cf0b335f360e428b272e2b1f5361b2f17c18d3dc9dddd615e1279436028b1a42275a0beadda37c2c934fc27d6c892131cc8d526d8b3b
|
DIST protobuf-23.3.tar.gz 5043803 BLAKE2B ee2edee230969555c9ef95069c7b1d6c23c3d1f8ea1b2249fb3e9f6fcf63312c6e10e9da65b80629fb08d5fb08d05a19bb9c752c25b892c1e3fd6f18b9279eb3 SHA512 646af367dbc61b42e322cf0b335f360e428b272e2b1f5361b2f17c18d3dc9dddd615e1279436028b1a42275a0beadda37c2c934fc27d6c892131cc8d526d8b3b
|
||||||
|
DIST protobuf-23.4.tar.gz 5043507 BLAKE2B bf6a50771eb977ef92b779a32fd909693faae6394254c73e3c9b2729bce643f8cbfb5a1bd18b30abf3003b9fbfd24c074cea4085a6ccf14fdb6a3aeac9efcb89 SHA512 b93a4e0339ecbe085796de5b6c61feae35229d40db9019c043090bcaa483a1cce78a99487c5638482c68832fcede5579a0e5ec731221a88359b80db9bb6dc566
|
||||||
|
DIST protobuf-24.4.tar.gz 5180235 BLAKE2B 1c7e9035d9f3810886baaea7d679414c882463c79828c99dd8895a9549638c1ca17f9ab3b38d461019f3e1412d9cb9584b995b1da99866eb6fdbb8bdeb063e6f SHA512 52b6ab5587d03cbd1f35cf3cdc388e1710fa50f3031559ac53cf754965407ded7602cdead56080444ab695588112cc3391a1d7fdd5e565d90d0af7ad08706315
|
||||||
|
DIST protobuf-25.3.tar.gz 5878962 BLAKE2B 9268f9bd993a1cfd6d3937a2ad56ba4cfe3d84923756513841cbf13039d4a07acb260468745cb1294f30334cb34b45c6fde272f5c40d9de63ac6a4ce5c263077 SHA512 1f73e237c919082e5423ae9e2ea8813dccf672c059051d1531fe89ffaa45872d3cf3052b8c3af26f674296ec17d7dc861c67b8f0834ed80261ce4a6a14ed7115
|
||||||
DIST protobuf-26.1.tar.gz 5957903 BLAKE2B 1a7faab2f56aa0995801a80f73a812c7fc38a00af0bf25bdd5eecf7aec27a86a575ea2fb8484787d19c9ac6e46007c9864e79464f529c446f31af732981feed1 SHA512 0363ac09f92d8e040491425d444c8dca0b9b430e02d2dff6e2b28a0c2b2bea0d33a47f50bc9e2e2d4e8e22b65a02009a20c0066fb89c75df93a7b703dda42ed4
|
DIST protobuf-26.1.tar.gz 5957903 BLAKE2B 1a7faab2f56aa0995801a80f73a812c7fc38a00af0bf25bdd5eecf7aec27a86a575ea2fb8484787d19c9ac6e46007c9864e79464f529c446f31af732981feed1 SHA512 0363ac09f92d8e040491425d444c8dca0b9b430e02d2dff6e2b28a0c2b2bea0d33a47f50bc9e2e2d4e8e22b65a02009a20c0066fb89c75df93a7b703dda42ed4
|
||||||
|
DIST protobuf-27.2.tar.gz 6282174 BLAKE2B 86d12e9f87e8e1c2961ad517115c8689a8dd984722513816d8d626e59a76f5e7a698a90cbf6007daacf66c6053c9ff28108ff113579a442ce61cd221178bda44 SHA512 664c66b62cf1ed0c65d9b910d8e67d4d5d471113697f1b8edf1573cd5c0fc8e850ac53ce984e48e6c6b9cbbefa12f8530058384e7388e65a59c1e46d03772397
|
||||||
|
@ -1,7 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||||
<pkgmetadata>
|
<pkgmetadata>
|
||||||
<!-- maintainer-needed -->
|
<maintainer type="person" proxied="yes">
|
||||||
|
<email>negril.nx+gentoo@gmail.com</email>
|
||||||
|
<name>Paul Zander</name>
|
||||||
|
</maintainer>
|
||||||
|
<maintainer type="project" proxied="proxy">
|
||||||
|
<email>proxy-maint@gentoo.org</email>
|
||||||
|
<name>Proxy Maintainers</name>
|
||||||
|
</maintainer>
|
||||||
<slots>
|
<slots>
|
||||||
<subslots>Soname version number</subslots>
|
<subslots>Soname version number</subslots>
|
||||||
</slots>
|
</slots>
|
||||||
@ -9,4 +16,11 @@
|
|||||||
<remote-id type="cpe">cpe:/a:google:protobuf</remote-id>
|
<remote-id type="cpe">cpe:/a:google:protobuf</remote-id>
|
||||||
<remote-id type="github">protocolbuffers/protobuf</remote-id>
|
<remote-id type="github">protocolbuffers/protobuf</remote-id>
|
||||||
</upstream>
|
</upstream>
|
||||||
|
<use>
|
||||||
|
<flag name="conformance">Build conformance tests</flag>
|
||||||
|
<flag name="libprotoc">Build libprotoc</flag>
|
||||||
|
<flag name="libupb">Build libupb</flag>
|
||||||
|
<flag name="protobuf">Build protobuf libraries and protoc compiler</flag>
|
||||||
|
<flag name="protoc">Build libprotoc and protoc compiler</flag>
|
||||||
|
</use>
|
||||||
</pkgmetadata>
|
</pkgmetadata>
|
||||||
|
133
sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-22.5-r2.ebuild
vendored
Normal file
133
sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-22.5-r2.ebuild
vendored
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
# Copyright 2008-2024 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit cmake-multilib elisp-common flag-o-matic toolchain-funcs
|
||||||
|
|
||||||
|
ABSEIL_BRANCH="lts_2023_01_25" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
|
||||||
|
|
||||||
|
ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
|
||||||
|
ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
|
||||||
|
|
||||||
|
if [[ "${PV}" == *9999 ]]; then
|
||||||
|
EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
|
||||||
|
EGIT_SUBMODULES=( '-*' )
|
||||||
|
|
||||||
|
inherit git-r3
|
||||||
|
else
|
||||||
|
SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
|
||||||
|
HOMEPAGE="https://protobuf.dev/"
|
||||||
|
|
||||||
|
LICENSE="BSD"
|
||||||
|
SLOT="0/$(ver_cut 1-2).0"
|
||||||
|
IUSE="emacs examples test zlib"
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
BDEPEND="
|
||||||
|
emacs? ( app-editors/emacs:* )
|
||||||
|
"
|
||||||
|
|
||||||
|
COMMON_DEPEND="
|
||||||
|
dev-libs/jsoncpp
|
||||||
|
>=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
|
||||||
|
zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
|
||||||
|
"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
${COMMON_DEPEND}
|
||||||
|
test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
|
||||||
|
"
|
||||||
|
RDEPEND="
|
||||||
|
${COMMON_DEPEND}
|
||||||
|
${BDEPEND}
|
||||||
|
"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}/${PN}-23.3-disable-32-bit-tests.patch"
|
||||||
|
"${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
|
||||||
|
"${FILESDIR}/${P}-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch"
|
||||||
|
"${FILESDIR}/${P}-Use-the-same-ABI-for-static-and-shared-libraries-on-.patch"
|
||||||
|
)
|
||||||
|
|
||||||
|
DOCS=( CONTRIBUTORS.txt README.md )
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
eapply_user
|
||||||
|
append-cxxflags -std=c++17
|
||||||
|
cmake_src_prepare
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
if tc-ld-is-gold; then
|
||||||
|
# https://sourceware.org/bugzilla/show_bug.cgi?id=24527
|
||||||
|
tc-ld-disable-gold
|
||||||
|
fi
|
||||||
|
|
||||||
|
cmake-multilib_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_configure() {
|
||||||
|
local mycmakeargs=(
|
||||||
|
-Dprotobuf_DISABLE_RTTI="yes" # TODO why?
|
||||||
|
-Dprotobuf_BUILD_EXAMPLES="$(usex examples)"
|
||||||
|
-Dprotobuf_WITH_ZLIB="$(usex zlib)"
|
||||||
|
-Dprotobuf_BUILD_TESTS="$(usex test)"
|
||||||
|
-Dprotobuf_ABSL_PROVIDER="package"
|
||||||
|
)
|
||||||
|
use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON)
|
||||||
|
|
||||||
|
cmake_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
cmake-multilib_src_compile
|
||||||
|
|
||||||
|
if use emacs; then
|
||||||
|
elisp-compile editors/protobuf-mode.el
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
local -x srcdir="${S}"/src
|
||||||
|
cmake-multilib_src_test
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install_all() {
|
||||||
|
find "${ED}" -name "*.la" -delete || die
|
||||||
|
|
||||||
|
if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then
|
||||||
|
eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
|
||||||
|
"Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}"
|
||||||
|
die "Please update SLOT variable"
|
||||||
|
fi
|
||||||
|
|
||||||
|
insinto /usr/share/vim/vimfiles/syntax
|
||||||
|
doins editors/proto.vim
|
||||||
|
insinto /usr/share/vim/vimfiles/ftdetect
|
||||||
|
doins "${FILESDIR}/proto.vim"
|
||||||
|
|
||||||
|
if use emacs; then
|
||||||
|
elisp-install "${PN}" editors/protobuf-mode.el*
|
||||||
|
elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use examples; then
|
||||||
|
DOCS+=(examples)
|
||||||
|
docompress -x "/usr/share/doc/${PF}/examples"
|
||||||
|
fi
|
||||||
|
|
||||||
|
einstalldocs
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
use emacs && elisp-site-regen
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
use emacs && elisp-site-regen
|
||||||
|
}
|
126
sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-23.4.ebuild
vendored
Normal file
126
sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-23.4.ebuild
vendored
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
# Copyright 2008-2024 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit cmake-multilib elisp-common toolchain-funcs
|
||||||
|
|
||||||
|
ABSEIL_BRANCH="lts_2023_01_25" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
|
||||||
|
|
||||||
|
ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
|
||||||
|
ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
|
||||||
|
|
||||||
|
if [[ "${PV}" == *9999 ]]; then
|
||||||
|
EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
|
||||||
|
EGIT_SUBMODULES=( '-*' )
|
||||||
|
|
||||||
|
inherit git-r3
|
||||||
|
else
|
||||||
|
SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
|
||||||
|
HOMEPAGE="https://protobuf.dev/"
|
||||||
|
|
||||||
|
LICENSE="BSD"
|
||||||
|
SLOT="0/$(ver_cut 1-2).0"
|
||||||
|
IUSE="emacs examples test zlib"
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
BDEPEND="
|
||||||
|
emacs? ( app-editors/emacs:* )
|
||||||
|
"
|
||||||
|
|
||||||
|
COMMON_DEPEND="
|
||||||
|
dev-libs/jsoncpp
|
||||||
|
>=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
|
||||||
|
zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
|
||||||
|
"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
${COMMON_DEPEND}
|
||||||
|
test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
|
||||||
|
"
|
||||||
|
RDEPEND="
|
||||||
|
${COMMON_DEPEND}
|
||||||
|
${BDEPEND}
|
||||||
|
"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}/${PN}-23.3-disable-32-bit-tests.patch"
|
||||||
|
"${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
|
||||||
|
"${FILESDIR}/${PN}-23.3-messages_lite-template-instances.patch"
|
||||||
|
)
|
||||||
|
|
||||||
|
DOCS=( CONTRIBUTORS.txt README.md )
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
if tc-ld-is-gold; then
|
||||||
|
# https://sourceware.org/bugzilla/show_bug.cgi?id=24527
|
||||||
|
tc-ld-disable-gold
|
||||||
|
fi
|
||||||
|
|
||||||
|
cmake-multilib_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_configure() {
|
||||||
|
local mycmakeargs=(
|
||||||
|
-Dprotobuf_DISABLE_RTTI="yes" # TODO why?
|
||||||
|
-Dprotobuf_BUILD_EXAMPLES="$(usex examples)"
|
||||||
|
-Dprotobuf_WITH_ZLIB="$(usex zlib)"
|
||||||
|
-Dprotobuf_BUILD_TESTS="$(usex test)"
|
||||||
|
-Dprotobuf_ABSL_PROVIDER="package"
|
||||||
|
)
|
||||||
|
use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON)
|
||||||
|
|
||||||
|
cmake_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
cmake-multilib_src_compile
|
||||||
|
|
||||||
|
if use emacs; then
|
||||||
|
elisp-compile editors/protobuf-mode.el
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
local -x srcdir="${S}"/src
|
||||||
|
cmake-multilib_src_test
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install_all() {
|
||||||
|
find "${ED}" -name "*.la" -delete || die
|
||||||
|
|
||||||
|
if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then
|
||||||
|
eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
|
||||||
|
"Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}"
|
||||||
|
die "Please update SLOT variable"
|
||||||
|
fi
|
||||||
|
|
||||||
|
insinto /usr/share/vim/vimfiles/syntax
|
||||||
|
doins editors/proto.vim
|
||||||
|
insinto /usr/share/vim/vimfiles/ftdetect
|
||||||
|
doins "${FILESDIR}/proto.vim"
|
||||||
|
|
||||||
|
if use emacs; then
|
||||||
|
elisp-install "${PN}" editors/protobuf-mode.el*
|
||||||
|
elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use examples; then
|
||||||
|
DOCS+=(examples)
|
||||||
|
docompress -x "/usr/share/doc/${PF}/examples"
|
||||||
|
fi
|
||||||
|
|
||||||
|
einstalldocs
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
use emacs && elisp-site-regen
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
use emacs && elisp-site-regen
|
||||||
|
}
|
125
sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-24.4.ebuild
vendored
Normal file
125
sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-24.4.ebuild
vendored
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
# Copyright 2008-2024 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit cmake-multilib elisp-common toolchain-funcs
|
||||||
|
|
||||||
|
ABSEIL_BRANCH="lts_2023_01_25" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
|
||||||
|
|
||||||
|
ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
|
||||||
|
ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
|
||||||
|
|
||||||
|
if [[ "${PV}" == *9999 ]]; then
|
||||||
|
EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
|
||||||
|
EGIT_SUBMODULES=( '-*' )
|
||||||
|
|
||||||
|
inherit git-r3
|
||||||
|
else
|
||||||
|
SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
|
||||||
|
HOMEPAGE="https://protobuf.dev/"
|
||||||
|
|
||||||
|
LICENSE="BSD"
|
||||||
|
SLOT="0/$(ver_cut 1-2).0"
|
||||||
|
IUSE="emacs examples test zlib"
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
BDEPEND="
|
||||||
|
emacs? ( app-editors/emacs:* )
|
||||||
|
"
|
||||||
|
|
||||||
|
COMMON_DEPEND="
|
||||||
|
dev-libs/jsoncpp
|
||||||
|
>=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
|
||||||
|
zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
|
||||||
|
"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
${COMMON_DEPEND}
|
||||||
|
test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
|
||||||
|
"
|
||||||
|
RDEPEND="
|
||||||
|
${COMMON_DEPEND}
|
||||||
|
${BDEPEND}
|
||||||
|
"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch"
|
||||||
|
"${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
|
||||||
|
)
|
||||||
|
|
||||||
|
DOCS=( CONTRIBUTORS.txt README.md )
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
if tc-ld-is-gold; then
|
||||||
|
# https://sourceware.org/bugzilla/show_bug.cgi?id=24527
|
||||||
|
tc-ld-disable-gold
|
||||||
|
fi
|
||||||
|
|
||||||
|
cmake-multilib_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_configure() {
|
||||||
|
local mycmakeargs=(
|
||||||
|
-Dprotobuf_DISABLE_RTTI="yes" # TODO why?
|
||||||
|
-Dprotobuf_BUILD_EXAMPLES="$(usex examples)"
|
||||||
|
-Dprotobuf_WITH_ZLIB="$(usex zlib)"
|
||||||
|
-Dprotobuf_BUILD_TESTS="$(usex test)"
|
||||||
|
-Dprotobuf_ABSL_PROVIDER="package"
|
||||||
|
)
|
||||||
|
use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON)
|
||||||
|
|
||||||
|
cmake_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
cmake-multilib_src_compile
|
||||||
|
|
||||||
|
if use emacs; then
|
||||||
|
elisp-compile editors/protobuf-mode.el
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
local -x srcdir="${S}"/src
|
||||||
|
cmake-multilib_src_test
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install_all() {
|
||||||
|
find "${ED}" -name "*.la" -delete || die
|
||||||
|
|
||||||
|
if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then
|
||||||
|
eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
|
||||||
|
"Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}"
|
||||||
|
die "Please update SLOT variable"
|
||||||
|
fi
|
||||||
|
|
||||||
|
insinto /usr/share/vim/vimfiles/syntax
|
||||||
|
doins editors/proto.vim
|
||||||
|
insinto /usr/share/vim/vimfiles/ftdetect
|
||||||
|
doins "${FILESDIR}/proto.vim"
|
||||||
|
|
||||||
|
if use emacs; then
|
||||||
|
elisp-install "${PN}" editors/protobuf-mode.el*
|
||||||
|
elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use examples; then
|
||||||
|
DOCS+=(examples)
|
||||||
|
docompress -x "/usr/share/doc/${PF}/examples"
|
||||||
|
fi
|
||||||
|
|
||||||
|
einstalldocs
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
use emacs && elisp-site-regen
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
use emacs && elisp-site-regen
|
||||||
|
}
|
125
sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-25.3.ebuild
vendored
Normal file
125
sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-25.3.ebuild
vendored
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
# Copyright 2008-2024 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit cmake-multilib elisp-common toolchain-funcs
|
||||||
|
|
||||||
|
ABSEIL_BRANCH="lts_2023_08_02" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
|
||||||
|
|
||||||
|
ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
|
||||||
|
ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
|
||||||
|
|
||||||
|
if [[ "${PV}" == *9999 ]]; then
|
||||||
|
EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
|
||||||
|
EGIT_SUBMODULES=( '-*' )
|
||||||
|
|
||||||
|
inherit git-r3
|
||||||
|
else
|
||||||
|
SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
|
||||||
|
HOMEPAGE="https://protobuf.dev/"
|
||||||
|
|
||||||
|
LICENSE="BSD"
|
||||||
|
SLOT="0/$(ver_cut 1-2).0"
|
||||||
|
IUSE="emacs examples test zlib"
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
BDEPEND="
|
||||||
|
emacs? ( app-editors/emacs:* )
|
||||||
|
"
|
||||||
|
|
||||||
|
COMMON_DEPEND="
|
||||||
|
dev-libs/jsoncpp
|
||||||
|
>=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
|
||||||
|
zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
|
||||||
|
"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
${COMMON_DEPEND}
|
||||||
|
test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
|
||||||
|
"
|
||||||
|
RDEPEND="
|
||||||
|
${COMMON_DEPEND}
|
||||||
|
${BDEPEND}
|
||||||
|
"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch"
|
||||||
|
"${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
|
||||||
|
)
|
||||||
|
|
||||||
|
DOCS=( CONTRIBUTORS.txt README.md )
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
if tc-ld-is-gold; then
|
||||||
|
# https://sourceware.org/bugzilla/show_bug.cgi?id=24527
|
||||||
|
tc-ld-disable-gold
|
||||||
|
fi
|
||||||
|
|
||||||
|
cmake-multilib_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_configure() {
|
||||||
|
local mycmakeargs=(
|
||||||
|
-Dprotobuf_DISABLE_RTTI="yes" # TODO why?
|
||||||
|
-Dprotobuf_BUILD_EXAMPLES="$(usex examples)"
|
||||||
|
-Dprotobuf_WITH_ZLIB="$(usex zlib)"
|
||||||
|
-Dprotobuf_BUILD_TESTS="$(usex test)"
|
||||||
|
-Dprotobuf_ABSL_PROVIDER="package"
|
||||||
|
)
|
||||||
|
use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON)
|
||||||
|
|
||||||
|
cmake_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
cmake-multilib_src_compile
|
||||||
|
|
||||||
|
if use emacs; then
|
||||||
|
elisp-compile editors/protobuf-mode.el
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
local -x srcdir="${S}"/src
|
||||||
|
cmake-multilib_src_test
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install_all() {
|
||||||
|
find "${ED}" -name "*.la" -delete || die
|
||||||
|
|
||||||
|
if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then
|
||||||
|
eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
|
||||||
|
"Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}"
|
||||||
|
die "Please update SLOT variable"
|
||||||
|
fi
|
||||||
|
|
||||||
|
insinto /usr/share/vim/vimfiles/syntax
|
||||||
|
doins editors/proto.vim
|
||||||
|
insinto /usr/share/vim/vimfiles/ftdetect
|
||||||
|
doins "${FILESDIR}/proto.vim"
|
||||||
|
|
||||||
|
if use emacs; then
|
||||||
|
elisp-install "${PN}" editors/protobuf-mode.el*
|
||||||
|
elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use examples; then
|
||||||
|
DOCS+=(examples)
|
||||||
|
docompress -x "/usr/share/doc/${PF}/examples"
|
||||||
|
fi
|
||||||
|
|
||||||
|
einstalldocs
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
use emacs && elisp-site-regen
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
use emacs && elisp-site-regen
|
||||||
|
}
|
125
sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-26.1-r2.ebuild
vendored
Normal file
125
sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-26.1-r2.ebuild
vendored
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
# Copyright 2008-2024 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit cmake-multilib elisp-common toolchain-funcs
|
||||||
|
|
||||||
|
ABSEIL_BRANCH="lts_2023_08_02" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
|
||||||
|
|
||||||
|
ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
|
||||||
|
ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
|
||||||
|
|
||||||
|
if [[ "${PV}" == *9999 ]]; then
|
||||||
|
EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
|
||||||
|
EGIT_SUBMODULES=( '-*' )
|
||||||
|
|
||||||
|
inherit git-r3
|
||||||
|
else
|
||||||
|
SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
|
||||||
|
HOMEPAGE="https://protobuf.dev/"
|
||||||
|
|
||||||
|
LICENSE="BSD"
|
||||||
|
SLOT="0/$(ver_cut 1-2).0"
|
||||||
|
IUSE="emacs examples test zlib"
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
BDEPEND="
|
||||||
|
emacs? ( app-editors/emacs:* )
|
||||||
|
"
|
||||||
|
|
||||||
|
COMMON_DEPEND="
|
||||||
|
dev-libs/jsoncpp
|
||||||
|
>=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
|
||||||
|
zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
|
||||||
|
"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
${COMMON_DEPEND}
|
||||||
|
test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
|
||||||
|
"
|
||||||
|
RDEPEND="
|
||||||
|
${COMMON_DEPEND}
|
||||||
|
${BDEPEND}
|
||||||
|
"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch"
|
||||||
|
"${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
|
||||||
|
)
|
||||||
|
|
||||||
|
DOCS=( CONTRIBUTORS.txt README.md )
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
if tc-ld-is-gold; then
|
||||||
|
# https://sourceware.org/bugzilla/show_bug.cgi?id=24527
|
||||||
|
tc-ld-disable-gold
|
||||||
|
fi
|
||||||
|
|
||||||
|
cmake-multilib_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_configure() {
|
||||||
|
local mycmakeargs=(
|
||||||
|
-Dprotobuf_DISABLE_RTTI="yes" # TODO why?
|
||||||
|
-Dprotobuf_BUILD_EXAMPLES="$(usex examples)"
|
||||||
|
-Dprotobuf_WITH_ZLIB="$(usex zlib)"
|
||||||
|
-Dprotobuf_BUILD_TESTS="$(usex test)"
|
||||||
|
-Dprotobuf_ABSL_PROVIDER="package"
|
||||||
|
)
|
||||||
|
use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON)
|
||||||
|
|
||||||
|
cmake_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
cmake-multilib_src_compile
|
||||||
|
|
||||||
|
if use emacs; then
|
||||||
|
elisp-compile editors/protobuf-mode.el
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
local -x srcdir="${S}"/src
|
||||||
|
cmake-multilib_src_test
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install_all() {
|
||||||
|
find "${ED}" -name "*.la" -delete || die
|
||||||
|
|
||||||
|
if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then
|
||||||
|
eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
|
||||||
|
"Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}"
|
||||||
|
die "Please update SLOT variable"
|
||||||
|
fi
|
||||||
|
|
||||||
|
insinto /usr/share/vim/vimfiles/syntax
|
||||||
|
doins editors/proto.vim
|
||||||
|
insinto /usr/share/vim/vimfiles/ftdetect
|
||||||
|
doins "${FILESDIR}/proto.vim"
|
||||||
|
|
||||||
|
if use emacs; then
|
||||||
|
elisp-install "${PN}" editors/protobuf-mode.el*
|
||||||
|
elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use examples; then
|
||||||
|
DOCS+=(examples)
|
||||||
|
docompress -x "/usr/share/doc/${PF}/examples"
|
||||||
|
fi
|
||||||
|
|
||||||
|
einstalldocs
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
use emacs && elisp-site-regen
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
use emacs && elisp-site-regen
|
||||||
|
}
|
160
sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-27.2.ebuild
vendored
Normal file
160
sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-27.2.ebuild
vendored
Normal file
@ -0,0 +1,160 @@
|
|||||||
|
# Copyright 2008-2024 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit cmake-multilib elisp-common toolchain-funcs
|
||||||
|
|
||||||
|
ABSEIL_BRANCH="lts_2023_08_02" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
|
||||||
|
|
||||||
|
ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
|
||||||
|
ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
|
||||||
|
|
||||||
|
if [[ "${PV}" == *9999 ]]; then
|
||||||
|
EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
|
||||||
|
EGIT_SUBMODULES=( '-*' )
|
||||||
|
MY_SLOT="27.2"
|
||||||
|
|
||||||
|
inherit git-r3
|
||||||
|
else
|
||||||
|
SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
|
||||||
|
MY_SLOT=$(ver_cut 1-2)
|
||||||
|
fi
|
||||||
|
|
||||||
|
DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
|
||||||
|
HOMEPAGE="https://protobuf.dev/"
|
||||||
|
|
||||||
|
LICENSE="BSD"
|
||||||
|
SLOT="0/${MY_SLOT}.0"
|
||||||
|
IUSE="conformance emacs examples +libprotoc libupb +protobuf +protoc test zlib"
|
||||||
|
|
||||||
|
REQUIRED_USE="
|
||||||
|
|| (
|
||||||
|
libprotoc
|
||||||
|
libupb
|
||||||
|
protobuf
|
||||||
|
protoc
|
||||||
|
)
|
||||||
|
"
|
||||||
|
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
BDEPEND="
|
||||||
|
emacs? ( app-editors/emacs:* )
|
||||||
|
!protobuf? (
|
||||||
|
>=dev-libs/protobuf-${PV}
|
||||||
|
)
|
||||||
|
"
|
||||||
|
|
||||||
|
COMMON_DEPEND="
|
||||||
|
dev-libs/jsoncpp
|
||||||
|
>=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
|
||||||
|
zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
|
||||||
|
"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
${COMMON_DEPEND}
|
||||||
|
test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
|
||||||
|
"
|
||||||
|
RDEPEND="
|
||||||
|
${COMMON_DEPEND}
|
||||||
|
${BDEPEND}
|
||||||
|
"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch"
|
||||||
|
"${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
|
||||||
|
)
|
||||||
|
|
||||||
|
DOCS=( CONTRIBUTORS.txt README.md )
|
||||||
|
|
||||||
|
# src_prepare() {
|
||||||
|
# rm "${S}/third_party/utf8_range/" -rf || die
|
||||||
|
# cmake_src_prepare
|
||||||
|
# }
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
if tc-ld-is-gold; then
|
||||||
|
# https://sourceware.org/bugzilla/show_bug.cgi?id=24527
|
||||||
|
tc-ld-disable-gold
|
||||||
|
fi
|
||||||
|
|
||||||
|
cmake-multilib_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_configure() {
|
||||||
|
local mycmakeargs=(
|
||||||
|
-Dprotobuf_ABSL_PROVIDER="package"
|
||||||
|
-Dprotobuf_JSONCPP_PROVIDER="package"
|
||||||
|
|
||||||
|
-Dprotobuf_BUILD_CONFORMANCE="$(usex test "$(usex conformance)")"
|
||||||
|
-Dprotobuf_BUILD_EXAMPLES="$(usex examples)"
|
||||||
|
-Dprotobuf_BUILD_LIBPROTOC="$(usex libprotoc)"
|
||||||
|
-Dprotobuf_BUILD_LIBUPB="$(usex libupb)"
|
||||||
|
-Dprotobuf_BUILD_PROTOBUF_BINARIES="$(usex protobuf)"
|
||||||
|
-Dprotobuf_BUILD_PROTOC_BINARIES="$(usex protoc)"
|
||||||
|
-Dprotobuf_BUILD_SHARED_LIBS="yes"
|
||||||
|
-Dprotobuf_BUILD_TESTS="$(usex test)"
|
||||||
|
|
||||||
|
-Dprotobuf_DISABLE_RTTI="no"
|
||||||
|
|
||||||
|
-Dprotobuf_INSTALL="yes"
|
||||||
|
-Dprotobuf_INSTALL_EXAMPLES="$(usex examples)"
|
||||||
|
-Dprotobuf_TEST_XML_OUTDIR="$(usex test)"
|
||||||
|
|
||||||
|
-Dprotobuf_WITH_ZLIB="$(usex zlib)"
|
||||||
|
-Dprotobuf_VERBOSE="yes"
|
||||||
|
)
|
||||||
|
use test && mycmakeargs+=( -Dprotobuf_USE_EXTERNAL_GTEST="yes" )
|
||||||
|
|
||||||
|
cmake_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
cmake-multilib_src_compile
|
||||||
|
|
||||||
|
if use emacs; then
|
||||||
|
elisp-compile editors/protobuf-mode.el
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
local -x srcdir="${S}"/src
|
||||||
|
cmake-multilib_src_test
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install_all() {
|
||||||
|
find "${ED}" -name "*.la" -delete || die
|
||||||
|
|
||||||
|
if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then
|
||||||
|
eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
|
||||||
|
"Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}"
|
||||||
|
die "Please update SLOT variable"
|
||||||
|
fi
|
||||||
|
|
||||||
|
insinto /usr/share/vim/vimfiles/syntax
|
||||||
|
doins editors/proto.vim
|
||||||
|
insinto /usr/share/vim/vimfiles/ftdetect
|
||||||
|
doins "${FILESDIR}/proto.vim"
|
||||||
|
|
||||||
|
if use emacs; then
|
||||||
|
elisp-install "${PN}" editors/protobuf-mode.el*
|
||||||
|
elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use examples; then
|
||||||
|
DOCS+=(examples)
|
||||||
|
docompress -x "/usr/share/doc/${PF}/examples"
|
||||||
|
fi
|
||||||
|
|
||||||
|
einstalldocs
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
use emacs && elisp-site-regen
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
use emacs && elisp-site-regen
|
||||||
|
}
|
160
sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-9999.ebuild
vendored
Normal file
160
sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-9999.ebuild
vendored
Normal file
@ -0,0 +1,160 @@
|
|||||||
|
# Copyright 2008-2024 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit cmake-multilib elisp-common toolchain-funcs
|
||||||
|
|
||||||
|
ABSEIL_BRANCH="lts_2023_08_02" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
|
||||||
|
|
||||||
|
ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
|
||||||
|
ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
|
||||||
|
|
||||||
|
if [[ "${PV}" == *9999 ]]; then
|
||||||
|
EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
|
||||||
|
EGIT_SUBMODULES=( '-*' )
|
||||||
|
MY_SLOT="28.0"
|
||||||
|
|
||||||
|
inherit git-r3
|
||||||
|
else
|
||||||
|
SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
|
||||||
|
MY_SLOT=$(ver_cut 1-2)
|
||||||
|
fi
|
||||||
|
|
||||||
|
DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
|
||||||
|
HOMEPAGE="https://protobuf.dev/"
|
||||||
|
|
||||||
|
LICENSE="BSD"
|
||||||
|
SLOT="0/${MY_SLOT}.0"
|
||||||
|
IUSE="conformance emacs examples +libprotoc libupb +protobuf +protoc test zlib"
|
||||||
|
|
||||||
|
REQUIRED_USE="
|
||||||
|
|| (
|
||||||
|
libprotoc
|
||||||
|
libupb
|
||||||
|
protobuf
|
||||||
|
protoc
|
||||||
|
)
|
||||||
|
"
|
||||||
|
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
BDEPEND="
|
||||||
|
emacs? ( app-editors/emacs:* )
|
||||||
|
!protobuf? (
|
||||||
|
>=dev-libs/protobuf-${PV}
|
||||||
|
)
|
||||||
|
"
|
||||||
|
|
||||||
|
COMMON_DEPEND="
|
||||||
|
dev-libs/jsoncpp
|
||||||
|
>=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
|
||||||
|
zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
|
||||||
|
"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
${COMMON_DEPEND}
|
||||||
|
test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
|
||||||
|
"
|
||||||
|
RDEPEND="
|
||||||
|
${COMMON_DEPEND}
|
||||||
|
${BDEPEND}
|
||||||
|
"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch"
|
||||||
|
"${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
|
||||||
|
)
|
||||||
|
|
||||||
|
DOCS=( CONTRIBUTORS.txt README.md )
|
||||||
|
|
||||||
|
# src_prepare() {
|
||||||
|
# rm "${S}/third_party/utf8_range/" -rf || die
|
||||||
|
# cmake_src_prepare
|
||||||
|
# }
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
if tc-ld-is-gold; then
|
||||||
|
# https://sourceware.org/bugzilla/show_bug.cgi?id=24527
|
||||||
|
tc-ld-disable-gold
|
||||||
|
fi
|
||||||
|
|
||||||
|
cmake-multilib_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_configure() {
|
||||||
|
local mycmakeargs=(
|
||||||
|
-Dprotobuf_ABSL_PROVIDER="package"
|
||||||
|
-Dprotobuf_JSONCPP_PROVIDER="package"
|
||||||
|
|
||||||
|
-Dprotobuf_BUILD_CONFORMANCE="$(usex test "$(usex conformance)")"
|
||||||
|
-Dprotobuf_BUILD_EXAMPLES="$(usex examples)"
|
||||||
|
-Dprotobuf_BUILD_LIBPROTOC="$(usex libprotoc)"
|
||||||
|
-Dprotobuf_BUILD_LIBUPB="$(usex libupb)"
|
||||||
|
-Dprotobuf_BUILD_PROTOBUF_BINARIES="$(usex protobuf)"
|
||||||
|
-Dprotobuf_BUILD_PROTOC_BINARIES="$(usex protoc)"
|
||||||
|
-Dprotobuf_BUILD_SHARED_LIBS="yes"
|
||||||
|
-Dprotobuf_BUILD_TESTS="$(usex test)"
|
||||||
|
|
||||||
|
-Dprotobuf_DISABLE_RTTI="no"
|
||||||
|
|
||||||
|
-Dprotobuf_INSTALL="yes"
|
||||||
|
-Dprotobuf_INSTALL_EXAMPLES="$(usex examples)"
|
||||||
|
-Dprotobuf_TEST_XML_OUTDIR="$(usex test)"
|
||||||
|
|
||||||
|
-Dprotobuf_WITH_ZLIB="$(usex zlib)"
|
||||||
|
-Dprotobuf_VERBOSE="yes"
|
||||||
|
)
|
||||||
|
use test && mycmakeargs+=( -Dprotobuf_USE_EXTERNAL_GTEST="yes" )
|
||||||
|
|
||||||
|
cmake_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
cmake-multilib_src_compile
|
||||||
|
|
||||||
|
if use emacs; then
|
||||||
|
elisp-compile editors/protobuf-mode.el
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
local -x srcdir="${S}"/src
|
||||||
|
cmake-multilib_src_test
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install_all() {
|
||||||
|
find "${ED}" -name "*.la" -delete || die
|
||||||
|
|
||||||
|
if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then
|
||||||
|
eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
|
||||||
|
"Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}"
|
||||||
|
die "Please update SLOT variable"
|
||||||
|
fi
|
||||||
|
|
||||||
|
insinto /usr/share/vim/vimfiles/syntax
|
||||||
|
doins editors/proto.vim
|
||||||
|
insinto /usr/share/vim/vimfiles/ftdetect
|
||||||
|
doins "${FILESDIR}/proto.vim"
|
||||||
|
|
||||||
|
if use emacs; then
|
||||||
|
elisp-install "${PN}" editors/protobuf-mode.el*
|
||||||
|
elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use examples; then
|
||||||
|
DOCS+=(examples)
|
||||||
|
docompress -x "/usr/share/doc/${PF}/examples"
|
||||||
|
fi
|
||||||
|
|
||||||
|
einstalldocs
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
use emacs && elisp-site-regen
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
use emacs && elisp-site-regen
|
||||||
|
}
|
@ -17,6 +17,6 @@ HOMEPAGE="
|
|||||||
|
|
||||||
LICENSE="Apache-2.0"
|
LICENSE="Apache-2.0"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
|
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
|
||||||
|
|
||||||
distutils_enable_tests pytest
|
distutils_enable_tests pytest
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
DIST pip-24.0-py3-none-any.whl 2110226 BLAKE2B 6a0c8c9796cd574ef1d709de40a8530a15e50158143e332b79e5ad3edceda6ce93c5ef4df49b169062598618dcc6967c2115ac2c10b05abf345318204f1eeffc SHA512 5d7462a584105bccaa9cf376f5a8c5827ead099c813c8af7392d478a4398f373d9e8cac7bbad2db51b335411ab966b21e119b1b1234c9a7ab70c6ddfc9306da6
|
DIST pip-24.0-py3-none-any.whl 2110226 BLAKE2B 6a0c8c9796cd574ef1d709de40a8530a15e50158143e332b79e5ad3edceda6ce93c5ef4df49b169062598618dcc6967c2115ac2c10b05abf345318204f1eeffc SHA512 5d7462a584105bccaa9cf376f5a8c5827ead099c813c8af7392d478a4398f373d9e8cac7bbad2db51b335411ab966b21e119b1b1234c9a7ab70c6ddfc9306da6
|
||||||
DIST pip-24.1-py3-none-any.whl 1823006 BLAKE2B ca5282b1100243cc4e391ce30d5ae7d4978987e46323b7e151c87457c4ab762f909c88ae3cb72015d09bf7c1243ddb6ad791e991093713431961962fc6fdde83 SHA512 84e8318896294e5750f30a3fa55833e5e5c802066091802e05ff94fe139c825f3fe0fb5014b899f0afd844ad1129e8d04b9fedd74a7f46a1c248dac546ab16f8
|
DIST pip-24.1-py3-none-any.whl 1823006 BLAKE2B ca5282b1100243cc4e391ce30d5ae7d4978987e46323b7e151c87457c4ab762f909c88ae3cb72015d09bf7c1243ddb6ad791e991093713431961962fc6fdde83 SHA512 84e8318896294e5750f30a3fa55833e5e5c802066091802e05ff94fe139c825f3fe0fb5014b899f0afd844ad1129e8d04b9fedd74a7f46a1c248dac546ab16f8
|
||||||
DIST pip-24.1.1-py3-none-any.whl 1824282 BLAKE2B dc8b4938002bc8ededf5f3fb5f47492b529cb846f145308d5392c04778417f7e85527064e791c4dec4bfe6fc407bcc4d7ad26ff84e0f4c436dce5db8d9ec1f25 SHA512 591c0862ca7469a00a4a0220ca9acbd4834394abb0abcd44bd071a1b392b46029d618c2219e327cd43bacdd5d62f0f47d88454d60d4028f0ba7cd02ce3e648bf
|
DIST pip-24.1.1-py3-none-any.whl 1824282 BLAKE2B dc8b4938002bc8ededf5f3fb5f47492b529cb846f145308d5392c04778417f7e85527064e791c4dec4bfe6fc407bcc4d7ad26ff84e0f4c436dce5db8d9ec1f25 SHA512 591c0862ca7469a00a4a0220ca9acbd4834394abb0abcd44bd071a1b392b46029d618c2219e327cd43bacdd5d62f0f47d88454d60d4028f0ba7cd02ce3e648bf
|
||||||
|
DIST pip-24.1.2-py3-none-any.whl 1824406 BLAKE2B b3e951f444bc93cf64a35acbef5363f7e44607f567f73eff886f5a14bd97fe5b18aa5a8de01b899601847bccee24318843b41c35cd484e758ffb4c11460b458f SHA512 bc8ed36bc9e618b7e299d412d07472b46968ba6485dd1d7eee4e8583996aa29cb268ff5d3114a6e5efeae9f6407c9f9066a0e4f5c2a0be76e6cd234b85cc2bec
|
||||||
|
@ -0,0 +1,24 @@
|
|||||||
|
# Copyright 2022-2024 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit pypi
|
||||||
|
|
||||||
|
DESCRIPTION="Shared pip wheel for ensurepip Python module"
|
||||||
|
HOMEPAGE="https://pypi.org/project/pip/"
|
||||||
|
SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
|
||||||
|
S=${DISTDIR}
|
||||||
|
|
||||||
|
LICENSE="Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MIT MPL-2.0 PSF-2"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
!<dev-python/ensurepip-wheels-100
|
||||||
|
"
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
insinto /usr/lib/python/ensurepip
|
||||||
|
doins "${A}"
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user