diff options
Diffstat (limited to 'sys-libs')
301 files changed, 6957 insertions, 8272 deletions
diff --git a/sys-libs/basu/basu-0.2.0-r1.ebuild b/sys-libs/basu/basu-0.2.0-r1.ebuild new file mode 100644 index 00000000000..97527d28343 --- /dev/null +++ b/sys-libs/basu/basu-0.2.0-r1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit meson python-any-r1 + +DESCRIPTION="The sd-bus library, extracted from systemd" +HOMEPAGE="https://sr.ht/~emersion/basu/" +LICENSE="LGPL-2.1+" +SLOT="0" + +SRC_URI="https://git.sr.ht/~emersion/basu/refs/download/v${PV}/basu-${PV}.tar.gz" +KEYWORDS="amd64" + +IUSE="audit caps" + +DEPEND=" + audit? ( sys-process/audit ) + caps? ( sys-libs/libcap ) +" + +RDEPEND="${DEPEND}" +# Needed to generate hash tables +BDEPEND="${PYTHON_DEPS} + dev-util/gperf +" + +PATCHES=( + "${FILESDIR}"/0001-"${PN}"-0.2.0-meson-add-libcap-option.patch + "${FILESDIR}"/0002-"${PN}"-0.2.0-meson-convert-audit-option-to-feature-object.patch + "${FILESDIR}"/0001-"${PN}"-0.2.0-LLD-13-and-GNU-ld-2.37-support-z-start-stop-gc-which.patch + "${FILESDIR}"/0002-"${PN}"-0.2.0-meson-fix-linking-on-LLD-13-LD-2.37-and-older-CCs.patch +) + +src_configure() { + local emesonargs=( + $(meson_feature audit) + $(meson_feature caps libcap) + ) + meson_src_configure +} diff --git a/sys-libs/basu/files/0001-basu-0.2.0-LLD-13-and-GNU-ld-2.37-support-z-start-stop-gc-which.patch b/sys-libs/basu/files/0001-basu-0.2.0-LLD-13-and-GNU-ld-2.37-support-z-start-stop-gc-which.patch new file mode 100644 index 00000000000..efc4add7954 --- /dev/null +++ b/sys-libs/basu/files/0001-basu-0.2.0-LLD-13-and-GNU-ld-2.37-support-z-start-stop-gc-which.patch @@ -0,0 +1,51 @@ +From baa3a54e019b8ba6161fe20943c897490f4bcde8 Mon Sep 17 00:00:00 2001 +From: Fangrui Song <i@maskray.me> +Date: Sat, 27 Nov 2021 18:19:46 +0100 +Subject: [PATCH basu] LLD 13 and GNU ld 2.37 support -z start-stop-gc which + allows garbage collection of C identifier name sections despite the + __start_/__stop_ references. Simply set the retain attribute so that GCC 11 + (if configure-time binutils is 2.36 or newer)/Clang 13 will set the + SHF_GNU_RETAIN section attribute to prevent garbage collection. + +Without the patch, there are linker errors like the following with -z +start-stop-gc. + +``` +ld: error: undefined symbol: __start_SYSTEMD_BUS_ERROR_MAP +>>> referenced by bus-error.c:93 (../src/libsystemd/sd-bus/bus-error.c:93) +>>> sd-bus_bus-error.c.o:(bus_error_name_to_errno) in archive src/libsystemd/libsystemd_static.a +``` + +Co-authored-by: Evgeniy Khramtsov <evgeniy@khramtsov.org> +--- +Upstream: https://git.sr.ht/~emersion/basu/commit/5fa970e868f25ebc79ccca9b1d9df4c030d97661 +Gentoo bug: https://bugs.gentoo.org/832045 + + src/libsystemd/sd-bus/bus-error.h | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/libsystemd/sd-bus/bus-error.h b/src/libsystemd/sd-bus/bus-error.h +index 06c478a..883213f 100644 +--- a/src/libsystemd/sd-bus/bus-error.h ++++ b/src/libsystemd/sd-bus/bus-error.h +@@ -28,11 +28,17 @@ int bus_error_set_errnofv(sd_bus_error *e, int error, const char *format, va_lis + * the bus error table, and BUS_ERROR_MAP_ELF_USE has to be used at + * least once per compilation unit (i.e. per library), to ensure that + * the error map is really added to the final binary. ++ * ++ * In addition, set the retain attribute so that the section cannot be ++ * discarded by ld --gc-sections -z start-stop-gc. Older compilers would ++ * warn for the unknown attribute, so just disable -Wattributes. + */ + + #define BUS_ERROR_MAP_ELF_REGISTER \ ++ _Pragma("GCC diagnostic ignored \"-Wattributes\"") \ + __attribute__ ((__section__("BUS_ERROR_MAP"))) \ + __attribute__ ((__used__)) \ ++ __attribute__ ((retain)) \ + __attribute__ ((aligned(8))) + + #define BUS_ERROR_MAP_ELF_USE(errors) \ +-- +2.34.1 + diff --git a/sys-libs/basu/files/0002-basu-0.2.0-meson-fix-linking-on-LLD-13-LD-2.37-and-older-CCs.patch b/sys-libs/basu/files/0002-basu-0.2.0-meson-fix-linking-on-LLD-13-LD-2.37-and-older-CCs.patch new file mode 100644 index 00000000000..c0a9399ecf7 --- /dev/null +++ b/sys-libs/basu/files/0002-basu-0.2.0-meson-fix-linking-on-LLD-13-LD-2.37-and-older-CCs.patch @@ -0,0 +1,44 @@ +From c4d9f5aac80d02b7e7447d2eda698e17a245071e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <arsen@aarsen.me> +Date: Tue, 25 Jan 2022 18:36:36 +0100 +Subject: [PATCH basu] meson: fix linking on LLD 13/LD 2.37 and older CCs + +For compilers that do not support __attribute((retain)), +-z no-start-stop-gc is a requirement. +--- +Submitted at: https://lists.sr.ht/~emersion/public-inbox/patches/28722#%3C20220125192953.1781959-1-arsen@aarsen.me%3E +Gentoo bug: https://bugs.gentoo.org/832045 + + meson.build | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/meson.build b/meson.build +index 1f29690..74e9934 100644 +--- a/meson.build ++++ b/meson.build +@@ -101,6 +101,22 @@ if get_option('buildtype') != 'debug' + possible_link_flags += '-Wl,--gc-sections' + endif + ++if cc.get_id() in ['gcc', 'clang'] ++# XXX(arsen): remember to update with a future meson release ++ has_retain_attr = cc.compiles( ++ '__attribute__((retain)) int x;', ++ args : ['-Werror=attributes'], ++ name : 'compiler supports __attribute__((retain))' ++ ) ++ ++ if not has_retain_attr and cc.has_link_argument('-Wl,-z,start-stop-gc') ++ possible_link_flags += [ ++ '-Wl,-z,nostart-stop-gc' ++ ] ++ endif ++endif ++ ++ + add_project_arguments(cc.get_supported_arguments(possible_cc_flags), language : 'c') + add_project_link_arguments(cc.get_supported_link_arguments(possible_link_flags), language : 'c') + +-- +2.34.1 + diff --git a/sys-libs/basu/metadata.xml b/sys-libs/basu/metadata.xml index e97261f5614..97420e65292 100644 --- a/sys-libs/basu/metadata.xml +++ b/sys-libs/basu/metadata.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> + <maintainer type="person" proxied="yes"> <email>arsen@aarsen.me</email> <name>Arsen Arsenović</name> </maintainer> - <maintainer type="project"> + <maintainer type="project" proxied="proxy"> <email>proxy-maint@gentoo.org</email> <name>Proxy Maintainers</name> </maintainer> diff --git a/sys-libs/binutils-libs/Manifest b/sys-libs/binutils-libs/Manifest index 5d39e2080c3..910214cee9c 100644 --- a/sys-libs/binutils-libs/Manifest +++ b/sys-libs/binutils-libs/Manifest @@ -4,6 +4,8 @@ DIST binutils-2.35.2-patches-1.tar.xz 11836 BLAKE2B 0141349c9618992d1ab1e0309f7e DIST binutils-2.35.2.tar.xz 22056908 BLAKE2B 9c392e0db2b482442f9476f30bd80cf2796321cbf7be79cf21af7bef167b6074c4ae009dcf9b438d2f2f4a23381c935176b2cfa85de1a526ab46e0fd844a7ca5 SHA512 9974ede5978d32e0d68fef23da48fa00bd06b0bff7ec45b00ca075c126d6bbe0cf2defc03ecc3f17bc6cc85b64271a13009c4049d7ba17de26e84e3a6e2c0348 DIST binutils-2.36.1-patches-5.tar.xz 44388 BLAKE2B 1dadb012fe35ec5fb0c5a15d348ab535bc5e3765375c97a3768c6b9f7126e0fda15d35163c9f9c33a4be98662dd120d7c1b21930a20c18dbb5345f56ecd9ecc1 SHA512 a2ce3388f1f1a77ff865481ff4b625121fd55f5234fed0a885312744f2f9c504717de1499b68252c6de64fa45866db7692df91c5838b43fbeb178938811cbe84 DIST binutils-2.36.1.tar.xz 22772248 BLAKE2B 03fbfbedd6dba2beaa836b1ed254eddd7a54a163d3061fd93edd2b9591cae24ba049b26658c524b5ccecc2f22d431dfa168218d2531aa356945c994fbbe896fa SHA512 cc24590bcead10b90763386b6f96bb027d7594c659c2d95174a6352e8b98465a50ec3e4088d0da038428abe059bbc4ae5f37b269f31a40fc048072c8a234f4e9 -DIST binutils-2.37_p1-patches-0.tar.xz 1392 BLAKE2B 128930a381022fea5d1fcb0695953e8dada2513b088b8540fe08d4e0da93ec18b6bf9c78acad6ec5a8982ae2c115d143462ef0bb7bfd63cfeb06c10ad472c2f8 SHA512 44666821f96349e96685ffcfd53a80a94659e38fc63eeeb980d0eed13aab03ae3e2d5059b4932cd9018f2f7698cdb5e15b443d60c01b2bd1385eeb0c698e0e24 -DIST binutils-2.37_p1-patches-1.tar.xz 28956 BLAKE2B 3bc14fcc52a6d11992ad9ed88fa3347ca3d5facd59de094a178a5f720d0eed6297dadf9a8fea7189076eb81274612c0b71c01f15a8f58deeaed8c8f6135ef50d SHA512 f6b2a09bfc692cf90f6cd56be81f424a68831db48054dc150eb6ec28bfa18d35933203c2d3b502f0c80e38771353c373446aec2488469fe2df20d8066033f59e +DIST binutils-2.37_p1-patches-2.tar.xz 31956 BLAKE2B 39c48628d0e2d7f3a8cf11be391b51dc64c7a534a3e64950fd992907c34fa36bebdf95cc5a184dd5b35e134e0c20376b5883abbf96ae57403c55377e615a6790 SHA512 c927aafa8c87e3b68ad28da5a17edf5647591ec26feeb56c743bc6637ffb10832b50ec6fd8442e80e40628b624e31b2f0f0b5f1193e77dc7e5442df0cb8cc8f1 DIST binutils-2.37_p1.tar.xz 22992196 BLAKE2B a8aa0f386d03a5b1466166ac7c40989c228351ccf0949a9b462b4d4615d70ab7e1a45351299140a42baf39c317b8007733c253eb547ee1dfadb612addde11621 SHA512 46c297ec2a7a5b81d1c6e3f16486a6dc2860a07520fe2dd8871d1eb5160065bbe2cc6b0415d5352bf12284133e5817a4e429e6077182d615e969bd1a8f52ed28 +DIST binutils-2.38-patches-3.tar.xz 189068 BLAKE2B 5b14c90ab7dba253e92ad57b3a702fcbf48739dd0121ce8f739d88331da820ce44c35e16ac4bee394525c3a46bce980e9e1bbf4cbc9ce8a14fc324bc8fa059e7 SHA512 099266a8ef4272fd7f7552071e1892d114ed564a38b700df32e058ed691c6bfcd6f2454f649461f9c36594ea819a35d1e4cd2418609a2407be2a4f8885e500e3 +DIST binutils-2.38-patches-4.tar.xz 193852 BLAKE2B 5a83e20008e58464ed563a6817a367e50684c59d08c47345cc546054269c42463d1651441720f865851e4e182e917df1a095c68e64226e0351b64e975d524096 SHA512 6657e547bb02898632cc45a8f1894be098aa7472b6725b65f95393e621abb127e468b4e50310720bf03f7e8d0a68bc2c47af76fc43aaa8f32b2e4a149c0c6290 +DIST binutils-2.38.tar.xz 23651408 BLAKE2B 19ede396ec97b88e632aded2f69f4684cc5053109e06c3c4a1934944e3f0ceaa9e4a2604528a440189771f778cb5d75edd510163970eeea31afba87fa256feba SHA512 8bf0b0d193c9c010e0518ee2b2e5a830898af206510992483b427477ed178396cd210235e85fd7bd99a96fc6d5eedbeccbd48317a10f752b7336ada8b2bb826d diff --git a/sys-libs/binutils-libs/binutils-libs-2.34-r2.ebuild b/sys-libs/binutils-libs/binutils-libs-2.34-r2.ebuild index de8fcddd332..7e32691caba 100644 --- a/sys-libs/binutils-libs/binutils-libs-2.34-r2.ebuild +++ b/sys-libs/binutils-libs/binutils-libs-2.34-r2.ebuild @@ -37,7 +37,7 @@ MULTILIB_WRAPPED_HEADERS=( ) src_prepare() { - if [[ ! -z ${PATCH_VER} ]] ; then + if [[ -n ${PATCH_VER} ]] ; then einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}" eapply "${WORKDIR}/patch"/*.patch fi diff --git a/sys-libs/binutils-libs/binutils-libs-2.35.2.ebuild b/sys-libs/binutils-libs/binutils-libs-2.35.2.ebuild index cf18b9ed65f..49b5b73255c 100644 --- a/sys-libs/binutils-libs/binutils-libs-2.35.2.ebuild +++ b/sys-libs/binutils-libs/binutils-libs-2.35.2.ebuild @@ -39,7 +39,7 @@ MULTILIB_WRAPPED_HEADERS=( ) src_prepare() { - if [[ ! -z ${PATCH_VER} ]] ; then + if [[ -n ${PATCH_VER} ]] ; then einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}" eapply "${WORKDIR}/patch"/*.patch fi diff --git a/sys-libs/binutils-libs/binutils-libs-2.36.1-r2.ebuild b/sys-libs/binutils-libs/binutils-libs-2.36.1-r2.ebuild index 46715c37665..14ef733b104 100644 --- a/sys-libs/binutils-libs/binutils-libs-2.36.1-r2.ebuild +++ b/sys-libs/binutils-libs/binutils-libs-2.36.1-r2.ebuild @@ -37,7 +37,7 @@ MULTILIB_WRAPPED_HEADERS=( ) src_prepare() { - if [[ ! -z ${PATCH_VER} ]] ; then + if [[ -n ${PATCH_VER} ]] ; then einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}" eapply "${WORKDIR}/patch"/*.patch fi diff --git a/sys-libs/binutils-libs/binutils-libs-2.37_p1.ebuild b/sys-libs/binutils-libs/binutils-libs-2.37_p1-r2.ebuild index 82bfad52299..bb7895a3dca 100644 --- a/sys-libs/binutils-libs/binutils-libs-2.37_p1.ebuild +++ b/sys-libs/binutils-libs/binutils-libs-2.37_p1-r2.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PATCH_VER=0 +PATCH_VER=2 PATCH_DEV=dilfridge inherit libtool toolchain-funcs multilib-minimal @@ -38,7 +38,7 @@ MULTILIB_WRAPPED_HEADERS=( ) src_prepare() { - if [[ ! -z ${PATCH_VER} ]] ; then + if [[ -n ${PATCH_VER} ]] ; then einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}" eapply "${WORKDIR}/patch"/*.patch fi diff --git a/sys-libs/binutils-libs/binutils-libs-2.37_p1-r1.ebuild b/sys-libs/binutils-libs/binutils-libs-2.38-r1.ebuild index c6195ef2ed9..e4d12985ba3 100644 --- a/sys-libs/binutils-libs/binutils-libs-2.37_p1-r1.ebuild +++ b/sys-libs/binutils-libs/binutils-libs-2.38-r1.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PATCH_VER=1 +PATCH_VER=3 PATCH_DEV=dilfridge inherit libtool toolchain-funcs multilib-minimal @@ -38,7 +38,7 @@ MULTILIB_WRAPPED_HEADERS=( ) src_prepare() { - if [[ ! -z ${PATCH_VER} ]] ; then + if [[ -n ${PATCH_VER} ]] ; then einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}" eapply "${WORKDIR}/patch"/*.patch fi @@ -46,6 +46,15 @@ src_prepare() { # Fix cross-compile relinking issue, bug #626402 elibtoolize + if [[ ${CHOST} == *-darwin* ]] ; then + # somehow libtool/configure is messed up and (custom patch at + # upstream?) and misdetects (basically assumes) nm can be called + # with -B arg -- can't run eautoreconf (fails), so patch up + # manually, this would break any target that needs -B to nm + sed -i -e 's/lt_cv_path_NM="$tmp_nm -B"/lt_cv_path_NM="$tmp_nm"/' \ + libctf/configure || die + fi + default } diff --git a/sys-libs/binutils-libs/binutils-libs-2.38-r2.ebuild b/sys-libs/binutils-libs/binutils-libs-2.38-r2.ebuild new file mode 100644 index 00000000000..a48951d19c8 --- /dev/null +++ b/sys-libs/binutils-libs/binutils-libs-2.38-r2.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PATCH_VER=4 +PATCH_DEV=dilfridge + +inherit libtool toolchain-funcs multilib-minimal + +MY_PN="binutils" +MY_P="${MY_PN}-${PV}" +PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} +PATCH_DEV=${PATCH_DEV:-dilfridge} + +DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages" +HOMEPAGE="https://sourceware.org/binutils/" +SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_P}.tar.xz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_PN}-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" + +LICENSE="|| ( GPL-3 LGPL-3 )" +SLOT="0/${PV%_p?}" +IUSE="64-bit-bfd cet multitarget nls static-libs" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +BDEPEND="nls? ( sys-devel/gettext )" +DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]" +# Need a newer binutils-config that'll reset include/lib symlinks for us. +RDEPEND="${DEPEND} + >=sys-devel/binutils-config-5 +" + +S="${WORKDIR}/${MY_P%_p?}" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/bfd.h +) + +src_prepare() { + if [[ -n ${PATCH_VER} ]] ; then + einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}" + eapply "${WORKDIR}/patch"/*.patch + fi + + # Fix cross-compile relinking issue, bug #626402 + elibtoolize + + if [[ ${CHOST} == *-darwin* ]] ; then + # somehow libtool/configure is messed up and (custom patch at + # upstream?) and misdetects (basically assumes) nm can be called + # with -B arg -- can't run eautoreconf (fails), so patch up + # manually, this would break any target that needs -B to nm + sed -i -e 's/lt_cv_path_NM="$tmp_nm -B"/lt_cv_path_NM="$tmp_nm"/' \ + libctf/configure || die + fi + + default +} + +pkgversion() { + printf "Gentoo ${PVR}" + [[ -n ${PATCHVER} ]] && printf " p${PATCHVER}" +} + +multilib_src_configure() { + local myconf=( + --enable-obsolete + --enable-shared + --enable-threads + # Newer versions (>=2.24) make this an explicit option. #497268 + --enable-install-libiberty + --disable-werror + --with-bugurl="https://bugs.gentoo.org/" + --with-pkgversion="$(pkgversion)" + $(use_enable static-libs static) + # The binutils eclass enables this flag for all bi-arch builds, + # but other tools often don't care about that support. Put it + # beyond a flag if people really want it, but otherwise leave + # it disabled as it can slow things down on 32bit arches. #438522 + $(use_enable 64-bit-bfd) + # This only disables building in the zlib subdir. + # For binutils itself, it'll use the system version. #591516 + --without-zlib + --with-system-zlib + # We only care about the libs, so disable programs. #528088 + --disable-{binutils,etc,ld,gas,gold,gprof} + # Disable modules that are in a combined binutils/gdb tree. #490566 + --disable-{gdb,libdecnumber,readline,sim} + # Strip out broken static link flags. + # https://gcc.gnu.org/PR56750 + --without-stage1-ldflags + # We pull in all USE-flags that change ABI in an incompatible + # way. #666100 + # USE=multitarget change size of global arrays + # USE=64-bit-bfd changes data structures of exported API + --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)-$(usex 64-bit-bfd 64 def) + + # avoid automagic dependency on (currently prefix) systems + # systems with debuginfod library, bug #754753 + --without-debuginfod + + # Allow user to opt into CET for host libraries. + # Ideally we would like automagic-or-disabled here. + # But the check does not quite work on i686: bug #760926. + $(use_enable cet) + ) + + # mips can't do hash-style=gnu ... + if [[ $(tc-arch) != mips ]] ; then + myconf+=( --enable-default-hash-style=gnu ) + fi + + use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) + + use nls \ + && myconf+=( --without-included-gettext ) \ + || myconf+=( --disable-nls ) + + if [[ ${CHOST} == *-darwin* ]] && use nls ; then + # fix underlinking in opcodes + sed -i -e 's/@SHARED_LDFLAGS@/@SHARED_LDFLAGS@ -lintl/' \ + "${S}"/opcodes/Makefile.in || die + fi + + ECONF_SOURCE=${S} \ + econf "${myconf[@]}" + + # Prevent makeinfo from running as we don't build docs here. + # bug #622652 + sed -i \ + -e '/^MAKEINFO/s:=.*:= true:' \ + Makefile || die +} + +multilib_src_install() { + default + # Provide libiberty.h directly. + dosym libiberty/libiberty.h /usr/include/libiberty.h +} + +multilib_src_install_all() { + use static-libs || find "${ED}"/usr -name '*.la' -delete +} diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest index d366da9434b..71665503489 100644 --- a/sys-libs/compiler-rt-sanitizers/Manifest +++ b/sys-libs/compiler-rt-sanitizers/Manifest @@ -1,9 +1,9 @@ -DIST llvm-gentoo-patchset-11.1.0-3.tar.xz 5984 BLAKE2B 89056fb8e82c7a29ae76c643ac631876d51391ffb579324aaf13c7f79e03f6fd8bbcb27d46e57e0f04a702602ebf51c116e82cb092452a1dbc97fb0eb7518f11 SHA512 08aabe8836b62ecfde4e264d567169ba495d5b5915b56aba35ae86992387e534bba6d512fde94056e641abe909b478e47edcbdaa3ee0b94182ecd68c98201441 DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249 -DIST llvm-gentoo-patchset-13.0.0.tar.xz 5012 BLAKE2B 6760c78c086aaf6629143fd920b0a2c68cad9278628fbea8164dfeb59db95984a5b5d6b3505b510c697e8c95bf8d2be782c6b73c01622d52f2da9b07ecff39e0 SHA512 7764d49343b795b6bebae64f646ba27e3e6cc2a20b8a1aee645ce0d8474633c34acfbb73c08546fee415755dd4ea5a98c1d84db5e394cf5f4fc802eb61148ab6 -DIST llvm-gentoo-patchset-13.0.1-rc1.tar.xz 5988 BLAKE2B 8f1d295d4b6937518d9e0cc00cc2ba9e12ff9773b35261f0985b2d2a4ed1e3363a7f961cb385728b5ae552d0e129d99d11e63958d32c3353b0a79a88ba5cc0d5 SHA512 8272c423a5e0e99d412bb449794ba2e8134aca69d09e90e93555dbd3b7549d6ce4d68617ca11074af0a35a6f6830bf0330cbc672c5a56054cfd824e3ac1900ea +DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01 +DIST llvm-gentoo-patchset-14.0.1.tar.xz 4724 BLAKE2B 2689298c687fa8b5fa2545afccc248c00ff6778f1a14e3e7999e5d52a1b0b9c3b2e66e8c008e27c62c6c3c08009dc7d9d083ca53698138258ac972e4ad03c042 SHA512 a9f071ad0a792f558105a64790f9e470d8aaed05bd1baabbe86539760c881f772602a03265e0962d8599f991f7fd44d14a49e2ef9d74bb5eb283f473f4084d32 +DIST llvm-gentoo-patchset-14.0.3.tar.xz 5492 BLAKE2B 48a46d50a81c5572d1573c6923bc404b198f74ee8587a928e0858553dac37f7fa39cc969d72b938ef3d2f04f6872f9e2e2478821ab90c657ecbbacb3f7d99d7a SHA512 b917b549de6d46cd7aab3e59b888b5e5ffb955435b33d6538be2f31dc30217a24740a673cb6bb661087c245121edb079052b179badaf70b86b985ca69b3652a6 DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc -DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81 DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1 -DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2 -DIST llvmorg-13.0.1-rc1.tar.gz 147284646 BLAKE2B 3a1d8d382de633b7f8fc998f8ad1e03c24b733aefc591615cbd34115d1d6d74962ae33bbf2224527b521a76930ffee425527225563a558a04173e9aa9487c781 SHA512 d487bfc9b898ad0046e0c94338d7757d8a05a1a84d683abfbc9ed4994c6d12caf88fd18575225e284070fc67b3ac0970ca6639e61b1a7cc2948b216a5364a22d +DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f +DIST llvmorg-14.0.1.tar.gz 158074615 BLAKE2B bf80366461580058494eb101646efcd1a8b55a66818a710c2eb8c649bf88c02fe4552cecf4c1c8637a64e7cee8d644bca31aafc804765ed18f2b5e2975dd6c92 SHA512 0a15aa9cfc978a7b03a1659a2affad65ede66d280f5c12bf0beaaf194cd7bdd57ff438b5f40e64c1e1b88f368de99be349e9d30b544d2bbe4a50f0ebed3307f2 +DIST llvmorg-14.0.3.tar.gz 158092596 BLAKE2B ef901df510ec6bc1242595ec330e9c9ee76e696b077d67a8d62b53608c3d18b2f2d7ea3150864e13d9b37a8ce899ebca946ebe72cbc4538700176e20859ddec2 SHA512 511e93fd9b1c414c38fe9e2649679ac0b16cb04f7f7838569d187b04c542a185e364d6db73e96465026e3b2533649eb75ac95507d12514af32b28bdfb66f2646 diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-11.1.0-r1.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-11.1.0-r1.ebuild deleted file mode 100644 index e089a94c228..00000000000 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-11.1.0-r1.ebuild +++ /dev/null @@ -1,204 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{7..9} ) -inherit check-reqs cmake flag-o-matic llvm llvm.org python-any-r1 - -DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)" -HOMEPAGE="https://llvm.org/" - -LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" -SLOT="$(ver_cut 1-3)" -KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos" -IUSE="+clang test elibc_glibc" -# base targets -IUSE+=" +libfuzzer +profile +xray" -# sanitizer targets, keep in sync with config-ix.cmake -# NB: ubsan, scudo deliberately match two entries -SANITIZER_FLAGS=( - asan dfsan lsan msan hwasan tsan ubsan safestack cfi scudo - shadowcallstack gwp-asan -) -IUSE+=" ${SANITIZER_FLAGS[@]/#/+}" -REQUIRED_USE=" - || ( ${SANITIZER_FLAGS[*]} libfuzzer profile xray ) - test? ( - cfi? ( ubsan ) - gwp-asan? ( scudo ) - )" -RESTRICT="!test? ( test ) !clang? ( test )" - -CLANG_SLOT=${SLOT%%.*} -# llvm-6 for new lit options -DEPEND=" - >=sys-devel/llvm-6 - virtual/libcrypt" -BDEPEND=" - >=dev-util/cmake-3.16 - clang? ( sys-devel/clang ) - elibc_glibc? ( net-libs/libtirpc ) - test? ( - !<sys-apps/sandbox-2.13 - $(python_gen_any_dep ">=dev-python/lit-5[\${PYTHON_USEDEP}]") - =sys-devel/clang-${PV%_*}*:${CLANG_SLOT} - sys-libs/compiler-rt:${SLOT} - ) - ${PYTHON_DEPS}" - -LLVM_COMPONENTS=( compiler-rt ) -LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support llvm/utils/unittest ) -LLVM_PATCHSET=11.1.0-3 -llvm.org_set_globals - -python_check_deps() { - use test || return 0 - has_version "dev-python/lit[${PYTHON_USEDEP}]" -} - -check_space() { - if use test; then - local CHECKREQS_DISK_BUILD=11G - check-reqs_pkg_pretend - fi -} - -pkg_pretend() { - check_space -} - -pkg_setup() { - check_space - llvm_pkg_setup - python-any-r1_pkg_setup -} - -src_prepare() { - sed -i -e 's:-Werror::' lib/tsan/go/buildgo.sh || die - - local flag - for flag in "${SANITIZER_FLAGS[@]}"; do - if ! use "${flag}"; then - local cmake_flag=${flag/-/_} - sed -i -e "/COMPILER_RT_HAS_${cmake_flag^^}/s:TRUE:FALSE:" \ - cmake/config-ix.cmake || die - fi - done - - # TODO: fix these tests to be skipped upstream - if use asan && ! use profile; then - rm test/asan/TestCases/asan_and_llvm_coverage_test.cpp || die - fi - if use ubsan && ! use cfi; then - > test/cfi/CMakeLists.txt || die - fi - - # broken with new glibc - sed -i -e '/EXPECT_EQ.*ThreadDescriptorSize/d' \ - lib/sanitizer_common/tests/sanitizer_linux_test.cpp || die - - llvm.org_src_prepare -} - -src_configure() { - # pre-set since we need to pass it to cmake - BUILD_DIR=${WORKDIR}/compiler-rt_build - - if use clang; then - local -x CC=${CHOST}-clang - local -x CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - local flag want_sanitizer=OFF - for flag in "${SANITIZER_FLAGS[@]}"; do - if use "${flag}"; then - want_sanitizer=ON - break - fi - done - - local mycmakeargs=( - -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}" - # use a build dir structure consistent with install - # this makes it possible to easily deploy test-friendly clang - -DCOMPILER_RT_OUTPUT_DIR="${BUILD_DIR}/lib/clang/${SLOT}" - - -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) - # builtins & crt installed by sys-libs/compiler-rt - -DCOMPILER_RT_BUILD_BUILTINS=OFF - -DCOMPILER_RT_BUILD_CRT=OFF - -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer) - -DCOMPILER_RT_BUILD_PROFILE=$(usex profile) - -DCOMPILER_RT_BUILD_SANITIZERS="${want_sanitizer}" - -DCOMPILER_RT_BUILD_XRAY=$(usex xray) - - -DPython3_EXECUTABLE="${PYTHON}" - ) - if use test; then - mycmakeargs+=( - -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="$(get_lit_flags)" - - # they are created during src_test() - -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${CLANG_SLOT}/bin/clang" - -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${CLANG_SLOT}/bin/clang++" - ) - - # same flags are passed for build & tests, so we need to strip - # them down to a subset supported by clang - CC=${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang \ - CXX=${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang++ \ - strip-unsupported-flags - fi - - if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then - mycmakeargs+=( - # setting -isysroot is disabled with compiler-rt-prefix-paths.patch - # this allows adding arm64 support using SDK in EPREFIX - -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk" - # Set version based on the SDK in EPREFIX - # This disables i386 for SDK >= 10.15 - # Will error if has_use tsan and SDK < 10.12 - -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')" - # Use our libtool instead of looking it up with xcrun - -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool" - ) - fi - - cmake_src_configure - - if use test; then - local sys_dir=( "${EPREFIX}"/usr/lib/clang/${SLOT}/lib/* ) - [[ -e ${sys_dir} ]] || die "Unable to find ${sys_dir}" - [[ ${#sys_dir[@]} -eq 1 ]] || die "Non-deterministic compiler-rt install: ${sys_dir[*]}" - - # copy clang over since resource_dir is located relatively to binary - # therefore, we can put our new libraries in it - mkdir -p "${BUILD_DIR}"/lib/{llvm/${CLANG_SLOT}/{bin,$(get_libdir)},clang/${SLOT}/include} || die - cp "${EPREFIX}"/usr/lib/llvm/${CLANG_SLOT}/bin/clang{,++} \ - "${BUILD_DIR}"/lib/llvm/${CLANG_SLOT}/bin/ || die - cp "${EPREFIX}"/usr/lib/clang/${SLOT}/include/*.h \ - "${BUILD_DIR}"/lib/clang/${SLOT}/include/ || die - cp "${sys_dir}"/*builtins*.a \ - "${BUILD_DIR}/lib/clang/${SLOT}/lib/${sys_dir##*/}/" || die - # we also need LLVMgold.so for gold-based tests - if [[ -f ${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/$(get_libdir)/LLVMgold.so ]]; then - ln -s "${EPREFIX}"/usr/lib/llvm/${CLANG_SLOT}/$(get_libdir)/LLVMgold.so \ - "${BUILD_DIR}"/lib/llvm/${CLANG_SLOT}/$(get_libdir)/ || die - fi - fi -} - -src_test() { - # respect TMPDIR! - local -x LIT_PRESERVES_TMP=1 - # disable sandbox to have it stop clobbering LD_PRELOAD - local -x SANDBOX_ON=0 - # wipe LD_PRELOAD to make ASAN happy - local -x LD_PRELOAD= - - cmake_build check-all -} diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-12.0.1.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-12.0.1.ebuild index 5d5313171cc..8e473f55140 100644 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-12.0.1.ebuild +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-12.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -12,7 +12,7 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="$(ver_cut 1-3)" KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos" -IUSE="+clang test elibc_glibc" +IUSE="+clang test" # base targets IUSE+=" +libfuzzer +memprof +profile +xray" # sanitizer targets, keep in sync with config-ix.cmake diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.1_rc1.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.1.ebuild index c456d296bcb..9ea0f646dc8 100644 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.1_rc1.ebuild +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,8 +11,8 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="$(ver_cut 1-3)" -KEYWORDS="" -IUSE="+abi_x86_32 abi_x86_64 +clang debug test elibc_glibc" +KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos" +IUSE="+abi_x86_32 abi_x86_64 +clang debug test" # base targets IUSE+=" +libfuzzer +memprof +orc +profile +xray" # sanitizer targets, keep in sync with config-ix.cmake diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-14.0.0.9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-14.0.1.ebuild index 4e70cfd227c..b0a36755b56 100644 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-14.0.0.9999.ebuild +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-14.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,8 +11,8 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="$(ver_cut 1-3)" -KEYWORDS="" -IUSE="+abi_x86_32 abi_x86_64 +clang debug test elibc_glibc" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~ppc-macos ~x64-macos" +IUSE="+abi_x86_32 abi_x86_64 +clang debug test" # base targets IUSE+=" +libfuzzer +memprof +orc +profile +xray" # sanitizer targets, keep in sync with config-ix.cmake @@ -51,7 +51,7 @@ BDEPEND=" LLVM_COMPONENTS=( compiler-rt cmake ) LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support llvm/utils/unittest ) -LLVM_PATCHSET=9999-1 +LLVM_PATCHSET=${PV/_/-} llvm.org_set_globals python_check_deps() { diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.0.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-14.0.3.ebuild index 68f7e7b395d..433da0366bd 100644 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.0.ebuild +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-14.0.3.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 PYTHON_COMPAT=( python3_{8..10} ) inherit check-reqs cmake flag-o-matic llvm llvm.org python-any-r1 @@ -11,8 +11,8 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="$(ver_cut 1-3)" -KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos" -IUSE="+clang debug test elibc_glibc" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~ppc-macos ~x64-macos" +IUSE="+abi_x86_32 abi_x86_64 +clang debug test" # base targets IUSE+=" +libfuzzer +memprof +orc +profile +xray" # sanitizer targets, keep in sync with config-ix.cmake @@ -27,14 +27,19 @@ REQUIRED_USE=" test? ( cfi? ( ubsan ) gwp-asan? ( scudo ) - )" -RESTRICT="!test? ( test ) !clang? ( test )" + ) +" +RESTRICT=" + !clang? ( test ) + !test? ( test ) +" CLANG_SLOT=${SLOT%%.*} # llvm-6 for new lit options DEPEND=" >=sys-devel/llvm-6 - virtual/libcrypt" + virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?] +" BDEPEND=" >=dev-util/cmake-3.16 clang? ( sys-devel/clang ) @@ -47,11 +52,12 @@ BDEPEND=" ) !test? ( ${PYTHON_DEPS} - )" + ) +" -LLVM_COMPONENTS=( compiler-rt ) +LLVM_COMPONENTS=( compiler-rt cmake ) LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support llvm/utils/unittest ) -LLVM_PATCHSET=${PV/_/-} +LLVM_PATCHSET=${PV} llvm.org_set_globals python_check_deps() { @@ -139,6 +145,14 @@ src_configure() { -DPython3_EXECUTABLE="${PYTHON}" ) + + if use amd64; then + mycmakeargs+=( + -DCAN_TARGET_i386=$(usex abi_x86_32) + -DCAN_TARGET_x86_64=$(usex abi_x86_64) + ) + fi + if use test; then mycmakeargs+=( -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.1.9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-15.0.0.9999.ebuild index f89af63c6d3..5006d1d658c 100644 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.1.9999.ebuild +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-15.0.0.9999.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 PYTHON_COMPAT=( python3_{8..10} ) inherit check-reqs cmake flag-o-matic llvm llvm.org python-any-r1 @@ -12,7 +12,7 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="$(ver_cut 1-3)" KEYWORDS="" -IUSE="+abi_x86_32 abi_x86_64 +clang debug test elibc_glibc" +IUSE="+abi_x86_32 abi_x86_64 +clang debug test" # base targets IUSE+=" +libfuzzer +memprof +orc +profile +xray" # sanitizer targets, keep in sync with config-ix.cmake @@ -27,29 +27,35 @@ REQUIRED_USE=" test? ( cfi? ( ubsan ) gwp-asan? ( scudo ) - )" -RESTRICT="!test? ( test ) !clang? ( test )" + ) +" +RESTRICT=" + !clang? ( test ) + !test? ( test ) +" CLANG_SLOT=${SLOT%%.*} # llvm-6 for new lit options DEPEND=" >=sys-devel/llvm-6 - virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?]" + virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?] +" BDEPEND=" >=dev-util/cmake-3.16 clang? ( sys-devel/clang ) elibc_glibc? ( net-libs/libtirpc ) test? ( !<sys-apps/sandbox-2.13 - $(python_gen_any_dep ">=dev-python/lit-5[\${PYTHON_USEDEP}]") + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") =sys-devel/clang-${PV%_*}*:${CLANG_SLOT} sys-libs/compiler-rt:${SLOT} ) !test? ( ${PYTHON_DEPS} - )" + ) +" -LLVM_COMPONENTS=( compiler-rt ) +LLVM_COMPONENTS=( compiler-rt cmake ) LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support llvm/utils/unittest ) LLVM_PATCHSET=9999-1 llvm.org_set_globals diff --git a/sys-libs/compiler-rt/Manifest b/sys-libs/compiler-rt/Manifest index 3e1261de5ed..71665503489 100644 --- a/sys-libs/compiler-rt/Manifest +++ b/sys-libs/compiler-rt/Manifest @@ -1,9 +1,9 @@ -DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249 -DIST llvm-gentoo-patchset-13.0.0.tar.xz 5012 BLAKE2B 6760c78c086aaf6629143fd920b0a2c68cad9278628fbea8164dfeb59db95984a5b5d6b3505b510c697e8c95bf8d2be782c6b73c01622d52f2da9b07ecff39e0 SHA512 7764d49343b795b6bebae64f646ba27e3e6cc2a20b8a1aee645ce0d8474633c34acfbb73c08546fee415755dd4ea5a98c1d84db5e394cf5f4fc802eb61148ab6 -DIST llvm-gentoo-patchset-13.0.1-rc1.tar.xz 5988 BLAKE2B 8f1d295d4b6937518d9e0cc00cc2ba9e12ff9773b35261f0985b2d2a4ed1e3363a7f961cb385728b5ae552d0e129d99d11e63958d32c3353b0a79a88ba5cc0d5 SHA512 8272c423a5e0e99d412bb449794ba2e8134aca69d09e90e93555dbd3b7549d6ce4d68617ca11074af0a35a6f6830bf0330cbc672c5a56054cfd824e3ac1900ea +DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01 +DIST llvm-gentoo-patchset-14.0.1.tar.xz 4724 BLAKE2B 2689298c687fa8b5fa2545afccc248c00ff6778f1a14e3e7999e5d52a1b0b9c3b2e66e8c008e27c62c6c3c08009dc7d9d083ca53698138258ac972e4ad03c042 SHA512 a9f071ad0a792f558105a64790f9e470d8aaed05bd1baabbe86539760c881f772602a03265e0962d8599f991f7fd44d14a49e2ef9d74bb5eb283f473f4084d32 +DIST llvm-gentoo-patchset-14.0.3.tar.xz 5492 BLAKE2B 48a46d50a81c5572d1573c6923bc404b198f74ee8587a928e0858553dac37f7fa39cc969d72b938ef3d2f04f6872f9e2e2478821ab90c657ecbbacb3f7d99d7a SHA512 b917b549de6d46cd7aab3e59b888b5e5ffb955435b33d6538be2f31dc30217a24740a673cb6bb661087c245121edb079052b179badaf70b86b985ca69b3652a6 DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc -DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81 DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1 -DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2 -DIST llvmorg-13.0.1-rc1.tar.gz 147284646 BLAKE2B 3a1d8d382de633b7f8fc998f8ad1e03c24b733aefc591615cbd34115d1d6d74962ae33bbf2224527b521a76930ffee425527225563a558a04173e9aa9487c781 SHA512 d487bfc9b898ad0046e0c94338d7757d8a05a1a84d683abfbc9ed4994c6d12caf88fd18575225e284070fc67b3ac0970ca6639e61b1a7cc2948b216a5364a22d +DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f +DIST llvmorg-14.0.1.tar.gz 158074615 BLAKE2B bf80366461580058494eb101646efcd1a8b55a66818a710c2eb8c649bf88c02fe4552cecf4c1c8637a64e7cee8d644bca31aafc804765ed18f2b5e2975dd6c92 SHA512 0a15aa9cfc978a7b03a1659a2affad65ede66d280f5c12bf0beaaf194cd7bdd57ff438b5f40e64c1e1b88f368de99be349e9d30b544d2bbe4a50f0ebed3307f2 +DIST llvmorg-14.0.3.tar.gz 158092596 BLAKE2B ef901df510ec6bc1242595ec330e9c9ee76e696b077d67a8d62b53608c3d18b2f2d7ea3150864e13d9b37a8ce899ebca946ebe72cbc4538700176e20859ddec2 SHA512 511e93fd9b1c414c38fe9e2649679ac0b16cb04f7f7838569d187b04c542a185e364d6db73e96465026e3b2533649eb75ac95507d12514af32b28bdfb66f2646 diff --git a/sys-libs/compiler-rt/compiler-rt-11.1.0.ebuild b/sys-libs/compiler-rt/compiler-rt-11.1.0.ebuild deleted file mode 100644 index 46345babf31..00000000000 --- a/sys-libs/compiler-rt/compiler-rt-11.1.0.ebuild +++ /dev/null @@ -1,123 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{7..9} ) -inherit cmake flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs - -DESCRIPTION="Compiler runtime library for clang (built-in part)" -HOMEPAGE="https://llvm.org/" - -LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" -SLOT="$(ver_cut 1-3)" -KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos" -IUSE="+clang test" -RESTRICT="!test? ( test ) !clang? ( test )" - -CLANG_SLOT=${SLOT%%.*} -# llvm-6 for new lit options -DEPEND=" - >=sys-devel/llvm-6" -BDEPEND=" - >=dev-util/cmake-3.16 - clang? ( sys-devel/clang ) - test? ( - $(python_gen_any_dep ">=dev-python/lit-9.0.1[\${PYTHON_USEDEP}]") - =sys-devel/clang-${PV%_*}*:${CLANG_SLOT} - ) - ${PYTHON_DEPS}" - -LLVM_COMPONENTS=( compiler-rt ) -LLVM_PATCHSET=11.1.0-1 -llvm.org_set_globals - -python_check_deps() { - use test || return 0 - has_version "dev-python/lit[${PYTHON_USEDEP}]" -} - -pkg_pretend() { - if ! use clang && ! tc-is-clang; then - ewarn "Building using a compiler other than clang may result in broken atomics" - ewarn "library. Enable USE=clang unless you have a very good reason not to." - fi -} - -pkg_setup() { - # Darwin Prefix builds do not have llvm installed yet, so rely on - # bootstrap-prefix to set the appropriate path vars to LLVM instead - # of using llvm_pkg_setup. - if [[ ${CHOST} != *-darwin* ]] || has_version dev-lang/llvm; then - llvm_pkg_setup - fi - python-any-r1_pkg_setup -} - -test_compiler() { - $(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \ - <<<'int main() { return 0; }' &>/dev/null -} - -src_configure() { - # pre-set since we need to pass it to cmake - BUILD_DIR=${WORKDIR}/${P}_build - - local nolib_flags=( -nodefaultlibs -lc ) - if use clang; then - local -x CC=${CHOST}-clang - local -x CXX=${CHOST}-clang++ - strip-unsupported-flags - # ensure we can use clang before installing compiler-rt - local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" - elif ! test_compiler; then - if test_compiler "${nolib_flags[@]}"; then - local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" - ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" - fi - fi - - local mycmakeargs=( - -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}" - - -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) - -DCOMPILER_RT_BUILD_LIBFUZZER=OFF - -DCOMPILER_RT_BUILD_PROFILE=OFF - -DCOMPILER_RT_BUILD_SANITIZERS=OFF - -DCOMPILER_RT_BUILD_XRAY=OFF - - -DPython3_EXECUTABLE="${PYTHON}" - ) - - if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then - mycmakeargs+=( - # setting -isysroot is disabled with compiler-rt-prefix-paths.patch - # this allows adding arm64 support using SDK in EPREFIX - -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk" - # Set version based on the SDK in EPREFIX. - # This disables i386 for SDK >= 10.15 - -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')" - # Use our libtool instead of looking it up with xcrun - -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool" - ) - fi - - if use test; then - mycmakeargs+=( - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="$(get_lit_flags)" - - -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang" - -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang++" - ) - fi - - cmake_src_configure -} - -src_test() { - # respect TMPDIR! - local -x LIT_PRESERVES_TMP=1 - - cmake_build check-builtins -} diff --git a/sys-libs/compiler-rt/compiler-rt-13.0.1_rc1.ebuild b/sys-libs/compiler-rt/compiler-rt-13.0.1.ebuild index b2851d32c00..08e7c073204 100644 --- a/sys-libs/compiler-rt/compiler-rt-13.0.1_rc1.ebuild +++ b/sys-libs/compiler-rt/compiler-rt-13.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,7 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="$(ver_cut 1-3)" -KEYWORDS="" +KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos" IUSE="+abi_x86_32 abi_x86_64 +clang debug test" RESTRICT="!test? ( test ) !clang? ( test )" diff --git a/sys-libs/compiler-rt/compiler-rt-13.0.1.9999.ebuild b/sys-libs/compiler-rt/compiler-rt-14.0.1.ebuild index 1f0bd3af8c0..0ac18806565 100644 --- a/sys-libs/compiler-rt/compiler-rt-13.0.1.9999.ebuild +++ b/sys-libs/compiler-rt/compiler-rt-14.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,7 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="$(ver_cut 1-3)" -KEYWORDS="" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~ppc-macos ~x64-macos" IUSE="+abi_x86_32 abi_x86_64 +clang debug test" RESTRICT="!test? ( test ) !clang? ( test )" @@ -30,8 +30,8 @@ BDEPEND=" ${PYTHON_DEPS} )" -LLVM_COMPONENTS=( compiler-rt ) -LLVM_PATCHSET=9999-1 +LLVM_COMPONENTS=( compiler-rt cmake ) +LLVM_PATCHSET=${PV/_/-} llvm.org_set_globals python_check_deps() { diff --git a/sys-libs/compiler-rt/compiler-rt-13.0.0.ebuild b/sys-libs/compiler-rt/compiler-rt-14.0.3.ebuild index a2d62590de1..dcbada06ccf 100644 --- a/sys-libs/compiler-rt/compiler-rt-13.0.0.ebuild +++ b/sys-libs/compiler-rt/compiler-rt-14.0.3.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 PYTHON_COMPAT=( python3_{8..10} ) inherit cmake flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs @@ -11,14 +11,15 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="$(ver_cut 1-3)" -KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos" -IUSE="+clang debug test" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~ppc-macos ~x64-macos" +IUSE="+abi_x86_32 abi_x86_64 +clang debug test" RESTRICT="!test? ( test ) !clang? ( test )" CLANG_SLOT=${SLOT%%.*} # llvm-6 for new lit options DEPEND=" - >=sys-devel/llvm-6" + >=sys-devel/llvm-6 +" BDEPEND=" >=dev-util/cmake-3.16 clang? ( sys-devel/clang ) @@ -28,10 +29,11 @@ BDEPEND=" ) !test? ( ${PYTHON_DEPS} - )" + ) +" -LLVM_COMPONENTS=( compiler-rt ) -LLVM_PATCHSET=${PV/_/-} +LLVM_COMPONENTS=( compiler-rt cmake ) +LLVM_PATCHSET=${PV} llvm.org_set_globals python_check_deps() { @@ -96,6 +98,13 @@ src_configure() { -DPython3_EXECUTABLE="${PYTHON}" ) + if use amd64; then + mycmakeargs+=( + -DCAN_TARGET_i386=$(usex abi_x86_32) + -DCAN_TARGET_x86_64=$(usex abi_x86_64) + ) + fi + if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then mycmakeargs+=( # setting -isysroot is disabled with compiler-rt-prefix-paths.patch diff --git a/sys-libs/compiler-rt/compiler-rt-14.0.0.9999.ebuild b/sys-libs/compiler-rt/compiler-rt-15.0.0.9999.ebuild index 98c8fe855cf..1a7cc5f2b72 100644 --- a/sys-libs/compiler-rt/compiler-rt-14.0.0.9999.ebuild +++ b/sys-libs/compiler-rt/compiler-rt-15.0.0.9999.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 PYTHON_COMPAT=( python3_{8..10} ) inherit cmake flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs @@ -18,17 +18,19 @@ RESTRICT="!test? ( test ) !clang? ( test )" CLANG_SLOT=${SLOT%%.*} # llvm-6 for new lit options DEPEND=" - >=sys-devel/llvm-6" + >=sys-devel/llvm-6 +" BDEPEND=" >=dev-util/cmake-3.16 clang? ( sys-devel/clang ) test? ( - $(python_gen_any_dep ">=dev-python/lit-9.0.1[\${PYTHON_USEDEP}]") + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") =sys-devel/clang-${PV%_*}*:${CLANG_SLOT} ) !test? ( ${PYTHON_DEPS} - )" + ) +" LLVM_COMPONENTS=( compiler-rt cmake ) LLVM_PATCHSET=9999-1 diff --git a/sys-libs/cracklib/cracklib-2.9.7.ebuild b/sys-libs/cracklib/cracklib-2.9.7.ebuild index b2cada86052..4acc9d791b0 100644 --- a/sys-libs/cracklib/cracklib-2.9.7.ebuild +++ b/sys-libs/cracklib/cracklib-2.9.7.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -17,7 +17,7 @@ SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.bz2" LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" IUSE="nls python static-libs zlib" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" diff --git a/sys-libs/csu/csu-85-r1.ebuild b/sys-libs/csu/csu-85-r1.ebuild index 24e82d76af3..4b11e2f86b8 100644 --- a/sys-libs/csu/csu-85-r1.ebuild +++ b/sys-libs/csu/csu-85-r1.ebuild @@ -3,6 +3,8 @@ EAPI=7 +inherit flag-o-matic + DESCRIPTION="Darwin Csu (crt1.o) - Mac OS X 10.10 version" HOMEPAGE="http://www.opensource.apple.com/" SRC_URI="http://www.opensource.apple.com/tarballs/Csu/Csu-${PV}.tar.gz" @@ -21,6 +23,10 @@ DEPEND="|| ( )" src_prepare() { + # apart from gcc-4.2.1 possibly not understanding, this better not + # be aggressively optimised + filter-flags -march=* -mtune=* + # since we don't have crt0, we can't build it either sed -i \ -e 's:$(SYMROOT)/crt0.o::' \ diff --git a/sys-libs/db/db-18.1.32-r1.ebuild b/sys-libs/db/db-18.1.32-r1.ebuild index ba0c4dac5df..463c3717091 100644 --- a/sys-libs/db/db-18.1.32-r1.ebuild +++ b/sys-libs/db/db-18.1.32-r1.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 -inherit db flag-o-matic java-pkg-opt-2 autotools multilib multilib-minimal eapi7-ver toolchain-funcs +inherit db flag-o-matic autotools multilib multilib-minimal eapi7-ver toolchain-funcs #Number of official patches #PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"` @@ -31,30 +31,21 @@ done LICENSE="AGPL-3" SLOT="$(ver_cut 1-2)" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sparc ~x86" -IUSE="doc java cxx tcl test" +IUSE="doc cxx tcl test" REQUIRED_USE="test? ( tcl )" # the entire testsuite needs the TCL functionality DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jdk-1.8 ) >=sys-devel/binutils-2.16.1" -RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jre-1.8 )" +RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )" MULTILIB_WRAPPED_HEADERS=( /usr/include/db$(ver_cut 1-2)/db.h ) PATCHES=( - # bug #510506 - "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch - - # use the includes from the prefix - "${FILESDIR}"/${PN}-6.2.32-jni-check-prefix-first.patch - "${FILESDIR}"/${PN}-4.2-listen-to-java-options.patch - # sqlite configure call has an extra leading .. # upstreamed:5.2.36, missing in 5.3.x/6.x # still needs to be patched in 6.0.20 @@ -83,12 +74,6 @@ src_prepare() { -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \ "${S_BASE}"/dist/RELEASE || die - # Include the SLOT for Java JAR files - # This supersedes the unused jarlocation patches. - sed -r -i \ - -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \ - "${S_BASE}"/dist/Makefile.in || die - cd "${S_BASE}"/dist || die rm -f aclocal/libtool.m4 sed -i \ @@ -97,7 +82,7 @@ src_prepare() { sed -i \ -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \ aclocal/programs.m4 || die - AT_M4DIR="aclocal aclocal_java" eautoreconf + AT_M4DIR="aclocal" eautoreconf # Upstream sucks - they do autoconf and THEN replace the version variables. . ./RELEASE for v in \ @@ -131,11 +116,11 @@ multilib_src_configure() { --disable-sql --disable-sql_codegen --disable-sql_compat + --disable-java $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly) $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) $(use_enable cxx) $(use_enable cxx stl) - $(multilib_native_use_enable java) $(use_enable test) ) @@ -150,17 +135,7 @@ multilib_src_configure() { # Add linker versions to the symbols. Easier to do, and safer than header file # mumbo jumbo. - if use userland_GNU ; then - append-ldflags -Wl,--default-symver - fi - - # use `set` here since the java opts will contain whitespace - if multilib_is_native_abi && use java ; then - myconf+=( - --with-java-prefix="${JAVA_HOME}" - --with-javac-flags="$(java-pkg_javac-args)" - ) - fi + append-ldflags -Wl,--default-symver # Bug #270851: test needs TCL support if use tcl || use test ; then @@ -183,12 +158,6 @@ multilib_src_install() { db_src_install_headerslot db_src_install_usrlibcleanup - - if multilib_is_native_abi && use java; then - java-pkg_regso "${ED%/}"/usr/"$(get_libdir)"/libdb_java*.so - java-pkg_dojar "${ED%/}"/usr/"$(get_libdir)"/*.jar - rm -f "${ED%/}"/usr/"$(get_libdir)"/*.jar - fi } multilib_src_install_all() { diff --git a/sys-libs/db/db-18.1.40-r1.ebuild b/sys-libs/db/db-18.1.40-r1.ebuild index 0ec53149151..7809ee14599 100644 --- a/sys-libs/db/db-18.1.40-r1.ebuild +++ b/sys-libs/db/db-18.1.40-r1.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 -inherit db flag-o-matic java-pkg-opt-2 autotools multilib multilib-minimal eapi7-ver toolchain-funcs +inherit db flag-o-matic autotools multilib multilib-minimal eapi7-ver toolchain-funcs #Number of official patches #PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"` @@ -32,30 +32,21 @@ LICENSE="AGPL-3" SLOT="$(ver_cut 1-2)" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="doc java cxx tcl test" +IUSE="doc cxx tcl test" REQUIRED_USE="test? ( tcl )" # the entire testsuite needs the TCL functionality DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jdk-1.8 ) >=sys-devel/binutils-2.16.1" -RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jre-1.8 )" +RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )" MULTILIB_WRAPPED_HEADERS=( /usr/include/db$(ver_cut 1-2)/db.h ) PATCHES=( - # bug #510506 - "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch - - # use the includes from the prefix - "${FILESDIR}"/${PN}-6.2.32-jni-check-prefix-first.patch - "${FILESDIR}"/${PN}-4.2-listen-to-java-options.patch - # The upstream testsuite copies .lib and the binaries for each parallel test # core, ~300MB each. This patch uses links instead, saves a lot of space. "${FILESDIR}"/${PN}-18.1.25-test-link.patch @@ -81,12 +72,6 @@ src_prepare() { -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \ "${S_BASE}"/dist/RELEASE || die - # Include the SLOT for Java JAR files - # This supersedes the unused jarlocation patches. - sed -r -i \ - -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \ - "${S_BASE}"/dist/Makefile.in || die - cd "${S_BASE}"/dist || die rm -f aclocal/libtool.m4 sed -i \ @@ -95,8 +80,8 @@ src_prepare() { sed -i \ -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \ aclocal/programs.m4 || die - AT_M4DIR="aclocal aclocal_java" eautoreconf - # Upstream sucks - they do autoconf and THEN replace the version variables. + AT_M4DIR="aclocal" eautoreconf + # They do autoconf and THEN replace the version variables :( . ./RELEASE for v in \ DB_VERSION_{FAMILY,LETTER,RELEASE,MAJOR,MINOR} \ @@ -129,11 +114,11 @@ multilib_src_configure() { --disable-sql --disable-sql_codegen --disable-sql_compat + --disable-java $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly) $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) $(use_enable cxx) $(use_enable cxx stl) - $(multilib_native_use_enable java) $(use_enable test) ) @@ -148,17 +133,7 @@ multilib_src_configure() { # Add linker versions to the symbols. Easier to do, and safer than header file # mumbo jumbo. - if use userland_GNU ; then - append-ldflags -Wl,--default-symver - fi - - # use `set` here since the java opts will contain whitespace - if multilib_is_native_abi && use java ; then - myconf+=( - --with-java-prefix="${JAVA_HOME}" - --with-javac-flags="$(java-pkg_javac-args)" - ) - fi + append-ldflags -Wl,--default-symver # Bug #270851: test needs TCL support if use tcl || use test ; then @@ -181,12 +156,6 @@ multilib_src_install() { db_src_install_headerslot db_src_install_usrlibcleanup - - if multilib_is_native_abi && use java; then - java-pkg_regso "${ED%/}"/usr/"$(get_libdir)"/libdb_java*.so - java-pkg_dojar "${ED%/}"/usr/"$(get_libdir)"/*.jar - rm -f "${ED%/}"/usr/"$(get_libdir)"/*.jar - fi } multilib_src_install_all() { diff --git a/sys-libs/db/db-4.8.30-r6.ebuild b/sys-libs/db/db-4.8.30-r6.ebuild index e26ebc8ebfa..ca3d6333944 100644 --- a/sys-libs/db/db-4.8.30-r6.ebuild +++ b/sys-libs/db/db-4.8.30-r6.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit autotools db flag-o-matic java-pkg-opt-2 multilib multilib-minimal toolchain-funcs +inherit autotools db flag-o-matic multilib multilib-minimal toolchain-funcs #Number of official patches #PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"` @@ -30,25 +30,18 @@ done LICENSE="Sleepycat" SLOT="$(ver_cut 1-2)" KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86" -IUSE="doc java cxx tcl test" +IUSE="doc cxx tcl test" REQUIRED_USE="test? ( tcl )" # the entire testsuite needs the TCL functionality DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jdk-1.8 )" -RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jre-1.8 )" + test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )" +RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )" PATCHES=( "${FILESDIR}"/${PN}-4.8-libtool.patch - "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch "${FILESDIR}"/${PN}-4.8.30-rename-atomic-compare-exchange.patch - - # use the includes from the prefix - "${FILESDIR}"/${PN}-4.6-jni-check-prefix-first.patch - "${FILESDIR}"/${PN}-4.2-listen-to-java-options.patch ) src_prepare() { @@ -63,12 +56,6 @@ src_prepare() { sed -e "/^DB_RELEASE_DATE=/s/%B %e, %Y/%Y-%m-%d/" -i dist/RELEASE \ || die - # Include the SLOT for Java JAR files - # This supersedes the unused jarlocation patches. - sed -r \ - -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \ - -i dist/Makefile.in || die - cd dist || die rm aclocal/libtool.m4 || die sed \ @@ -78,9 +65,9 @@ src_prepare() { -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \ -i aclocal/programs.m4 || die - AT_M4DIR="aclocal aclocal_java" eautoreconf + AT_M4DIR="aclocal" eautoreconf - # Upstream sucks - they do autoconf and THEN replace the version variables. + # They do autoconf and THEN replace the version variables :( . ./RELEASE sed \ -e "s/__EDIT_DB_VERSION_MAJOR__/$DB_VERSION_MAJOR/g" \ @@ -98,10 +85,10 @@ multilib_src_configure() { --enable-o_direct --without-uniquename --disable-static + --disable-java $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) $(use_enable cxx) $(use_enable cxx stl) - $(multilib_native_use_enable java) $(use_enable test) ) @@ -116,17 +103,7 @@ multilib_src_configure() { # Add linker versions to the symbols. Easier to do, and safer than header file # mumbo jumbo. - if use userland_GNU ; then - append-ldflags -Wl,--default-symver - fi - - # use `set` here since the java opts will contain whitespace - if multilib_is_native_abi && use java ; then - myconf+=( - --with-java-prefix="${JAVA_HOME}" - --with-javac-flags="$(java-pkg_javac-args)" - ) - fi + append-ldflags -Wl,--default-symver # Bug #270851: test needs TCL support if use tcl || use test ; then @@ -163,12 +140,6 @@ multilib_src_install() { db_src_install_headerslot db_src_install_usrlibcleanup - - if multilib_is_native_abi && use java; then - java-pkg_regso "${ED}"/usr/"$(get_libdir)"/libdb_java*.so - java-pkg_dojar "${ED}"/usr/"$(get_libdir)"/*.jar - rm -f "${ED}"/usr/"$(get_libdir)"/*.jar - fi } multilib_src_install_all() { diff --git a/sys-libs/db/db-5.3.28-r8.ebuild b/sys-libs/db/db-5.3.28-r8.ebuild index 982f14a543a..133c241be4a 100644 --- a/sys-libs/db/db-5.3.28-r8.ebuild +++ b/sys-libs/db/db-5.3.28-r8.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit autotools db flag-o-matic java-pkg-opt-2 multilib multilib-minimal toolchain-funcs +inherit autotools db flag-o-matic multilib multilib-minimal toolchain-funcs #Number of official patches #PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"` @@ -30,29 +30,22 @@ done LICENSE="Sleepycat" SLOT="$(ver_cut 1-2)" KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86" -IUSE="doc java cxx tcl test" +IUSE="doc cxx tcl test" REQUIRED_USE="test? ( tcl )" # the entire testsuite needs the TCL functionality DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jdk-1.7 )" -RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jre-1.7 )" + test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )" +RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )" +# bug #841698 +BDEPEND="sys-devel/autoconf-archive" MULTILIB_WRAPPED_HEADERS=( /usr/include/db${SLOT}/db.h ) PATCHES=( - # bug #510506 - "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch - - # use the includes from the prefix - "${FILESDIR}"/${PN}-4.6-jni-check-prefix-first.patch - "${FILESDIR}"/${PN}-4.2-listen-to-java-options.patch - # sqlite configure call has an extra leading .. # upstreamed:5.2.36, missing in 5.3.x "${FILESDIR}"/${PN}-5.2.28-sqlite-configure-path.patch @@ -83,12 +76,6 @@ src_prepare() { -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \ -i dist/RELEASE || die - # Include the SLOT for Java JAR files - # This supersedes the unused jarlocation patches. - sed -r \ - -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \ - -i dist/Makefile.in || die - cd dist || die rm aclocal/libtool.m4 || die sed \ @@ -98,9 +85,9 @@ src_prepare() { -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \ -i aclocal/programs.m4 || die - AT_M4DIR="aclocal aclocal_java" eautoreconf + AT_M4DIR="aclocal" eautoreconf - # Upstream sucks - they do autoconf and THEN replace the version variables. + # They do autoconf and THEN replace the version variables :( . ./RELEASE local v ev for v in \ @@ -133,10 +120,10 @@ multilib_src_configure() { --disable-sql_codegen --disable-sql_compat --disable-static + --disable-java $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) $(use_enable cxx) $(use_enable cxx stl) - $(multilib_native_use_enable java) $(use_enable test) ) @@ -151,16 +138,7 @@ multilib_src_configure() { # Add linker versions to the symbols. Easier to do, and safer than header file # mumbo jumbo. - if use userland_GNU ; then - append-ldflags -Wl,--default-symver - fi - - if multilib_is_native_abi && use java ; then - myconf+=( - --with-java-prefix="${JAVA_HOME}" - --with-javac-flags="$(java-pkg_javac-args)" - ) - fi + append-ldflags -Wl,--default-symver # Bug #270851: test needs TCL support if use tcl || use test ; then @@ -191,12 +169,6 @@ multilib_src_install() { db_src_install_headerslot db_src_install_usrlibcleanup - - if multilib_is_native_abi && use java; then - java-pkg_regso "${ED}"/usr/"$(get_libdir)"/libdb_java*.so - java-pkg_dojar "${ED}"/usr/"$(get_libdir)"/*.jar - rm -f "${ED}"/usr/"$(get_libdir)"/*.jar - fi } multilib_src_install_all() { diff --git a/sys-libs/db/db-6.0.35-r4.ebuild b/sys-libs/db/db-6.0.35-r4.ebuild index 282cf0680da..93dc0fcf54a 100644 --- a/sys-libs/db/db-6.0.35-r4.ebuild +++ b/sys-libs/db/db-6.0.35-r4.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit autotools db flag-o-matic java-pkg-opt-2 multilib multilib-minimal toolchain-funcs +inherit autotools db flag-o-matic multilib multilib-minimal toolchain-funcs #Number of official patches #PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"` @@ -29,30 +29,21 @@ done LICENSE="AGPL-3" SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE="doc java cxx tcl test" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="doc cxx tcl test" REQUIRED_USE="test? ( tcl )" # the entire testsuite needs the TCL functionality DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jdk-1.7:* )" -RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jre-1.7:* )" + test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )" +RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )" MULTILIB_WRAPPED_HEADERS=( /usr/include/db${SLOT}/db.h ) PATCHES=( - # bug #510506 - "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch - - # use the includes from the prefix - "${FILESDIR}"/${PN}-4.6-jni-check-prefix-first.patch - "${FILESDIR}"/${PN}-4.2-listen-to-java-options.patch - # sqlite configure call has an extra leading .. # upstreamed:5.2.36, missing in 5.3.x/6.x # still needs to be patched in 6.0.20 @@ -81,12 +72,6 @@ src_prepare() { -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \ -i dist/RELEASE || die - # Include the SLOT for Java JAR files - # This supersedes the unused jarlocation patches. - sed -r \ - -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \ - -i dist/Makefile.in || die - cd dist || die rm aclocal/libtool.m4 || die sed \ @@ -96,9 +81,9 @@ src_prepare() { -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \ -i aclocal/programs.m4 || die - AT_M4DIR="aclocal aclocal_java" eautoreconf + AT_M4DIR="aclocal" eautoreconf - # Upstream sucks - they do autoconf and THEN replace the version variables. + # They do autoconf and THEN replace the version variables :( . ./RELEASE local v ev for v in \ @@ -127,10 +112,10 @@ multilib_src_configure() { --disable-sql_codegen --disable-sql_compat --disable-static + --disable-java $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) $(use_enable cxx) $(use_enable cxx stl) - $(multilib_native_use_enable java) $(use_enable test) ) @@ -145,17 +130,7 @@ multilib_src_configure() { # Add linker versions to the symbols. Easier to do, and safer than header file # mumbo jumbo. - if use userland_GNU ; then - append-ldflags -Wl,--default-symver - fi - - # use `set` here since the java opts will contain whitespace - if multilib_is_native_abi && use java ; then - myconf+=( - --with-java-prefix="${JAVA_HOME}" - --with-javac-flags="$(java-pkg_javac-args)" - ) - fi + append-ldflags -Wl,--default-symver # Bug #270851: test needs TCL support if use tcl || use test ; then @@ -190,12 +165,6 @@ multilib_src_install() { db_src_install_headerslot db_src_install_usrlibcleanup - - if multilib_is_native_abi && use java; then - java-pkg_regso "${ED}"/usr/"$(get_libdir)"/libdb_java*.so - java-pkg_dojar "${ED}"/usr/"$(get_libdir)"/*.jar - rm -f "${ED}"/usr/"$(get_libdir)"/*.jar - fi } multilib_src_install_all() { diff --git a/sys-libs/db/db-6.1.38-r1.ebuild b/sys-libs/db/db-6.1.38-r1.ebuild index 9c01f35ac79..278f210fd91 100644 --- a/sys-libs/db/db-6.1.38-r1.ebuild +++ b/sys-libs/db/db-6.1.38-r1.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 -inherit db flag-o-matic java-pkg-opt-2 autotools multilib multilib-minimal eapi7-ver toolchain-funcs +inherit db flag-o-matic autotools multilib multilib-minimal eapi7-ver versionator toolchain-funcs #Number of official patches #PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"` @@ -30,30 +30,21 @@ done LICENSE="AGPL-3" SLOT="$(get_version_component_range 1-2)" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE="doc java cxx tcl test" +IUSE="doc cxx tcl test" REQUIRED_USE="test? ( tcl )" # the entire testsuite needs the TCL functionality DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jdk-1.8 ) >=sys-devel/binutils-2.16.1" -RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jre-1.8 )" +RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )" MULTILIB_WRAPPED_HEADERS=( /usr/include/db$(ver_cut 1-2)/db.h ) PATCHES=( - # bug #510506 - "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch - - # use the includes from the prefix - "${FILESDIR}"/${PN}-6.2-jni-check-prefix-first.patch - "${FILESDIR}"/${PN}-4.2-listen-to-java-options.patch - # sqlite configure call has an extra leading .. # upstreamed:5.2.36, missing in 5.3.x/6.x # still needs to be patched in 6.0.20 @@ -82,12 +73,6 @@ src_prepare() { -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \ "${S_BASE}"/dist/RELEASE || die - # Include the SLOT for Java JAR files - # This supersedes the unused jarlocation patches. - sed -r -i \ - -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \ - "${S_BASE}"/dist/Makefile.in || die - cd "${S_BASE}"/dist || die rm -f aclocal/libtool.m4 sed -i \ @@ -96,8 +81,8 @@ src_prepare() { sed -i \ -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \ aclocal/programs.m4 || die - AT_M4DIR="aclocal aclocal_java" eautoreconf - # Upstream sucks - they do autoconf and THEN replace the version variables. + AT_M4DIR="aclocal" eautoreconf + # They do autoconf and THEN replace the version variables :( . ./RELEASE for v in \ DB_VERSION_{FAMILY,LETTER,RELEASE,MAJOR,MINOR} \ @@ -129,11 +114,11 @@ multilib_src_configure() { --disable-sql_codegen --disable-sql_compat --disable-static + --disable-java $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly) $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) $(use_enable cxx) $(use_enable cxx stl) - $(multilib_native_use_enable java) $(use_enable test) ) @@ -148,17 +133,7 @@ multilib_src_configure() { # Add linker versions to the symbols. Easier to do, and safer than header file # mumbo jumbo. - if use userland_GNU ; then - append-ldflags -Wl,--default-symver - fi - - # use `set` here since the java opts will contain whitespace - if multilib_is_native_abi && use java ; then - myeconfargs+=( - --with-java-prefix="${JAVA_HOME}" - --with-javac-flags="$(java-pkg_javac-args)" - ) - fi + append-ldflags -Wl,--default-symver # Bug #270851: test needs TCL support if use tcl || use test ; then @@ -181,12 +156,6 @@ multilib_src_install() { db_src_install_headerslot db_src_install_usrlibcleanup - - if multilib_is_native_abi && use java; then - java-pkg_regso "${ED%/}"/usr/"$(get_libdir)"/libdb_java*.so - java-pkg_dojar "${ED%/}"/usr/"$(get_libdir)"/*.jar - rm -f "${ED%/}"/usr/"$(get_libdir)"/*.jar - fi } multilib_src_install_all() { diff --git a/sys-libs/db/db-6.2.38-r1.ebuild b/sys-libs/db/db-6.2.38-r1.ebuild index 786041b37bd..de6a736bdf1 100644 --- a/sys-libs/db/db-6.2.38-r1.ebuild +++ b/sys-libs/db/db-6.2.38-r1.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 -inherit db flag-o-matic java-pkg-opt-2 autotools multilib multilib-minimal eapi7-ver toolchain-funcs +inherit db flag-o-matic autotools multilib multilib-minimal versionator eapi7-ver toolchain-funcs #Number of official patches #PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"` @@ -30,31 +30,22 @@ done LICENSE="AGPL-3" SLOT="$(get_version_component_range 1-2)" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="doc java cxx tcl test" +IUSE="doc cxx tcl test" REQUIRED_USE="test? ( tcl )" # the entire testsuite needs the TCL functionality DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jdk-1.8 ) kernel_linux? ( >=sys-devel/binutils-2.16.1 ) kernel_SunOS? ( >=sys-devel/binutils-2.16.1 )" -RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jre-1.8 )" +RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )" MULTILIB_WRAPPED_HEADERS=( /usr/include/db$(ver_cut 1-2)/db.h ) PATCHES=( - # bug #510506 - "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch - - # use the includes from the prefix - "${FILESDIR}"/${PN}-6.2.32-jni-check-prefix-first.patch - "${FILESDIR}"/${PN}-4.2-listen-to-java-options.patch - # sqlite configure call has an extra leading .. # upstreamed:5.2.36, missing in 5.3.x/6.x # still needs to be patched in 6.0.20 @@ -63,6 +54,8 @@ PATCHES=( # The upstream testsuite copies .lib and the binaries for each parallel test # core, ~300MB each. This patch uses links instead, saves a lot of space. "${FILESDIR}"/${PN}-6.0.20-test-link.patch + + "${FILESDIR}"/${PN}-6.2.38-bashism-configure.patch ) src_prepare() { @@ -83,12 +76,6 @@ src_prepare() { -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \ "${S_BASE}"/dist/RELEASE || die - # Include the SLOT for Java JAR files - # This supersedes the unused jarlocation patches. - sed -r -i \ - -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \ - "${S_BASE}"/dist/Makefile.in || die - cd "${S_BASE}"/dist || die rm -f aclocal/libtool.m4 sed -i \ @@ -97,8 +84,8 @@ src_prepare() { sed -i \ -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \ aclocal/programs.m4 || die - AT_M4DIR="aclocal aclocal_java" eautoreconf - # Upstream sucks - they do autoconf and THEN replace the version variables. + AT_M4DIR="aclocal" eautoreconf + # They do autoconf and THEN replace the version variables :( . ./RELEASE for v in \ DB_VERSION_{FAMILY,LETTER,RELEASE,MAJOR,MINOR} \ @@ -130,11 +117,11 @@ multilib_src_configure() { --disable-sql_codegen --disable-sql_compat --disable-static + --disable-java $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly) $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) $(use_enable cxx) $(use_enable cxx stl) - $(multilib_native_use_enable java) $(use_enable test) ) @@ -153,14 +140,6 @@ multilib_src_configure() { append-ldflags -Wl,--default-symver fi - # use `set` here since the java opts will contain whitespace - if multilib_is_native_abi && use java ; then - myeconfargs+=( - --with-java-prefix="${JAVA_HOME}" - --with-javac-flags="$(java-pkg_javac-args)" - ) - fi - # Bug #270851: test needs TCL support if use tcl || use test ; then myeconfargs+=( @@ -182,12 +161,6 @@ multilib_src_install() { db_src_install_headerslot db_src_install_usrlibcleanup - - if multilib_is_native_abi && use java; then - java-pkg_regso "${ED%/}"/usr/"$(get_libdir)"/libdb_java*.so - java-pkg_dojar "${ED%/}"/usr/"$(get_libdir)"/*.jar - rm -f "${ED%/}"/usr/"$(get_libdir)"/*.jar - fi } multilib_src_install_all() { diff --git a/sys-libs/db/files/db-18.1.25-sqlite-configure-path.patch b/sys-libs/db/files/db-18.1.25-sqlite-configure-path.patch new file mode 100644 index 00000000000..83fe2d66765 --- /dev/null +++ b/sys-libs/db/files/db-18.1.25-sqlite-configure-path.patch @@ -0,0 +1,11 @@ +--- a/dist/aclocal/sql.m4 ++++ b/dist/aclocal/sql.m4 +@@ -99,7 +99,7 @@ + if test "$db_cv_debug" = "yes"; then + CPPFLAGS="$CPPFLAGS -g" + fi +-(cd sql && eval "\$SHELL ../$sqlite_dir/configure --disable-option-checking $ac_sub_configure_args CPPFLAGS=\"-I.. $CPPFLAGS\" --enable-amalgamation=$db_cv_sql_amalgamation --enable-readline=$with_readline --enable-editline=$with_editline" && cat build_config.h >> config.h) || exit 1 ++(cd sql && eval "\$SHELL $sqlite_dir/configure --disable-option-checking $ac_sub_configure_args CPPFLAGS=\"-I.. $CPPFLAGS\" --enable-amalgamation=$db_cv_sql_amalgamation --enable-readline=$with_readline --enable-editline=$with_editline" && cat build_config.h >> config.h) || exit 1 + + # Configure JDBC if --enable-jdbc + if test "$db_cv_jdbc" != "no"; then diff --git a/sys-libs/db/files/db-18.1.25-test-link.patch b/sys-libs/db/files/db-18.1.25-test-link.patch index dc3d8ae93c5..5fb6d5fae7e 100644 --- a/sys-libs/db/files/db-18.1.25-test-link.patch +++ b/sys-libs/db/files/db-18.1.25-test-link.patch @@ -1,5 +1,5 @@ ---- db-18.1.25/test/tcl/parallel.tcl -+++ db-18.1.25/test/tcl/parallel.tcl +--- a/test/tcl/parallel.tcl ++++ b/test/tcl/parallel.tcl @@ -296,17 +296,26 @@ [eval glob -nocomplain {$dir/$buildpath/db_{reptest,repsite,replicate}$EXE}] \ $destdir/$buildpath} diff --git a/sys-libs/db/files/db-4.2-listen-to-java-options.patch b/sys-libs/db/files/db-4.2-listen-to-java-options.patch deleted file mode 100644 index f1f701de126..00000000000 --- a/sys-libs/db/files/db-4.2-listen-to-java-options.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/dist/configure.ac -+++ b/dist/configure.ac -@@ -385,6 +385,7 @@ - # A classpath that includes . is needed to check for Java - CLASSPATH=".:$CLASSPATH" - export CLASSPATH -+ AC_JAVA_OPTIONS - AC_PROG_JAVAC - AC_PROG_JAR - AC_PROG_JAVA diff --git a/sys-libs/db/files/db-4.6-jni-check-prefix-first.patch b/sys-libs/db/files/db-4.6-jni-check-prefix-first.patch deleted file mode 100644 index a0b2800d128..00000000000 --- a/sys-libs/db/files/db-4.6-jni-check-prefix-first.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- a/dist/aclocal_java/ac_jni_include_dirs.m4 -+++ b/dist/aclocal_java/ac_jni_include_dirs.m4 -@@ -43,14 +43,19 @@ - *) AC_MSG_ERROR([$_ACJNI_JAVAC is not an absolute path name]);; - esac - --_ACJNI_FOLLOW_SYMLINKS("$_ACJNI_JAVAC") --_JTOPDIR=`echo "$_ACJNI_FOLLOWED" | sed -e 's://*:/:g' -e 's:/[[^/]]*$::'` --case "$host_os" in -- darwin*) _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'` -- _JINC="$_JTOPDIR/Headers";; -- *) _JINC="$_JTOPDIR/include";; --esac -- -+# If JAVAPREFIX is defined, look there first -+if test -r "$JAVAPREFIX/include/jni.h"; then -+ _JTOPDIR="$JAVAPREFIX" -+ _JINC="$JAVAPREFIX/include" -+else -+ _ACJNI_FOLLOW_SYMLINKS("$_ACJNI_JAVAC") -+ _JTOPDIR=`echo "$_ACJNI_FOLLOWED" | sed -e 's://*:/:g' -e 's:/[[^/]]*$::'` -+ case "$host_os" in -+ darwin*) _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'` -+ _JINC="$_JTOPDIR/Headers";; -+ *) _JINC="$_JTOPDIR/include";; -+ esac -+fi - # If we find jni.h in /usr/include, then it's not a java-only tree, so - # don't add /usr/include or subdirectories to the list of includes. - # An extra -I/usr/include can foul things up with newer gcc's. diff --git a/sys-libs/db/files/db-4.8.24-java-manifest-location.patch b/sys-libs/db/files/db-4.8.24-java-manifest-location.patch deleted file mode 100644 index 9cebadc5206..00000000000 --- a/sys-libs/db/files/db-4.8.24-java-manifest-location.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nuar db-4.8.24.orig/dist/Makefile.in db-4.8.24/dist/Makefile.in ---- db-4.8.24.orig/dist/Makefile.in 2009-09-19 23:39:45.286001896 +0000 -+++ db-4.8.24/dist/Makefile.in 2009-09-19 23:41:13.079326882 +0000 -@@ -830,7 +830,7 @@ - $(JAVA) -classpath $(JAVA_CLASSTOP) \ - com.sleepycat.persist.model.ClassEnhancer $(JAVA_CLASSTOP) - cd $(JAVA_CLASSTOP) && \ -- $(JAR) cfm ../$(libj_jarfile) ../$(JAVA_MANIFEST) ./com/sleepycat -+ $(JAR) cfm ../$(libj_jarfile) $(JAVA_MANIFEST) ./com/sleepycat - - $(libj_exjarfile): $(libj_jarfile) $(JAVA_EXSRCS) - @test -d $(JAVA_EXCLASSTOP) || \ diff --git a/sys-libs/db/files/db-4.8.30-rename-atomic-compare-exchange.patch b/sys-libs/db/files/db-4.8.30-rename-atomic-compare-exchange.patch index c53160a8297..99a26e15fbf 100644 --- a/sys-libs/db/files/db-4.8.30-rename-atomic-compare-exchange.patch +++ b/sys-libs/db/files/db-4.8.30-rename-atomic-compare-exchange.patch @@ -1,5 +1,3 @@ -diff --git a/dbinc/atomic.h b/dbinc/atomic.h -index 0034dcc..fa7ba93 100644 --- a/dbinc/atomic.h +++ b/dbinc/atomic.h @@ -144,7 +144,7 @@ typedef LONG volatile *interlocked_val; diff --git a/sys-libs/db/files/db-5.1.29-rename-atomic-compare-exchange.patch b/sys-libs/db/files/db-5.1.29-rename-atomic-compare-exchange.patch index ad3da2786c8..252a6213b30 100644 --- a/sys-libs/db/files/db-5.1.29-rename-atomic-compare-exchange.patch +++ b/sys-libs/db/files/db-5.1.29-rename-atomic-compare-exchange.patch @@ -1,5 +1,3 @@ -diff --git a/src/dbinc/atomic.h b/src/dbinc/atomic.h -index 0034dcc..fa7ba93 100644 --- a/src/dbinc/atomic.h +++ b/src/dbinc/atomic.h @@ -144,7 +144,7 @@ typedef LONG volatile *interlocked_val; diff --git a/sys-libs/db/files/db-5.2.28-sqlite-configure-path.patch b/sys-libs/db/files/db-5.2.28-sqlite-configure-path.patch index ff7abbe1fd7..cfbe2a7ffd0 100644 --- a/sys-libs/db/files/db-5.2.28-sqlite-configure-path.patch +++ b/sys-libs/db/files/db-5.2.28-sqlite-configure-path.patch @@ -1,6 +1,5 @@ -diff -Nuar db-5.2.28.orig//dist/aclocal/sql.m4 db-5.2.28//dist/aclocal/sql.m4 ---- db-5.2.28.orig//dist/aclocal/sql.m4 2011-06-10 09:50:45.000000000 -0700 -+++ db-5.2.28//dist/aclocal/sql.m4 2011-07-15 17:02:54.646521189 -0700 +--- a/dist/aclocal/sql.m4 ++++ b/dist/aclocal/sql.m4 @@ -91,7 +91,7 @@ # !!! END COPIED from autoconf distribution diff --git a/sys-libs/db/files/db-6.0.20-test-link.patch b/sys-libs/db/files/db-6.0.20-test-link.patch index 8aceaa4d6f8..5fc6669465c 100644 --- a/sys-libs/db/files/db-6.0.20-test-link.patch +++ b/sys-libs/db/files/db-6.0.20-test-link.patch @@ -1,6 +1,5 @@ -diff -Nuar db-6.0.20.orig/test/tcl/parallel.tcl db-6.0.20/test/tcl/parallel.tcl ---- db-6.0.20.orig/test/tcl/parallel.tcl 2013-07-04 15:49:43.408348040 +0000 -+++ db-6.0.20/test/tcl/parallel.tcl 2013-07-04 17:40:07.147943377 +0000 +--- a/test/tcl/parallel.tcl ++++ b/test/tcl/parallel.tcl @@ -289,16 +289,26 @@ [eval glob -nocomplain {$dir/$buildpath/db_{reptest,repsite,replicate}$EXE}] \ $destdir/$buildpath} diff --git a/sys-libs/db/files/db-6.0.35-sqlite-configure-path.patch b/sys-libs/db/files/db-6.0.35-sqlite-configure-path.patch index c239bb118a8..66bdcf9fe13 100644 --- a/sys-libs/db/files/db-6.0.35-sqlite-configure-path.patch +++ b/sys-libs/db/files/db-6.0.35-sqlite-configure-path.patch @@ -1,5 +1,5 @@ ---- db-6.0.35/dist/aclocal/sql.m4 -+++ db-6.0.35/dist/aclocal/sql.m4 +--- a/dist/aclocal/sql.m4 ++++ b/dist/aclocal/sql.m4 @@ -96,7 +96,7 @@ if test "$db_cv_build_cryptography" = "yes"; then CPPFLAGS="$CPPFLAGS -DSQLITE_HAS_CODEC=1" diff --git a/sys-libs/db/files/db-6.1.19-sqlite-configure-path.patch b/sys-libs/db/files/db-6.1.19-sqlite-configure-path.patch index 25854c53e16..103e3302bdc 100644 --- a/sys-libs/db/files/db-6.1.19-sqlite-configure-path.patch +++ b/sys-libs/db/files/db-6.1.19-sqlite-configure-path.patch @@ -1,5 +1,5 @@ ---- db-6.1.19/dist/aclocal/sql.m4 -+++ db-6.1.19/dist/aclocal/sql.m4 +--- a/dist/aclocal/sql.m4 ++++ b/dist/aclocal/sql.m4 @@ -96,6 +96,6 @@ if test "$db_cv_build_cryptography" = "yes"; then CPPFLAGS="$CPPFLAGS -DSQLITE_HAS_CODEC=1" diff --git a/sys-libs/db/files/db-6.2-jni-check-prefix-first.patch b/sys-libs/db/files/db-6.2-jni-check-prefix-first.patch deleted file mode 100644 index 963b01380c2..00000000000 --- a/sys-libs/db/files/db-6.2-jni-check-prefix-first.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- db-6.2.23/dist/aclocal_java/ac_jni_include_dirs.m4 -+++ db-6.2.23/dist/aclocal_java/ac_jni_include_dirs.m4 -@@ -43,18 +43,23 @@ - *) AC_MSG_ERROR([$_ACJNI_JAVAC is not an absolute path name]);; - esac - --_ACJNI_FOLLOW_SYMLINKS("$_ACJNI_JAVAC") --_JTOPDIR=`echo "$_ACJNI_FOLLOWED" | sed -e 's://*:/:g' -e 's:/[[^/]]*$::'` --case "$host_os" in -- darwin*) _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'` -- if test -d "$_JTOPDIR/include"; then -- _JINC="$_JTOPDIR/include" -- else -- _JINC="$_JTOPDIR/Headers" -- fi;; -- *) _JINC="$_JTOPDIR/include";; --esac -- -+# If JAVAPREFIX is defined, look there first -+if test -r "$JAVAPREFIX/include/jni.h"; then -+ _JTOPDIR="$JAVAPREFIX" -+ _JINC="$JAVAPREFIX/include" -+else -+ _ACJNI_FOLLOW_SYMLINKS("$_ACJNI_JAVAC") -+ _JTOPDIR=`echo "$_ACJNI_FOLLOWED" | sed -e 's://*:/:g' -e 's:/[[^/]]*$::'` -+ case "$host_os" in -+ darwin*) _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'` -+ if test -d "$_JTOPDIR/include"; then -+ _JINC="$_JTOPDIR/include" -+ else -+ _JINC="$_JTOPDIR/Headers" -+ fi;; -+ *) _JINC="$_JTOPDIR/include";; -+ esac -+fi - # If we find jni.h in /usr/include, then it's not a java-only tree, so - # don't add /usr/include or subdirectories to the list of includes. - # An extra -I/usr/include can foul things up with newer gcc's. diff --git a/sys-libs/db/files/db-6.2.32-jni-check-prefix-first.patch b/sys-libs/db/files/db-6.2.32-jni-check-prefix-first.patch deleted file mode 100644 index 0a320d7f933..00000000000 --- a/sys-libs/db/files/db-6.2.32-jni-check-prefix-first.patch +++ /dev/null @@ -1,44 +0,0 @@ ---- db-6.2.32/dist/aclocal_java/ac_jni_include_dirs.m4 -+++ db-6.2.32/dist/aclocal_java/ac_jni_include_dirs.m4 -@@ -43,21 +43,26 @@ - *) AC_MSG_ERROR([$_ACJNI_JAVAC is not an absolute path name]);; - esac - --_ACJNI_FOLLOW_SYMLINKS("$_ACJNI_JAVAC") --_JTOPDIR=`echo "$_ACJNI_FOLLOWED" | sed -e 's://*:/:g' -e 's:/[[^/]]*$::'` --case "$host_os" in -- darwin*) _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'` -- if test -d "$_JTOPDIR/include"; then -- _JINC="$_JTOPDIR/include" -- else -- _JINC="`$_JTOPDIR/Commands/java_home`/include" -- fi;; -- *) if test ! -r "$_JTOPDIR/include/jni.h"; then -- _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'` -- fi -- _JINC="$_JTOPDIR/include";; --esac -- -+# If JAVAPREFIX is defined, look there first -+if test -r "$JAVAPREFIX/include/jni.h"; then -+ _JTOPDIR="$JAVAPREFIX" -+ _JINC="$JAVAPREFIX/include" -+else -+ _ACJNI_FOLLOW_SYMLINKS("$_ACJNI_JAVAC") -+ _JTOPDIR=`echo "$_ACJNI_FOLLOWED" | sed -e 's://*:/:g' -e 's:/[[^/]]*$::'` -+ case "$host_os" in -+ darwin*) _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'` -+ if test -d "$_JTOPDIR/include"; then -+ _JINC="$_JTOPDIR/include" -+ else -+ _JINC="`$_JTOPDIR/Commands/java_home`/include" -+ fi;; -+ *) if test ! -r "$_JTOPDIR/include/jni.h"; then -+ _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[[^/]]*$::'` -+ fi -+ _JINC="$_JTOPDIR/include";; -+ esac -+fi - # If we find jni.h in /usr/include, then it's not a java-only tree, so - # don't add /usr/include or subdirectories to the list of includes. - # An extra -I/usr/include can foul things up with newer gcc's. diff --git a/sys-libs/db/files/db-6.2.38-bashism-configure.patch b/sys-libs/db/files/db-6.2.38-bashism-configure.patch new file mode 100644 index 00000000000..bea1f3d3bde --- /dev/null +++ b/sys-libs/db/files/db-6.2.38-bashism-configure.patch @@ -0,0 +1,11 @@ +--- a/dist/aclocal/types.m4 ++++ b/dist/aclocal/types.m4 +@@ -188,7 +188,7 @@ AC_SUBST(db_off_t_decl) + AC_CHECK_TYPE(db_off_t,, + [AM_SEARCH_SSIZES(db_off_t_decl, db_off_t, $ac_cv_sizeof_off_t)]) + AC_SUBST(db_off_t_max_decl) +-if test "$ac_cv_sizeof_off_t" == "4"; then ++if test "$ac_cv_sizeof_off_t" = "4"; then + db_off_t_max_decl="#define DB_OFF_T_MAX INT32_MAX" + else + db_off_t_max_decl="#define DB_OFF_T_MAX INT64_MAX" diff --git a/sys-libs/e2fsprogs-libs/Manifest b/sys-libs/e2fsprogs-libs/Manifest deleted file mode 100644 index 580fc5c7611..00000000000 --- a/sys-libs/e2fsprogs-libs/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST e2fsprogs-1.46.4.tar.xz 7035200 BLAKE2B 473f7fd3f521b94cdaa68e37784a518fc1919387dd114f31b5338f1b4c472f86b150229ec3dcae8b73eac95330c0dea729befc8cea08bcf1e455c0b6652d6d2b SHA512 7d9cfdf00ed58e66049585e8382fe4977088956421a0fb8155900c69afd8857309ad2b9301b3f74c9c0afa7287a0ddba2fd1538fcf57858b37a9ab712390016d diff --git a/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.46.4.ebuild b/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.46.4.ebuild deleted file mode 100644 index 722e3a0df06..00000000000 --- a/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.46.4.ebuild +++ /dev/null @@ -1,93 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit toolchain-funcs multilib-minimal usr-ldscript - -MY_PN=${PN%-libs} -MY_P="${MY_PN}-${PV}" - -DESCRIPTION="e2fsprogs libraries (common error and subsystem)" -HOMEPAGE="http://e2fsprogs.sourceforge.net/" -SRC_URI="https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v${PV}/${MY_P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris" -IUSE="static-libs" - -RDEPEND="!sys-libs/com_err - !sys-libs/ss - !<sys-fs/e2fsprogs-1.41.8" -BDEPEND="virtual/pkgconfig" - -S="${WORKDIR}/${MY_P}" - -PATCHES=( - "${FILESDIR}"/${PN}-1.42.13-fix-build-cflags.patch #516854 -) - -src_prepare() { - default - - cp doc/RelNotes/v${PV}.txt ChangeLog || die "Failed to copy Release Notes" -} - -multilib_src_configure() { - local myconf=( - --enable-elf-shlibs - $(tc-has-tls || echo --disable-tls) - --disable-e2initrd-helper - --disable-fsck - ) - - # we use blkid/uuid from util-linux now - if use kernel_linux ; then - export ac_cv_lib_{uuid_uuid_generate,blkid_blkid_get_cache}=yes - myconf+=( --disable-lib{blkid,uuid} ) - fi - - ac_cv_path_LDCONFIG=: \ - ECONF_SOURCE="${S}" \ - CC="$(tc-getCC)" \ - BUILD_CC="$(tc-getBUILD_CC)" \ - BUILD_LD="$(tc-getBUILD_LD)" \ - econf "${myconf[@]}" -} - -multilib_src_compile() { - emake -C lib/et V=1 - - emake -C lib/ss V=1 -} - -multilib_src_test() { - if multilib_is_native_abi; then - emake -C lib/et V=1 check - - emake -C lib/ss V=1 check - fi -} - -multilib_src_install() { - emake -C lib/et V=1 DESTDIR="${D}" install - - emake -C lib/ss V=1 DESTDIR="${D}" install - - # We call "gen_usr_ldscript -a" to ensure libs are present in /lib to support - # split /usr (e.g. "e2fsck" from sys-fs/e2fsprogs is installed in /sbin and - # links to libcom_err.so). - gen_usr_ldscript -a com_err ss $(usex kernel_linux '' 'uuid blkid') - - if ! use static-libs ; then - find "${ED}" -name '*.a' -delete || die - fi -} - -multilib_src_install_all() { - # Package installs same header twice -- use symlink instead - dosym et/com_err.h /usr/include/com_err.h - - einstalldocs -} diff --git a/sys-libs/e2fsprogs-libs/files/e2fsprogs-libs-1.42.13-fix-build-cflags.patch b/sys-libs/e2fsprogs-libs/files/e2fsprogs-libs-1.42.13-fix-build-cflags.patch deleted file mode 100644 index a87f0c697ea..00000000000 --- a/sys-libs/e2fsprogs-libs/files/e2fsprogs-libs-1.42.13-fix-build-cflags.patch +++ /dev/null @@ -1,13 +0,0 @@ -https://bugs.gentoo.org/516854 - ---- e2fsprogs-libs-1.42.13/configure -+++ e2fsprogs-libs-1.42.13/configure -@@ -1315,6 +1315,8 @@ - if test $cross_compiling = no; then - BUILD_CFLAGS="$CFLAGS $CPPFLAGS $INCLUDES -DHAVE_CONFIG_H" - BUILD_LDFLAGS="$LDFLAGS" -+else -+ BUILD_CFLAGS="$INCLUDES" - fi - - diff --git a/sys-libs/e2fsprogs-libs/metadata.xml b/sys-libs/e2fsprogs-libs/metadata.xml deleted file mode 100644 index ec439e44fe9..00000000000 --- a/sys-libs/e2fsprogs-libs/metadata.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="project"> - <email>base-system@gentoo.org</email> - <name>Gentoo Base System</name> - </maintainer> - <upstream> - <remote-id type="cpe">cpe:/a:e2fsprogs_project:e2fsprogs</remote-id> - <remote-id type="github">tytso/e2fsprogs</remote-id> - <remote-id type="sourceforge">e2fsprogs</remote-id> - </upstream> -</pkgmetadata> diff --git a/sys-libs/efivar/Manifest b/sys-libs/efivar/Manifest index c8afcced10c..450ec0b1c8a 100644 --- a/sys-libs/efivar/Manifest +++ b/sys-libs/efivar/Manifest @@ -1 +1,2 @@ DIST efivar-37.tar.bz2 109431 BLAKE2B 813d477d31562b773f6e19f20e9e237b94beed437ce221771770e7d46ff0e657530285f035dc942cc20609185be92dc50319bfe8e10dee642c8bd88403ef6ffe SHA512 305a82ed103c7e3d8f723934019d552677c73558768dd5341f87d0364f5c60824d24f5a8e1bf90075e825908085083d4ecdccec5ac757fd38ee6ac8fea28c3e4 +DIST efivar-38.tar.bz2 320221 BLAKE2B 0b96f3d71ddc2246e6a11a5cd32af3d007823c4a283186a428c3f145cd74425a31bd22c4671ad1ab252a3c572991bb1698381cb8bdf51efcbebd62befdc6c070 SHA512 c2f17297c863ece134a9dd758d237fd2df8c8d072f87af1d0bf2bcf9acfc7a53c25597f03fd4fb8cc664b205743d4ffa0ef1b068d0f73c58fa573d40993f3155 diff --git a/sys-libs/efivar/efivar-37.ebuild b/sys-libs/efivar/efivar-37.ebuild index dc4627f1099..af1df743350 100644 --- a/sys-libs/efivar/efivar-37.ebuild +++ b/sys-libs/efivar/efivar-37.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/rhinstaller/efivar/releases/download/${PV}/${P}.tar. LICENSE="GPL-2" SLOT="0/1" -KEYWORDS="amd64 ~arm arm64 ~ia64 ~riscv x86" +KEYWORDS="amd64 ~arm arm64 ~ia64 ~ppc64 ~riscv x86" RDEPEND="dev-libs/popt" DEPEND="${RDEPEND} diff --git a/sys-libs/efivar/efivar-38.ebuild b/sys-libs/efivar/efivar-38.ebuild new file mode 100644 index 00000000000..f753fbea6e4 --- /dev/null +++ b/sys-libs/efivar/efivar-38.ebuild @@ -0,0 +1,62 @@ +# Copyright 2014-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="Tools and library to manipulate EFI variables" +HOMEPAGE="https://github.com/rhinstaller/efivar" +SRC_URI="https://github.com/rhinstaller/efivar/releases/download/${PV}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0/1" +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc64 ~riscv ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND=" + app-text/mandoc + test? ( sys-boot/grub:2 ) +" +RDEPEND=" + dev-libs/popt +" +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-3.18 + virtual/pkgconfig +" + +src_prepare() { + local PATCHES=( + "${FILESDIR}"/efivar-38-ia64-relro.patch + "${FILESDIR}"/efivar-38-march-native.patch + "${FILESDIR}"/efivar-38-Makefile-dep.patch + "${FILESDIR}"/efivar-38-binutils-2.36.patch + ) + default +} + +src_configure() { + unset CROSS_COMPILE + export COMPILER=$(tc-getCC) + export HOSTCC=$(tc-getBUILD_CC) + + tc-ld-disable-gold + + export libdir="/usr/$(get_libdir)" + + # https://bugs.gentoo.org/562004 + unset LIBS + + # Avoid -Werror + export ERRORS= + + if [[ -n ${GCC_SPECS} ]]; then + # The environment overrides the command line. + GCC_SPECS+=":${S}/src/include/gcc.specs" + fi + + # Used by tests/Makefile + export GRUB_PREFIX=grub +} diff --git a/sys-libs/efivar/files/efivar-38-Makefile-dep.patch b/sys-libs/efivar/files/efivar-38-Makefile-dep.patch new file mode 100644 index 00000000000..64e3f4e0b7c --- /dev/null +++ b/sys-libs/efivar/files/efivar-38-Makefile-dep.patch @@ -0,0 +1,33 @@ +From 847856cd72088fd5f2349be858745c632c46b6c8 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert <floppym@gentoo.org> +Date: Mon, 17 Jan 2022 11:42:53 -0500 +Subject: [PATCH] Adjust dependency for libefivar and libefiboot objects + +Depending on 'prep' causes all objects to be rebuilt every time 'make' +is invoked. + +Depending on '$(GENERATED_SOURCES)' causes a build failure because +guid-symbols.c gets passed to the compiler due to a rule in rules.mk. + +Depend on 'include/efivar/efivar-guids.h' directly to avoid these +issues. + +Fixes: https://github.com/rhboot/efivar/issues/199 +Signed-off-by: Mike Gilbert <floppym@gentoo.org> +--- + src/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Makefile b/src/Makefile +index 0e423c44..c6006ebf 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -85,7 +85,7 @@ $(MAKEGUIDS_OUTPUT) : guids.txt + + prep : makeguids $(GENERATED_SOURCES) + +-$(LIBEFIVAR_OBJECTS) $(LIBEFIBOOT_OBJECTS) : prep ++$(LIBEFIVAR_OBJECTS) $(LIBEFIBOOT_OBJECTS) : include/efivar/efivar-guids.h + + libefivar.a : | $(GENERATED_SOURCES) + libefivar.a : $(patsubst %.o,%.static.o,$(LIBEFIVAR_OBJECTS)) diff --git a/sys-libs/efivar/files/efivar-38-binutils-2.36.patch b/sys-libs/efivar/files/efivar-38-binutils-2.36.patch new file mode 100644 index 00000000000..df0575de7f3 --- /dev/null +++ b/sys-libs/efivar/files/efivar-38-binutils-2.36.patch @@ -0,0 +1,30 @@ +From 197a0874ea4010061b98b4b55eff65b33b1cd741 Mon Sep 17 00:00:00 2001 +From: Robbie Harwood <rharwood@redhat.com> +Date: Mon, 17 Jan 2022 12:34:55 -0500 +Subject: [PATCH] Add -T workaround for GNU ld 2.36 + +Signed-off-by: Robbie Harwood <rharwood@redhat.com> +Resolves: #195 +--- + src/include/workarounds.mk | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/include/workarounds.mk b/src/include/workarounds.mk +index 31188342..143e7902 100644 +--- a/src/include/workarounds.mk ++++ b/src/include/workarounds.mk +@@ -4,12 +4,12 @@ + + LD_FLAVOR := $(shell $(LD) --version | grep -E '^(LLD|GNU ld)'|sed 's/ .*//g') + LD_VERSION := $(shell $(LD) --version | grep -E '^(LLD|GNU ld)'|sed 's/.* //') +-# I haven't tested 2.36 here; 2.35 is definitely broken and 2.37 seems to work ++# 2.35 is definitely broken and 2.36 seems to work + LD_DASH_T := $(shell \ + if [ "x${LD_FLAVOR}" = xLLD ] ; then \ + echo '-T' ; \ + elif [ "x${LD_FLAVOR}" = xGNU ] ; then \ +- if echo "${LD_VERSION}" | grep -q -E '^2\.3[789]|^2\.[456789]|^[3456789]|^[[:digit:]][[:digit:]]' ; then \ ++ if echo "${LD_VERSION}" | grep -q -E '^2\.3[6789]|^2\.[456789]|^[3456789]|^[[:digit:]][[:digit:]]' ; then \ + echo '-T' ; \ + else \ + echo "" ; \ diff --git a/sys-libs/efivar/files/efivar-38-ia64-relro.patch b/sys-libs/efivar/files/efivar-38-ia64-relro.patch new file mode 100644 index 00000000000..e90736a0394 --- /dev/null +++ b/sys-libs/efivar/files/efivar-38-ia64-relro.patch @@ -0,0 +1,60 @@ +From 145c6593fa9206cc27229a9a40c49e4bed046739 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyfox@gentoo.org> +Date: Mon, 19 Oct 2020 19:05:01 +0100 +Subject: [PATCH] gcc.specs: drop --fatal-warnings from linker options (ia64 + compatibility) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +``` +$ LANG=C make HOSTCC=x86_64-pc-linux-gnu-gcc CC=ia64-unknown-linux-gnu-gcc HOST_ARCH=ia64 +ia64-unknown-linux-gnu-gcc ... \ + -o libefivar.so ... +/usr/libexec/gcc/ia64-unknown-linux-gnu/ld: warning: -z relro ignored +collect2: error: ld returned 1 exit status +make[1]: *** [/home/slyfox/dev/git/efivar/src/include/rules.mk:32: libefivar.so] Error 1 +``` + +ia64 (and a few others) binutils target does not support '-z relro' and always +issues a warning. --fatal-warnings spec option turns the build into always failing one. + +The change drops `--fatal-warnings` option from gcc.spec entirely. + +Rejected upstream in https://github.com/rhboot/efivar/pull/164. + +[sam: add extra hunk to fix 38 build.] + +Reported-by: Émeric Maschino +Bug: https://bugs.gentoo.org/749963 +Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> +--- + src/include/gcc.specs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/include/gcc.specs b/src/include/gcc.specs +index ef28e2b..4deead5 100644 +--- a/src/include/gcc.specs ++++ b/src/include/gcc.specs +@@ -5,4 +5,4 @@ + + %{!shared:%{!static:%{!r:-pie}}} %{static:-Wl,-no-fatal-warnings -Wl,-static -static -Wl,-z,relro,-z,now} -grecord-gcc-switches + + *link: +-+ %{!static:--fatal-warnings} --no-undefined-version --no-allow-shlib-undefined --add-needed -z now --build-id %{!static:%{!shared:-pie}} %{shared:-z relro} %{static:%<pie} +++ --no-undefined-version --no-allow-shlib-undefined --add-needed -z now --build-id %{!static:%{!shared:-pie}} %{shared:-z relro} %{static:%<pie} +-- +2.34.1 + +diff --git a/src/include/defaults.mk b/src/include/defaults.mk +index 9024a3a..f5515fa 100644 +--- a/src/include/defaults.mk ++++ b/src/include/defaults.mk +@@ -58,7 +58,7 @@ override LDFLAGS = $(CFLAGS) -L. $(_LDFLAGS) $(_CCLDFLAGS) \ + -Wl,-z,now \ + -Wl,-z,muldefs \ + -Wl,-z,relro \ +- -Wl,--fatal-warnings \ ++ -Wl,--no-fatal-warnings \ + $(call family,LDFLAGS) $(call family,CCLDFLAGS) \ + $(call pkg-config-ccldflags) + override CCLDFLAGS = $(LDFLAGS) diff --git a/sys-libs/efivar/files/efivar-38-march-native.patch b/sys-libs/efivar/files/efivar-38-march-native.patch new file mode 100644 index 00000000000..a970d8d6de6 --- /dev/null +++ b/sys-libs/efivar/files/efivar-38-march-native.patch @@ -0,0 +1,37 @@ +From 43d19f297548208ce549fd87faa41e6bb86bf9c3 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert <floppym@gentoo.org> +Date: Mon, 17 Jan 2022 10:13:31 -0500 +Subject: [PATCH] Drop "-march=native" from HOST flags + +GCC does not support -march=native on some targets (ia64, riscv). +The performance enhancement for makeguids isn't worth the trouble it +causes. + +Bug: https://bugs.gentoo.org/831334 +Signed-off-by: Mike Gilbert <floppym@gentoo.org> +--- + src/include/defaults.mk | 8 +------- + 1 file changed, 1 insertion(+), 7 deletions(-) + +diff --git a/src/include/defaults.mk b/src/include/defaults.mk +index 632b1551..9024a3a1 100644 +--- a/src/include/defaults.mk ++++ b/src/include/defaults.mk +@@ -71,16 +71,10 @@ override SOFLAGS = $(_SOFLAGS) \ + -Wl,--version-script=$(MAP) \ + $(call family,SOFLAGS) + +-HOST_ARCH=$(shell uname -m) +-ifneq ($(HOST_ARCH),ia64) +- HOST_MARCH=-march=native +-else +- HOST_MARCH= +-endif + HOST_CPPFLAGS ?= $(CPPFLAGS) + override _HOST_CPPFLAGS := $(HOST_CPPFLAGS) + override HOST_CPPFLAGS = $(_HOST_CPPFLAGS) \ +- -DEFIVAR_BUILD_ENVIRONMENT $(HOST_MARCH) ++ -DEFIVAR_BUILD_ENVIRONMENT + HOST_CFLAGS_GCC ?= + HOST_CFLAGS_CLANG ?= + HOST_CFLAGS ?= $(CFLAGS) $(call family,HOST_CFLAGS) diff --git a/sys-libs/fortify-headers/fortify-headers-0.7.ebuild b/sys-libs/fortify-headers/fortify-headers-0.7.ebuild index 12b1d42a974..90e1ebc8b42 100644 --- a/sys-libs/fortify-headers/fortify-headers-0.7.ebuild +++ b/sys-libs/fortify-headers/fortify-headers-0.7.ebuild @@ -12,7 +12,7 @@ else KEYWORDS="~amd64 ~arm ~mips ~ppc ~x86" fi -DESCRIPTION="A standalone implementation of fortify source." +DESCRIPTION="A standalone implementation of fortify source" HOMEPAGE="http://git.2f30.org/fortify-headers/" LICENSE="ISC" diff --git a/sys-libs/freeipmi/Manifest b/sys-libs/freeipmi/Manifest index 5d9b42e140c..68a015e3b8e 100644 --- a/sys-libs/freeipmi/Manifest +++ b/sys-libs/freeipmi/Manifest @@ -1,3 +1,2 @@ -DIST freeipmi-1.5.7.tar.gz 3321187 BLAKE2B c6f7e9c4e0a03ce1d50972fee99741ec00a8f5beb0323d61d9217b3773eed33cb04e7bb92e1f293cb39c8012872babdc4774e6d81cf808615b8b283510e1e67c SHA512 a4d39d11d4e4b9635c272ee3a197729ac61c3e1c909c202498fb480c41289116eb933cd716fe2e0b5aa6dc258751ee204892bfb009398b6d5c2c65ee1cc58544 -DIST freeipmi-1.6.7.tar.gz 3419196 BLAKE2B 6e07afb7e93ec41c18c82725e781177d8a5fef78054ffca784cb951e360be9132ee35805014cd1ee92e1c167b2ec7dcfd07152b43f09a53eefff3e05c6f73789 SHA512 2077dda7acb868fb551a29fc2f6bcf9172c79d69bacb6b0fbf90855c5eca9c8e5bb0bb493bee8a67dc18147ebec46699790f2cb707e17297e59604fc8edfa54a DIST freeipmi-1.6.8.tar.gz 3426706 BLAKE2B afe3238955786b13aae0e0062028f5c969a8e686b46bea3850696361355b3bd82a55bd93523ea7fe2223fe5bb04922c26b46023f783bd879bbd01e34ffd6d59e SHA512 66cae2aed95ddb3fd9301146d5a1065b61267232d6ced726b106402bf3840a17364a29d7bf6bbe4db7955b77dcd23510f1258aac85ead5c295c876c6fa4333c3 +DIST freeipmi-1.6.9.tar.gz 3429566 BLAKE2B 68ee7bd27d459a25464e17d9c98370252d33961d10e69675505f046db26a95d780c114b4f90eeab43a39d0fca3d98b1f108c6d3ca9550fd9d3c455d2e9a79c6b SHA512 536add8dc01aa4d9df45e3499f8be1318185b19beb579c8f991a11ca973626d7e0aabe1d8760a9addadc418ea5c1e2b5432053e46ba94fd9078fb6dcabf48280 diff --git a/sys-libs/freeipmi/freeipmi-1.5.7.ebuild b/sys-libs/freeipmi/freeipmi-1.5.7.ebuild deleted file mode 100644 index c7545fd81b9..00000000000 --- a/sys-libs/freeipmi/freeipmi-1.5.7.ebuild +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -AT_M4DIR="config" - -DESCRIPTION="Provides Remote-Console and System Management Software as per IPMI v1.5/2.0" -HOMEPAGE="https://www.gnu.org/software/freeipmi/" - -MY_P="${P/_/.}" -S="${WORKDIR}"/${MY_P} -[[ ${MY_P} == *.beta* ]] && ALPHA="-alpha" -SRC_URI="mirror://gnu${ALPHA}/${PN}/${MY_P}.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="amd64 hppa x86" -IUSE="debug nagios" - -RDEPEND="dev-libs/libgcrypt:0" -DEPEND="${RDEPEND} - virtual/os-headers" -RDEPEND="${RDEPEND} - nagios? ( - || ( net-analyzer/icinga net-analyzer/nagios ) - dev-lang/perl - ) -" - -src_configure() { - local myeconfargs=( - $(use_enable debug) - --disable-static - --disable-init-scripts - --localstatedir=/var - ) - - econf "${myeconfargs[@]}" -} - -# There are no tests -src_test() { :; } - -src_install() { - default - - # freeipmi by defaults install _all_ commands to /usr/sbin, but - # quite a few can be run remotely as standard user, so move them - # in /usr/bin afterwards. - dodir /usr/bin - for file in ipmi{detect,ping,power,console}; do - mv "${D}"/usr/{s,}bin/${file} || die - - # The default install symlinks these commands to add a dash - # after the ipmi prefix; we repeat those after move for - # consistency. - rm "${D}"/usr/sbin/${file/ipmi/ipmi-} - dosym ${file} /usr/bin/${file/ipmi/ipmi-} - done - - # Install the nagios plugin in its proper place, if desired - if use nagios; then - dodir /usr/$(get_libdir)/nagios/plugins - mv "${D}"/usr/share/doc/${PF}/contrib/nagios/nagios_ipmi_sensors.pl \ - "${D}"/usr/$(get_libdir)/nagios/plugins/ || die - fperms 0755 /usr/$(get_libdir)/nagios/plugins/nagios_ipmi_sensors.pl - - insinto /etc/icinga/conf.d - newins "${FILESDIR}"/freeipmi.icinga freeipmi-command.cfg - fi - - dodoc AUTHORS ChangeLog* DISCLAIMER* NEWS README* TODO doc/*.txt - - keepdir \ - /var/cache/ipmimonitoringsdrcache \ - /var/lib/freeipmi \ - /var/log/ipmiconsole - - # starting from version 1.2.0 the two daemons are similar enough - newinitd "${FILESDIR}"/bmc-watchdog.initd.4 ipmidetectd - newconfd "${FILESDIR}"/ipmidetectd.confd ipmidetectd - - newinitd "${FILESDIR}"/bmc-watchdog.initd.4 bmc-watchdog - newconfd "${FILESDIR}"/bmc-watchdog.confd bmc-watchdog - - newinitd "${FILESDIR}"/bmc-watchdog.initd.4 ipmiseld - newconfd "${FILESDIR}"/ipmiseld.confd ipmiseld -} diff --git a/sys-libs/freeipmi/freeipmi-1.6.7.ebuild b/sys-libs/freeipmi/freeipmi-1.6.9.ebuild index 903a5951844..0898db455b0 100644 --- a/sys-libs/freeipmi/freeipmi-1.6.7.ebuild +++ b/sys-libs/freeipmi/freeipmi-1.6.9.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 AT_M4DIR="config" @@ -15,7 +15,7 @@ SRC_URI="mirror://gnu${ALPHA}/${PN}/${MY_P}.tar.gz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~amd64 ~hppa ~x86" +KEYWORDS="~amd64 ~hppa ~ppc64 ~x86" IUSE="debug nagios" RDEPEND="dev-libs/libgcrypt:0=" @@ -74,6 +74,7 @@ src_install() { dodoc AUTHORS ChangeLog* DISCLAIMER* NEWS README* TODO doc/*.txt keepdir \ + /var/cache/ipmiseld \ /var/cache/ipmimonitoringsdrcache \ /var/lib/freeipmi \ /var/log/ipmiconsole diff --git a/sys-libs/fts-standalone/Manifest b/sys-libs/fts-standalone/Manifest index 1b408f75e17..2962a836ee5 100644 --- a/sys-libs/fts-standalone/Manifest +++ b/sys-libs/fts-standalone/Manifest @@ -1,2 +1 @@ -DIST fts-0.2.tar.gz 339498 BLAKE2B 3800196fd67d03c5e732dec1cf6aeee85d417720c3e89f650f2c7238f60d57e4e51a69eb11dc67fdb8ca19093726d0f3f8b48e60c20ceb08b9173767ab895586 SHA512 4f31182f4ebce7f663db893def0e2380b87ef1a262a021837fc6fc9965803a829217142df140c67b1cd83b292eb8862fa0a470cf795a312494674e6e94f02f79 DIST fts-standalone-1.2.7.tar.gz 19336 BLAKE2B 045cfc32dffd18b58093dfe578a029ca15083eec98812ea2849acf37fd2c8e7272840b15b4966201421624d96ba69208a36b58d5420cef2563c107cfae98ea93 SHA512 949f73b9406b06bd8712c721b4ec89afcb37d4eaef5666cccf3712242d3a57fc0acf3ca994934e0f57c1e92f40521a9370132a21eb6d1957415a83c76bf20feb diff --git a/sys-libs/fts-standalone/fts-standalone-0.2-r1.ebuild b/sys-libs/fts-standalone/fts-standalone-0.2-r1.ebuild deleted file mode 100644 index ed2a00b5d13..00000000000 --- a/sys-libs/fts-standalone/fts-standalone-0.2-r1.ebuild +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" - -MY_P=${P/-standalone/} - -DESCRIPTION="Standalone fts library for use with musl" -HOMEPAGE="https://dev.gentoo.org/~blueness/fts-standalone" -SRC_URI="https://dev.gentoo.org/~blueness/fts-standalone/${MY_P}.tar.gz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64 ~arm ~mips ~ppc ~ppc64 x86" -IUSE="" - -DEPEND=" - !sys-libs/glibc - !sys-libs/uclibc" - -S="${WORKDIR}/${MY_P}" - -src_install() { - default - rm -rf "${D}"/usr/share/man -} diff --git a/sys-libs/fts-standalone/fts-standalone-1.2.7.ebuild b/sys-libs/fts-standalone/fts-standalone-1.2.7.ebuild index d816d53c404..93438b4f17e 100644 --- a/sys-libs/fts-standalone/fts-standalone-1.2.7.ebuild +++ b/sys-libs/fts-standalone/fts-standalone-1.2.7.ebuild @@ -1,13 +1,14 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=8 inherit autotools DESCRIPTION="Standalone fts library for use with musl" HOMEPAGE="https://github.com/pullmoll/musl-fts" SRC_URI="https://github.com/pullmoll/musl-fts/archive/v${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/musl-fts-${PV}" LICENSE="BSD" SLOT="0" @@ -15,10 +16,7 @@ KEYWORDS="amd64 arm arm64 ~mips ppc ppc64 x86" IUSE="static-libs" DEPEND=" - !sys-libs/glibc - !sys-libs/uclibc" - -S="${WORKDIR}/musl-fts-${PV}" + !sys-libs/glibc" src_prepare() { default @@ -32,6 +30,6 @@ src_configure() { src_install() { default - find "${D}" -name '*.la' -delete || die - mv "${ED%/}"/usr/$(get_libdir)/pkgconfig/{musl-fts,fts-standalone}.pc || die + find "${ED}" -name '*.la' -delete || die + mv "${ED}"/usr/$(get_libdir)/pkgconfig/{musl-fts,fts-standalone}.pc || die } diff --git a/sys-libs/gdbm/Manifest b/sys-libs/gdbm/Manifest index d966b222643..dcfac1df60c 100644 --- a/sys-libs/gdbm/Manifest +++ b/sys-libs/gdbm/Manifest @@ -1,4 +1,3 @@ -DIST gdbm-1.20.tar.gz 987628 BLAKE2B b0e01e63714b0485f9ac28f4a2260bf9309d2b3a87f6ccf6c9901619d383b6527d068b8614220eb6a6dec909fbf3fab5162a6c67bb928cfedaef36f1df26d0df SHA512 5f2fbd4318259e5b879ea2bff09e22defbb4e566ebbe11c44ac5b5369fd00745d7ed9f72ec1206153027eba245c4ee4a515a8ec6d67f84ec477483e72753590b -DIST gdbm-1.21-gettext-ac.patch.gz 7142 BLAKE2B 1cb4eed1dbea047e115b13831ab2c6af9b639c48324c83b60ee926e7731a4b59fb779aaea8508d12fd5e5d64328464768a153135a555c1783086e4d1e981d86f SHA512 714dc008b5d5a5882f13c8bfc889e04a0b2c142a06ffe479f3ba3b21e8d6f08f579d1b111237ad9e1987d9aae27f67b4689aa3cd664c2adadb1bb856497ed3f8 -DIST gdbm-1.21.tar.gz 1005982 BLAKE2B 1f9b04507601b9660a9a81edc29e9b7c0d9adececf21e372670bcf1acf3d0551d858af3e7cf9202b460691cc851ca6dfcc5014ae28161b06f31c9442d3a9fe96 SHA512 b2a31802d1af9f97b24d3dd01cb048bab4a8e748297f1b70851c0342400dde4281242b7f80bd92a36035e22398d240d131b550ab444ee838a077522a6921fa43 DIST gdbm-1.22.tar.gz 1090100 BLAKE2B f27c65e8cc7c71fc4f4a119b92e1d1b2068c1ec87456d5a555879dc23654ad4e7cf8172049aa9f4f9c432cc7140ff61fc36ddf6d5e45c321add67a105754a59c SHA512 67461fc4f41e825d0134175ff99c913ccb4aa7ea3d0f64f32bdedbc7677b3ecabd2c525ac6b2ee47a9561e002e4224e492b72088d57bb4862a1f8c089521ec51 +DIST gdbm-1.23.tar.gz 1115854 BLAKE2B a47746577cf2f3c9b62faea496c4d6a50a8f1b0a5af448cb2215e90057c99b5b630ba3f5357c85dfb7fd98ba4e90969e30a779120c29106ed1e8736721f9bec1 SHA512 918080cb0225b221c11eb7339634a95e00c526072395f7a3d46ccf42ef020dea7c4c5bec34aff2c4f16033e1fff6583252b7e978f68b8d7f8736b0e025838e10 +DIST gdbm-1.23.tar.gz.sig 181 BLAKE2B 34785e6fe8e02100084d61e989749ee388794b8af82fc59a417140807bf169c45c15935f8cf91d0ba116dfdee295e05b2b014f1539f1f128a57acfe59010d34d SHA512 6653751c04584f10aa3325bd1cb5b9f7970a786dd2a99602ea620c11a86a9ba5c342aa52627bd06c03da822e9e1600dc034d9a8f42856a287fd67f6b9f161c71 diff --git a/sys-libs/gdbm/files/gdbm-1.18.1-gettext.patch b/sys-libs/gdbm/files/gdbm-1.18.1-gettext.patch deleted file mode 100644 index 2f0c0c45073..00000000000 --- a/sys-libs/gdbm/files/gdbm-1.18.1-gettext.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ruN gdbm-1.18.1.orig/configure.ac gdbm-1.18.1/configure.ac ---- gdbm-1.18.1.orig/configure.ac 2018-10-27 08:46:09.000000000 +0300 -+++ gdbm-1.18.1/configure.ac 2020-12-17 14:12:14.249678303 +0200 -@@ -94,7 +94,7 @@ - - dnl Internationalization macros. - AM_GNU_GETTEXT([external], [need-ngettext]) --AM_GNU_GETTEXT_VERSION(0.18) -+AM_GNU_GETTEXT_REQUIRE_VERSION(0.18) - - AC_CHECK_HEADERS([sys/file.h sys/termios.h string.h locale.h getopt.h]) - diff --git a/sys-libs/gdbm/files/gdbm-1.20-uclibc-types.patch b/sys-libs/gdbm/files/gdbm-1.20-uclibc-types.patch deleted file mode 100644 index 448ce9fbbdd..00000000000 --- a/sys-libs/gdbm/files/gdbm-1.20-uclibc-types.patch +++ /dev/null @@ -1,17 +0,0 @@ -https://bugs.gentoo.org/808480 - -From: Sergey Poznyakoff <gray@gnu.org> -Date: Wed, 7 Jul 2021 09:36:22 +0300 -Subject: Fix https://puszcza.gnu.org.ua/bugs/?515 - -* src/gdbm.h.in: Include sys/types.h ---- a/src/gdbm.h.in -+++ b/src/gdbm.h.in -@@ -30,6 +30,7 @@ - # define _GDBM_H_ - - # include <stdio.h> -+# include <sys/types.h> - - /* GDBM C++ support */ - # if defined(__cplusplus) || defined(c_plusplus) diff --git a/sys-libs/gdbm/gdbm-1.20.ebuild b/sys-libs/gdbm/gdbm-1.20.ebuild deleted file mode 100644 index 1658e3a497b..00000000000 --- a/sys-libs/gdbm/gdbm-1.20.ebuild +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools multilib-minimal - -DESCRIPTION="Standard GNU database libraries" -HOMEPAGE="https://www.gnu.org/software/gdbm/" -SRC_URI="mirror://gnu/gdbm/${P}.tar.gz" - -LICENSE="GPL-3" -SLOT="0/6" # libgdbm.so version -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="+berkdb nls +readline static-libs" - -DEPEND=" - readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] ) -" -RDEPEND="${DEPEND}" - -PATCHES=( - "${FILESDIR}"/${PN}-1.18.1-gettext.patch # bug #696838 - "${FILESDIR}"/${PN}-1.20-uclibc-types.patch # bug #808480 -) - -src_prepare() { - default - eautoreconf -} - -multilib_src_configure() { - # gdbm doesn't appear to use either of these libraries - export ac_cv_lib_dbm_main=no ac_cv_lib_ndbm_main=no - - local myeconfargs=( - --includedir="${EPREFIX}"/usr/include/gdbm - $(use_enable berkdb libgdbm-compat) - $(use_enable nls) - $(use_enable static-libs static) - $(use_with readline) - ) - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_install_all() { - einstalldocs - - if ! use static-libs ; then - find "${ED}" -name '*.la' -delete || die - fi - mv "${ED}"/usr/include/gdbm/gdbm.h "${ED}"/usr/include/ || die -} diff --git a/sys-libs/gdbm/gdbm-1.22.ebuild b/sys-libs/gdbm/gdbm-1.22.ebuild index ea2981b0de2..7026c44c322 100644 --- a/sys-libs/gdbm/gdbm-1.22.ebuild +++ b/sys-libs/gdbm/gdbm-1.22.ebuild @@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/gdbm/${P}.tar.gz" LICENSE="GPL-3" SLOT="0/6" # libgdbm.so version -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="+berkdb nls +readline static-libs" DEPEND=" diff --git a/sys-libs/gdbm/gdbm-1.21.ebuild b/sys-libs/gdbm/gdbm-1.23.ebuild index 6f0257fa15b..91a3d5b1bce 100644 --- a/sys-libs/gdbm/gdbm-1.21.ebuild +++ b/sys-libs/gdbm/gdbm-1.23.ebuild @@ -1,29 +1,32 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit multilib-minimal +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/gdbm.asc +inherit libtool multilib-minimal verify-sig DESCRIPTION="Standard GNU database libraries" HOMEPAGE="https://www.gnu.org/software/gdbm/" -SRC_URI="mirror://gnu/gdbm/${P}.tar.gz - https://dev.gentoo.org/~dilfridge/distfiles/${PN}-1.21-gettext-ac.patch.gz -" +SRC_URI="mirror://gnu/gdbm/${P}.tar.gz" +SRC_URI+=" verify-sig? ( mirror://gnu/gdbm/${P}.tar.gz.sig )" LICENSE="GPL-3" SLOT="0/6" # libgdbm.so version -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="+berkdb nls +readline static-libs" -DEPEND=" - readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] ) -" +DEPEND="readline? ( sys-libs/readline:=[${MULTILIB_USEDEP}] )" RDEPEND="${DEPEND}" +BDEPEND="verify-sig? ( sec-keys/openpgp-keys-gdbm )" -PATCHES=( - "${WORKDIR}"/${PN}-1.21-gettext-ac.patch #696838 #811303 -) +src_prepare() { + default + + # gdbm ships with very old libtool files, regen to avoid + # errors when cross-compiling. + elibtoolize +} multilib_src_configure() { # gdbm doesn't appear to use either of these libraries @@ -36,6 +39,7 @@ multilib_src_configure() { $(use_enable static-libs static) $(use_with readline) ) + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" } @@ -45,5 +49,6 @@ multilib_src_install_all() { if ! use static-libs ; then find "${ED}" -name '*.la' -delete || die fi + mv "${ED}"/usr/include/gdbm/gdbm.h "${ED}"/usr/include/ || die } diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest index c54232241af..1d438fcb361 100644 --- a/sys-libs/glibc/Manifest +++ b/sys-libs/glibc/Manifest @@ -11,12 +11,14 @@ DIST glibc-2.31-patches-9.tar.xz 74712 BLAKE2B 62991b67de4def4cca944e8420d2f0139 DIST glibc-2.31.tar.xz 16676764 BLAKE2B 91df1792345f157265eae405185a81fd4b8ce36d4c2388f44b0d5b1ae38174ea374cbc909cd260770b9f38ea58051da13766d4fa22abf41c2d4a2493257b179b SHA512 735e4c0ef10418b6ea945ad3906585e5bbd8b282d76f2131309dce4cec6b15066a5e4a3731773ce428a819b542579c9957867bb0abf05ed2030983fca4412306 DIST glibc-2.32-patches-8.tar.xz 65532 BLAKE2B 00c572cff396e52313d0324f7bc28192a65f06b22fc5a04aa631b76b3016842365006399715531ee693f3519720edcebef7884247f2f8c19e3518c1ddafab7cc SHA512 5240bc3a6df46d12c03ea4ce7b1a0df85301256ae3bd003fd04c61dadaaec34998873bf20544d891f6eedf896302bb916010aebc1d8d646a3cce09a93b533d0b DIST glibc-2.32.tar.xz 16744512 BLAKE2B a56b4afbb35315c5cd6dca0f62e44455dceae3e6e88a8453621f9a5394a60ddf10ca9309b2db0911830c7fd77e3faa5d94694eb94d5b2c05fc5285cef52255da SHA512 8460c155b7003e04f18dabece4ed9ad77445fa2288a7dc08e80a8fc4c418828af29e0649951bd71a54ea2ad2d4da7570aafd9bdfe4a37e9951b772b442afe50b -DIST glibc-2.33-patches-4.tar.xz 60124 BLAKE2B a7a99f39c16df241745772c31b10946dc44c51e6c09f8a447b905e7dd6ba529aee08f66a581431453c6665485ac1848861559aa3f0aaba8c2061c1f1eb77d9be SHA512 05c33dc465a98097f836783bb5037dfa14b3a2c0c140014f642ea72954222ae919fe2db9573ee70ca9c1881b3b59dd4b815a8f39f331494fa12951c9012797ef -DIST glibc-2.33-patches-6.tar.xz 64632 BLAKE2B f04ca4320d65c8796c67471cb56d3bf002cc34fb6a81075b85948e41c94df46cb2a3a944cced42d6d2c17ffc11e32a9840810864e655cc0fe18e6e0fe9f3c985 SHA512 b95746cd3415ec9ca275e542a2b5fddd5ce5680aa3bda08e94e96cf431191f7488ef6b7999ff0dfaf7405a4212531a75283e9bd7f5ae65bf572912038877a6df +DIST glibc-2.33-patches-11.tar.xz 143916 BLAKE2B ac13b3ccf9681bb6d3c35ecc33e268ea3f67c1809f916019e692dc83e3ce809402a45548da5ca6c7c30d2a45a2638f9fa4254c0355bd4c53bdb216f17aa4e28b SHA512 0ee1dfcf9574543d49ab4fbfe53571258422b6e82b9d12a33e411cee7e517821a4c45c24962b5120783a4efc898afdfa170d33486cc74d94c526bdd14cc84300 DIST glibc-2.33.tar.xz 17031280 BLAKE2B 703d12121c1e2c5d9e0c6ba5341f5fb5c4d9111611a83f2360029b5de9c6e5a5611249d1833684a58ed4afdf49cae614365d87ec8721ba0e5d218f593b1f229d SHA512 4cb5777b68b22b746cc51669e0e9282b43c83f6944e42656e6db7195ebb68f2f9260f130fdeb4e3cfc64efae4f58d96c43d388f52be1eb024ca448084684abdb -DIST glibc-2.34-patches-5.tar.xz 56832 BLAKE2B e5f5e8e41551d9f90355e9fc854e541cdcd5dd172e12dafa84256b7aeb999c0980ec6e7299701b78b0257980f5cf91019edfdf9796bec6b886434aa1960b2d6c SHA512 bc56fe2870629700d931150e1ebdc6e9b3318e8dabf5491d3645efd4db11032e21562e9276d97fc052c45362bfbca7f3d80d93277c2bf8aa3e05a5001df75c60 -DIST glibc-2.34-patches-6.tar.xz 58396 BLAKE2B c25696e2aceef9ea4724716acde377d91b8a76b2edca2b293fcd6c89f635f63a612f8c1ecd861367b1394ebacc4b0151b0c6b68c2b08a7bde3a54a76400f35c5 SHA512 343922492e448d978dbcad1718804f892d002b6d4ce366da4cf571d97145ed850fb4b2862645681f487a9a18a77ea48f23010c0c61ea7cf914d26fd149b8271d +DIST glibc-2.34-patches-17.tar.xz 241584 BLAKE2B e4eea130c331f64ba66e14a6ba318853141ee3e41b455cb45b8fdb702cae071dd307229dafcfcafcc41e5a56982f52c87e31d95295f824f1a2ae689a7e0f5b49 SHA512 c6a51b373be3986e1ad753541ccf73f29515b5df0f80e0450b26bed37e8c505e22e8f13e89554347e551819c8d89d30f306464e5d25cafa4a12400c112578dca DIST glibc-2.34.tar.xz 17301232 BLAKE2B 874031192f2f5a3b35c3f5b044a467d4be4e67e8593e070e5b49b901ce8ea6bde2f8d2f6c92fa33b3f61eb723572a9e5f2b45e56064168df80a96d3fdb6fa30c SHA512 15252affd9ef4523a8001db16d497f4fdcb3ddf4cde7fe80e075df0bd3cc6524dc29fbe20229dbf5f97af580556e6b1fac0de321a5fe25322bc3e72f93beb624 +DIST glibc-2.35-loongarch-patches-20220422.tar.xz 44804 BLAKE2B b93720e45d23c8d17918ffaa480351499f4748bc08ab6e1f1fd3c681fcc0b08a3381188f5d4f14e6706baa5eb45c787bc635d0e8ea59712514012caf93992222 SHA512 28e2d02f07fcf61f76585dd59627314ed20ebe29ecd7ae7f5aea8db0704482fc024fee744cbee1776e666d14b80b1393f64cd2283e3c39be4c97ebe09efcdee2 +DIST glibc-2.35-patches-6.tar.xz 57236 BLAKE2B a03845733e2f0ebe179523458695963d729b4211b4ce14310d55163cd33aff502f9e14a4bb0068410777e9b9bb5be4ef7ad1a1fd51debf9191dcf89dc9ff08b8 SHA512 59c5e1669677e969873f5bba38958316a3b32523cac628b97513aed864e191da10499edac77bb5e9a07179d14cf3c75073fd03e8427f7bcfd68fedcedc35083e +DIST glibc-2.35-patches-7.tar.xz 163840 BLAKE2B 55352eeaf70f74fd8fcd21bd7f3ba14121b496dcfb59e06b5a73be36838dda4b39fc22201c4320c0c38a454c7f1539aae7f3307107e460bede25be33c0525c11 SHA512 d39bb2fecad8cd9213c61e279823f89c3daf9a4f630ac71503df2e9bfb74e019c996bed9a93aaad89083a729a1d3792e7ed8313ac54d757f47d5614ac3469e59 +DIST glibc-2.35.tar.xz 18165952 BLAKE2B 623c728884f070cd87ffeb9203f74206197c52405ac9bc44f3dd519a3468b8e8ae2536c883e5d17d94417dbd1e91775de2e674314e4ff7424f9720026d6b7063 SHA512 e7336ce27561be5d7c217832a1136fb327e057bd8d3f92925b35c97e3e9f9e486948b5a1e03e5e4090772ef06437a074d10b82e68f17f1ad8f22077ee39e1b66 DIST glibc-systemd-20210729.tar.gz 1480 BLAKE2B 37722c7579df782d890e44dbab99c3de52ab466eb9de80d82405e9bb5620bf39ffc8c5f466a435bdb86ef6d36dd7019c0736573916bda6c67d02a2581e0ec979 SHA512 efd75af58b50522c28cdac7abd1fc56555bc1bb042512c90d8340c1ec09c5791b3872a305bf83723252bbde5855b75d958c041083457765c4cfd170732d09238 DIST glibc-systemd-20210814.tar.gz 1469 BLAKE2B 10fa7bcb46d4fdce9c0ab353cbd30871e9b09a347a13a9c9a3b5777f931aa3c826c158d2e49532c604d4a834f2fab4089b67495fb88d0398945dc50d45ad9ef1 SHA512 5346a9ea459a1e6ccf665389f2a294de1e16f1e3e05cdf07e3dd99ed0e4f6f8b52cc333d4bff3c75ac90ab6ce70cd4ab2b3e126f920ce7979abd6dda56315efc DIST locale-gen-2.00.tar.gz 7738 BLAKE2B cde6de5ba3400aea24d0d5f1b79471f89f09fb747c8e371e38316c7ada92f967e0865f573f23cb353d82419c234724143c0aeca9eb70eb945dfc581cc7491eb1 SHA512 b609fddb9ec5e567c008841fef3390eddb5d6e7699a8271b3b8c0ade1b44b0ac2e5d1daa8b9acabf3432e3b88110b538a96f209b1ad0f9e988b7efce66606dff diff --git a/sys-libs/glibc/files/2.34/glibc-2.34-hppa-asm-getcontext-fixes.patch b/sys-libs/glibc/files/2.34/glibc-2.34-hppa-asm-getcontext-fixes.patch new file mode 100644 index 00000000000..299a6dae7db --- /dev/null +++ b/sys-libs/glibc/files/2.34/glibc-2.34-hppa-asm-getcontext-fixes.patch @@ -0,0 +1,214 @@ +https://sourceware.org/git/?p=glibc.git;a=patch;h=738ee53f0ce5e39b9b7a6777f5d3057afbaac498 +https://sourceware.org/git/?p=glibc.git;a=patch;h=d53b9cc391c72a1011ea8fe7a9f70dc5060a0db2 + +From 738ee53f0ce5e39b9b7a6777f5d3057afbaac498 Mon Sep 17 00:00:00 2001 +From: John David Anglin <danglin@gcc.gnu.org> +Date: Tue, 15 Mar 2022 23:12:37 +0000 +Subject: [PATCH] hppa: Implement swapcontext in assembler (bug 28960) + +When swapcontext.c is compiled without -g, the following error occurs: +Error: CFI instruction used without previous .cfi_startproc + +Fix by converting swapcontext routine to assembler. +--- + sysdeps/unix/sysv/linux/hppa/swapcontext.S | 72 +++++++++++++++++++ + sysdeps/unix/sysv/linux/hppa/swapcontext.c | 83 ---------------------- + 2 files changed, 72 insertions(+), 83 deletions(-) + create mode 100644 sysdeps/unix/sysv/linux/hppa/swapcontext.S + delete mode 100644 sysdeps/unix/sysv/linux/hppa/swapcontext.c + +diff --git a/sysdeps/unix/sysv/linux/hppa/swapcontext.S b/sysdeps/unix/sysv/linux/hppa/swapcontext.S +new file mode 100644 +index 0000000000..94b164dc63 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/hppa/swapcontext.S +@@ -0,0 +1,72 @@ ++/* Swap to new context. ++ Copyright (C) 2008-2022 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library. If not, see ++ <https://www.gnu.org/licenses/>. */ ++ ++#include <sysdep.h> ++#include "ucontext_i.h" ++ ++ .text ++ENTRY(__swapcontext) ++ ++ /* Copy rp to ret0 (r28). */ ++ copy %rp,%ret0 ++ ++ /* Create a frame. */ ++ ldo 64(%sp),%sp ++ .cfi_def_cfa_offset -64 ++ ++ /* Save the current machine context to oucp. */ ++ bl __getcontext,%rp ++ ++ /* Copy oucp to register ret1 (r29). __getcontext saves and ++ restores it on a normal return. It is restored from oR29 ++ on reactivation. */ ++ copy %r26,%ret1 ++ ++ /* Pop frame. */ ++ ldo -64(%sp),%sp ++ .cfi_def_cfa_offset 0 ++ ++ /* Load return pointer from oR28. */ ++ ldw oR28(%ret1),%rp ++ ++ /* Return if error. */ ++ or,= %r0,%ret0,%r0 ++ bv,n %r0(%rp) ++ ++ /* Load sc_sar flag. */ ++ ldb oSAR(%ret1),%r20 ++ ++ /* Return if oucp context has been reactivated. */ ++ or,= %r0,%r20,%r0 ++ bv,n %r0(%rp) ++ ++ /* Mark sc_sar flag. */ ++ ldi 1,%r20 ++ stb %r20,oSAR(%ret1) ++ ++ /* Activate the machine context in ucp. */ ++ bl __setcontext,%rp ++ ldw oR25(%ret1),%r26 ++ ++ /* Load return pointer. */ ++ ldw oR28(%ret1),%rp ++ bv,n %r0(%rp) ++ ++PSEUDO_END(__swapcontext) ++ ++weak_alias (__swapcontext, swapcontext) +diff --git a/sysdeps/unix/sysv/linux/hppa/swapcontext.c b/sysdeps/unix/sysv/linux/hppa/swapcontext.c +deleted file mode 100644 +index 1664f68c7b..0000000000 +--- a/sysdeps/unix/sysv/linux/hppa/swapcontext.c ++++ /dev/null +@@ -1,83 +0,0 @@ +-/* Swap to new context. +- Copyright (C) 2008-2021 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- Contributed by Helge Deller <deller@gmx.de>, 2008. +- +- The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU Lesser General Public +- License as published by the Free Software Foundation; either +- version 2.1 of the License, or (at your option) any later version. +- +- The GNU C Library is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public +- License along with the GNU C Library. If not, see +- <https://www.gnu.org/licenses/>. */ +- +-#include <ucontext.h> +-#include "ucontext_i.h" +- +-extern int __getcontext (ucontext_t *ucp); +-extern int __setcontext (const ucontext_t *ucp); +- +-int +-__swapcontext (ucontext_t *oucp, const ucontext_t *ucp) +-{ +- /* Save rp for debugger. */ +- asm ("stw %rp,-20(%sp)"); +- asm (".cfi_offset 2, -20"); +- +- /* Copy rp to ret0 (r28). */ +- asm ("copy %rp,%ret0"); +- +- /* Create a frame. */ +- asm ("ldo 64(%sp),%sp"); +- asm (".cfi_def_cfa_offset -64"); +- +- /* Save the current machine context to oucp. */ +- asm ("bl __getcontext,%rp"); +- +- /* Copy oucp to register ret1 (r29). __getcontext saves and restores it +- on a normal return. It is restored from oR29 on reactivation. */ +- asm ("copy %r26,%ret1"); +- +- /* Pop frame. */ +- asm ("ldo -64(%sp),%sp"); +- asm (".cfi_def_cfa_offset 0"); +- +- /* Load return pointer from oR28. */ +- asm ("ldw %0(%%ret1),%%rp" : : "i" (oR28)); +- +- /* Return if error. */ +- asm ("or,= %r0,%ret0,%r0"); +- asm ("bv,n %r0(%rp)"); +- +- /* Load sc_sar flag. */ +- asm ("ldb %0(%%ret1),%%r20" : : "i" (oSAR)); +- +- /* Return if oucp context has been reactivated. */ +- asm ("or,= %r0,%r20,%r0"); +- asm ("bv,n %r0(%rp)"); +- +- /* Mark sc_sar flag. */ +- asm ("1: ldi 1,%r20"); +- asm ("stb %%r20,%0(%%ret1)" : : "i" (oSAR)); +- +- /* Activate the machine context in ucp. */ +- asm ("bl __setcontext,%rp"); +- asm ("ldw %0(%%ret1),%%r26" : : "i" (oR25)); +- +- /* Load return pointer. */ +- asm ("ldw %0(%%ret1),%%rp" : : "i" (oR28)); +- +- /* A successful call to setcontext does not return. */ +- asm ("bv,n %r0(%rp)"); +- +- /* Make gcc happy. */ +- return 0; +-} +- +-weak_alias (__swapcontext, swapcontext) +-- +2.27.0 + + +From d53b9cc391c72a1011ea8fe7a9f70dc5060a0db2 Mon Sep 17 00:00:00 2001 +From: John David Anglin <danglin@gcc.gnu.org> +Date: Tue, 15 Mar 2022 23:04:39 +0000 +Subject: [PATCH] hppa: Use END instead of PSEUDO_END in swapcontext.S + +(cherry picked from commit 7a5c440102d4ec7fafd9bbd98eca9bd90ecaaafd) +--- + sysdeps/unix/sysv/linux/hppa/swapcontext.S | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sysdeps/unix/sysv/linux/hppa/swapcontext.S b/sysdeps/unix/sysv/linux/hppa/swapcontext.S +index 94b164dc63..fbc22586d1 100644 +--- a/sysdeps/unix/sysv/linux/hppa/swapcontext.S ++++ b/sysdeps/unix/sysv/linux/hppa/swapcontext.S +@@ -67,6 +67,6 @@ ENTRY(__swapcontext) + ldw oR28(%ret1),%rp + bv,n %r0(%rp) + +-PSEUDO_END(__swapcontext) ++END(__swapcontext) + + weak_alias (__swapcontext, swapcontext) +-- +2.27.0 diff --git a/sys-libs/glibc/files/glibc-2.34-make-clone3-syscall-optional.patch b/sys-libs/glibc/files/glibc-2.34-make-clone3-syscall-optional.patch deleted file mode 100644 index bbc6cabb463..00000000000 --- a/sys-libs/glibc/files/glibc-2.34-make-clone3-syscall-optional.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 22afb7abbfa0e2d4d168dcd2844aa9935a71cb37 Mon Sep 17 00:00:00 2001 -From: Sam James <sam@gentoo.org> -Date: Wed, 1 Dec 2021 14:58:40 +0000 -Subject: [PATCH] clone-internal.c: disable use of clone3 conditinally - -We're disabling clone3 for now _CONDITIONALLY_ (not by default) to allow -compatibility with applications using older Electron. - -Use -DGENTOO_USE_CLONE3 to enable clone3 for now. In future, we will -revert back to always using clone3. - -This was impacting e.g. Discord and Skype. This patch stops glibc from using -clone3 internally (which is the only real use of it) and falls back to the old -behaviour. - -Specifically, we want https://github.com/electron/electron/pull/31091 -to work its way downstream to various Electron applications. - -https://bugs.gentoo.org/819045 -https://bugs.gentoo.org/827386 - -https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/glibc/plain/debian/patches/ubuntu/disable-clone3.patch - -This is the same as the patch that was considered but ultimately rejected -for 2.34 because Docker got sorted out in time: -https://patchwork.ozlabs.org/project/glibc/patch/87eebkf8ph.fsf@oldenburg.str.redhat.com/. - -Signed-off-by: Sam James <sam@gentoo.org> ---- - sysdeps/unix/sysv/linux/clone-internal.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/sysdeps/unix/sysv/linux/clone-internal.c b/sysdeps/unix/sysv/linux/clone-internal.c -index 979f7880be..c5566daf73 100644 ---- a/sysdeps/unix/sysv/linux/clone-internal.c -+++ b/sysdeps/unix/sysv/linux/clone-internal.c -@@ -48,7 +48,7 @@ __clone_internal (struct clone_args *cl_args, - int (*func) (void *arg), void *arg) - { - int ret; --#ifdef HAVE_CLONE3_WRAPPER -+#if defined(HAVE_CLONE3_WRAPPER) && defined(GENTOO_USE_CLONE3) - /* Try clone3 first. */ - int saved_errno = errno; - ret = __clone3 (cl_args, sizeof (*cl_args), func, arg); --- -2.34.1 - diff --git a/sys-libs/glibc/glibc-2.19-r2.ebuild b/sys-libs/glibc/glibc-2.19-r2.ebuild index 933241c8139..d1dff3cf1b4 100644 --- a/sys-libs/glibc/glibc-2.19-r2.ebuild +++ b/sys-libs/glibc/glibc-2.19-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -592,7 +592,7 @@ sanity_prechecks() { if [[ -e ${EROOT}/etc/nsswitch.conf ]] ; then local entry for entry in passwd group shadow; do - if ! egrep -q "^[ \t]*${entry}:.*files" "${EROOT}"/etc/nsswitch.conf; then + if ! grep -E -q "^[ \t]*${entry}:.*files" "${EROOT}"/etc/nsswitch.conf; then eerror "Your ${EROOT}/etc/nsswitch.conf is out of date." eerror "Please make sure you have 'files' entries for" eerror "'passwd:', 'group:' and 'shadow:' databases." @@ -1302,7 +1302,7 @@ pkg_postinst() { if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then local entry for entry in passwd group shadow; do - if egrep -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then + if grep -E -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then ewarn "" ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been" ewarn "removed from glibc and is now provided by the package" diff --git a/sys-libs/glibc/glibc-2.30-r9.ebuild b/sys-libs/glibc/glibc-2.30-r9.ebuild index 88282a7f595..7e8c9041082 100644 --- a/sys-libs/glibc/glibc-2.30-r9.ebuild +++ b/sys-libs/glibc/glibc-2.30-r9.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -639,7 +639,7 @@ sanity_prechecks() { if [[ -e ${EROOT}/etc/nsswitch.conf ]] ; then local entry for entry in passwd group shadow; do - if ! egrep -q "^[ \t]*${entry}:.*files" "${EROOT}"/etc/nsswitch.conf; then + if ! grep -E -q "^[ \t]*${entry}:.*files" "${EROOT}"/etc/nsswitch.conf; then eerror "Your ${EROOT}/etc/nsswitch.conf is out of date." eerror "Please make sure you have 'files' entries for" eerror "'passwd:', 'group:' and 'shadow:' databases." @@ -1458,7 +1458,7 @@ pkg_postinst() { if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then local entry for entry in passwd group shadow; do - if egrep -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then + if grep -E -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then ewarn "" ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been" ewarn "removed from glibc and is now provided by the package" diff --git a/sys-libs/glibc/glibc-2.31-r7.ebuild b/sys-libs/glibc/glibc-2.31-r7.ebuild index 975a2dec59c..61ff26514e5 100644 --- a/sys-libs/glibc/glibc-2.31-r7.ebuild +++ b/sys-libs/glibc/glibc-2.31-r7.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -633,7 +633,7 @@ sanity_prechecks() { if [[ -e ${EROOT}/etc/nsswitch.conf ]] ; then local entry for entry in passwd group shadow; do - if ! egrep -q "^[ \t]*${entry}:.*files" "${EROOT}"/etc/nsswitch.conf; then + if ! grep -E -q "^[ \t]*${entry}:.*files" "${EROOT}"/etc/nsswitch.conf; then eerror "Your ${EROOT}/etc/nsswitch.conf is out of date." eerror "Please make sure you have 'files' entries for" eerror "'passwd:', 'group:' and 'shadow:' databases." @@ -1486,7 +1486,7 @@ pkg_postinst() { if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then local entry for entry in passwd group shadow; do - if egrep -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then + if grep -E -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then ewarn "" ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been" ewarn "removed from glibc and is now provided by the package" diff --git a/sys-libs/glibc/glibc-2.32-r8.ebuild b/sys-libs/glibc/glibc-2.32-r8.ebuild index 101254fce5a..361d004c77d 100644 --- a/sys-libs/glibc/glibc-2.32-r8.ebuild +++ b/sys-libs/glibc/glibc-2.32-r8.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -650,7 +650,7 @@ sanity_prechecks() { if [[ -e ${EROOT}/etc/nsswitch.conf ]] ; then local entry for entry in passwd group shadow; do - if ! egrep -q "^[ \t]*${entry}:.*files" "${EROOT}"/etc/nsswitch.conf; then + if ! grep -E -q "^[ \t]*${entry}:.*files" "${EROOT}"/etc/nsswitch.conf; then eerror "Your ${EROOT}/etc/nsswitch.conf is out of date." eerror "Please make sure you have 'files' entries for" eerror "'passwd:', 'group:' and 'shadow:' databases." @@ -1504,7 +1504,7 @@ pkg_postinst() { if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then local entry for entry in passwd group shadow; do - if egrep -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then + if grep -E -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then ewarn "" ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been" ewarn "removed from glibc and is now provided by the package" diff --git a/sys-libs/glibc/glibc-2.34-r2.ebuild b/sys-libs/glibc/glibc-2.33-r13.ebuild index dd50e8578a3..9fd5d468641 100644 --- a/sys-libs/glibc/glibc-2.34-r2.ebuild +++ b/sys-libs/glibc/glibc-2.33-r13.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -9,7 +9,7 @@ EAPI=7 # We avoid Python 3.10 here _for now_ (it does work!) to avoid circular dependencies # on upgrades as people migrate to libxcrypt. # https://wiki.gentoo.org/wiki/User:Sam/Portage_help/Circular_dependencies#Python_and_libcrypt -PYTHON_COMPAT=( python3_{7,8,9} ) +PYTHON_COMPAT=( python3_{8,9} ) TMPFILES_OPTIONAL=1 inherit python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig \ @@ -23,13 +23,13 @@ SLOT="2.2" EMULTILIB_PKG="true" # Gentoo patchset (ignored for live ebuilds) -PATCH_VER=5 +PATCH_VER=11 PATCH_DEV=dilfridge if [[ ${PV} == 9999* ]]; then inherit git-r3 else - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" SRC_URI="mirror://gnu/glibc/${P}.tar.xz" SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz" fi @@ -40,7 +40,7 @@ GCC_BOOTSTRAP_VER=20201208 LOCALE_GEN_VER=2.22 -GLIBC_SYSTEMD_VER=20210729 +GLIBC_SYSTEMD_VER=20210814 SRC_URI+=" https://gitweb.gentoo.org/proj/locale-gen.git/snapshot/locale-gen-${LOCALE_GEN_VER}.tar.gz" SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" @@ -50,9 +50,6 @@ IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd headers-only +m # Minimum kernel version that glibc requires MIN_KERN_VER="3.2.0" -# Minimum pax-utils version needed (which contains any new syscall changes for -# its seccomp filter!). Please double check this! -MIN_PAX_UTILS_VER="1.3.3" # Here's how the cross-compile logic breaks down ... # CTARGET - machine that will target the binaries @@ -106,7 +103,7 @@ fi BDEPEND=" ${PYTHON_DEPS} - >=app-misc/pax-utils-${MIN_PAX_UTILS_VER} + >=app-misc/pax-utils-1.3.1 sys-devel/bison doc? ( sys-apps/texinfo ) !compile-locales? ( @@ -138,7 +135,7 @@ RDEPEND="${COMMON_DEPEND} sys-apps/grep virtual/awk sys-apps/gentoo-functions - !<app-misc/pax-utils-${MIN_PAX_UTILS_VER} + !<app-misc/pax-utils-1.3.1 !<net-misc/openssh-8.1_p1-r2 " @@ -181,6 +178,12 @@ XFAIL_TEST_LIST=( # https://sourceware.org/PR19329 # https://bugs.gentoo.org/719674#c12 tst-stack4 + + # The following tests fail only inside portage + # https://bugs.gentoo.org/831267 + tst-system + tst-strerror + tst-strsignal ) # @@ -326,14 +329,6 @@ setup_target_flags() { export CFLAGS_x86="${CFLAGS_x86} -march=${t}" einfo "Auto adding -march=${t} to CFLAGS_x86 #185404 (ABI=${ABI})" fi - - # Workaround for https://bugs.gentoo.org/823780. This really should - # be removed when the upstream bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103275 - # is fixed in our tree, either via 11.3 or an 11.2p2 patch set. - if [[ ${ABI} == x86 ]] && tc-is-gcc && (($(gcc-major-version) == 11)) && (($(gcc-minor-version) <= 2)) && (($(gcc-micro-version) == 0)); then - export CFLAGS_x86="${CFLAGS_x86} -mno-avx512f" - einfo "Auto adding -mno-avx512f to CFLAGS_x86 (bug #823780) (ABI=${ABI})" - fi ;; mips) # The mips abi cannot support the GNU style hashes. #233233 @@ -421,6 +416,9 @@ setup_flags() { # #492892 filter-flags -frecord-gcc-switches + # #829583 + filter-lfs-flags + unset CBUILD_OPT CTARGET_OPT if use multilib ; then CTARGET_OPT=$(get_abi_CTARGET) @@ -440,33 +438,6 @@ setup_flags() { filter-flags '-fstack-protector*' } -want_tls() { - # Archs that can use TLS (Thread Local Storage) - case $(tc-arch) in - x86) - # requires i486 or better #106556 - [[ ${CTARGET} == i[4567]86* ]] && return 0 - return 1 - ;; - esac - return 0 -} - -want__thread() { - want_tls || return 1 - - # For some reason --with-tls --with__thread is causing segfaults on sparc32. - [[ ${PROFILE_ARCH} == "sparc" ]] && return 1 - - [[ -n ${WANT__THREAD} ]] && return ${WANT__THREAD} - - # only test gcc -- can't test linking yet - tc-has-tls -c ${CTARGET} - WANT__THREAD=$? - - return ${WANT__THREAD} -} - use_multiarch() { # Allow user to disable runtime arch detection in multilib. use multiarch || return 1 @@ -522,14 +493,104 @@ setup_env() { einfo "Skip CC ABI injection. We can't use (cross-)compiler yet." return 0 fi - local VAR=CFLAGS_${ABI} + + # Glibc does not work with gold (for various reasons) #269274. + tc-ld-disable-gold + + if use doc ; then + export MAKEINFO=makeinfo + else + export MAKEINFO=/dev/null + fi + + # Reset CC and CXX to the value at start of emerge + export CC=${__ORIG_CC:-${CC:-$(tc-getCC ${CTARGET})}} + export CXX=${__ORIG_CXX:-${CXX:-$(tc-getCXX ${CTARGET})}} + + # and make sure __ORIC_CC and __ORIG_CXX is defined now. + export __ORIG_CC=${CC} + export __ORIG_CXX=${CXX} + + if tc-is-clang && ! use custom-cflags && ! is_crosscompile ; then + + # If we are running in an otherwise clang/llvm environment, we need to + # recover the proper gcc and binutils settings here, at least until glibc + # is finally building with clang. So let's override everything that is + # set in the clang profiles. + # Want to shoot yourself into the foot? Set USE=custom-cflags, that's always + # a good start into that direction. + # Also, if you're crosscompiling, let's assume you know what you are doing. + # Hopefully. + + local current_binutils_path=$(binutils-config -B) + local current_gcc_path=$(gcc-config -B) + einfo "Overriding clang configuration, since it won't work here" + + export CC="${current_gcc_path}/gcc" + export CXX="${current_gcc_path}/g++" + export LD="${current_binutils_path}/ld.bfd" + export AR="${current_binutils_path}/ar" + export AS="${current_binutils_path}/as" + export NM="${current_binutils_path}/nm" + export STRIP="${current_binutils_path}/strip" + export RANLIB="${current_binutils_path}/ranlib" + export OBJCOPY="${current_binutils_path}/objcopy" + export STRINGS="${current_binutils_path}/strings" + export OBJDUMP="${current_binutils_path}/objdump" + export READELF="${current_binutils_path}/readelf" + export ADDR2LINE="${current_binutils_path}/addr2line" + + # do we need to also do flags munging here? yes! at least... + filter-flags '-fuse-ld=*' + filter-flags '-D_FORTIFY_SOURCE=*' + + else + + # this is the "normal" case + + export CC="$(tc-getCC ${CTARGET})" + export CXX="$(tc-getCXX ${CTARGET})" + + # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure + # can't detect them automatically due to ${CHOST} mismatch and fallbacks + # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup(). + export NM="$(tc-getNM ${CTARGET})" + export READELF="$(tc-getREADELF ${CTARGET})" + + fi + # We need to export CFLAGS with abi information in them because glibc's # configure script checks CFLAGS for some targets (like mips). Keep # around the original clean value to avoid appending multiple ABIs on - # top of each other. - : ${__GLIBC_CC:=$(tc-getCC ${CTARGET})} - export __GLIBC_CC CC="${__GLIBC_CC} ${!VAR}" - einfo " $(printf '%15s' 'Manual CC:') ${CC}" + # top of each other. (Why does the comment talk about CFLAGS if the code + # acts on CC?) + export __GLIBC_CC=${CC} + export __GLIBC_CXX=${CXX} + + export __abi_CFLAGS="$(get_abi_CFLAGS)" + + # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 + # To build .S (assembly) files with the same ABI-specific flags + # upstream currently recommends adding CFLAGS to CC/CXX: + # https://sourceware.org/PR23273 + # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS + # and breaks multiarch support. See 659030#c3 for an example. + # The glibc configure script doesn't properly use LDFLAGS all the time. + export CC="${__GLIBC_CC} ${__abi_CFLAGS} ${CFLAGS} ${LDFLAGS}" + + # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 + export CXX="${__GLIBC_CXX} ${__abi_CFLAGS} ${CFLAGS}" + + if is_crosscompile; then + # Assume worst-case bootstrap: glibc is buil first time + # when ${CTARGET}-g++ is not available yet. We avoid + # building auxiliary programs that require C++: bug #683074 + # It should not affect final result. + export libc_cv_cxx_link_ok=no + # The line above has the same effect. We set CXX explicitly + # to make build logs less confusing. + export CXX= + fi } foreach_abi() { @@ -695,14 +756,6 @@ sanity_prechecks() { # When we actually have to compile something... if ! just_headers && [[ ${MERGE_TYPE} != "binary" ]] ; then - ebegin "Checking gcc for __thread support" - if ! eend $(want__thread ; echo $?) ; then - echo - eerror "Could not find a gcc that supports the __thread directive!" - eerror "Please update your binutils/gcc and try again." - die "No __thread support in gcc!" - fi - if [[ ${CTARGET} == *-linux* ]] ; then local run_kv build_kv want_kv @@ -826,61 +879,13 @@ src_prepare() { } glibc_do_configure() { - # Glibc does not work with gold (for various reasons) #269274. - tc-ld-disable-gold - - # CXX isnt handled by the multilib system, so if we dont unset here - # we accumulate crap across abis - unset CXX - - einfo "Configuring glibc for nptl" - - if use doc ; then - export MAKEINFO=makeinfo - else - export MAKEINFO=/dev/null - fi local v - for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM READELF; do + for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM AR AS STRIP RANLIB OBJCOPY STRINGS OBJDUMP READELF; do einfo " $(printf '%15s' ${v}:) ${!v}" done - # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 - # To build .S (assembly) files with the same ABI-specific flags - # upstream currently recommends adding CFLAGS to CC/CXX: - # https://sourceware.org/PR23273 - # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS - # and breaks multiarch support. See 659030#c3 for an example. - # The glibc configure script doesn't properly use LDFLAGS all the time. - export CC="$(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS}" - einfo " $(printf '%15s' 'Manual CC:') ${CC}" - - # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 - export CXX="$(tc-getCXX ${CTARGET}) $(get_abi_CFLAGS) ${CFLAGS}" - - if is_crosscompile; then - # Assume worst-case bootstrap: glibc is buil first time - # when ${CTARGET}-g++ is not available yet. We avoid - # building auxiliary programs that require C++: bug #683074 - # It should not affect final result. - export libc_cv_cxx_link_ok=no - # The line above has the same effect. We set CXX explicitly - # to make build logs less confusing. - export CXX= - fi - einfo " $(printf '%15s' 'Manual CXX:') ${CXX}" - - # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure - # can't detect them automatically due to ${CHOST} mismatch and fallbacks - # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup(). - export NM="$(tc-getNM ${CTARGET})" - export READELF="$(tc-getREADELF ${CTARGET})" - einfo " $(printf '%15s' 'Manual NM:') ${NM}" - einfo " $(printf '%15s' 'Manual READELF:') ${READELF}" - echo - local myconf=() case ${CTARGET} in @@ -1492,7 +1497,7 @@ glibc_sanity_check() { # first let's find the actual dynamic linker here # symlinks may point to the wrong abi - local newldso=$(find . -name 'ld*so.?' -type f -print -quit) + local newldso=$(find . -maxdepth 1 -name 'ld-*so' -type f -print -quit) einfo Last-minute run tests with ${newldso} in /$(get_libdir) ... @@ -1568,7 +1573,7 @@ pkg_postinst() { if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then local entry for entry in passwd group shadow; do - if egrep -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then + if grep -E -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then ewarn "" ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been" ewarn "removed from glibc and is now provided by the package" diff --git a/sys-libs/glibc/glibc-2.34-r3.ebuild b/sys-libs/glibc/glibc-2.34-r13.ebuild index 7053b85282f..1cd002c9c54 100644 --- a/sys-libs/glibc/glibc-2.34-r3.ebuild +++ b/sys-libs/glibc/glibc-2.34-r13.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -6,10 +6,7 @@ EAPI=7 # Bumping notes: https://wiki.gentoo.org/wiki/Project:Toolchain/sys-libs/glibc # Please read & adapt the page as necessary if obsolete. -# We avoid Python 3.10 here _for now_ (it does work!) to avoid circular dependencies -# on upgrades as people migrate to libxcrypt. -# https://wiki.gentoo.org/wiki/User:Sam/Portage_help/Circular_dependencies#Python_and_libcrypt -PYTHON_COMPAT=( python3_{7,8,9} ) +PYTHON_COMPAT=( python3_{8..10} ) TMPFILES_OPTIONAL=1 inherit python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig \ @@ -23,13 +20,13 @@ SLOT="2.2" EMULTILIB_PKG="true" # Gentoo patchset (ignored for live ebuilds) -PATCH_VER=6 +PATCH_VER=17 PATCH_DEV=dilfridge if [[ ${PV} == 9999* ]]; then inherit git-r3 else - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" SRC_URI="mirror://gnu/glibc/${P}.tar.xz" SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz" fi @@ -169,18 +166,16 @@ GENTOO_GLIBC_XFAIL_TESTS="${GENTOO_GLIBC_XFAIL_TESTS:-yes}" # The following tests fail due to the Gentoo build system and are thus # executed but ignored: XFAIL_TEST_LIST=( - # 9) Failures of unknown origin - tst-latepthread - # buggy test, assumes /dev/ and /dev/null on a single filesystem # 'mount --bind /dev/null /chroot/dev/null' breaks it. # https://sourceware.org/PR25909 tst-support_descriptors - # Flaky test, known to fail occasionally: - # https://sourceware.org/PR19329 - # https://bugs.gentoo.org/719674#c12 - tst-stack4 + # The following tests fail only inside portage + # https://bugs.gentoo.org/831267 + tst-system + tst-strerror + tst-strsignal ) # @@ -408,6 +403,7 @@ setup_flags() { filter-flags '-O?' append-flags -O2 fi + strip-unsupported-flags filter-flags -m32 -m64 '-mabi=*' @@ -421,6 +417,9 @@ setup_flags() { # #492892 filter-flags -frecord-gcc-switches + # #829583 + filter-lfs-flags + unset CBUILD_OPT CTARGET_OPT if use multilib ; then CTARGET_OPT=$(get_abi_CTARGET) @@ -438,33 +437,9 @@ setup_flags() { replace-flags -O0 -O1 filter-flags '-fstack-protector*' -} - -want_tls() { - # Archs that can use TLS (Thread Local Storage) - case $(tc-arch) in - x86) - # requires i486 or better #106556 - [[ ${CTARGET} == i[4567]86* ]] && return 0 - return 1 - ;; - esac - return 0 -} - -want__thread() { - want_tls || return 1 - - # For some reason --with-tls --with__thread is causing segfaults on sparc32. - [[ ${PROFILE_ARCH} == "sparc" ]] && return 1 - [[ -n ${WANT__THREAD} ]] && return ${WANT__THREAD} - - # only test gcc -- can't test linking yet - tc-has-tls -c ${CTARGET} - WANT__THREAD=$? - - return ${WANT__THREAD} + # See end of bug #830454; we handle this via USE=cet + filter-flags '-fcf-protection=' } use_multiarch() { @@ -522,14 +497,106 @@ setup_env() { einfo "Skip CC ABI injection. We can't use (cross-)compiler yet." return 0 fi - local VAR=CFLAGS_${ABI} + + # Glibc does not work with gold (for various reasons) #269274. + tc-ld-disable-gold + + if use doc ; then + export MAKEINFO=makeinfo + else + export MAKEINFO=/dev/null + fi + + # Reset CC and CXX to the value at start of emerge + export CC=${__ORIG_CC:-${CC:-$(tc-getCC ${CTARGET})}} + export CXX=${__ORIG_CXX:-${CXX:-$(tc-getCXX ${CTARGET})}} + + # and make sure __ORIC_CC and __ORIG_CXX is defined now. + export __ORIG_CC=${CC} + export __ORIG_CXX=${CXX} + + if tc-is-clang && ! use custom-cflags && ! is_crosscompile ; then + + # If we are running in an otherwise clang/llvm environment, we need to + # recover the proper gcc and binutils settings here, at least until glibc + # is finally building with clang. So let's override everything that is + # set in the clang profiles. + # Want to shoot yourself into the foot? Set USE=custom-cflags, that's always + # a good start into that direction. + # Also, if you're crosscompiling, let's assume you know what you are doing. + # Hopefully. + # Last, we need the settings of the *build* environment, not of the + # target environment... + + local current_binutils_path=$(env ROOT="${BROOT}" binutils-config -B) + local current_gcc_path=$(env ROOT="${BROOT}" gcc-config -B) + einfo "Overriding clang configuration, since it won't work here" + + export CC="${current_gcc_path}/gcc" + export CXX="${current_gcc_path}/g++" + export LD="${current_binutils_path}/ld.bfd" + export AR="${current_binutils_path}/ar" + export AS="${current_binutils_path}/as" + export NM="${current_binutils_path}/nm" + export STRIP="${current_binutils_path}/strip" + export RANLIB="${current_binutils_path}/ranlib" + export OBJCOPY="${current_binutils_path}/objcopy" + export STRINGS="${current_binutils_path}/strings" + export OBJDUMP="${current_binutils_path}/objdump" + export READELF="${current_binutils_path}/readelf" + export ADDR2LINE="${current_binutils_path}/addr2line" + + # do we need to also do flags munging here? yes! at least... + filter-flags '-fuse-ld=*' + filter-flags '-D_FORTIFY_SOURCE=*' + + else + + # this is the "normal" case + + export CC="$(tc-getCC ${CTARGET})" + export CXX="$(tc-getCXX ${CTARGET})" + + # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure + # can't detect them automatically due to ${CHOST} mismatch and fallbacks + # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup(). + export NM="$(tc-getNM ${CTARGET})" + export READELF="$(tc-getREADELF ${CTARGET})" + + fi + # We need to export CFLAGS with abi information in them because glibc's # configure script checks CFLAGS for some targets (like mips). Keep # around the original clean value to avoid appending multiple ABIs on - # top of each other. - : ${__GLIBC_CC:=$(tc-getCC ${CTARGET})} - export __GLIBC_CC CC="${__GLIBC_CC} ${!VAR}" - einfo " $(printf '%15s' 'Manual CC:') ${CC}" + # top of each other. (Why does the comment talk about CFLAGS if the code + # acts on CC?) + export __GLIBC_CC=${CC} + export __GLIBC_CXX=${CXX} + + export __abi_CFLAGS="$(get_abi_CFLAGS)" + + # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 + # To build .S (assembly) files with the same ABI-specific flags + # upstream currently recommends adding CFLAGS to CC/CXX: + # https://sourceware.org/PR23273 + # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS + # and breaks multiarch support. See 659030#c3 for an example. + # The glibc configure script doesn't properly use LDFLAGS all the time. + export CC="${__GLIBC_CC} ${__abi_CFLAGS} ${CFLAGS} ${LDFLAGS}" + + # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 + export CXX="${__GLIBC_CXX} ${__abi_CFLAGS} ${CFLAGS}" + + if is_crosscompile; then + # Assume worst-case bootstrap: glibc is buil first time + # when ${CTARGET}-g++ is not available yet. We avoid + # building auxiliary programs that require C++: bug #683074 + # It should not affect final result. + export libc_cv_cxx_link_ok=no + # The line above has the same effect. We set CXX explicitly + # to make build logs less confusing. + export CXX= + fi } foreach_abi() { @@ -695,12 +762,12 @@ sanity_prechecks() { # When we actually have to compile something... if ! just_headers && [[ ${MERGE_TYPE} != "binary" ]] ; then - ebegin "Checking gcc for __thread support" - if ! eend $(want__thread ; echo $?) ; then - echo - eerror "Could not find a gcc that supports the __thread directive!" - eerror "Please update your binutils/gcc and try again." - die "No __thread support in gcc!" + if [[ -d "${ESYSROOT}"/usr/lib/include ]] ; then + # bug #833620, bug #643302 + eerror "Found ${ESYSROOT}/usr/lib/include directory!" + eerror "This is known to break glibc's build." + eerror "Please backup its contents then remove the directory." + die "Found directory (${ESYSROOT}/usr/lib/include) which will break build (bug #833620)!" fi if [[ ${CTARGET} == *-linux* ]] ; then @@ -730,6 +797,21 @@ sanity_prechecks() { fi } +upgrade_warning() { + if [[ ${MERGE_TYPE} != buildonly && -n ${REPLACING_VERSIONS} && -z ${ROOT} ]]; then + local oldv newv=$(ver_cut 1-2 ${PV}) + for oldv in ${REPLACING_VERSIONS}; do + if ver_test ${oldv} -lt ${newv}; then + ewarn "After upgrading glibc, please restart all running processes." + ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)." + ewarn "Alternatively, reboot your system." + ewarn "(See bug #660556, bug #741116, bug #823756, etc)" + break + fi + done + fi +} + # # the phases # @@ -740,6 +822,7 @@ pkg_pretend() { # All the checks... einfo "Checking general environment sanity." sanity_prechecks + upgrade_warning } pkg_setup() { @@ -791,9 +874,6 @@ src_prepare() { einfo "Done." fi - # Apply patch to allow conditional disabling of clone3 - eapply "${FILESDIR}"/${PN}-2.34-make-clone3-syscall-optional.patch - if use clone3 ; then append-cppflags -DGENTOO_USE_CLONE3 else @@ -822,61 +902,13 @@ src_prepare() { } glibc_do_configure() { - # Glibc does not work with gold (for various reasons) #269274. - tc-ld-disable-gold - - # CXX isnt handled by the multilib system, so if we dont unset here - # we accumulate crap across abis - unset CXX - - einfo "Configuring glibc for nptl" - - if use doc ; then - export MAKEINFO=makeinfo - else - export MAKEINFO=/dev/null - fi local v - for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM READELF; do + for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM AR AS STRIP RANLIB OBJCOPY STRINGS OBJDUMP READELF; do einfo " $(printf '%15s' ${v}:) ${!v}" done - # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 - # To build .S (assembly) files with the same ABI-specific flags - # upstream currently recommends adding CFLAGS to CC/CXX: - # https://sourceware.org/PR23273 - # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS - # and breaks multiarch support. See 659030#c3 for an example. - # The glibc configure script doesn't properly use LDFLAGS all the time. - export CC="$(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS}" - einfo " $(printf '%15s' 'Manual CC:') ${CC}" - - # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 - export CXX="$(tc-getCXX ${CTARGET}) $(get_abi_CFLAGS) ${CFLAGS}" - - if is_crosscompile; then - # Assume worst-case bootstrap: glibc is buil first time - # when ${CTARGET}-g++ is not available yet. We avoid - # building auxiliary programs that require C++: bug #683074 - # It should not affect final result. - export libc_cv_cxx_link_ok=no - # The line above has the same effect. We set CXX explicitly - # to make build logs less confusing. - export CXX= - fi - einfo " $(printf '%15s' 'Manual CXX:') ${CXX}" - - # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure - # can't detect them automatically due to ${CHOST} mismatch and fallbacks - # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup(). - export NM="$(tc-getNM ${CTARGET})" - export READELF="$(tc-getREADELF ${CTARGET})" - einfo " $(printf '%15s' 'Manual NM:') ${NM}" - einfo " $(printf '%15s' 'Manual READELF:') ${READELF}" - echo - local myconf=() case ${CTARGET} in @@ -994,11 +1026,6 @@ glibc_do_configure() { export libc_cv_rootsbindir="$(host_eprefix)/sbin" export libc_cv_slibdir="$(host_eprefix)/$(get_libdir)" - # We take care of patching our binutils to use both hash styles, - # and many people like to force gnu hash style only, so disable - # this overriding check. #347761 - export libc_cv_hashstyle=no - local builddir=$(builddir nptl) mkdir -p "${builddir}" cd "${builddir}" @@ -1488,7 +1515,7 @@ glibc_sanity_check() { # first let's find the actual dynamic linker here # symlinks may point to the wrong abi - local newldso=$(find . -name 'ld*so.?' -type f -print -quit) + local newldso=$(find . -maxdepth 1 -name 'ld*so.?' -type f -print -quit) einfo Last-minute run tests with ${newldso} in /$(get_libdir) ... @@ -1558,17 +1585,13 @@ pkg_postinst() { use compile-locales || run_locale_gen "${EROOT}/" fi - if systemd_is_booted && [[ -z ${ROOT} ]] ; then - # We need to restart systemd when upgrading from < 2.34 - # bug #823756 - systemctl daemon-reexec - fi + upgrade_warning # Check for sanity of /etc/nsswitch.conf, take 2 if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then local entry for entry in passwd group shadow; do - if egrep -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then + if grep -E -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then ewarn "" ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been" ewarn "removed from glibc and is now provided by the package" diff --git a/sys-libs/glibc/glibc-2.33-r7.ebuild b/sys-libs/glibc/glibc-2.35-r4.ebuild index 20390ea8ba2..6c6fb048ea1 100644 --- a/sys-libs/glibc/glibc-2.33-r7.ebuild +++ b/sys-libs/glibc/glibc-2.35-r4.ebuild @@ -1,12 +1,12 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -# We avoid Python 3.10 here _for now_ (it does work!) to avoid circular dependencies -# on upgrades as people migrate to libxcrypt. -# https://wiki.gentoo.org/wiki/User:Sam/Portage_help/Circular_dependencies#Python_and_libcrypt -PYTHON_COMPAT=( python3_{7,8,9} ) +# Bumping notes: https://wiki.gentoo.org/wiki/Project:Toolchain/sys-libs/glibc +# Please read & adapt the page as necessary if obsolete. + +PYTHON_COMPAT=( python3_{8..10} ) TMPFILES_OPTIONAL=1 inherit python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig \ @@ -26,27 +26,31 @@ PATCH_DEV=dilfridge if [[ ${PV} == 9999* ]]; then inherit git-r3 else - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" SRC_URI="mirror://gnu/glibc/${P}.tar.xz" SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz" + SRC_URI+=" experimental-loong? ( https://dev.gentoo.org/~xen0n/distfiles/glibc-2.35-loongarch-patches-20220422.tar.xz )" fi RELEASE_VER=${PV} GCC_BOOTSTRAP_VER=20201208 -LOCALE_GEN_VER=2.10 +LOCALE_GEN_VER=2.22 -GLIBC_SYSTEMD_VER=20210814 +GLIBC_SYSTEMD_VER=20210729 SRC_URI+=" https://gitweb.gentoo.org/proj/locale-gen.git/snapshot/locale-gen-${LOCALE_GEN_VER}.tar.gz" SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz )" -IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib multilib-bootstrap nscd profile selinux +ssp +static-libs static-pie suid systemd systemtap test vanilla" +IUSE="audit caps cet +clone3 compile-locales +crypt custom-cflags doc experimental-loong gd headers-only +multiarch multilib multilib-bootstrap nscd profile selinux +ssp +static-libs suid systemd systemtap test vanilla" # Minimum kernel version that glibc requires MIN_KERN_VER="3.2.0" +# Minimum pax-utils version needed (which contains any new syscall changes for +# its seccomp filter!). Please double check this! +MIN_PAX_UTILS_VER="1.3.3" # Here's how the cross-compile logic breaks down ... # CTARGET - machine that will target the binaries @@ -100,7 +104,7 @@ fi BDEPEND=" ${PYTHON_DEPS} - >=app-misc/pax-utils-1.3.1 + >=app-misc/pax-utils-${MIN_PAX_UTILS_VER} sys-devel/bison doc? ( sys-apps/texinfo ) !compile-locales? ( @@ -132,7 +136,7 @@ RDEPEND="${COMMON_DEPEND} sys-apps/grep virtual/awk sys-apps/gentoo-functions - !<app-misc/pax-utils-1.3.1 + !<app-misc/pax-utils-${MIN_PAX_UTILS_VER} !<net-misc/openssh-8.1_p1-r2 " @@ -141,13 +145,13 @@ RESTRICT="!test? ( test )" if [[ ${CATEGORY} == cross-* ]] ; then BDEPEND+=" !headers-only? ( >=${CATEGORY}/binutils-2.27 - >=${CATEGORY}/gcc-6 + >=${CATEGORY}/gcc-6.2 )" [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers" else BDEPEND+=" >=sys-devel/binutils-2.27 - >=sys-devel/gcc-6 + >=sys-devel/gcc-6.2 " DEPEND+=" virtual/os-headers " RDEPEND+=" @@ -163,18 +167,16 @@ GENTOO_GLIBC_XFAIL_TESTS="${GENTOO_GLIBC_XFAIL_TESTS:-yes}" # The following tests fail due to the Gentoo build system and are thus # executed but ignored: XFAIL_TEST_LIST=( - # 9) Failures of unknown origin - tst-latepthread - # buggy test, assumes /dev/ and /dev/null on a single filesystem # 'mount --bind /dev/null /chroot/dev/null' breaks it. # https://sourceware.org/PR25909 tst-support_descriptors - # Flaky test, known to fail occasionally: - # https://sourceware.org/PR19329 - # https://bugs.gentoo.org/719674#c12 - tst-stack4 + # The following tests fail only inside portage + # https://bugs.gentoo.org/831267 + tst-system + tst-strerror + tst-strsignal ) # @@ -247,8 +249,8 @@ do_compile_test() { rm -f glibc-test* printf '%b' "$*" > glibc-test.c - # Most of the time CC is already set, but not in early sanity checks. - nonfatal emake glibc-test CC="${CC-$(tc-getCC ${CTARGET})}" + # We assume CC is already set up. + nonfatal emake glibc-test ret=$? popd >/dev/null @@ -394,6 +396,7 @@ setup_flags() { filter-flags '-O?' append-flags -O2 fi + strip-unsupported-flags filter-flags -m32 -m64 '-mabi=*' @@ -407,6 +410,9 @@ setup_flags() { # #492892 filter-flags -frecord-gcc-switches + # #829583 + filter-lfs-flags + unset CBUILD_OPT CTARGET_OPT if use multilib ; then CTARGET_OPT=$(get_abi_CTARGET) @@ -424,33 +430,9 @@ setup_flags() { replace-flags -O0 -O1 filter-flags '-fstack-protector*' -} - -want_tls() { - # Archs that can use TLS (Thread Local Storage) - case $(tc-arch) in - x86) - # requires i486 or better #106556 - [[ ${CTARGET} == i[4567]86* ]] && return 0 - return 1 - ;; - esac - return 0 -} - -want__thread() { - want_tls || return 1 - - # For some reason --with-tls --with__thread is causing segfaults on sparc32. - [[ ${PROFILE_ARCH} == "sparc" ]] && return 1 - - [[ -n ${WANT__THREAD} ]] && return ${WANT__THREAD} - - # only test gcc -- can't test linking yet - tc-has-tls -c ${CTARGET} - WANT__THREAD=$? - return ${WANT__THREAD} + # See end of bug #830454; we handle this via USE=cet + filter-flags '-fcf-protection=' } use_multiarch() { @@ -508,14 +490,106 @@ setup_env() { einfo "Skip CC ABI injection. We can't use (cross-)compiler yet." return 0 fi - local VAR=CFLAGS_${ABI} + + # Glibc does not work with gold (for various reasons) #269274. + tc-ld-disable-gold + + if use doc ; then + export MAKEINFO=makeinfo + else + export MAKEINFO=/dev/null + fi + + # Reset CC and CXX to the value at start of emerge + export CC=${__ORIG_CC:-${CC:-$(tc-getCC ${CTARGET})}} + export CXX=${__ORIG_CXX:-${CXX:-$(tc-getCXX ${CTARGET})}} + + # and make sure __ORIC_CC and __ORIG_CXX is defined now. + export __ORIG_CC=${CC} + export __ORIG_CXX=${CXX} + + if tc-is-clang && ! use custom-cflags && ! is_crosscompile ; then + + # If we are running in an otherwise clang/llvm environment, we need to + # recover the proper gcc and binutils settings here, at least until glibc + # is finally building with clang. So let's override everything that is + # set in the clang profiles. + # Want to shoot yourself into the foot? Set USE=custom-cflags, that's always + # a good start into that direction. + # Also, if you're crosscompiling, let's assume you know what you are doing. + # Hopefully. + # Last, we need the settings of the *build* environment, not of the + # target environment... + + local current_binutils_path=$(env ROOT="${BROOT}" binutils-config -B) + local current_gcc_path=$(env ROOT="${BROOT}" gcc-config -B) + einfo "Overriding clang configuration, since it won't work here" + + export CC="${current_gcc_path}/gcc" + export CXX="${current_gcc_path}/g++" + export LD="${current_binutils_path}/ld.bfd" + export AR="${current_binutils_path}/ar" + export AS="${current_binutils_path}/as" + export NM="${current_binutils_path}/nm" + export STRIP="${current_binutils_path}/strip" + export RANLIB="${current_binutils_path}/ranlib" + export OBJCOPY="${current_binutils_path}/objcopy" + export STRINGS="${current_binutils_path}/strings" + export OBJDUMP="${current_binutils_path}/objdump" + export READELF="${current_binutils_path}/readelf" + export ADDR2LINE="${current_binutils_path}/addr2line" + + # do we need to also do flags munging here? yes! at least... + filter-flags '-fuse-ld=*' + filter-flags '-D_FORTIFY_SOURCE=*' + + else + + # this is the "normal" case + + export CC="$(tc-getCC ${CTARGET})" + export CXX="$(tc-getCXX ${CTARGET})" + + # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure + # can't detect them automatically due to ${CHOST} mismatch and fallbacks + # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup(). + export NM="$(tc-getNM ${CTARGET})" + export READELF="$(tc-getREADELF ${CTARGET})" + + fi + # We need to export CFLAGS with abi information in them because glibc's # configure script checks CFLAGS for some targets (like mips). Keep # around the original clean value to avoid appending multiple ABIs on - # top of each other. - : ${__GLIBC_CC:=$(tc-getCC ${CTARGET})} - export __GLIBC_CC CC="${__GLIBC_CC} ${!VAR}" - einfo " $(printf '%15s' 'Manual CC:') ${CC}" + # top of each other. (Why does the comment talk about CFLAGS if the code + # acts on CC?) + export __GLIBC_CC=${CC} + export __GLIBC_CXX=${CXX} + + export __abi_CFLAGS="$(get_abi_CFLAGS)" + + # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 + # To build .S (assembly) files with the same ABI-specific flags + # upstream currently recommends adding CFLAGS to CC/CXX: + # https://sourceware.org/PR23273 + # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS + # and breaks multiarch support. See 659030#c3 for an example. + # The glibc configure script doesn't properly use LDFLAGS all the time. + export CC="${__GLIBC_CC} ${__abi_CFLAGS} ${CFLAGS} ${LDFLAGS}" + + # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 + export CXX="${__GLIBC_CXX} ${__abi_CFLAGS} ${CFLAGS}" + + if is_crosscompile; then + # Assume worst-case bootstrap: glibc is buil first time + # when ${CTARGET}-g++ is not available yet. We avoid + # building auxiliary programs that require C++: bug #683074 + # It should not affect final result. + export libc_cv_cxx_link_ok=no + # The line above has the same effect. We set CXX explicitly + # to make build logs less confusing. + export CXX= + fi } foreach_abi() { @@ -663,7 +737,7 @@ sanity_prechecks() { ebegin "Checking that IA32 emulation is enabled in the running kernel" echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c" local STAT - if "${CC-${CHOST}-gcc}" ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then + if ${CC-${CHOST}-gcc} ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then "${T}/check-ia32-emulation.elf32" STAT=$? else @@ -681,12 +755,12 @@ sanity_prechecks() { # When we actually have to compile something... if ! just_headers && [[ ${MERGE_TYPE} != "binary" ]] ; then - ebegin "Checking gcc for __thread support" - if ! eend $(want__thread ; echo $?) ; then - echo - eerror "Could not find a gcc that supports the __thread directive!" - eerror "Please update your binutils/gcc and try again." - die "No __thread support in gcc!" + if [[ -d "${ESYSROOT}"/usr/lib/include ]] ; then + # bug #833620, bug #643302 + eerror "Found ${ESYSROOT}/usr/lib/include directory!" + eerror "This is known to break glibc's build." + eerror "Please backup its contents then remove the directory." + die "Found directory (${ESYSROOT}/usr/lib/include) which will break build (bug #833620)!" fi if [[ ${CTARGET} == *-linux* ]] ; then @@ -716,6 +790,21 @@ sanity_prechecks() { fi } +upgrade_warning() { + if [[ ${MERGE_TYPE} != buildonly && -n ${REPLACING_VERSIONS} && -z ${ROOT} ]]; then + local oldv newv=$(ver_cut 1-2 ${PV}) + for oldv in ${REPLACING_VERSIONS}; do + if ver_test ${oldv} -lt ${newv}; then + ewarn "After upgrading glibc, please restart all running processes." + ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)." + ewarn "Alternatively, reboot your system." + ewarn "(See bug #660556, bug #741116, bug #823756, etc)" + break + fi + done + fi +} + # # the phases # @@ -723,9 +812,7 @@ sanity_prechecks() { # pkg_pretend pkg_pretend() { - # All the checks... - einfo "Checking general environment sanity." - sanity_prechecks + upgrade_warning } pkg_setup() { @@ -736,13 +823,13 @@ pkg_setup() { # src_unpack src_unpack() { - # Consistency is not guaranteed between pkg_ and src_ ... + setup_env + + einfo "Checking general environment sanity." sanity_prechecks use multilib-bootstrap && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz - setup_env - if [[ ${PV} == 9999* ]] ; then EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/glibc-patches.git" EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git @@ -757,6 +844,7 @@ src_unpack() { cd "${WORKDIR}" || die unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.xz + use experimental-loong && unpack glibc-2.35-loongarch-patches-20220422.tar.xz fi cd "${WORKDIR}" || die @@ -775,6 +863,20 @@ src_prepare() { einfo "Applying Gentoo Glibc Patchset ${patchsetname}" eapply "${WORKDIR}"/patches einfo "Done." + + if use experimental-loong ; then + einfo "Applying experimental LoongArch patchset" + eapply "${WORKDIR}"/loongarch-2.35 + einfo "Done." + fi + fi + + if use clone3 ; then + append-cppflags -DGENTOO_USE_CLONE3 + else + # See e.g. bug #827386, bug #819045. + elog "Disabling the clone3 syscall for compatibility with older Electron apps." + elog "Please re-enable this flag before filing bugs!" fi default @@ -797,78 +899,18 @@ src_prepare() { } glibc_do_configure() { - # Glibc does not work with gold (for various reasons) #269274. - tc-ld-disable-gold - - # CXX isnt handled by the multilib system, so if we dont unset here - # we accumulate crap across abis - unset CXX - - einfo "Configuring glibc for nptl" - - if use doc ; then - export MAKEINFO=makeinfo - else - export MAKEINFO=/dev/null - fi local v - for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM READELF; do + for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM AR AS STRIP RANLIB OBJCOPY STRINGS OBJDUMP READELF; do einfo " $(printf '%15s' ${v}:) ${!v}" done - # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 - # To build .S (assembly) files with the same ABI-specific flags - # upstream currently recommends adding CFLAGS to CC/CXX: - # https://sourceware.org/PR23273 - # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS - # and breaks multiarch support. See 659030#c3 for an example. - # The glibc configure script doesn't properly use LDFLAGS all the time. - export CC="$(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS}" - einfo " $(printf '%15s' 'Manual CC:') ${CC}" - - # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 - export CXX="$(tc-getCXX ${CTARGET}) $(get_abi_CFLAGS) ${CFLAGS}" - - if is_crosscompile; then - # Assume worst-case bootstrap: glibc is buil first time - # when ${CTARGET}-g++ is not available yet. We avoid - # building auxiliary programs that require C++: bug #683074 - # It should not affect final result. - export libc_cv_cxx_link_ok=no - # The line above has the same effect. We set CXX explicitly - # to make build logs less confusing. - export CXX= - fi - einfo " $(printf '%15s' 'Manual CXX:') ${CXX}" - - # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure - # can't detect them automatically due to ${CHOST} mismatch and fallbacks - # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup(). - export NM="$(tc-getNM ${CTARGET})" - export READELF="$(tc-getREADELF ${CTARGET})" - einfo " $(printf '%15s' 'Manual NM:') ${NM}" - einfo " $(printf '%15s' 'Manual READELF:') ${READELF}" - echo - local myconf=() - case ${CTARGET} in - m68k*) - # setjmp() is not compatible with stack protection: - # https://sourceware.org/PR24202 - myconf+=( --enable-stack-protector=no ) - ;; - *) - # Use '=strong' instead of '=all' to protect only functions - # worth protecting from stack smashes. - # '=all' is also known to have a problem in IFUNC resolution - # tests: https://sourceware.org/PR25680, bug #712356. - myconf+=( --enable-stack-protector=$(usex ssp strong no) ) - ;; - esac - myconf+=( --enable-stackguard-randomization ) + # Use '=strong' instead of '=all' to protect only functions + # worth protecting from stack smashes. + myconf+=( --enable-stack-protector=$(usex ssp strong no) ) # Keep a whitelist of targets supporing IFUNC. glibc's ./configure # is not robust enough to detect proper support: @@ -918,7 +960,6 @@ glibc_do_configure() { fi myconf+=( - --without-cvs --disable-werror --enable-bind-now --build=${CBUILD_OPT:-${CBUILD}} @@ -937,7 +978,6 @@ glibc_do_configure() { --with-pkgversion="$(glibc_banner)" $(use_enable crypt) $(use_multiarch || echo --disable-multi-arch) - $(use_enable static-pie) $(use_enable systemtap) $(use_enable nscd) @@ -969,11 +1009,6 @@ glibc_do_configure() { export libc_cv_rootsbindir="$(host_eprefix)/sbin" export libc_cv_slibdir="$(host_eprefix)/$(get_libdir)" - # We take care of patching our binutils to use both hash styles, - # and many people like to force gnu hash style only, so disable - # this overriding check. #347761 - export libc_cv_hashstyle=no - local builddir=$(builddir nptl) mkdir -p "${builddir}" cd "${builddir}" @@ -1090,7 +1125,6 @@ glibc_headers_configure() { myconf+=( --disable-sanity-checks --enable-hacker-mode - --without-cvs --disable-werror --enable-bind-now --build=${CBUILD_OPT:-${CBUILD}} @@ -1190,13 +1224,13 @@ run_locale_gen() { root="$2" fi - local locale_list="${root}/etc/locale.gen" + local locale_list="${root%/}/etc/locale.gen" pushd "${ED}"/$(get_libdir) >/dev/null if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then [[ -z ${inplace} ]] && ewarn "Generating all locales; edit /etc/locale.gen to save time/space" - locale_list="${root}/usr/share/i18n/SUPPORTED" + locale_list="${root%/}/usr/share/i18n/SUPPORTED" fi set -- locale-gen ${inplace} --jobs $(makeopts_jobs) --config "${locale_list}" \ @@ -1461,6 +1495,12 @@ glibc_sanity_check() { # (e.g. /var/tmp/portage:${HOSTNAME}) pushd "${ED}"/$(get_libdir) >/dev/null + # first let's find the actual dynamic linker here + # symlinks may point to the wrong abi + local newldso=$(find . -maxdepth 1 -name 'ld*so.?' -type f -print -quit) + + einfo Last-minute run tests with ${newldso} in /$(get_libdir) ... + local x striptest for x in cal date env free ls true uname uptime ; do x=$(type -p ${x}) @@ -1473,7 +1513,7 @@ glibc_sanity_check() { # We need to clear the locale settings as the upgrade might want # incompatible locale data. This test is not for verifying that. LC_ALL=C \ - ./ld-*.so --library-path . ${x} > /dev/null \ + ${newldso} --library-path . ${x} > /dev/null \ || die "simple run test (${x}) failed" done @@ -1527,11 +1567,13 @@ pkg_postinst() { use compile-locales || run_locale_gen "${EROOT}/" fi + upgrade_warning + # Check for sanity of /etc/nsswitch.conf, take 2 if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then local entry for entry in passwd group shadow; do - if egrep -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then + if grep -E -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then ewarn "" ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been" ewarn "removed from glibc and is now provided by the package" @@ -1550,6 +1592,5 @@ pkg_postinst() { elog "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1). We need to preserve this file for the moment to keep" elog "the upgrade working, but it also needs to be overwritten when" elog "sys-libs/libxcrypt is installed. See bug 802210 for more details." - elog "If you have FEATURES=collision-protect, please use FEATURES=unmerge-orphans instead!" fi } diff --git a/sys-libs/glibc/glibc-2.33-r1.ebuild b/sys-libs/glibc/glibc-2.35-r5.ebuild index cdbca06cc5d..88ec2acf92c 100644 --- a/sys-libs/glibc/glibc-2.33-r1.ebuild +++ b/sys-libs/glibc/glibc-2.35-r5.ebuild @@ -1,12 +1,15 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{7,8,9,10} ) +# Bumping notes: https://wiki.gentoo.org/wiki/Project:Toolchain/sys-libs/glibc +# Please read & adapt the page as necessary if obsolete. + +PYTHON_COMPAT=( python3_{8..10} ) TMPFILES_OPTIONAL=1 -inherit python-any-r1 prefix toolchain-funcs flag-o-matic gnuconfig \ +inherit python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig \ multilib systemd multiprocessing tmpfiles DESCRIPTION="GNU libc C library" @@ -17,30 +20,37 @@ SLOT="2.2" EMULTILIB_PKG="true" # Gentoo patchset (ignored for live ebuilds) -PATCH_VER=4 +PATCH_VER=7 PATCH_DEV=dilfridge if [[ ${PV} == 9999* ]]; then inherit git-r3 else - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" SRC_URI="mirror://gnu/glibc/${P}.tar.xz" SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz" + SRC_URI+=" experimental-loong? ( https://dev.gentoo.org/~xen0n/distfiles/glibc-2.35-loongarch-patches-20220422.tar.xz )" fi RELEASE_VER=${PV} GCC_BOOTSTRAP_VER=20201208 -LOCALE_GEN_VER=2.10 +LOCALE_GEN_VER=2.22 + +GLIBC_SYSTEMD_VER=20210729 SRC_URI+=" https://gitweb.gentoo.org/proj/locale-gen.git/snapshot/locale-gen-${LOCALE_GEN_VER}.tar.gz" SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" +SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz )" -IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib multilib-bootstrap nscd profile selinux +ssp +static-libs static-pie suid systemtap test vanilla" +IUSE="audit caps cet +clone3 compile-locales +crypt custom-cflags doc experimental-loong gd headers-only +multiarch multilib multilib-bootstrap nscd profile selinux +ssp +static-libs suid systemd systemtap test vanilla" # Minimum kernel version that glibc requires MIN_KERN_VER="3.2.0" +# Minimum pax-utils version needed (which contains any new syscall changes for +# its seccomp filter!). Please double check this! +MIN_PAX_UTILS_VER="1.3.3" # Here's how the cross-compile logic breaks down ... # CTARGET - machine that will target the binaries @@ -94,7 +104,7 @@ fi BDEPEND=" ${PYTHON_DEPS} - >=app-misc/pax-utils-1.3.1 + >=app-misc/pax-utils-${MIN_PAX_UTILS_VER} sys-devel/bison doc? ( sys-apps/texinfo ) !compile-locales? ( @@ -126,7 +136,7 @@ RDEPEND="${COMMON_DEPEND} sys-apps/grep virtual/awk sys-apps/gentoo-functions - !<app-misc/pax-utils-1.3.1 + !<app-misc/pax-utils-${MIN_PAX_UTILS_VER} !<net-misc/openssh-8.1_p1-r2 " @@ -135,13 +145,13 @@ RESTRICT="!test? ( test )" if [[ ${CATEGORY} == cross-* ]] ; then BDEPEND+=" !headers-only? ( >=${CATEGORY}/binutils-2.27 - >=${CATEGORY}/gcc-6 + >=${CATEGORY}/gcc-6.2 )" [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers" else BDEPEND+=" >=sys-devel/binutils-2.27 - >=sys-devel/gcc-6 + >=sys-devel/gcc-6.2 " DEPEND+=" virtual/os-headers " RDEPEND+=" @@ -157,18 +167,16 @@ GENTOO_GLIBC_XFAIL_TESTS="${GENTOO_GLIBC_XFAIL_TESTS:-yes}" # The following tests fail due to the Gentoo build system and are thus # executed but ignored: XFAIL_TEST_LIST=( - # 9) Failures of unknown origin - tst-latepthread - # buggy test, assumes /dev/ and /dev/null on a single filesystem # 'mount --bind /dev/null /chroot/dev/null' breaks it. # https://sourceware.org/PR25909 tst-support_descriptors - # Flaky test, known to fail occasionally: - # https://sourceware.org/PR19329 - # https://bugs.gentoo.org/719674#c12 - tst-stack4 + # The following tests fail only inside portage + # https://bugs.gentoo.org/831267 + tst-system + tst-strerror + tst-strsignal ) # @@ -241,8 +249,8 @@ do_compile_test() { rm -f glibc-test* printf '%b' "$*" > glibc-test.c - # Most of the time CC is already set, but not in early sanity checks. - nonfatal emake glibc-test CC="${CC-$(tc-getCC ${CTARGET})}" + # We assume CC is already set up. + nonfatal emake glibc-test ret=$? popd >/dev/null @@ -388,6 +396,7 @@ setup_flags() { filter-flags '-O?' append-flags -O2 fi + strip-unsupported-flags filter-flags -m32 -m64 '-mabi=*' @@ -401,6 +410,9 @@ setup_flags() { # #492892 filter-flags -frecord-gcc-switches + # #829583 + filter-lfs-flags + unset CBUILD_OPT CTARGET_OPT if use multilib ; then CTARGET_OPT=$(get_abi_CTARGET) @@ -418,33 +430,9 @@ setup_flags() { replace-flags -O0 -O1 filter-flags '-fstack-protector*' -} - -want_tls() { - # Archs that can use TLS (Thread Local Storage) - case $(tc-arch) in - x86) - # requires i486 or better #106556 - [[ ${CTARGET} == i[4567]86* ]] && return 0 - return 1 - ;; - esac - return 0 -} - -want__thread() { - want_tls || return 1 - - # For some reason --with-tls --with__thread is causing segfaults on sparc32. - [[ ${PROFILE_ARCH} == "sparc" ]] && return 1 - - [[ -n ${WANT__THREAD} ]] && return ${WANT__THREAD} - - # only test gcc -- can't test linking yet - tc-has-tls -c ${CTARGET} - WANT__THREAD=$? - return ${WANT__THREAD} + # See end of bug #830454; we handle this via USE=cet + filter-flags '-fcf-protection=' } use_multiarch() { @@ -502,14 +490,106 @@ setup_env() { einfo "Skip CC ABI injection. We can't use (cross-)compiler yet." return 0 fi - local VAR=CFLAGS_${ABI} + + # Glibc does not work with gold (for various reasons) #269274. + tc-ld-disable-gold + + if use doc ; then + export MAKEINFO=makeinfo + else + export MAKEINFO=/dev/null + fi + + # Reset CC and CXX to the value at start of emerge + export CC=${__ORIG_CC:-${CC:-$(tc-getCC ${CTARGET})}} + export CXX=${__ORIG_CXX:-${CXX:-$(tc-getCXX ${CTARGET})}} + + # and make sure __ORIC_CC and __ORIG_CXX is defined now. + export __ORIG_CC=${CC} + export __ORIG_CXX=${CXX} + + if tc-is-clang && ! use custom-cflags && ! is_crosscompile ; then + + # If we are running in an otherwise clang/llvm environment, we need to + # recover the proper gcc and binutils settings here, at least until glibc + # is finally building with clang. So let's override everything that is + # set in the clang profiles. + # Want to shoot yourself into the foot? Set USE=custom-cflags, that's always + # a good start into that direction. + # Also, if you're crosscompiling, let's assume you know what you are doing. + # Hopefully. + # Last, we need the settings of the *build* environment, not of the + # target environment... + + local current_binutils_path=$(env ROOT="${BROOT}" binutils-config -B) + local current_gcc_path=$(env ROOT="${BROOT}" gcc-config -B) + einfo "Overriding clang configuration, since it won't work here" + + export CC="${current_gcc_path}/gcc" + export CXX="${current_gcc_path}/g++" + export LD="${current_binutils_path}/ld.bfd" + export AR="${current_binutils_path}/ar" + export AS="${current_binutils_path}/as" + export NM="${current_binutils_path}/nm" + export STRIP="${current_binutils_path}/strip" + export RANLIB="${current_binutils_path}/ranlib" + export OBJCOPY="${current_binutils_path}/objcopy" + export STRINGS="${current_binutils_path}/strings" + export OBJDUMP="${current_binutils_path}/objdump" + export READELF="${current_binutils_path}/readelf" + export ADDR2LINE="${current_binutils_path}/addr2line" + + # do we need to also do flags munging here? yes! at least... + filter-flags '-fuse-ld=*' + filter-flags '-D_FORTIFY_SOURCE=*' + + else + + # this is the "normal" case + + export CC="$(tc-getCC ${CTARGET})" + export CXX="$(tc-getCXX ${CTARGET})" + + # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure + # can't detect them automatically due to ${CHOST} mismatch and fallbacks + # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup(). + export NM="$(tc-getNM ${CTARGET})" + export READELF="$(tc-getREADELF ${CTARGET})" + + fi + # We need to export CFLAGS with abi information in them because glibc's # configure script checks CFLAGS for some targets (like mips). Keep # around the original clean value to avoid appending multiple ABIs on - # top of each other. - : ${__GLIBC_CC:=$(tc-getCC ${CTARGET})} - export __GLIBC_CC CC="${__GLIBC_CC} ${!VAR}" - einfo " $(printf '%15s' 'Manual CC:') ${CC}" + # top of each other. (Why does the comment talk about CFLAGS if the code + # acts on CC?) + export __GLIBC_CC=${CC} + export __GLIBC_CXX=${CXX} + + export __abi_CFLAGS="$(get_abi_CFLAGS)" + + # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 + # To build .S (assembly) files with the same ABI-specific flags + # upstream currently recommends adding CFLAGS to CC/CXX: + # https://sourceware.org/PR23273 + # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS + # and breaks multiarch support. See 659030#c3 for an example. + # The glibc configure script doesn't properly use LDFLAGS all the time. + export CC="${__GLIBC_CC} ${__abi_CFLAGS} ${CFLAGS} ${LDFLAGS}" + + # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 + export CXX="${__GLIBC_CXX} ${__abi_CFLAGS} ${CFLAGS}" + + if is_crosscompile; then + # Assume worst-case bootstrap: glibc is buil first time + # when ${CTARGET}-g++ is not available yet. We avoid + # building auxiliary programs that require C++: bug #683074 + # It should not affect final result. + export libc_cv_cxx_link_ok=no + # The line above has the same effect. We set CXX explicitly + # to make build logs less confusing. + export CXX= + fi } foreach_abi() { @@ -657,7 +737,7 @@ sanity_prechecks() { ebegin "Checking that IA32 emulation is enabled in the running kernel" echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c" local STAT - if "${CC-${CHOST}-gcc}" ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then + if ${CC-${CHOST}-gcc} ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then "${T}/check-ia32-emulation.elf32" STAT=$? else @@ -674,13 +754,13 @@ sanity_prechecks() { fi # When we actually have to compile something... - if ! just_headers ; then - ebegin "Checking gcc for __thread support" - if ! eend $(want__thread ; echo $?) ; then - echo - eerror "Could not find a gcc that supports the __thread directive!" - eerror "Please update your binutils/gcc and try again." - die "No __thread support in gcc!" + if ! just_headers && [[ ${MERGE_TYPE} != "binary" ]] ; then + if [[ -d "${ESYSROOT}"/usr/lib/include ]] ; then + # bug #833620, bug #643302 + eerror "Found ${ESYSROOT}/usr/lib/include directory!" + eerror "This is known to break glibc's build." + eerror "Please backup its contents then remove the directory." + die "Found directory (${ESYSROOT}/usr/lib/include) which will break build (bug #833620)!" fi if [[ ${CTARGET} == *-linux* ]] ; then @@ -710,6 +790,21 @@ sanity_prechecks() { fi } +upgrade_warning() { + if [[ ${MERGE_TYPE} != buildonly && -n ${REPLACING_VERSIONS} && -z ${ROOT} ]]; then + local oldv newv=$(ver_cut 1-2 ${PV}) + for oldv in ${REPLACING_VERSIONS}; do + if ver_test ${oldv} -lt ${newv}; then + ewarn "After upgrading glibc, please restart all running processes." + ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)." + ewarn "Alternatively, reboot your system." + ewarn "(See bug #660556, bug #741116, bug #823756, etc)" + break + fi + done + fi +} + # # the phases # @@ -717,9 +812,7 @@ sanity_prechecks() { # pkg_pretend pkg_pretend() { - # All the checks... - einfo "Checking general environment sanity." - sanity_prechecks + upgrade_warning } pkg_setup() { @@ -730,13 +823,13 @@ pkg_setup() { # src_unpack src_unpack() { - # Consistency is not guaranteed between pkg_ and src_ ... + setup_env + + einfo "Checking general environment sanity." sanity_prechecks use multilib-bootstrap && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz - setup_env - if [[ ${PV} == 9999* ]] ; then EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/glibc-patches.git" EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git @@ -751,10 +844,12 @@ src_unpack() { cd "${WORKDIR}" || die unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.xz + use experimental-loong && unpack glibc-2.35-loongarch-patches-20220422.tar.xz fi cd "${WORKDIR}" || die unpack locale-gen-${LOCALE_GEN_VER}.tar.gz + use systemd && unpack glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz } src_prepare() { @@ -768,6 +863,20 @@ src_prepare() { einfo "Applying Gentoo Glibc Patchset ${patchsetname}" eapply "${WORKDIR}"/patches einfo "Done." + + if use experimental-loong ; then + einfo "Applying experimental LoongArch patchset" + eapply "${WORKDIR}"/loongarch-2.35 + einfo "Done." + fi + fi + + if use clone3 ; then + append-cppflags -DGENTOO_USE_CLONE3 + else + # See e.g. bug #827386, bug #819045. + elog "Disabling the clone3 syscall for compatibility with older Electron apps." + elog "Please re-enable this flag before filing bugs!" fi default @@ -790,78 +899,18 @@ src_prepare() { } glibc_do_configure() { - # Glibc does not work with gold (for various reasons) #269274. - tc-ld-disable-gold - - # CXX isnt handled by the multilib system, so if we dont unset here - # we accumulate crap across abis - unset CXX - - einfo "Configuring glibc for nptl" - - if use doc ; then - export MAKEINFO=makeinfo - else - export MAKEINFO=/dev/null - fi local v - for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM READELF; do + for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM AR AS STRIP RANLIB OBJCOPY STRINGS OBJDUMP READELF; do einfo " $(printf '%15s' ${v}:) ${!v}" done - # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 - # To build .S (assembly) files with the same ABI-specific flags - # upstream currently recommends adding CFLAGS to CC/CXX: - # https://sourceware.org/PR23273 - # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS - # and breaks multiarch support. See 659030#c3 for an example. - # The glibc configure script doesn't properly use LDFLAGS all the time. - export CC="$(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS}" - einfo " $(printf '%15s' 'Manual CC:') ${CC}" - - # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 - export CXX="$(tc-getCXX ${CTARGET}) $(get_abi_CFLAGS) ${CFLAGS}" - - if is_crosscompile; then - # Assume worst-case bootstrap: glibc is buil first time - # when ${CTARGET}-g++ is not available yet. We avoid - # building auxiliary programs that require C++: bug #683074 - # It should not affect final result. - export libc_cv_cxx_link_ok=no - # The line above has the same effect. We set CXX explicitly - # to make build logs less confusing. - export CXX= - fi - einfo " $(printf '%15s' 'Manual CXX:') ${CXX}" - - # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure - # can't detect them automatically due to ${CHOST} mismatch and fallbacks - # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup(). - export NM="$(tc-getNM ${CTARGET})" - export READELF="$(tc-getREADELF ${CTARGET})" - einfo " $(printf '%15s' 'Manual NM:') ${NM}" - einfo " $(printf '%15s' 'Manual READELF:') ${READELF}" - echo - local myconf=() - case ${CTARGET} in - m68k*) - # setjmp() is not compatible with stack protection: - # https://sourceware.org/PR24202 - myconf+=( --enable-stack-protector=no ) - ;; - *) - # Use '=strong' instead of '=all' to protect only functions - # worth protecting from stack smashes. - # '=all' is also known to have a problem in IFUNC resolution - # tests: https://sourceware.org/PR25680, bug #712356. - myconf+=( --enable-stack-protector=$(usex ssp strong no) ) - ;; - esac - myconf+=( --enable-stackguard-randomization ) + # Use '=strong' instead of '=all' to protect only functions + # worth protecting from stack smashes. + myconf+=( --enable-stack-protector=$(usex ssp strong no) ) # Keep a whitelist of targets supporing IFUNC. glibc's ./configure # is not robust enough to detect proper support: @@ -911,7 +960,6 @@ glibc_do_configure() { fi myconf+=( - --without-cvs --disable-werror --enable-bind-now --build=${CBUILD_OPT:-${CBUILD}} @@ -930,7 +978,6 @@ glibc_do_configure() { --with-pkgversion="$(glibc_banner)" $(use_enable crypt) $(use_multiarch || echo --disable-multi-arch) - $(use_enable static-pie) $(use_enable systemtap) $(use_enable nscd) @@ -962,11 +1009,6 @@ glibc_do_configure() { export libc_cv_rootsbindir="$(host_eprefix)/sbin" export libc_cv_slibdir="$(host_eprefix)/$(get_libdir)" - # We take care of patching our binutils to use both hash styles, - # and many people like to force gnu hash style only, so disable - # this overriding check. #347761 - export libc_cv_hashstyle=no - local builddir=$(builddir nptl) mkdir -p "${builddir}" cd "${builddir}" @@ -1083,7 +1125,6 @@ glibc_headers_configure() { myconf+=( --disable-sanity-checks --enable-hacker-mode - --without-cvs --disable-werror --enable-bind-now --build=${CBUILD_OPT:-${CBUILD}} @@ -1183,13 +1224,13 @@ run_locale_gen() { root="$2" fi - local locale_list="${root}/etc/locale.gen" + local locale_list="${root%/}/etc/locale.gen" pushd "${ED}"/$(get_libdir) >/dev/null if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then [[ -z ${inplace} ]] && ewarn "Generating all locales; edit /etc/locale.gen to save time/space" - locale_list="${root}/usr/share/i18n/SUPPORTED" + locale_list="${root%/}/usr/share/i18n/SUPPORTED" fi set -- locale-gen ${inplace} --jobs $(makeopts_jobs) --config "${locale_list}" \ @@ -1362,7 +1403,13 @@ glibc_do_src_install() { # Install misc network config files insinto /etc - doins posix/gai.conf nss/nsswitch.conf + doins posix/gai.conf + + if use systemd ; then + doins "${WORKDIR}/glibc-systemd-${GLIBC_SYSTEMD_VER}/gentoo-config/nsswitch.conf" + else + doins nss/nsswitch.conf + fi # Gentoo-specific newins "${FILESDIR}"/host.conf-1 host.conf @@ -1378,7 +1425,7 @@ glibc_do_src_install() { sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd - systemd_dounit nscd/nscd.service + use systemd && systemd_dounit nscd/nscd.service newtmpfiles nscd/nscd.tmpfiles nscd.conf fi @@ -1448,6 +1495,12 @@ glibc_sanity_check() { # (e.g. /var/tmp/portage:${HOSTNAME}) pushd "${ED}"/$(get_libdir) >/dev/null + # first let's find the actual dynamic linker here + # symlinks may point to the wrong abi + local newldso=$(find . -maxdepth 1 -name 'ld*so.?' -type f -print -quit) + + einfo Last-minute run tests with ${newldso} in /$(get_libdir) ... + local x striptest for x in cal date env free ls true uname uptime ; do x=$(type -p ${x}) @@ -1460,7 +1513,7 @@ glibc_sanity_check() { # We need to clear the locale settings as the upgrade might want # incompatible locale data. This test is not for verifying that. LC_ALL=C \ - ./ld-*.so --library-path . ${x} > /dev/null \ + ${newldso} --library-path . ${x} > /dev/null \ || die "simple run test (${x}) failed" done @@ -1489,6 +1542,16 @@ pkg_preinst() { # https://bugs.gentoo.org/753740 rm "${EROOT}"/usr/lib/locale || die fi + + # Keep around libcrypt so that Perl doesn't break when merging libxcrypt + # (libxcrypt is the new provider for now of libcrypt.so.{1,2}). + # bug #802207 + if ! use crypt && has_version "${CATEGORY}/${PN}[crypt]" && ! has preserve-libs ${FEATURES}; then + PRESERVED_OLD_LIBCRYPT=1 + cp -p "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" "${T}/libcrypt$(get_libname 1)" || die + else + PRESERVED_OLD_LIBCRYPT=0 + fi } pkg_postinst() { @@ -1504,11 +1567,13 @@ pkg_postinst() { use compile-locales || run_locale_gen "${EROOT}/" fi + upgrade_warning + # Check for sanity of /etc/nsswitch.conf, take 2 if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then local entry for entry in passwd group shadow; do - if egrep -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then + if grep -E -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then ewarn "" ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been" ewarn "removed from glibc and is now provided by the package" @@ -1518,4 +1583,14 @@ pkg_postinst() { fi done fi + + if [[ ${PRESERVED_OLD_LIBCRYPT} -eq 1 ]] ; then + cp -p "${T}/libcrypt$(get_libname 1)" "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" || die + preserve_old_lib_notify /$(get_libdir)/libcrypt$(get_libname 1) + + elog "Please ignore a possible later error message about a file collision involving" + elog "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1). We need to preserve this file for the moment to keep" + elog "the upgrade working, but it also needs to be overwritten when" + elog "sys-libs/libxcrypt is installed. See bug 802210 for more details." + fi } diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild index ea87ec9994c..b719a898e91 100644 --- a/sys-libs/glibc/glibc-9999.ebuild +++ b/sys-libs/glibc/glibc-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -6,10 +6,7 @@ EAPI=7 # Bumping notes: https://wiki.gentoo.org/wiki/Project:Toolchain/sys-libs/glibc # Please read & adapt the page as necessary if obsolete. -# We avoid Python 3.10 here _for now_ (it does work!) to avoid circular dependencies -# on upgrades as people migrate to libxcrypt. -# https://wiki.gentoo.org/wiki/User:Sam/Portage_help/Circular_dependencies#Python_and_libcrypt -PYTHON_COMPAT=( python3_{7,8,9} ) +PYTHON_COMPAT=( python3_{8,9,10} ) TMPFILES_OPTIONAL=1 inherit python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig \ @@ -23,7 +20,7 @@ SLOT="2.2" EMULTILIB_PKG="true" # Gentoo patchset (ignored for live ebuilds) -PATCH_VER=2 +PATCH_VER=1 PATCH_DEV=dilfridge if [[ ${PV} == 9999* ]]; then @@ -47,7 +44,7 @@ SRC_URI+=" https://gitweb.gentoo.org/proj/locale-gen.git/snapshot/locale-gen-${L SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz )" -IUSE="audit caps cet +clone3 compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib multilib-bootstrap nscd profile selinux +ssp +static-libs static-pie suid systemd systemtap test vanilla" +IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib multilib-bootstrap nscd profile selinux +ssp +static-libs suid systemd systemtap test vanilla" # Minimum kernel version that glibc requires MIN_KERN_VER="3.2.0" @@ -148,13 +145,13 @@ RESTRICT="!test? ( test )" if [[ ${CATEGORY} == cross-* ]] ; then BDEPEND+=" !headers-only? ( >=${CATEGORY}/binutils-2.27 - >=${CATEGORY}/gcc-6 + >=${CATEGORY}/gcc-6.2 )" [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers" else BDEPEND+=" >=sys-devel/binutils-2.27 - >=sys-devel/gcc-6 + >=sys-devel/gcc-6.2 " DEPEND+=" virtual/os-headers " RDEPEND+=" @@ -170,18 +167,16 @@ GENTOO_GLIBC_XFAIL_TESTS="${GENTOO_GLIBC_XFAIL_TESTS:-yes}" # The following tests fail due to the Gentoo build system and are thus # executed but ignored: XFAIL_TEST_LIST=( - # 9) Failures of unknown origin - tst-latepthread - # buggy test, assumes /dev/ and /dev/null on a single filesystem # 'mount --bind /dev/null /chroot/dev/null' breaks it. # https://sourceware.org/PR25909 tst-support_descriptors - # Flaky test, known to fail occasionally: - # https://sourceware.org/PR19329 - # https://bugs.gentoo.org/719674#c12 - tst-stack4 + # The following tests fail only inside portage + # https://bugs.gentoo.org/831267 + tst-system + tst-strerror + tst-strsignal ) # @@ -254,8 +249,8 @@ do_compile_test() { rm -f glibc-test* printf '%b' "$*" > glibc-test.c - # Most of the time CC is already set, but not in early sanity checks. - nonfatal emake glibc-test CC="${CC-$(tc-getCC ${CTARGET})}" + # We assume CC is already set up. + nonfatal emake glibc-test ret=$? popd >/dev/null @@ -415,6 +410,9 @@ setup_flags() { # #492892 filter-flags -frecord-gcc-switches + # #829583 + filter-lfs-flags + unset CBUILD_OPT CTARGET_OPT if use multilib ; then CTARGET_OPT=$(get_abi_CTARGET) @@ -431,34 +429,15 @@ setup_flags() { # include/libc-symbols.h:75:3: #error "glibc cannot be compiled without optimization" replace-flags -O0 -O1 + # glibc handles this internally already where it's appropriate; + # can't always have SSP when we're the ones setting it up, etc filter-flags '-fstack-protector*' -} - -want_tls() { - # Archs that can use TLS (Thread Local Storage) - case $(tc-arch) in - x86) - # requires i486 or better #106556 - [[ ${CTARGET} == i[4567]86* ]] && return 0 - return 1 - ;; - esac - return 0 -} -want__thread() { - want_tls || return 1 + # Similar issues as with SSP. Can't inject yourself that early. + filter-flags '-fsanitize=*' - # For some reason --with-tls --with__thread is causing segfaults on sparc32. - [[ ${PROFILE_ARCH} == "sparc" ]] && return 1 - - [[ -n ${WANT__THREAD} ]] && return ${WANT__THREAD} - - # only test gcc -- can't test linking yet - tc-has-tls -c ${CTARGET} - WANT__THREAD=$? - - return ${WANT__THREAD} + # See end of bug #830454; we handle this via USE=cet + filter-flags '-fcf-protection=' } use_multiarch() { @@ -526,8 +505,13 @@ setup_env() { export MAKEINFO=/dev/null fi - # Reset CC to the value at start of emerge - export CC=${__ORIG_CC:-${CC}} + # Reset CC and CXX to the value at start of emerge + export CC=${__ORIG_CC:-${CC:-$(tc-getCC ${CTARGET})}} + export CXX=${__ORIG_CXX:-${CXX:-$(tc-getCXX ${CTARGET})}} + + # and make sure __ORIC_CC and __ORIG_CXX is defined now. + export __ORIG_CC=${CC} + export __ORIG_CXX=${CXX} if tc-is-clang && ! use custom-cflags && ! is_crosscompile ; then @@ -539,13 +523,13 @@ setup_env() { # a good start into that direction. # Also, if you're crosscompiling, let's assume you know what you are doing. # Hopefully. + # Last, we need the settings of the *build* environment, not of the + # target environment... - local current_binutils_path=$(binutils-config -B) - local current_gcc_path=$(gcc-config -B) + local current_binutils_path=$(env ROOT="${BROOT}" binutils-config -B) + local current_gcc_path=$(env ROOT="${BROOT}" gcc-config -B) einfo "Overriding clang configuration, since it won't work here" - export __ORIG_CC=${CC} - export CC="${current_gcc_path}/gcc" export CXX="${current_gcc_path}/g++" export LD="${current_binutils_path}/ld.bfd" @@ -568,8 +552,6 @@ setup_env() { # this is the "normal" case - export __ORIG_CC=${CC} - export CC="$(tc-getCC ${CTARGET})" export CXX="$(tc-getCXX ${CTARGET})" @@ -598,10 +580,10 @@ setup_env() { # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS # and breaks multiarch support. See 659030#c3 for an example. # The glibc configure script doesn't properly use LDFLAGS all the time. - export CC="${__GLIBC_CC} ${__abi_CFLAGS} ${LDFLAGS}" + export CC="${__GLIBC_CC} ${__abi_CFLAGS} ${CFLAGS} ${LDFLAGS}" # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 - export CXX="${__GLIBC_CXX} ${__abi_CFLAGS}" + export CXX="${__GLIBC_CXX} ${__abi_CFLAGS} ${CFLAGS}" if is_crosscompile; then # Assume worst-case bootstrap: glibc is buil first time @@ -760,7 +742,7 @@ sanity_prechecks() { ebegin "Checking that IA32 emulation is enabled in the running kernel" echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c" local STAT - if "${CC-${CHOST}-gcc}" ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then + if ${CC-${CHOST}-gcc} ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then "${T}/check-ia32-emulation.elf32" STAT=$? else @@ -778,12 +760,12 @@ sanity_prechecks() { # When we actually have to compile something... if ! just_headers && [[ ${MERGE_TYPE} != "binary" ]] ; then - ebegin "Checking gcc for __thread support" - if ! eend $(want__thread ; echo $?) ; then - echo - eerror "Could not find a gcc that supports the __thread directive!" - eerror "Please update your binutils/gcc and try again." - die "No __thread support in gcc!" + if [[ -d "${ESYSROOT}"/usr/lib/include ]] ; then + # bug #833620, bug #643302 + eerror "Found ${ESYSROOT}/usr/lib/include directory!" + eerror "This is known to break glibc's build." + eerror "Please backup its contents then remove the directory." + die "Found directory (${ESYSROOT}/usr/lib/include) which will break build (bug #833620)!" fi if [[ ${CTARGET} == *-linux* ]] ; then @@ -813,6 +795,21 @@ sanity_prechecks() { fi } +upgrade_warning() { + if [[ ${MERGE_TYPE} != buildonly && -n ${REPLACING_VERSIONS} && -z ${ROOT} ]]; then + local oldv newv=$(ver_cut 1-2 ${PV}) + for oldv in ${REPLACING_VERSIONS}; do + if ver_test ${oldv} -lt ${newv}; then + ewarn "After upgrading glibc, please restart all running processes." + ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)." + ewarn "Alternatively, reboot your system." + ewarn "(See bug #660556, bug #741116, bug #823756, etc)" + break + fi + done + fi +} + # # the phases # @@ -820,9 +817,7 @@ sanity_prechecks() { # pkg_pretend pkg_pretend() { - # All the checks... - einfo "Checking general environment sanity." - sanity_prechecks + upgrade_warning } pkg_setup() { @@ -833,13 +828,13 @@ pkg_setup() { # src_unpack src_unpack() { - # Consistency is not guaranteed between pkg_ and src_ ... + setup_env + + einfo "Checking general environment sanity." sanity_prechecks use multilib-bootstrap && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz - setup_env - if [[ ${PV} == 9999* ]] ; then EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/glibc-patches.git" EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git @@ -874,14 +869,6 @@ src_prepare() { einfo "Done." fi - if use clone3 ; then - append-cppflags -DGENTOO_USE_CLONE3 - else - # See e.g. bug #827386, bug #819045. - elog "Disabling the clone3 syscall for compatibility with older Electron apps." - elog "Please re-enable this flag before filing bugs!" - fi - default gnuconfig_update @@ -911,21 +898,9 @@ glibc_do_configure() { echo local myconf=() - case ${CTARGET} in - m68k*) - # setjmp() is not compatible with stack protection: - # https://sourceware.org/PR24202 - myconf+=( --enable-stack-protector=no ) - ;; - *) - # Use '=strong' instead of '=all' to protect only functions - # worth protecting from stack smashes. - # '=all' is also known to have a problem in IFUNC resolution - # tests: https://sourceware.org/PR25680, bug #712356. - myconf+=( --enable-stack-protector=$(usex ssp strong no) ) - ;; - esac - myconf+=( --enable-stackguard-randomization ) + # Use '=strong' instead of '=all' to protect only functions + # worth protecting from stack smashes. + myconf+=( --enable-stack-protector=$(usex ssp strong no) ) # Keep a whitelist of targets supporing IFUNC. glibc's ./configure # is not robust enough to detect proper support: @@ -975,7 +950,6 @@ glibc_do_configure() { fi myconf+=( - --without-cvs --disable-werror --enable-bind-now --build=${CBUILD_OPT:-${CBUILD}} @@ -994,7 +968,6 @@ glibc_do_configure() { --with-pkgversion="$(glibc_banner)" $(use_enable crypt) $(use_multiarch || echo --disable-multi-arch) - $(use_enable static-pie) $(use_enable systemtap) $(use_enable nscd) @@ -1026,11 +999,6 @@ glibc_do_configure() { export libc_cv_rootsbindir="$(host_eprefix)/sbin" export libc_cv_slibdir="$(host_eprefix)/$(get_libdir)" - # We take care of patching our binutils to use both hash styles, - # and many people like to force gnu hash style only, so disable - # this overriding check. #347761 - export libc_cv_hashstyle=no - local builddir=$(builddir nptl) mkdir -p "${builddir}" cd "${builddir}" @@ -1147,7 +1115,6 @@ glibc_headers_configure() { myconf+=( --disable-sanity-checks --enable-hacker-mode - --without-cvs --disable-werror --enable-bind-now --build=${CBUILD_OPT:-${CBUILD}} @@ -1520,7 +1487,7 @@ glibc_sanity_check() { # first let's find the actual dynamic linker here # symlinks may point to the wrong abi - local newldso=$(find . -name 'ld*so.?' -type f -print -quit) + local newldso=$(find . -maxdepth 1 -name 'ld*so.?' -type f -print -quit) einfo Last-minute run tests with ${newldso} in /$(get_libdir) ... @@ -1590,17 +1557,13 @@ pkg_postinst() { use compile-locales || run_locale_gen "${EROOT}/" fi - if systemd_is_booted && [[ -z ${ROOT} ]] ; then - # We need to restart systemd when upgrading from < 2.34 - # bug #823756 - systemctl daemon-reexec - fi + upgrade_warning # Check for sanity of /etc/nsswitch.conf, take 2 if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then local entry for entry in passwd group shadow; do - if egrep -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then + if grep -E -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then ewarn "" ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been" ewarn "removed from glibc and is now provided by the package" diff --git a/sys-libs/glibc/metadata.xml b/sys-libs/glibc/metadata.xml index 613e58eff7e..e00a008ac5c 100644 --- a/sys-libs/glibc/metadata.xml +++ b/sys-libs/glibc/metadata.xml @@ -11,6 +11,7 @@ <flag name="compile-locales">build *all* locales in src_install; this is generally meant for stage building only as it ignores /etc/locale.gen file and can be pretty slow</flag> <flag name="crypt">build and install libcrypt and crypt.h</flag> <flag name="debug">When USE=hardened, allow fortify/stack violations to dump core (SIGABRT) and not kill self (SIGKILL)</flag> + <flag name="experimental-loong">Add experimental LoongArch patchset</flag> <flag name="gd">build memusage and memusagestat tools</flag> <flag name="multiarch">enable optimizations for multiple CPU architectures (detected at runtime)</flag> <flag name="multilib-bootstrap">Provide prebuilt libgcc.a and crt files if missing. Only needed for ABI switch.</flag> diff --git a/sys-libs/gpm/files/gpm-1.20.7-gcc-include.patch b/sys-libs/gpm/files/gpm-1.20.7-gcc-include.patch new file mode 100644 index 00000000000..51d047c465c --- /dev/null +++ b/sys-libs/gpm/files/gpm-1.20.7-gcc-include.patch @@ -0,0 +1,18 @@ +https://github.com/telmich/gpm/commit/80cac2a2bd7eed7e80626559f792f37319030729 + +From: "Desmond O. Chang" <dochang@gmail.com> +Date: Wed, 13 Apr 2016 21:17:48 +0800 +Subject: [PATCH] Add gcc include path + +Close #13 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -96,7 +96,7 @@ $(DEPFILE) dep: prog/gpm-root.c + + # create dependencies + for DEPS in `echo *.c */*.c`; do \ +- $(CC) -I. -I $(srcdir) -M @CPPFLAGS@ $(CPPFLAGS) $$DEPS | \ ++ $(CC) -I. -I $(srcdir) -I $(srcdir)/headers -M @CPPFLAGS@ $(CPPFLAGS) $$DEPS | \ + $(SED) 's/^\(.*\)\.o\([ :]+\)/\1.o \1.lo\2/g' >> $(DEPFILE) ; done + + ### INSTALL diff --git a/sys-libs/gpm/files/gpm-1.20.7-musl.patch b/sys-libs/gpm/files/gpm-1.20.7-musl.patch new file mode 100644 index 00000000000..37f8542a87a --- /dev/null +++ b/sys-libs/gpm/files/gpm-1.20.7-musl.patch @@ -0,0 +1,143 @@ +https://github.com/telmich/gpm/commit/d88fb1de5803c366ab62f7de9ee5d83207fb2afe +https://github.com/telmich/gpm/commit/4a938233fbe6de7af05aabc74891b68d4bae40f8 +https://bugs.gentoo.org/829581 + +From: Dima Krasner <dima@dimakrasner.com> +Date: Wed, 12 Nov 2014 23:06:46 +0200 +Subject: [PATCH] Added musl support to libgpm and the daemon. + +--- a/src/daemon/open_console.c ++++ b/src/daemon/open_console.c +@@ -21,6 +21,7 @@ + + #include <fcntl.h> /* open and co. */ + #include <sys/stat.h> /* stat() */ ++#include <sys/types.h> /* major() */ + #include <sys/ioctl.h> /* ioctl */ + + /* Linux specific (to be outsourced in gpm2 */ +--- a/src/prog/display-buttons.c ++++ b/src/prog/display-buttons.c +@@ -36,6 +36,7 @@ + #include <stdio.h> /* printf() */ + #include <time.h> /* time() */ + #include <errno.h> /* errno */ ++#include <sys/select.h> /* fd_set and FD_* */ + #include <gpm.h> /* gpm information */ + + /* display resulting data */ +--- a/src/prog/display-coords.c ++++ b/src/prog/display-coords.c +@@ -38,6 +38,7 @@ + #include <stdio.h> /* printf() */ + #include <time.h> /* time() */ + #include <errno.h> /* errno */ ++#include <sys/select.h> /* fd_set and FD_* */ + #include <gpm.h> /* gpm information */ + + /* display resulting data */ +--- a/src/prog/gpm-root.y ++++ b/src/prog/gpm-root.y +@@ -1199,9 +1199,9 @@ int main(int argc, char **argv) + #if defined(__GLIBC__) + __sigemptyset(&childaction.sa_mask); + #else /* __GLIBC__ */ +- childaction.sa_mask=0; ++ sigemptyset(&childaction.sa_mask); + #endif /* __GLIBC__ */ +- childaction.sa_flags=SA_INTERRUPT; /* need to break the select() call */ ++ childaction.sa_flags=0; + sigaction(SIGCHLD,&childaction,NULL); + + /*....................................... Connect and get your buffer */ + +From: Kurt Nalty <46026992+kurtnalty@users.noreply.github.com> +Date: Sat, 29 Dec 2018 23:44:24 -0600 +Subject: [PATCH 1/4] Update gpm.c + +--- a/src/daemon/gpm.c ++++ b/src/daemon/gpm.c +@@ -29,7 +29,7 @@ + #include <signal.h> /* SIGPIPE */ + #include <time.h> /* time() */ + #include <sys/param.h> +-#include <sys/fcntl.h> /* O_RDONLY */ ++#include <fcntl.h> /* O_RDONLY */ + #include <sys/wait.h> /* wait() */ + #include <sys/stat.h> /* mkdir() */ + #include <sys/time.h> /* timeval */ + +From: Kurt Nalty <46026992+kurtnalty@users.noreply.github.com> +Date: Sat, 29 Dec 2018 23:47:17 -0600 +Subject: [PATCH 2/4] Add include <string.h> + +Added + line 28, #include <string.h> /* strcpy, bzero */ +for musl compilation +--- a/src/daemon/old_main.c ++++ b/src/daemon/old_main.c +@@ -25,6 +25,7 @@ + #include <signal.h> /* guess again */ + #include <errno.h> /* guess again */ + #include <unistd.h> /* unlink */ ++#include <string.h> /* strcpy, bzero */ + #include <sys/stat.h> /* chmod */ + + #include <linux/kd.h> /* linux hd* */ + +From: Kurt Nalty <46026992+kurtnalty@users.noreply.github.com> +Date: Sat, 29 Dec 2018 23:52:58 -0600 +Subject: [PATCH 3/4] Update liblow.c for musl compatible + +Changed #include <sys/fcntl.h> to #include <fcntl.h> +Changed SA_NOMASK to SA_NODEFER on lines 176, 367 +--- a/src/lib/liblow.c ++++ b/src/lib/liblow.c +@@ -33,7 +33,7 @@ + #include <sys/types.h> /* socket() */ + #include <sys/socket.h> /* socket() */ + #include <sys/un.h> /* struct sockaddr_un */ +-#include <sys/fcntl.h> /* O_RDONLY */ ++#include <fcntl.h> /* O_RDONLY */ + #include <sys/stat.h> /* stat() */ + + #ifdef SIGTSTP /* true if BSD system */ +@@ -173,7 +173,7 @@ static void gpm_suspend_hook (int signum) + /* Reincarnation. Prepare for another death early. */ + sigemptyset(&sa.sa_mask); + sa.sa_handler = gpm_suspend_hook; +- sa.sa_flags = SA_NOMASK; ++ sa.sa_flags = SA_NODEFER; + sigaction (SIGTSTP, &sa, 0); + + /* Pop the gpm stack by closing the useless connection */ +@@ -364,7 +364,7 @@ int Gpm_Open(Gpm_Connect *conn, int flag) + + /* if signal was originally ignored, job control is not supported */ + if (gpm_saved_suspend_hook.sa_handler != SIG_IGN) { +- sa.sa_flags = SA_NOMASK; ++ sa.sa_flags = SA_NODEFER; + sa.sa_handler = gpm_suspend_hook; + sigaction(SIGTSTP, &sa, 0); + } + +From: Kurt Nalty <46026992+kurtnalty@users.noreply.github.com> +Date: Mon, 31 Dec 2018 18:41:19 -0600 +Subject: [PATCH 4/4] Aligned comments + +--- a/src/lib/liblow.c ++++ b/src/lib/liblow.c +@@ -29,11 +29,12 @@ + #include <string.h> /* strncmp */ + #include <unistd.h> /* select(); */ + #include <errno.h> ++#include <fcntl.h> /* O_RDONLY */ ++ + #include <sys/time.h> /* timeval */ + #include <sys/types.h> /* socket() */ + #include <sys/socket.h> /* socket() */ + #include <sys/un.h> /* struct sockaddr_un */ +-#include <fcntl.h> /* O_RDONLY */ + #include <sys/stat.h> /* stat() */ + + #ifdef SIGTSTP /* true if BSD system */ diff --git a/sys-libs/gpm/files/gpm-1.20.7-signedness.patch b/sys-libs/gpm/files/gpm-1.20.7-signedness.patch new file mode 100644 index 00000000000..3904bfd6cca --- /dev/null +++ b/sys-libs/gpm/files/gpm-1.20.7-signedness.patch @@ -0,0 +1,20 @@ +https://github.com/telmich/gpm/commit/4337fd9fc2d2ea83654f2ca69245503730231ac3 + +From: iljavs <ivansprundel@ioactive.com> +Date: Mon, 27 Jun 2016 01:17:57 -0700 +Subject: [PATCH] fix signedness issue + +This commit fixes a signedness issue, where a negative vc coming from a malicious client could possibly cause memory corruption. +--- a/src/daemon/processconn.c ++++ b/src/daemon/processconn.c +@@ -67,7 +67,8 @@ int processConn(int fd) + return -1; + } + +- if((vc = request->vc) > MAX_VC) { ++ vc = request->vc; ++ if(vc > MAX_VC || vc < 0) { + gpm_report(GPM_PR_DEBUG, GPM_MESS_REQUEST_ON, vc, MAX_VC); + free(info); + close(newfd); + diff --git a/sys-libs/gpm/gpm-1.20.7-r4.ebuild b/sys-libs/gpm/gpm-1.20.7-r4.ebuild new file mode 100644 index 00000000000..9ecf544e9cf --- /dev/null +++ b/sys-libs/gpm/gpm-1.20.7-r4.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# emacs support disabled due to #99533 #335900 + +EAPI=7 + +inherit autotools linux-info systemd usr-ldscript multilib-minimal + +DESCRIPTION="Console-based mouse driver" +HOMEPAGE="https://www.nico.schottelius.org/software/gpm/" +SRC_URI=" + https://www.nico.schottelius.org/software/${PN}/archives/${P}.tar.lzma + mirror://gentoo/${P}-docs.patch.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE="selinux" + +RDEPEND=" + sys-libs/ncurses:=[${MULTILIB_USEDEP}] + selinux? ( sec-policy/selinux-gpm )" +DEPEND="${RDEPEND}" +BDEPEND=" + app-arch/xz-utils + sys-apps/texinfo + virtual/yacc" + +CONFIG_CHECK="~INPUT_MOUSEDEV" +ERROR_INPUT_MOUSEDEV="CONFIG_INPUT_MOUSEDEV:\tis not set (required to expose mice for GPM)" + +pkg_pretend() { + check_extra_config +} + +src_prepare() { + eapply "${FILESDIR}"/${P}-sysmacros.patch + + # Hack up the docs until we get this sorted upstream. + # https://github.com/telmich/gpm/issues/8 + eapply "${WORKDIR}"/${P}-docs.patch + touch -r . doc/* || die + + # bug #629774 + eapply "${FILESDIR}"/${P}-glibc-2.26.patch + # bug #705878 + eapply "${FILESDIR}"/${P}-gcc-10.patch + # bug #829581 + eapply "${FILESDIR}"/${P}-musl.patch + # + eapply "${FILESDIR}"/${P}-gcc-include.patch + eapply "${FILESDIR}"/${P}-signedness.patch + + eapply_user + + # fix ABI values + sed -i \ + -e '/^abi_lev=/s:=.*:=1:' \ + -e '/^abi_age=/s:=.*:=20:' \ + configure.ac.footer || die + # Rebuild autotools since release doesn't include them. + # Should be fixed with the next release though. + # https://github.com/telmich/gpm/pull/15 + sed -i -e '/ACLOCAL/,$d' autogen.sh || die + ./autogen.sh + eautoreconf + + # Out-of-tree builds are broken. + # https://github.com/telmich/gpm/issues/16 + multilib_copy_sources +} + +multilib_src_configure() { + econf \ + --disable-static \ + --sysconfdir="${EPREFIX}"/etc/gpm \ + emacs="${BROOT}"/bin/false +} + +_emake() { + emake \ + EMACS=: ELISP="" \ + $(multilib_is_native_abi || echo "PROG= ") \ + "$@" +} + +multilib_src_compile() { + _emake +} + +multilib_src_test() { + _emake check +} + +multilib_src_install() { + _emake DESTDIR="${D}" install + + dosym libgpm.so.1 /usr/$(get_libdir)/libgpm.so + gen_usr_ldscript -a gpm +} + +multilib_src_install_all() { + insinto /etc/gpm + doins conf/gpm-*.conf + + dodoc README TODO doc/Announce doc/FAQ doc/README* + + newinitd "${FILESDIR}"/gpm.rc6-2 gpm + newconfd "${FILESDIR}"/gpm.conf.d gpm + systemd_dounit "${FILESDIR}"/gpm.service +} diff --git a/sys-libs/gwenhywfar/gwenhywfar-5.4.1-r1.ebuild b/sys-libs/gwenhywfar/gwenhywfar-5.4.1-r1.ebuild index 7a39fab6094..be6067e23d3 100644 --- a/sys-libs/gwenhywfar/gwenhywfar-5.4.1-r1.ebuild +++ b/sys-libs/gwenhywfar/gwenhywfar-5.4.1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -12,7 +12,7 @@ SRC_URI="https://www.aquamaniac.de/rdm/attachments/download/344/${MY_P}.tar.gz" LICENSE="LGPL-2.1" SLOT="0/79" # correspond with libgwenhywfar.so version -KEYWORDS="amd64 ~arm64 ~hppa ~ppc ~ppc64 ~sparc x86" +KEYWORDS="amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc x86" IUSE="debug doc gtk qt5 test" BDEPEND=" diff --git a/sys-libs/kpmcore/Manifest b/sys-libs/kpmcore/Manifest index 12405a5fdae..63a3218150c 100644 --- a/sys-libs/kpmcore/Manifest +++ b/sys-libs/kpmcore/Manifest @@ -1,2 +1,2 @@ -DIST kpmcore-21.08.3.tar.xz 589464 BLAKE2B 188a702b21976c352bea49c3e40e86c6d3f85b398c3dc9577301471c49cbbf8f161a5f6b62acfc020bcd9530aab2739a39023170c7586a1f18e52add4b2d6ecd SHA512 16570fe9b5e4e83d26b1c2e591d797cd23f37a2195ac5f043ee921d038d0e10d63f9d2c72c4d710e10eeb05d81a6df577f9ddb48b762b034154e399560daa7a7 -DIST kpmcore-21.11.90.tar.xz 594208 BLAKE2B 972ec50bf2deb8d9c987cc1902d3b744a668010e2f081a27307349ecae0629a2a7e75844450df6b2f2be584d2c47eeeeffcabff8a65b5730dfef0140ddc28f4d SHA512 c975c0221b711976551a1f9457329da5c52dd2ba8e582ef0e92be0f8bb1fe51c92df875044c1f8c6ed55b7e8c008215bf43cb9b98486dbc11b17acd58e15dbdf +DIST kpmcore-21.12.3.tar.xz 595940 BLAKE2B ddeb1140b89993ff506d3936017f4882786f716037250f93bb820b1769de2b67301a542e1222adbf71815c36d06372cfffcacee275d807f702c48f1abdd9c84a SHA512 7f26ca0a2a0889c3fe3c67a23e673e7ac96ba359a2da3dec72c1d1d0faeb247d136c405d2e28f1bbe8bcb56352dcca16666a9339cfe199d4a2d0105a44597d16 +DIST kpmcore-22.04.1.tar.xz 598940 BLAKE2B 3077bf3f5d98414e8e6496c59dd70698027420bc1217f8a5c963ee7b8161e3ab5271fc08a22fd2f42041ad3468e6823a7bd550222c45e2f34fafbeca708f1a28 SHA512 ab9169b22eb7247669140715294ad81689e7ec4152ca32cf198f37a3e8cea99b44f04ff8193bfc6ec1fe51c07d735651979c1085cfb6b78e788a5738323c16f6 diff --git a/sys-libs/kpmcore/files/kpmcore-21.08.3-dont-destroy-zfs-pool.patch b/sys-libs/kpmcore/files/kpmcore-21.08.3-dont-destroy-zfs-pool.patch deleted file mode 100644 index 83cc15d0f2d..00000000000 --- a/sys-libs/kpmcore/files/kpmcore-21.08.3-dont-destroy-zfs-pool.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 282cfdcde179ec44d053b257e13aa715158596bd Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= <andrius@stikonas.eu> -Date: Sat, 30 Oct 2021 21:13:07 +0100 -Subject: [PATCH] Do not destroy zfs pool when removing zfs partition. - -This can be dangerous, e.g. if partition is part of raid set. -So better be more cautious and in some cases fail to remove partition -than lose data. ---- - src/fs/zfs.cpp | 7 ------- - src/fs/zfs.h | 1 - - 2 files changed, 8 deletions(-) - -diff --git a/src/fs/zfs.cpp b/src/fs/zfs.cpp -index 5d12894..5f4c87d 100644 ---- a/src/fs/zfs.cpp -+++ b/src/fs/zfs.cpp -@@ -77,13 +77,6 @@ qint64 zfs::maxCapacity() const - return Capacity::unitFactor(Capacity::Unit::Byte, Capacity::Unit::EiB); - } - --bool zfs::remove(Report& report, const QString& deviceNode) const --{ -- Q_UNUSED(deviceNode) -- ExternalCommand cmd(report, QStringLiteral("zpool"), { QStringLiteral("destroy"), QStringLiteral("-f"), label() }); -- return cmd.run(-1) && cmd.exitCode() == 0; --} -- - bool zfs::writeLabel(Report& report, const QString& deviceNode, const QString& newLabel) - { - Q_UNUSED(deviceNode) -diff --git a/src/fs/zfs.h b/src/fs/zfs.h -index 6e559de..61026c3 100644 ---- a/src/fs/zfs.h -+++ b/src/fs/zfs.h -@@ -35,7 +35,6 @@ public: - public: - void init() override; - -- bool remove(Report& report, const QString& deviceNode) const override; - bool writeLabel(Report& report, const QString& deviceNode, const QString& newLabel) override; - - CommandSupportType supportGetUsed() const override { --- -GitLab - diff --git a/sys-libs/kpmcore/files/kpmcore-21.08.3-fix-seek-error-when-shred-partition.patch b/sys-libs/kpmcore/files/kpmcore-21.08.3-fix-seek-error-when-shred-partition.patch deleted file mode 100644 index 568db790c7e..00000000000 --- a/sys-libs/kpmcore/files/kpmcore-21.08.3-fix-seek-error-when-shred-partition.patch +++ /dev/null @@ -1,27 +0,0 @@ -From e9fc875c5e233401afd12f54ab0472c66ff6fdff Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= <andrius@stikonas.eu> -Date: Fri, 12 Nov 2021 01:02:15 +0000 -Subject: [PATCH] Fix seek error when filling device with random data or - zeroes. - ---- - src/util/externalcommandhelper.cpp | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/util/externalcommandhelper.cpp b/src/util/externalcommandhelper.cpp -index 6e61aba..0fa400d 100644 ---- a/src/util/externalcommandhelper.cpp -+++ b/src/util/externalcommandhelper.cpp -@@ -80,7 +80,8 @@ bool ExternalCommandHelper::readData(const QString& sourceDevice, QByteArray& bu - return false; - } - -- if (!device.seek(offset)) { -+ // Sequential devices such as /dev/zero or /dev/urandom return false on seek(). -+ if (!device.isSequential() && !device.seek(offset)) { - qCritical() << xi18n("Could not seek position %1 on device <filename>%2</filename>.", offset, sourceDevice); - return false; - } --- -GitLab - diff --git a/sys-libs/kpmcore/kpmcore-21.08.3-r1.ebuild b/sys-libs/kpmcore/kpmcore-21.12.3.ebuild index dbf7c293053..55a0e9f5b79 100644 --- a/sys-libs/kpmcore/kpmcore-21.08.3-r1.ebuild +++ b/sys-libs/kpmcore/kpmcore-21.12.3.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 ECM_NONGUI="true" KDE_GEAR="true" -KFMIN=5.84.0 +KFMIN=5.88.0 QTMIN=5.15.2 inherit ecm kde.org @@ -20,6 +20,7 @@ IUSE="" # bug 689468, tests need polkit etc. RESTRICT="test" +BDEPEND="virtual/pkgconfig" DEPEND=" >=dev-qt/qtdbus-${QTMIN}:5 >=dev-qt/qtgui-${QTMIN}:5 @@ -31,9 +32,3 @@ DEPEND=" sys-auth/polkit-qt " RDEPEND="${DEPEND}" -BDEPEND="virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}/${P}-dont-destroy-zfs-pool.patch" - "${FILESDIR}/${P}-fix-seek-error-when-shred-partition.patch" -) diff --git a/sys-libs/kpmcore/kpmcore-21.11.90.ebuild b/sys-libs/kpmcore/kpmcore-22.04.1.ebuild index 9cf2587af68..17a923b13d6 100644 --- a/sys-libs/kpmcore/kpmcore-21.11.90.ebuild +++ b/sys-libs/kpmcore/kpmcore-22.04.1.ebuild @@ -1,12 +1,12 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 ECM_NONGUI="true" KDE_GEAR="true" -KFMIN=5.88.0 -QTMIN=5.15.2 +KFMIN=5.92.0 +QTMIN=5.15.3 inherit ecm kde.org DESCRIPTION="Library for managing partitions" diff --git a/sys-libs/ldb/Manifest b/sys-libs/ldb/Manifest index 237908b8179..72acf664f1c 100644 --- a/sys-libs/ldb/Manifest +++ b/sys-libs/ldb/Manifest @@ -1,4 +1,5 @@ -DIST ldb-2.3.1.tar.gz 1718379 BLAKE2B e2aa196e6e09846be2a631d81bf0b94c0cd80984ac124757888889717efdf78caf5501c4278ace33dcc2a6fb92a4a2f224b20ea9f3bf3fa5c7333f9994dcbdc1 SHA512 d87f3839481c3ac3f5ce5e2b5bb766451fe39681bff9c53747d45e2cdcef9f1eb91c0a7d6a9c202c4d01097600d66ca431a175f4fc28a126ad987b9783cb87bc DIST ldb-2.3.2.tar.gz 1718583 BLAKE2B 48b9fb77e414af0f9fffe0cda9cf49971d79ed8b66213b01b73f53a61969e03f9e6426a04a33ff70da906c814470d8fa356902a68aa1169d969cc597e8c234d7 SHA512 be324e8f20db50529634548451dbc5f95f26a701e124bfb40ae2b0a5069de78b7c5c1a66222097209ea24ef6077373d996e67c00257a5a05198f1b81bf0ed53e -DIST ldb-2.4.0.tar.gz 1689484 BLAKE2B 904d74900011ce3f63ad1c24fe88b1a090e835c68829ddfda5e8af2c0ab3674d7a8cd9a62b95c1f38f26578d0704556d3562e46e21a54cbb44a15b9d83676521 SHA512 6c500b723c081488bc0717b6a5b0e8966c5d8a751232f8856281a6fe4d358ae6b5878c8400a82fa666379066105fbb9259b2967313e73efabef0e1386095e2ee +DIST ldb-2.3.3.tar.gz 1719542 BLAKE2B 2a5cfe3ddac2054d167c2857e0cd92e0f88d2c196f9285c029b2a525d781025a956a296bd6d793b65f848188cf7adf70f99542999061a85be473b3fc3b2856f1 SHA512 ffb50208fe971afd544a431b79905ec8fce67d78d20c3fcfb8345a56f3b278fb664bc48079d7239a8ca5b70aae8b32076b6007cb63e080cd536e9fe458efeccd DIST ldb-2.4.1.tar.gz 1719769 BLAKE2B 868d3dcc51bd8272d99f2335ed1af2e37506b6a175254f1aca37f758488ba0997e37419a7d8c81def77698128307df97de26d4807ac78c34088f7a623f8d9e68 SHA512 14ab5397d28c369142b2ccf55a2ab4e678a3fe6e018541cfce46241f8226400bc169360bbef254fae4410a6e15024ae986f02298d3d324e3d3a8b88801bf76d7 +DIST ldb-2.4.2.tar.gz 1720169 BLAKE2B d144218bf62dde57560df8b8a641e9f58bee001fdfa7b1527d9eb9a1a55e428662db81912173cbcdb9f993c0b316faab7d758a4878beeff1daadd487e9aa44a9 SHA512 77705ad284eed9105c9aba0459d2e48cd66ca19b657a55f7513e10281dd2e96540d24d1c8df53adc84109a918900687dc75b635cda05c4e788424ed71b5ff989 +DIST ldb-2.5.0.tar.gz 1722847 BLAKE2B 880a5a516b0b423854f8a3f9c54da89e4640f8462ccc54a7b147c70c3a9eb073dc9e914d1906ab914a9ddd9b9aa0e7d177ef3ecb4c0b506f5417db931b017849 SHA512 f16a235f1409e06266c51735ac645cf2708d31dd731ee7b95d6778498b115f4252b0a528952e620767d1616a4e1e7c5f2cdc69f3fa32d79288cf14da2f52a010 diff --git a/sys-libs/ldb/files/ldb-2.4.2-skip-32bit-time_t-tests.patch b/sys-libs/ldb/files/ldb-2.4.2-skip-32bit-time_t-tests.patch new file mode 100644 index 00000000000..70f34c5f1a5 --- /dev/null +++ b/sys-libs/ldb/files/ldb-2.4.2-skip-32bit-time_t-tests.patch @@ -0,0 +1,35 @@ +From 38f5e8e09a7ae641b3669068b10c6bd966e46632 Mon Sep 17 00:00:00 2001 +From: Mathieu Parent <math.parent@gmail.com> +Date: Thu, 4 Nov 2021 22:46:15 +0100 +Subject: [PATCH] Skip failing tests (on 32-bit architectures) + +See https://bugzilla.samba.org/show_bug.cgi?id=14558#c17 +--- + tests/python/api.py | 4 ++++++ + 1 file changed, 4 insertions(+) + +diff --git a/tests/python/api.py b/tests/python/api.py +index 8d154aa..e1de40c 100755 +--- a/tests/python/api.py ++++ b/tests/python/api.py +@@ -44,6 +44,8 @@ class NoContextTests(TestCase): + self.assertEqual("19700101000000.0Z", ldb.timestring(0)) + self.assertEqual("20071119191012.0Z", ldb.timestring(1195499412)) + ++ self.skipTest('Test failing on 32-bit') ++ + self.assertEqual("00000101000000.0Z", ldb.timestring(-62167219200)) + self.assertEqual("99991231235959.0Z", ldb.timestring(253402300799)) + +@@ -62,6 +64,8 @@ class NoContextTests(TestCase): + self.assertEqual(0, ldb.string_to_time("19700101000000.0Z")) + self.assertEqual(1195499412, ldb.string_to_time("20071119191012.0Z")) + ++ self.skipTest('Test failing on 32-bit') ++ + self.assertEqual(-62167219200, ldb.string_to_time("00000101000000.0Z")) + self.assertEqual(253402300799, ldb.string_to_time("99991231235959.0Z")) + +-- +2.30.2 + diff --git a/sys-libs/ldb/ldb-2.3.2.ebuild b/sys-libs/ldb/ldb-2.3.2-r1.ebuild index b6e69d0d529..49ea629050b 100644 --- a/sys-libs/ldb/ldb-2.3.2.ebuild +++ b/sys-libs/ldb/ldb-2.3.2-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -22,14 +22,14 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE} RESTRICT="!test? ( test )" RDEPEND=" - !elibc_FreeBSD? ( dev-libs/libbsd[${MULTILIB_USEDEP}] ) + dev-libs/libbsd[${MULTILIB_USEDEP}] dev-libs/popt[${MULTILIB_USEDEP}] >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}] >=sys-libs/talloc-2.3.2[${MULTILIB_USEDEP}] >=sys-libs/tdb-1.4.3[${MULTILIB_USEDEP}] >=sys-libs/tevent-0.10.2[${MULTILIB_USEDEP}] - ldap? ( net-nds/openldap ) - lmdb? ( >=dev-db/lmdb-0.9.16[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:= ) + lmdb? ( >=dev-db/lmdb-0.9.16:=[${MULTILIB_USEDEP}] ) python? ( ${PYTHON_DEPS} sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}] diff --git a/sys-libs/ldb/ldb-2.3.1.ebuild b/sys-libs/ldb/ldb-2.3.3.ebuild index b6e69d0d529..99aa75a74e3 100644 --- a/sys-libs/ldb/ldb-2.3.1.ebuild +++ b/sys-libs/ldb/ldb-2.3.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -13,7 +13,7 @@ SRC_URI="https://samba.org/ftp/pub/${PN}/${P}.tar.gz" LICENSE="LGPL-3" SLOT="0/${PV}" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="doc ldap +lmdb python test" REQUIRED_USE="${PYTHON_REQUIRED_USE} @@ -22,14 +22,14 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE} RESTRICT="!test? ( test )" RDEPEND=" - !elibc_FreeBSD? ( dev-libs/libbsd[${MULTILIB_USEDEP}] ) + dev-libs/libbsd[${MULTILIB_USEDEP}] dev-libs/popt[${MULTILIB_USEDEP}] >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}] >=sys-libs/talloc-2.3.2[${MULTILIB_USEDEP}] >=sys-libs/tdb-1.4.3[${MULTILIB_USEDEP}] >=sys-libs/tevent-0.10.2[${MULTILIB_USEDEP}] - ldap? ( net-nds/openldap ) - lmdb? ( >=dev-db/lmdb-0.9.16[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:= ) + lmdb? ( >=dev-db/lmdb-0.9.16:=[${MULTILIB_USEDEP}] ) python? ( ${PYTHON_DEPS} sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}] diff --git a/sys-libs/ldb/ldb-2.4.1-r1.ebuild b/sys-libs/ldb/ldb-2.4.1-r1.ebuild new file mode 100644 index 00000000000..eae27480975 --- /dev/null +++ b/sys-libs/ldb/ldb-2.4.1-r1.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_REQ_USE="threads(+)" +inherit python-single-r1 waf-utils multilib-minimal + +DESCRIPTION="LDAP-like embedded database" +HOMEPAGE="https://ldb.samba.org" +SRC_URI="https://samba.org/ftp/pub/${PN}/${P}.tar.gz" + +LICENSE="LGPL-3" +SLOT="0/${PV}" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE="doc ldap +lmdb python test" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + test? ( python )" + +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-libs/libbsd[${MULTILIB_USEDEP}] + dev-libs/popt[${MULTILIB_USEDEP}] + >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}] + >=sys-libs/talloc-2.3.3[${MULTILIB_USEDEP}] + >=sys-libs/tdb-1.4.4[${MULTILIB_USEDEP}] + >=sys-libs/tevent-0.11.0[${MULTILIB_USEDEP}] + ldap? ( net-nds/openldap:= ) + lmdb? ( >=dev-db/lmdb-0.9.16:=[${MULTILIB_USEDEP}] ) + python? ( + ${PYTHON_DEPS} + sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}] + sys-libs/tdb[python,${PYTHON_SINGLE_USEDEP}] + sys-libs/tevent[python,${PYTHON_SINGLE_USEDEP}] + ) +" +DEPEND="${RDEPEND} + virtual/libcrypt +" +BDEPEND="${PYTHON_DEPS} + dev-libs/libxslt + virtual/pkgconfig + doc? ( app-doc/doxygen ) +" + +WAF_BINARY="${S}/buildtools/bin/waf" + +MULTILIB_WRAPPED_HEADERS=( /usr/include/pyldb.h ) + +PATCHES=( + "${FILESDIR}"/${PN}-1.5.2-optional_packages.patch + "${FILESDIR}"/${PN}-1.1.31-fix_PKGCONFIGDIR-when-python-disabled.patch +) + +pkg_setup() { + # Package fails to build with distcc + export DISTCC_DISABLE=1 + + # waf requires a python interpreter + python-single-r1_pkg_setup +} + +src_prepare() { + default + multilib_copy_sources +} + +multilib_src_configure() { + local myconf=( + $(usex ldap '' --disable-ldap) + $(usex lmdb '' --without-ldb-lmdb) + --disable-rpath + --disable-rpath-install --bundled-libraries=NONE + --with-modulesdir="${EPREFIX}"/usr/$(get_libdir)/samba + --builtin-libraries=NONE + ) + if ! multilib_is_native_abi; then + myconf+=( --disable-python ) + else + use python || myconf+=( --disable-python ) + fi + waf-utils_src_configure "${myconf[@]}" +} + +multilib_src_compile() { + waf-utils_src_compile + multilib_is_native_abi && use doc && doxygen Doxyfile +} + +multilib_src_test() { + if multilib_is_native_abi; then + WAF_MAKE=1 \ + PATH=buildtools/bin:../../../buildtools/bin:$PATH:"${BUILD_DIR}"/bin/shared/private/ \ + LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"${BUILD_DIR}"/bin/shared/private/:"${BUILD_DIR}"/bin/shared \ + waf test || die + fi +} + +multilib_src_install() { + waf-utils_src_install + + if multilib_is_native_abi && use doc; then + doman apidocs/man/man3/*.3 + docinto html + dodoc -r apidocs/html/. + fi + + use python && python_optimize #726454 +} + +pkg_postinst() { + if has_version sys-auth/sssd; then + ewarn "You have sssd installed. It is known to break after ldb upgrades," + ewarn "so please try to rebuild it before reporting bugs." + ewarn "See https://bugs.gentoo.org/404281" + fi +} diff --git a/sys-libs/ldb/ldb-2.4.1.ebuild b/sys-libs/ldb/ldb-2.4.2-r1.ebuild index 36aa67609f5..54d9456e59c 100644 --- a/sys-libs/ldb/ldb-2.4.1.ebuild +++ b/sys-libs/ldb/ldb-2.4.2-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -22,14 +22,14 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE} RESTRICT="!test? ( test )" RDEPEND=" - !elibc_FreeBSD? ( dev-libs/libbsd[${MULTILIB_USEDEP}] ) + dev-libs/libbsd[${MULTILIB_USEDEP}] dev-libs/popt[${MULTILIB_USEDEP}] >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}] >=sys-libs/talloc-2.3.3[${MULTILIB_USEDEP}] >=sys-libs/tdb-1.4.4[${MULTILIB_USEDEP}] >=sys-libs/tevent-0.11.0[${MULTILIB_USEDEP}] - ldap? ( net-nds/openldap ) - lmdb? ( >=dev-db/lmdb-0.9.16[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:= ) + lmdb? ( >=dev-db/lmdb-0.9.16:=[${MULTILIB_USEDEP}] ) python? ( ${PYTHON_DEPS} sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}] @@ -53,6 +53,7 @@ MULTILIB_WRAPPED_HEADERS=( /usr/include/pyldb.h ) PATCHES=( "${FILESDIR}"/${PN}-1.5.2-optional_packages.patch "${FILESDIR}"/${PN}-1.1.31-fix_PKGCONFIGDIR-when-python-disabled.patch + "${FILESDIR}"/${PN}-2.4.2-skip-32bit-time_t-tests.patch ) pkg_setup() { diff --git a/sys-libs/ldb/ldb-2.4.0-r1.ebuild b/sys-libs/ldb/ldb-2.5.0-r1.ebuild index e11b7972d4a..4b4ed4c7fa5 100644 --- a/sys-libs/ldb/ldb-2.4.0-r1.ebuild +++ b/sys-libs/ldb/ldb-2.5.0-r1.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{7..9} ) +PYTHON_COMPAT=( python3_{8..10} ) PYTHON_REQ_USE="threads(+)" inherit python-single-r1 waf-utils multilib-minimal @@ -22,14 +22,14 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE} RESTRICT="!test? ( test )" RDEPEND=" - !elibc_FreeBSD? ( dev-libs/libbsd[${MULTILIB_USEDEP}] ) + dev-libs/libbsd[${MULTILIB_USEDEP}] dev-libs/popt[${MULTILIB_USEDEP}] >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}] >=sys-libs/talloc-2.3.3[${MULTILIB_USEDEP}] - >=sys-libs/tdb-1.4.4[${MULTILIB_USEDEP}] + >=sys-libs/tdb-1.4.5[${MULTILIB_USEDEP}] >=sys-libs/tevent-0.11.0[${MULTILIB_USEDEP}] - ldap? ( net-nds/openldap ) - lmdb? ( >=dev-db/lmdb-0.9.16[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:= ) + lmdb? ( >=dev-db/lmdb-0.9.16:=[${MULTILIB_USEDEP}] ) python? ( ${PYTHON_DEPS} sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}] @@ -53,6 +53,7 @@ MULTILIB_WRAPPED_HEADERS=( /usr/include/pyldb.h ) PATCHES=( "${FILESDIR}"/${PN}-1.5.2-optional_packages.patch "${FILESDIR}"/${PN}-1.1.31-fix_PKGCONFIGDIR-when-python-disabled.patch + "${FILESDIR}"/${PN}-2.4.2-skip-32bit-time_t-tests.patch ) pkg_setup() { diff --git a/sys-libs/libaal/libaal-1.0.7-r2.ebuild b/sys-libs/libaal/libaal-1.0.7-r2.ebuild index 7994ee19251..32c17e6921a 100644 --- a/sys-libs/libaal/libaal-1.0.7-r2.ebuild +++ b/sys-libs/libaal/libaal-1.0.7-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge/reiser4/${P}.tar.gz" LICENSE="GPL-2" SLOT="0/7" -KEYWORDS="amd64 arm ~arm64 ppc ppc64 -sparc x86" +KEYWORDS="amd64 arm ~arm64 ~loong ppc ppc64 -sparc x86" IUSE="static-libs" BDEPEND="virtual/os-headers" diff --git a/sys-libs/libapparmor/libapparmor-3.0.1.ebuild b/sys-libs/libapparmor/libapparmor-3.0.1.ebuild index 3da7dd1b466..f88e11c0fe6 100644 --- a/sys-libs/libapparmor/libapparmor-3.0.1.ebuild +++ b/sys-libs/libapparmor/libapparmor-3.0.1.ebuild @@ -4,7 +4,7 @@ EAPI=7 DISTUTILS_OPTIONAL=1 -PYTHON_COMPAT=( python3_{7,8,9} ) +PYTHON_COMPAT=( python3_{8..10} ) GENTOO_DEPEND_ON_PERL="no" inherit autotools distutils-r1 perl-functions diff --git a/sys-libs/libapparmor/libapparmor-3.0.3.ebuild b/sys-libs/libapparmor/libapparmor-3.0.3.ebuild index e35b3da8a32..c7bd9822dee 100644 --- a/sys-libs/libapparmor/libapparmor-3.0.3.ebuild +++ b/sys-libs/libapparmor/libapparmor-3.0.3.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_OPTIONAL=1 -PYTHON_COMPAT=( python3_{7,8,9} ) +PYTHON_COMPAT=( python3_{8..10} ) GENTOO_DEPEND_ON_PERL="no" inherit autotools distutils-r1 perl-functions diff --git a/sys-libs/libapparmor/metadata.xml b/sys-libs/libapparmor/metadata.xml index f7b28ab4f35..22230f2666f 100644 --- a/sys-libs/libapparmor/metadata.xml +++ b/sys-libs/libapparmor/metadata.xml @@ -3,6 +3,7 @@ <pkgmetadata> <maintainer type="person"> <email>kensington@gentoo.org</email> + <name>Michael Palimaka</name> </maintainer> <maintainer type="project"> <email>hardened@gentoo.org</email> diff --git a/sys-libs/libavc1394/libavc1394-0.5.4-r2.ebuild b/sys-libs/libavc1394/libavc1394-0.5.4-r2.ebuild index ecc3bbed45e..f447a8198a5 100644 --- a/sys-libs/libavc1394/libavc1394-0.5.4-r2.ebuild +++ b/sys-libs/libavc1394/libavc1394-0.5.4-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge/libavc1394/${P}.tar.gz" LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 ~riscv sparc x86" +KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv sparc x86" BDEPEND="virtual/pkgconfig" DEPEND=">=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}] diff --git a/sys-libs/libbacktrace/Manifest b/sys-libs/libbacktrace/Manifest new file mode 100644 index 00000000000..9847c26dd60 --- /dev/null +++ b/sys-libs/libbacktrace/Manifest @@ -0,0 +1 @@ +DIST libbacktrace-1.0_p20220226.tgz 665988 BLAKE2B 0d8aff7f6261446fabe713653896b0cf2fec2d3aec508423577182383a7deb359100579817eaf64d65848c49ce655d8f57cf67452f16e3c88559aeae28cafd95 SHA512 700cb1930c409e4f1fe99e46920e83ea2b359daaea9f96e2b73b81857dea895c0ade0fc2b4dbe6b7c94df7d494dcd80a9f6686d9acad8452ca59760aafa74c2f diff --git a/sys-libs/libbacktrace/libbacktrace-1.0_p20220226.ebuild b/sys-libs/libbacktrace/libbacktrace-1.0_p20220226.ebuild new file mode 100644 index 00000000000..4d25caacdbf --- /dev/null +++ b/sys-libs/libbacktrace/libbacktrace-1.0_p20220226.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="C library that may be linked into a C/C++ program to produce symbolic backtraces" +HOMEPAGE="https://github.com/ianlancetaylor/libbacktrace" + +MY_COMMIT="2446c66076480ce07a6bd868badcbceb3eeecc2e" + +SRC_URI="https://github.com/ianlancetaylor/${PN}/archive/${MY_COMMIT}.tar.gz -> ${P}.tgz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" + +S=${WORKDIR}/${PN}-${MY_COMMIT} + +#RDEPEND="" +#DEPEND="${RDEPEND}" diff --git a/sys-libs/tapi/metadata.xml b/sys-libs/libbacktrace/metadata.xml index 232d18dd1fa..eb781ab3b5c 100644 --- a/sys-libs/tapi/metadata.xml +++ b/sys-libs/libbacktrace/metadata.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>prefix@gentoo.org</email> - <name>Gentoo Prefix</name> - </maintainer> +<maintainer type="person"> + <email>dilfridge@gentoo.org</email> + <name>Andreas K. Huettel</name> +</maintainer> </pkgmetadata> diff --git a/sys-libs/libblockdev/Manifest b/sys-libs/libblockdev/Manifest index b0eb31d6494..84b8e10b03e 100644 --- a/sys-libs/libblockdev/Manifest +++ b/sys-libs/libblockdev/Manifest @@ -1,2 +1 @@ -DIST libblockdev-2.25.tar.gz 930238 BLAKE2B ae28c40b5e114826baf4a8ba9012267b297dbc4abee52669cf39c886d2c9989291f41937ec742c7457049a6a30e674f9c89ad6478923f393ae1773db3afcf621 SHA512 628d05f3a257b44208a9d0b5d84ae248fefd415812d9a93d132c03039b09fefc4d6110beb9aa0d3072e3f0c992e642d7867d0241209056538f132f86a748e195 DIST libblockdev-2.26.tar.gz 932129 BLAKE2B 39d95db69de917449e6009fa0160b6288327b2c49b64309d17a1e4e028756d1ce170779ce1c4df926c8796d8a8ed7b9131b5d4b51115a3ea901dacdaa971961a SHA512 ddd4e9c22135bd7dad0bb9bc254ac0c63e3bacc592e7c5a0c846e367da3fc248bf6187f1c81407c3bce599d3b0ceeec9a8a0030ad8e981e245f715b35eaec523 diff --git a/sys-libs/libblockdev/libblockdev-2.25.ebuild b/sys-libs/libblockdev/libblockdev-2.25.ebuild deleted file mode 100644 index 542a3e9e88c..00000000000 --- a/sys-libs/libblockdev/libblockdev-2.25.ebuild +++ /dev/null @@ -1,119 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{7..9} ) -inherit autotools python-single-r1 xdg-utils - -DESCRIPTION="A library for manipulating block devices" -HOMEPAGE="https://github.com/storaged-project/libblockdev" -if [[ "${PV}" == *9999 ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/storaged-project/libblockdev.git" - BDEPEND=" - sys-devel/autoconf-archive - " -else - MY_PV="${PV}-1" - #MY_P="${PN}-${MY_PV}" - #SRC_URI="https://github.com/storaged-project/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz" - SRC_URI="https://github.com/storaged-project/${PN}/releases/download/${MY_PV}/${P}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv sparc x86" - #S="${WORKDIR}/${MY_P}" -fi -LICENSE="LGPL-2+" -SLOT="0" -IUSE="bcache +cryptsetup device-mapper dmraid escrow gtk-doc introspection lvm kbd test +tools vdo" -RESTRICT="!test? ( test )" - -RDEPEND=" - >=dev-libs/glib-2.42.2 - dev-libs/libbytesize - >=sys-apps/kmod-19 - >=sys-apps/util-linux-2.27 - >=sys-block/parted-3.1 - cryptsetup? ( - escrow? ( - >=dev-libs/nss-3.18.0 - dev-libs/volume_key - ) - >=sys-fs/cryptsetup-1.6.7:= - ) - device-mapper? ( sys-fs/lvm2 ) - dmraid? ( - sys-fs/dmraid - sys-fs/lvm2 - ) - lvm? ( - sys-fs/lvm2 - virtual/udev - ) - vdo? ( dev-libs/libyaml ) - ${PYTHON_DEPS} -" - -DEPEND=" - ${RDEPEND} -" - -BDEPEND+=" - dev-util/gtk-doc-am - gtk-doc? ( dev-util/gtk-doc ) - introspection? ( >=dev-libs/gobject-introspection-1.3.0 ) -" - -REQUIRED_USE="${PYTHON_REQUIRED_USE} - escrow? ( cryptsetup )" - -pkg_setup() { - python-single-r1_pkg_setup -} - -src_prepare() { - xdg_environment_reset #623992 - default - - # https://bugs.gentoo.org/744289 - find -type f \( -name "Makefile.am" -o -name "configure.ac" \) -print0 \ - | xargs --null sed "s@ -Werror@@" -i || die - - eautoreconf -} - -src_configure() { - local myeconfargs=( - --with-btrfs - --with-fs - --with-part - --without-mpath - --without-nvdimm - $(use_enable introspection) - $(use_enable test tests) - $(use_with bcache) - $(use_with cryptsetup crypto) - $(use_with device-mapper dm) - $(use_with dmraid) - $(use_with escrow) - $(use_with gtk-doc) - $(use_with kbd) - $(use_with lvm lvm) - $(use_with lvm lvm-dbus) - $(use_with tools) - $(use_with vdo) - --without-python2 - --with-python3 - ) - econf "${myeconfargs[@]}" -} - -src_install() { - default - find "${ED}" -type f -name "*.la" -delete || die - # This is installed even with USE=-lvm, but libbd_lvm are omitted so it - # doesn't work at all. - if ! use lvm; then - rm -f "${ED}"/usr/bin/lvm-cache-stats || die - fi - python_optimize #718576 -} diff --git a/sys-libs/libblockdev/libblockdev-2.26.ebuild b/sys-libs/libblockdev/libblockdev-2.26.ebuild index 0682b4b778e..b7f75e8e7b4 100644 --- a/sys-libs/libblockdev/libblockdev-2.26.ebuild +++ b/sys-libs/libblockdev/libblockdev-2.26.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{7..10} ) +PYTHON_COMPAT=( python3_{8..10} ) inherit autotools python-single-r1 xdg-utils DESCRIPTION="A library for manipulating block devices" @@ -19,7 +19,7 @@ else #MY_P="${PN}-${MY_PV}" #SRC_URI="https://github.com/storaged-project/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz" SRC_URI="https://github.com/storaged-project/${PN}/releases/download/${MY_PV}/${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv sparc x86" #S="${WORKDIR}/${MY_P}" fi LICENSE="LGPL-2+" diff --git a/sys-libs/libblockdev/libblockdev-9999.ebuild b/sys-libs/libblockdev/libblockdev-9999.ebuild index 0682b4b778e..caa2065daf9 100644 --- a/sys-libs/libblockdev/libblockdev-9999.ebuild +++ b/sys-libs/libblockdev/libblockdev-9999.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{7..10} ) +PYTHON_COMPAT=( python3_{8..10} ) inherit autotools python-single-r1 xdg-utils DESCRIPTION="A library for manipulating block devices" @@ -24,7 +24,7 @@ else fi LICENSE="LGPL-2+" SLOT="0" -IUSE="bcache +cryptsetup device-mapper dmraid escrow gtk-doc introspection lvm kbd test +tools vdo" +IUSE="bcache +cryptsetup device-mapper dmraid escrow gtk-doc introspection lvm kbd +nvme test +tools" # Tests require root. In a future release, we may be able to run a smaller # subset with new run_tests.py arguments. RESTRICT="!test? ( test ) test" @@ -51,7 +51,7 @@ RDEPEND=" sys-fs/lvm2 virtual/udev ) - vdo? ( dev-libs/libyaml ) + nvme? ( sys-libs/libnvme ) ${PYTHON_DEPS} " @@ -88,6 +88,7 @@ src_configure() { --with-btrfs --with-fs --with-part + --with-python3 --without-mpath --without-nvdimm $(use_enable introspection) @@ -101,10 +102,8 @@ src_configure() { $(use_with kbd) $(use_with lvm lvm) $(use_with lvm lvm-dbus) + $(use_with nvme) $(use_with tools) - $(use_with vdo) - --without-python2 - --with-python3 ) econf "${myeconfargs[@]}" } @@ -121,7 +120,7 @@ src_install() { find "${ED}" -type f -name "*.la" -delete || die # This is installed even with USE=-lvm, but libbd_lvm are omitted so it # doesn't work at all. - if ! use lvm; then + if ! use lvm ; then rm -f "${ED}"/usr/bin/lvm-cache-stats || die fi python_optimize #718576 diff --git a/sys-libs/libblockdev/metadata.xml b/sys-libs/libblockdev/metadata.xml index 981e2c38015..5d09531b8a8 100644 --- a/sys-libs/libblockdev/metadata.xml +++ b/sys-libs/libblockdev/metadata.xml @@ -13,6 +13,7 @@ <flag name="escrow">Support for building crypto plugin with escrow device support</flag> <flag name="kbd">Enable kernel block device support.</flag> <flag name="lvm">Enable support for Logical Volume Management via <pkg>sys-fs/lvm2</pkg>.</flag> + <flag name="nvme">Add nvme support via <pkg>sys-libs/libnvme</pkg></flag> <flag name="tools">Build tools</flag> <flag name="vdo">Enable Virtual Data Optimizer support.</flag> </use> diff --git a/sys-libs/libcap-ng/Manifest b/sys-libs/libcap-ng/Manifest index 91583ac0a49..c555c666fdf 100644 --- a/sys-libs/libcap-ng/Manifest +++ b/sys-libs/libcap-ng/Manifest @@ -1,2 +1,3 @@ DIST libcap-ng-0.8.2-apply-disable.patch 723 BLAKE2B 70d9959c55119c02bbc4ea605251491c04c477511c20b9fe93e6527ffd3fe2f35a72fabab5ca149c4aaf536c6cd8dceb15375297158f8827a0c676744381bbc1 SHA512 8c9317bdd4fde7d6a4618ec613bce46bed7646891bd16bc3fa307e9a814e38601bf3c6ad13102389d4596d9ed6a7ad853cca58624e724fe07383007e386c51f8 DIST libcap-ng-0.8.2.tar.gz 456066 BLAKE2B 7e721d05b92fd3708b970527e76b1898daa91bde3ab6ed5d8f23b1435404fbe7d15731461c6d9d2c791738e5498d1f5eaba727413480d34b7edea13c8691c32b SHA512 0ac6e55c03b1fba3a849048b721e250951afb59190d9646704d4fd9938eccc3bd0767380fbddc42f186b4f55695475e31f34f537ae91c04a37662577a5b7a19b +DIST libcap-ng-0.8.3.tar.gz 455383 BLAKE2B c54dd753e0ef6dd21bcf6af7b003f85ded9faf2fbf1ea834cda6b181b165ff4b11a0284c23c73d0e6f97a810b3e6a63fceeb57ff583a2b32f23924bdee597ef5 SHA512 0ef9bc7bc6b7b59991f43b79aa6cde3e8d2c22c4b9ced2af8deae501e01d51e893033d109cb8aa0fdcba190140110993089245346334d7b114d18f1bb1b55b97 diff --git a/sys-libs/libcap-ng/libcap-ng-0.8.3.ebuild b/sys-libs/libcap-ng/libcap-ng-0.8.3.ebuild new file mode 100644 index 00000000000..3e163b1e19c --- /dev/null +++ b/sys-libs/libcap-ng/libcap-ng-0.8.3.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +# Keep an eye on Fedora's packaging (https://src.fedoraproject.org/rpms/libcap-ng/tree/rawhide) for patches +# Same maintainer in Fedora as upstream +PYTHON_COMPAT=( python3_{8..10} ) +inherit autotools flag-o-matic python-r1 + +DESCRIPTION="POSIX 1003.1e capabilities" +HOMEPAGE="https://people.redhat.com/sgrubb/libcap-ng/" +# Patch works around / reverts a behaviour change because not all consumers were ready. +# Keep this patch for a bit longer until Fedora stop shipping it (not clear what else +# other than gnome-keyring was broken by it: bug #759550) +# Fedora 0.8.2 https://src.fedoraproject.org/rpms/libcap-ng/c/a5b0f536df1132d8e7afa4c0ce07b630e7970cad?branch=master +SRC_URI="https://people.redhat.com/sgrubb/${PN}/${P}.tar.gz + https://src.fedoraproject.org/rpms/libcap-ng/raw/a5b0f536df1132d8e7afa4c0ce07b630e7970cad/f/libcap-ng-0.8.2-apply-disable.patch" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux" +IUSE="python static-libs" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND="python? ( ${PYTHON_DEPS} )" +DEPEND="${RDEPEND} + sys-kernel/linux-headers" +BDEPEND="python? ( >=dev-lang/swig-2 )" + +PATCHES=( + "${DISTDIR}"/libcap-ng-0.8.2-apply-disable.patch +) + +src_prepare() { + default + + if use prefix ; then + sed -i "s@cat /usr@cat ${EPREFIX}/usr@" bindings/python*/Makefile.am || die + # bug #668722 + eautomake + fi +} + +src_configure() { + use sparc && replace-flags -O? -O0 + + local ECONF_SOURCE="${S}" + + local myconf=( + $(use_enable static-libs static) + ) + + local pythonconf=( + --without-python + --without-python3 + ) + + # Set up python bindings build(s) + if use python ; then + setup_python_flags_configure() { + pythonconf=( + --without-python + --with-python3 + ) + + run_in_build_dir econf "${pythonconf[@]}" "${myconf[@]}" + } + + python_foreach_impl setup_python_flags_configure + else + local BUILD_DIR="${WORKDIR}"/build + run_in_build_dir econf "${pythonconf[@]}" "${myconf[@]}" + fi +} + +src_compile() { + if use python ; then + python_foreach_impl run_in_build_dir emake + else + local BUILD_DIR="${WORKDIR}"/build + emake -C "${BUILD_DIR}" + fi +} + +src_test() { + if [[ "${EUID}" -eq 0 ]] ; then + ewarn "Skipping tests due to root permissions." + return + fi + + if use python ; then + python_foreach_impl run_in_build_dir emake check + else + local BUILD_DIR="${WORKDIR}"/build + emake -C "${BUILD_DIR}" check + fi +} + +src_install() { + if use python ; then + python_foreach_impl run_in_build_dir emake DESTDIR="${D}" install + else + local BUILD_DIR="${WORKDIR}"/build + emake -C "${BUILD_DIR}" DESTDIR="${D}" install + fi + + find "${ED}" -name '*.la' -delete || die +} diff --git a/sys-libs/libcap/Manifest b/sys-libs/libcap/Manifest index b783ac2f611..442dc13654c 100644 --- a/sys-libs/libcap/Manifest +++ b/sys-libs/libcap/Manifest @@ -1,2 +1,2 @@ -DIST libcap-2.49.tar.xz 139568 BLAKE2B 5746dcdf2a737e747450bd50a701ee8543277b17b7fbf1304b79f707a088ea74dc6dc79c61ff89b55b718a460a7b0814f960f44d07944a97b832b78f4e14e07f SHA512 2934a2ded1370edeb9603dbf43d8ca23a2eb5d67efc5cec5d4ba96c707a8db2702da8aa9be0cb86c5ff100d37ec96115c7777a7566ad0ab2e0b4a288bbe357d0 -DIST libcap-2.61.tar.xz 173892 BLAKE2B 50874d3510ab2476aaceb775314d98744736aacd7364a23827756caa160c101e8bc890b7c33b5e19df8b30bb6b3b1c2be323e4b6a963f97e9ee557e86b4f13a0 SHA512 40096bf511d1c45e36f5d7f24e49c709528f3f01fcadd47b6ac40a7e8d5f1705b29b4cc56356b030639f67d0641b9f4e7c19449c3c7f4f77a4070c35745b465c +DIST libcap-2.63.tar.xz 175104 BLAKE2B a49a628f5b9ddf5a3d077428544a53b9cdedf62053ff296a0aa7d61e12ca05f9ba7597f20ee16a3843736bee2417a3d1585ad6b336651fcb3e4ee29b108cfa0f SHA512 832842b71ca32db8f53ca5f1a3010f14e7f42693f62f29632e9948c860f990899bb094165c37307ce8b9e5bc5eb1c833e780ebca98442df3e6d900e4b238834b +DIST libcap-2.64.tar.xz 175704 BLAKE2B 078ce2505a79c1bd4ca0a8eaf3444178bc19a566f0505d28c6959f86fbbac2fe2fc88c06fd0d988087a6e20e8ec66a2633146cea957f0f3fd92eaff4f81d7c66 SHA512 3c5cf478cef249585ee1a0dfd75c6b41b0daf4e1ecb59dce894eac5523841aa79ca499be4161f73193dd8e7363edcd51063f3e281930cee939ebd50983eecbaf diff --git a/sys-libs/libcap/files/libcap-2.21-include.patch b/sys-libs/libcap/files/libcap-2.21-include.patch deleted file mode 100644 index 8ea6545659e..00000000000 --- a/sys-libs/libcap/files/libcap-2.21-include.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/libcap/libcap.h -+++ b/libcap/libcap.h -@@ -13,6 +13,7 @@ - #include <stdlib.h> - #include <string.h> - #include <sys/capability.h> -+#include <sys/prctl.h> /* prctl() */ - - #ifndef __u8 - #define __u8 unsigned char diff --git a/sys-libs/libcap/files/libcap-2.25-ignore-RAISE_SETFCAP-install-failures.patch b/sys-libs/libcap/files/libcap-2.25-ignore-RAISE_SETFCAP-install-failures.patch deleted file mode 100644 index e5455cd1ebb..00000000000 --- a/sys-libs/libcap/files/libcap-2.25-ignore-RAISE_SETFCAP-install-failures.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 8dfcdcfdcb9c462a05566aa8d3c6eca871f0ddbf Mon Sep 17 00:00:00 2001 -From: Mike Frysinger <vapier@gentoo.org> -Date: Wed, 10 Feb 2016 09:52:45 +0100 -Subject: [PATCH] ignore RAISE_SETFCAP install failures - -While the new RAISE_SETFCAP feature is nifty, its failure to run (often -due to the fs not supporting it) shouldn't impair the default install. - -Signed-off-by: Mike Frysinger <vapier@gentoo.org> - -Forward ported from libcap-2.20 to libcap-2.25 - -Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> ---- a/progs/Makefile -+++ b/progs/Makefile -@@ -27,7 +27,7 @@ install: all - install -m 0755 $$p $(FAKEROOT)$(SBINDIR) ; \ - done - ifeq ($(RAISE_SETFCAP),yes) -- $(FAKEROOT)$(SBINDIR)/setcap cap_setfcap=i $(FAKEROOT)$(SBINDIR)/setcap -+ -$(FAKEROOT)$(SBINDIR)/setcap cap_setfcap=i $(FAKEROOT)$(SBINDIR)/setcap - endif - - clean: diff --git a/sys-libs/libcap/files/libcap-2.38-no_perl.patch b/sys-libs/libcap/files/libcap-2.38-no_perl.patch deleted file mode 100644 index 9104484d577..00000000000 --- a/sys-libs/libcap/files/libcap-2.38-no_perl.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 3f76418eaf73896489129c529fac021e4f3a03c0 Mon Sep 17 00:00:00 2001 -From: Mike Frysinger <vapier@gentoo.org> -Date: Wed, 21 Nov 2018 11:00:54 +0100 -Subject: [PATCH] use awk/sed instead of perl for creating header files - -More systems should have awk/sed than perl. - -Signed-off-by: Mike Frysinger <vapier@gentoo.org> - -Forward ported from libcap-2.22 to libcap-2.26 -and incorporated the gperf-3.1 fix provided by Mike Gilbert -<floppym@gentoo.org> -Forward ported from libcap-2.26 to libcap-2.28 -Forward ported from libcap-2.28 to libcap-2.38 - -Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> ---- a/libcap/Makefile -+++ b/libcap/Makefile -@@ -22,6 +22,8 @@ MAJLIBNAME=$(LIBNAME).$(VERSION) - MINLIBNAME=$(MAJLIBNAME).$(MINOR) - GPERF_OUTPUT = _caps_output.gperf - CFLAGS += -fPIC -+AWK = awk -+SED = sed - - all: $(MINLIBNAME) $(STACAPLIBNAME) libcap.pc libpsx.pc $(STAPSXLIBNAME) - -@@ -55,17 +57,27 @@ cap_names.h: _makenames - ./_makenames > cap_names.h - - $(GPERF_OUTPUT): cap_names.list.h -- perl -e 'print "struct __cap_token_s { const char *name; int index; };\n%{\nconst struct __cap_token_s *__cap_lookup_name(const char *, size_t);\n%}\n%%\n"; while ($$l = <>) { $$l =~ s/[\{\"]//g; $$l =~ s/\}.*// ; print $$l; }' < $< | gperf --ignore-case --language=ANSI-C --readonly --null-strings --global-table --hash-function-name=__cap_hash_name --lookup-function-name="__cap_lookup_name" -c -t -m20 $(INDENT) > $@ -- sed -e 's/unsigned int len/size_t len/' -i $@ -+ (printf "%b" "struct __cap_token_s { const char *name; int index; };\n%%\n"; \ -+ $(SED) -e 's:["{}]::g' -e 's:,$$::' $<) | \ -+ gperf \ -+ --ignore-case \ -+ --language=ANSI-C \ -+ --includes \ -+ --readonly \ -+ --null-strings \ -+ --global-table \ -+ --hash-function-name=__cap_hash_name \ -+ --lookup-function-name="__cap_lookup_name" \ -+ -c -t -m20 $(INDENT) > $@ - --# Intention is that libcap keeps up with torvalds' tree, as reflected --# by this maintained version of the kernel header. libcap dynamically --# trims the meaning of "all" capabilities down to that of the running --# kernel as of 2.30. - UAPI_HEADER := $(topdir)/libcap/include/uapi/linux/capability.h - cap_names.list.h: Makefile $(UAPI_HEADER) - @echo "=> making $@ from $(UAPI_HEADER)" -- perl -e 'while ($$l=<>) { if ($$l =~ /^\#define[ \t](CAP[_A-Z]+)[ \t]+([0-9]+)\s+$$/) { $$tok=$$1; $$val=$$2; $$tok =~ tr/A-Z/a-z/; print "{\"$$tok\",$$val},\n"; } }' $(UAPI_HEADER) | fgrep -v 0x > $@ -+ $(AWK) '($$0 ~ /^#define[[:space:]]+CAP[_A-Z]+[[:space:]]+[0-9]+[[:space:]]*$$/) { printf "{\"%s\",%s},\n", tolower($$2), $$3 }' $(UAPI_HEADER) > $@ -+ -+cap_names.list.h: $(KERNEL_HEADERS)/linux/capability.h Makefile -+ @echo "=> making $@ from $<" -+ $(AWK) '($$0 ~ /^#define[[:space:]]+CAP[_A-Z]+[[:space:]]+[0-9]+[[:space:]]*$$/) { printf "{\"%s\",%s},\n", tolower($$2), $$3 }' $< > $@ - - $(STACAPLIBNAME): $(CAPOBJS) - $(AR) rcs $@ $^ diff --git a/sys-libs/libcap/files/libcap-2.48-build-system-fixes.patch b/sys-libs/libcap/files/libcap-2.48-build-system-fixes.patch deleted file mode 100644 index b3986e19546..00000000000 --- a/sys-libs/libcap/files/libcap-2.48-build-system-fixes.patch +++ /dev/null @@ -1,175 +0,0 @@ -From d0e5c20fda92fcc48109bce7055d5fad458579ca Mon Sep 17 00:00:00 2001 -From: Mike Frysinger <vapier@gentoo.org> -Date: Wed, 4 Nov 2020 22:46:20 +0100 -Subject: [PATCH] build system fixes - -This touches up the homebrewed build system to work much better "out of the -box" for people. Specifically: - - allow toolchain vars to be set via environment - - CC / BUILD_CC / AR / RANLIB - - CFLAGS / CPPFLAGS / LDFLAGS - - split CPPFLAGS out of CFLAGS - - break -fPIC out of global CFLAGS and only use where needed - - use LDLIBS for libraries, not LDFLAGS - -Signed-off-by: Mike Frysinger <vapier@gentoo.org> - -Forward ported from libcap-2.24 to libcap-2.25 -Forward ported from libcap-2.25 to libcap-2.28 -Forward ported from libcap-2.28 to libcap-2.29 -Forward ported from libcap-2.29 to libcap-2.33 -Forward ported from libcap-2.33 to libcap-2.34 -Forward ported from libcap-2.34 to libcap-2.37 -Forward ported from libcap-2.37 to libcap-2.39 -Forward ported from libcap-2.39 to libcap-2.42 -Forward ported from libcap-2.42 to libcap-2.44 -Forward ported from libcap-2.44 to libcap-2.45 -Forward ported from libcap-2.45 to libcap-2.48 - -Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> ---- a/Make.Rules -+++ b/Make.Rules -@@ -52,7 +52,6 @@ GOMAJOR=0 - # Compilation specifics - - KERNEL_HEADERS := $(topdir)/libcap/include/uapi --IPATH += -fPIC -I$(KERNEL_HEADERS) -I$(topdir)/libcap/include - - CC := $(CROSS_COMPILE)gcc - DEFINES := -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -@@ -60,7 +59,7 @@ COPTS ?= -O2 - CFLAGS ?= $(COPTS) $(DEFINES) - BUILD_CC ?= $(CC) - BUILD_COPTS ?= -O2 --BUILD_CFLAGS ?= $(BUILD_COPTS) $(DEFINES) $(IPATH) -+BUILD_CFLAGS ?= $(CFLAGS) - AR := $(CROSS_COMPILE)ar - RANLIB := $(CROSS_COMPILE)ranlib - DEBUG = -g #-DDEBUG -@@ -76,10 +75,13 @@ LIBPSXLIB := -L$(topdir)/libcap -lpsx $(PSXLINKFLAGS) - - BUILD_GPERF := $(shell which gperf >/dev/null 2>/dev/null && echo yes) - --SYSTEM_HEADERS = /usr/include -+LIBCAP_CPPFLAGS = -I$(KERNEL_HEADERS) -I$(topdir)/libcap/include $(DEFINES) -+CPPFLAGS += $(LIBCAP_CPPFLAGS) -+BUILD_CPPFLAGS += $(LIBCAP_CPPFLAGS) - INCS=$(topdir)/libcap/include/sys/capability.h - LDFLAGS += -L$(topdir)/libcap --CFLAGS += -Dlinux $(WARNINGS) $(DEBUG) -+CPPFLAGS += -Dlinux -+CFLAGS += $(WARNINGS) $(DEBUG) - INDENT := $(shell if [ -n "$$(which indent 2>/dev/null)" ]; then echo "| indent -kr" ; fi) - - # SHARED tracks whether or not the SHARED libraries (libcap.so, ---- a/Makefile -+++ b/Makefile -@@ -17,7 +17,6 @@ ifeq ($(GOLANG),yes) - $(MAKE) -C go $@ - rm -f cap/go.sum - endif -- $(MAKE) -C tests $@ - $(MAKE) -C progs $@ - $(MAKE) -C doc $@ - $(MAKE) -C kdebug $@ ---- a/libcap/Makefile -+++ b/libcap/Makefile -@@ -25,6 +25,7 @@ MINCAPLIBNAME=$(MAJCAPLIBNAME).$(MINOR) - PSXOBJS=$(addsuffix .o, $(PSXFILES)) - MAJPSXLIBNAME=$(PSXLIBNAME).$(VERSION) - MINPSXLIBNAME=$(MAJPSXLIBNAME).$(MINOR) -+CFLAGS += -fPIC - - all: pcs $(STACAPLIBNAME) - ifeq ($(SHARED),yes) -@@ -66,7 +67,7 @@ libpsx.pc: libpsx.pc.in - $< >$@ - - _makenames: _makenames.c cap_names.list.h -- $(BUILD_CC) $(BUILD_CFLAGS) $< -o $@ -+ $(BUILD_CC) $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $< -o $@ - - cap_names.h: _makenames - ./_makenames > cap_names.h -@@ -105,10 +106,10 @@ $(PSXLIBNAME) $(MAJPSXLIBNAME) $(MINPSXLIBNAME): $(PSXOBJS) include/sys/psx_sysc - endif - - %.o: %.c $(INCLS) -- $(CC) $(CFLAGS) $(IPATH) -c $< -o $@ -+ $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@ - - cap_text.o: cap_text.c $(USE_GPERF_OUTPUT) $(INCLS) -- $(CC) $(CFLAGS) $(IPATH) $(INCLUDE_GPERF_OUTPUT) -c $< -o $@ -+ $(CC) $(CFLAGS) $(CPPFLAGS) $(INCLUDE_GPERF_OUTPUT) -c $< -o $@ - - cap_test: cap_test.c libcap.h - $(CC) $(CFLAGS) $(IPATH) $< -o $@ ---- a/pam_cap/Makefile -+++ b/pam_cap/Makefile -@@ -3,6 +3,8 @@ - topdir=$(shell pwd)/.. - include ../Make.Rules - -+CFLAGS += -fPIC -+ - all: pam_cap.so - $(MAKE) testlink - -@@ -16,16 +18,16 @@ install: all - # written (and you know why it fails), email me and explain why. Thanks! - - pam_cap.so: pam_cap.o -- $(LD) -o pam_cap.so $< $(LIBCAPLIB) $(LDFLAGS) -+ $(LD) $(CFLAGS) -o pam_cap.so $< $(LIBCAPLIB) $(LDFLAGS) - - pam_cap.o: pam_cap.c -- $(CC) $(CFLAGS) $(IPATH) -c $< -o $@ -+ $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@ - - test_pam_cap: test_pam_cap.c pam_cap.c - $(CC) $(CFLAGS) $(IPATH) -o $@ test_pam_cap.c $(LIBCAPLIB) $(LDFLAGS) --static - - testlink: test.c pam_cap.o -- $(CC) $(CFLAGS) -o $@ $+ -lpam -ldl $(LIBCAPLIB) $(LDFLAGS) -+ $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $+ -lpam -ldl $(LIBCAPLIB) $(LDFLAGS) - - test: pam_cap.so - make testlink ---- a/progs/Makefile -+++ b/progs/Makefile -@@ -28,7 +28,7 @@ $(BUILD): %: %.o $(DEPS) - $(CC) $(CFLAGS) -o $@ $< $(LIBCAPLIB) $(LDFLAGS) - - %.o: %.c $(INCS) -- $(CC) $(IPATH) $(CAPSH_SHELL) $(CFLAGS) -c $< -o $@ -+ $(CC) $(CAPSH_SHELL) $(CFLAGS) $(CPPFLAGS) -c $< -o $@ - - install: all - mkdir -p -m 0755 $(FAKEROOT)$(SBINDIR) ---- a/tests/Makefile -+++ b/tests/Makefile -@@ -13,6 +13,8 @@ ifeq ($(PTHREADS),yes) - make psx_test libcap_psx_test libcap_psx_launch_test - endif - -+CFLAGS += -fPIC -+ - install: all - - ifeq ($(DYNAMIC),yes) -@@ -62,13 +64,13 @@ run_psx_test: psx_test - ./psx_test - - psx_test: psx_test.c $(DEPS) -- $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LINKEXTRA) $(LIBPSXLIB) $(LDFLAGS) -+ $(CC) $(CFLAGS) $(CPPFLAGS) $< -o $@ $(LINKEXTRA) $(LIBPSXLIB) $(LDFLAGS) - - run_libcap_psx_test: libcap_psx_test - ./libcap_psx_test - - libcap_psx_test: libcap_psx_test.c $(DEPS) -- $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LINKEXTRA) $(LIBCAPLIB) $(LIBPSXLIB) $(LDFLAGS) -+ $(CC) $(CFLAGS) $(CPPFLAGS) $< -o $@ $(LINKEXTRA) $(LIBCAPLIB) $(LIBPSXLIB) $(LDFLAGS) - - # privileged - run_libcap_launch_test: libcap_launch_test noop ../progs/tcapsh-static diff --git a/sys-libs/libcap/files/libcap-2.61-Wformat.patch b/sys-libs/libcap/files/libcap-2.61-Wformat.patch deleted file mode 100644 index e0046de5877..00000000000 --- a/sys-libs/libcap/files/libcap-2.61-Wformat.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 9fd3e7ac5870f84c73ac777d9a14480227ad7f00 Mon Sep 17 00:00:00 2001 -From: David Seifert <soap@gentoo.org> -Date: Sun, 28 Nov 2021 14:14:42 +0100 -Subject: [PATCH] Fix `-Wformat` on 32-bit platforms - ---- - libcap/cap_test.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libcap/cap_test.c b/libcap/cap_test.c -index b7fb2c5..39df261 100644 ---- a/libcap/cap_test.c -+++ b/libcap/cap_test.c -@@ -124,7 +124,7 @@ static int test_short_bits(void) - } - if (strlen(tmp) > __CAP_NAME_SIZE) { - printf("cap_to_text buffer size reservation needs fixing (%ld > %d)\n", -- strlen(tmp), __CAP_NAME_SIZE); -+ (long int)strlen(tmp), __CAP_NAME_SIZE); - result = -1; - } - free(tmp); --- -2.34.1 - diff --git a/sys-libs/libcap/files/libcap-2.61-no_perl.patch b/sys-libs/libcap/files/libcap-2.61-no_perl.patch deleted file mode 100644 index 3d42a4dc613..00000000000 --- a/sys-libs/libcap/files/libcap-2.61-no_perl.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 3f76418eaf73896489129c529fac021e4f3a03c0 Mon Sep 17 00:00:00 2001 -From: Mike Frysinger <vapier@gentoo.org> -Date: Wed, 21 Nov 2018 11:00:54 +0100 -Subject: [PATCH] use awk/sed instead of perl for creating header files - -More systems should have awk/sed than perl. - -Signed-off-by: Mike Frysinger <vapier@gentoo.org> - -Forward ported from libcap-2.22 to libcap-2.26 -and incorporated the gperf-3.1 fix provided by Mike Gilbert -<floppym@gentoo.org> -Forward ported from libcap-2.26 to libcap-2.28 -Forward ported from libcap-2.28 to libcap-2.38 - -Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> ---- a/libcap/Makefile -+++ b/libcap/Makefile -@@ -20,6 +20,8 @@ - - # Always build libcap sources this way: - CFLAGS += -fPIC -+AWK = awk -+SED = sed - - # The linker magic needed to build a dynamic library as independently - # executable -@@ -82,8 +84,18 @@ - ./_makenames > cap_names.h - - $(GPERF_OUTPUT): cap_names.list.h -- perl -e 'print "struct __cap_token_s { const char *name; int index; };\n%{\nconst struct __cap_token_s *__cap_lookup_name(const char *, size_t);\n%}\n%%\n"; while ($$l = <>) { $$l =~ s/[\{\"]//g; $$l =~ s/\}.*// ; print $$l; }' < $< | gperf --ignore-case --language=ANSI-C --readonly --null-strings --global-table --hash-function-name=__cap_hash_name --lookup-function-name="__cap_lookup_name" -c -t -m20 $(INDENT) > $@ -- sed -e 's/unsigned int len/size_t len/' -i $@ -+ (printf "%b" "struct __cap_token_s { const char *name; int index; };\n%%\n"; \ -+ $(SED) -e 's:["{}]::g' -e 's:,$$::' $<) | \ -+ gperf \ -+ --ignore-case \ -+ --language=ANSI-C \ -+ --includes \ -+ --readonly \ -+ --null-strings \ -+ --global-table \ -+ --hash-function-name=__cap_hash_name \ -+ --lookup-function-name="__cap_lookup_name" \ -+ -c -t -m20 $(INDENT) > $@ - - # Intention is that libcap keeps up with torvalds' tree, as reflected - # by this maintained version of the kernel header. libcap dynamically -@@ -92,7 +104,7 @@ - UAPI_HEADER := $(topdir)/libcap/include/uapi/linux/capability.h - cap_names.list.h: Makefile $(UAPI_HEADER) - @echo "=> making $@ from $(UAPI_HEADER)" -- perl -e 'while ($$l=<>) { if ($$l =~ /^\#define[ \t](CAP[_A-Z]+)[ \t]+([0-9]+)\s+$$/) { $$tok=$$1; $$val=$$2; $$tok =~ tr/A-Z/a-z/; print "{\"$$tok\",$$val},\n"; } }' $(UAPI_HEADER) | fgrep -v 0x > $@ -+ $(AWK) '($$0 ~ /^#define[[:space:]]+CAP[_A-Z]+[[:space:]]+[0-9]+[[:space:]]*$$/) { printf "{\"%s\",%s},\n", tolower($$2), $$3 }' $(UAPI_HEADER) > $@ - - $(STACAPLIBNAME): $(CAPOBJS) - $(AR) rcs $@ $^ diff --git a/sys-libs/libcap/files/libcap-2.61-ignore-RAISE_SETFCAP-install-failures.patch b/sys-libs/libcap/files/libcap-2.62-ignore-RAISE_SETFCAP-install-failures.patch index 25f853b2a98..04c59357c45 100644 --- a/sys-libs/libcap/files/libcap-2.61-ignore-RAISE_SETFCAP-install-failures.patch +++ b/sys-libs/libcap/files/libcap-2.62-ignore-RAISE_SETFCAP-install-failures.patch @@ -11,9 +11,11 @@ Signed-off-by: Mike Frysinger <vapier@gentoo.org> Forward ported from libcap-2.20 to libcap-2.25 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> +diff --git a/progs/Makefile b/progs/Makefile +index 2cb7520..6d417de 100644 --- a/progs/Makefile +++ b/progs/Makefile -@@ -39,7 +39,7 @@ +@@ -39,7 +39,7 @@ install: all install -m 0755 $$p $(FAKEROOT)$(SBINDIR) ; \ done ifeq ($(RAISE_SETFCAP),yes) diff --git a/sys-libs/libcap/libcap-2.61.ebuild b/sys-libs/libcap/libcap-2.63.ebuild index ad5ca82adcb..6b719a0438d 100644 --- a/sys-libs/libcap/libcap-2.61.ebuild +++ b/sys-libs/libcap/libcap-2.63.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,7 @@ if [[ ${PV} == *9999 ]]; then else SRC_URI="https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" fi DESCRIPTION="POSIX 1003.1e capabilities" @@ -31,14 +31,12 @@ BDEPEND=" sys-apps/diffutils tools? ( dev-lang/go )" +QA_FLAGS_IGNORED="sbin/captree" # go binaries don't use LDFLAGS + PATCHES=( - "${FILESDIR}"/${PN}-2.61-no_perl.patch - "${FILESDIR}"/${PN}-2.61-ignore-RAISE_SETFCAP-install-failures.patch - "${FILESDIR}"/${PN}-2.61-Wformat.patch + "${FILESDIR}"/${PN}-2.62-ignore-RAISE_SETFCAP-install-failures.patch ) -QA_FLAGS_IGNORED="sbin/captree" # go binaries don't use LDFLAGS - src_prepare() { default multilib_copy_sources diff --git a/sys-libs/libcap/libcap-2.49-r1.ebuild b/sys-libs/libcap/libcap-2.64.ebuild index 993d6f47b1c..264d6b5c9a5 100644 --- a/sys-libs/libcap/libcap-2.49-r1.ebuild +++ b/sys-libs/libcap/libcap-2.64.ebuild @@ -1,34 +1,40 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 inherit multilib-minimal toolchain-funcs pam usr-ldscript +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/libcap/libcap.git" +else + SRC_URI="https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/${P}.tar.xz" + + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" +fi + DESCRIPTION="POSIX 1003.1e capabilities" HOMEPAGE="https://sites.google.com/site/fullycapable/" -SRC_URI="https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/${P}.tar.xz" # it's available under either of the licenses LICENSE="|| ( GPL-2 BSD )" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" -IUSE="pam static-libs" +IUSE="pam static-libs tools" # While the build system optionally uses gperf, we don't DEPEND on it because # the build automatically falls back when it's unavailable. #604802 PDEPEND="pam? ( sys-libs/pam[${MULTILIB_USEDEP}] )" DEPEND="${PDEPEND} sys-kernel/linux-headers" +BDEPEND=" + sys-apps/diffutils + tools? ( dev-lang/go )" -# Requires test suite being run as root (via sudo) -RESTRICT="test" +QA_FLAGS_IGNORED="sbin/captree" # go binaries don't use LDFLAGS PATCHES=( - "${FILESDIR}"/${PN}-2.48-build-system-fixes.patch - "${FILESDIR}"/${PN}-2.38-no_perl.patch - "${FILESDIR}"/${PN}-2.25-ignore-RAISE_SETFCAP-install-failures.patch - "${FILESDIR}"/${PN}-2.21-include.patch + "${FILESDIR}"/${PN}-2.62-ignore-RAISE_SETFCAP-install-failures.patch ) src_prepare() { @@ -38,22 +44,22 @@ src_prepare() { run_emake() { local args=( + AR="$(tc-getAR)" + CC="$(tc-getCC)" + OBJCOPY="$(tc-getOBJCOPY)" + RANLIB="$(tc-getRANLIB)" exec_prefix="${EPREFIX}" lib_prefix="${EPREFIX}/usr" lib="$(get_libdir)" prefix="${EPREFIX}/usr" PAM_CAP="$(usex pam yes no)" DYNAMIC=yes - GOLANG=no - CC="$(tc-getCC)" - AR="$(tc-getAR)" - RANLIB="$(tc-getRANLIB)" + GOLANG="$(multilib_native_usex tools yes no)" ) emake "${args[@]}" "$@" } src_configure() { - tc-export AR CC RANLIB tc-export_build_env BUILD_CC multilib-minimal_src_configure } @@ -62,6 +68,10 @@ multilib_src_compile() { run_emake } +multilib_src_test() { + run_emake test +} + multilib_src_install() { # no configure, needs explicit install line #444724#c3 run_emake DESTDIR="${D}" install @@ -72,9 +82,8 @@ multilib_src_install() { rm "${ED}"/usr/$(get_libdir)/lib{cap,psx}.a || die fi - if [[ -d "${ED}"/usr/$(get_libdir)/security ]] ; then - rm -r "${ED}"/usr/$(get_libdir)/security || die - fi + # install pam plugins ourselves + rm -rf "${ED}"/usr/$(get_libdir)/security || die if use pam ; then dopammod pam_cap/pam_cap.so diff --git a/sys-libs/libcap/libcap-9999.ebuild b/sys-libs/libcap/libcap-9999.ebuild index 969f9d0aaac..b155f384641 100644 --- a/sys-libs/libcap/libcap-9999.ebuild +++ b/sys-libs/libcap/libcap-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,7 @@ if [[ ${PV} == *9999 ]]; then else SRC_URI="https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~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" fi DESCRIPTION="POSIX 1003.1e capabilities" diff --git a/sys-libs/libchipcard/libchipcard-5.1.5_rc2.ebuild b/sys-libs/libchipcard/libchipcard-5.1.5_rc2.ebuild index d7a4578bb9f..c92ae21b062 100644 --- a/sys-libs/libchipcard/libchipcard-5.1.5_rc2.ebuild +++ b/sys-libs/libchipcard/libchipcard-5.1.5_rc2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,7 @@ SRC_URI="https://www.aquamaniac.de/rdm/attachments/download/229/${MY_P}.tar.gz" LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="amd64 ~arm64 ~hppa ~ppc ~ppc64 ~sparc x86" +KEYWORDS="amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc x86" IUSE="doc examples" BDEPEND=" diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest index 3e1261de5ed..71665503489 100644 --- a/sys-libs/libcxx/Manifest +++ b/sys-libs/libcxx/Manifest @@ -1,9 +1,9 @@ -DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249 -DIST llvm-gentoo-patchset-13.0.0.tar.xz 5012 BLAKE2B 6760c78c086aaf6629143fd920b0a2c68cad9278628fbea8164dfeb59db95984a5b5d6b3505b510c697e8c95bf8d2be782c6b73c01622d52f2da9b07ecff39e0 SHA512 7764d49343b795b6bebae64f646ba27e3e6cc2a20b8a1aee645ce0d8474633c34acfbb73c08546fee415755dd4ea5a98c1d84db5e394cf5f4fc802eb61148ab6 -DIST llvm-gentoo-patchset-13.0.1-rc1.tar.xz 5988 BLAKE2B 8f1d295d4b6937518d9e0cc00cc2ba9e12ff9773b35261f0985b2d2a4ed1e3363a7f961cb385728b5ae552d0e129d99d11e63958d32c3353b0a79a88ba5cc0d5 SHA512 8272c423a5e0e99d412bb449794ba2e8134aca69d09e90e93555dbd3b7549d6ce4d68617ca11074af0a35a6f6830bf0330cbc672c5a56054cfd824e3ac1900ea +DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01 +DIST llvm-gentoo-patchset-14.0.1.tar.xz 4724 BLAKE2B 2689298c687fa8b5fa2545afccc248c00ff6778f1a14e3e7999e5d52a1b0b9c3b2e66e8c008e27c62c6c3c08009dc7d9d083ca53698138258ac972e4ad03c042 SHA512 a9f071ad0a792f558105a64790f9e470d8aaed05bd1baabbe86539760c881f772602a03265e0962d8599f991f7fd44d14a49e2ef9d74bb5eb283f473f4084d32 +DIST llvm-gentoo-patchset-14.0.3.tar.xz 5492 BLAKE2B 48a46d50a81c5572d1573c6923bc404b198f74ee8587a928e0858553dac37f7fa39cc969d72b938ef3d2f04f6872f9e2e2478821ab90c657ecbbacb3f7d99d7a SHA512 b917b549de6d46cd7aab3e59b888b5e5ffb955435b33d6538be2f31dc30217a24740a673cb6bb661087c245121edb079052b179badaf70b86b985ca69b3652a6 DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc -DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81 DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1 -DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2 -DIST llvmorg-13.0.1-rc1.tar.gz 147284646 BLAKE2B 3a1d8d382de633b7f8fc998f8ad1e03c24b733aefc591615cbd34115d1d6d74962ae33bbf2224527b521a76930ffee425527225563a558a04173e9aa9487c781 SHA512 d487bfc9b898ad0046e0c94338d7757d8a05a1a84d683abfbc9ed4994c6d12caf88fd18575225e284070fc67b3ac0970ca6639e61b1a7cc2948b216a5364a22d +DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f +DIST llvmorg-14.0.1.tar.gz 158074615 BLAKE2B bf80366461580058494eb101646efcd1a8b55a66818a710c2eb8c649bf88c02fe4552cecf4c1c8637a64e7cee8d644bca31aafc804765ed18f2b5e2975dd6c92 SHA512 0a15aa9cfc978a7b03a1659a2affad65ede66d280f5c12bf0beaaf194cd7bdd57ff438b5f40e64c1e1b88f368de99be349e9d30b544d2bbe4a50f0ebed3307f2 +DIST llvmorg-14.0.3.tar.gz 158092596 BLAKE2B ef901df510ec6bc1242595ec330e9c9ee76e696b077d67a8d62b53608c3d18b2f2d7ea3150864e13d9b37a8ce899ebca946ebe72cbc4538700176e20859ddec2 SHA512 511e93fd9b1c414c38fe9e2649679ac0b16cb04f7f7838569d187b04c542a185e364d6db73e96465026e3b2533649eb75ac95507d12514af32b28bdfb66f2646 diff --git a/sys-libs/libcxx/libcxx-11.1.0.ebuild b/sys-libs/libcxx/libcxx-11.1.0.ebuild deleted file mode 100644 index 16172647c29..00000000000 --- a/sys-libs/libcxx/libcxx-11.1.0.ebuild +++ /dev/null @@ -1,211 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -CMAKE_ECLASS=cmake -PYTHON_COMPAT=( python3_{7..9} ) -inherit cmake-multilib llvm llvm.org python-any-r1 toolchain-funcs - -DESCRIPTION="New implementation of the C++ standard library, targeting C++11" -HOMEPAGE="https://libcxx.llvm.org/" - -LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~riscv x86 ~x64-macos" -IUSE="elibc_glibc elibc_musl +libcxxabi +libunwind static-libs test" -REQUIRED_USE="libunwind? ( libcxxabi )" -RESTRICT="!test? ( test )" - -RDEPEND=" - libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] ) - !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] )" -# llvm-6 for new lit options -# clang-3.9.0 installs necessary target symlinks unconditionally -# which removes the need for MULTILIB_USEDEP -DEPEND="${RDEPEND} - >=sys-devel/llvm-6" -BDEPEND=" - test? ( - >=dev-util/cmake-3.16 - >=sys-devel/clang-3.9.0 - $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') - )" - -DOCS=( CREDITS.TXT ) - -LLVM_COMPONENTS=( libcxx{,abi} llvm/{cmake/modules,utils/llvm-lit} ) -LLVM_PATCHSET=11.1.0-1 -llvm.org_set_globals - -python_check_deps() { - has_version "dev-python/lit[${PYTHON_USEDEP}]" -} - -pkg_setup() { - # Darwin Prefix builds do not have llvm installed yet, so rely on - # bootstrap-prefix to set the appropriate path vars to LLVM instead - # of using llvm_pkg_setup. - if [[ ${CHOST} != *-darwin* ]] || has_version dev-lang/llvm; then - llvm_pkg_setup - fi - use test && python-any-r1_pkg_setup - - if ! use libcxxabi && ! tc-is-gcc ; then - eerror "To build ${PN} against libsupc++, you have to use gcc. Other" - eerror "compilers are not supported. Please set CC=gcc and CXX=g++" - eerror "and try again." - die - fi -} - -test_compiler() { - $(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \ - <<<'int main() { return 0; }' &>/dev/null -} - -src_configure() { - # note: we need to do this before multilib kicks in since it will - # alter the CHOST - local cxxabi cxxabi_incs - if use libcxxabi; then - cxxabi=libcxxabi - cxxabi_incs="${EPREFIX}/usr/include/libcxxabi" - else - local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)" - cxxabi=libsupc++ - cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}" - fi - - multilib-minimal_src_configure -} - -multilib_src_configure() { - # we want -lgcc_s for unwinder, and for compiler runtime when using - # gcc, clang with gcc runtime (or any unknown compiler) - local extra_libs=() want_gcc_s=ON want_compiler_rt=OFF - if use libunwind; then - # work-around missing -lunwind upstream - extra_libs+=( -lunwind ) - # if we're using libunwind and clang with compiler-rt, we want - # to link to compiler-rt instead of -lgcc_s - if tc-is-clang; then - local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \ - ${LDFLAGS} -print-libgcc-file-name) - if [[ ${compiler_rt} == *libclang_rt* ]]; then - want_gcc_s=OFF - want_compiler_rt=ON - extra_libs+=( "${compiler_rt}" ) - fi - fi - elif [[ ${CHOST} == *-darwin* ]] && tc-is-clang; then - # clang-based darwin prefix disables libunwind useflag during - # bootstrap, because libunwind is not in the prefix yet. - # override the default, though, because clang based libcxx - # should never use gcc_s on Darwin. - want_gcc_s=OFF - # compiler_rt is not available in EPREFIX during bootstrap, - # so we cannot link to it yet anyway, so keep the defaults - # of want_compiler_rt=OFF and extra_libs=() - fi - - # bootstrap: cmake is unhappy if compiler can't link to stdlib - local nolib_flags=( -nodefaultlibs -lc ) - if ! test_compiler; then - if test_compiler "${nolib_flags[@]}"; then - local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" - ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}" - fi - fi - - local libdir=$(get_libdir) - local mycmakeargs=( - -DLIBCXX_LIBDIR_SUFFIX=${libdir#lib} - -DLIBCXX_ENABLE_SHARED=ON - -DLIBCXX_ENABLE_STATIC=$(usex static-libs) - -DLIBCXX_CXX_ABI=${cxxabi} - -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs} - # we're using our own mechanism for generating linker scripts - -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF - -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) - -DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s} - -DLIBCXX_INCLUDE_TESTS=$(usex test) - -DLIBCXX_USE_COMPILER_RT=${want_compiler_rt} - -DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}" - ) - - if use test; then - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" - - mycmakeargs+=( - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}" - -DPython3_EXECUTABLE="${PYTHON}" - ) - fi - cmake_src_configure -} - -multilib_src_test() { - local -x LIT_PRESERVES_TMP=1 - cmake_build check-cxx -} - -# Usage: deps -gen_ldscript() { - local output_format - output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p') - [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )" - - cat <<-END_LDSCRIPT -/* GNU ld script - Include missing dependencies -*/ -${output_format} -GROUP ( $@ ) -END_LDSCRIPT -} - -gen_static_ldscript() { - local libdir=$(get_libdir) - local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "libsupc++.a") - - # Move it first. - mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die - # Generate libc++.a ldscript for inclusion of its dependencies so that - # clang++ -stdlib=libc++ -static works out of the box. - local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)" - # On Linux/glibc it does not link without libpthread or libdl. It is - # fine on FreeBSD. - use elibc_glibc && deps+=" libpthread.a libdl.a" - - gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die -} - -gen_shared_ldscript() { - local libdir=$(get_libdir) - # libsupc++ doesn't have a shared version - local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "libsupc++.a") - - mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die - local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)" - - gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die -} - -multilib_src_install() { - cmake_src_install - if [[ ${CHOST} != *-darwin* ]] ; then - gen_shared_ldscript - use static-libs && gen_static_ldscript - fi -} - -pkg_postinst() { - elog "This package (${PN}) is mainly intended as a replacement for the C++" - elog "standard library when using clang." - elog "To use it, instead of libstdc++, use:" - elog " clang++ -stdlib=libc++" - elog "to compile your C++ programs." -} diff --git a/sys-libs/libcxx/libcxx-12.0.1.ebuild b/sys-libs/libcxx/libcxx-12.0.1.ebuild index 32d4aa2d1da..32417c01286 100644 --- a/sys-libs/libcxx/libcxx-12.0.1.ebuild +++ b/sys-libs/libcxx/libcxx-12.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -13,7 +13,7 @@ HOMEPAGE="https://libcxx.llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" KEYWORDS="amd64 arm arm64 ~riscv x86 ~x64-macos" -IUSE="elibc_glibc elibc_musl +libcxxabi +libunwind static-libs test" +IUSE="+libcxxabi +libunwind static-libs test" REQUIRED_USE="libunwind? ( libcxxabi )" RESTRICT="!test? ( test )" diff --git a/sys-libs/libcxx/libcxx-13.0.0.ebuild b/sys-libs/libcxx/libcxx-13.0.1.ebuild index 851870fd9e9..9720629f1af 100644 --- a/sys-libs/libcxx/libcxx-13.0.0.ebuild +++ b/sys-libs/libcxx/libcxx-13.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -13,7 +13,7 @@ HOMEPAGE="https://libcxx.llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" KEYWORDS="amd64 arm arm64 ~riscv x86 ~x64-macos" -IUSE="elibc_glibc elibc_musl +libcxxabi +libunwind static-libs test" +IUSE="+libcxxabi +libunwind static-libs test" REQUIRED_USE="libunwind? ( libcxxabi )" RESTRICT="!test? ( test )" @@ -29,6 +29,7 @@ BDEPEND=" test? ( >=dev-util/cmake-3.16 >=sys-devel/clang-3.9.0 + sys-devel/gdb[python] $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" diff --git a/sys-libs/libcxx/libcxx-13.0.1_rc1.ebuild b/sys-libs/libcxx/libcxx-14.0.1.ebuild index f8fd0e12683..ddd39dc817b 100644 --- a/sys-libs/libcxx/libcxx-13.0.1_rc1.ebuild +++ b/sys-libs/libcxx/libcxx-14.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -12,8 +12,8 @@ HOMEPAGE="https://libcxx.llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" -KEYWORDS="" -IUSE="elibc_glibc elibc_musl +libcxxabi +libunwind static-libs test" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~x64-macos" +IUSE="+libcxxabi +libunwind static-libs test" REQUIRED_USE="libunwind? ( libcxxabi )" RESTRICT="!test? ( test )" @@ -26,19 +26,20 @@ RDEPEND=" DEPEND="${RDEPEND} >=sys-devel/llvm-6" BDEPEND=" + ${PYTHON_DEPS} test? ( >=dev-util/cmake-3.16 >=sys-devel/clang-3.9.0 + sys-devel/gdb[python] $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" -DOCS=( CREDITS.TXT ) - -LLVM_COMPONENTS=( libcxx{,abi} llvm/{cmake,utils/llvm-lit} ) +LLVM_COMPONENTS=( runtimes libcxx{,abi} llvm/{cmake,utils/llvm-lit} cmake ) LLVM_PATCHSET=${PV/_/-} llvm.org_set_globals python_check_deps() { + use test || return 0 has_version "dev-python/lit[${PYTHON_USEDEP}]" } @@ -49,7 +50,7 @@ pkg_setup() { if [[ ${CHOST} != *-darwin* ]] || has_version dev-lang/llvm; then llvm_pkg_setup fi - use test && python-any-r1_pkg_setup + python-any-r1_pkg_setup if ! use libcxxabi && ! tc-is-gcc ; then eerror "To build ${PN} against libsupc++, you have to use gcc. Other" @@ -69,7 +70,7 @@ src_configure() { # alter the CHOST local cxxabi cxxabi_incs if use libcxxabi; then - cxxabi=libcxxabi + cxxabi=system-libcxxabi cxxabi_incs="${EPREFIX}/usr/include/libcxxabi" else local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)" @@ -120,7 +121,11 @@ multilib_src_configure() { local libdir=$(get_libdir) local mycmakeargs=( - -DLIBCXX_LIBDIR_SUFFIX=${libdir#lib} + -DPython3_EXECUTABLE="${PYTHON}" + -DLLVM_ENABLE_RUNTIMES=libcxx + -DLLVM_INCLUDE_TESTS=OFF + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + -DLIBCXX_ENABLE_SHARED=ON -DLIBCXX_ENABLE_STATIC=$(usex static-libs) -DLIBCXX_CXX_ABI=${cxxabi} @@ -129,6 +134,7 @@ multilib_src_configure() { -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) -DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s} + -DLIBCXX_INCLUDE_BENCHMARKS=OFF -DLIBCXX_INCLUDE_TESTS=$(usex test) -DLIBCXX_USE_COMPILER_RT=${want_compiler_rt} -DLIBCXX_HAS_ATOMIC_LIB=${want_gcc_s} diff --git a/sys-libs/libcxx/libcxx-14.0.0.9999.ebuild b/sys-libs/libcxx/libcxx-14.0.3.ebuild index be5566afa3b..4d6be5bcc7f 100644 --- a/sys-libs/libcxx/libcxx-14.0.0.9999.ebuild +++ b/sys-libs/libcxx/libcxx-14.0.3.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 CMAKE_ECLASS=cmake PYTHON_COMPAT=( python3_{8..10} ) @@ -12,33 +12,42 @@ HOMEPAGE="https://libcxx.llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" -KEYWORDS="" -IUSE="elibc_glibc elibc_musl +libcxxabi +libunwind static-libs test" -REQUIRED_USE="libunwind? ( libcxxabi )" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~x64-macos" +IUSE="+libcxxabi +libunwind static-libs test" RESTRICT="!test? ( test )" +REQUIRED_USE="libunwind? ( libcxxabi )" RDEPEND=" - libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] ) - !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] )" + libcxxabi? ( + ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] + ) + !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] ) +" # llvm-6 for new lit options # clang-3.9.0 installs necessary target symlinks unconditionally # which removes the need for MULTILIB_USEDEP -DEPEND="${RDEPEND} - >=sys-devel/llvm-6" +DEPEND=" + ${RDEPEND} + >=sys-devel/llvm-6 +" BDEPEND=" + !test? ( + ${PYTHON_DEPS} + ) test? ( >=dev-util/cmake-3.16 >=sys-devel/clang-3.9.0 + sys-devel/gdb[python] $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') - )" - -DOCS=( CREDITS.TXT ) + ) +" -LLVM_COMPONENTS=( libcxx{,abi} llvm/{cmake,utils/llvm-lit} ) -LLVM_PATCHSET=9999-1 +LLVM_COMPONENTS=( runtimes libcxx{,abi} llvm/{cmake,utils/llvm-lit} cmake ) +LLVM_PATCHSET=${PV} llvm.org_set_globals python_check_deps() { + use test || return 0 has_version "dev-python/lit[${PYTHON_USEDEP}]" } @@ -49,7 +58,7 @@ pkg_setup() { if [[ ${CHOST} != *-darwin* ]] || has_version dev-lang/llvm; then llvm_pkg_setup fi - use test && python-any-r1_pkg_setup + python-any-r1_pkg_setup if ! use libcxxabi && ! tc-is-gcc ; then eerror "To build ${PN} against libsupc++, you have to use gcc. Other" @@ -69,7 +78,7 @@ src_configure() { # alter the CHOST local cxxabi cxxabi_incs if use libcxxabi; then - cxxabi=libcxxabi + cxxabi=system-libcxxabi cxxabi_incs="${EPREFIX}/usr/include/libcxxabi" else local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)" @@ -120,7 +129,11 @@ multilib_src_configure() { local libdir=$(get_libdir) local mycmakeargs=( - -DLIBCXX_LIBDIR_SUFFIX=${libdir#lib} + -DPython3_EXECUTABLE="${PYTHON}" + -DLLVM_ENABLE_RUNTIMES=libcxx + -DLLVM_INCLUDE_TESTS=OFF + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + -DLIBCXX_ENABLE_SHARED=ON -DLIBCXX_ENABLE_STATIC=$(usex static-libs) -DLIBCXX_CXX_ABI=${cxxabi} @@ -129,6 +142,7 @@ multilib_src_configure() { -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) -DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s} + -DLIBCXX_INCLUDE_BENCHMARKS=OFF -DLIBCXX_INCLUDE_TESTS=$(usex test) -DLIBCXX_USE_COMPILER_RT=${want_compiler_rt} -DLIBCXX_HAS_ATOMIC_LIB=${want_gcc_s} diff --git a/sys-libs/libcxx/libcxx-13.0.1.9999.ebuild b/sys-libs/libcxx/libcxx-15.0.0.9999.ebuild index be5566afa3b..dcdce79b90b 100644 --- a/sys-libs/libcxx/libcxx-13.0.1.9999.ebuild +++ b/sys-libs/libcxx/libcxx-15.0.0.9999.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 CMAKE_ECLASS=cmake PYTHON_COMPAT=( python3_{8..10} ) @@ -13,32 +13,41 @@ HOMEPAGE="https://libcxx.llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" KEYWORDS="" -IUSE="elibc_glibc elibc_musl +libcxxabi +libunwind static-libs test" -REQUIRED_USE="libunwind? ( libcxxabi )" +IUSE="+libcxxabi +libunwind static-libs test" RESTRICT="!test? ( test )" +REQUIRED_USE="libunwind? ( libcxxabi )" RDEPEND=" - libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] ) - !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] )" + libcxxabi? ( + ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] + ) + !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] ) +" # llvm-6 for new lit options # clang-3.9.0 installs necessary target symlinks unconditionally # which removes the need for MULTILIB_USEDEP -DEPEND="${RDEPEND} - >=sys-devel/llvm-6" +DEPEND=" + ${RDEPEND} + >=sys-devel/llvm-6 +" BDEPEND=" + !test? ( + ${PYTHON_DEPS} + ) test? ( >=dev-util/cmake-3.16 >=sys-devel/clang-3.9.0 + sys-devel/gdb[python] $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') - )" - -DOCS=( CREDITS.TXT ) + ) +" -LLVM_COMPONENTS=( libcxx{,abi} llvm/{cmake,utils/llvm-lit} ) +LLVM_COMPONENTS=( runtimes libcxx{,abi} llvm/{cmake,utils/llvm-lit} cmake ) LLVM_PATCHSET=9999-1 llvm.org_set_globals python_check_deps() { + use test || return 0 has_version "dev-python/lit[${PYTHON_USEDEP}]" } @@ -49,7 +58,7 @@ pkg_setup() { if [[ ${CHOST} != *-darwin* ]] || has_version dev-lang/llvm; then llvm_pkg_setup fi - use test && python-any-r1_pkg_setup + python-any-r1_pkg_setup if ! use libcxxabi && ! tc-is-gcc ; then eerror "To build ${PN} against libsupc++, you have to use gcc. Other" @@ -69,7 +78,7 @@ src_configure() { # alter the CHOST local cxxabi cxxabi_incs if use libcxxabi; then - cxxabi=libcxxabi + cxxabi=system-libcxxabi cxxabi_incs="${EPREFIX}/usr/include/libcxxabi" else local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)" @@ -120,7 +129,11 @@ multilib_src_configure() { local libdir=$(get_libdir) local mycmakeargs=( - -DLIBCXX_LIBDIR_SUFFIX=${libdir#lib} + -DPython3_EXECUTABLE="${PYTHON}" + -DLLVM_ENABLE_RUNTIMES=libcxx + -DLLVM_INCLUDE_TESTS=OFF + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + -DLIBCXX_ENABLE_SHARED=ON -DLIBCXX_ENABLE_STATIC=$(usex static-libs) -DLIBCXX_CXX_ABI=${cxxabi} @@ -129,6 +142,7 @@ multilib_src_configure() { -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) -DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s} + -DLIBCXX_INCLUDE_BENCHMARKS=OFF -DLIBCXX_INCLUDE_TESTS=$(usex test) -DLIBCXX_USE_COMPILER_RT=${want_compiler_rt} -DLIBCXX_HAS_ATOMIC_LIB=${want_gcc_s} diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest index e08cd107ad6..bf3dff4f068 100644 --- a/sys-libs/libcxxabi/Manifest +++ b/sys-libs/libcxxabi/Manifest @@ -1,4 +1,4 @@ -DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81 DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1 -DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2 -DIST llvmorg-13.0.1-rc1.tar.gz 147284646 BLAKE2B 3a1d8d382de633b7f8fc998f8ad1e03c24b733aefc591615cbd34115d1d6d74962ae33bbf2224527b521a76930ffee425527225563a558a04173e9aa9487c781 SHA512 d487bfc9b898ad0046e0c94338d7757d8a05a1a84d683abfbc9ed4994c6d12caf88fd18575225e284070fc67b3ac0970ca6639e61b1a7cc2948b216a5364a22d +DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f +DIST llvmorg-14.0.1.tar.gz 158074615 BLAKE2B bf80366461580058494eb101646efcd1a8b55a66818a710c2eb8c649bf88c02fe4552cecf4c1c8637a64e7cee8d644bca31aafc804765ed18f2b5e2975dd6c92 SHA512 0a15aa9cfc978a7b03a1659a2affad65ede66d280f5c12bf0beaaf194cd7bdd57ff438b5f40e64c1e1b88f368de99be349e9d30b544d2bbe4a50f0ebed3307f2 +DIST llvmorg-14.0.3.tar.gz 158092596 BLAKE2B ef901df510ec6bc1242595ec330e9c9ee76e696b077d67a8d62b53608c3d18b2f2d7ea3150864e13d9b37a8ce899ebca946ebe72cbc4538700176e20859ddec2 SHA512 511e93fd9b1c414c38fe9e2649679ac0b16cb04f7f7838569d187b04c542a185e364d6db73e96465026e3b2533649eb75ac95507d12514af32b28bdfb66f2646 diff --git a/sys-libs/libcxxabi/libcxxabi-11.1.0.ebuild b/sys-libs/libcxxabi/libcxxabi-11.1.0.ebuild deleted file mode 100644 index fa0f31dbb56..00000000000 --- a/sys-libs/libcxxabi/libcxxabi-11.1.0.ebuild +++ /dev/null @@ -1,123 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -CMAKE_ECLASS=cmake -PYTHON_COMPAT=( python3_{7..9} ) -inherit cmake-multilib llvm llvm.org python-any-r1 toolchain-funcs - -DESCRIPTION="Low level support for a standard C++ library" -HOMEPAGE="https://libcxxabi.llvm.org/" - -LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~riscv x86 ~x64-macos" -IUSE="+libunwind static-libs test elibc_musl" -RESTRICT="!test? ( test )" - -RDEPEND=" - libunwind? ( - || ( - >=sys-libs/libunwind-1.0.1-r1[static-libs?,${MULTILIB_USEDEP}] - >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}] - ) - )" -# llvm-6 for new lit options -DEPEND="${RDEPEND} - >=sys-devel/llvm-6" -BDEPEND=" - test? ( >=sys-devel/clang-3.9.0 - $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') - )" - -# libcxx is needed uncondtionally for the headers -LLVM_COMPONENTS=( libcxx{abi,} ) -LLVM_TEST_COMPONENTS=( llvm/cmake ) -llvm.org_set_globals - -python_check_deps() { - has_version "dev-python/lit[${PYTHON_USEDEP}]" -} - -pkg_setup() { - # darwin prefix builds do not have llvm installed yet, so rely on bootstrap-prefix - # to set the appropriate path vars to LLVM instead of using llvm_pkg_setup. - if [[ ${CHOST} != *-darwin* ]] || has_version dev-lang/llvm; then - llvm_pkg_setup - fi - use test && python-any-r1_pkg_setup -} - -multilib_src_configure() { - # link against compiler-rt instead of libgcc if we are using clang with libunwind - local want_compiler_rt=OFF - if use libunwind && tc-is-clang; then - local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \ - ${LDFLAGS} -print-libgcc-file-name) - if [[ ${compiler_rt} == *libclang_rt* ]]; then - want_compiler_rt=ON - fi - fi - - local libdir=$(get_libdir) - local mycmakeargs=( - -DLIBCXXABI_LIBDIR_SUFFIX=${libdir#lib} - -DLIBCXXABI_ENABLE_SHARED=ON - -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs) - -DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind) - -DLIBCXXABI_INCLUDE_TESTS=$(usex test) - -DLIBCXXABI_USE_COMPILER_RT=${want_compiler_rt} - - -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include - # upstream is omitting standard search path for this - # probably because gcc & clang are bundling their own unwind.h - -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include - ) - if use test; then - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" - - mycmakeargs+=( - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}" - -DPython3_EXECUTABLE="${PYTHON}" - ) - fi - cmake_src_configure -} - -build_libcxx() { - local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" - local CMAKE_USE_DIR=${WORKDIR}/libcxx - local BUILD_DIR=${BUILD_DIR}/libcxx - local mycmakeargs=( - -DLIBCXX_LIBDIR_SUFFIX= - -DLIBCXX_ENABLE_SHARED=OFF - -DLIBCXX_ENABLE_STATIC=ON - -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF - -DLIBCXX_CXX_ABI=libcxxabi - -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${S}"/include - -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF - -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) - -DLIBCXX_HAS_GCC_S_LIB=OFF - -DLIBCXX_INCLUDE_TESTS=OFF - ) - - cmake_src_configure - cmake_src_compile -} - -multilib_src_test() { - # build a local copy of libc++ for testing to avoid circular dep - build_libcxx - mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die - - local -x LIT_PRESERVES_TMP=1 - cmake_build check-cxxabi -} - -multilib_src_install_all() { - insinto /usr/include/libcxxabi - doins -r include/. -} diff --git a/sys-libs/libcxxabi/libcxxabi-12.0.1.ebuild b/sys-libs/libcxxabi/libcxxabi-12.0.1.ebuild index bb4a7e9ab18..a6a51a0b90b 100644 --- a/sys-libs/libcxxabi/libcxxabi-12.0.1.ebuild +++ b/sys-libs/libcxxabi/libcxxabi-12.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -13,7 +13,7 @@ HOMEPAGE="https://libcxxabi.llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" KEYWORDS="amd64 arm arm64 ~riscv x86 ~x64-macos" -IUSE="+libunwind static-libs test elibc_musl" +IUSE="+libunwind static-libs test" RESTRICT="!test? ( test )" RDEPEND=" diff --git a/sys-libs/libcxxabi/libcxxabi-13.0.0.ebuild b/sys-libs/libcxxabi/libcxxabi-13.0.1.ebuild index 628752042ee..690b4d4e268 100644 --- a/sys-libs/libcxxabi/libcxxabi-13.0.0.ebuild +++ b/sys-libs/libcxxabi/libcxxabi-13.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -13,7 +13,7 @@ HOMEPAGE="https://libcxxabi.llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" KEYWORDS="amd64 arm arm64 ~riscv x86 ~x64-macos" -IUSE="+libunwind static-libs test elibc_musl" +IUSE="+libunwind static-libs test" RESTRICT="!test? ( test )" RDEPEND=" diff --git a/sys-libs/libcxxabi/libcxxabi-14.0.0.9999.ebuild b/sys-libs/libcxxabi/libcxxabi-14.0.1.ebuild index 36ccca5e938..1598ec8868a 100644 --- a/sys-libs/libcxxabi/libcxxabi-14.0.0.9999.ebuild +++ b/sys-libs/libcxxabi/libcxxabi-14.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -12,8 +12,8 @@ HOMEPAGE="https://libcxxabi.llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" -KEYWORDS="" -IUSE="+libunwind static-libs test elibc_musl" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~x64-macos" +IUSE="+libunwind static-libs test" RESTRICT="!test? ( test )" RDEPEND=" @@ -27,14 +27,18 @@ RDEPEND=" DEPEND="${RDEPEND} >=sys-devel/llvm-6" BDEPEND=" - test? ( >=sys-devel/clang-3.9.0 + ${PYTHON_DEPS} + test? ( + >=sys-devel/clang-3.9.0 $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" -LLVM_COMPONENTS=( libcxx{abi,} llvm/cmake ) +LLVM_COMPONENTS=( runtimes libcxx{abi,} llvm/cmake cmake ) +LLVM_TEST_COMPONENTS=( llvm/utils/llvm-lit ) llvm.org_set_globals python_check_deps() { + use test || return 0 has_version "dev-python/lit[${PYTHON_USEDEP}]" } @@ -44,14 +48,10 @@ pkg_setup() { if [[ ${CHOST} != *-darwin* ]] || has_version dev-lang/llvm; then llvm_pkg_setup fi - use test && python-any-r1_pkg_setup + python-any-r1_pkg_setup } multilib_src_configure() { - # we need a configured libc++ for __config_site - wrap_libcxx cmake_src_configure - wrap_libcxx cmake_build generate-cxx-headers - # link against compiler-rt instead of libgcc if we are using clang with libunwind local want_compiler_rt=OFF if use libunwind && tc-is-clang; then @@ -64,18 +64,33 @@ multilib_src_configure() { local libdir=$(get_libdir) local mycmakeargs=( - -DLIBCXXABI_LIBDIR_SUFFIX=${libdir#lib} + -DPython3_EXECUTABLE="${PYTHON}" + -DLLVM_ENABLE_RUNTIMES="libcxxabi;libcxx" + -DLLVM_INCLUDE_TESTS=OFF + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} -DLIBCXXABI_ENABLE_SHARED=ON -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs) - -DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind) -DLIBCXXABI_INCLUDE_TESTS=$(usex test) + -DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind) -DLIBCXXABI_USE_COMPILER_RT=${want_compiler_rt} - -DLIBCXXABI_LIBCXX_INCLUDES="${BUILD_DIR}"/libcxx/include/c++/v1 # upstream is omitting standard search path for this # probably because gcc & clang are bundling their own unwind.h -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include -DLIBCXXABI_TARGET_TRIPLE="${CHOST}" + + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=OFF + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/include + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_BENCHMARKS=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + -DLIBCXX_TARGET_TRIPLE="${CHOST}" ) if use test; then local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) @@ -90,36 +105,20 @@ multilib_src_configure() { cmake_src_configure } -wrap_libcxx() { - local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" - local CMAKE_USE_DIR=${WORKDIR}/libcxx - local BUILD_DIR=${BUILD_DIR}/libcxx - local mycmakeargs=( - -DLIBCXX_LIBDIR_SUFFIX= - -DLIBCXX_ENABLE_SHARED=OFF - -DLIBCXX_ENABLE_STATIC=ON - -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF - -DLIBCXX_CXX_ABI=libcxxabi - -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${S}"/include - -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF - -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) - -DLIBCXX_HAS_GCC_S_LIB=OFF - -DLIBCXX_INCLUDE_TESTS=OFF - -DLIBCXX_TARGET_TRIPLE="${CHOST}" - ) - - "${@}" +multilib_src_compile() { + cmake_build cxxabi } multilib_src_test() { - wrap_libcxx cmake_src_compile - mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die - local -x LIT_PRESERVES_TMP=1 cmake_build check-cxxabi } +multilib_src_install() { + DESTDIR="${D}" cmake_build install-cxxabi +} + multilib_src_install_all() { insinto /usr/include/libcxxabi - doins -r include/. + doins -r "${WORKDIR}"/libcxxabi/include/. } diff --git a/sys-libs/libcxxabi/libcxxabi-13.0.1_rc1.ebuild b/sys-libs/libcxxabi/libcxxabi-14.0.3.ebuild index 36ccca5e938..7d864cba362 100644 --- a/sys-libs/libcxxabi/libcxxabi-13.0.1_rc1.ebuild +++ b/sys-libs/libcxxabi/libcxxabi-14.0.3.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 CMAKE_ECLASS=cmake PYTHON_COMPAT=( python3_{8..10} ) @@ -12,8 +12,8 @@ HOMEPAGE="https://libcxxabi.llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" -KEYWORDS="" -IUSE="+libunwind static-libs test elibc_musl" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~x64-macos" +IUSE="+libunwind static-libs test" RESTRICT="!test? ( test )" RDEPEND=" @@ -22,19 +22,29 @@ RDEPEND=" >=sys-libs/libunwind-1.0.1-r1[static-libs?,${MULTILIB_USEDEP}] >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}] ) - )" + ) +" # llvm-6 for new lit options -DEPEND="${RDEPEND} - >=sys-devel/llvm-6" +DEPEND=" + ${RDEPEND} + >=sys-devel/llvm-6 +" BDEPEND=" - test? ( >=sys-devel/clang-3.9.0 + !test? ( + ${PYTHON_DEPS} + ) + test? ( + >=sys-devel/clang-3.9.0 $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') - )" + ) +" -LLVM_COMPONENTS=( libcxx{abi,} llvm/cmake ) +LLVM_COMPONENTS=( runtimes libcxx{abi,} llvm/cmake cmake ) +LLVM_TEST_COMPONENTS=( llvm/utils/llvm-lit ) llvm.org_set_globals python_check_deps() { + use test || return 0 has_version "dev-python/lit[${PYTHON_USEDEP}]" } @@ -44,14 +54,10 @@ pkg_setup() { if [[ ${CHOST} != *-darwin* ]] || has_version dev-lang/llvm; then llvm_pkg_setup fi - use test && python-any-r1_pkg_setup + python-any-r1_pkg_setup } multilib_src_configure() { - # we need a configured libc++ for __config_site - wrap_libcxx cmake_src_configure - wrap_libcxx cmake_build generate-cxx-headers - # link against compiler-rt instead of libgcc if we are using clang with libunwind local want_compiler_rt=OFF if use libunwind && tc-is-clang; then @@ -64,18 +70,33 @@ multilib_src_configure() { local libdir=$(get_libdir) local mycmakeargs=( - -DLIBCXXABI_LIBDIR_SUFFIX=${libdir#lib} + -DPython3_EXECUTABLE="${PYTHON}" + -DLLVM_ENABLE_RUNTIMES="libcxxabi;libcxx" + -DLLVM_INCLUDE_TESTS=OFF + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} -DLIBCXXABI_ENABLE_SHARED=ON -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs) - -DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind) -DLIBCXXABI_INCLUDE_TESTS=$(usex test) + -DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind) -DLIBCXXABI_USE_COMPILER_RT=${want_compiler_rt} - -DLIBCXXABI_LIBCXX_INCLUDES="${BUILD_DIR}"/libcxx/include/c++/v1 # upstream is omitting standard search path for this # probably because gcc & clang are bundling their own unwind.h -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include -DLIBCXXABI_TARGET_TRIPLE="${CHOST}" + + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=OFF + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/include + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_BENCHMARKS=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + -DLIBCXX_TARGET_TRIPLE="${CHOST}" ) if use test; then local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) @@ -90,36 +111,20 @@ multilib_src_configure() { cmake_src_configure } -wrap_libcxx() { - local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" - local CMAKE_USE_DIR=${WORKDIR}/libcxx - local BUILD_DIR=${BUILD_DIR}/libcxx - local mycmakeargs=( - -DLIBCXX_LIBDIR_SUFFIX= - -DLIBCXX_ENABLE_SHARED=OFF - -DLIBCXX_ENABLE_STATIC=ON - -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF - -DLIBCXX_CXX_ABI=libcxxabi - -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${S}"/include - -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF - -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) - -DLIBCXX_HAS_GCC_S_LIB=OFF - -DLIBCXX_INCLUDE_TESTS=OFF - -DLIBCXX_TARGET_TRIPLE="${CHOST}" - ) - - "${@}" +multilib_src_compile() { + cmake_build cxxabi } multilib_src_test() { - wrap_libcxx cmake_src_compile - mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die - local -x LIT_PRESERVES_TMP=1 cmake_build check-cxxabi } +multilib_src_install() { + DESTDIR="${D}" cmake_build install-cxxabi +} + multilib_src_install_all() { insinto /usr/include/libcxxabi - doins -r include/. + doins -r "${WORKDIR}"/libcxxabi/include/. } diff --git a/sys-libs/libcxxabi/libcxxabi-13.0.1.9999.ebuild b/sys-libs/libcxxabi/libcxxabi-15.0.0.9999.ebuild index 36ccca5e938..15858fc7fc7 100644 --- a/sys-libs/libcxxabi/libcxxabi-13.0.1.9999.ebuild +++ b/sys-libs/libcxxabi/libcxxabi-15.0.0.9999.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 CMAKE_ECLASS=cmake PYTHON_COMPAT=( python3_{8..10} ) @@ -13,7 +13,7 @@ HOMEPAGE="https://libcxxabi.llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" KEYWORDS="" -IUSE="+libunwind static-libs test elibc_musl" +IUSE="+libunwind static-libs test" RESTRICT="!test? ( test )" RDEPEND=" @@ -22,19 +22,29 @@ RDEPEND=" >=sys-libs/libunwind-1.0.1-r1[static-libs?,${MULTILIB_USEDEP}] >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}] ) - )" + ) +" # llvm-6 for new lit options -DEPEND="${RDEPEND} - >=sys-devel/llvm-6" +DEPEND=" + ${RDEPEND} + >=sys-devel/llvm-6 +" BDEPEND=" - test? ( >=sys-devel/clang-3.9.0 + !test? ( + ${PYTHON_DEPS} + ) + test? ( + >=sys-devel/clang-3.9.0 $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') - )" + ) +" -LLVM_COMPONENTS=( libcxx{abi,} llvm/cmake ) +LLVM_COMPONENTS=( runtimes libcxx{abi,} llvm/cmake cmake ) +LLVM_TEST_COMPONENTS=( llvm/utils/llvm-lit ) llvm.org_set_globals python_check_deps() { + use test || return 0 has_version "dev-python/lit[${PYTHON_USEDEP}]" } @@ -44,14 +54,10 @@ pkg_setup() { if [[ ${CHOST} != *-darwin* ]] || has_version dev-lang/llvm; then llvm_pkg_setup fi - use test && python-any-r1_pkg_setup + python-any-r1_pkg_setup } multilib_src_configure() { - # we need a configured libc++ for __config_site - wrap_libcxx cmake_src_configure - wrap_libcxx cmake_build generate-cxx-headers - # link against compiler-rt instead of libgcc if we are using clang with libunwind local want_compiler_rt=OFF if use libunwind && tc-is-clang; then @@ -64,18 +70,33 @@ multilib_src_configure() { local libdir=$(get_libdir) local mycmakeargs=( - -DLIBCXXABI_LIBDIR_SUFFIX=${libdir#lib} + -DPython3_EXECUTABLE="${PYTHON}" + -DLLVM_ENABLE_RUNTIMES="libcxxabi;libcxx" + -DLLVM_INCLUDE_TESTS=OFF + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} -DLIBCXXABI_ENABLE_SHARED=ON -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs) - -DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind) -DLIBCXXABI_INCLUDE_TESTS=$(usex test) + -DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind) -DLIBCXXABI_USE_COMPILER_RT=${want_compiler_rt} - -DLIBCXXABI_LIBCXX_INCLUDES="${BUILD_DIR}"/libcxx/include/c++/v1 # upstream is omitting standard search path for this # probably because gcc & clang are bundling their own unwind.h -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include -DLIBCXXABI_TARGET_TRIPLE="${CHOST}" + + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=OFF + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/include + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_BENCHMARKS=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + -DLIBCXX_TARGET_TRIPLE="${CHOST}" ) if use test; then local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) @@ -90,36 +111,20 @@ multilib_src_configure() { cmake_src_configure } -wrap_libcxx() { - local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" - local CMAKE_USE_DIR=${WORKDIR}/libcxx - local BUILD_DIR=${BUILD_DIR}/libcxx - local mycmakeargs=( - -DLIBCXX_LIBDIR_SUFFIX= - -DLIBCXX_ENABLE_SHARED=OFF - -DLIBCXX_ENABLE_STATIC=ON - -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF - -DLIBCXX_CXX_ABI=libcxxabi - -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${S}"/include - -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF - -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) - -DLIBCXX_HAS_GCC_S_LIB=OFF - -DLIBCXX_INCLUDE_TESTS=OFF - -DLIBCXX_TARGET_TRIPLE="${CHOST}" - ) - - "${@}" +multilib_src_compile() { + cmake_build cxxabi } multilib_src_test() { - wrap_libcxx cmake_src_compile - mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die - local -x LIT_PRESERVES_TMP=1 cmake_build check-cxxabi } +multilib_src_install() { + DESTDIR="${D}" cmake_build install-cxxabi +} + multilib_src_install_all() { insinto /usr/include/libcxxabi - doins -r include/. + doins -r "${WORKDIR}"/libcxxabi/include/. } diff --git a/sys-libs/libfaketime/libfaketime-0.9.9.ebuild b/sys-libs/libfaketime/libfaketime-0.9.9.ebuild index 332eb881b2b..df970bfb51c 100644 --- a/sys-libs/libfaketime/libfaketime-0.9.9.ebuild +++ b/sys-libs/libfaketime/libfaketime-0.9.9.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" @@ -11,7 +11,7 @@ SRC_URI="https://github.com/wolfcw/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 -riscv ~sparc ~x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86" src_prepare() { default @@ -28,6 +28,9 @@ src_prepare() { # CLOCK_MONOTONIC test without that append-cflags -DFORCE_MONOTONIC_FIX + # bug #844958 + use riscv && append-cflags -DFORCE_PTHREAD_NONVER + multilib_copy_sources } diff --git a/sys-libs/libhugetlbfs/libhugetlbfs-2.23.ebuild b/sys-libs/libhugetlbfs/libhugetlbfs-2.23.ebuild index c091b4a8c00..f3172420710 100644 --- a/sys-libs/libhugetlbfs/libhugetlbfs-2.23.ebuild +++ b/sys-libs/libhugetlbfs/libhugetlbfs-2.23.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{7,8,9} ) +PYTHON_COMPAT=( python3_{8..10} ) inherit toolchain-funcs python-any-r1 @@ -13,7 +13,7 @@ SRC_URI="https://github.com/libhugetlbfs/libhugetlbfs/archive/${PV}.tar.gz -> ${ LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~s390 ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~x86" IUSE="static-libs test" RESTRICT="!test? ( test )" @@ -49,17 +49,6 @@ src_prepare() { [[ -f version ]] || echo "${PV}" > version } -src_compile() { - tc-export AR - emake CC="$(tc-getCC)" libs tools -} - -src_install() { - default - - use static-libs || rm -f "${ED}"/usr/$(get_libdir)/*.a -} - src_test_alloc_one() { hugeadm="${1}" sign="${2}" @@ -169,3 +158,14 @@ src_test() { return ${rc} } + +src_compile() { + tc-export AR + emake CC="$(tc-getCC)" libs tools +} + +src_install() { + default + + use static-libs || rm -f "${ED}"/usr/$(get_libdir)/*.a +} diff --git a/sys-libs/libnvme/Manifest b/sys-libs/libnvme/Manifest new file mode 100644 index 00000000000..bc7a3027d39 --- /dev/null +++ b/sys-libs/libnvme/Manifest @@ -0,0 +1 @@ +DIST libnvme-1.0.tar.gz 323956 BLAKE2B 66d8c6b32be1f07306ddfad336e11c2c34e64223344af6d8995ca691658f819c667a96ffb567d1315c19cb5e34dfc217bf6e00bcee1d86d616395d0d58718683 SHA512 119c5f0f6eef47c8922d7c40ff8b6374e211364d8d2df64f1fcc72f2f83216fd81d55e7667d126ab6304128bb58f8e491f845b5a247f64b639a1654a57580f7c diff --git a/sys-libs/libnvme/libnvme-1.0.ebuild b/sys-libs/libnvme/libnvme-1.0.ebuild new file mode 100644 index 00000000000..2894e4e7f44 --- /dev/null +++ b/sys-libs/libnvme/libnvme-1.0.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson + +DESCRIPTION="C Library for NVM Express on Linux" +HOMEPAGE="https://github.com/linux-nvme/libnvme" +LICENSE="LGPL-2.1+" +SLOT="0" +IUSE="+json ssl +uuid" + +SRC_URI="https://github.com/linux-nvme/libnvme/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" +DEPEND=" + json? ( dev-libs/json-c:= ) + ssl? ( >=dev-libs/openssl-1.1:= ) + uuid? ( sys-apps/util-linux:= ) +" +RDEPEND="${DEPEND}" + +src_configure() { + local emesonargs=( + -Dpython=false + ) + meson_src_configure +} diff --git a/sys-libs/libnvme/metadata.xml b/sys-libs/libnvme/metadata.xml new file mode 100644 index 00000000000..d4557367c33 --- /dev/null +++ b/sys-libs/libnvme/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>zmedico@gentoo.org</email> + <name>Zac Medico</name> + </maintainer> + <use> + <flag name="json">Support JSON output via <pkg>dev-libs/json-c</pkg></flag> + <flag name="uuid">UUID support via <pkg>sys-apps/util-linux</pkg></flag> + </use> +</pkgmetadata> diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest index 999aacbc5b9..2f4126a4d71 100644 --- a/sys-libs/libomp/Manifest +++ b/sys-libs/libomp/Manifest @@ -1,7 +1,6 @@ DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249 -DIST llvm-gentoo-patchset-13.0.0-r2.tar.xz 6500 BLAKE2B 0ce8d0c4a5508f70c8ec49dbc03dfbfc6371ac224bc5dfc9a39f71def0f574405a06df5666baf6159afafd83a8028c5ea6cb369f22a06f927f3ce6795e96994d SHA512 800d44b382c03b673b43965d80d6ed1b7e8e4ced8d066183b9b8df722b2cc002a6aa54092e600f0d77611be581d312f8886ce8af25b23ff818115a209ec21312 -DIST llvm-gentoo-patchset-13.0.1-rc1.tar.xz 5988 BLAKE2B 8f1d295d4b6937518d9e0cc00cc2ba9e12ff9773b35261f0985b2d2a4ed1e3363a7f961cb385728b5ae552d0e129d99d11e63958d32c3353b0a79a88ba5cc0d5 SHA512 8272c423a5e0e99d412bb449794ba2e8134aca69d09e90e93555dbd3b7549d6ce4d68617ca11074af0a35a6f6830bf0330cbc672c5a56054cfd824e3ac1900ea -DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81 +DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01 DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1 -DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2 -DIST llvmorg-13.0.1-rc1.tar.gz 147284646 BLAKE2B 3a1d8d382de633b7f8fc998f8ad1e03c24b733aefc591615cbd34115d1d6d74962ae33bbf2224527b521a76930ffee425527225563a558a04173e9aa9487c781 SHA512 d487bfc9b898ad0046e0c94338d7757d8a05a1a84d683abfbc9ed4994c6d12caf88fd18575225e284070fc67b3ac0970ca6639e61b1a7cc2948b216a5364a22d +DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f +DIST llvmorg-14.0.1.tar.gz 158074615 BLAKE2B bf80366461580058494eb101646efcd1a8b55a66818a710c2eb8c649bf88c02fe4552cecf4c1c8637a64e7cee8d644bca31aafc804765ed18f2b5e2975dd6c92 SHA512 0a15aa9cfc978a7b03a1659a2affad65ede66d280f5c12bf0beaaf194cd7bdd57ff438b5f40e64c1e1b88f368de99be349e9d30b544d2bbe4a50f0ebed3307f2 +DIST llvmorg-14.0.3.tar.gz 158092596 BLAKE2B ef901df510ec6bc1242595ec330e9c9ee76e696b077d67a8d62b53608c3d18b2f2d7ea3150864e13d9b37a8ce899ebca946ebe72cbc4538700176e20859ddec2 SHA512 511e93fd9b1c414c38fe9e2649679ac0b16cb04f7f7838569d187b04c542a185e364d6db73e96465026e3b2533649eb75ac95507d12514af32b28bdfb66f2646 diff --git a/sys-libs/libomp/libomp-11.1.0.ebuild b/sys-libs/libomp/libomp-11.1.0.ebuild deleted file mode 100644 index 5e55d6e8280..00000000000 --- a/sys-libs/libomp/libomp-11.1.0.ebuild +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -CMAKE_ECLASS=cmake -PYTHON_COMPAT=( python3_{7..9} ) -inherit cmake-multilib linux-info llvm.org python-any-r1 - -DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" -HOMEPAGE="https://openmp.llvm.org" - -LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" -SLOT="0" -KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~x64-macos" -IUSE="cuda hwloc kernel_linux offload ompt test" -# CUDA works only with the x86_64 ABI -REQUIRED_USE="offload? ( cuda? ( abi_x86_64 ) )" -RESTRICT="!test? ( test )" - -RDEPEND=" - hwloc? ( sys-apps/hwloc:0=[${MULTILIB_USEDEP}] ) - offload? ( - virtual/libelf:=[${MULTILIB_USEDEP}] - dev-libs/libffi:=[${MULTILIB_USEDEP}] - cuda? ( dev-util/nvidia-cuda-toolkit:= ) - )" -# tests: -# - dev-python/lit provides the test runner -# - sys-devel/llvm provide test utils (e.g. FileCheck) -# - sys-devel/clang provides the compiler to run tests -DEPEND="${RDEPEND}" -BDEPEND="dev-lang/perl - offload? ( virtual/pkgconfig ) - test? ( - $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') - >=sys-devel/clang-6 - )" - -LLVM_COMPONENTS=( openmp ) -llvm.org_set_globals - -python_check_deps() { - has_version "dev-python/lit[${PYTHON_USEDEP}]" -} - -kernel_pds_check() { - if use kernel_linux && kernel_is -lt 4 15 && kernel_is -ge 4 13; then - local CONFIG_CHECK="~!SCHED_PDS" - local ERROR_SCHED_PDS="\ -PDS scheduler versions >= 0.98c < 0.98i (e.g. used in kernels >= 4.13-pf11 -< 4.14-pf9) do not implement sched_yield() call which may result in horrible -performance problems with libomp. If you are using one of the specified -kernel versions, you may want to disable the PDS scheduler." - - check_extra_config - fi -} - -pkg_pretend() { - kernel_pds_check -} - -pkg_setup() { - use test && python-any-r1_pkg_setup -} - -multilib_src_configure() { - local libdir="$(get_libdir)" - local mycmakeargs=( - -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}" - - -DLIBOMP_USE_HWLOC=$(usex hwloc) - -DLIBOMP_OMPT_SUPPORT=$(usex ompt) - - -DOPENMP_ENABLE_LIBOMPTARGET=$(usex offload) - - # do not install libgomp.so & libiomp5.so aliases - -DLIBOMP_INSTALL_ALIASES=OFF - # disable unnecessary hack copying stuff back to srcdir - -DLIBOMP_COPY_EXPORTS=OFF - ) - use offload && mycmakeargs+=( - # this is non-fatal and libomp checks for CUDA conditionally - # to ABI, so we can just ignore passing the wrong value - # on non-amd64 ABIs - -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=$(usex !cuda) - ) - use test && mycmakeargs+=( - # this project does not use standard LLVM cmake macros - -DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit" - -DOPENMP_LIT_ARGS="$(get_lit_flags)" - - -DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang")" - -DOPENMP_TEST_CXX_COMPILER="$(type -P "${CHOST}-clang++")" - ) - cmake_src_configure -} - -multilib_src_test() { - # respect TMPDIR! - local -x LIT_PRESERVES_TMP=1 - - cmake_build check-libomp -} diff --git a/sys-libs/libomp/libomp-12.0.1.ebuild b/sys-libs/libomp/libomp-12.0.1.ebuild index 5df3ce76c7c..6f0a864fcf4 100644 --- a/sys-libs/libomp/libomp-12.0.1.ebuild +++ b/sys-libs/libomp/libomp-12.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -13,7 +13,7 @@ HOMEPAGE="https://openmp.llvm.org" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv x86 ~amd64-linux ~x64-macos" -IUSE="cuda hwloc kernel_linux offload ompt test" +IUSE="cuda hwloc offload ompt test" # CUDA works only with the x86_64 ABI REQUIRED_USE="offload? ( cuda? ( abi_x86_64 ) )" RESTRICT="!test? ( test )" diff --git a/sys-libs/libomp/libomp-13.0.0-r1.ebuild b/sys-libs/libomp/libomp-13.0.1.ebuild index 6a1e4016def..f9268fab32f 100644 --- a/sys-libs/libomp/libomp-13.0.0-r1.ebuild +++ b/sys-libs/libomp/libomp-13.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -13,7 +13,7 @@ HOMEPAGE="https://openmp.llvm.org" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv x86 ~amd64-linux ~x64-macos" -IUSE="cuda debug hwloc kernel_linux offload ompt test +IUSE="cuda debug hwloc offload ompt test llvm_targets_AMDGPU llvm_targets_NVPTX" # CUDA works only with the x86_64 ABI REQUIRED_USE=" @@ -22,7 +22,7 @@ REQUIRED_USE=" RESTRICT="!test? ( test )" RDEPEND=" - hwloc? ( sys-apps/hwloc:0=[${MULTILIB_USEDEP}] ) + hwloc? ( >=sys-apps/hwloc-2.5:0=[${MULTILIB_USEDEP}] ) offload? ( virtual/libelf:=[${MULTILIB_USEDEP}] dev-libs/libffi:=[${MULTILIB_USEDEP}] @@ -46,7 +46,7 @@ BDEPEND="dev-lang/perl )" LLVM_COMPONENTS=( openmp llvm/include ) -LLVM_PATCHSET=${PV/_/-}-r2 +LLVM_PATCHSET=${PV/_/-} llvm.org_set_globals python_check_deps() { @@ -93,24 +93,28 @@ multilib_src_configure() { # disable unnecessary hack copying stuff back to srcdir -DLIBOMP_COPY_EXPORTS=OFF ) - if use offload && has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then - mycmakeargs+=( - -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=$(usex !cuda) - -DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=$(usex llvm_targets_AMDGPU) - -DLIBOMPTARGET_BUILD_NVPTX_BCLIB=$(usex llvm_targets_NVPTX) - # a cheap hack to force clang - -DLIBOMPTARGET_NVPTX_CUDA_COMPILER="$(type -P "${CHOST}-clang")" - # upstream defaults to looking for it in clang dir - # this fails when ccache is being used - -DLIBOMPTARGET_NVPTX_BC_LINKER="$(type -P llvm-link)" - ) - else - mycmakeargs+=( - -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON - -DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=OFF - -DLIBOMPTARGET_BUILD_NVPTX_BCLIB=OFF - ) + + if use offload; then + if has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then + mycmakeargs+=( + -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=$(usex !cuda) + -DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=$(usex llvm_targets_AMDGPU) + -DLIBOMPTARGET_BUILD_NVPTX_BCLIB=$(usex llvm_targets_NVPTX) + # a cheap hack to force clang + -DLIBOMPTARGET_NVPTX_CUDA_COMPILER="$(type -P "${CHOST}-clang")" + # upstream defaults to looking for it in clang dir + # this fails when ccache is being used + -DLIBOMPTARGET_NVPTX_BC_LINKER="$(type -P llvm-link)" + ) + else + mycmakeargs+=( + -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON + -DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=OFF + -DLIBOMPTARGET_BUILD_NVPTX_BCLIB=OFF + ) + fi fi + use test && mycmakeargs+=( # this project does not use standard LLVM cmake macros -DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit" diff --git a/sys-libs/libomp/libomp-14.0.0.9999.ebuild b/sys-libs/libomp/libomp-14.0.1.ebuild index 28c0f1fb620..eac03ceafd2 100644 --- a/sys-libs/libomp/libomp-14.0.0.9999.ebuild +++ b/sys-libs/libomp/libomp-14.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -12,8 +12,8 @@ HOMEPAGE="https://openmp.llvm.org" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" -KEYWORDS="" -IUSE="cuda debug hwloc kernel_linux offload ompt test +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos" +IUSE="cuda debug hwloc offload ompt test llvm_targets_AMDGPU llvm_targets_NVPTX" # CUDA works only with the x86_64 ABI REQUIRED_USE=" @@ -22,7 +22,7 @@ REQUIRED_USE=" RESTRICT="!test? ( test )" RDEPEND=" - hwloc? ( sys-apps/hwloc:0=[${MULTILIB_USEDEP}] ) + hwloc? ( >=sys-apps/hwloc-2.5:0=[${MULTILIB_USEDEP}] ) offload? ( virtual/libelf:=[${MULTILIB_USEDEP}] dev-libs/libffi:=[${MULTILIB_USEDEP}] @@ -92,24 +92,28 @@ multilib_src_configure() { # disable unnecessary hack copying stuff back to srcdir -DLIBOMP_COPY_EXPORTS=OFF ) - if use offload && has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then - mycmakeargs+=( - -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=$(usex !cuda) - -DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=$(usex llvm_targets_AMDGPU) - -DLIBOMPTARGET_BUILD_NVPTX_BCLIB=$(usex llvm_targets_NVPTX) - # a cheap hack to force clang - -DLIBOMPTARGET_NVPTX_CUDA_COMPILER="$(type -P "${CHOST}-clang")" - # upstream defaults to looking for it in clang dir - # this fails when ccache is being used - -DLIBOMPTARGET_NVPTX_BC_LINKER="$(type -P llvm-link)" - ) - else - mycmakeargs+=( - -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON - -DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=OFF - -DLIBOMPTARGET_BUILD_NVPTX_BCLIB=OFF - ) + + if use offload; then + if has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then + mycmakeargs+=( + -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=$(usex !cuda) + -DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=$(usex llvm_targets_AMDGPU) + -DLIBOMPTARGET_BUILD_NVPTX_BCLIB=$(usex llvm_targets_NVPTX) + # a cheap hack to force clang + -DLIBOMPTARGET_NVPTX_CUDA_COMPILER="$(type -P "${CHOST}-clang")" + # upstream defaults to looking for it in clang dir + # this fails when ccache is being used + -DLIBOMPTARGET_NVPTX_BC_LINKER="$(type -P llvm-link)" + ) + else + mycmakeargs+=( + -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON + -DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=OFF + -DLIBOMPTARGET_BUILD_NVPTX_BCLIB=OFF + ) + fi fi + use test && mycmakeargs+=( # this project does not use standard LLVM cmake macros -DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit" diff --git a/sys-libs/libomp/libomp-13.0.1_rc1.ebuild b/sys-libs/libomp/libomp-14.0.3.ebuild index 7f61ca615aa..987d01113d9 100644 --- a/sys-libs/libomp/libomp-13.0.1_rc1.ebuild +++ b/sys-libs/libomp/libomp-14.0.3.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 CMAKE_ECLASS=cmake PYTHON_COMPAT=( python3_{8..10} ) @@ -12,29 +12,36 @@ HOMEPAGE="https://openmp.llvm.org" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" -KEYWORDS="" -IUSE="cuda debug hwloc kernel_linux offload ompt test - llvm_targets_AMDGPU llvm_targets_NVPTX" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos" +IUSE=" + cuda debug hwloc offload ompt test + llvm_targets_AMDGPU llvm_targets_NVPTX +" +RESTRICT="!test? ( test )" # CUDA works only with the x86_64 ABI REQUIRED_USE=" cuda? ( llvm_targets_NVPTX ) - offload? ( cuda? ( abi_x86_64 ) )" -RESTRICT="!test? ( test )" + offload? ( cuda? ( abi_x86_64 ) ) +" RDEPEND=" - hwloc? ( sys-apps/hwloc:0=[${MULTILIB_USEDEP}] ) + hwloc? ( >=sys-apps/hwloc-2.5:0=[${MULTILIB_USEDEP}] ) offload? ( virtual/libelf:=[${MULTILIB_USEDEP}] dev-libs/libffi:=[${MULTILIB_USEDEP}] ~sys-devel/llvm-${PV}[${MULTILIB_USEDEP}] cuda? ( dev-util/nvidia-cuda-toolkit:= ) - )" + ) +" # tests: # - dev-python/lit provides the test runner # - sys-devel/llvm provide test utils (e.g. FileCheck) # - sys-devel/clang provides the compiler to run tests -DEPEND="${RDEPEND}" -BDEPEND="dev-lang/perl +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + dev-lang/perl offload? ( llvm_targets_AMDGPU? ( sys-devel/clang ) llvm_targets_NVPTX? ( sys-devel/clang ) @@ -43,10 +50,10 @@ BDEPEND="dev-lang/perl test? ( $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') sys-devel/clang - )" + ) +" LLVM_COMPONENTS=( openmp llvm/include ) -LLVM_PATCHSET=${PV/_/-} llvm.org_set_globals python_check_deps() { @@ -93,24 +100,28 @@ multilib_src_configure() { # disable unnecessary hack copying stuff back to srcdir -DLIBOMP_COPY_EXPORTS=OFF ) - if use offload && has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then - mycmakeargs+=( - -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=$(usex !cuda) - -DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=$(usex llvm_targets_AMDGPU) - -DLIBOMPTARGET_BUILD_NVPTX_BCLIB=$(usex llvm_targets_NVPTX) - # a cheap hack to force clang - -DLIBOMPTARGET_NVPTX_CUDA_COMPILER="$(type -P "${CHOST}-clang")" - # upstream defaults to looking for it in clang dir - # this fails when ccache is being used - -DLIBOMPTARGET_NVPTX_BC_LINKER="$(type -P llvm-link)" - ) - else - mycmakeargs+=( - -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON - -DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=OFF - -DLIBOMPTARGET_BUILD_NVPTX_BCLIB=OFF - ) + + if use offload; then + if has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then + mycmakeargs+=( + -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=$(usex !cuda) + -DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=$(usex llvm_targets_AMDGPU) + -DLIBOMPTARGET_BUILD_NVPTX_BCLIB=$(usex llvm_targets_NVPTX) + # a cheap hack to force clang + -DLIBOMPTARGET_NVPTX_CUDA_COMPILER="$(type -P "${CHOST}-clang")" + # upstream defaults to looking for it in clang dir + # this fails when ccache is being used + -DLIBOMPTARGET_NVPTX_BC_LINKER="$(type -P llvm-link)" + ) + else + mycmakeargs+=( + -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON + -DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=OFF + -DLIBOMPTARGET_BUILD_NVPTX_BCLIB=OFF + ) + fi fi + use test && mycmakeargs+=( # this project does not use standard LLVM cmake macros -DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit" diff --git a/sys-libs/libomp/libomp-13.0.1.9999.ebuild b/sys-libs/libomp/libomp-15.0.0.9999.ebuild index 28c0f1fb620..52f9f5285f1 100644 --- a/sys-libs/libomp/libomp-13.0.1.9999.ebuild +++ b/sys-libs/libomp/libomp-15.0.0.9999.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 CMAKE_ECLASS=cmake PYTHON_COMPAT=( python3_{8..10} ) @@ -13,28 +13,35 @@ HOMEPAGE="https://openmp.llvm.org" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" KEYWORDS="" -IUSE="cuda debug hwloc kernel_linux offload ompt test - llvm_targets_AMDGPU llvm_targets_NVPTX" +IUSE=" + cuda debug hwloc offload ompt test + llvm_targets_AMDGPU llvm_targets_NVPTX +" +RESTRICT="!test? ( test )" # CUDA works only with the x86_64 ABI REQUIRED_USE=" cuda? ( llvm_targets_NVPTX ) - offload? ( cuda? ( abi_x86_64 ) )" -RESTRICT="!test? ( test )" + offload? ( cuda? ( abi_x86_64 ) ) +" RDEPEND=" - hwloc? ( sys-apps/hwloc:0=[${MULTILIB_USEDEP}] ) + hwloc? ( >=sys-apps/hwloc-2.5:0=[${MULTILIB_USEDEP}] ) offload? ( virtual/libelf:=[${MULTILIB_USEDEP}] dev-libs/libffi:=[${MULTILIB_USEDEP}] ~sys-devel/llvm-${PV}[${MULTILIB_USEDEP}] cuda? ( dev-util/nvidia-cuda-toolkit:= ) - )" + ) +" # tests: # - dev-python/lit provides the test runner # - sys-devel/llvm provide test utils (e.g. FileCheck) # - sys-devel/clang provides the compiler to run tests -DEPEND="${RDEPEND}" -BDEPEND="dev-lang/perl +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + dev-lang/perl offload? ( llvm_targets_AMDGPU? ( sys-devel/clang ) llvm_targets_NVPTX? ( sys-devel/clang ) @@ -43,7 +50,8 @@ BDEPEND="dev-lang/perl test? ( $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') sys-devel/clang - )" + ) +" LLVM_COMPONENTS=( openmp llvm/include ) llvm.org_set_globals @@ -92,24 +100,28 @@ multilib_src_configure() { # disable unnecessary hack copying stuff back to srcdir -DLIBOMP_COPY_EXPORTS=OFF ) - if use offload && has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then - mycmakeargs+=( - -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=$(usex !cuda) - -DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=$(usex llvm_targets_AMDGPU) - -DLIBOMPTARGET_BUILD_NVPTX_BCLIB=$(usex llvm_targets_NVPTX) - # a cheap hack to force clang - -DLIBOMPTARGET_NVPTX_CUDA_COMPILER="$(type -P "${CHOST}-clang")" - # upstream defaults to looking for it in clang dir - # this fails when ccache is being used - -DLIBOMPTARGET_NVPTX_BC_LINKER="$(type -P llvm-link)" - ) - else - mycmakeargs+=( - -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON - -DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=OFF - -DLIBOMPTARGET_BUILD_NVPTX_BCLIB=OFF - ) + + if use offload; then + if has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then + mycmakeargs+=( + -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=$(usex !cuda) + -DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=$(usex llvm_targets_AMDGPU) + -DLIBOMPTARGET_BUILD_NVPTX_BCLIB=$(usex llvm_targets_NVPTX) + # a cheap hack to force clang + -DLIBOMPTARGET_NVPTX_CUDA_COMPILER="$(type -P "${CHOST}-clang")" + # upstream defaults to looking for it in clang dir + # this fails when ccache is being used + -DLIBOMPTARGET_NVPTX_BC_LINKER="$(type -P llvm-link)" + ) + else + mycmakeargs+=( + -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON + -DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=OFF + -DLIBOMPTARGET_BUILD_NVPTX_BCLIB=OFF + ) + fi fi + use test && mycmakeargs+=( # this project does not use standard LLVM cmake macros -DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit" diff --git a/sys-libs/libosinfo/Manifest b/sys-libs/libosinfo/Manifest index fa3169fc548..6da3725fcbb 100644 --- a/sys-libs/libosinfo/Manifest +++ b/sys-libs/libosinfo/Manifest @@ -1 +1 @@ -DIST libosinfo-1.9.0.tar.xz 279376 BLAKE2B 9f231f022d80e96fc9b031ff8f16ea1e432e5e3ce079e384ad123043b89dd5e47ae119aec3052c8926965bf30c49b150f0ee727fb3b0e0391d393b1031aabeab SHA512 2e62e69f4353eb935734f091caa4cc4e3dce74020a93b684807470f068da73e8ecb7f4af0623b6d3053ecff3a34c6709a783dec3d25a56dc69f0e7ff9041cf26 +DIST libosinfo-1.10.0.tar.xz 293804 BLAKE2B 5c676a466459c4e4150294fd263cd32ed95f181a3dea913977165f61dd81d75fb545dd96d0f87661ea13db9f10706c064421a5ecf0ec1b220054149c66c957d1 SHA512 58a30d62d5a4862150826fd9fda3d5189df3693efca3a8732efaa470fa65dbb64181987534ccc13c0bf2fd4efda229217a169590405f0601927472f6ca08e4e7 diff --git a/sys-libs/libosinfo/files/1.10.0-build-Add-option-to-disable-libsoup3.patch b/sys-libs/libosinfo/files/1.10.0-build-Add-option-to-disable-libsoup3.patch new file mode 100644 index 00000000000..a2b13067679 --- /dev/null +++ b/sys-libs/libosinfo/files/1.10.0-build-Add-option-to-disable-libsoup3.patch @@ -0,0 +1,50 @@ +https://gitlab.com/libosinfo/libosinfo/-/merge_requests/134 + +From 7148e47e84199d5ffeb695bcf064400b7fa0da77 Mon Sep 17 00:00:00 2001 +From: Matt Turner <mattst88@gmail.com> +Date: Tue, 15 Feb 2022 12:22:00 -0800 +Subject: [PATCH] build: Add option to disable libsoup3 + +... and fall back to libsoup2 if disabled. This allows distributions +that ship both versions to choose which version of libsoup will be +linked. + +Signed-off-by: Matt Turner <mattst88@gmail.com> +--- + meson.build | 2 +- + meson_options.txt | 6 ++++++ + 2 files changed, 7 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index a664402..4f1d2df 100644 +--- a/meson.build ++++ b/meson.build +@@ -71,7 +71,7 @@ gio_dep = dependency('gio-2.0', version: glib_version_info) + gobject_dep = dependency('gobject-2.0', version: glib_version_info) + + # everything else +-libsoup_dep = dependency('libsoup-3.0', required: false) ++libsoup_dep = dependency('libsoup-3.0', required: get_option('libsoup3')) + # fallback to libsoup2 + if not libsoup_dep.found() + libsoup_dep = dependency('libsoup-2.4') +diff --git a/meson_options.txt b/meson_options.txt +index 13fc358..2084677 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -24,6 +24,12 @@ option('enable-vala', + description: 'Enable Vala bindings' + ) + ++option('libsoup3', ++ type: 'feature', ++ value: 'enabled', ++ description: 'Whether to enable libsoup3' ++) ++ + option('with-pci-ids-path', + type: 'string', + value: '', +-- +2.34.1 + diff --git a/sys-libs/libosinfo/libosinfo-1.9.0-r1.ebuild b/sys-libs/libosinfo/libosinfo-1.10.0.ebuild index 54ada71ed30..8e38dda5a5d 100644 --- a/sys-libs/libosinfo/libosinfo-1.9.0-r1.ebuild +++ b/sys-libs/libosinfo/libosinfo-1.10.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -17,7 +17,7 @@ IUSE="gtk-doc +introspection +vala test" RESTRICT="!test? ( test )" REQUIRED_USE="vala? ( introspection )" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86" # Unsure about osinfo-db-tools rdep, but at least fedora does it too RDEPEND=" @@ -42,6 +42,10 @@ BDEPEND=" vala? ( $(vala_depend) ) " +PATCHES=( + "${FILESDIR}"/${PV}-build-Add-option-to-disable-libsoup3.patch +) + src_prepare() { xdg_src_prepare use vala && vala_src_prepare @@ -53,6 +57,7 @@ src_configure() { $(meson_feature introspection enable-introspection) $(meson_use test enable-tests) $(meson_feature vala enable-vala) + -Dlibsoup3=disabled -Dwith-pci-ids-path="${EPREFIX}"/usr/share/hwdata/pci.ids -Dwith-usb-ids-path="${EPREFIX}"/usr/share/hwdata/usb.ids ) diff --git a/sys-libs/libosinfo/libosinfo-1.9.0.ebuild b/sys-libs/libosinfo/libosinfo-1.9.0.ebuild deleted file mode 100644 index c4d25968cc5..00000000000 --- a/sys-libs/libosinfo/libosinfo-1.9.0.ebuild +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -VALA_USE_DEPEND="vapigen" - -inherit meson udev vala xdg - -DESCRIPTION="GObject library for managing information about real and virtual OSes" -HOMEPAGE="https://libosinfo.org/" -SRC_URI="https://releases.pagure.org/libosinfo/${P}.tar.xz" - -LICENSE="GPL-2+ LGPL-2.1+" -SLOT="0" - -IUSE="gtk-doc +introspection +vala test" -RESTRICT="!test? ( test )" -REQUIRED_USE="vala? ( introspection )" - -KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86" - -# Unsure about osinfo-db-tools rdep, but at least fedora does it too -RDEPEND=" - >=dev-libs/glib-2.44:2 - net-libs/libsoup:2.4 - >=dev-libs/libxml2-2.6.0 - >=dev-libs/libxslt-1.0.0 - sys-apps/hwids[pci,usb] - sys-apps/osinfo-db-tools - sys-apps/osinfo-db - introspection? ( >=dev-libs/gobject-introspection-1.56:= ) -" -DEPEND="${RDEPEND}" -# perl dep is for pod2man for automagic manpage building -BDEPEND=" - dev-lang/perl - dev-util/glib-utils - gtk-doc? ( >=dev-util/gtk-doc-1.10 - app-text/docbook-xml-dtd:4.3 ) - >=sys-devel/gettext-0.19.8 - virtual/pkgconfig - vala? ( $(vala_depend) ) -" - -src_prepare() { - xdg_src_prepare - use vala && vala_src_prepare -} - -src_configure() { - local emesonargs=( - $(meson_use gtk-doc enable-gtk-doc) - $(meson_feature introspection enable-introspection) - $(meson_use test enable-tests) - $(meson_feature vala enable-vala) - -Dwith-pci-ids-path=/usr/share/misc/pci.ids - -Dwith-usb-ids-path=/usr/share/misc/usb.ids - ) - meson_src_configure -} diff --git a/sys-libs/libraw1394/libraw1394-2.1.2-r1.ebuild b/sys-libs/libraw1394/libraw1394-2.1.2-r1.ebuild index d541d4e9d30..b35f736ed3e 100644 --- a/sys-libs/libraw1394/libraw1394-2.1.2-r1.ebuild +++ b/sys-libs/libraw1394/libraw1394-2.1.2-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,7 @@ SRC_URI="https://www.kernel.org/pub/linux/libs/ieee1394/${P}.tar.xz" LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86" IUSE="" multilib_src_configure() { diff --git a/sys-libs/libseccomp/Manifest b/sys-libs/libseccomp/Manifest index e405158403d..e770c0df7ad 100644 --- a/sys-libs/libseccomp/Manifest +++ b/sys-libs/libseccomp/Manifest @@ -1,3 +1,4 @@ DIST libseccomp-2.5.1.tar.gz 638811 BLAKE2B 683ae7536c0cba36f4d30640b42361171fc34b7cb04985ea56e64369df29c440361a0205385b14580cc0e481e0f9ffd0b0e8ebd4ac98817ed59298db6b274c35 SHA512 2be80a6323f9282dbeae8791724e5778b32e2382b2a3d1b0f77366371ec4072ea28128204f675cce101c091c0420d12c497e1a9ccbb7dc5bcbf61bfd777160af -DIST libseccomp-2.5.2.tar.gz 640305 BLAKE2B b61214cb9a9a793d1f04ae1de3f62c578cfaec54fcc355947b4c71efb75072bf60497db8c8a0fd34a46764952349027df3f025ddbd276d58be93209170950e89 SHA512 b2a95152cb274d6b35753596fd825406dae20c4a48b2f4076f835f977ecf324de38a3fe02e789dc20b49ecf6b4eb67f03e7733e92d40f5e20f25874307f1c2ac DIST libseccomp-2.5.3.tar.gz 637572 BLAKE2B cedf04b3a926f9fe5202e6169ddac6b983e755009c14fc1d645157b9c0bcdf65d4085f8ea7abad90f3a0c13ae4d66b5d8306e725168490863aad15976de1eae7 SHA512 00170fe2360f0c0b33293dccfcc33e98fabb99619f34ecefbcc92bfdaa249ba91e7433226545b842b71542a3b224b6e980ea2ae656c4addf07e84a0def1870a0 +DIST libseccomp-2.5.4-loongarch64-20220425.patch.xz 132768 BLAKE2B f3ab165b028b5f8b4c16574936b915595807ebeb49ef7365d6051f3dfafa7da46ef2a9de458e0a268298cb340152abe1f3c0c293446462a06696bc9ce92d2f72 SHA512 94f23c7a2cc2ea8acb01fef00ef184295c276b14b2b3ba0c65687fd72081df8478f3f04c51b0b391ba44529c4f914e6edbb4132af935e3be55902f641d478780 +DIST libseccomp-2.5.4.tar.gz 637228 BLAKE2B 38b134cb578f9355667546f92950ebcf8c53ccaf98db568db9aadfa9629c054136849e03d4bf9f09f73998fe66a5e8a9038573d19740b2bddf5518a8a0119229 SHA512 92650bd7d1d48b383f402a536b97a017fd0f6ad1234daf4b938d01c92e8d134a01d2f2dd45fd9e2d025d7556bd1386ec360402145a87f20580c85949d62cea0e diff --git a/sys-libs/libseccomp/libseccomp-2.5.1.ebuild b/sys-libs/libseccomp/libseccomp-2.5.1.ebuild deleted file mode 100644 index bf83271b3fd..00000000000 --- a/sys-libs/libseccomp/libseccomp-2.5.1.ebuild +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{8..9} ) -DISTUTILS_OPTIONAL=1 - -inherit distutils-r1 multilib-minimal - -DESCRIPTION="high level interface to Linux seccomp filter" -HOMEPAGE="https://github.com/seccomp/libseccomp" - -if [[ ${PV} == *9999 ]] ; then - EGIT_REPO_URI="https://github.com/seccomp/libseccomp.git" - PRERELEASE="2.6.0" - inherit autotools git-r3 -else - SRC_URI="https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar.gz" - KEYWORDS="-* amd64 arm arm64 hppa ~mips ppc ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux" -fi - -LICENSE="LGPL-2.1" -SLOT="0" -IUSE="python static-libs" - -REQUIRED_USE=" - python? ( - static-libs - ${PYTHON_REQUIRED_USE} - )" - -DEPEND="python? ( ${PYTHON_DEPS} )" -RDEPEND="${DEPEND}" -BDEPEND="${DEPEND} - dev-util/gperf - python? ( dev-python/cython[${PYTHON_USEDEP}] ) -" -# We need newer kernel headers; we don't keep strict control of the exact -# version here, just be safe and pull in the latest stable ones. #551248 -DEPEND="${DEPEND} >=sys-kernel/linux-headers-4.3" - -src_prepare() { - default - if [[ "${PV}" == *9999 ]] ; then - sed -i -e "s/0.0.0/${PRERELEASE}/" configure.ac - eautoreconf - fi -} - -multilib_src_configure() { - local myeconfargs=( - $(use_enable static-libs static) - --disable-python - ) - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_compile() { - emake - - if multilib_is_native_abi && use python ; then - cd "${S}/src/python" || die - sed -i -e "s/=.*VERSION_RELEASE.*,/=\"${PRERELEASE}\",/" \ - -e "/extra_objects/s,\.\.,${OLDPWD}/src," \ - setup.py || die - local -x CPPFLAGS="-I${OLDPWD}/include -I../../include" - distutils-r1_src_compile - fi -} - -multilib_src_install() { - emake DESTDIR="${D}" install - - if multilib_is_native_abi && use python ; then - cd "${S}/src/python" || die - distutils-r1_src_install - fi -} - -multilib_src_install_all() { - find "${ED}" -type f -name "${PN}.la" -delete || die - einstalldocs -} diff --git a/sys-libs/libseccomp/libseccomp-2.5.3.ebuild b/sys-libs/libseccomp/libseccomp-2.5.3.ebuild index 847d2ce335b..1006b5a52a8 100644 --- a/sys-libs/libseccomp/libseccomp-2.5.3.ebuild +++ b/sys-libs/libseccomp/libseccomp-2.5.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -17,7 +17,7 @@ if [[ ${PV} == *9999 ]] ; then inherit autotools git-r3 else SRC_URI="https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar.gz" - KEYWORDS="-* ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="-* amd64 arm arm64 hppa ~mips ppc ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux" fi LICENSE="LGPL-2.1" diff --git a/sys-libs/libseccomp/libseccomp-2.5.2.ebuild b/sys-libs/libseccomp/libseccomp-2.5.4.ebuild index eea16fa2bbf..09258b43b97 100644 --- a/sys-libs/libseccomp/libseccomp-2.5.2.ebuild +++ b/sys-libs/libseccomp/libseccomp-2.5.4.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{8..9} ) +PYTHON_COMPAT=( python3_{8..10} ) DISTUTILS_OPTIONAL=1 inherit distutils-r1 multilib-minimal @@ -16,33 +16,49 @@ if [[ ${PV} == *9999 ]] ; then PRERELEASE="2.6.0" inherit autotools git-r3 else - SRC_URI="https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar.gz" - KEYWORDS="-* ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux" + SRC_URI="https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar.gz + experimental-loong? ( https://dev.gentoo.org/~xen0n/distfiles/${P}-loongarch64-20220425.patch.xz )" + KEYWORDS="-* ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux" fi LICENSE="LGPL-2.1" SLOT="0" -IUSE="python static-libs" +IUSE="experimental-loong python static-libs test" +RESTRICT="!test? ( test )" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -DEPEND="python? ( ${PYTHON_DEPS} )" +# We need newer kernel headers; we don't keep strict control of the exact +# version here, just be safe and pull in the latest stable ones. bug #551248 +DEPEND=">=sys-kernel/linux-headers-5.15 + python? ( ${PYTHON_DEPS} )" RDEPEND="${DEPEND}" BDEPEND="${DEPEND} dev-util/gperf - python? ( dev-python/cython[${PYTHON_USEDEP}] ) -" -# We need newer kernel headers; we don't keep strict control of the exact -# version here, just be safe and pull in the latest stable ones. #551248 -DEPEND="${DEPEND} >=sys-kernel/linux-headers-4.3" + python? ( dev-python/cython[${PYTHON_USEDEP}] )" + +PATCHES=( + "${FILESDIR}"/libseccomp-python-shared.patch + "${FILESDIR}"/libseccomp-2.5.3-skip-valgrind.patch +) src_prepare() { - local PATCHES=( - "${FILESDIR}/libseccomp-python-shared.patch" - ) + if use experimental-loong; then + PATCHES+=( "${WORKDIR}/${P}-loongarch64-20220425.patch" ) + fi + default - if [[ "${PV}" == *9999 ]] ; then - sed -i -e "s/0.0.0/${PRERELEASE}/" configure.ac + + if use experimental-loong; then + # touch generated files to avoid activating maintainer mode + # remove when loong-fix-build.patch is no longer necessary + touch ./aclocal.m4 ./configure ./configure.h.in || die + find . -name Makefile.in -exec touch {} + || die + fi + + if [[ ${PV} == *9999 ]] ; then + sed -i -e "s/0.0.0/${PRERELEASE}/" configure.ac || die + eautoreconf fi } @@ -52,12 +68,14 @@ multilib_src_configure() { $(use_enable static-libs static) --disable-python ) + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" } do_python() { # setup.py reads VERSION_RELEASE from the environment local -x VERSION_RELEASE=${PRERELEASE-${PV}} + pushd "${BUILD_DIR}/src/python" >/dev/null || die "$@" popd >/dev/null || die @@ -69,9 +87,10 @@ multilib_src_compile() { if multilib_is_native_abi && use python ; then # setup.py expects libseccomp.so to live in "../.libs" # Copy the python files to the right place for this. - rm -r "${BUILD_DIR}/src/python" || die - cp -r "${S}/src/python" "${BUILD_DIR}/src/python" || die + rm -r "${BUILD_DIR}"/src/python || die + cp -r "${S}"/src/python "${BUILD_DIR}"/src/python || die local -x CPPFLAGS="-I\"${BUILD_DIR}/include\" -I\"${S}/include\" ${CPPFLAGS}" + do_python distutils-r1_src_compile fi } @@ -86,5 +105,6 @@ multilib_src_install() { multilib_src_install_all() { find "${ED}" -type f -name "${PN}.la" -delete || die + einstalldocs } diff --git a/sys-libs/libseccomp/libseccomp-9999.ebuild b/sys-libs/libseccomp/libseccomp-9999.ebuild index 847d2ce335b..fed0b3c8f42 100644 --- a/sys-libs/libseccomp/libseccomp-9999.ebuild +++ b/sys-libs/libseccomp/libseccomp-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -27,25 +27,24 @@ RESTRICT="!test? ( test )" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -DEPEND="python? ( ${PYTHON_DEPS} )" +# We need newer kernel headers; we don't keep strict control of the exact +# version here, just be safe and pull in the latest stable ones. bug #551248 +DEPEND=">=sys-kernel/linux-headers-5.15 + python? ( ${PYTHON_DEPS} )" RDEPEND="${DEPEND}" BDEPEND="${DEPEND} dev-util/gperf - python? ( dev-python/cython[${PYTHON_USEDEP}] ) -" -# We need newer kernel headers; we don't keep strict control of the exact -# version here, just be safe and pull in the latest stable ones. #551248 -DEPEND="${DEPEND} >=sys-kernel/linux-headers-4.3" + python? ( dev-python/cython[${PYTHON_USEDEP}] )" -src_prepare() { - local PATCHES=( - "${FILESDIR}/libseccomp-python-shared.patch" - "${FILESDIR}/libseccomp-2.5.3-skip-valgrind.patch" - ) +PATCHES=( + "${FILESDIR}"/libseccomp-python-shared.patch + "${FILESDIR}"/libseccomp-2.5.3-skip-valgrind.patch +) +src_prepare() { default - if [[ "${PV}" == *9999 ]] ; then + if [[ ${PV} == *9999 ]] ; then sed -i -e "s/0.0.0/${PRERELEASE}/" configure.ac || die eautoreconf @@ -76,8 +75,8 @@ multilib_src_compile() { if multilib_is_native_abi && use python ; then # setup.py expects libseccomp.so to live in "../.libs" # Copy the python files to the right place for this. - rm -r "${BUILD_DIR}/src/python" || die - cp -r "${S}/src/python" "${BUILD_DIR}/src/python" || die + rm -r "${BUILD_DIR}"/src/python || die + cp -r "${S}"/src/python "${BUILD_DIR}"/src/python || die local -x CPPFLAGS="-I\"${BUILD_DIR}/include\" -I\"${S}/include\" ${CPPFLAGS}" do_python distutils-r1_src_compile diff --git a/sys-libs/libseccomp/metadata.xml b/sys-libs/libseccomp/metadata.xml index dd20dd0473e..75b652d4324 100644 --- a/sys-libs/libseccomp/metadata.xml +++ b/sys-libs/libseccomp/metadata.xml @@ -5,6 +5,9 @@ <email>base-system@gentoo.org</email> <name>Gentoo Base System</name> </maintainer> + <use> + <flag name="experimental-loong">Add experimental LoongArch patchset</flag> + </use> <upstream> <remote-id type="github">seccomp/libseccomp</remote-id> <remote-id type="sourceforge">libseccomp</remote-id> diff --git a/sys-libs/libselinux/Manifest b/sys-libs/libselinux/Manifest index 18b3e6b273f..62d87d2493d 100644 --- a/sys-libs/libselinux/Manifest +++ b/sys-libs/libselinux/Manifest @@ -1,3 +1,2 @@ -DIST libselinux-3.1.tar.gz 204703 BLAKE2B 72ff2d99dd6640405e804f58bdfbf05e152615ea92f902b3942602af13dc17080afeabb942ed33ae6b3f528870f4b11584e533848e455a97bf8f7151a8d44646 SHA512 57730cddd2d4751556d9e1f207c0f85119c81848f0620c16239e997150989e3f9a586a8c23861fd51ed89f7e084ad441190a58a288258a49a95f7beef7dbbb13 -DIST libselinux-3.2.tar.gz 206380 BLAKE2B 544eaaa87b9738c61929abe48713b530a8909eaea017890040f2fe299af86f09b6eb2cf4c9a68e06268ba09923b2b67703ac7a2b973906acb45f698e9ccaeed2 SHA512 18129ac0b9936e1f66021f1b311cf1c1e27a01e50cb70f08a3e1c642c5251e4538aec25a8427778569dfecf5333cf1fb84f1a59afdce8019328d0cff7e5833c5 DIST libselinux-3.3.tar.gz 206826 BLAKE2B e4cd2bf7172db1dd7661dd7981f875eb45f3c123805618edd03d7258f4b1f7afc974020187ec2e9e50dd59b3581ee21a29012eaa90ddfa82e43db4b8e60c51b7 SHA512 9a89c05ea4b17453168a985ece93ba6d6c4127916e657c46d4135eb59a1f6408faa0802cc2e49187defbde5247d659037beee089877affbab3eab6af3433696c +DIST libselinux-3.4-rc1.tar.gz 208778 BLAKE2B b15c83149f213a44624285abe68972c0c7f8dcdaf13cd1ca089bd44951f14d30c73302433d68b7d59f0bc7add14315ba12e9f6e6062566c1bdb8f849c5884c28 SHA512 333907b3ed05d66e608ab16958e4e09e18848bf9aaf3d9216d08be2f6e483231c9455a8e6db56648d6704c0f0af7cd4c5c7ba468d678f8368d06b68a60693eb5 diff --git a/sys-libs/libselinux/libselinux-3.1-r1.ebuild b/sys-libs/libselinux/libselinux-3.1-r1.ebuild deleted file mode 100644 index 9734717e280..00000000000 --- a/sys-libs/libselinux/libselinux-3.1-r1.ebuild +++ /dev/null @@ -1,155 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" -PYTHON_COMPAT=( python3_{7..9} ) -USE_RUBY="ruby25 ruby26 ruby27" - -# No, I am not calling ruby-ng -inherit python-r1 toolchain-funcs multilib-minimal - -MY_P="${P//_/-}" -SEPOL_VER="${PV}" -MY_RELEASEDATE="20200710" - -DESCRIPTION="SELinux userland library" -HOMEPAGE="https://github.com/SELinuxProject/selinux/wiki" - -if [[ ${PV} == 9999 ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/SELinuxProject/selinux.git" - S="${WORKDIR}/${MY_P}/${PN}" -else - SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_RELEASEDATE}/${MY_P}.tar.gz" - KEYWORDS="amd64 ~arm ~arm64 ~mips x86" - S="${WORKDIR}/${MY_P}" -fi - -LICENSE="public-domain" -SLOT="0" -IUSE="pcre2 python ruby static-libs ruby_targets_ruby25 ruby_targets_ruby26 ruby_targets_ruby27" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -RDEPEND=">=sys-libs/libsepol-${SEPOL_VER}:=[${MULTILIB_USEDEP}] - !pcre2? ( >=dev-libs/libpcre-8.33-r1:=[static-libs?,${MULTILIB_USEDEP}] ) - pcre2? ( dev-libs/libpcre2:=[static-libs?,${MULTILIB_USEDEP}] ) - python? ( ${PYTHON_DEPS} ) - ruby? ( - ruby_targets_ruby25? ( dev-lang/ruby:2.5 ) - ruby_targets_ruby26? ( dev-lang/ruby:2.6 ) - ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) - ) - elibc_musl? ( sys-libs/fts-standalone )" -DEPEND="${RDEPEND}" -BDEPEND="virtual/pkgconfig - python? ( >=dev-lang/swig-2.0.9 ) - ruby? ( >=dev-lang/swig-2.0.9 )" - -src_prepare() { - eapply_user - - multilib_copy_sources -} - -multilib_src_compile() { - tc-export AR CC PKG_CONFIG RANLIB - - emake \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="/$(get_libdir)" \ - LDFLAGS="-fPIC ${LDFLAGS} -pthread" \ - USE_PCRE2="$(usex pcre2 y n)" \ - FTS_LDLIBS="$(usex elibc_musl '-lfts' '')" \ - all - - if multilib_is_native_abi && use python; then - building() { - emake \ - LDFLAGS="-fPIC ${LDFLAGS} -lpthread" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="/$(get_libdir)" \ - USE_PCRE2="$(usex pcre2 y n)" \ - FTS_LDLIBS="$(usex elibc_musl '-lfts' '')" \ - pywrap - } - python_foreach_impl building - fi - - if multilib_is_native_abi && use ruby; then - building() { - einfo "Calling rubywrap for ${1}" - # Clean up .lo file to force rebuild - rm -f src/selinuxswig_ruby_wrap.lo || die - emake \ - RUBY=${1} \ - LDFLAGS="-fPIC ${LDFLAGS} -lpthread" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="/$(get_libdir)" \ - USE_PCRE2="$(usex pcre2 y n)" \ - FTS_LDLIBS="$(usex elibc_musl '-lfts' '')" \ - rubywrap - } - for RUBYTARGET in ${USE_RUBY}; do - use ruby_targets_${RUBYTARGET} || continue - - building ${RUBYTARGET} - done - fi -} - -multilib_src_install() { - emake DESTDIR="${D}" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="/$(get_libdir)" \ - USE_PCRE2="$(usex pcre2 y n)" \ - install - - if multilib_is_native_abi && use python; then - installation() { - emake DESTDIR="${D}" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="/$(get_libdir)" \ - USE_PCRE2="$(usex pcre2 y n)" \ - install-pywrap - python_optimize # bug 531638 - } - python_foreach_impl installation - fi - - if multilib_is_native_abi && use ruby; then - installation() { - einfo "Calling install-rubywrap for ${1}" - # Forcing (re)build here as otherwise the resulting SO file is used for all ruby versions - rm src/selinuxswig_ruby_wrap.lo - emake DESTDIR="${D}" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="/$(get_libdir)" \ - RUBY=${1} \ - USE_PCRE2="$(usex pcre2 y n)" \ - install-rubywrap - } - for RUBYTARGET in ${USE_RUBY}; do - use ruby_targets_${RUBYTARGET} || continue - - installation ${RUBYTARGET} - done - fi - - use static-libs || rm "${D}"/usr/lib*/*.a || die -} - -pkg_postinst() { - # Fix bug 473502 - for POLTYPE in ${POLICY_TYPES}; - do - mkdir -p /etc/selinux/${POLTYPE}/contexts/files || die - touch /etc/selinux/${POLTYPE}/contexts/files/file_contexts.local || die - # Fix bug 516608 - for EXPRFILE in file_contexts file_contexts.homedirs file_contexts.local ; do - if [[ -f "/etc/selinux/${POLTYPE}/contexts/files/${EXPRFILE}" ]]; then - sefcontext_compile /etc/selinux/${POLTYPE}/contexts/files/${EXPRFILE} \ - || die "Failed to recompile contexts" - fi - done - done -} diff --git a/sys-libs/libselinux/libselinux-3.3.ebuild b/sys-libs/libselinux/libselinux-3.3.ebuild index 8653460938e..8cb65e1d9e8 100644 --- a/sys-libs/libselinux/libselinux-3.3.ebuild +++ b/sys-libs/libselinux/libselinux-3.3.ebuild @@ -20,7 +20,7 @@ if [[ ${PV} == 9999 ]]; then S="${WORKDIR}/${P}/${PN}" else SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~mips ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~mips ~riscv x86" S="${WORKDIR}/${MY_P}" fi diff --git a/sys-libs/libselinux/libselinux-3.2.ebuild b/sys-libs/libselinux/libselinux-3.4_rc1.ebuild index 8cb65e1d9e8..90b74872231 100644 --- a/sys-libs/libselinux/libselinux-3.2.ebuild +++ b/sys-libs/libselinux/libselinux-3.4_rc1.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" -PYTHON_COMPAT=( python3_{7..10} ) -USE_RUBY="ruby25 ruby26 ruby27" +PYTHON_COMPAT=( python3_{8..10} ) +USE_RUBY="ruby26 ruby27" # No, I am not calling ruby-ng inherit python-r1 toolchain-funcs multilib-minimal @@ -20,13 +20,13 @@ if [[ ${PV} == 9999 ]]; then S="${WORKDIR}/${P}/${PN}" else SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz" - KEYWORDS="amd64 arm arm64 ~mips ~riscv x86" + KEYWORDS="~amd64 ~arm ~arm64 ~mips ~riscv ~x86" S="${WORKDIR}/${MY_P}" fi LICENSE="public-domain" SLOT="0" -IUSE="pcre2 python ruby static-libs ruby_targets_ruby25 ruby_targets_ruby26 ruby_targets_ruby27" +IUSE="+pcre2 python ruby static-libs ruby_targets_ruby26 ruby_targets_ruby27" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" RDEPEND=">=sys-libs/libsepol-${PV}:=[${MULTILIB_USEDEP}] @@ -34,7 +34,6 @@ RDEPEND=">=sys-libs/libsepol-${PV}:=[${MULTILIB_USEDEP}] pcre2? ( dev-libs/libpcre2:=[static-libs?,${MULTILIB_USEDEP}] ) python? ( ${PYTHON_DEPS} ) ruby? ( - ruby_targets_ruby25? ( dev-lang/ruby:2.5 ) ruby_targets_ruby26? ( dev-lang/ruby:2.6 ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ) diff --git a/sys-libs/libselinux/libselinux-9999.ebuild b/sys-libs/libselinux/libselinux-9999.ebuild index e2b8d9f65ed..90b74872231 100644 --- a/sys-libs/libselinux/libselinux-9999.ebuild +++ b/sys-libs/libselinux/libselinux-9999.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" -PYTHON_COMPAT=( python3_{7..9} ) -USE_RUBY="ruby25 ruby26 ruby27" +PYTHON_COMPAT=( python3_{8..10} ) +USE_RUBY="ruby26 ruby27" # No, I am not calling ruby-ng inherit python-r1 toolchain-funcs multilib-minimal @@ -20,13 +20,13 @@ if [[ ${PV} == 9999 ]]; then S="${WORKDIR}/${P}/${PN}" else SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~mips ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~mips ~riscv ~x86" S="${WORKDIR}/${MY_P}" fi LICENSE="public-domain" SLOT="0" -IUSE="pcre2 python ruby static-libs ruby_targets_ruby25 ruby_targets_ruby26 ruby_targets_ruby27" +IUSE="+pcre2 python ruby static-libs ruby_targets_ruby26 ruby_targets_ruby27" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" RDEPEND=">=sys-libs/libsepol-${PV}:=[${MULTILIB_USEDEP}] @@ -34,7 +34,6 @@ RDEPEND=">=sys-libs/libsepol-${PV}:=[${MULTILIB_USEDEP}] pcre2? ( dev-libs/libpcre2:=[static-libs?,${MULTILIB_USEDEP}] ) python? ( ${PYTHON_DEPS} ) ruby? ( - ruby_targets_ruby25? ( dev-lang/ruby:2.5 ) ruby_targets_ruby26? ( dev-lang/ruby:2.6 ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ) diff --git a/sys-libs/libsemanage/Manifest b/sys-libs/libsemanage/Manifest index eea237e73a7..afe07bc69cb 100644 --- a/sys-libs/libsemanage/Manifest +++ b/sys-libs/libsemanage/Manifest @@ -1,3 +1,2 @@ -DIST libsemanage-3.1.tar.gz 179601 BLAKE2B 69450a4eda1f3728d339f65db1eec9940995fcea5208d17dca531ebc998aefbfec48fe91beffa3490e1502953aa550405fb696635d01b0eb8050c8f00f11106a SHA512 8609ca7d13b5c603677740f2b14558fea3922624af182d20d618237ba11fcf2559fab82fc68d1efa6ff118f064d426f005138521652c761de92cd66150102197 -DIST libsemanage-3.2.tar.gz 178839 BLAKE2B c0925812d784923a7a239ba919fc0a0e1d84cb528cbf4a357fb7938d3c06ebd2f0b60cd3eba40b76bf7c2922a081b99b16b32dc16638aa1bfce32553e241fb9f SHA512 6ad670bb298b1bab506217b12a3fda5d2209f4387a11410f0c1b65f765ffb579b0d70795dee19048909e0b72ef904fc318be60d5a01f80ab12742ce07647a084 DIST libsemanage-3.3.tar.gz 178890 BLAKE2B f1ff2d25f0c98e9794cb443365e6193db80a42104b645ef4edf783db2eb3d940d1f39cddfa59f9a86ba16957c77852159b3ced83c5d01ecb1811aa6255f8be83 SHA512 6026d9773c0886436ad801bc0c8beac888b6fb62034edeb863192dea4b6ef34a88e080758820fe635a20e048ac666beee505a0f946258f18571709cca5228aad +DIST libsemanage-3.4-rc1.tar.gz 185794 BLAKE2B 0e1d537eddf465cbe895a931340c46869dc152abf39fb7cdc21002c9a12b613ab297063704a0a01c0eb0676ee3410482267cdef3940f2cdf088ca4683d76f452 SHA512 65bcb569981bc45b5520829e7df79bd6de75cd1877b75233727aa89484b123c730fd4dca4f297cf85616597632ec3c4be36b6cca1178811ac8cc0d45465954ca diff --git a/sys-libs/libsemanage/libsemanage-3.1-r1.ebuild b/sys-libs/libsemanage/libsemanage-3.1-r1.ebuild deleted file mode 100644 index 3fa67d4bf2a..00000000000 --- a/sys-libs/libsemanage/libsemanage-3.1-r1.ebuild +++ /dev/null @@ -1,128 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_{7..9} ) - -inherit python-r1 toolchain-funcs multilib-minimal - -MY_P="${P//_/-}" -MY_RELEASEDATE="20200710" - -SEPOL_VER="${PV}" -SELNX_VER="${PV}" - -DESCRIPTION="SELinux kernel and policy management library" -HOMEPAGE="https://github.com/SELinuxProject/selinux/wiki" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/SELinuxProject/selinux.git" - S="${WORKDIR}/${MY_P}/${PN}" -else - SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_RELEASEDATE}/${MY_P}.tar.gz" - KEYWORDS="amd64 ~arm ~arm64 ~mips x86" - S="${WORKDIR}/${MY_P}" -fi - -LICENSE="GPL-2" -SLOT="0" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND=">=sys-libs/libsepol-${SEPOL_VER}[${MULTILIB_USEDEP}] - >=sys-libs/libselinux-${SELNX_VER}[${MULTILIB_USEDEP}] - >=sys-process/audit-2.2.2[${MULTILIB_USEDEP}] - ${PYTHON_DEPS}" -DEPEND="${RDEPEND}" -BDEPEND=">=dev-lang/swig-2.0.4-r1 - sys-devel/bison - sys-devel/flex - virtual/pkgconfig" - -# tests are not meant to be run outside of the -# full SELinux userland repo -RESTRICT="test" - -src_prepare() { - eapply_user - - echo >> "${S}/src/semanage.conf" - echo "# Set this to true to save the linked policy." >> "${S}/src/semanage.conf" - echo "# This is normally only useful for analysis" >> "${S}/src/semanage.conf" - echo "# or debugging of policy." >> "${S}/src/semanage.conf" - echo "save-linked=false" >> "${S}/src/semanage.conf" - echo >> "${S}/src/semanage.conf" - echo "# Set this to 0 to disable assertion checking." >> "${S}/src/semanage.conf" - echo "# This should speed up building the kernel policy" >> "${S}/src/semanage.conf" - echo "# from policy modules, but may leave you open to" >> "${S}/src/semanage.conf" - echo "# dangerous rules which assertion checking" >> "${S}/src/semanage.conf" - echo "# would catch." >> "${S}/src/semanage.conf" - echo "expand-check=1" >> "${S}/src/semanage.conf" - echo >> "${S}/src/semanage.conf" - echo "# Modules in the module store can be compressed" >> "${S}/src/semanage.conf" - echo "# with bzip2. Set this to the bzip2 blocksize" >> "${S}/src/semanage.conf" - echo "# 1-9 when compressing. The higher the number," >> "${S}/src/semanage.conf" - echo "# the more memory is traded off for disk space." >> "${S}/src/semanage.conf" - echo "# Set to 0 to disable bzip2 compression." >> "${S}/src/semanage.conf" - echo "bzip-blocksize=0" >> "${S}/src/semanage.conf" - echo >> "${S}/src/semanage.conf" - echo "# Reduce memory usage for bzip2 compression and" >> "${S}/src/semanage.conf" - echo "# decompression of modules in the module store." >> "${S}/src/semanage.conf" - echo "bzip-small=true" >> "${S}/src/semanage.conf" - - multilib_copy_sources -} - -multilib_src_compile() { - emake \ - AR="$(tc-getAR)" \ - CC="$(tc-getCC)" \ - LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ - all - - if multilib_is_native_abi; then - building_py() { - emake \ - AR="$(tc-getAR)" \ - CC="$(tc-getCC)" \ - LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ - "$@" - } - python_foreach_impl building_py swigify - python_foreach_impl building_py pywrap - fi -} - -multilib_src_install() { - emake \ - LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ - DESTDIR="${ED}" install - - if multilib_is_native_abi; then - installation_py() { - emake DESTDIR="${ED}" \ - LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ - install-pywrap - python_optimize # bug 531638 - } - python_foreach_impl installation_py - fi -} - -multiib_src_install_all() { - python_setup - python_fix_shebang "${ED}"/usr/libexec/selinux/semanage_migrate_store -} - -pkg_postinst() { - # Migrate the SELinux semanage configuration store if not done already - local selinuxtype=$(awk -F'=' '/SELINUXTYPE=/ {print $2}' "${EROOT}"/etc/selinux/config 2>/dev/null) - if [ -n "${selinuxtype}" ] && [ ! -d "${EROOT}"/var/lib/selinux/${selinuxtype}/active ] ; then - ewarn "Since the 2.4 SELinux userspace, the policy module store is moved" - ewarn "from /etc/selinux to /var/lib/selinux. The migration will be run now." - ewarn "If there are any issues, it can be done manually by running:" - ewarn "/usr/libexec/selinux/semanage_migrate_store" - ewarn "For more information, please see" - ewarn "- https://github.com/SELinuxProject/selinux/wiki/Policy-Store-Migration" - fi -} diff --git a/sys-libs/libsemanage/libsemanage-3.3.ebuild b/sys-libs/libsemanage/libsemanage-3.3.ebuild index 88db66d921c..6a52cf9a36b 100644 --- a/sys-libs/libsemanage/libsemanage-3.3.ebuild +++ b/sys-libs/libsemanage/libsemanage-3.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -18,7 +18,7 @@ if [[ ${PV} == 9999 ]]; then S="${WORKDIR}/${P}/${PN}" else SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~mips ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~mips ~riscv x86" S="${WORKDIR}/${MY_P}" fi @@ -84,6 +84,7 @@ multilib_src_compile() { emake \ AR="$(tc-getAR)" \ CC="$(tc-getCC)" \ + PKG_CONFIG="$(tc-getPKG_CONFIG)" \ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ "$@" } @@ -101,6 +102,7 @@ multilib_src_install() { installation_py() { emake DESTDIR="${ED}" \ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ + PKG_CONFIG="$(tc-getPKG_CONFIG)" \ install-pywrap python_optimize # bug 531638 } diff --git a/sys-libs/libsemanage/libsemanage-3.2.ebuild b/sys-libs/libsemanage/libsemanage-3.4_rc1.ebuild index cea18c8179b..7ed5de5a42e 100644 --- a/sys-libs/libsemanage/libsemanage-3.2.ebuild +++ b/sys-libs/libsemanage/libsemanage-3.4_rc1.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{7..9} ) +PYTHON_COMPAT=( python3_{8..10} ) inherit python-r1 toolchain-funcs multilib-minimal @@ -18,7 +18,7 @@ if [[ ${PV} == 9999 ]]; then S="${WORKDIR}/${P}/${PN}" else SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz" - KEYWORDS="amd64 arm arm64 ~mips ~riscv x86" + KEYWORDS="~amd64 ~arm ~arm64 ~mips ~riscv ~x86" S="${WORKDIR}/${MY_P}" fi @@ -84,6 +84,7 @@ multilib_src_compile() { emake \ AR="$(tc-getAR)" \ CC="$(tc-getCC)" \ + PKG_CONFIG="$(tc-getPKG_CONFIG)" \ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ "$@" } @@ -101,6 +102,7 @@ multilib_src_install() { installation_py() { emake DESTDIR="${ED}" \ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ + PKG_CONFIG="$(tc-getPKG_CONFIG)" \ install-pywrap python_optimize # bug 531638 } diff --git a/sys-libs/libsemanage/libsemanage-9999.ebuild b/sys-libs/libsemanage/libsemanage-9999.ebuild index e48ea5a71f7..7ed5de5a42e 100644 --- a/sys-libs/libsemanage/libsemanage-9999.ebuild +++ b/sys-libs/libsemanage/libsemanage-9999.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{7..9} ) +PYTHON_COMPAT=( python3_{8..10} ) inherit python-r1 toolchain-funcs multilib-minimal @@ -18,7 +18,7 @@ if [[ ${PV} == 9999 ]]; then S="${WORKDIR}/${P}/${PN}" else SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~mips ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~mips ~riscv ~x86" S="${WORKDIR}/${MY_P}" fi @@ -84,6 +84,7 @@ multilib_src_compile() { emake \ AR="$(tc-getAR)" \ CC="$(tc-getCC)" \ + PKG_CONFIG="$(tc-getPKG_CONFIG)" \ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ "$@" } @@ -101,6 +102,7 @@ multilib_src_install() { installation_py() { emake DESTDIR="${ED}" \ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ + PKG_CONFIG="$(tc-getPKG_CONFIG)" \ install-pywrap python_optimize # bug 531638 } diff --git a/sys-libs/libsepol/Manifest b/sys-libs/libsepol/Manifest index 2dfd96f02d0..eb73f8961d9 100644 --- a/sys-libs/libsepol/Manifest +++ b/sys-libs/libsepol/Manifest @@ -1,3 +1,2 @@ -DIST libsepol-3.1.tar.gz 473842 BLAKE2B ef1d596c4d53cc0a87e899ef4aeb5bf29c9d6b8303632ddc866c100d30debd8aedd0e8b38cb4ce3141b80421cd914148ff072e492d63dc2dacf03ac2ce59ca5a SHA512 4b5f4e82853ff3e9b4fac2dbdea5c2fc3bb7b508af912217ac4b75da6540fbcd77aa314ab95cd9dfa94fbc4a885000656a663c1a152f65b4cf6970ea0b6034ab -DIST libsepol-3.2.tar.gz 477749 BLAKE2B 6f35387c0373869672080e151f212c081389f6799539124353aa1749ae2648669b2e237a271297c1c212b7a9e0c35f05edfff1bb724c8a15993e8fb8c599ac2e SHA512 1a6b3489ff766958a4b444b9be63a794267243aed303d3e7d87278f11be492dbf603a0c8181c4c5e01cb0e1ceb43810a77f738f0b9bd1d7d2be67053f9c67a6f DIST libsepol-3.3.tar.gz 482546 BLAKE2B 977996f68807f73a5bc0bd3a07b605640eb02a7bc67971882d489def166539ff7cfd00e474adde7e923fbebebdfcdcb71d17a43e3396c3176e25fd7d3bd65238 SHA512 fb6bb69f8e43a911a1a9cbd791593215386e93cb9292e003f5d8efe6e86e0ce5d0287e95d52fe2fbce518a618beaf9b1135aea0d04eaebcdbd8c6d07ee67b500 +DIST libsepol-3.4-rc1.tar.gz 488545 BLAKE2B 9df7ba2e6f0275347d0170cf4115b6bc6f2d2a631100517d18a14d337ca12639632cdbfbd1060350c32ace8bbc33ef80bc962f4c9911e227f116e1cf595fd373 SHA512 9933e7c47d9f4018974d112499a2bea25667e31e673af3cee187c7120ed3b7aa425b2c81682ba14257744215f63216332c5cb61e788075fc50b33b9b44494cb8 diff --git a/sys-libs/libsepol/libsepol-3.1.ebuild b/sys-libs/libsepol/libsepol-3.1.ebuild deleted file mode 100644 index ccf481b3d44..00000000000 --- a/sys-libs/libsepol/libsepol-3.1.ebuild +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit toolchain-funcs multilib-minimal - -MY_P="${P//_/-}" -MY_RELEASEDATE="20200710" - -DESCRIPTION="SELinux binary policy representation library" -HOMEPAGE="https://github.com/SELinuxProject/selinux/wiki" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/SELinuxProject/selinux.git" - S="${WORKDIR}/${MY_P}/${PN}" -else - SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_RELEASEDATE}/${MY_P}.tar.gz" - KEYWORDS="amd64 ~arm ~arm64 ~mips x86" - S="${WORKDIR}/${MY_P}" -fi - -LICENSE="GPL-2" -SLOT="0" - -# tests are not meant to be run outside of the full SELinux userland repo -RESTRICT="test" - -src_prepare() { - eapply_user - multilib_copy_sources -} - -multilib_src_compile() { - tc-export CC AR RANLIB - - # https://bugs.gentoo.org/706730 - local -x CFLAGS="${CFLAGS} -fcommon" - - emake \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="/$(get_libdir)" -} - -multilib_src_install() { - emake DESTDIR="${D}" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="/$(get_libdir)" \ - install -} diff --git a/sys-libs/libsepol/libsepol-3.3.ebuild b/sys-libs/libsepol/libsepol-3.3.ebuild index 0878e192477..58ebda5eaea 100644 --- a/sys-libs/libsepol/libsepol-3.3.ebuild +++ b/sys-libs/libsepol/libsepol-3.3.ebuild @@ -17,7 +17,7 @@ if [[ ${PV} == 9999 ]]; then S="${WORKDIR}/${P}/${PN}" else SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~mips ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~mips ~riscv x86" S="${WORKDIR}/${MY_P}" fi diff --git a/sys-libs/libsepol/libsepol-3.2.ebuild b/sys-libs/libsepol/libsepol-3.4_rc1.ebuild index 58ebda5eaea..7a3db223026 100644 --- a/sys-libs/libsepol/libsepol-3.2.ebuild +++ b/sys-libs/libsepol/libsepol-3.4_rc1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" @@ -17,7 +17,7 @@ if [[ ${PV} == 9999 ]]; then S="${WORKDIR}/${P}/${PN}" else SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz" - KEYWORDS="amd64 arm arm64 ~mips ~riscv x86" + KEYWORDS="~amd64 ~arm ~arm64 ~mips ~riscv ~x86" S="${WORKDIR}/${MY_P}" fi diff --git a/sys-libs/libsepol/libsepol-9999.ebuild b/sys-libs/libsepol/libsepol-9999.ebuild index 141803b9f56..7a3db223026 100644 --- a/sys-libs/libsepol/libsepol-9999.ebuild +++ b/sys-libs/libsepol/libsepol-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" @@ -17,7 +17,7 @@ if [[ ${PV} == 9999 ]]; then S="${WORKDIR}/${P}/${PN}" else SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~mips ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~mips ~riscv ~x86" S="${WORKDIR}/${MY_P}" fi diff --git a/sys-libs/libservicelog/metadata.xml b/sys-libs/libservicelog/metadata.xml index 2219560b548..ffcdd1d9fe5 100644 --- a/sys-libs/libservicelog/metadata.xml +++ b/sys-libs/libservicelog/metadata.xml @@ -6,6 +6,6 @@ <name>Gentoo Linux PowerPC Development</name> </maintainer> <upstream> - <remote-id type="sourceforge">linux-diag</remote-id> + <remote-id type="github">power-ras/libservicelog</remote-id> </upstream> </pkgmetadata> diff --git a/sys-libs/libsmbios/libsmbios-2.4.3.ebuild b/sys-libs/libsmbios/libsmbios-2.4.3.ebuild index 56a475848ec..f982ee3c039 100644 --- a/sys-libs/libsmbios/libsmbios-2.4.3.ebuild +++ b/sys-libs/libsmbios/libsmbios-2.4.3.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{7,8,9} ) +PYTHON_COMPAT=( python3_{8..10} ) inherit autotools flag-o-matic python-single-r1 diff --git a/sys-libs/libstatgrab/libstatgrab-0.92.ebuild b/sys-libs/libstatgrab/libstatgrab-0.92.ebuild index 4a87ed781b6..b2d0f65011f 100644 --- a/sys-libs/libstatgrab/libstatgrab-0.92.ebuild +++ b/sys-libs/libstatgrab/libstatgrab-0.92.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -9,7 +9,7 @@ SRC_URI="https://www.mirrorservice.org/sites/ftp.i-scream.org/pub/i-scream/libst LICENSE="|| ( GPL-2 LGPL-2.1 )" SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ~riscv x86" +KEYWORDS="amd64 ~arm arm64 ~ia64 ppc ~riscv x86" IUSE="examples" RDEPEND="sys-libs/ncurses" diff --git a/sys-libs/libstdc++-v3/Manifest b/sys-libs/libstdc++-v3/Manifest index 584ab64a4d9..614374a5e9d 100644 --- a/sys-libs/libstdc++-v3/Manifest +++ b/sys-libs/libstdc++-v3/Manifest @@ -1,3 +1,2 @@ -DIST gcc-3.3.6-patches-1.10.tar.bz2 53739 BLAKE2B d22772d30c432669299e3e6df350920408c510a241a20e6795dcc680227342a16c3b6d2e477a17d6c49794005b42972ed30b4efe5b2d69398d283f50efdeb459 SHA512 be6cc8fae217f789982e324e0d3ad12d527e43ca4c168bce613397aaf3d86219b125e7b39c2b236638a68112cfee0e06c1b297fead712d92b3923b7195299d0a DIST gcc-3.3.6-patches-4.tar.bz2 53437 BLAKE2B 372ff1fcfcfacca43b420d2cda7fccb2ede4917408e1fcceb6c094694de8ae21148fa9c5ab8663cf6fb9ad858e3d0cbb3f20c91020db7b627828403444c2fd66 SHA512 1ff4563956d2f3af1240a14cd1ec126ff75dcf24e1cec39d32a17d6be92b94aeb081605ceb04b138ba905cea8ccbe204dce4b42a02ef55383fcfa91643f73faf DIST gcc-3.3.6.tar.bz2 23972413 BLAKE2B e7b33edcdbbb13b0be41a41156bf6fb6dcfe4f5ad75c41de86cb37f854be6b7a6a8dda0e65d331461469848cd912e25920e8aa2dcb142cb661731ba571cb5de1 SHA512 576b88e2fa675314a79a85f180684fe5af370c596476a0bf02e33e8ae0e2be838417ea80675ce4194a8213792cf7ada50cae5131149e4b890ab61e0b8d50d0ed diff --git a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r3.ebuild b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r3.ebuild deleted file mode 100644 index 0bf6a4ade8c..00000000000 --- a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r3.ebuild +++ /dev/null @@ -1,201 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit epatch flag-o-matic libtool multilib toolchain-funcs - -PATCH_VER="1.10" - -DESCRIPTION="Compatibility package for binaries linked against a pre gcc 3.4 libstdc++" -HOMEPAGE="https://gcc.gnu.org/libstdc++/" -SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/gcc-${PV}/gcc-${PV}.tar.bz2 - mirror://gentoo/gcc-${PV}-patches-${PATCH_VER}.tar.bz2" - -LICENSE="GPL-2 LGPL-2.1" -SLOT="5" -KEYWORDS="~amd64 ~x86" -IUSE="multilib nls" - -RDEPEND="sys-libs/zlib" -DEPEND=" - ${RDEPEND} - sys-devel/bison" - -transform_known_flags() { - declare setting - - # and on x86, we just need to filter the 3.4 specific amd64 -marchs - replace-cpu-flags k8 athlon64 opteron x86-64 - - # gcc 3.3 doesn't support -march=pentium-m - replace-cpu-flags pentium-m pentium3m pentium3 - - #GCC 3.3 does not understand G3, G4, G5 on ppc - replace-cpu-flags G3 750 - replace-cpu-flags G4 7400 - replace-cpu-flags G5 7400 - - filter-flags -fdiagnostics-show-option -} - -is_arch_allowed() { - i386_processor_table="i386 i486 i586 pentium pentium-mmx winchip-c6 \ - winchip2 c3 i686 pentiumpro pentium2 pentium3 pentium4 prescott \ - nocona k6 k6-2 k6-3 athlon athlon-tbird x86-64 athlon-4 athlon-xp \ - athlon-mp" - - for proc in ${i386_processor_table} ; do - [ "${proc}" == "${1}" ] && return 0 - done - - mips_processor_table="mips1 mips2 mips3 mips4 mips32 mips64 r3000 r2000 \ - r3900 r6000 r4000 vr4100 vr4111 vr4120 vr4300 r4400 r4600 orion \ - r4650 r8000 vr5000 vr5400 vr5500 4kc 4kp 5kc 20kc sr71000 sb1" - - for proc in ${mips_processor_table} ; do - [ "${proc}" == "${1}" ] && return 0 - done - - rs6000_processor_table="common power power2 power3 power4 powerpc \ - powerpc64 rios rios1 rsc rsc1 rios2 rs64a 401 403 405 505 601 602 \ - 603 603e ec603e 604 604e 620 630 740 750 7400 7450 8540 801 821 823 \ - 860" - - for proc in ${rs6000_processor_table} ; do - [ "${proc}" == "${1}" ] && return 0 - done - - return 1 -} - -do_filter_flags() { - declare setting - - # In general gcc does not like optimization, and add -O2 where - # it is safe. This is especially true for gcc 3.3 + 3.4 - replace-flags -O? -O2 - - # gcc 3.3 doesn't support -mtune on numerous archs, so xgcc will fail - setting="`get-flag mtune`" - [ ! -z "${setting}" ] && filter-flags -mtune="${setting}" - - # in gcc 3.3 there is a bug on ppc64 where if -mcpu is used - # the compiler incorrectly assumes the code you are about to build - # is 32 bit - use ppc64 && setting="`get-flag mcpu`" - [ ! -z "${setting}" ] && filter-flags -mcpu="${setting}" - - # only allow the flags that we -know- are supported - transform_known_flags - setting="`get-flag march`" - if [ ! -z "${setting}" ] ; then - is_arch_allowed "${setting}" || filter-flags -march="${setting}" - fi - setting="`get-flag mcpu`" - if [ ! -z "${setting}" ] ; then - is_arch_allowed "${setting}" || filter-flags -mcpu="${setting}" - fi - - # xgcc wont understand gcc 3.4 flags... - filter-flags -fno-unit-at-a-time - filter-flags -funit-at-a-time - filter-flags -fweb - filter-flags -fno-web - filter-flags -mno-tls-direct-seg-refs - - # xgcc isnt patched with propolice - filter-flags -fstack-protector-all - filter-flags -fno-stack-protector-all - filter-flags -fstack-protector - filter-flags -fno-stack-protector - - # xgcc isnt patched with the gcc symbol visibility patch - filter-flags -fvisibility-inlines-hidden - filter-flags -fvisibility=hidden - - # Bug #269433 & #290202 - filter-flags -fno-strict-overflow - filter-flags -fstrict-overflow - - # Bug #442784 - filter-flags '-W*' - - filter-flags -frecord-gcc-switches - filter-flags '-fdiagnostics-color*' - - # Bug #610064 - filter-flags '-fstack-check*' - - # ...sure, why not? - strip-unsupported-flags - - strip-flags -} - -S=${WORKDIR}/gcc-${PV} - -src_prepare() { - EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch - - default - - elibtoolize --portage --shallow - ./contrib/gcc_update --touch - - if use multilib && [[ ${SYMLINK_LIB} == "yes" ]] ; then - # ugh, this shit has to match the way we've hacked gcc else - # the build falls apart #259215 - sed -i \ - -e 's:\(MULTILIB_OSDIRNAMES = \).*:\1../lib64 ../lib32:' \ - "${S}"/gcc/config/i386/t-linux64 \ - || die "sed failed!" - fi - - tc-export AR CC RANLIB NM -} - -src_configure() { - mkdir -p "${WORKDIR}"/build - cd "${WORKDIR}"/build - do_filter_flags - ECONF_SOURCE=${S} \ - econf \ - --enable-shared \ - --with-system-zlib \ - --enable-languages=c++ \ - --enable-threads=posix \ - --enable-long-long \ - --disable-checking \ - --enable-cstdio=stdio \ - --enable-__cxa_atexit \ - $(use_enable multilib) \ - $(use_enable nls) \ - $(use_with !nls included-gettext) - - touch "${S}"/gcc/c-gperf.h -} - -src_compile() { - emake \ - -C "${WORKDIR}"/build all-target-libstdc++-v3 \ - AR="$(tc-getAR)" \ - NM="$(tc-getNM)" -} - -src_install() { - emake -j1 \ - -C "${WORKDIR}"/build \ - AR="$(tc-getAR)" \ - NM="$(tc-getNM)" \ - DESTDIR="${D}" \ - install-target-libstdc++-v3 - - # scrub everything but the library we care about - pushd "${D}" >/dev/null - mv usr/lib* . || die - rm -rf usr - rm -f lib*/*.{a,la,so} || die - dodir /usr - mv lib* usr/ || die -} diff --git a/sys-libs/libucontext/Manifest b/sys-libs/libucontext/Manifest index d38b31369f6..909d659abb9 100644 --- a/sys-libs/libucontext/Manifest +++ b/sys-libs/libucontext/Manifest @@ -1 +1,2 @@ DIST libucontext-1.1.tar.gz 25261 BLAKE2B 269b3899657779bc2c6a2f1c365242f0ee936afeb0acf74e48af5c1e6b96918bbaa239039508e7b1b1f7b358679fb4a222311b761223b69b9a3e7a9be2d0bc40 SHA512 05aed6f82a2b3d9dba896423335a7fc2fc5eddc87ed725f05e14488c6ddfcef10b835c928619439c7783e052baff7ef2dc162b6e06aa78992f6f611ca13c2e39 +DIST libucontext-1.2.tar.gz 29073 BLAKE2B 378816376877729776c41515ad1c3da36c24528bcdcf5272c4df2029b5273cf90228c163e87bd1af558129b1274d0b22632c4fa8ad2a0f37ac7014dae527a48e SHA512 f47b776517fa9e3fe48b762b11ae580c28bd7646f9e3ab843141d3e203f886326e68dd8040852ab1cb92dbd09d821161660c4be44e3025448d90131e74a4cf51 diff --git a/sys-libs/libucontext/files/libucontext-1.1-respect-CFLAGS.patch b/sys-libs/libucontext/files/libucontext-1.1-respect-CFLAGS.patch new file mode 100644 index 00000000000..49dd872690d --- /dev/null +++ b/sys-libs/libucontext/files/libucontext-1.1-respect-CFLAGS.patch @@ -0,0 +1,13 @@ +https://bugs.gentoo.org/832677 +https://github.com/kaniini/libucontext/issues/39 +--- a/Makefile ++++ b/Makefile +@@ -17,7 +17,7 @@ endif + LIBDIR := /lib + INCLUDEDIR := /usr/include + PKGCONFIGDIR := /usr/lib/pkgconfig +-CFLAGS := -ggdb3 -O2 -Wall ++CFLAGS ?= -ggdb3 -O2 -Wall + CPPFLAGS := -Iinclude -Iarch/${ARCH} -Iarch/common + EXPORT_UNPREFIXED := yes + FREESTANDING := no diff --git a/sys-libs/libucontext/libucontext-1.1.ebuild b/sys-libs/libucontext/libucontext-1.1-r1.ebuild index f637a693a33..7ec73298a79 100644 --- a/sys-libs/libucontext/libucontext-1.1.ebuild +++ b/sys-libs/libucontext/libucontext-1.1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -20,10 +20,14 @@ BDEPEND="man? ( app-text/scdoc )" # segfault needs investigation RESTRICT="test" +PATCHES=( + "${FILESDIR}"/${PN}-1.1-respect-CFLAGS.patch +) + src_compile() { tc-export AR CC - local arch + arch= # Override arch detection # https://github.com/kaniini/libucontext/blob/master/Makefile#L3 @@ -39,13 +43,25 @@ src_compile() { arch="$(uname -m)" fi - emake ARCH="${arch}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" all $(usev man 'docs') + emake \ + ARCH="${arch}" \ + LDFLAGS="${LDFLAGS}" \ + LIBDIR="/usr/$(get_libdir)" \ + all $(usev man 'docs') } src_test() { - emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" check + emake \ + ARCH="${arch}" \ + LDFLAGS="${LDFLAGS}" \ + LIBDIR="/usr/$(get_libdir)" \ + check } src_install() { - emake DESTDIR="${ED}" LIBDIR="/usr/$(get_libdir)" install $(usev man 'install_docs') + emake \ + ARCH="${arch}" \ + DESTDIR="${ED}" \ + LIBDIR="/usr/$(get_libdir)" \ + install $(usev man 'install_docs') } diff --git a/sys-libs/libucontext/libucontext-1.2.ebuild b/sys-libs/libucontext/libucontext-1.2.ebuild new file mode 100644 index 00000000000..7120a14d92c --- /dev/null +++ b/sys-libs/libucontext/libucontext-1.2.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="ucontext implementation featuring glibc-compatible ABI" +HOMEPAGE="https://github.com/kaniini/libucontext" +SRC_URI="https://github.com/kaniini/libucontext/archive/refs/tags/${P}.tar.gz" +S="${WORKDIR}"/${PN}-${P} + +LICENSE="ISC" +SLOT="0" +KEYWORDS="~amd64" +IUSE="+man" + +BDEPEND="man? ( app-text/scdoc )" + +# segfault needs investigation +# 1.2 eems ok? +#RESTRICT="test" + +src_compile() { + tc-export AR CC + + arch= + + # Override arch detection + # https://github.com/kaniini/libucontext/blob/master/Makefile#L3 + if use x86 ; then + arch="x86" + elif use arm ; then + arch="arm" + elif use arm64 ; then + arch="aarch64" + elif use ppc64 ; then + arch="ppc64" + else + arch="$(uname -m)" + fi + + emake \ + ARCH="${arch}" \ + LDFLAGS="${LDFLAGS}" \ + LIBDIR="/usr/$(get_libdir)" \ + PKGCONFIGDIR="/usr/$(get_libdir)/pkgconfig" \ + all $(usev man 'docs') +} + +src_test() { + emake \ + ARCH="${arch}" \ + LDFLAGS="${LDFLAGS}" \ + LIBDIR="/usr/$(get_libdir)" \ + PKGCONFIGDIR="/usr/$(get_libdir)/pkgconfig" \ + check +} + +src_install() { + emake \ + ARCH="${arch}" \ + DESTDIR="${ED}" \ + LIBDIR="/usr/$(get_libdir)" \ + PKGCONFIGDIR="/usr/$(get_libdir)/pkgconfig" \ + install $(usev man 'install_docs') + + find "${ED}" -name '*.a' -delete || die +} diff --git a/sys-libs/libunwind/Manifest b/sys-libs/libunwind/Manifest index 2cf810467cc..7b180086ae0 100644 --- a/sys-libs/libunwind/Manifest +++ b/sys-libs/libunwind/Manifest @@ -1,2 +1 @@ -DIST libunwind-1.5.0.tar.gz 878355 BLAKE2B ee35441289926ac22a58bedb9f831d8e13bacd663a99b3ce25eed229f25f0423bbbd90e09e3d62b003518d7a620aa6d15b0dd5b93632736a89fa0667b35d5fc2 SHA512 1df20ca7a8cee2f2e61294fa9b677e88fec52e9d5a329f88d05c2671c69fa462f6c18808c97ca9ff664ef57292537a844f00b18d142b1938c9da701ca95a4bab DIST libunwind-1.6.2.tar.gz 901392 BLAKE2B 3d0313f7e92cbc3e1a84ad3831a5170f21cdf772f1697ca0a59dea63cdd47da382e9f1fd77325d9ff8bcd47559a425dc883a820c646c628cd00faed82cb0f83f SHA512 1d17dfb14f99a894a6cda256caf9ec481c14068aaf8f3a85fa3befa7c7cca7fca0f544a91a3a7c2f2fc55bab19b06a67ca79f55ac9081151d94478c7f611f8f7 diff --git a/sys-libs/libunwind/files/libunwind-1.2-coredump-regs.patch b/sys-libs/libunwind/files/libunwind-1.2-coredump-regs.patch deleted file mode 100644 index 3ddc610d4af..00000000000 --- a/sys-libs/libunwind/files/libunwind-1.2-coredump-regs.patch +++ /dev/null @@ -1,16 +0,0 @@ -https://bugs.gentoo.org/586092 - -this might not be correct, but at least it builds, and doesn't crash - ---- a/src/coredump/_UCD_access_reg_linux.c -+++ b/src/coredump/_UCD_access_reg_linux.c -@@ -51,6 +51,9 @@ _UCD_access_reg (unw_addr_space_t as, - #elif defined(UNW_TARGET_TILEGX) - if (regnum < 0 || regnum > UNW_TILEGX_CFA) - goto badreg; -+#elif defined(UNW_TARGET_IA64) || defined(UNW_TARGET_HPPA) || defined(UNW_TARGET_PPC32) || defined(UNW_TARGET_PPC64) -+ if (regnum < 0 || regnum >= ARRAY_SIZE(ui->prstatus->pr_reg)) -+ goto badreg; - #else - #if defined(UNW_TARGET_MIPS) - static const uint8_t remap_regs[] = diff --git a/sys-libs/libunwind/files/libunwind-1.2-ia64-missing.patch b/sys-libs/libunwind/files/libunwind-1.2-ia64-missing.patch deleted file mode 100644 index e15250b4c61..00000000000 --- a/sys-libs/libunwind/files/libunwind-1.2-ia64-missing.patch +++ /dev/null @@ -1,93 +0,0 @@ -Original libunwind release is missing a few ia64-specific files in tarball. -diff --git a/src/ia64/mk_Gcursor_i.c b/src/ia64/mk_Gcursor_i.c -new file mode 100644 -index 0000000..67b14d5 ---- /dev/null -+++ b/src/ia64/mk_Gcursor_i.c -@@ -0,0 +1,65 @@ -+/* libunwind - a platform-independent unwind library -+ Copyright (C) 2003 Hewlett-Packard Co -+ Contributed by David Mosberger-Tang <davidm@hpl.hp.com> -+ -+This file is part of libunwind. -+ -+Permission is hereby granted, free of charge, to any person obtaining -+a copy of this software and associated documentation files (the -+"Software"), to deal in the Software without restriction, including -+without limitation the rights to use, copy, modify, merge, publish, -+distribute, sublicense, and/or sell copies of the Software, and to -+permit persons to whom the Software is furnished to do so, subject to -+the following conditions: -+ -+The above copyright notice and this permission notice shall be -+included in all copies or substantial portions of the Software. -+ -+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -+ -+/* Utility to generate cursor_i.h. */ -+ -+#include "libunwind_i.h" -+ -+#ifdef offsetof -+# undef offsetof -+#endif -+ -+#define offsetof(type,field) ((char *) &((type *) 0)->field - (char *) 0) -+ -+#define OFFSET(sym, offset) \ -+ asm volatile("\n->" #sym " %0" : : "i" (offset)) -+ -+int -+main (void) -+{ -+ OFFSET("IP_OFF", offsetof (struct cursor, ip)); -+ OFFSET("PR_OFF", offsetof (struct cursor, pr)); -+ OFFSET("BSP_OFF", offsetof (struct cursor, bsp)); -+ OFFSET("PSP_OFF", offsetof (struct cursor, psp)); -+ OFFSET("PFS_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_PFS])); -+ OFFSET("RNAT_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_RNAT])); -+ OFFSET("UNAT_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_UNAT])); -+ OFFSET("LC_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_LC])); -+ OFFSET("FPSR_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_FPSR])); -+ OFFSET("B1_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_B1])); -+ OFFSET("B2_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_B2])); -+ OFFSET("B3_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_B3])); -+ OFFSET("B4_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_B4])); -+ OFFSET("B5_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_B5])); -+ OFFSET("F2_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_F2])); -+ OFFSET("F3_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_F3])); -+ OFFSET("F4_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_F4])); -+ OFFSET("F5_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_F5])); -+ OFFSET("FR_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_F16])); -+ OFFSET("LOC_SIZE", -+ (offsetof (struct cursor, loc[1]) - offsetof (struct cursor, loc[0]))); -+ OFFSET("SIGCONTEXT_ADDR_OFF", offsetof (struct cursor, sigcontext_addr)); -+ return 0; -+} -diff --git a/src/ia64/mk_Lcursor_i.c b/src/ia64/mk_Lcursor_i.c -new file mode 100644 -index 0000000..aee2e7e ---- /dev/null -+++ b/src/ia64/mk_Lcursor_i.c -@@ -0,0 +1,2 @@ -+#define UNW_LOCAL_ONLY -+#include "mk_Gcursor_i.c" -diff --git a/src/ia64/mk_cursor_i b/src/ia64/mk_cursor_i -new file mode 100755 -index 0000000..9211f91 ---- /dev/null -+++ b/src/ia64/mk_cursor_i -@@ -0,0 +1,7 @@ -+#!/bin/sh -+test -z "$1" && exit 1 -+echo "/* GENERATED */" -+echo "#ifndef cursor_i_h" -+echo "#define cursor_i_h" -+sed -ne 's/^->"\(\S*\)" \(\d*\)/#define \1 \2/p' < $1 || exit $? -+echo "#endif" diff --git a/sys-libs/libunwind/files/libunwind-1.2-ia64-ptrace-coredump.patch b/sys-libs/libunwind/files/libunwind-1.2-ia64-ptrace-coredump.patch deleted file mode 100644 index 3785d8820cd..00000000000 --- a/sys-libs/libunwind/files/libunwind-1.2-ia64-ptrace-coredump.patch +++ /dev/null @@ -1,34 +0,0 @@ -Fix build failure on ia64. - coredump/_UPT_get_dyn_info_list_addr.c -is almost identical to - ptrace/_UPT_get_dyn_info_list_addr.c -It's clearly an __ia64 implementation copy. -diff --git a/src/coredump/_UPT_get_dyn_info_list_addr.c b/src/coredump/_UPT_get_dyn_info_list_addr.c -index 0d11905..176b146 100644 ---- a/src/coredump/_UPT_get_dyn_info_list_addr.c -+++ b/src/coredump/_UPT_get_dyn_info_list_addr.c -@@ -31,2 +31,3 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - # include "os-linux.h" -+# include "../ptrace/_UPT_internal.h" - -@@ -40,3 +41,2 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg, - char path[PATH_MAX]; -- unw_dyn_info_t *di; - unw_word_t res; -@@ -50,5 +50,5 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg, - -- invalidate_edi (&ui->edi); -+ invalidate_edi(&ui->edi); - -- if (elf_map_image (&ui->ei, path) < 0) -+ if (elf_map_image (&ui->edi.ei, path) < 0) - /* ignore unmappable stuff like "/SYSV00001b58 (deleted)" */ -@@ -58,6 +58,5 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg, - -- di = tdep_find_unwind_table (&ui->edi, as, path, lo, off); -- if (di) -+ if (tdep_find_unwind_table (&ui->edi, as, path, lo, off, 0) > 0) - { -- res = _Uia64_find_dyn_list (as, di, arg); -+ res = _Uia64_find_dyn_list (as, &ui->edi.di_cache, arg); - if (res && count++ == 0) diff --git a/sys-libs/libunwind/files/libunwind-1.2.1-only-include-execinfo_h-if-avaliable.patch b/sys-libs/libunwind/files/libunwind-1.2.1-only-include-execinfo_h-if-avaliable.patch deleted file mode 100644 index b6ba0028c80..00000000000 --- a/sys-libs/libunwind/files/libunwind-1.2.1-only-include-execinfo_h-if-avaliable.patch +++ /dev/null @@ -1,53 +0,0 @@ -https://github.com/libunwind/libunwind/commit/6382d6f5c9d4d149989e47b20446f794365137c1 - -From 0f3f41a86842f2b19aa07af5242cb775ef9b20d3 Mon Sep 17 00:00:00 2001 -From: "Jory A. Pratt" <anarchy@gentoo.org> -Date: Sat, 30 Jun 2018 22:44:22 -0500 -Subject: [PATCH] Only include execinfo.h where avaliable - -Signed-off-by: Jory A. Pratt <anarchy@gentoo.org> ---- - tests/test-coredump-unwind.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/tests/test-coredump-unwind.c b/tests/test-coredump-unwind.c -index 5254708..33f92b0 100644 ---- a/tests/test-coredump-unwind.c -+++ b/tests/test-coredump-unwind.c -@@ -57,7 +57,9 @@ - #include <grp.h> - - /* For SIGSEGV handler code */ -+#if HAVE_EXECINFO_H - #include <execinfo.h> -+#endif - #include <sys/ucontext.h> - - #include <libunwind-coredump.h> -@@ -202,7 +204,7 @@ void die_out_of_memory(void) - /* End of utility logging functions */ - - -- -+#if HAVE_EXECINFO_H - static - void handle_sigsegv(int sig, siginfo_t *info, void *ucontext) - { -@@ -249,12 +251,14 @@ void handle_sigsegv(int sig, siginfo_t *info, void *ucontext) - - _exit(1); - } -- -+#endif - static void install_sigsegv_handler(void) - { - struct sigaction sa; - memset(&sa, 0, sizeof(sa)); -+#if HAVE_EXECINFO_H - sa.sa_sigaction = handle_sigsegv; -+#endif - sa.sa_flags = SA_SIGINFO; - sigaction(SIGSEGV, &sa, NULL); - sigaction(SIGILL, &sa, NULL); --- -2.18.0 diff --git a/sys-libs/libunwind/files/libunwind-1.5.0-x32.patch b/sys-libs/libunwind/files/libunwind-1.5.0-x32.patch deleted file mode 100644 index a3bbc81f45b..00000000000 --- a/sys-libs/libunwind/files/libunwind-1.5.0-x32.patch +++ /dev/null @@ -1,17 +0,0 @@ -https://bugs.gentoo.org/614374 - -From: kasperk81 <83082615+kasperk81@users.noreply.github.com> -Date: Wed, 30 Jun 2021 23:23:22 +0000 -Subject: [PATCH] Fix -mx32 compilation error - ---- a/src/x86_64/Gos-linux.c -+++ b/src/x86_64/Gos-linux.c -@@ -149,7 +149,7 @@ x86_64_sigreturn (unw_cursor_t *cursor) - __asm__ __volatile__ ("mov %0, %%rsp;" - "mov %1, %%rax;" - "syscall" -- :: "r"(sc), "i"(SYS_rt_sigreturn) -+ :: "r"((uint64_t)sc), "i"(SYS_rt_sigreturn) - : "memory"); - abort(); - } diff --git a/sys-libs/libunwind/libunwind-1.5.0-r1.ebuild b/sys-libs/libunwind/libunwind-1.5.0-r1.ebuild deleted file mode 100644 index 082fdab6ed8..00000000000 --- a/sys-libs/libunwind/libunwind-1.5.0-r1.ebuild +++ /dev/null @@ -1,108 +0,0 @@ -# Copyright 2005-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -MY_PV=${PV/_/-} -MY_P=${PN}-${MY_PV} -inherit autotools flag-o-matic libtool multilib-minimal - -DESCRIPTION="Portable and efficient API to determine the call-chain of a program" -HOMEPAGE="https://savannah.nongnu.org/projects/libunwind" -SRC_URI="mirror://nongnu/libunwind/${MY_P}.tar.gz" - -LICENSE="MIT" -SLOT="0/8" # libunwind.so.8 -KEYWORDS="amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 -riscv -sparc x86 ~amd64-linux ~x86-linux" -IUSE="debug debug-frame doc libatomic lzma static-libs zlib" - -RESTRICT="test" # some tests are broken (toolchain version dependent, rely on external binaries) - -# We just use the header from libatomic. -RDEPEND=" - lzma? ( app-arch/xz-utils[static-libs?,${MULTILIB_USEDEP}] ) - zlib? ( sys-libs/zlib[static-libs?,${MULTILIB_USEDEP}] ) -" -DEPEND="${RDEPEND} - libatomic? ( dev-libs/libatomic_ops[${MULTILIB_USEDEP}] )" - -S="${WORKDIR}/${MY_P}" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/libunwind.h - - # see libunwind.h for the full list of arch-specific headers - /usr/include/libunwind-aarch64.h - /usr/include/libunwind-arm.h - /usr/include/libunwind-hppa.h - /usr/include/libunwind-ia64.h - /usr/include/libunwind-mips.h - /usr/include/libunwind-ppc32.h - /usr/include/libunwind-ppc64.h - /usr/include/libunwind-sh.h - /usr/include/libunwind-tilegx.h - /usr/include/libunwind-x86.h - /usr/include/libunwind-x86_64.h -) - -PATCHES=( - "${FILESDIR}"/${PN}-1.2-coredump-regs.patch #586092 - "${FILESDIR}"/${PN}-1.2-ia64-ptrace-coredump.patch - "${FILESDIR}"/${PN}-1.2-ia64-missing.patch - "${FILESDIR}"/${PN}-1.5.0-x32.patch - # needs refresh: - #"${FILESDIR}"/${PN}-1.2.1-only-include-execinfo_h-if-avaliable.patch -) - -src_prepare() { - default - chmod +x src/ia64/mk_cursor_i || die - # Since we have tests disabled via RESTRICT, disable building in the subdir - # entirely. This works around some build errors too. #484846 - sed -i -e '/^SUBDIRS/s:tests::' Makefile.in || die - - elibtoolize - eautoreconf - - # Let's wait for proper fix upstream in https://github.com/libunwind/libunwind/issues/154 - # Meanwhile workaround for gcc-10 with -fcommon, bug #706560 - append-cflags -fcommon -} - -multilib_src_configure() { - # --enable-cxx-exceptions: always enable it, headers provide the interface - # and on some archs it is disabled by default causing a mismatch between the - # API and the ABI, bug #418253 - # conservative-checks: validate memory addresses before use; as of 1.0.1, - # only x86_64 supports this, yet may be useful for debugging, couple it with - # debug useflag. - ECONF_SOURCE="${S}" \ - ac_cv_header_atomic_ops_h=$(usex libatomic) \ - econf \ - --enable-cxx-exceptions \ - --enable-coredump \ - --enable-ptrace \ - --enable-setjmp \ - $(use_enable debug-frame) \ - $(use_enable doc documentation) \ - $(use_enable lzma minidebuginfo) \ - $(use_enable static-libs static) \ - $(use_enable zlib zlibdebuginfo) \ - $(use_enable debug conservative_checks) \ - $(use_enable debug) -} - -multilib_src_compile() { - # Bug 586208 - CCACHE_NODIRECT=1 default -} - -multilib_src_test() { - # Explicitly allow parallel build of tests. - # Sandbox causes some tests to freak out. - SANDBOX_ON=0 emake check -} - -multilib_src_install_all() { - find "${D}" -name "*.la" -type f -delete || die -} diff --git a/sys-libs/libunwind/libunwind-1.6.2.ebuild b/sys-libs/libunwind/libunwind-1.6.2.ebuild index 62c11c5c04c..3c8d7610772 100644 --- a/sys-libs/libunwind/libunwind-1.6.2.ebuild +++ b/sys-libs/libunwind/libunwind-1.6.2.ebuild @@ -1,11 +1,11 @@ -# Copyright 2005-2021 Gentoo Authors +# Copyright 2005-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 MY_PV=${PV/_/-} MY_P=${PN}-${MY_PV} -inherit autotools multilib-minimal +inherit multilib-minimal DESCRIPTION="Portable and efficient API to determine the call-chain of a program" HOMEPAGE="https://savannah.nongnu.org/projects/libunwind" @@ -14,7 +14,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="MIT" SLOT="0/8" # libunwind.so.8 -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv -sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 -sparc x86 ~amd64-linux ~x86-linux" IUSE="debug debug-frame doc libatomic lzma static-libs test zlib" RESTRICT="test !test? ( test )" # some tests are broken (toolchain version dependent, rely on external binaries) @@ -49,8 +49,6 @@ src_prepare() { default chmod +x src/ia64/mk_cursor_i || die - - eautoreconf } multilib_src_configure() { diff --git a/sys-libs/liburing/files/liburing-2.1-gnu_source-musl-cpuset.patch b/sys-libs/liburing/files/liburing-2.1-gnu_source-musl-cpuset.patch new file mode 100644 index 00000000000..b6486f8b140 --- /dev/null +++ b/sys-libs/liburing/files/liburing-2.1-gnu_source-musl-cpuset.patch @@ -0,0 +1,42 @@ +https://github.com/axboe/liburing/commit/c34070e08199491fe9653617364f4aea9b9b22be + +From: Sam James <sam@gentoo.org> +Date: Mon, 14 Mar 2022 14:18:55 +0000 +Subject: [PATCH] liburing.h: define GNU_SOURCE for cpu_set_t + +On musl, cpu_set_t is only exposed if GNU_SOURCE is defined. While in +the liburing build system, this is set (43b7ec8d17888df0debccda27dd58f4d1b90245e), +it can't be guaranteed that folks including the header externally will set +that macro. + +Noticed while investigating a build failure for glusterfs on a musl +system: +``` +configure:17701: checking for liburing.h +configure:17701: x86_64-gentoo-linux-musl-gcc -c -pipe -march=native -fno-diagnostics-color -O2 conftest.c >&5 +In file included from conftest.c:105: +/usr/include/liburing.h:162:39: error: unknown type name 'cpu_set_t' + 162 | const cpu_set_t *mask); + | ^~~~~~~~~ +configure:17701: $? = 1 +``` + +Just like _XOPEN_SOURCE, set if needed. + +Bug: https://bugs.gentoo.org/829293 +Bug: https://github.com/axboe/liburing/issues/422 +See: 43b7ec8d17888df0debccda27dd58f4d1b90245e +Signed-off-by: Sam James <sam@gentoo.org> +--- a/src/include/liburing.h ++++ b/src/include/liburing.h +@@ -6,6 +6,10 @@ + #define _XOPEN_SOURCE 500 /* Required for glibc to expose sigset_t */ + #endif + ++#ifndef _GNU_SOURCE ++#define _GNU_SOURCE /* Required for musl to expose cpu_set_t */ ++#endif ++ + #include <sys/socket.h> + #include <sys/stat.h> + #include <sys/uio.h> diff --git a/sys-libs/liburing/liburing-2.1.ebuild b/sys-libs/liburing/liburing-2.1-r1.ebuild index 268300b356e..ddf39035944 100644 --- a/sys-libs/liburing/liburing-2.1.ebuild +++ b/sys-libs/liburing/liburing-2.1-r1.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit multilib-minimal toolchain-funcs @@ -28,6 +28,13 @@ PATCHES=( src_prepare() { default + + if [[ "${PV}" != *9999 ]] ; then + # Make sure pkgconfig files contain the correct version + # bug #809095 and #833895 + sed -i "/^Version:/s@[[:digit:]\.]\+@${PV}@" ${PN}.spec || die + fi + multilib_copy_sources } @@ -38,6 +45,7 @@ multilib_src_configure() { --libdevdir="${EPREFIX}/usr/$(get_libdir)" --mandir="${EPREFIX}/usr/share/man" --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" ) # No autotools configure! "econf" will fail. TMPDIR="${T}" ./configure "${myconf[@]}" diff --git a/sys-libs/liburing/liburing-2.1-r2.ebuild b/sys-libs/liburing/liburing-2.1-r2.ebuild new file mode 100644 index 00000000000..5a415065250 --- /dev/null +++ b/sys-libs/liburing/liburing-2.1-r2.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multilib-minimal toolchain-funcs + +DESCRIPTION="Efficient I/O with io_uring" +HOMEPAGE="https://github.com/axboe/liburing" +if [[ "${PV}" == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/axboe/liburing.git" +else + SRC_URI="https://git.kernel.dk/cgit/${PN}/snapshot/${P}.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi +LICENSE="MIT" +SLOT="0/2" # liburing.so major version + +IUSE="static-libs" +# fsync test hangs forever +RESTRICT="test" + +# At least installed headers need <linux/*>, bug #802516 +DEPEND=">=sys-kernel/linux-headers-5.1" +RDEPEND="${DEPEND}" + +PATCHES=( + # Upstream, bug #816798 + "${FILESDIR}"/${P}-arm-syscall.patch + # Upstream, bug #829293 + "${FILESDIR}"/${P}-gnu_source-musl-cpuset.patch +) + +src_prepare() { + default + + if [[ "${PV}" != *9999 ]] ; then + # Make sure pkgconfig files contain the correct version + # bug #809095 and #833895 + sed -i "/^Version:/s@[[:digit:]\.]\+@${PV}@" ${PN}.spec || die + fi + + multilib_copy_sources +} + +multilib_src_configure() { + local myconf=( + --prefix="${EPREFIX}/usr" + --libdir="${EPREFIX}/usr/$(get_libdir)" + --libdevdir="${EPREFIX}/usr/$(get_libdir)" + --mandir="${EPREFIX}/usr/share/man" + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + ) + # No autotools configure! "econf" will fail. + TMPDIR="${T}" ./configure "${myconf[@]}" +} + +multilib_src_compile() { + emake V=1 AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" +} + +multilib_src_install_all() { + einstalldocs + + if ! use static-libs ; then + find "${ED}" -type f -name "*.a" -delete || die + fi +} + +multilib_src_test() { + emake V=1 runtests +} diff --git a/sys-libs/liburing/liburing-9999.ebuild b/sys-libs/liburing/liburing-9999.ebuild index 72d3d7d1fa2..1b405d41f6b 100644 --- a/sys-libs/liburing/liburing-9999.ebuild +++ b/sys-libs/liburing/liburing-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -12,7 +12,7 @@ if [[ "${PV}" == *9999 ]] ; then EGIT_REPO_URI="https://github.com/axboe/liburing.git" else SRC_URI="https://git.kernel.dk/cgit/${PN}/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" fi LICENSE="MIT" SLOT="0/2" # liburing.so major version @@ -23,6 +23,13 @@ RESTRICT="test" src_prepare() { default + + if [[ "${PV}" != *9999 ]] ; then + # Make sure pkgconfig files contain the correct version + # bug #809095 and #833895 + sed -i "/^Version:/s@[[:digit:]\.]\+@${PV}@" ${PN}.spec || die + fi + multilib_copy_sources } @@ -33,6 +40,7 @@ multilib_src_configure() { --libdevdir="${EPREFIX}/usr/$(get_libdir)" --mandir="${EPREFIX}/usr/share/man" --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" ) # No autotools configure! "econf" will fail. TMPDIR="${T}" ./configure "${myconf[@]}" diff --git a/sys-libs/libutempter/libutempter-1.2.1.ebuild b/sys-libs/libutempter/libutempter-1.2.1.ebuild index 4e871a42e93..953cc42fcc2 100644 --- a/sys-libs/libutempter/libutempter-1.2.1.ebuild +++ b/sys-libs/libutempter/libutempter-1.2.1.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit flag-o-matic toolchain-funcs +inherit toolchain-funcs DESCRIPTION="Library that allows non-privileged apps to write utmp (login) info" HOMEPAGE="https://altlinux.org/index.php?module=sisyphus&package=libutempter" @@ -11,8 +11,8 @@ SRC_URI="ftp://ftp.altlinux.org/pub/people/ldv/${PN}/${P}.tar.gz" LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" -IUSE="static-libs elibc_FreeBSD" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" +IUSE="static-libs" RDEPEND=" !sys-apps/utempter @@ -42,7 +42,6 @@ src_prepare() { } src_configure() { - use elibc_FreeBSD && append-libs -lutil tc-export AR CC } diff --git a/sys-libs/libvpd/Manifest b/sys-libs/libvpd/Manifest index 908a68bb41b..86db8dfddfa 100644 --- a/sys-libs/libvpd/Manifest +++ b/sys-libs/libvpd/Manifest @@ -1 +1,2 @@ DIST libvpd-2.2.8.tar.gz 52725 BLAKE2B 76bdc6ddf80236a6848185273c2cac181d44214f0c609d7c5af6fa4d09a7cd816324af35745617ce3daa7268311e2ed754335600df1d4970a324eb327015d051 SHA512 d0b7d1760c6ae54717c538405c651317b7318dec5780961f5386c09b7d245e35a84c2fc47d89c47c3cd2168d73d7186f5819981d52c3ba962514639833dc62aa +DIST libvpd-2.2.9.tar.gz 53747 BLAKE2B c8898e2f604431b74bf5e10fc99e7a9b5540b825f2a996776109a2b2b636f732ff8d9f7956ffea1231e5b023e285eee641a873a68fcd8a2d6a6d9e64c5ab3b18 SHA512 e32a80e0f3aaedbaaac64dbdedfee7eeb2e7a7b6d2d737bca4678d26caadab77032a7c26211a5fc3caed3724488bc8fa99620ceac05f8d156ca90f4452cfaf0a diff --git a/sys-libs/libvpd/libvpd-2.2.9.ebuild b/sys-libs/libvpd/libvpd-2.2.9.ebuild new file mode 100644 index 00000000000..d98f5588ae0 --- /dev/null +++ b/sys-libs/libvpd/libvpd-2.2.9.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit autotools udev + +DESCRIPTION="Library implementation for listing Vital Product Data" +HOMEPAGE="https://github.com/power-ras/libvpd" +SRC_URI="https://github.com/power-ras/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="LGPL-2.1+" +SLOT="0/3" +KEYWORDS="~ppc ~ppc64" + +DEPEND=" + dev-db/sqlite:3 + sys-libs/zlib:= +" +RDEPEND="${DEPEND}" + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # sysconfdir is used only to establish where the udev rules file should go + # unfortunately it also adds the subdirs on its own so we strip it down to + # dirname + local myconf=( + --disable-static + --localstatedir="${EPREFIX}/var" + --sysconfdir="$( dirname $(get_udevdir) )" + ) + + econf "${myconf[@]}" +} + +src_install() { + default + keepdir /var/lib/lsvpd + find "${D}" -name '*.la' -delete || die +} diff --git a/sys-libs/libvpd/metadata.xml b/sys-libs/libvpd/metadata.xml index 2219560b548..9e9a9d49a2b 100644 --- a/sys-libs/libvpd/metadata.xml +++ b/sys-libs/libvpd/metadata.xml @@ -6,6 +6,7 @@ <name>Gentoo Linux PowerPC Development</name> </maintainer> <upstream> - <remote-id type="sourceforge">linux-diag</remote-id> + <remote-id type="github">power-ras/libvpd</remote-id> + <changelog>https://github.com/power-ras/libvpd/blob/master/ChangeLog</changelog> </upstream> </pkgmetadata> diff --git a/sys-libs/libxcrypt/Manifest b/sys-libs/libxcrypt/Manifest index 17af4f1fb10..8e0a4b158e8 100644 --- a/sys-libs/libxcrypt/Manifest +++ b/sys-libs/libxcrypt/Manifest @@ -1,3 +1,3 @@ DIST libxcrypt-4.4.20-autotools.tar.xz 628688 BLAKE2B 4c23af2a765495758e52c8e95d53d1c1d911fea011375160c4f10e468939734fcc7198cc327fafa4d5c90afa6d4c56dfe6d1b56c2c17bbc015b44cffcd7bcc8b SHA512 5b7504e9d83df12af7d11864e88d1034ed9ce0a837ef061044c5c7fe603d7f3e5613ddf20b30613a7943735120cd058f2117401d59879afcba34ce0e48ae62ee -DIST libxcrypt-4.4.25-autotools.tar.xz 614652 BLAKE2B f0f4fbf92585fdd8d328aaa68811ea15bdf75778363ea4bc46a75fb76bb065f044708446d655356ebbf2834f8b14bac40fbe700b510b09ce101f750667a04298 SHA512 30f38a54c8e5cbd31c463223913079f9869d38ed38a2f64c57778ac4cf1b6f557caa527073df54ca8396bb7220807b84afcae2f9790f6604af1561a4b277874e -DIST libxcrypt-4.4.26-autotools.tar.xz 617808 BLAKE2B 9fb8e31b22a085c0d0d5ab2ee3fb69fbebaccee2281e9be7d745218b5b92d949ffd3aa9c385671d58c93a654e16b943a33284b0b4737d52d26e43e2f7840fe74 SHA512 22c72cacd87c5751c4160413738fdf52c8fee300dcad01b289a6eaf892439883b9478103f791f5f53c8e5e2f2dd81057e5fda45e7cf7fdfd3ba93dd811bc01e3 +DIST libxcrypt-4.4.27-autotools.tar.xz 619240 BLAKE2B 13dd5730fded0684c8e7321fee8a786663ff1080a6ca248bd718c4f6c9f6bd2853689c347be9f9ae51ebc1281aaa2143dfc020149382d259e7eefe66ac8b675e SHA512 f13ae1e69bf5850abb47a28f9ac3e3b0a8b3123adc53d39fd39a26d53847bf6e3fdca751e086cd80ce4e5d9ee419b09148c247cbe5f663b3019b66f82cdc5f5c +DIST libxcrypt-4.4.28-autotools.tar.xz 618560 BLAKE2B c56d510201651e36cbd950b5a0a32273fdbce1f053109aa5867b2c6a57e2a896c34c981c1a2e732a8f34539b754ebe7f50d1b5bf59f9549a75ad6420921f3e1d SHA512 3c60fd32dea308152c4272522c29668c83e88bea47c98b9fe796ed70f5460ad2a9616ffbe789c03e417b28d3c792361b16031bda3d8bc5b6c06f0ebdc66c8217 diff --git a/sys-libs/libxcrypt/libxcrypt-4.4.20.ebuild b/sys-libs/libxcrypt/libxcrypt-4.4.20.ebuild index 6b7c1ae7612..9d57697c941 100644 --- a/sys-libs/libxcrypt/libxcrypt-4.4.20.ebuild +++ b/sys-libs/libxcrypt/libxcrypt-4.4.20.ebuild @@ -1,4 +1,4 @@ -# Copyright 2004-2021 Gentoo Authors +# Copyright 2004-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -31,7 +31,6 @@ DEPEND="system? ( )" RDEPEND="${DEPEND}" BDEPEND="dev-lang/perl - sys-apps/findutils test? ( $(python_gen_any_dep 'dev-python/passlib[${PYTHON_USEDEP}]') )" python_check_deps() { diff --git a/sys-libs/libxcrypt/libxcrypt-4.4.25-r1.ebuild b/sys-libs/libxcrypt/libxcrypt-4.4.27.ebuild index 13858d39650..c9559428437 100644 --- a/sys-libs/libxcrypt/libxcrypt-4.4.25-r1.ebuild +++ b/sys-libs/libxcrypt/libxcrypt-4.4.27.ebuild @@ -1,4 +1,4 @@ -# Copyright 2004-2021 Gentoo Authors +# Copyright 2004-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -20,7 +20,7 @@ fi LICENSE="LGPL-2.1+ public-domain BSD BSD-2" SLOT="0/1" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE="+compat split-usr static-libs system test" REQUIRED_USE="split-usr? ( system )" RESTRICT="!test? ( test )" @@ -35,7 +35,6 @@ DEPEND="system? ( " RDEPEND="${DEPEND}" BDEPEND="dev-lang/perl - sys-apps/findutils test? ( $(python_gen_any_dep 'dev-python/passlib[${PYTHON_USEDEP}]') )" python_check_deps() { diff --git a/sys-libs/libxcrypt/libxcrypt-4.4.26-r1.ebuild b/sys-libs/libxcrypt/libxcrypt-4.4.28.ebuild index fa017859016..50aec10c195 100644 --- a/sys-libs/libxcrypt/libxcrypt-4.4.26-r1.ebuild +++ b/sys-libs/libxcrypt/libxcrypt-4.4.28.ebuild @@ -1,4 +1,4 @@ -# Copyright 2004-2021 Gentoo Authors +# Copyright 2004-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -20,22 +20,33 @@ fi LICENSE="LGPL-2.1+ public-domain BSD BSD-2" SLOT="0/1" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="+compat split-usr static-libs system test" REQUIRED_USE="split-usr? ( system )" RESTRICT="!test? ( test )" +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then + export CTARGET=${CATEGORY/cross-} + fi +fi + +is_cross() { + local enabled_abis=( $(multilib_get_enabled_abis) ) + [[ "${#enabled_abis[@]}" -le 1 ]] && [[ ${CHOST} != ${CTARGET} ]] +} + DEPEND="system? ( elibc_glibc? ( - sys-libs/glibc[-crypt(+)] - !sys-libs/glibc[crypt(+)] + ${CATEGORY}/glibc[-crypt(+)] + !${CATEGORY}/glibc[crypt(+)] ) - !sys-libs/musl + !${CATEGORY}/musl ) " RDEPEND="${DEPEND}" BDEPEND="dev-lang/perl - sys-apps/findutils test? ( $(python_gen_any_dep 'dev-python/passlib[${PYTHON_USEDEP}]') )" python_check_deps() { @@ -115,19 +126,46 @@ src_configure() { multibuild_foreach_variant multilib-minimal_src_configure } +get_xcprefix() { + if is_cross; then + echo "${EPREFIX}/usr/${CTARGET}" + else + echo "${EPREFIX}" + fi +} + get_xclibdir() { - printf -- "%s/%s/%s\n" \ + printf -- "%s/%s/%s/%s\n" \ + "$(get_xcprefix)" \ "$(usex split-usr '' '/usr')" \ "$(get_libdir)" \ "$(usex system '' 'xcrypt')" } +get_xcincludedir() { + printf -- "%s/usr/include/%s\n" \ + "$(get_xcprefix)" \ + "$(usex system '' 'xcrypt')" +} + +get_xcmandir() { + printf -- "%s/usr/share/man\n" \ + "$(get_xcprefix)" +} + +get_xcpkgconfigdir() { + printf -- "%s/usr/%s/pkgconfig\n" \ + "$(get_xcprefix)" \ + "$(get_libdir)" +} + multilib_src_configure() { local -a myconf=( --disable-werror - --libdir="${EPREFIX}"$(get_xclibdir) - --with-pkgconfigdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig" - --includedir="${EPREFIX}/usr/include/$(usex system '' 'xcrypt')" + --libdir=$(get_xclibdir) + --with-pkgconfigdir=$(get_xcpkgconfigdir) + --includedir=$(get_xcincludedir) + --mandir="$(get_xcmandir)" ) case "${MULTIBUILD_ID}" in @@ -169,7 +207,7 @@ src_install() { shopt -s failglob || die "failglob failed" # Make sure our man pages do not collide with glibc or man-pages. - for manpage in "${ED}"/usr/share/man/man3/crypt{,_r}.?*; do + for manpage in "${D}$(get_xcmandir)"/man3/crypt{,_r}.?*; do mv -n "${manpage}" "$(dirname "${manpage}")/xcrypt_$(basename "${manpage}")" \ || die "mv failed" done @@ -178,6 +216,13 @@ src_install() { # Remove useless stuff from installation find "${ED}"/usr/share/doc/${PF} -type l -delete || die find "${ED}" -name '*.la' -delete || die + + # workaround broken upstream cross-* --docdir by installing files in proper locations + if is_cross; then + insinto "$(get_xcprefix)"/usr/share + doins -r "${ED}"/usr/share/doc + rm -r "${ED}"/usr/share/doc || die + fi } multilib_src_install() { @@ -186,7 +231,7 @@ multilib_src_install() { # Don't install the libcrypt.so symlink for the "compat" version case "${MULTIBUILD_ID}" in xcrypt_compat-*) - rm "${ED}"$(get_xclibdir)/libcrypt$(get_libname) \ + rm "${D}"$(get_xclibdir)/libcrypt$(get_libname) \ || die "failed to remove extra compat libraries" ;; xcrypt_nocompat-*) @@ -196,7 +241,7 @@ multilib_src_install() { # .a files are installed to /$(get_libdir) by default # Move static libraries to /usr prefix or portage will abort shopt -s nullglob || die "failglob failed" - static_libs=( "${ED}"/$(get_xclibdir)/*.a ) + static_libs=( "${D}"/$(get_xclibdir)/*.a ) if [[ -n ${static_libs[*]} ]]; then dodir "/usr/$(get_xclibdir)" @@ -210,13 +255,13 @@ multilib_src_install() { # to allow linker to correctly find shared libraries. shopt -s failglob || die "failglob failed" - for lib_file in "${ED}"$(get_xclibdir)/*$(get_libname); do + for lib_file in "${D}"$(get_xclibdir)/*$(get_libname); do lib_file_basename="$(basename "${lib_file}")" lib_file_target="$(basename "$(readlink -f "${lib_file}")")" dosym "../../$(get_libdir)/${lib_file_target}" "/usr/$(get_xclibdir)/${lib_file_basename}" done - rm "${ED}"$(get_xclibdir)/*$(get_libname) || die "Removing symlinks in incorrect location failed" + rm "${D}"$(get_xclibdir)/*$(get_libname) || die "Removing symlinks in incorrect location failed" fi ) fi diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest index e08cd107ad6..e3c7f4055f4 100644 --- a/sys-libs/llvm-libunwind/Manifest +++ b/sys-libs/llvm-libunwind/Manifest @@ -1,4 +1,5 @@ -DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81 +DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01 DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1 -DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2 -DIST llvmorg-13.0.1-rc1.tar.gz 147284646 BLAKE2B 3a1d8d382de633b7f8fc998f8ad1e03c24b733aefc591615cbd34115d1d6d74962ae33bbf2224527b521a76930ffee425527225563a558a04173e9aa9487c781 SHA512 d487bfc9b898ad0046e0c94338d7757d8a05a1a84d683abfbc9ed4994c6d12caf88fd18575225e284070fc67b3ac0970ca6639e61b1a7cc2948b216a5364a22d +DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f +DIST llvmorg-14.0.1.tar.gz 158074615 BLAKE2B bf80366461580058494eb101646efcd1a8b55a66818a710c2eb8c649bf88c02fe4552cecf4c1c8637a64e7cee8d644bca31aafc804765ed18f2b5e2975dd6c92 SHA512 0a15aa9cfc978a7b03a1659a2affad65ede66d280f5c12bf0beaaf194cd7bdd57ff438b5f40e64c1e1b88f368de99be349e9d30b544d2bbe4a50f0ebed3307f2 +DIST llvmorg-14.0.3.tar.gz 158092596 BLAKE2B ef901df510ec6bc1242595ec330e9c9ee76e696b077d67a8d62b53608c3d18b2f2d7ea3150864e13d9b37a8ce899ebca946ebe72cbc4538700176e20859ddec2 SHA512 511e93fd9b1c414c38fe9e2649679ac0b16cb04f7f7838569d187b04c542a185e364d6db73e96465026e3b2533649eb75ac95507d12514af32b28bdfb66f2646 diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-11.1.0.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-11.1.0.ebuild deleted file mode 100644 index 98002383aaf..00000000000 --- a/sys-libs/llvm-libunwind/llvm-libunwind-11.1.0.ebuild +++ /dev/null @@ -1,124 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -CMAKE_ECLASS=cmake -PYTHON_COMPAT=( python3_{7..9} ) -inherit cmake-multilib llvm llvm.org python-any-r1 - -DESCRIPTION="C++ runtime stack unwinder from LLVM" -HOMEPAGE="https://github.com/llvm-mirror/libunwind" - -LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86 ~x64-macos" -IUSE="debug static-libs test" -RESTRICT="!test? ( test )" - -RDEPEND="!sys-libs/libunwind" -# llvm-6 for new lit options -DEPEND=" - >=sys-devel/llvm-6" -BDEPEND=" - test? ( >=sys-devel/clang-3.9.0 - $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') - )" - -LLVM_COMPONENTS=( libunwind ) -LLVM_TEST_COMPONENTS=( libcxx{,abi} llvm/cmake ) -llvm.org_set_globals - -python_check_deps() { - has_version "dev-python/lit[${PYTHON_USEDEP}]" -} - -pkg_setup() { - use test && python-any-r1_pkg_setup -} - -multilib_src_configure() { - local libdir=$(get_libdir) - - local mycmakeargs=( - -DLLVM_LIBDIR_SUFFIX=${libdir#lib} - -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug) - -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs) - -DLLVM_INCLUDE_TESTS=$(usex test) - - # support non-native unwinding; given it's small enough, - # enable it unconditionally - -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON - ) - if use test; then - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" - - mycmakeargs+=( - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}" - -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}/libcxx" - ) - fi - - cmake_src_configure -} - -build_libcxxabi() { - local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" - local CMAKE_USE_DIR=${WORKDIR}/libcxxabi - local BUILD_DIR=${BUILD_DIR}/libcxxabi - local mycmakeargs=( - -DLIBCXXABI_LIBDIR_SUFFIX= - -DLIBCXXABI_ENABLE_SHARED=OFF - -DLIBCXXABI_ENABLE_STATIC=ON - -DLIBCXXABI_USE_LLVM_UNWINDER=ON - -DLIBCXXABI_INCLUDE_TESTS=OFF - - -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include - -DLIBCXXABI_LIBUNWIND_INCLUDES="${S}"/include - ) - - cmake_src_configure - cmake_src_compile -} - -build_libcxx() { - local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/libcxxabi/lib -L${BUILD_DIR}/$(get_libdir)" - local CMAKE_USE_DIR=${WORKDIR}/libcxx - local BUILD_DIR=${BUILD_DIR}/libcxx - local mycmakeargs=( - -DLIBCXX_LIBDIR_SUFFIX= - -DLIBCXX_ENABLE_SHARED=OFF - -DLIBCXX_ENABLE_STATIC=ON - -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF - -DLIBCXXABI_USE_LLVM_UNWINDER=ON - -DLIBCXX_CXX_ABI=libcxxabi - -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/include - -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF - -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) - -DLIBCXX_HAS_GCC_S_LIB=OFF - -DLIBCXX_INCLUDE_TESTS=OFF - ) - - cmake_src_configure - cmake_src_compile -} - -multilib_src_test() { - # build local copies of libc++ & libc++abi for testing to avoid - # circular deps - build_libcxxabi - build_libcxx - mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die - - local -x LIT_PRESERVES_TMP=1 - cmake_build check-unwind -} - -multilib_src_install() { - cmake_src_install - - # install headers like sys-libs/libunwind - doheader "${S}"/include/*.h -} diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-13.0.0.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-13.0.0.ebuild deleted file mode 100644 index 60740434146..00000000000 --- a/sys-libs/llvm-libunwind/llvm-libunwind-13.0.0.ebuild +++ /dev/null @@ -1,142 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -CMAKE_ECLASS=cmake -PYTHON_COMPAT=( python3_{8..10} ) -inherit cmake-multilib llvm llvm.org python-any-r1 toolchain-funcs - -DESCRIPTION="C++ runtime stack unwinder from LLVM" -HOMEPAGE="https://github.com/llvm-mirror/libunwind" - -LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" -SLOT="0" -KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~x64-macos" -IUSE="debug static-libs test" -RESTRICT="!test? ( test )" - -RDEPEND="!sys-libs/libunwind" -# llvm-6 for new lit options -DEPEND=" - >=sys-devel/llvm-6" -BDEPEND=" - test? ( >=sys-devel/clang-3.9.0 - $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') - )" - -LLVM_COMPONENTS=( libunwind libcxx llvm/cmake ) -LLVM_TEST_COMPONENTS=( libcxxabi ) -llvm.org_set_globals - -python_check_deps() { - has_version "dev-python/lit[${PYTHON_USEDEP}]" -} - -pkg_setup() { - use test && python-any-r1_pkg_setup -} - -multilib_src_configure() { - local use_compiler_rt=OFF - local libdir=$(get_libdir) - - # link to compiler-rt - # https://github.com/gentoo/gentoo/pull/21516 - if tc-is-clang; then - local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \ - ${LD_FLAGS} -print-libgcc-file-name) - if [[ ${compiler_rt} == *libclang_rt* ]]; then - use_compiler_rt=ON - fi - fi - - local mycmakeargs=( - -DLLVM_LIBDIR_SUFFIX=${libdir#lib} - -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug) - -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs) - -DLIBUNWIND_TARGET_TRIPLE="${CHOST}" - -DLLVM_INCLUDE_TESTS=$(usex test) - - # support non-native unwinding; given it's small enough, - # enable it unconditionally - -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON - - # avoid dependency on libgcc_s if compiler-rt is used - -DLIBUNWIND_USE_COMPILER_RT=${use_compiler_rt} - ) - if use test; then - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" - - mycmakeargs+=( - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}" - -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}/libcxx" - ) - fi - - cmake_src_configure -} - -wrap_libcxxabi() { - local mycmakeargs=( - -DLIBCXXABI_LIBDIR_SUFFIX= - -DLIBCXXABI_ENABLE_SHARED=OFF - -DLIBCXXABI_ENABLE_STATIC=ON - -DLIBCXXABI_USE_LLVM_UNWINDER=ON - -DLIBCXXABI_INCLUDE_TESTS=OFF - - -DLIBCXXABI_LIBCXX_INCLUDES="${BUILD_DIR}"/libcxx/include/c++/v1 - -DLIBCXXABI_LIBUNWIND_INCLUDES="${S}"/include - ) - - local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" - local CMAKE_USE_DIR=${WORKDIR}/libcxxabi - local BUILD_DIR=${BUILD_DIR}/libcxxabi - - "${@}" -} - -wrap_libcxx() { - local mycmakeargs=( - -DLIBCXX_LIBDIR_SUFFIX= - -DLIBCXX_ENABLE_SHARED=OFF - -DLIBCXX_ENABLE_STATIC=ON - -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF - -DLIBCXXABI_USE_LLVM_UNWINDER=ON - -DLIBCXX_CXX_ABI=libcxxabi - -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/include - -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF - -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) - -DLIBCXX_HAS_GCC_S_LIB=OFF - -DLIBCXX_INCLUDE_TESTS=OFF - ) - - local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/libcxxabi/lib -L${BUILD_DIR}/$(get_libdir)" - local CMAKE_USE_DIR=${WORKDIR}/libcxx - local BUILD_DIR=${BUILD_DIR}/libcxx - - "${@}" -} - -multilib_src_test() { - # build local copies of libc++ & libc++abi for testing to avoid - # circular deps - wrap_libcxx cmake_src_configure - wrap_libcxx cmake_build generate-cxx-headers - wrap_libcxxabi cmake_src_configure - wrap_libcxxabi cmake_src_compile - wrap_libcxx cmake_src_compile - mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die - - local -x LIT_PRESERVES_TMP=1 - cmake_build check-unwind -} - -multilib_src_install() { - cmake_src_install - - # install headers like sys-libs/libunwind - doheader "${S}"/include/*.h -} diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-14.0.0.9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-13.0.1.ebuild index b2e400ff295..56489f0dfe5 100644 --- a/sys-libs/llvm-libunwind/llvm-libunwind-14.0.0.9999.ebuild +++ b/sys-libs/llvm-libunwind/llvm-libunwind-13.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -12,7 +12,7 @@ HOMEPAGE="https://github.com/llvm-mirror/libunwind" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" -KEYWORDS="" +KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv x86 ~x64-macos" IUSE="debug static-libs test" RESTRICT="!test? ( test )" @@ -27,6 +27,7 @@ BDEPEND=" LLVM_COMPONENTS=( libunwind libcxx llvm/cmake ) LLVM_TEST_COMPONENTS=( libcxxabi ) +LLVM_PATCHSET=${PV/_/-} llvm.org_set_globals python_check_deps() { diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-13.0.1_rc1.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-13.0.1_rc1.ebuild deleted file mode 100644 index b2e400ff295..00000000000 --- a/sys-libs/llvm-libunwind/llvm-libunwind-13.0.1_rc1.ebuild +++ /dev/null @@ -1,142 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -CMAKE_ECLASS=cmake -PYTHON_COMPAT=( python3_{8..10} ) -inherit cmake-multilib llvm llvm.org python-any-r1 toolchain-funcs - -DESCRIPTION="C++ runtime stack unwinder from LLVM" -HOMEPAGE="https://github.com/llvm-mirror/libunwind" - -LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" -SLOT="0" -KEYWORDS="" -IUSE="debug static-libs test" -RESTRICT="!test? ( test )" - -RDEPEND="!sys-libs/libunwind" -# llvm-6 for new lit options -DEPEND=" - >=sys-devel/llvm-6" -BDEPEND=" - test? ( >=sys-devel/clang-3.9.0 - $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') - )" - -LLVM_COMPONENTS=( libunwind libcxx llvm/cmake ) -LLVM_TEST_COMPONENTS=( libcxxabi ) -llvm.org_set_globals - -python_check_deps() { - has_version "dev-python/lit[${PYTHON_USEDEP}]" -} - -pkg_setup() { - use test && python-any-r1_pkg_setup -} - -multilib_src_configure() { - local use_compiler_rt=OFF - local libdir=$(get_libdir) - - # link to compiler-rt - # https://github.com/gentoo/gentoo/pull/21516 - if tc-is-clang; then - local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \ - ${LD_FLAGS} -print-libgcc-file-name) - if [[ ${compiler_rt} == *libclang_rt* ]]; then - use_compiler_rt=ON - fi - fi - - local mycmakeargs=( - -DLLVM_LIBDIR_SUFFIX=${libdir#lib} - -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug) - -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs) - -DLIBUNWIND_TARGET_TRIPLE="${CHOST}" - -DLLVM_INCLUDE_TESTS=$(usex test) - - # support non-native unwinding; given it's small enough, - # enable it unconditionally - -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON - - # avoid dependency on libgcc_s if compiler-rt is used - -DLIBUNWIND_USE_COMPILER_RT=${use_compiler_rt} - ) - if use test; then - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" - - mycmakeargs+=( - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}" - -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}/libcxx" - ) - fi - - cmake_src_configure -} - -wrap_libcxxabi() { - local mycmakeargs=( - -DLIBCXXABI_LIBDIR_SUFFIX= - -DLIBCXXABI_ENABLE_SHARED=OFF - -DLIBCXXABI_ENABLE_STATIC=ON - -DLIBCXXABI_USE_LLVM_UNWINDER=ON - -DLIBCXXABI_INCLUDE_TESTS=OFF - - -DLIBCXXABI_LIBCXX_INCLUDES="${BUILD_DIR}"/libcxx/include/c++/v1 - -DLIBCXXABI_LIBUNWIND_INCLUDES="${S}"/include - ) - - local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" - local CMAKE_USE_DIR=${WORKDIR}/libcxxabi - local BUILD_DIR=${BUILD_DIR}/libcxxabi - - "${@}" -} - -wrap_libcxx() { - local mycmakeargs=( - -DLIBCXX_LIBDIR_SUFFIX= - -DLIBCXX_ENABLE_SHARED=OFF - -DLIBCXX_ENABLE_STATIC=ON - -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF - -DLIBCXXABI_USE_LLVM_UNWINDER=ON - -DLIBCXX_CXX_ABI=libcxxabi - -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/include - -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF - -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) - -DLIBCXX_HAS_GCC_S_LIB=OFF - -DLIBCXX_INCLUDE_TESTS=OFF - ) - - local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/libcxxabi/lib -L${BUILD_DIR}/$(get_libdir)" - local CMAKE_USE_DIR=${WORKDIR}/libcxx - local BUILD_DIR=${BUILD_DIR}/libcxx - - "${@}" -} - -multilib_src_test() { - # build local copies of libc++ & libc++abi for testing to avoid - # circular deps - wrap_libcxx cmake_src_configure - wrap_libcxx cmake_build generate-cxx-headers - wrap_libcxxabi cmake_src_configure - wrap_libcxxabi cmake_src_compile - wrap_libcxx cmake_src_compile - mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die - - local -x LIT_PRESERVES_TMP=1 - cmake_build check-unwind -} - -multilib_src_install() { - cmake_src_install - - # install headers like sys-libs/libunwind - doheader "${S}"/include/*.h -} diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-13.0.1.9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-14.0.1.ebuild index b2e400ff295..ad5504a093c 100644 --- a/sys-libs/llvm-libunwind/llvm-libunwind-13.0.1.9999.ebuild +++ b/sys-libs/llvm-libunwind/llvm-libunwind-14.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -12,7 +12,7 @@ HOMEPAGE="https://github.com/llvm-mirror/libunwind" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" -KEYWORDS="" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" IUSE="debug static-libs test" RESTRICT="!test? ( test )" @@ -21,22 +21,21 @@ RDEPEND="!sys-libs/libunwind" DEPEND=" >=sys-devel/llvm-6" BDEPEND=" - test? ( >=sys-devel/clang-3.9.0 + ${PYTHON_DEPS} + test? ( + >=sys-devel/clang-3.9.0 $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" -LLVM_COMPONENTS=( libunwind libcxx llvm/cmake ) -LLVM_TEST_COMPONENTS=( libcxxabi ) +LLVM_COMPONENTS=( runtimes libunwind libcxx llvm/cmake cmake ) +LLVM_TEST_COMPONENTS=( libcxxabi llvm/utils/llvm-lit ) llvm.org_set_globals python_check_deps() { + use test || return 0 has_version "dev-python/lit[${PYTHON_USEDEP}]" } -pkg_setup() { - use test && python-any-r1_pkg_setup -} - multilib_src_configure() { local use_compiler_rt=OFF local libdir=$(get_libdir) @@ -52,11 +51,15 @@ multilib_src_configure() { fi local mycmakeargs=( + -DPython3_EXECUTABLE="${PYTHON}" + -DLLVM_ENABLE_RUNTIMES="libunwind" -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + -DLLVM_INCLUDE_TESTS=OFF -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug) -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs) + -DLIBUNWIND_INCLUDE_TESTS=$(usex test) + -DLIBUNWIND_INSTALL_HEADERS=ON -DLIBUNWIND_TARGET_TRIPLE="${CHOST}" - -DLLVM_INCLUDE_TESTS=$(usex test) # support non-native unwinding; given it's small enough, # enable it unconditionally @@ -66,77 +69,48 @@ multilib_src_configure() { -DLIBUNWIND_USE_COMPILER_RT=${use_compiler_rt} ) if use test; then - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" - mycmakeargs+=( + -DLLVM_ENABLE_RUNTIMES="libunwind;libcxxabi;libcxx" -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}" + -DLLVM_LIT_ARGS="$(get_lit_flags)" -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}/libcxx" + + -DLIBCXXABI_LIBDIR_SUFFIX= + -DLIBCXXABI_ENABLE_SHARED=OFF + -DLIBCXXABI_ENABLE_STATIC=ON + -DLIBCXXABI_USE_LLVM_UNWINDER=ON + -DLIBCXXABI_INCLUDE_TESTS=OFF + + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=OFF + -DLIBCXX_ENABLE_STATIC=ON + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + -DLIBCXX_INCLUDE_BENCHMARKS=OFF ) fi cmake_src_configure -} - -wrap_libcxxabi() { - local mycmakeargs=( - -DLIBCXXABI_LIBDIR_SUFFIX= - -DLIBCXXABI_ENABLE_SHARED=OFF - -DLIBCXXABI_ENABLE_STATIC=ON - -DLIBCXXABI_USE_LLVM_UNWINDER=ON - -DLIBCXXABI_INCLUDE_TESTS=OFF - - -DLIBCXXABI_LIBCXX_INCLUDES="${BUILD_DIR}"/libcxx/include/c++/v1 - -DLIBCXXABI_LIBUNWIND_INCLUDES="${S}"/include - ) - - local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" - local CMAKE_USE_DIR=${WORKDIR}/libcxxabi - local BUILD_DIR=${BUILD_DIR}/libcxxabi - "${@}" -} - -wrap_libcxx() { - local mycmakeargs=( - -DLIBCXX_LIBDIR_SUFFIX= - -DLIBCXX_ENABLE_SHARED=OFF - -DLIBCXX_ENABLE_STATIC=ON - -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF - -DLIBCXXABI_USE_LLVM_UNWINDER=ON - -DLIBCXX_CXX_ABI=libcxxabi - -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/include - -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF - -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) - -DLIBCXX_HAS_GCC_S_LIB=OFF - -DLIBCXX_INCLUDE_TESTS=OFF - ) - - local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/libcxxabi/lib -L${BUILD_DIR}/$(get_libdir)" - local CMAKE_USE_DIR=${WORKDIR}/libcxx - local BUILD_DIR=${BUILD_DIR}/libcxx + if use test; then + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" - "${@}" + # meh, we need to override the compiler explicitly + sed -e "/%{cxx}/s@, '.*'@, '${clang_path}'@" \ + -i "${BUILD_DIR}"/libunwind/test/lit.site.cfg || die + fi } multilib_src_test() { - # build local copies of libc++ & libc++abi for testing to avoid - # circular deps - wrap_libcxx cmake_src_configure - wrap_libcxx cmake_build generate-cxx-headers - wrap_libcxxabi cmake_src_configure - wrap_libcxxabi cmake_src_compile - wrap_libcxx cmake_src_compile - mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die - local -x LIT_PRESERVES_TMP=1 cmake_build check-unwind } multilib_src_install() { - cmake_src_install - - # install headers like sys-libs/libunwind - doheader "${S}"/include/*.h + DESTDIR=${D} cmake_build install-unwind } diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-14.0.3.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-14.0.3.ebuild new file mode 100644 index 00000000000..b1b3c2dc140 --- /dev/null +++ b/sys-libs/llvm-libunwind/llvm-libunwind-14.0.3.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CMAKE_ECLASS=cmake +PYTHON_COMPAT=( python3_{8..10} ) +inherit cmake-multilib llvm llvm.org python-any-r1 toolchain-funcs + +DESCRIPTION="C++ runtime stack unwinder from LLVM" +HOMEPAGE="https://github.com/llvm-mirror/libunwind" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" +IUSE="debug static-libs test" +RESTRICT="!test? ( test )" + +RDEPEND=" + !sys-libs/libunwind +" +# llvm-6 for new lit options +DEPEND=" + >=sys-devel/llvm-6 +" +BDEPEND=" + !test? ( + ${PYTHON_DEPS} + ) + test? ( + >=sys-devel/clang-3.9.0 + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" + +LLVM_COMPONENTS=( runtimes libunwind libcxx llvm/cmake cmake ) +LLVM_TEST_COMPONENTS=( libcxxabi llvm/utils/llvm-lit ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +multilib_src_configure() { + local use_compiler_rt=OFF + local libdir=$(get_libdir) + + # link to compiler-rt + # https://github.com/gentoo/gentoo/pull/21516 + if tc-is-clang; then + local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \ + ${LD_FLAGS} -print-libgcc-file-name) + if [[ ${compiler_rt} == *libclang_rt* ]]; then + use_compiler_rt=ON + fi + fi + + local mycmakeargs=( + -DPython3_EXECUTABLE="${PYTHON}" + -DLLVM_ENABLE_RUNTIMES="libunwind" + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + -DLLVM_INCLUDE_TESTS=OFF + -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug) + -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs) + -DLIBUNWIND_INCLUDE_TESTS=$(usex test) + -DLIBUNWIND_INSTALL_HEADERS=ON + -DLIBUNWIND_TARGET_TRIPLE="${CHOST}" + + # support non-native unwinding; given it's small enough, + # enable it unconditionally + -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON + + # avoid dependency on libgcc_s if compiler-rt is used + -DLIBUNWIND_USE_COMPILER_RT=${use_compiler_rt} + ) + if use test; then + mycmakeargs+=( + -DLLVM_ENABLE_RUNTIMES="libunwind;libcxxabi;libcxx" + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}/libcxx" + + -DLIBCXXABI_LIBDIR_SUFFIX= + -DLIBCXXABI_ENABLE_SHARED=OFF + -DLIBCXXABI_ENABLE_STATIC=ON + -DLIBCXXABI_USE_LLVM_UNWINDER=ON + -DLIBCXXABI_INCLUDE_TESTS=OFF + + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=OFF + -DLIBCXX_ENABLE_STATIC=ON + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + -DLIBCXX_INCLUDE_BENCHMARKS=OFF + ) + fi + + cmake_src_configure + + if use test; then + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + + # meh, we need to override the compiler explicitly + sed -e "/%{cxx}/s@, '.*'@, '${clang_path}'@" \ + -i "${BUILD_DIR}"/libunwind/test/lit.site.cfg || die + fi +} + +multilib_src_test() { + local -x LIT_PRESERVES_TMP=1 + cmake_build check-unwind +} + +multilib_src_install() { + DESTDIR=${D} cmake_build install-unwind +} diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-15.0.0.9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-15.0.0.9999.ebuild new file mode 100644 index 00000000000..6d871c89b6b --- /dev/null +++ b/sys-libs/llvm-libunwind/llvm-libunwind-15.0.0.9999.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CMAKE_ECLASS=cmake +PYTHON_COMPAT=( python3_{8..10} ) +inherit cmake-multilib llvm llvm.org python-any-r1 toolchain-funcs + +DESCRIPTION="C++ runtime stack unwinder from LLVM" +HOMEPAGE="https://github.com/llvm-mirror/libunwind" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0" +KEYWORDS="" +IUSE="debug static-libs test" +RESTRICT="!test? ( test )" + +RDEPEND=" + !sys-libs/libunwind +" +# llvm-6 for new lit options +DEPEND=" + >=sys-devel/llvm-6 +" +BDEPEND=" + !test? ( + ${PYTHON_DEPS} + ) + test? ( + >=sys-devel/clang-3.9.0 + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" + +LLVM_COMPONENTS=( runtimes libunwind libcxx llvm/cmake cmake ) +LLVM_TEST_COMPONENTS=( libcxxabi llvm/utils/llvm-lit ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +multilib_src_configure() { + local use_compiler_rt=OFF + local libdir=$(get_libdir) + + # link to compiler-rt + # https://github.com/gentoo/gentoo/pull/21516 + if tc-is-clang; then + local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \ + ${LD_FLAGS} -print-libgcc-file-name) + if [[ ${compiler_rt} == *libclang_rt* ]]; then + use_compiler_rt=ON + fi + fi + + local mycmakeargs=( + -DPython3_EXECUTABLE="${PYTHON}" + -DLLVM_ENABLE_RUNTIMES="libunwind" + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + -DLLVM_INCLUDE_TESTS=OFF + -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug) + -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs) + -DLIBUNWIND_INCLUDE_TESTS=$(usex test) + -DLIBUNWIND_INSTALL_HEADERS=ON + -DLIBUNWIND_TARGET_TRIPLE="${CHOST}" + + # support non-native unwinding; given it's small enough, + # enable it unconditionally + -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON + + # avoid dependency on libgcc_s if compiler-rt is used + -DLIBUNWIND_USE_COMPILER_RT=${use_compiler_rt} + ) + if use test; then + mycmakeargs+=( + -DLLVM_ENABLE_RUNTIMES="libunwind;libcxxabi;libcxx" + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}/libcxx" + + -DLIBCXXABI_LIBDIR_SUFFIX= + -DLIBCXXABI_ENABLE_SHARED=OFF + -DLIBCXXABI_ENABLE_STATIC=ON + -DLIBCXXABI_USE_LLVM_UNWINDER=ON + -DLIBCXXABI_INCLUDE_TESTS=OFF + + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=OFF + -DLIBCXX_ENABLE_STATIC=ON + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + -DLIBCXX_INCLUDE_BENCHMARKS=OFF + ) + fi + + cmake_src_configure + + if use test; then + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + + # meh, we need to override the compiler explicitly + sed -e "/%{cxx}/s@, '.*'@, '${clang_path}'@" \ + -i "${BUILD_DIR}"/libunwind/test/lit.site.cfg || die + fi +} + +multilib_src_test() { + local -x LIT_PRESERVES_TMP=1 + cmake_build check-unwind +} + +multilib_src_install() { + DESTDIR=${D} cmake_build install-unwind +} diff --git a/sys-libs/mtdev/metadata.xml b/sys-libs/mtdev/metadata.xml index 3b39973e35b..2e8b56d091b 100644 --- a/sys-libs/mtdev/metadata.xml +++ b/sys-libs/mtdev/metadata.xml @@ -1,11 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="person"> - <email>naota@gentoo.org</email> -</maintainer> -<maintainer type="project"> - <email>x11@gentoo.org</email> - <name>X11</name> -</maintainer> + <maintainer type="person"> + <email>naota@gentoo.org</email> + <name>Naohiro Aota</name> + </maintainer> + <maintainer type="project"> + <email>x11@gentoo.org</email> + <name>X11</name> + </maintainer> </pkgmetadata> diff --git a/sys-libs/mtdev/mtdev-1.1.6.ebuild b/sys-libs/mtdev/mtdev-1.1.6.ebuild index 537a0e95a37..e427325f374 100644 --- a/sys-libs/mtdev/mtdev-1.1.6.ebuild +++ b/sys-libs/mtdev/mtdev-1.1.6.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -9,7 +9,7 @@ SRC_URI="https://bitmath.org/code/mtdev/${P}.tar.bz2" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE="" DEPEND=">=sys-kernel/linux-headers-2.6.31" diff --git a/sys-libs/musl-nscd/musl-nscd-1.0.3.ebuild b/sys-libs/musl-nscd/musl-nscd-1.0.3-r1.ebuild index 0f8e8326c8f..bec1e9b35ef 100644 --- a/sys-libs/musl-nscd/musl-nscd-1.0.3.ebuild +++ b/sys-libs/musl-nscd/musl-nscd-1.0.3-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -22,8 +22,8 @@ SLOT="0" IUSE="minimal" DEPEND=" - !sys-libs/glibc - !sys-libs/uclibc" + !sys-libs/glibc" +RDEPEND="${DEPEND}" PATCHES=( "${FILESDIR}"/${PN}-1.0.2-fno-common.patch ) diff --git a/sys-libs/musl-nscd/musl-nscd-1.1.1.ebuild b/sys-libs/musl-nscd/musl-nscd-1.1.1-r1.ebuild index 78daab8676a..775e2a99b75 100644 --- a/sys-libs/musl-nscd/musl-nscd-1.1.1.ebuild +++ b/sys-libs/musl-nscd/musl-nscd-1.1.1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -22,8 +22,8 @@ SLOT="0" IUSE="minimal" DEPEND=" - !sys-libs/glibc - !sys-libs/uclibc" + !sys-libs/glibc" +RDEPEND="${DEPEND}" src_prepare() { eapply_user diff --git a/sys-libs/musl-nscd/musl-nscd-9999.ebuild b/sys-libs/musl-nscd/musl-nscd-9999.ebuild index 78daab8676a..775e2a99b75 100644 --- a/sys-libs/musl-nscd/musl-nscd-9999.ebuild +++ b/sys-libs/musl-nscd/musl-nscd-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -22,8 +22,8 @@ SLOT="0" IUSE="minimal" DEPEND=" - !sys-libs/glibc - !sys-libs/uclibc" + !sys-libs/glibc" +RDEPEND="${DEPEND}" src_prepare() { eapply_user diff --git a/sys-libs/musl/Manifest b/sys-libs/musl/Manifest index 33b6ddc0114..ed1ea5b686b 100644 --- a/sys-libs/musl/Manifest +++ b/sys-libs/musl/Manifest @@ -1,4 +1,7 @@ DIST getconf.c 11614 BLAKE2B ba49a573fc16d51780a0b0b81fbf7b64a1142f1dbad203c9609a59b6b07e7404f676c415383ae88c0aede95694821f6ee381bffd93cc3330501e17dc07d122bd SHA512 0d80f37b34a35e3d14b012257c50862dfeb9d2c81139ea2dfa101d981d093b009b9fa450ba27a708ac59377a48626971dfc58e20a3799084a65777a0c32cbc7d DIST iconv.c 2577 BLAKE2B 070ca87b30c90ab98c27d5faf7a2fcb64ff7c67ca212ee6072165b2146979c551f714954dbd465462a171837c59b6ea027e0206458a2df0f977e45f01be3ce48 SHA512 9d42d66fb1facce2b85dad919be5be819ee290bd26ca2db00982b2f8e055a0196290a008711cbe2b18ec9eee8d2270e3b3a4692c5a1b807013baa5c2b70a2bbf DIST musl-1.2.2.tar.gz 1055220 BLAKE2B a000357ed52e417d8cebe5537df658dc0f8f02f2da3efcd79125544ad63e11e05fa96136551d0bfeb09a3f6c9a2260bffcfbd329ea92e6a7b62aa690f48968aa SHA512 5344b581bd6463d71af8c13e91792fa51f25a96a1ecbea81e42664b63d90b325aeb421dfbc8c22e187397ca08e84d9296a0c0c299ba04fa2b751d6864914bd82 +DIST musl-1.2.2.tar.gz.asc 490 BLAKE2B 8eb21bcfcbaf9d567c0a2bba468055d4ed86a9fb33126f50870ed0cb192ec8ab826d64dc129a0b4e78a7808309c006ce4fe5edae1099bc4c516c1ad4382a591d SHA512 9d76bd9d88438e21689d37d7c519bc5575fa72b121ddf89c55c1a2246ecf423664d8e5199192720d652f6d08229f9b17b5520465d49b12ed2ba80814d1d8e9d8 +DIST musl-1.2.3.tar.gz 1058642 BLAKE2B b7f667eeb6b9f612c086cb44e69b34da4361b8cb76819fb65f10ef7dd55f48d2f37a32d698dcada965c7c76c3c1cd5621447c4240b6ab2e5b39b2d214e7e302b SHA512 9332f713d3eb7de4369bc0327d99252275ee52abf523ee34b894b24a387f67579787f7c72a46cf652e090cffdb0bc3719a4e7b84dca66890b6a37f12e8ad089c +DIST musl-1.2.3.tar.gz.asc 490 BLAKE2B 4de3d2b2f4e748795b71e144df3ac073c68b0b1b5d40c7a4c3507cc3700c1f47a4ec745f644fa78d82de4cd1915b80be7ac1071fdfd6d468e01361c49ded065d SHA512 01a857dbc3981c90244d4d1d883efe51986652ca5734a741c9d1a4d06c5a22831e85520ac67212268b70c22049317a8f39b3219be182e7e67741add428ac5bc6 DIST musl-getent-93a08815f8598db442d8b766b463d0150ed8e2ab.c 11656 BLAKE2B 1b7bf7102a1eb91a8cb881ed8ca65eb8eed911dd50238e97dc2952d89d4c6ebed6bfd046a2b38776c550b2872ab54ced8cb452fcc2ad56e5616f722debda761f SHA512 7f5b9d934d82deb5f8b23e16169a5d9b99ccab3a4708df06a95d685e1b24a3a3e69b3dcf4942f2f66c12a3d4bf0c5827e2ee2e8c4d7b1997359fccc2ac212dee diff --git a/sys-libs/musl/files/ldconfig.in b/sys-libs/musl/files/ldconfig.in deleted file mode 100644 index 19c94d85353..00000000000 --- a/sys-libs/musl/files/ldconfig.in +++ /dev/null @@ -1,144 +0,0 @@ -#!/bin/bash -e -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -ROOT="/" - -LDSO_CONF="/etc/ld.so.conf" -if [[ ! -e $LDSO_CONF ]]; then - echo "$LDSO_CONF not found" >&2 - exit 1 -fi - -LDSO_CONF_DIR=$(dirname $LDSO_CONF) - -VERBOSE=0 - -UPDATE_LINKS=1 - -get_options() { - while getopts "vnNXf:C:r:p" opt "$@"; do - case $opt in - v) - echo "ldconfig for musl in Gentoo" - VERBOSE=1 - ;; - r) - ROOT=$OPTARG - ;; - f) - LDSO_CONF=$OPTARG - ;; - X) - UPDATE_LINKS=0 - ;; - \?) - echo "Invalid option: -$opt" >&2 - exit 1 - ;; - n|N|C|p) - echo "Unimplemented option: -$opt" >&2 - exit 1 - ;; - esac - done - - if [[ $UPDATE_LINKS == 1 ]]; then - echo "Updating links is not implemented." - fi -} - - -repeated() { - local l=$1 - local drs="${@:2}" - for m in $drs; do - [[ $m == $l ]] && return 0 - done - return 1 -} - -expand() { - # We are assuming the ld.so.conf's 'include' is not recursive - local f line l - local glob="$LDSO_CONF_DIR/$1" - local drs="${@:2} " - - for f in $glob; do - [[ ! -f $f ]] && continue - while read line; do - line=${line%%#*} - line=${line//:/ } - line=${line//,/ } - for l in $line; do - #We must add this whether or not the directory exists - repeated $l $drs && continue - drs+=" $l " - done - done < $f - done - - echo $drs -} - -read_ldso_conf() { - local drs=" " - - while read line; do - # Sanitize the line - see ldconfig(8) for delimiters - # Note: bash read turns tabs into spaces and read already - # delimits on newlines with the default $IFS - line=${line%%#*} # Remove comments - line=${line//:/ } # Change colon delimiter to space - line=${line//,/ } # Change comma delimiter to space - - next=0 - for l in $line; do - if [[ $next == 1 ]]; then - next=0 - drs=$(expand $l $drs) - elif [[ $l == "include" ]]; then - next=1 - else - # glibc's ldconfig silently skips non directories - if [[ -d $l ]]; then - repeated $l $drs && continue - drs+=" $l " - fi - fi - done - done < $1 - - echo $drs -} - -sanitize() { - local drs=$@ - - repeated "/lib" $drs || drs="/lib $drs" - repeated "/usr/lib" $drs || drs="/usr/lib $drs" - - echo $drs -} - -get_options "$@" -drs=$(read_ldso_conf "$LDSO_CONF") -drs=$(sanitize $drs) - -ARCH=@@ARCH@@ -LDSO_PATH="/lib/ld-musl-${ARCH}.so.1" -if [[ ! -e $LDSO_PATH ]]; then - echo "$LDSO_PATH not found" >&2 - exit 1 -fi - -LDSO_ARCH=$(basename $LDSO_PATH) -LDSO_NAME=${LDSO_ARCH%.so.1} -ETC_LDSO_PATH=/etc/${LDSO_NAME}.path - -X=$(mktemp -p /tmp ${LDSO_NAME}.XXXXXX) -for d in $drs; do - echo $d >> $X -done -chmod 644 $X -mv $X $ETC_LDSO_PATH diff --git a/sys-libs/musl/files/ldconfig.in-r1 b/sys-libs/musl/files/ldconfig.in-r3 index 7bf254dfd91..60f6cc9e113 100644 --- a/sys-libs/musl/files/ldconfig.in-r1 +++ b/sys-libs/musl/files/ldconfig.in-r3 @@ -1,15 +1,17 @@ #!/bin/bash -e -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 ROOT="/" -LDSO_CONF="/etc/ld.so.conf" +EPREFIX="@GENTOO_PORTAGE_EPREFIX@" +LDSO_CONF_FILE="/etc/ld.so.conf" VERBOSE=0 UPDATE_LINKS=1 get_options() { + LDSO_CONF="" while getopts "vnNXf:C:r:p" opt "$@"; do case $opt in v) @@ -18,8 +20,6 @@ get_options() { ;; r) ROOT=${OPTARG} - LDSO_CONF=${ROOT}${LDSO_CONF} - LDSO_CONF_DIR=$(dirname ${LDSO_CONF}) ;; f) LDSO_CONF=${OPTARG} @@ -37,6 +37,9 @@ get_options() { ;; esac done + if [[ -z ${LDSO_CONF} ]]; then + LDSO_CONF=${ROOT}${EPREFIX}${LDSO_CONF_FILE} + fi if [[ ${UPDATE_LINKS} == 1 ]]; then echo "Updating links is not implemented." @@ -110,8 +113,8 @@ read_ldso_conf() { sanitize() { local drs=$@ - repeated "/lib" ${drs} || drs="/lib ${drs}" - repeated "/usr/lib" ${drs} || drs="/usr/lib ${drs}" + repeated "${EPREFIX}/lib" ${drs} || drs="${EPREFIX}/lib ${drs}" + repeated "${EPREFIX}/usr/lib" ${drs} || drs="${EPREFIX}/usr/lib ${drs}" echo ${drs} } @@ -136,7 +139,7 @@ drs=$(read_ldso_conf "${LDSO_CONF}") drs=$(sanitize ${drs}) ARCH=@@ARCH@@ -LDSO_PATH="${ROOT}/lib/ld-musl-${ARCH}.so.1" +LDSO_PATH="${ROOT}${EPREFIX}/lib/ld-musl-${ARCH}.so.1" if [[ ! -e ${LDSO_PATH} ]]; then echo "${LDSO_PATH} not found" >&2 exit 1 @@ -144,7 +147,7 @@ fi LDSO_ARCH=$(basename ${LDSO_PATH}) LDSO_NAME=${LDSO_ARCH%.so.1} -ETC_LDSO_PATH="${ROOT}/etc/${LDSO_NAME}.path" +ETC_LDSO_PATH="${ROOT}${EPREFIX}/etc/${LDSO_NAME}.path" changed || exit 0 X=$(mktemp -p /tmp ${LDSO_NAME}.XXXXXX) @@ -152,4 +155,6 @@ for d in ${drs}; do echo ${d} >> ${X} done chmod 644 ${X} -mv ${X} ${ETC_LDSO_PATH} +# busybox doesn't support mz -Z +cp ${X} ${ETC_LDSO_PATH} +rm ${X} diff --git a/sys-libs/musl/musl-1.2.2-r3.ebuild b/sys-libs/musl/musl-1.2.2-r3.ebuild deleted file mode 100644 index 5d2851eac25..00000000000 --- a/sys-libs/musl/musl-1.2.2-r3.ebuild +++ /dev/null @@ -1,151 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit flag-o-matic toolchain-funcs -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="git://git.musl-libc.org/musl" - inherit git-r3 -else - SRC_URI="http://www.musl-libc.org/releases/${P}.tar.gz" - KEYWORDS="-* amd64 arm arm64 ~mips ppc ppc64 x86" -fi -GETENT_COMMIT="93a08815f8598db442d8b766b463d0150ed8e2ab" -GETENT_FILE="musl-getent-${GETENT_COMMIT}.c" -SRC_URI+=" - https://dev.gentoo.org/~blueness/musl-misc/getconf.c - https://gitlab.alpinelinux.org/alpine/aports/-/raw/${GETENT_COMMIT}/main/musl/getent.c -> ${GETENT_FILE} - https://dev.gentoo.org/~blueness/musl-misc/iconv.c -" - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CTARGET} == ${CHOST} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi - -DESCRIPTION="Light, fast and simple C library focused on standards-conformance and safety" -HOMEPAGE="https://musl.libc.org" -LICENSE="MIT LGPL-2 GPL-2" -SLOT="0" -IUSE="headers-only" - -QA_SONAME="/usr/lib/libc.so" -QA_DT_NEEDED="/usr/lib/libc.so" - -is_crosscompile() { - [[ ${CHOST} != ${CTARGET} ]] -} - -just_headers() { - use headers-only && is_crosscompile -} - -pkg_setup() { - if [ ${CTARGET} == ${CHOST} ] ; then - case ${CHOST} in - *-musl*) ;; - *) die "Use sys-devel/crossdev to build a musl toolchain" ;; - esac - fi - - # fix for #667126, copied from glibc ebuild - # make sure host make.conf doesn't pollute us - if is_crosscompile || tc-is-cross-compiler ; then - CHOST=${CTARGET} strip-unsupported-flags - fi -} - -src_unpack() { - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - else - unpack "${P}.tar.gz" - fi - mkdir misc || die - cp "${DISTDIR}"/getconf.c misc/getconf.c || die - cp "${DISTDIR}/${GETENT_FILE}" misc/getent.c || die - cp "${DISTDIR}"/iconv.c misc/iconv.c || die -} - -src_prepare() { - default - - # Expand gethostid instead of being just a stub - eapply "${FILESDIR}/${PN}-1.2.2-gethostid.patch" -} - -src_configure() { - tc-getCC ${CTARGET} - just_headers && export CC=true - - local sysroot - is_crosscompile && sysroot="${EPREFIX}"/usr/${CTARGET} - ./configure \ - --target=${CTARGET} \ - --prefix=${sysroot}/usr \ - --syslibdir=${sysroot}/lib \ - --disable-gcc-wrapper || die -} - -src_compile() { - emake obj/include/bits/alltypes.h - just_headers && return 0 - - emake - if [[ ${CATEGORY} != cross-* ]] ; then - emake -C "${T}" getconf getent iconv \ - CC="$(tc-getCC)" \ - CFLAGS="${CFLAGS}" \ - CPPFLAGS="${CPPFLAGS}" \ - LDFLAGS="${LDFLAGS}" \ - VPATH="${WORKDIR}/misc" - fi - - $(tc-getCC) ${CFLAGS} -c -o libssp_nonshared.o "${FILESDIR}"/stack_chk_fail_local.c || die - $(tc-getAR) -rcs libssp_nonshared.a libssp_nonshared.o || die -} - -src_install() { - local target="install" - just_headers && target="install-headers" - emake DESTDIR="${D}" ${target} - just_headers && return 0 - - # musl provides ldd via a sym link to its ld.so - local sysroot - is_crosscompile && sysroot=/usr/${CTARGET} - local ldso=$(basename "${D}"${sysroot}/lib/ld-musl-*) - dosym ${sysroot}/lib/${ldso} ${sysroot}/usr/bin/ldd - - if [[ ${CATEGORY} != cross-* ]] ; then - # Fish out of config: - # ARCH = ... - # SUBARCH = ... - # and print $(ARCH)$(SUBARCH). - local arch=$(awk '{ k[$1] = $3 } END { printf("%s%s", k["ARCH"], k["SUBARCH"]); }' config.mak) - [[ -e "${D}"/lib/ld-musl-${arch}.so.1 ]] || die - cp "${FILESDIR}"/ldconfig.in "${T}" || die - sed -e "s|@@ARCH@@|${arch}|" "${T}"/ldconfig.in > "${T}"/ldconfig || die - into / - dosbin "${T}"/ldconfig - into /usr - dobin "${T}"/getconf - dobin "${T}"/getent - dobin "${T}"/iconv - echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00musl || die - doenvd "${T}"/00musl - dolib.a libssp_nonshared.a - fi -} - -pkg_postinst() { - is_crosscompile && return 0 - - [ "${ROOT}" != "/" ] && return 0 - - ldconfig || die -} diff --git a/sys-libs/musl/musl-1.2.2-r7.ebuild b/sys-libs/musl/musl-1.2.2-r7.ebuild index dac76c21342..de91db9af87 100644 --- a/sys-libs/musl/musl-1.2.2-r7.ebuild +++ b/sys-libs/musl/musl-1.2.2-r7.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -9,7 +9,7 @@ if [[ ${PV} == "9999" ]] ; then inherit git-r3 else SRC_URI="http://www.musl-libc.org/releases/${P}.tar.gz" - KEYWORDS="-* ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86" + KEYWORDS="-* amd64 arm arm64 ~mips ppc ppc64 x86" fi GETENT_COMMIT="93a08815f8598db442d8b766b463d0150ed8e2ab" GETENT_FILE="musl-getent-${GETENT_COMMIT}.c" @@ -161,7 +161,7 @@ src_install() { pkg_postinst() { is_crosscompile && return 0 - [ "${ROOT}" != "/" ] && return 0 + [ -n "${ROOT}" ] && return 0 ldconfig || die } diff --git a/sys-libs/musl/musl-1.2.2-r6.ebuild b/sys-libs/musl/musl-1.2.2-r8.ebuild index 79a60682c79..ee20a7659de 100644 --- a/sys-libs/musl/musl-1.2.2-r6.ebuild +++ b/sys-libs/musl/musl-1.2.2-r8.ebuild @@ -1,15 +1,21 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit eapi8-dosym flag-o-matic toolchain-funcs +inherit eapi8-dosym flag-o-matic toolchain-funcs prefix if [[ ${PV} == "9999" ]] ; then EGIT_REPO_URI="git://git.musl-libc.org/musl" inherit git-r3 else - SRC_URI="http://www.musl-libc.org/releases/${P}.tar.gz" - KEYWORDS="-* amd64 arm arm64 ~mips ppc ppc64 x86" + VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/musl.asc + inherit verify-sig + + SRC_URI="https://musl.libc.org/releases/${P}.tar.gz" + SRC_URI+=" verify-sig? ( https://musl.libc.org/releases/${P}.tar.gz.asc )" + KEYWORDS="-* ~amd64 ~arm ~arm64 ~mips ppc ~ppc64 ~riscv ~x86" + + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-musl )" fi GETENT_COMMIT="93a08815f8598db442d8b766b463d0150ed8e2ab" GETENT_FILE="musl-getent-${GETENT_COMMIT}.c" @@ -60,34 +66,38 @@ pkg_setup() { } src_unpack() { - if [[ ${PV} == 9999 ]]; then + if [[ ${PV} == 9999 ]] ; then git-r3_src_unpack - else - unpack "${P}.tar.gz" + elif use verify-sig ; then + # We only verify the release; not the additional (fixed, safe) files + # we download. + # (Seem to get IPC error on verifying in cross?) + ! is_crosscompile && verify-sig_verify_detached "${DISTDIR}"/${P}.tar.gz{,.asc} fi - mkdir misc || die - cp "${DISTDIR}"/getconf.c misc/getconf.c || die - cp "${DISTDIR}/${GETENT_FILE}" misc/getent.c || die - cp "${DISTDIR}"/iconv.c misc/iconv.c || die + + default } src_prepare() { default - # Expand gethostid instead of being just a stub - eapply "${FILESDIR}/${PN}-1.2.2-gethostid.patch" + mkdir "${WORKDIR}"/misc || die + cp "${DISTDIR}"/getconf.c "${WORKDIR}"/misc/getconf.c || die + cp "${DISTDIR}/${GETENT_FILE}" "${WORKDIR}"/misc/getent.c || die + cp "${DISTDIR}"/iconv.c "${WORKDIR}"/misc/iconv.c || die } src_configure() { tc-getCC ${CTARGET} + just_headers && export CC=true local sysroot - is_crosscompile && sysroot="${EPREFIX}"/usr/${CTARGET} + is_crosscompile && sysroot=/usr/${CTARGET} ./configure \ --target=${CTARGET} \ - --prefix=${sysroot}/usr \ - --syslibdir=${sysroot}/lib \ + --prefix=${EPREFIX}${sysroot}/usr \ + --syslibdir=${EPREFIX}${sysroot}/lib \ --disable-gcc-wrapper || die } @@ -118,8 +128,8 @@ src_install() { # musl provides ldd via a sym link to its ld.so local sysroot is_crosscompile && sysroot=/usr/${CTARGET} - local ldso=$(basename "${D}"${sysroot}/lib/ld-musl-*) - dosym ${sysroot}/lib/${ldso} ${sysroot}/usr/bin/ldd + local ldso=$(basename "${ED}"${sysroot}/lib/ld-musl-*) + dosym ${EPREFIX}${sysroot}/lib/${ldso} ${sysroot}/usr/bin/ldd if [[ ${CATEGORY} != cross-* ]] ; then # Fish out of config: @@ -128,24 +138,20 @@ src_install() { # and print $(ARCH)$(SUBARCH). local arch=$(awk '{ k[$1] = $3 } END { printf("%s%s", k["ARCH"], k["SUBARCH"]); }' config.mak) - if [[ ! -e "${ED}"/lib/ld-musl-${arch}.so.1 ]] ; then - # During cross (using crossdev), when emerging sys-libs/musl, - # if /usr/lib/libc.so.1 doesn't exist on the system, installation - # would fail. - # - # The musl build system seems to create a symlink: - # ${D}/lib/ld-musl-${arch}.so.1 -> /usr/lib/libc.so.1 (absolute) - # During cross, there's no guarantee that the host is using musl - # so that file may not exist. Use a relative symlink within ${D} - # instead. - dosym8 -r /usr/lib/libc.so /lib/ld-musl-${arch}.so.1 - - # If it's still a dead symlnk, OK, we really do need to abort. - [[ -e "${ED}"/lib/ld-musl-${arch}.so.1 ]] || die - fi - - cp "${FILESDIR}"/ldconfig.in-r1 "${T}"/ldconfig.in || die + # The musl build system seems to create a symlink: + # ${D}/lib/ld-musl-${arch}.so.1 -> /usr/lib/libc.so.1 (absolute) + # During cross or within prefix, there's no guarantee that the host is + # using musl so that file may not exist. Use a relative symlink within + # ${D} instead. + rm -f "${ED}"/lib/ld-musl-${arch}.so.1 || die + dosym8 -r /usr/lib/libc.so /lib/ld-musl-${arch}.so.1 + + # If it's still a dead symlnk, OK, we really do need to abort. + [[ -e "${ED}"/lib/ld-musl-${arch}.so.1 ]] || die + + cp "${FILESDIR}"/ldconfig.in-r3 "${T}"/ldconfig.in || die sed -e "s|@@ARCH@@|${arch}|" "${T}"/ldconfig.in > "${T}"/ldconfig || die + eprefixify "${T}"/ldconfig into / dosbin "${T}"/ldconfig into /usr @@ -161,7 +167,7 @@ src_install() { pkg_postinst() { is_crosscompile && return 0 - [ "${ROOT}" != "/" ] && return 0 + [ -n "${ROOT}" ] && return 0 ldconfig || die } diff --git a/sys-libs/musl/musl-1.2.2-r4.ebuild b/sys-libs/musl/musl-1.2.3.ebuild index 868577f61ad..07ab1388cef 100644 --- a/sys-libs/musl/musl-1.2.2-r4.ebuild +++ b/sys-libs/musl/musl-1.2.3.ebuild @@ -1,15 +1,21 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit eapi8-dosym flag-o-matic toolchain-funcs +inherit eapi8-dosym flag-o-matic toolchain-funcs prefix if [[ ${PV} == "9999" ]] ; then EGIT_REPO_URI="git://git.musl-libc.org/musl" inherit git-r3 else - SRC_URI="http://www.musl-libc.org/releases/${P}.tar.gz" - KEYWORDS="-* amd64 arm arm64 ~mips ppc ppc64 x86" + VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/musl.asc + inherit verify-sig + + SRC_URI="https://musl.libc.org/releases/${P}.tar.gz" + SRC_URI+=" verify-sig? ( https://musl.libc.org/releases/${P}.tar.gz.asc )" + KEYWORDS="-* ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86" + + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-musl )" fi GETENT_COMMIT="93a08815f8598db442d8b766b463d0150ed8e2ab" GETENT_FILE="musl-getent-${GETENT_COMMIT}.c" @@ -60,34 +66,38 @@ pkg_setup() { } src_unpack() { - if [[ ${PV} == 9999 ]]; then + if [[ ${PV} == 9999 ]] ; then git-r3_src_unpack - else - unpack "${P}.tar.gz" + elif use verify-sig ; then + # We only verify the release; not the additional (fixed, safe) files + # we download. + # (Seem to get IPC error on verifying in cross?) + ! is_crosscompile && verify-sig_verify_detached "${DISTDIR}"/${P}.tar.gz{,.asc} fi - mkdir misc || die - cp "${DISTDIR}"/getconf.c misc/getconf.c || die - cp "${DISTDIR}/${GETENT_FILE}" misc/getent.c || die - cp "${DISTDIR}"/iconv.c misc/iconv.c || die + + default } src_prepare() { default - # Expand gethostid instead of being just a stub - eapply "${FILESDIR}/${PN}-1.2.2-gethostid.patch" + mkdir "${WORKDIR}"/misc || die + cp "${DISTDIR}"/getconf.c "${WORKDIR}"/misc/getconf.c || die + cp "${DISTDIR}/${GETENT_FILE}" "${WORKDIR}"/misc/getent.c || die + cp "${DISTDIR}"/iconv.c "${WORKDIR}"/misc/iconv.c || die } src_configure() { tc-getCC ${CTARGET} + just_headers && export CC=true local sysroot - is_crosscompile && sysroot="${EPREFIX}"/usr/${CTARGET} + is_crosscompile && sysroot=/usr/${CTARGET} ./configure \ --target=${CTARGET} \ - --prefix=${sysroot}/usr \ - --syslibdir=${sysroot}/lib \ + --prefix=${EPREFIX}${sysroot}/usr \ + --syslibdir=${EPREFIX}${sysroot}/lib \ --disable-gcc-wrapper || die } @@ -118,8 +128,8 @@ src_install() { # musl provides ldd via a sym link to its ld.so local sysroot is_crosscompile && sysroot=/usr/${CTARGET} - local ldso=$(basename "${D}"${sysroot}/lib/ld-musl-*) - dosym ${sysroot}/lib/${ldso} ${sysroot}/usr/bin/ldd + local ldso=$(basename "${ED}"${sysroot}/lib/ld-musl-*) + dosym ${EPREFIX}${sysroot}/lib/${ldso} ${sysroot}/usr/bin/ldd if [[ ${CATEGORY} != cross-* ]] ; then # Fish out of config: @@ -128,24 +138,20 @@ src_install() { # and print $(ARCH)$(SUBARCH). local arch=$(awk '{ k[$1] = $3 } END { printf("%s%s", k["ARCH"], k["SUBARCH"]); }' config.mak) - if [[ ! -e "${ED}"/lib/ld-musl-${arch}.so.1 ]] ; then - # During cross (using crossdev), when emerging sys-libs/musl, - # if /usr/lib/libc.so.1 doesn't exist on the system, installation - # would fail. - # - # The musl build system seems to create a symlink: - # ${D}/lib/ld-musl-${arch}.so.1 -> /usr/lib/libc.so.1 (absolute) - # During cross, there's no guarantee that the host is using musl - # so that file may not exist. Use a relative symlink within ${D} - # instead. - dosym8 -r /usr/lib/libc.so /lib/ld-musl-${arch}.so.1 - - # If it's still a dead symlnk, OK, we really do need to abort. - [[ -e "${ED}"/lib/ld-musl-${arch}.so.1 ]] || die - fi - - cp "${FILESDIR}"/ldconfig.in "${T}" || die + # The musl build system seems to create a symlink: + # ${D}/lib/ld-musl-${arch}.so.1 -> /usr/lib/libc.so.1 (absolute) + # During cross or within prefix, there's no guarantee that the host is + # using musl so that file may not exist. Use a relative symlink within + # ${D} instead. + rm -f "${ED}"/lib/ld-musl-${arch}.so.1 || die + dosym8 -r /usr/lib/libc.so /lib/ld-musl-${arch}.so.1 + + # If it's still a dead symlnk, OK, we really do need to abort. + [[ -e "${ED}"/lib/ld-musl-${arch}.so.1 ]] || die + + cp "${FILESDIR}"/ldconfig.in-r3 "${T}"/ldconfig.in || die sed -e "s|@@ARCH@@|${arch}|" "${T}"/ldconfig.in > "${T}"/ldconfig || die + eprefixify "${T}"/ldconfig into / dosbin "${T}"/ldconfig into /usr @@ -161,7 +167,7 @@ src_install() { pkg_postinst() { is_crosscompile && return 0 - [ "${ROOT}" != "/" ] && return 0 + [ -n "${ROOT}" ] && return 0 ldconfig || die } diff --git a/sys-libs/musl/musl-9999.ebuild b/sys-libs/musl/musl-9999.ebuild index 6a5e2688dd5..07ab1388cef 100644 --- a/sys-libs/musl/musl-9999.ebuild +++ b/sys-libs/musl/musl-9999.ebuild @@ -1,15 +1,21 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit eapi8-dosym flag-o-matic toolchain-funcs +inherit eapi8-dosym flag-o-matic toolchain-funcs prefix if [[ ${PV} == "9999" ]] ; then EGIT_REPO_URI="git://git.musl-libc.org/musl" inherit git-r3 else - SRC_URI="http://www.musl-libc.org/releases/${P}.tar.gz" - KEYWORDS="-* ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86" + VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/musl.asc + inherit verify-sig + + SRC_URI="https://musl.libc.org/releases/${P}.tar.gz" + SRC_URI+=" verify-sig? ( https://musl.libc.org/releases/${P}.tar.gz.asc )" + KEYWORDS="-* ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86" + + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-musl )" fi GETENT_COMMIT="93a08815f8598db442d8b766b463d0150ed8e2ab" GETENT_FILE="musl-getent-${GETENT_COMMIT}.c" @@ -60,27 +66,38 @@ pkg_setup() { } src_unpack() { - if [[ ${PV} == 9999 ]]; then + if [[ ${PV} == 9999 ]] ; then git-r3_src_unpack - else - unpack "${P}.tar.gz" + elif use verify-sig ; then + # We only verify the release; not the additional (fixed, safe) files + # we download. + # (Seem to get IPC error on verifying in cross?) + ! is_crosscompile && verify-sig_verify_detached "${DISTDIR}"/${P}.tar.gz{,.asc} fi - mkdir misc || die - cp "${DISTDIR}"/getconf.c misc/getconf.c || die - cp "${DISTDIR}/${GETENT_FILE}" misc/getent.c || die - cp "${DISTDIR}"/iconv.c misc/iconv.c || die + + default +} + +src_prepare() { + default + + mkdir "${WORKDIR}"/misc || die + cp "${DISTDIR}"/getconf.c "${WORKDIR}"/misc/getconf.c || die + cp "${DISTDIR}/${GETENT_FILE}" "${WORKDIR}"/misc/getent.c || die + cp "${DISTDIR}"/iconv.c "${WORKDIR}"/misc/iconv.c || die } src_configure() { tc-getCC ${CTARGET} + just_headers && export CC=true local sysroot - is_crosscompile && sysroot="${EPREFIX}"/usr/${CTARGET} + is_crosscompile && sysroot=/usr/${CTARGET} ./configure \ --target=${CTARGET} \ - --prefix=${sysroot}/usr \ - --syslibdir=${sysroot}/lib \ + --prefix=${EPREFIX}${sysroot}/usr \ + --syslibdir=${EPREFIX}${sysroot}/lib \ --disable-gcc-wrapper || die } @@ -111,8 +128,8 @@ src_install() { # musl provides ldd via a sym link to its ld.so local sysroot is_crosscompile && sysroot=/usr/${CTARGET} - local ldso=$(basename "${D}"${sysroot}/lib/ld-musl-*) - dosym ${sysroot}/lib/${ldso} ${sysroot}/usr/bin/ldd + local ldso=$(basename "${ED}"${sysroot}/lib/ld-musl-*) + dosym ${EPREFIX}${sysroot}/lib/${ldso} ${sysroot}/usr/bin/ldd if [[ ${CATEGORY} != cross-* ]] ; then # Fish out of config: @@ -121,24 +138,20 @@ src_install() { # and print $(ARCH)$(SUBARCH). local arch=$(awk '{ k[$1] = $3 } END { printf("%s%s", k["ARCH"], k["SUBARCH"]); }' config.mak) - if [[ ! -e "${ED}"/lib/ld-musl-${arch}.so.1 ]] ; then - # During cross (using crossdev), when emerging sys-libs/musl, - # if /usr/lib/libc.so.1 doesn't exist on the system, installation - # would fail. - # - # The musl build system seems to create a symlink: - # ${D}/lib/ld-musl-${arch}.so.1 -> /usr/lib/libc.so.1 (absolute) - # During cross, there's no guarantee that the host is using musl - # so that file may not exist. Use a relative symlink within ${D} - # instead. - dosym8 -r /usr/lib/libc.so /lib/ld-musl-${arch}.so.1 - - # If it's still a dead symlnk, OK, we really do need to abort. - [[ -e "${ED}"/lib/ld-musl-${arch}.so.1 ]] || die - fi - - cp "${FILESDIR}"/ldconfig.in-r1 "${T}"/ldconfig.in || die + # The musl build system seems to create a symlink: + # ${D}/lib/ld-musl-${arch}.so.1 -> /usr/lib/libc.so.1 (absolute) + # During cross or within prefix, there's no guarantee that the host is + # using musl so that file may not exist. Use a relative symlink within + # ${D} instead. + rm -f "${ED}"/lib/ld-musl-${arch}.so.1 || die + dosym8 -r /usr/lib/libc.so /lib/ld-musl-${arch}.so.1 + + # If it's still a dead symlnk, OK, we really do need to abort. + [[ -e "${ED}"/lib/ld-musl-${arch}.so.1 ]] || die + + cp "${FILESDIR}"/ldconfig.in-r3 "${T}"/ldconfig.in || die sed -e "s|@@ARCH@@|${arch}|" "${T}"/ldconfig.in > "${T}"/ldconfig || die + eprefixify "${T}"/ldconfig into / dosbin "${T}"/ldconfig into /usr @@ -154,7 +167,7 @@ src_install() { pkg_postinst() { is_crosscompile && return 0 - [ "${ROOT}" != "/" ] && return 0 + [ -n "${ROOT}" ] && return 0 ldconfig || die } diff --git a/sys-libs/ncurses/Manifest b/sys-libs/ncurses/Manifest index 71621376f4c..3631d029552 100644 --- a/sys-libs/ncurses/Manifest +++ b/sys-libs/ncurses/Manifest @@ -1,6 +1,58 @@ DIST ncurses-6.2-20210619-patch.sh.bz2 836967 BLAKE2B f210bf25c33f11d67e54a6f416aae75f0a976880ea543408780fd3a8dc992ee8d9999bf15c925c79504be0f30ade4bbfaed763abedd2b2d6b35de65b353a6314 SHA512 b8392bf6c0b7570766ae31a043df311660201265dfe3e2e49425b1e2aa08c72030b5f5b6c7871532897596262c88a7192e3ff2adfdc618f1b9c13c22c373eeb3 DIST ncurses-6.2.tar.gz 3425862 BLAKE2B 6680cd7a369a4cb8234442a70869c283f0db6db9d7da1da2a7a5c519eb862a2c9b9411957d99f9ebb5089cad00b42e1ca6bc0784327461113df2eeaec695913c SHA512 4c1333dcc30e858e8a9525d4b9aefb60000cfc727bc4a1062bace06ffc4639ad9f6e54f6bdda0e3a0e5ea14de995f96b52b3327d9ec633608792c99a1e8d840d DIST ncurses-6.3-20211026.patch.gz 117363 BLAKE2B 74c6c80271edc3b69d17c891436e48ee0579b3d16dd1bbd42f953be5b6ef07596343abd34f4d508b0cb371c1c0febfec12d65e938739892a617c8b141f599753 SHA512 25a99bc9cb7a18eb8fd16a0f887bae90c2551e0228b077d28f7217e58190f4b19a526350c999922f7394a1b749e834643c1bf5f339248b842717c146a3ec1df4 +DIST ncurses-6.3-20211026.patch.gz.asc 729 BLAKE2B 470aa4aad00d0dfa9924ca3247d720b720563bfe5a3b5c9571acb4c74a7b3fb55adbae6b0aa854eb0e29c56d7949fa1e3b6d959c25681f1b46c23c96a3c0e054 SHA512 276e8a09ee6fddf20be38b9d8a6f93cbafcec51ed17de375b9d2f4f6c34ff546fdbd81083f54aba1a5aaea5c2c691c25754dfca47568c5b70197437420dd2581 DIST ncurses-6.3-20211030.patch.gz 46304 BLAKE2B 6fa0f5223c97dc045117c208b92e75aad61638585506aeed0fa5cd6b215f67d212fc780e527f1281ae77063edb1ef9b3a3671b00d306fe322c3ca1b34c1d4d81 SHA512 90440af3959a17388999f07a3b40f770c5511bceda6a39d4c56f867dc5ae8494e49cfb700eb79e31422ebfd1b1990f6d7912083c688963139446f1e43e9d08c8 +DIST ncurses-6.3-20211030.patch.gz.asc 729 BLAKE2B af1715038a877ebe10660872bed82d536df410f8987508aca7ffed6d19fcdc95a2f5bd8f527b5a30580b07d7c770fade7bac2cfce3e20315faf472eaeb075d5f SHA512 526ff0ff7030cef711e92150fe0f2be7076bf8fe8c7b5fff9ee709c202e747c921479bf3efc2c3da8df2f0d7926de6b1571d03270e49bf64bc539193b0a3020d DIST ncurses-6.3-20211106.patch.gz 3995 BLAKE2B fbacfd6bfbf64b2935d47f648bd74c93136ea8d17b51e218b80a24695b52246ce8ec01704a0636692bae72815c8b93dec8573570dfd126b19645ec90926e818a SHA512 799819ed01967387fdca4755ab44401f0dc90306f6f771c894ce6702c929e2ff87f45d3e1c2e683cc32bb01553f3332c3a7591a00b7a4bdff93da25307379bdc +DIST ncurses-6.3-20211106.patch.gz.asc 729 BLAKE2B a60360000338be6f19e9769d901b03917a632d2da961523ea81191b44b04430d757ba0dea30a6b02e29b324dffdc447cf1fe729428138e0e71b138d84aed26b4 SHA512 3902c88633078ccfebda4ce67dbf6e4ccf0e8be296a0193d07ccf51b56dd75c34f326f885330c90d81aa0d487aad513eb797c3916aba682a8ed6673b51483c84 +DIST ncurses-6.3-20211113.patch.gz 116573 BLAKE2B 5c0926fa97628e1e15f10f47e3c668d5867c066b03b80ec1be2cada6a48ec02aca81dbf997718fc1d9bbdd36016de62981eb19e875aac4b4c531c90c0a2f1c48 SHA512 2225859cb6770d31cd5d147f1b767c61ad28534542b64e3e22a9630977f2cabcdad11313d533c0c462f53a6e0dc17cd80985ca759d796658775676720e50998a +DIST ncurses-6.3-20211113.patch.gz.asc 729 BLAKE2B 16e9645ea71db7afa7b3a52831b04920e9d7d960bfef074361ac77264a28b9bd95a6240e1e3e2e96373615f2915a35acf6d3c21b63a6c4130fd35bf3c65dbbe2 SHA512 7d5b8740512b31bc5b6ace1cc9ebbdf36f2092bc88aa3994f757085ac2add814648daa70c18410a4433fb6327115d9b1762eaf93f9d337de3e10a9707f411f1f +DIST ncurses-6.3-20211115.patch.gz 2259 BLAKE2B bf3ecd64919707bdf25b1db20d99c68d47d122406bcc4884c370d9b13c3df4bd8fd5e913d3f5ac7dcfbec58f4910d2d42176c32d879095c45e2513cc4c933a22 SHA512 7571da910f51152200d2fa76659d1a253ceb7022c00bfa587188c7ad1f6896ed836eafa3e724933fe3c4bfc03aaf6ac1d51102c5db1a3e37f944f3b15d50f9db +DIST ncurses-6.3-20211115.patch.gz.asc 729 BLAKE2B 8b853439790674b22029d4d71a65b29019bfc1d2109b44cc2d08a08cc396bd5b784ca8169e4a8edc1fc4e9a08611b89c50f9e3a18781aef0b5a56ea20b335117 SHA512 5427ac588426bba6e9b579faa6c1e1b17839fe2e3327dcd76ac187a46792693da327b279eef35c43e39b08f755cf930e7efe03a753d8b8ba326c039408131d60 +DIST ncurses-6.3-20211120.patch.gz 122226 BLAKE2B 390bb1bee13b83d282ce31a26327bf46000d74851f5d2a363e04915ef73ca5ffaf365255d6696b0c4d10fbb1fb124baa07fa0b841f378b018a37ac1a741aa579 SHA512 37eca2eb6478332e095c139eaa0ff740b8bdf82da4a1c0e990010ffaa3385b38a1c6956ff3f1dc182894384d9face8c265d35faa3ffd0a517c404890b51d177e +DIST ncurses-6.3-20211120.patch.gz.asc 729 BLAKE2B dd03ec2ae80bfb83ebce5b55410914ce3d5015da2933984b04d2e4d6170b42cccf109bbe2312b4d77c83933f9bad9af7f19e8b1ff23f3791b99238c2d0834891 SHA512 5693a92e631718c6f2bc791e994f5e225a70cd6eab9df5b5da2c180b96480e77c0e5485f48653cffdfe267048175523b7dc42414083500310fb87554043dd19c +DIST ncurses-6.3-20211127.patch.gz 38780 BLAKE2B b9e6e1c065c7aa97809e65a0af2bb398e7d2ed17c95c35bc4320451ad47efd1a292dfb74d2ff53ff12a68c9cabd6464fe7be40e389c35c4f99ebdc66ec7ad77f SHA512 e2971c8606173da0e044630622506fdef4b83e968b2c501c4e1db9b0b4e54cf93d76570fdacf0edeff986d9cdd728471050c9365881092817b54bd83917fdb25 +DIST ncurses-6.3-20211127.patch.gz.asc 729 BLAKE2B 11ccba2a3310a70b228d0df1b088501ba30f159878662791ce3a294b48e0819c6619dff8763590cdfd74d6e2dc24a5897705808e6da64510d49eea7889e3b1a0 SHA512 8949ab4d8e6b124769bac40becf2853bc0f370814fdd013c7b0c638b9008c1628e5b7cc372f95731549a5cb184ac6d80172f985e114d186a30cebd67268dae61 +DIST ncurses-6.3-20211204.patch.gz 29875 BLAKE2B ce2c8ada23ea01d22baa8d68bb34bfebd3913ce8dd787f1a3825eb07c7a8d83dfe4317e755fc2a16469f6936022a2c45155ea5e3aaf9d01a5caaf124cf1eede2 SHA512 30454d917631cfad474191dbb7e1318e5370e829cab4b63470f51e9c13c953975d999a41cb10a35dfabcf038fe666247d32659f597a6e8a8bac572a4fe6b3fd6 +DIST ncurses-6.3-20211204.patch.gz.asc 729 BLAKE2B b6cc88dd5ac8edc1afa60baccb8af84daf00d8806822f04284c78f0ed132f7fcd839f4d39bc62ff58d48bd3fbf504baab9bb9815a4c236f0bbdbcf23798be71e SHA512 5dbbd09311d4f5bcf1697373945db190925c0d7d1e0aa3d65f83608e34a9c407a74df8553581ec5a49d634e94261ba8f5fac26dbe9718177df173fc4e52543e2 +DIST ncurses-6.3-20211211.patch.gz 5277 BLAKE2B be82f85d49e28a25ef8c26dda4355ac111fab68917d157af05289b518a669e7e42a1f6bf65a813bb3d0747e56cd2723ee1dfa28dc02501ae8350ac74e01c1b39 SHA512 c57157bc401190867aad64f4503e438777606786814de32b38e44df6d73733b91b5c5ca4e173035dd5ccfddbdca2814fdad7a1781f6a144adae4d96d2c6e7e78 +DIST ncurses-6.3-20211211.patch.gz.asc 729 BLAKE2B 01ba5f095250a316fdf30f3f15032804db351c5995dda85820e67cacbb62a0d8a750c4bdfbe6deb9654f01ef124a78ef89b9fe41e4b494561ffa5a79f243c72e SHA512 17973f01a765d121597b3cff6fed2feffe5ff895c4589ea08a86134ba3b9913742f740deba9369d2e7aa89aa033c1925b4d49518d188cae57ba83ff5a3668225 +DIST ncurses-6.3-20211219.patch.gz 6874 BLAKE2B a5b98f1a0fc7b31340713f5aa2a0106184e270ac2312851a5a92ff6947d70d86e9af849a3830f5306c17bad58fbda4640b4cc15715b23cb6e2411b7f86ba0282 SHA512 c38b31e133d336fb50936cc176a04fa076c197c6e6fe56beb840002d6ac65c76c4a3d1f2506122b1095d680ce254a886b52c56194f2fe586edf69355d68f2a45 +DIST ncurses-6.3-20211219.patch.gz.asc 729 BLAKE2B 2ff431a67bf8ac671ec330c8ea7c61e6467cf2c7acb7760ebe035b72a05e675b1945e891d55943f1dfe0fed0c29f91731094ae5d198e11af6d9d0a21534282ed SHA512 7d6a3a0e4a51c885fa2ef37c71f089b7493daa57a59cb02188bef64597657fabb7dc20fce1d55bbd4c368987becdc1dcb89cdce14b45576ce7657522046d8b2b +DIST ncurses-6.3-20211225.patch.gz 205972 BLAKE2B 34ea7243f7f8ecff69e60a90fc1a0a9b9d69b4e87227714d7ae8f603c3b16f82466c96987e7696fbb45005dbaa2c732f85a79b4fc39a61f8555bac661f27ba53 SHA512 1c2c1687233cfc72cf050883bbee60d88ed179e0fa865dd752985e83add68b5278e498b2e9bd2658b00ef7791e04fc456f43e82fcbb8cb4ed46365bff3c336d8 +DIST ncurses-6.3-20211225.patch.gz.asc 729 BLAKE2B efc0b1a5cf93c71912ab6a7232ddc7c50d2369a955992e6e60f8d86e56aee3cf539c82e082951d5b6215bbde835219588619ae95525b08a54486d3c75ffe3658 SHA512 f2bb524f604883858015a23fbeb698db8483afb88012b3271bfa10935fc71845088b7b5c9fcf950ea9fc2aaa0e2baa4147a8d9f4e42902d3be9f424ce01f7ad4 +DIST ncurses-6.3-20220101.patch.gz 11576 BLAKE2B 76b2ff3bb028bd6ebbcfd0f79e20aa5fd06806279c569e2640e9b6de83899913ef8755c37888a65cdce3ee701db2ef704181de6d36417abfc158fe651d5c0e68 SHA512 07dbf0def9d21a6b701f4f3d18a8f82d5115f8e4d826a57bf5914534029c79aad2b539f60ab5b1795886894f490a9f604acddce3a77cdd474d80db5428568b97 +DIST ncurses-6.3-20220101.patch.gz.asc 729 BLAKE2B c86a9999b42fb312c1452f619269bdc5c1293c19cb8adb2436b5670acf706800a951d266f2c1b78caf1ab10608933e99fc49e761eaef1a658b0ed35fc4816ea9 SHA512 1ddbcdef1e7b5a04dbf0a7b371cd775337ca3ac39247f5215e5c6d099d4758367b98c28a6d5568a08bdcdcb7ff29a7ef2936b12b431d9a0e00eaad2cc78976d4 +DIST ncurses-6.3-20220115.patch.gz 294400 BLAKE2B 97293251ae0c6322df5e4663fca4991e5a1978ad63f1d7d015027dfd6e5dc5e1a52d46683199da2efb5f7f18e7b5424ff7702d34d0dba5eb4ba83dbd85039078 SHA512 0e42e298fa22bf2a463870576ac697ae71320eacfd3ee41bc4b41a229f05603cbdf52bd4e7b724de83c41c2587469deb1e2f876a5e6eabe1df1799263f5c1a87 +DIST ncurses-6.3-20220115.patch.gz.asc 729 BLAKE2B d1288c86c4fdd9890dc8654f81e2e8c956412173a03f26f0018234d6bad6fae6043df8f65d1bf1942c8ea8de68f631d6cd6e8741c932277b85fe9735ec9414a7 SHA512 cf3aafd09105362d8c896d3de73a49ed1f19818a78bd2f2a9f1f8ece218dc01159e65793ef4010d5f5a850fa9057f4f2723d745e6fbca7530a4e8c468005bd41 +DIST ncurses-6.3-20220122.patch.gz 106624 BLAKE2B 33d12cec7df1553cd2c4c3e09152f53ef5b8e86a4cf9bb5afadcc92065f93bd0734f761be088f13f150ec9e8e4d7d8159ea22b2c2bf0bec824e25078d2ea9251 SHA512 c585ba9f3c27314cfb9097d8cf9feb1653014d676670f1644cefffb347ef70a7172ca56c20015531c7117eb23909d55815a295850738499e58c4d5306ec5d747 +DIST ncurses-6.3-20220122.patch.gz.asc 729 BLAKE2B fb8f0e236ec7582b1adfa9c7facb959fe1b88ffcee494308dec6fb4ece6e518d1aae3af5c52e0b82f59660e60c3c01dd56037e1b107e25240a12a03f4300f91a SHA512 609c55b3028a89d4ff09774279435bad58d8d0e179042dafe2c61092f32b5edcad2397cdd8a6eeb7ab61322064fd1b24d8b6b960adc6ede0b7254c3b12284fe1 +DIST ncurses-6.3-20220129.patch.gz 117854 BLAKE2B 1dce0288609407e6bc803ffc8f61b0c33f8a1dcf1c6c4303cd4c730741e4f0b68b7fb7e7b79c1a29dc1c7cde7f2e5aa7b615402b13ee3af7a7c28cae1ce804d0 SHA512 3f573b645f67279e0394352456d844d289be89e2ca70d832d24fe945ce2e6b017273eb305171e5a704492ac3d600de05e5e6c1e268a939bea4b5cfd74b292753 +DIST ncurses-6.3-20220129.patch.gz.asc 729 BLAKE2B a6b8fa01d3a5c8c3f4055757ac23a2700e5b8627214f8606f25c82f560f1637ff2db70a872f43a9aa25b64e3efb3c98bb9980b0673a35ca13073c4f9d5063fa4 SHA512 b2906c5d27312df3c6e79ab486753420ab83e9562d1b3d35971b5ed7f6d15a1ad7f8a3b18bafe3e5e8c6ef9b09d32dade373269ebfbbe9ce5d2b417e0848a5d9 +DIST ncurses-6.3-20220205.patch.gz 48085 BLAKE2B 1d1bd94138379e1947941c87c1ef6cb76e1e5dcf49e04985b59f1d111a524976629f94ece79f9ec93a2c773f8dda9bde0b90b1d34ed1ec51a573d4f1587cad86 SHA512 166f3f6687f52c18169d67e5cd7338aee7ec283898c522e964a4d9f59b20a5754d6865e0268c5297ef7c4b7fc34b8607f00129aecb5b7ab616788a0b98f674b2 +DIST ncurses-6.3-20220205.patch.gz.asc 729 BLAKE2B cace085a89847d3d19eab5049c64afb187b1419dd7ea6ac1e9cd8c037aa83897788cbddc3e97ebe15d32f09e1c5156664e5d3af5727edf6ba6b739025582f984 SHA512 c2176c35fe7044ba82869a928c614faec3a894521b3becbe37277ab95cc5615fb1b33b935d6394a4f75dad15015e5203bcb29001f68fa05420289145729638b3 +DIST ncurses-6.3-20220212.patch.gz 41501 BLAKE2B a0257b9a740a14090e46e85b67a59e754018e77d6484b30eec6f5a3fa84dddf329078b94d4425800ee45a85a31a9c47b1ccc25ed32fdc2f433465c3238e3c8e7 SHA512 1f596ad2f806411a2e89ebc8b74e9d44754fcdd3baa0c727fe610121fe64eb27e1c35871545dd7ab743930e1c49c2d96581aed0a0b37d0a33d2ee7c590c0c42e +DIST ncurses-6.3-20220212.patch.gz.asc 729 BLAKE2B ed7466b3294baeda59fdd56df93583662a257efb3434ff2817d31994cd5218605ccd535e95ce668f741693fec9fcc5f39223dd67884668aee777bfc9eeff55ce SHA512 3394f9c37a0a1d7e19becb023542534c734f15f030ff725ba54ae010417898be2935d6820f7f7f6d76a0abc3663a9a7f4ccf98a9571c03123f4ba8321ea5c9c1 +DIST ncurses-6.3-20220219.patch.gz 6845 BLAKE2B 660191d5561af0ca763ba8377899ae5793a48e73fec27ef5d9ae00e28cb53edbe96c6ee0480bc1de321ec19cbc8c02f7330861811f3a000b603ce6bdd9921070 SHA512 41d9e29f4f673a6c930f8637dbbf7c55f427aad28088f96ddab824b560b462015dcc21a371551a087adb44dde4797abe9cde2ea07e2537e81216b17b330a14e7 +DIST ncurses-6.3-20220219.patch.gz.asc 729 BLAKE2B e216aa89dbe7d7ea0bafa6d91aca090ac316844ec6d1b1d36da8452bc623e3897722f19b3fb1cc89174ad1aa41a6e8fab4d1b761081090c2bbf338fa027a534d SHA512 555f22dfb585e7b93727f20e46fb6fa77cb633bafdfe6ca3cf3bfabd462a4761f23bb341fbb25c1518b8d9652388f23d671e15f7acecd01755c55d5fa48d3e67 +DIST ncurses-6.3-20220226.patch.gz 5429 BLAKE2B fd0b50218992daf8e5228cf77fe72db651bba494d9699d0057e0e676fc01b699ff4d8f0fb9636faac5ea3fc1936d59d27403a5a5e89f6aa3c42f7c101d9dcb35 SHA512 0d77a955c1f24b7ba58d830cf5c256bcf5946f535b29077484e4ce4ae871a0803fc0db70c66d177ad427da797f7ae30b9a08ff56cd6d0b5f37dd3f231bd67b35 +DIST ncurses-6.3-20220226.patch.gz.asc 729 BLAKE2B e1b83208bf9e9ca9558b3e93f824766765159fcf3b5b4c7a4d92415229a8ef653eb1503446cc5fc8088a354e08cf6fbefb5fcc28e995c8c1718dc77b59552267 SHA512 972f65a645490ef425a6f7314f859cbf8d1aefe5ce6b0847adad3a457d8fd5634af64becb6542e477d14bdacc72aca00fef213c3d5b51f68258ebaef876aec86 +DIST ncurses-6.3-20220305.patch.gz 3732 BLAKE2B b756ad0d8831c2f0eff78dabf1b45adec7888dedc846a91a94cef739c10057f87bbbe7984a4758aa82a8c146d7cc9eeb356b7321bf529fd54480fe334e0ec608 SHA512 4ced572ac32afc2676896e79acac9145c7b138dafa8ebe0c29b2355bf65169a68df3be8fd273b7b957931f98f39ab0f20ada6081be5e11045d32f91f055116c6 +DIST ncurses-6.3-20220305.patch.gz.asc 729 BLAKE2B ef22a7429cffe8dcfebdbd6e339684b7a96c437e3d0bc3ba3eb02c4e8a537909f14306a4d7ce2d0f0752e1a02975b11ad04aabf27a6ba0aa99f4f486b1fe4826 SHA512 68a73ba690722ecca38099521fd9396e7c46dfab9c1a090f0cb7d1a18480bf027a6b7a5e3f1b0ab92a7ad29b05df1c9f7d4c197e13b9e916b6fcb0c54a472e4e +DIST ncurses-6.3-20220312.patch.gz 3659 BLAKE2B 8ec667f1a615b7fdaf7aeef1c14145ce4c90ad75c8acc474d160c61bf85b13a10fbb6c248a2659dba94db50a9db866c002c2ff429a3bdab8124b1d9b28031364 SHA512 1565f364fa694e2b84f73e9d6ad716b18cdde4f18aeb9bcee8d78d59ed9e995968f7ecea7d307e6738943208ed17bcd459b6b30cc85fa0f7e8ff2c64e2a7b385 +DIST ncurses-6.3-20220312.patch.gz.asc 729 BLAKE2B e5b4cd10b313c7d7f61e3251fddc2c85fbd920b2855d8b9ecb585a1d3acbd5b1bb3a1dcf5043bcb807ab9ecb03c9e711e1625a86ae6adcf6f41b37f8b71b0d21 SHA512 ca819f78d6b5b4c9bfd9e536c6e8ec4ccd9d6c3ad3f00e1e85f5e646e2e5d2b30e8c72ffe91f789a9b8f2268b89f4fbc07798b433a202b263673a187c74774c9 +DIST ncurses-6.3-20220319.patch.gz 3975 BLAKE2B eb9a9896704463e64c0b46721322190cdaaf1bf6d30f3a8b4ef2d815a5cba5dc0ca84674404ef720d0d861cf724b265988e187fec94096f6926633da62933829 SHA512 f642180bc13bc26d8befa48145a66d36f064cd5a4c5891e0eb5e9e463cd7a446280040ce04aa8d7bedacb06d060916fc32ca7f6f66010ee6fbf95c4a367e2c1f +DIST ncurses-6.3-20220319.patch.gz.asc 729 BLAKE2B e6f763a035db48bdfb1bb7c05aa30f91c0e693efebb0f74eebc696a0f5b4acba3655112af6bf9b0d5bb502a5d67dd3416b4f26dc3be5cb775692f1c958aaa911 SHA512 e07dce52dc16d73dcddfcb982b40cb9fb4ff60097e704e9dc56604262cb30eabf2283a4b436e78a8ddf6abca69cc3fef5a2d93d9145658ad4a36022e2b053406 +DIST ncurses-6.3-20220326.patch.gz 4163 BLAKE2B 20f83d6491dfe4c6833c72582dbddc5f69f4356f78251989afc7e689a2f261f477a8db17cea7c084ab798d3ead34dd1204a595e4718255a6c4a3a9735c36b217 SHA512 62210e6bdf5577fea31e2d793d15ba55bf1c89a855e02ebfe82bc918dec3423f70c49756b08a8fbf1a7cd4311ff09a2751f76a4bb7b2924a3eacc96c2ea25634 +DIST ncurses-6.3-20220326.patch.gz.asc 729 BLAKE2B 65254b2f56dd831be92fa8e89359bd52252dc7959a16d99888c372722bf533a7c2cc3b285452af5bc33f0478bb2f143ed74b5f0b57ad9cc74626b4902f0ccdbc SHA512 a60b780f39424b3f712e5fd81fe397b1eaa476026b497c50edd5c6e460eaf320ea9412a0d0ce122bb7bb3cdfe2f473bad5a0bbf923a22cc1bcd04c621aa5c023 +DIST ncurses-6.3-20220402.patch.gz 11483 BLAKE2B 3210094fb4be4d7c2b751ce3d7b4efee71db0c420f0159db846efcd0ae6e85673069b7c39b943346a3b1a1aeda247493aba6bf832eb192fd3729a9585d0c9a66 SHA512 f8ce6ab6ef5df746ecbc6286c5b46ec53ab0f3fed831878f693c8afe49b34f3f2769f2d3078b81799952f7905bf18217069fce7dd52d3126b7e4dc2ae84f5443 +DIST ncurses-6.3-20220402.patch.gz.asc 729 BLAKE2B 0ab44b4bbf10aa0c67dc1022012b1e156c9ce9c57214c5f92e7b3714cdccead69e0a869b9247b799797680f896dd8e86b3a2ca2e9587f5cc11250711ab36006f SHA512 299b5b7c337f95b0621571261b23d3110c963ed0f584f145238049caad52ba325d6982e138545d02041e297cf78f3f1a0f8d08f9162bb7b61885870382df2e06 +DIST ncurses-6.3-20220409.patch.gz 22728 BLAKE2B 7b8514a9fc8b8ddbf5cbf1f6b0cb45895808f6226db726c206ed8490c3abccbf8a8d49e6bcfdcad806414d8aa0d4fce89faac43c60a38ecf71e613ff01f67224 SHA512 1dde730b7fa12efeb2bc7b98012f3e5529630f0aabde2d877046ef85d541dafb5d64488747ddb559f97a3f25d1ec5f716815f9e6c1ce100f4f308bfa86501d20 +DIST ncurses-6.3-20220409.patch.gz.asc 729 BLAKE2B 9d5321cd1990c68ac812691713d941d467dcd2f95c93f2488cf212d4162415b615397546bc397a2907f1b6ae38907dea6f72e3012ecdafa0054a91d59a94ca64 SHA512 8db2631d35ee1d7d07d906fa194e499ed8239acfbfd215e192a2382b1cd998a9ee3d0ad971aab43edb5e91cdbb2a772835a42cf0645b2541c5c7dab9bf4adf74 +DIST ncurses-6.3-20220416.patch.gz 67896 BLAKE2B c95a993f51beb87bb9891bd0eee08729795a583df50c66df8265cdd5c4adbef83b9fc0339c71aa5137408fe10fa15b0ba4028d5539a0ac66df06c0c1d72e8359 SHA512 2686ed16f5103d76c92cfa4943a8f82d8bc414db074c1c7fb73810b49c6d1d0103988611edf36715d5be24891d0bb2c97ceb08dc4111d0900b5dba6fac12af0a +DIST ncurses-6.3-20220416.patch.gz.asc 729 BLAKE2B 52ab1bfcac4b5d7b3733c399509ba4c0a6b9531c02a05846d39344488ba3a9196326a8126db225845a3ff1ca3fdd609fa1d9264583e7e57e28d2f4e3b58b4389 SHA512 c5a60d2ef9996c02264e6656a966f4be910a3acbee777a4ff2a5131efd156bdf1d32418a39d6e3c07fcbb59c75554d4cc1e7e9f84f5b59f69e7e4c17fafc749f +DIST ncurses-6.3-20220423.patch.gz 3394 BLAKE2B ac93810f1e826fc82de72a85effe5479576af14fa86e0dd08b8823b6f4652922f79242e9c867b1c864f0049c9e6d9864d6efc9282ab1e734dc316cac05655f4c SHA512 5dc87f70793d8319c5ee2f07c7f9432b1128e05f3aa2841a74deeaf294e46859f4198483dc783bb80e5e98f81f05cfef148df75a5abc5acfa69a9d6ad3abb702 +DIST ncurses-6.3-20220423.patch.gz.asc 729 BLAKE2B 7225d28f7e61ae584183e98d8c93c7d470e96984aea4e462333f115c329a8c187927196447b8368949986d4b8c96086f5839fde5b442936e76ac797685ee109b SHA512 b0eecbdad448f193fb255bec2fa458d3fea972c181891882d8dc1e09cc325ecda38e98f2d410993f768f513f3a48b9be4b36dbb2919d82a778496b8ef2051565 DIST ncurses-6.3.tar.gz 3583550 BLAKE2B b2c174ac48d587b4d3aa054f04e4ec8bffd8a657a4aff5f090104965c741901e600712c8f8e5e98f3b8a26bc558996a1e14a746f113854832853b855e9d406c3 SHA512 5373f228cba6b7869210384a607a2d7faecfcbfef6dbfcd7c513f4e84fbd8bcad53ac7db2e7e84b95582248c1039dcfc7c4db205a618f7da22a166db482f0105 +DIST ncurses-6.3.tar.gz.sig 438 BLAKE2B d7f9852292110fe7a048a9e38611ea06564b5142cb4cbeb8d99bba752d5df8eeffa3b57e5ca315c14024520bc008b30650e99669c995dca05a798399a0c85d39 SHA512 b9a2a25e0b1854c272bf89c610c81fc0ba061f0296eca5c0079a79cfe310e44eb16c46eb5a0dd018f1ca9114d569c9d5087a2b8e60b0344f1eb97f7c5addafc6 diff --git a/sys-libs/ncurses/ncurses-6.3_p20211106-r1.ebuild b/sys-libs/ncurses/ncurses-6.3_p20211106-r1.ebuild new file mode 100644 index 00000000000..fbcbf40d9c6 --- /dev/null +++ b/sys-libs/ncurses/ncurses-6.3_p20211106-r1.ebuild @@ -0,0 +1,357 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs multilib multilib-minimal preserve-libs usr-ldscript + +MY_PV="${PV:0:3}" +MY_P="${PN}-${MY_PV}" +DESCRIPTION="console display library" +HOMEPAGE="https://www.gnu.org/software/ncurses/ https://invisible-island.net/ncurses/" +SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz + https://invisible-mirror.net/archives/${PN}/${MY_P}.tar.gz + ftp://ftp.invisible-island.net/${PN}/${MY_P}.tar.gz" + +if [[ "${PV}" == *_p* ]] ; then + # Sometimes, after releases, there's no megapatch available yet. + # + # From upstream README at e.g. https://invisible-mirror.net/archives/ncurses/6.3/: + # + # "At times (generally to mark a relatively stable point), I create a rollup + # patch, which consists of all changes from the release through the current date." + # + # This array should contain a list of all the snapshots since the last + # release if there's no megapatch available yet. + PATCH_DATES=( + 20211026 + 20211030 + # Latest patch is just _pN = $(ver_cut 4) + $(ver_cut 4) + ) + + if [[ -z ${PATCH_DATES[@]} ]] ; then + SRC_URI+=" ftp://ftp.invisible-island.net/${PN}/${PV/_p*}/${P/_p/-}.patch.sh.bz2 + https://invisible-mirror.net/archives/${PN}/${PV/_p*}/${P/_p/-}.patch.sh.bz2" + else + patch_date= + for patch_date in "${PATCH_DATES[@]}" ; do + SRC_URI+=" ftp://ftp.invisible-island.net/${PN}/${PV/_p*}/${MY_P}-${patch_date}.patch.gz" + SRC_URI+=" https://invisible-mirror.net/archives/${PN}/${PV/_p*}/${MY_P}-${patch_date}.patch.gz" + done + unset patch_date + fi + + #SRC_URI+=" https://dev.gentoo.org/~polynomial-c/dist/${P}.patch.xz" +fi + +LICENSE="MIT" +# The subslot reflects the SONAME. +SLOT="0/6" +KEYWORDS="" +IUSE="ada +cxx debug doc gpm minimal profile static-libs test tinfo trace" +RESTRICT="!test? ( test )" + +DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )" +# berkdb? ( sys-libs/db )" +# Block the older ncurses that installed all files w/SLOT=5. #557472 +RDEPEND="${DEPEND} + !<=sys-libs/ncurses-5.9-r4:5 + !<sys-libs/slang-2.3.2_pre23 + !<x11-terms/rxvt-unicode-9.06-r3 + !<x11-terms/st-0.6-r1" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}/${PN}-5.7-nongnu.patch" + "${FILESDIR}/${PN}-6.0-rxvt-unicode-9.15.patch" #192083 #383871 + "${FILESDIR}/${PN}-6.0-pkg-config.patch" + "${FILESDIR}/${PN}-6.0-ticlib.patch" #557360 + "${FILESDIR}/${PN}-6.2_p20210123-cppflags-cross.patch" #601426 +) + +src_prepare() { + if [[ "${PV}" == *_p* ]] ; then + #eapply "${WORKDIR}"/${P/_p/-}-patch.sh + eapply "${WORKDIR}"/ + fi + default +} + +src_configure() { + unset TERMINFO #115036 + tc-export_build_env BUILD_{CC,CPP} + BUILD_CPPFLAGS+=" -D_GNU_SOURCE" #214642 + + # Build the various variants of ncurses -- narrow, wide, and threaded. #510440 + # Order matters here -- we want unicode/thread versions to come last so that the + # binaries in /usr/bin support both wide and narrow. + # The naming is also important as we use these directly with filenames and when + # checking configure flags. + NCURSES_TARGETS=( + ncurses + ncursesw + ncursest + ncursestw + ) + + # When installing ncurses, we have to use a compatible version of tic. + # This comes up when cross-compiling, doing multilib builds, upgrading, + # or installing for the first time. Build a local copy of tic whenever + # the host version isn't available. #249363 #557598 + if ! has_version -b "~sys-libs/${P}:0" ; then + local lbuildflags="-static" + + # some toolchains don't quite support static linking + local dbuildflags="-Wl,-rpath,${WORKDIR}/lib" + case ${CHOST} in + *-darwin*) dbuildflags= ;; + *-solaris*) dbuildflags="-Wl,-R,${WORKDIR}/lib" ;; + esac + echo "int main() {}" | \ + $(tc-getCC) -o x -x c - ${lbuildflags} -pipe >& /dev/null \ + || lbuildflags="${dbuildflags}" + + # We can't re-use the multilib BUILD_DIR because we run outside of it. + BUILD_DIR="${WORKDIR}" \ + CC=${BUILD_CC} \ + CHOST=${CBUILD} \ + CFLAGS=${BUILD_CFLAGS} \ + CXXFLAGS=${BUILD_CXXFLAGS} \ + CPPFLAGS=${BUILD_CPPFLAGS} \ + LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \ + do_configure cross --without-shared --with-normal --with-progs + fi + multilib-minimal_src_configure +} + +multilib_src_configure() { + local t + for t in "${NCURSES_TARGETS[@]}" ; do + do_configure "${t}" + done +} + +do_configure() { + local target=$1 + shift + + mkdir "${BUILD_DIR}/${target}" || die + cd "${BUILD_DIR}/${target}" || die + + local conf=( + # We need the basic terminfo files in /etc, bug #37026. We will + # add '--with-terminfo-dirs' and then populate /etc/terminfo in + # src_install() ... + --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo" + + # Disabled until #245417 is sorted out. + #$(use_with berkdb hashed-db) + + # Enable installation of .pc files. + --enable-pc-files + # This path is used to control where the .pc files are installed. + --with-pkg-config-libdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig" + + # Now the rest of the various standard flags. + --with-shared + --without-hashed-db + $(use_with ada) + $(use_with cxx) + $(use_with cxx cxx-binding) + --with-cxx-shared + $(use_with debug) + $(use_with profile) + # The configure script uses ldd to parse the linked output which + # is flaky for cross-compiling/multilib/ldd versions/etc... + $(use_with gpm gpm libgpm.so.1) + # Required for building on mingw-w64, and possibly other windows + # platforms, bug #639670 + $(use_enable kernel_Winnt term-driver) + --disable-termcap + --enable-symlinks + --with-rcs-ids + --with-manpage-format=normal + --enable-const + --enable-colorfgbg + --enable-hard-tabs + --enable-echo + $(use_enable !ada warnings) + $(use_with debug assertions) + $(use_enable !debug leaks) + $(use_with debug expanded) + $(use_with !debug macros) + $(multilib_native_with progs) + $(use_with test tests) + $(use_with trace) + $(use_with tinfo termlib) + --disable-stripping + --disable-pkg-ldflags + ) + + if [[ ${target} == ncurses*w ]] ; then + conf+=( --enable-widec ) + else + conf+=( --disable-widec ) + fi + if [[ ${target} == ncursest* ]] ; then + conf+=( --with-{pthread,reentrant} ) + else + conf+=( --without-{pthread,reentrant} ) + fi + # Make sure each variant goes in a unique location. + if [[ ${target} == "ncurses" ]] ; then + # "ncurses" variant goes into "${EPREFIX}"/usr/include + # It is needed on Prefix because the configure script appends + # "ncurses" to "${prefix}/include" if "${prefix}" is not /usr. + conf+=( --enable-overwrite ) + else + conf+=( --includedir="${EPREFIX}"/usr/include/${target} ) + fi + # See comments in src_configure. + if [[ ${target} != "cross" ]] ; then + local cross_path="${WORKDIR}/cross" + [[ -d ${cross_path} ]] && export TIC_PATH="${cross_path}/progs/tic" + fi + + # Force bash until upstream rebuilds the configure script with a newer + # version of autotools. #545532 + #CONFIG_SHELL=${EPREFIX}/bin/bash \ + ECONF_SOURCE="${S}" \ + econf "${conf[@]}" "$@" +} + +src_compile() { + # See comments in src_configure. + if ! has_version -b "~sys-libs/${P}:0" ; then + # We could possibly merge these two branches but opting to be + # conservative when merging some of the Prefix changes. + + if [[ ${CHOST} == *-cygwin* ]] && ! multilib_is_native_abi ; then + # We make 'tic$(x)' here, for Cygwin having x=".exe". + BUILD_DIR="${WORKDIR}" \ + do_compile cross -C progs all PROGS='tic$(x)' + else + BUILD_DIR="${WORKDIR}" \ + do_compile cross -C progs tic + fi + fi + + multilib-minimal_src_compile +} + +multilib_src_compile() { + local t + for t in "${NCURSES_TARGETS[@]}" ; do + do_compile "${t}" + done +} + +do_compile() { + local target=$1 + shift + + cd "${BUILD_DIR}/${target}" || die + + # A little hack to fix parallel builds ... they break when + # generating sources so if we generate the sources first (in + # non-parallel), we can then build the rest of the package + # in parallel. This is not really a perf hit since the source + # generation is quite small. + emake -j1 sources + # For some reason, sources depends on pc-files which depends on + # compiled libraries which depends on sources which ... + # Manually delete the pc-files file so the install step will + # create the .pc files we want. + rm -f misc/pc-files || die + emake "$@" +} + +multilib_src_install() { + local target + for target in "${NCURSES_TARGETS[@]}" ; do + emake -C "${BUILD_DIR}/${target}" DESTDIR="${D}" install + done + + # Move main libraries into /. + if multilib_is_native_abi ; then + gen_usr_ldscript -a \ + "${NCURSES_TARGETS[@]}" \ + $(usex tinfo 'tinfow tinfo' '') + fi + # don't delete '*.dll.a', needed for linking #631468 + if ! use static-libs; then + find "${ED}"/usr/ -name '*.a' ! -name '*.dll.a' -delete || die + fi + + # Build fails to create this ... + # -FIXME- + # Ugly hackaround for riscv having two parts libdir (#689240) + # Replace this hack with an official solution once we have one... + # -FIXME- + dosym $(sed 's@[^/]\+@..@g' <<< $(get_libdir))/share/terminfo \ + /usr/$(get_libdir)/terminfo + + # Remove obsolete libcurses symlink that is created by the build + # system. Technically, this could be also achieved + # via --disable-overwrite but it also moves headers implicitly, + # and we do not want to do this yet. + # https://bugs.gentoo.org/836696 + rm "${ED}"/usr/$(get_libdir)/libcurses* || die +} + +multilib_src_install_all() { +# if ! use berkdb ; then + # We need the basic terminfo files in /etc for embedded/recovery. #37026 + einfo "Installing basic terminfo files in /etc..." + local terms=( + # Dumb/simple values that show up when using the in-kernel VT. + ansi console dumb linux + vt{52,100,102,200,220} + # [u]rxvt users used to be pretty common. Probably should drop this + # since upstream is dead and people are moving away from it. + rxvt{,-unicode}{,-256color} + # xterm users are common, as is terminals re-using/spoofing it. + xterm xterm-{,256}color + # screen is common (and reused by tmux). + screen{,-256color} + screen.xterm-256color + ) + local x + for x in "${terms[@]}"; do + local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null) + local basedir=$(basename "$(dirname "${termfile}")") + + if [[ -n ${termfile} ]] ; then + dodir "/etc/terminfo/${basedir}" + mv "${termfile}" "${ED}/etc/terminfo/${basedir}/" || die + dosym "../../../../etc/terminfo/${basedir}/${x}" \ + "/usr/share/terminfo/${basedir}/${x}" + fi + done +# fi + + echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" | newenvd - 50ncurses + + use minimal && rm -r "${ED}"/usr/share/terminfo* + # Because ncurses5-config --terminfo returns the directory we keep it + keepdir /usr/share/terminfo #245374 + + cd "${S}" || die + dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc + if use doc ; then + docinto html + dodoc -r doc/html/ + fi +} + +pkg_preinst() { + preserve_old_lib /$(get_libdir)/libncurses.so.5 + preserve_old_lib /$(get_libdir)/libncursesw.so.5 +} + +pkg_postinst() { + preserve_old_lib_notify /$(get_libdir)/libncurses.so.5 + preserve_old_lib_notify /$(get_libdir)/libncursesw.so.5 +} diff --git a/sys-libs/ncurses/ncurses-6.3_p20211106.ebuild b/sys-libs/ncurses/ncurses-6.3_p20211106.ebuild index 6c1bee31282..5794b0aceb6 100644 --- a/sys-libs/ncurses/ncurses-6.3_p20211106.ebuild +++ b/sys-libs/ncurses/ncurses-6.3_p20211106.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -48,7 +48,7 @@ fi LICENSE="MIT" # The subslot reflects the SONAME. SLOT="0/6" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="ada +cxx debug doc gpm minimal profile static-libs test tinfo trace" RESTRICT="!test? ( test )" diff --git a/sys-libs/ncurses/ncurses-6.3_p20220423-r1.ebuild b/sys-libs/ncurses/ncurses-6.3_p20220423-r1.ebuild new file mode 100644 index 00000000000..8ef705fe2b5 --- /dev/null +++ b/sys-libs/ncurses/ncurses-6.3_p20220423-r1.ebuild @@ -0,0 +1,395 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/thomasdickey.asc +inherit toolchain-funcs multilib multilib-minimal preserve-libs usr-ldscript verify-sig + +MY_PV="${PV:0:3}" +MY_P="${PN}-${MY_PV}" +DESCRIPTION="Console display library" +HOMEPAGE="https://www.gnu.org/software/ncurses/ https://invisible-island.net/ncurses/" +SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz + https://invisible-island.net/archives/${PN}/${MY_P}.tar.gz + verify-sig? ( mirror://gnu/ncurses/${MY_P}.tar.gz.sig )" + +if [[ ${PV} == *_p* ]] ; then + # Sometimes, after releases, there's no megapatch available yet. + # + # From upstream README at e.g. https://invisible-island.net/archives/ncurses/6.3/: + # + # "At times (generally to mark a relatively stable point), I create a rollup + # patch, which consists of all changes from the release through the current date." + # + # This array should contain a list of all the snapshots since the last + # release if there's no megapatch available yet. + PATCH_DATES=( + 20211026 + 20211030 + 20211106 |