summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/basu/basu-0.2.0-r1.ebuild43
-rw-r--r--sys-libs/basu/files/0001-basu-0.2.0-LLD-13-and-GNU-ld-2.37-support-z-start-stop-gc-which.patch51
-rw-r--r--sys-libs/basu/files/0002-basu-0.2.0-meson-fix-linking-on-LLD-13-LD-2.37-and-older-CCs.patch44
-rw-r--r--sys-libs/basu/metadata.xml4
-rw-r--r--sys-libs/binutils-libs/Manifest6
-rw-r--r--sys-libs/binutils-libs/binutils-libs-2.34-r2.ebuild2
-rw-r--r--sys-libs/binutils-libs/binutils-libs-2.35.2.ebuild2
-rw-r--r--sys-libs/binutils-libs/binutils-libs-2.36.1-r2.ebuild2
-rw-r--r--sys-libs/binutils-libs/binutils-libs-2.37_p1-r2.ebuild (renamed from sys-libs/binutils-libs/binutils-libs-2.37_p1.ebuild)6
-rw-r--r--sys-libs/binutils-libs/binutils-libs-2.38-r1.ebuild (renamed from sys-libs/binutils-libs/binutils-libs-2.37_p1-r1.ebuild)15
-rw-r--r--sys-libs/binutils-libs/binutils-libs-2.38-r2.ebuild144
-rw-r--r--sys-libs/compiler-rt-sanitizers/Manifest12
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-11.1.0-r1.ebuild204
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-12.0.1.ebuild4
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.1.ebuild (renamed from sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.1_rc1.ebuild)6
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-14.0.1.ebuild (renamed from sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-14.0.0.9999.ebuild)8
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-14.0.3.ebuild (renamed from sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.0.ebuild)34
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-15.0.0.9999.ebuild (renamed from sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.1.9999.ebuild)24
-rw-r--r--sys-libs/compiler-rt/Manifest12
-rw-r--r--sys-libs/compiler-rt/compiler-rt-11.1.0.ebuild123
-rw-r--r--sys-libs/compiler-rt/compiler-rt-13.0.1.ebuild (renamed from sys-libs/compiler-rt/compiler-rt-13.0.1_rc1.ebuild)4
-rw-r--r--sys-libs/compiler-rt/compiler-rt-14.0.1.ebuild (renamed from sys-libs/compiler-rt/compiler-rt-13.0.1.9999.ebuild)8
-rw-r--r--sys-libs/compiler-rt/compiler-rt-14.0.3.ebuild (renamed from sys-libs/compiler-rt/compiler-rt-13.0.0.ebuild)25
-rw-r--r--sys-libs/compiler-rt/compiler-rt-15.0.0.9999.ebuild (renamed from sys-libs/compiler-rt/compiler-rt-14.0.0.9999.ebuild)12
-rw-r--r--sys-libs/cracklib/cracklib-2.9.7.ebuild4
-rw-r--r--sys-libs/csu/csu-85-r1.ebuild6
-rw-r--r--sys-libs/db/db-18.1.32-r1.ebuild45
-rw-r--r--sys-libs/db/db-18.1.40-r1.ebuild47
-rw-r--r--sys-libs/db/db-4.8.30-r6.ebuild47
-rw-r--r--sys-libs/db/db-5.3.28-r8.ebuild50
-rw-r--r--sys-libs/db/db-6.0.35-r4.ebuild51
-rw-r--r--sys-libs/db/db-6.1.38-r1.ebuild47
-rw-r--r--sys-libs/db/db-6.2.38-r1.ebuild45
-rw-r--r--sys-libs/db/files/db-18.1.25-sqlite-configure-path.patch11
-rw-r--r--sys-libs/db/files/db-18.1.25-test-link.patch4
-rw-r--r--sys-libs/db/files/db-4.2-listen-to-java-options.patch10
-rw-r--r--sys-libs/db/files/db-4.6-jni-check-prefix-first.patch30
-rw-r--r--sys-libs/db/files/db-4.8.24-java-manifest-location.patch12
-rw-r--r--sys-libs/db/files/db-4.8.30-rename-atomic-compare-exchange.patch2
-rw-r--r--sys-libs/db/files/db-5.1.29-rename-atomic-compare-exchange.patch2
-rw-r--r--sys-libs/db/files/db-5.2.28-sqlite-configure-path.patch5
-rw-r--r--sys-libs/db/files/db-6.0.20-test-link.patch5
-rw-r--r--sys-libs/db/files/db-6.0.35-sqlite-configure-path.patch4
-rw-r--r--sys-libs/db/files/db-6.1.19-sqlite-configure-path.patch4
-rw-r--r--sys-libs/db/files/db-6.2-jni-check-prefix-first.patch38
-rw-r--r--sys-libs/db/files/db-6.2.32-jni-check-prefix-first.patch44
-rw-r--r--sys-libs/db/files/db-6.2.38-bashism-configure.patch11
-rw-r--r--sys-libs/e2fsprogs-libs/Manifest1
-rw-r--r--sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.46.4.ebuild93
-rw-r--r--sys-libs/e2fsprogs-libs/files/e2fsprogs-libs-1.42.13-fix-build-cflags.patch13
-rw-r--r--sys-libs/e2fsprogs-libs/metadata.xml13
-rw-r--r--sys-libs/efivar/Manifest1
-rw-r--r--sys-libs/efivar/efivar-37.ebuild2
-rw-r--r--sys-libs/efivar/efivar-38.ebuild62
-rw-r--r--sys-libs/efivar/files/efivar-38-Makefile-dep.patch33
-rw-r--r--sys-libs/efivar/files/efivar-38-binutils-2.36.patch30
-rw-r--r--sys-libs/efivar/files/efivar-38-ia64-relro.patch60
-rw-r--r--sys-libs/efivar/files/efivar-38-march-native.patch37
-rw-r--r--sys-libs/fortify-headers/fortify-headers-0.7.ebuild2
-rw-r--r--sys-libs/freeipmi/Manifest3
-rw-r--r--sys-libs/freeipmi/freeipmi-1.5.7.ebuild89
-rw-r--r--sys-libs/freeipmi/freeipmi-1.6.9.ebuild (renamed from sys-libs/freeipmi/freeipmi-1.6.7.ebuild)7
-rw-r--r--sys-libs/fts-standalone/Manifest1
-rw-r--r--sys-libs/fts-standalone/fts-standalone-0.2-r1.ebuild26
-rw-r--r--sys-libs/fts-standalone/fts-standalone-1.2.7.ebuild14
-rw-r--r--sys-libs/gdbm/Manifest5
-rw-r--r--sys-libs/gdbm/files/gdbm-1.18.1-gettext.patch12
-rw-r--r--sys-libs/gdbm/files/gdbm-1.20-uclibc-types.patch17
-rw-r--r--sys-libs/gdbm/gdbm-1.20.ebuild53
-rw-r--r--sys-libs/gdbm/gdbm-1.22.ebuild2
-rw-r--r--sys-libs/gdbm/gdbm-1.23.ebuild (renamed from sys-libs/gdbm/gdbm-1.21.ebuild)29
-rw-r--r--sys-libs/glibc/Manifest10
-rw-r--r--sys-libs/glibc/files/2.34/glibc-2.34-hppa-asm-getcontext-fixes.patch214
-rw-r--r--sys-libs/glibc/files/glibc-2.34-make-clone3-syscall-optional.patch48
-rw-r--r--sys-libs/glibc/glibc-2.19-r2.ebuild6
-rw-r--r--sys-libs/glibc/glibc-2.30-r9.ebuild6
-rw-r--r--sys-libs/glibc/glibc-2.31-r7.ebuild6
-rw-r--r--sys-libs/glibc/glibc-2.32-r8.ebuild6
-rw-r--r--sys-libs/glibc/glibc-2.33-r13.ebuild (renamed from sys-libs/glibc/glibc-2.34-r2.ebuild)223
-rw-r--r--sys-libs/glibc/glibc-2.34-r13.ebuild (renamed from sys-libs/glibc/glibc-2.34-r3.ebuild)253
-rw-r--r--sys-libs/glibc/glibc-2.35-r4.ebuild (renamed from sys-libs/glibc/glibc-2.33-r7.ebuild)327
-rw-r--r--sys-libs/glibc/glibc-2.35-r5.ebuild (renamed from sys-libs/glibc/glibc-2.33-r1.ebuild)361
-rw-r--r--sys-libs/glibc/glibc-9999.ebuild171
-rw-r--r--sys-libs/glibc/metadata.xml1
-rw-r--r--sys-libs/gpm/files/gpm-1.20.7-gcc-include.patch18
-rw-r--r--sys-libs/gpm/files/gpm-1.20.7-musl.patch143
-rw-r--r--sys-libs/gpm/files/gpm-1.20.7-signedness.patch20
-rw-r--r--sys-libs/gpm/gpm-1.20.7-r4.ebuild112
-rw-r--r--sys-libs/gwenhywfar/gwenhywfar-5.4.1-r1.ebuild4
-rw-r--r--sys-libs/kpmcore/Manifest4
-rw-r--r--sys-libs/kpmcore/files/kpmcore-21.08.3-dont-destroy-zfs-pool.patch46
-rw-r--r--sys-libs/kpmcore/files/kpmcore-21.08.3-fix-seek-error-when-shred-partition.patch27
-rw-r--r--sys-libs/kpmcore/kpmcore-21.12.3.ebuild (renamed from sys-libs/kpmcore/kpmcore-21.08.3-r1.ebuild)11
-rw-r--r--sys-libs/kpmcore/kpmcore-22.04.1.ebuild (renamed from sys-libs/kpmcore/kpmcore-21.11.90.ebuild)6
-rw-r--r--sys-libs/ldb/Manifest5
-rw-r--r--sys-libs/ldb/files/ldb-2.4.2-skip-32bit-time_t-tests.patch35
-rw-r--r--sys-libs/ldb/ldb-2.3.2-r1.ebuild (renamed from sys-libs/ldb/ldb-2.3.2.ebuild)8
-rw-r--r--sys-libs/ldb/ldb-2.3.3.ebuild (renamed from sys-libs/ldb/ldb-2.3.1.ebuild)10
-rw-r--r--sys-libs/ldb/ldb-2.4.1-r1.ebuild120
-rw-r--r--sys-libs/ldb/ldb-2.4.2-r1.ebuild (renamed from sys-libs/ldb/ldb-2.4.1.ebuild)9
-rw-r--r--sys-libs/ldb/ldb-2.5.0-r1.ebuild (renamed from sys-libs/ldb/ldb-2.4.0-r1.ebuild)13
-rw-r--r--sys-libs/libaal/libaal-1.0.7-r2.ebuild4
-rw-r--r--sys-libs/libapparmor/libapparmor-3.0.1.ebuild2
-rw-r--r--sys-libs/libapparmor/libapparmor-3.0.3.ebuild2
-rw-r--r--sys-libs/libapparmor/metadata.xml1
-rw-r--r--sys-libs/libavc1394/libavc1394-0.5.4-r2.ebuild4
-rw-r--r--sys-libs/libbacktrace/Manifest1
-rw-r--r--sys-libs/libbacktrace/libbacktrace-1.0_p20220226.ebuild20
-rw-r--r--sys-libs/libbacktrace/metadata.xml (renamed from sys-libs/tapi/metadata.xml)8
-rw-r--r--sys-libs/libblockdev/Manifest1
-rw-r--r--sys-libs/libblockdev/libblockdev-2.25.ebuild119
-rw-r--r--sys-libs/libblockdev/libblockdev-2.26.ebuild6
-rw-r--r--sys-libs/libblockdev/libblockdev-9999.ebuild17
-rw-r--r--sys-libs/libblockdev/metadata.xml1
-rw-r--r--sys-libs/libcap-ng/Manifest1
-rw-r--r--sys-libs/libcap-ng/libcap-ng-0.8.3.ebuild109
-rw-r--r--sys-libs/libcap/Manifest4
-rw-r--r--sys-libs/libcap/files/libcap-2.21-include.patch10
-rw-r--r--sys-libs/libcap/files/libcap-2.25-ignore-RAISE_SETFCAP-install-failures.patch24
-rw-r--r--sys-libs/libcap/files/libcap-2.38-no_perl.patch62
-rw-r--r--sys-libs/libcap/files/libcap-2.48-build-system-fixes.patch175
-rw-r--r--sys-libs/libcap/files/libcap-2.61-Wformat.patch25
-rw-r--r--sys-libs/libcap/files/libcap-2.61-no_perl.patch57
-rw-r--r--sys-libs/libcap/files/libcap-2.62-ignore-RAISE_SETFCAP-install-failures.patch (renamed from sys-libs/libcap/files/libcap-2.61-ignore-RAISE_SETFCAP-install-failures.patch)4
-rw-r--r--sys-libs/libcap/libcap-2.63.ebuild (renamed from sys-libs/libcap/libcap-2.61.ebuild)12
-rw-r--r--sys-libs/libcap/libcap-2.64.ebuild (renamed from sys-libs/libcap/libcap-2.49-r1.ebuild)45
-rw-r--r--sys-libs/libcap/libcap-9999.ebuild4
-rw-r--r--sys-libs/libchipcard/libchipcard-5.1.5_rc2.ebuild4
-rw-r--r--sys-libs/libcxx/Manifest12
-rw-r--r--sys-libs/libcxx/libcxx-11.1.0.ebuild211
-rw-r--r--sys-libs/libcxx/libcxx-12.0.1.ebuild4
-rw-r--r--sys-libs/libcxx/libcxx-13.0.1.ebuild (renamed from sys-libs/libcxx/libcxx-13.0.0.ebuild)5
-rw-r--r--sys-libs/libcxx/libcxx-14.0.1.ebuild (renamed from sys-libs/libcxx/libcxx-13.0.1_rc1.ebuild)24
-rw-r--r--sys-libs/libcxx/libcxx-14.0.3.ebuild (renamed from sys-libs/libcxx/libcxx-14.0.0.9999.ebuild)48
-rw-r--r--sys-libs/libcxx/libcxx-15.0.0.9999.ebuild (renamed from sys-libs/libcxx/libcxx-13.0.1.9999.ebuild)44
-rw-r--r--sys-libs/libcxxabi/Manifest6
-rw-r--r--sys-libs/libcxxabi/libcxxabi-11.1.0.ebuild123
-rw-r--r--sys-libs/libcxxabi/libcxxabi-12.0.1.ebuild4
-rw-r--r--sys-libs/libcxxabi/libcxxabi-13.0.1.ebuild (renamed from sys-libs/libcxxabi/libcxxabi-13.0.0.ebuild)4
-rw-r--r--sys-libs/libcxxabi/libcxxabi-14.0.1.ebuild (renamed from sys-libs/libcxxabi/libcxxabi-14.0.0.9999.ebuild)71
-rw-r--r--sys-libs/libcxxabi/libcxxabi-14.0.3.ebuild (renamed from sys-libs/libcxxabi/libcxxabi-13.0.1_rc1.ebuild)87
-rw-r--r--sys-libs/libcxxabi/libcxxabi-15.0.0.9999.ebuild (renamed from sys-libs/libcxxabi/libcxxabi-13.0.1.9999.ebuild)85
-rw-r--r--sys-libs/libfaketime/libfaketime-0.9.9.ebuild7
-rw-r--r--sys-libs/libhugetlbfs/libhugetlbfs-2.23.ebuild28
-rw-r--r--sys-libs/libnvme/Manifest1
-rw-r--r--sys-libs/libnvme/libnvme-1.0.ebuild28
-rw-r--r--sys-libs/libnvme/metadata.xml12
-rw-r--r--sys-libs/libomp/Manifest9
-rw-r--r--sys-libs/libomp/libomp-11.1.0.ebuild105
-rw-r--r--sys-libs/libomp/libomp-12.0.1.ebuild4
-rw-r--r--sys-libs/libomp/libomp-13.0.1.ebuild (renamed from sys-libs/libomp/libomp-13.0.0-r1.ebuild)46
-rw-r--r--sys-libs/libomp/libomp-14.0.1.ebuild (renamed from sys-libs/libomp/libomp-14.0.0.9999.ebuild)46
-rw-r--r--sys-libs/libomp/libomp-14.0.3.ebuild (renamed from sys-libs/libomp/libomp-13.0.1_rc1.ebuild)71
-rw-r--r--sys-libs/libomp/libomp-15.0.0.9999.ebuild (renamed from sys-libs/libomp/libomp-13.0.1.9999.ebuild)68
-rw-r--r--sys-libs/libosinfo/Manifest2
-rw-r--r--sys-libs/libosinfo/files/1.10.0-build-Add-option-to-disable-libsoup3.patch50
-rw-r--r--sys-libs/libosinfo/libosinfo-1.10.0.ebuild (renamed from sys-libs/libosinfo/libosinfo-1.9.0-r1.ebuild)9
-rw-r--r--sys-libs/libosinfo/libosinfo-1.9.0.ebuild60
-rw-r--r--sys-libs/libraw1394/libraw1394-2.1.2-r1.ebuild4
-rw-r--r--sys-libs/libseccomp/Manifest3
-rw-r--r--sys-libs/libseccomp/libseccomp-2.5.1.ebuild84
-rw-r--r--sys-libs/libseccomp/libseccomp-2.5.3.ebuild4
-rw-r--r--sys-libs/libseccomp/libseccomp-2.5.4.ebuild (renamed from sys-libs/libseccomp/libseccomp-2.5.2.ebuild)56
-rw-r--r--sys-libs/libseccomp/libseccomp-9999.ebuild29
-rw-r--r--sys-libs/libseccomp/metadata.xml3
-rw-r--r--sys-libs/libselinux/Manifest3
-rw-r--r--sys-libs/libselinux/libselinux-3.1-r1.ebuild155
-rw-r--r--sys-libs/libselinux/libselinux-3.3.ebuild2
-rw-r--r--sys-libs/libselinux/libselinux-3.4_rc1.ebuild (renamed from sys-libs/libselinux/libselinux-3.2.ebuild)11
-rw-r--r--sys-libs/libselinux/libselinux-9999.ebuild11
-rw-r--r--sys-libs/libsemanage/Manifest3
-rw-r--r--sys-libs/libsemanage/libsemanage-3.1-r1.ebuild128
-rw-r--r--sys-libs/libsemanage/libsemanage-3.3.ebuild6
-rw-r--r--sys-libs/libsemanage/libsemanage-3.4_rc1.ebuild (renamed from sys-libs/libsemanage/libsemanage-3.2.ebuild)8
-rw-r--r--sys-libs/libsemanage/libsemanage-9999.ebuild8
-rw-r--r--sys-libs/libsepol/Manifest3
-rw-r--r--sys-libs/libsepol/libsepol-3.1.ebuild51
-rw-r--r--sys-libs/libsepol/libsepol-3.3.ebuild2
-rw-r--r--sys-libs/libsepol/libsepol-3.4_rc1.ebuild (renamed from sys-libs/libsepol/libsepol-3.2.ebuild)4
-rw-r--r--sys-libs/libsepol/libsepol-9999.ebuild4
-rw-r--r--sys-libs/libservicelog/metadata.xml2
-rw-r--r--sys-libs/libsmbios/libsmbios-2.4.3.ebuild4
-rw-r--r--sys-libs/libstatgrab/libstatgrab-0.92.ebuild4
-rw-r--r--sys-libs/libstdc++-v3/Manifest1
-rw-r--r--sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r3.ebuild201
-rw-r--r--sys-libs/libucontext/Manifest1
-rw-r--r--sys-libs/libucontext/files/libucontext-1.1-respect-CFLAGS.patch13
-rw-r--r--sys-libs/libucontext/libucontext-1.1-r1.ebuild (renamed from sys-libs/libucontext/libucontext-1.1.ebuild)26
-rw-r--r--sys-libs/libucontext/libucontext-1.2.ebuild69
-rw-r--r--sys-libs/libunwind/Manifest1
-rw-r--r--sys-libs/libunwind/files/libunwind-1.2-coredump-regs.patch16
-rw-r--r--sys-libs/libunwind/files/libunwind-1.2-ia64-missing.patch93
-rw-r--r--sys-libs/libunwind/files/libunwind-1.2-ia64-ptrace-coredump.patch34
-rw-r--r--sys-libs/libunwind/files/libunwind-1.2.1-only-include-execinfo_h-if-avaliable.patch53
-rw-r--r--sys-libs/libunwind/files/libunwind-1.5.0-x32.patch17
-rw-r--r--sys-libs/libunwind/libunwind-1.5.0-r1.ebuild108
-rw-r--r--sys-libs/libunwind/libunwind-1.6.2.ebuild8
-rw-r--r--sys-libs/liburing/files/liburing-2.1-gnu_source-musl-cpuset.patch42
-rw-r--r--sys-libs/liburing/liburing-2.1-r1.ebuild (renamed from sys-libs/liburing/liburing-2.1.ebuild)12
-rw-r--r--sys-libs/liburing/liburing-2.1-r2.ebuild74
-rw-r--r--sys-libs/liburing/liburing-9999.ebuild12
-rw-r--r--sys-libs/libutempter/libutempter-1.2.1.ebuild9
-rw-r--r--sys-libs/libvpd/Manifest1
-rw-r--r--sys-libs/libvpd/libvpd-2.2.9.ebuild43
-rw-r--r--sys-libs/libvpd/metadata.xml3
-rw-r--r--sys-libs/libxcrypt/Manifest4
-rw-r--r--sys-libs/libxcrypt/libxcrypt-4.4.20.ebuild3
-rw-r--r--sys-libs/libxcrypt/libxcrypt-4.4.27.ebuild (renamed from sys-libs/libxcrypt/libxcrypt-4.4.25-r1.ebuild)5
-rw-r--r--sys-libs/libxcrypt/libxcrypt-4.4.28.ebuild (renamed from sys-libs/libxcrypt/libxcrypt-4.4.26-r1.ebuild)75
-rw-r--r--sys-libs/llvm-libunwind/Manifest7
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-11.1.0.ebuild124
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-13.0.0.ebuild142
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-13.0.1.ebuild (renamed from sys-libs/llvm-libunwind/llvm-libunwind-14.0.0.9999.ebuild)5
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-13.0.1_rc1.ebuild142
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-14.0.1.ebuild (renamed from sys-libs/llvm-libunwind/llvm-libunwind-13.0.1.9999.ebuild)106
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-14.0.3.ebuild122
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-15.0.0.9999.ebuild122
-rw-r--r--sys-libs/mtdev/metadata.xml15
-rw-r--r--sys-libs/mtdev/mtdev-1.1.6.ebuild4
-rw-r--r--sys-libs/musl-nscd/musl-nscd-1.0.3-r1.ebuild (renamed from sys-libs/musl-nscd/musl-nscd-1.0.3.ebuild)6
-rw-r--r--sys-libs/musl-nscd/musl-nscd-1.1.1-r1.ebuild (renamed from sys-libs/musl-nscd/musl-nscd-1.1.1.ebuild)6
-rw-r--r--sys-libs/musl-nscd/musl-nscd-9999.ebuild6
-rw-r--r--sys-libs/musl/Manifest3
-rw-r--r--sys-libs/musl/files/ldconfig.in144
-rw-r--r--sys-libs/musl/files/ldconfig.in-r3 (renamed from sys-libs/musl/files/ldconfig.in-r1)23
-rw-r--r--sys-libs/musl/musl-1.2.2-r3.ebuild151
-rw-r--r--sys-libs/musl/musl-1.2.2-r7.ebuild6
-rw-r--r--sys-libs/musl/musl-1.2.2-r8.ebuild (renamed from sys-libs/musl/musl-1.2.2-r6.ebuild)78
-rw-r--r--sys-libs/musl/musl-1.2.3.ebuild (renamed from sys-libs/musl/musl-1.2.2-r4.ebuild)78
-rw-r--r--sys-libs/musl/musl-9999.ebuild81
-rw-r--r--sys-libs/ncurses/Manifest52
-rw-r--r--sys-libs/ncurses/ncurses-6.3_p20211106-r1.ebuild357
-rw-r--r--sys-libs/ncurses/ncurses-6.3_p20211106.ebuild4
-rw-r--r--sys-libs/ncurses/ncurses-6.3_p20220423-r1.ebuild395
-rw-r--r--sys-libs/ncurses/ncurses-6.3_p20220423.ebuild393
-rw-r--r--sys-libs/newlib/Manifest1
-rw-r--r--sys-libs/newlib/newlib-4.2.0.20211231.ebuild154
-rw-r--r--sys-libs/obstack-standalone/Manifest1
-rw-r--r--sys-libs/obstack-standalone/obstack-standalone-1.1.ebuild7
-rw-r--r--sys-libs/obstack-standalone/obstack-standalone-1.2.3.ebuild36
-rw-r--r--sys-libs/openipmi/openipmi-2.0.29.ebuild4
-rw-r--r--sys-libs/openipmi/openipmi-2.0.32.ebuild4
-rw-r--r--sys-libs/pam/Manifest2
-rw-r--r--sys-libs/pam/files/pam-1.5.1-musl.patch15
-rw-r--r--sys-libs/pam/pam-1.5.1-r1.ebuild136
-rw-r--r--sys-libs/pam/pam-1.5.1_p20210622-r1.ebuild8
-rw-r--r--sys-libs/pam/pam-1.5.2-r1.ebuild10
-rw-r--r--sys-libs/pam/pam-1.5.2.ebuild130
-rw-r--r--sys-libs/pam_wrapper/pam_wrapper-1.1.3-r3.ebuild4
-rw-r--r--sys-libs/pam_wrapper/pam_wrapper-1.1.4-r1.ebuild (renamed from sys-libs/pam_wrapper/pam_wrapper-1.1.4.ebuild)5
-rw-r--r--sys-libs/pwdb/pwdb-0.62-r2.ebuild4
-rw-r--r--sys-libs/queue-standalone/queue-standalone-0.1-r1.ebuild7
-rw-r--r--sys-libs/readline/Manifest6
-rw-r--r--sys-libs/readline/readline-8.1_p2.ebuild206
-rw-r--r--sys-libs/readline/readline-8.2_beta.ebuild224
-rw-r--r--sys-libs/readline/readline-9999.ebuild224
-rw-r--r--sys-libs/rpmatch-standalone/rpmatch-standalone-1.0.ebuild5
-rw-r--r--sys-libs/slang/slang-2.3.2.ebuild4
-rw-r--r--sys-libs/talloc/talloc-2.3.2.ebuild11
-rw-r--r--sys-libs/talloc/talloc-2.3.3.ebuild13
-rw-r--r--sys-libs/tapi/Manifest5
-rw-r--r--sys-libs/tapi/files/objcmetadata-800.0.42.1-standalone.patch130
-rw-r--r--sys-libs/tapi/files/tapi-1.30-allow-all-clients.patch17
-rw-r--r--sys-libs/tapi/files/tapi-1.30-llvm-config.patch11
-rw-r--r--sys-libs/tapi/files/tapi-1.30-llvm-new-error-api.patch65
-rw-r--r--sys-libs/tapi/files/tapi-1.30-llvm-out-of-tree.patch10
-rw-r--r--sys-libs/tapi/files/tapi-2.0.0-standalone.patch141
-rw-r--r--sys-libs/tapi/tapi-1.30.ebuild37
-rw-r--r--sys-libs/tapi/tapi-2.0.0.ebuild174
-rw-r--r--sys-libs/tdb/Manifest1
-rw-r--r--sys-libs/tdb/tdb-1.4.5.ebuild4
-rw-r--r--sys-libs/tdb/tdb-1.4.6.ebuild61
-rw-r--r--sys-libs/tevent/Manifest1
-rw-r--r--sys-libs/tevent/files/tevent-0.11.0-missing-include.patch13
-rw-r--r--sys-libs/tevent/tevent-0.10.2.ebuild6
-rw-r--r--sys-libs/tevent/tevent-0.11.0.ebuild10
-rw-r--r--sys-libs/tevent/tevent-0.12.0.ebuild78
-rw-r--r--sys-libs/timezone-data/Manifest2
-rw-r--r--sys-libs/timezone-data/timezone-data-2021a-r1.ebuild6
-rw-r--r--sys-libs/timezone-data/timezone-data-2021e.ebuild8
-rw-r--r--sys-libs/timezone-data/timezone-data-2022a.ebuild196
-rw-r--r--sys-libs/uclibc-ng/Manifest4
-rw-r--r--sys-libs/uclibc-ng/files/uclibc-compat-r1.patch15
-rw-r--r--sys-libs/uclibc-ng/files/uclibc-ng-1.0.30-fix-ld.so.cache.patch48
-rw-r--r--sys-libs/uclibc-ng/metadata.xml21
-rw-r--r--sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild403
-rw-r--r--sys-libs/uclibc-ng/uclibc-ng-1.0.32.ebuild402
-rw-r--r--sys-libs/uclibc-ng/uclibc-ng-1.0.33.ebuild402
-rw-r--r--sys-libs/uclibc-ng/uclibc-ng-1.0.35.ebuild402
-rw-r--r--sys-libs/uclibc-ng/uclibc-ng-9999.ebuild402
-rw-r--r--sys-libs/zlib-ng/Manifest1
-rw-r--r--sys-libs/zlib-ng/zlib-ng-2.0.6.ebuild75
-rw-r--r--sys-libs/zlib/Manifest2
-rw-r--r--sys-libs/zlib/files/zlib-1.2.11-configure-fix-AR-RANLIB-NM-detection.patch88
-rw-r--r--sys-libs/zlib/files/zlib-1.2.11-fix-deflateParams-usage.patch2
-rw-r--r--sys-libs/zlib/files/zlib-1.2.12-CRC-buggy-input.patch50
-rw-r--r--sys-libs/zlib/files/zlib-1.2.12-fix-CC-logic-in-configure.patch45
-rw-r--r--sys-libs/zlib/files/zlib-1.2.12-use-LDFLAGS-in-configure.patch71
-rw-r--r--sys-libs/zlib/zlib-1.2.11-r4.ebuild3
-rw-r--r--sys-libs/zlib/zlib-1.2.11-r5.ebuild169
-rw-r--r--sys-libs/zlib/zlib-1.2.12-r2.ebuild196
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