diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-10-12 18:15:25 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-10-12 18:15:25 +0100 |
commit | 36c436b12f9ef2523e5fd963381b78d2dc5cc53d (patch) | |
tree | f275068802d3c71dcdd97439f906e36237263361 /app-arch/xz-utils | |
parent | 3a0e100e02e1c6c2818268f57eae51095cee35af (diff) |
gentoo auto-resync : 12:10:2023 - 18:15:24
Diffstat (limited to 'app-arch/xz-utils')
-rw-r--r-- | app-arch/xz-utils/Manifest | 6 | ||||
-rw-r--r-- | app-arch/xz-utils/metadata.xml | 1 | ||||
-rw-r--r-- | app-arch/xz-utils/xz-utils-5.4.4.ebuild | 24 | ||||
-rw-r--r-- | app-arch/xz-utils/xz-utils-9999.ebuild | 26 |
4 files changed, 47 insertions, 10 deletions
diff --git a/app-arch/xz-utils/Manifest b/app-arch/xz-utils/Manifest index 44d5c29dff1d..67a79e07e71e 100644 --- a/app-arch/xz-utils/Manifest +++ b/app-arch/xz-utils/Manifest @@ -13,6 +13,6 @@ EBUILD xz-utils-5.2.11.ebuild 2861 BLAKE2B 2f82998b46a1459000d734a6f826985331550 EBUILD xz-utils-5.2.12.ebuild 2848 BLAKE2B 7e6c6dd50418e2a374edd75b4a4796d2421269e64dccdc51294700413301fefe1a3aa60a64580dd6f797aabb39122a579b5e95b80a68874110dd3960e063139a SHA512 a2a3e2bbd23295c2e2c9f05e495a7cb24b43a52e7cd1f440dad0dc79ec4cd5533686b407f1c8cd6c66ec697342e620841d50c8e545e0852003d13aa566c93d7c EBUILD xz-utils-5.4.2.ebuild 3178 BLAKE2B 855fa2339a86f5bc9ac2f5586a1c027d0ec9f7f62fbb159dc54cf05d5cd86dc408cf510aea3bafcfeea3f08cbaab5a998e65165dd5f3103a5a9ee6e9db72e0eb SHA512 eaa9b7aaf79ac42bc2ce22c713d7206c594872e31c66873d3c0e7560698d84bb9a629f44f5be6f2fb247ee9eb8656618af1f1902d750663d4b611fc51935a703 EBUILD xz-utils-5.4.3.ebuild 3101 BLAKE2B 202af6f29ace1257358e1dad13d9b2d1ad1f2865adfc85028c31e0664f00d78561acf282281305b71e4ffc4ea5059f0d8993b7ca13c80ded5643b75dbcb2fe2d SHA512 0dfedc2a2a65e9b4caf1453dc52361e2c97bc96961152d7afb058821c8f1d8661909bf7149a9296eed3f2269e5856eb2da44955d8095c5845c360e3d8c6b28ec -EBUILD xz-utils-5.4.4.ebuild 3109 BLAKE2B e3d9f2270337ee5d0893ba967d58c6dfc2a0fae133783fca17b7200be292329f949b33cbd2bfd8d7f9d7c0f7f00c2f33e7187858b588593ae1c21edb5be4dc54 SHA512 3755957951ac9385e24c079669bb3522d2fb18de2f4c8686f56ba2bf63bee0d052bd27c366ee08031c9f71b21cd9cccebac6d2398f1907b31266fdc407e911c6 -EBUILD xz-utils-9999.ebuild 3291 BLAKE2B fe0aedcf0b0bb2ecd39163702da7f596fa31d527e6491dfa8287bba635094a7f5c8ad1e233c3e198389baadf3bd1e16b857b8fb4dc2d980cca4a8aea6f6eaa97 SHA512 4287fc4db25ecae08f6aa69b15fd57c10e85e7071e8ce717772cee77cfec3c758546bde5f2684e331a01306be7df24c42744cb58da90ab70de17da567760e4f8 -MISC metadata.xml 663 BLAKE2B 7a6625813cb3bdbab8a37845c9c64ac53ff377db394f776357d4fff60fbfe7c7b0e954fdc15abcc8874dd6c0f9ee90bc6e179a00bc5d12cd2e7cedc6f998c019 SHA512 696e573853d5d401f22079492d8e2b5f3c27e9ec4b6095f5ff46f109366b1c65c11976123abed06f302b8f03aaa1b0c54884f0156fdfdce23f4bf28feaafd39c +EBUILD xz-utils-5.4.4.ebuild 3957 BLAKE2B d84012d710e65c2ea858486b1f6c4fe2f44cd666a361c5c79badae6560646ca22b5cfaf9a8eda4b1f003eff75290f5a59cd261232c4b2f101c23a7c44bef9a37 SHA512 f9c0673ff7d4850f830b3cd5f7e73ff79609c948a4fea8dfef304902b1b3e8116980470b9194b2b7a03b48f78a20fbd9c1eb6de0961303e0865ba9e9ca477a6e +EBUILD xz-utils-9999.ebuild 3957 BLAKE2B d84012d710e65c2ea858486b1f6c4fe2f44cd666a361c5c79badae6560646ca22b5cfaf9a8eda4b1f003eff75290f5a59cd261232c4b2f101c23a7c44bef9a37 SHA512 f9c0673ff7d4850f830b3cd5f7e73ff79609c948a4fea8dfef304902b1b3e8116980470b9194b2b7a03b48f78a20fbd9c1eb6de0961303e0865ba9e9ca477a6e +MISC metadata.xml 748 BLAKE2B fe48d0e6b5aac2c843670597f0daa0202af709c27fe81889da8e4ef6877e35b30009b72831bc737b1078954b6494b508fa1b59305fdaf795db8801d20d9a0638 SHA512 6e64f0053489389818430808acb32cc1d3b33013978adf4952fbf57ab555e0710a106623ac1eb67405f1dd91c33397c5c70bddc9c5015878f280266b29b4e189 diff --git a/app-arch/xz-utils/metadata.xml b/app-arch/xz-utils/metadata.xml index 89d8ff67986f..3b217f332fdd 100644 --- a/app-arch/xz-utils/metadata.xml +++ b/app-arch/xz-utils/metadata.xml @@ -9,6 +9,7 @@ <flag name="extra-filters">Build additional filters that are not used in any of the default xz presets. This includes delta and BCJ coders, additional match finders and SHA256 checks.</flag> + <flag name="pgo">Optimize the build using Profile Guided Optimization (PGO)</flag> </use> <upstream> <remote-id type="cpe">cpe:/a:tukaani:xz</remote-id> diff --git a/app-arch/xz-utils/xz-utils-5.4.4.ebuild b/app-arch/xz-utils/xz-utils-5.4.4.ebuild index 11ddc15f918b..f5305d400724 100644 --- a/app-arch/xz-utils/xz-utils-5.4.4.ebuild +++ b/app-arch/xz-utils/xz-utils-5.4.4.ebuild @@ -6,7 +6,7 @@ EAPI=8 -inherit libtool multilib multilib-minimal preserve-libs usr-ldscript +inherit flag-o-matic libtool multilib multilib-minimal preserve-libs usr-ldscript if [[ ${PV} == 9999 ]] ; then # Per tukaani.org, git.tukaani.org is a mirror of github and @@ -47,7 +47,7 @@ HOMEPAGE="https://tukaani.org/xz/" # See top-level COPYING file as it outlines the various pieces and their licenses. LICENSE="public-domain LGPL-2.1+ GPL-2+" SLOT="0" -IUSE="doc +extra-filters nls static-libs" +IUSE="doc +extra-filters pgo nls static-libs" if [[ ${PV} != 9999 ]] ; then BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-jiatan )" @@ -103,6 +103,26 @@ multilib_src_configure() { ECONF_SOURCE="${S}" econf "${myconf[@]}" } +multilib_src_compile() { + # -fprofile-partial-training because upstream note the test suite isn't super comprehensive + # See https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo + local pgo_generate_flags=$(usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/${ABI}-pgo -fprofile-generate=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)") + local pgo_use_flags=$(usev pgo "-fprofile-use=${T}/${ABI}-pgo -fprofile-dir=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)") + + emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" + + if use pgo ; then + emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" -k check + + if tc-is-clang; then + llvm-profdata merge "${T}"/${ABI}-pgo --output="${T}"/${ABI}-pgo/default.profdata || die + fi + + emake clean + emake CFLAGS="${CFLAGS} ${pgo_use_flags}" + fi +} + multilib_src_install() { default diff --git a/app-arch/xz-utils/xz-utils-9999.ebuild b/app-arch/xz-utils/xz-utils-9999.ebuild index 1ab617815a91..f5305d400724 100644 --- a/app-arch/xz-utils/xz-utils-9999.ebuild +++ b/app-arch/xz-utils/xz-utils-9999.ebuild @@ -47,7 +47,7 @@ HOMEPAGE="https://tukaani.org/xz/" # See top-level COPYING file as it outlines the various pieces and their licenses. LICENSE="public-domain LGPL-2.1+ GPL-2+" SLOT="0" -IUSE="doc +extra-filters nls static-libs" +IUSE="doc +extra-filters pgo nls static-libs" if [[ ${PV} != 9999 ]] ; then BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-jiatan )" @@ -100,13 +100,29 @@ multilib_src_configure() { myconf+=( --disable-path-for-script ) fi - # ifunc is incompatible w/ asan - # https://github.com/tukaani-project/xz/issues/62#issuecomment-1719489932 - is-flagq -fsanitize=address && myconf+=( --disable-ifunc ) - ECONF_SOURCE="${S}" econf "${myconf[@]}" } +multilib_src_compile() { + # -fprofile-partial-training because upstream note the test suite isn't super comprehensive + # See https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo + local pgo_generate_flags=$(usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/${ABI}-pgo -fprofile-generate=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)") + local pgo_use_flags=$(usev pgo "-fprofile-use=${T}/${ABI}-pgo -fprofile-dir=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)") + + emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" + + if use pgo ; then + emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" -k check + + if tc-is-clang; then + llvm-profdata merge "${T}"/${ABI}-pgo --output="${T}"/${ABI}-pgo/default.profdata || die + fi + + emake clean + emake CFLAGS="${CFLAGS} ${pgo_use_flags}" + fi +} + multilib_src_install() { default |