From 55b20c97078ded20d0e7c6b3ef33d673c861d8b4 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 14 Mar 2023 00:16:43 +0000 Subject: gentoo auto-resync : 14:03:2023 - 00:16:42 --- sys-devel/Manifest.gz | Bin 10459 -> 10470 bytes sys-devel/clang-common/Manifest | 12 +- .../clang-common/clang-common-15.0.7-r3.ebuild | 163 ------------------- .../clang-common/clang-common-15.0.7-r4.ebuild | 172 ++++++++++++++++++++ .../clang-common/clang-common-16.0.0.9999.ebuild | 19 ++- .../clang-common/clang-common-16.0.0_rc3-r1.ebuild | 168 ------------------- .../clang-common/clang-common-16.0.0_rc3-r2.ebuild | 177 +++++++++++++++++++++ .../clang-common/clang-common-16.0.0_rc4-r1.ebuild | 177 +++++++++++++++++++++ .../clang-common/clang-common-16.0.0_rc4.ebuild | 168 ------------------- .../clang-common/clang-common-17.0.0.9999.ebuild | 19 ++- .../clang-common-17.0.0_pre20230304-r1.ebuild | 177 +++++++++++++++++++++ .../clang-common-17.0.0_pre20230304.ebuild | 168 ------------------- sys-devel/gcc/Manifest | 6 +- sys-devel/gcc/gcc-12.2.1_p20230311-r1.ebuild | 52 ++++++ sys-devel/gcc/gcc-12.2.1_p20230311.ebuild | 52 ------ sys-devel/gcc/gcc-13.0.1_pre20230312-r1.ebuild | 54 +++++++ sys-devel/gcc/gcc-13.0.1_pre20230312.ebuild | 54 ------- 17 files changed, 847 insertions(+), 791 deletions(-) delete mode 100644 sys-devel/clang-common/clang-common-15.0.7-r3.ebuild create mode 100644 sys-devel/clang-common/clang-common-15.0.7-r4.ebuild delete mode 100644 sys-devel/clang-common/clang-common-16.0.0_rc3-r1.ebuild create mode 100644 sys-devel/clang-common/clang-common-16.0.0_rc3-r2.ebuild create mode 100644 sys-devel/clang-common/clang-common-16.0.0_rc4-r1.ebuild delete mode 100644 sys-devel/clang-common/clang-common-16.0.0_rc4.ebuild create mode 100644 sys-devel/clang-common/clang-common-17.0.0_pre20230304-r1.ebuild delete mode 100644 sys-devel/clang-common/clang-common-17.0.0_pre20230304.ebuild create mode 100644 sys-devel/gcc/gcc-12.2.1_p20230311-r1.ebuild delete mode 100644 sys-devel/gcc/gcc-12.2.1_p20230311.ebuild create mode 100644 sys-devel/gcc/gcc-13.0.1_pre20230312-r1.ebuild delete mode 100644 sys-devel/gcc/gcc-13.0.1_pre20230312.ebuild (limited to 'sys-devel') diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz index 4830c8d864db..aaa78fe8bb72 100644 Binary files a/sys-devel/Manifest.gz and b/sys-devel/Manifest.gz differ diff --git a/sys-devel/clang-common/Manifest b/sys-devel/clang-common/Manifest index 4070bb716a1a..85b35dc49b88 100644 --- a/sys-devel/clang-common/Manifest +++ b/sys-devel/clang-common/Manifest @@ -8,10 +8,10 @@ DIST llvm-project-16.0.0rc4.src.tar.xz 117930024 BLAKE2B 55cf032ad3ba52d2af0942f DIST llvm-project-16.0.0rc4.src.tar.xz.sig 566 BLAKE2B bfcf39070f32e16cfeae699d95d06f184b1331c3af403340c31cc5a973a3bb1faec0b6342445176cebed5819ddf68e4abfdaa8542ec425b1c822fc8c03c03349 SHA512 2af72e3d771e2361873007a944dcccfe81fbdbc3025a2101e03cbc15f1a173d39ceb94c4ae8966b1d7564bf004ee9a5ffa032e2334c0cf7154aea1090d04b00f DIST llvm-project-2708869801ae00f4681f6b2d9d69b25b3fce26b6.tar.gz 180523586 BLAKE2B cf918d1e23f922d201a44531c9765b7d8ec2b3b8499ea7954845abcd5fa2687e85b3a34819a583c4f4a6d6e1baa49dbac0b4450cd6b9b322b0f13c88cd7da93c SHA512 18cb00e93d819993a925ae0467d382bc952d82c1eb92dbbb5bb3cdf87043269948670713734ddc3ea4ec50544e54dd11b6747496f7eaa02479374ab9ad075aa5 EBUILD clang-common-14.0.6.ebuild 541 BLAKE2B 87b158e874cf600e23591a8095e0edb4d30d4482600ef8fe38984e9ba9559e6e2226107cd482f355d950392a6a452e1a8ae79d297d5afc3951a7f1c8f6227b5f SHA512 1bd0481468c278f131ec9f87243927b60a59752f4229450559bf8016e9599155a52593810fcdc1cf0aecd4aa1529e8df300d95123a53de18eb326152caafbbef -EBUILD clang-common-15.0.7-r3.ebuild 4735 BLAKE2B 4c29d23bc621ee4f82056b647147d8bc285f94d3bf26a9e520ff0342d0e46dffb524bb0d0a41142bf9d1c4e17c77afa39c7cef96f2e3934cee1f635c18550f56 SHA512 0077c019648238a8a3a991e07d85ac115f6ee44437a77a25b00d3b91383e2bd5bb7453b2a6d3041a9128bdcc0ea7eaeea0ca04cc952848d354eceb2096fbb4b6 -EBUILD clang-common-16.0.0.9999.ebuild 4712 BLAKE2B 5a0410476f2f74934786b57f90676c8ffa15ffc36f6d07ec8e4daf0356b75e19f695d9f1bd33a7470f9e3c348318c07da89b482b3abdac6f096cb91905600cb2 SHA512 c110ddc90ff766fab5a39473c87595c7a2c1fc1dfecef8fb66453ececc57bcc6123912321bac9408d3e1cb4d08839a77d8be7d5003763eba1416a2e94f1b2968 -EBUILD clang-common-16.0.0_rc3-r1.ebuild 4718 BLAKE2B b9828aa5db9aab0fa65e35501a733feccee05ac0c244d27305bc798b645c2d9d2d58f5826022a5908d83f46a7aa505cbaa5c66f848531e33cb23a13fc22cdae4 SHA512 8dbf47c513ed0cb781551b61563b5a9b9a0fdcc256590fdf71d1f7f60a87f339a671a8ce5a6b4a46b867e26251cc278d1f9c745d637b17381b124ba1f1328300 -EBUILD clang-common-16.0.0_rc4.ebuild 4718 BLAKE2B b9828aa5db9aab0fa65e35501a733feccee05ac0c244d27305bc798b645c2d9d2d58f5826022a5908d83f46a7aa505cbaa5c66f848531e33cb23a13fc22cdae4 SHA512 8dbf47c513ed0cb781551b61563b5a9b9a0fdcc256590fdf71d1f7f60a87f339a671a8ce5a6b4a46b867e26251cc278d1f9c745d637b17381b124ba1f1328300 -EBUILD clang-common-17.0.0.9999.ebuild 4712 BLAKE2B 5a0410476f2f74934786b57f90676c8ffa15ffc36f6d07ec8e4daf0356b75e19f695d9f1bd33a7470f9e3c348318c07da89b482b3abdac6f096cb91905600cb2 SHA512 c110ddc90ff766fab5a39473c87595c7a2c1fc1dfecef8fb66453ececc57bcc6123912321bac9408d3e1cb4d08839a77d8be7d5003763eba1416a2e94f1b2968 -EBUILD clang-common-17.0.0_pre20230304.ebuild 4712 BLAKE2B 5a0410476f2f74934786b57f90676c8ffa15ffc36f6d07ec8e4daf0356b75e19f695d9f1bd33a7470f9e3c348318c07da89b482b3abdac6f096cb91905600cb2 SHA512 c110ddc90ff766fab5a39473c87595c7a2c1fc1dfecef8fb66453ececc57bcc6123912321bac9408d3e1cb4d08839a77d8be7d5003763eba1416a2e94f1b2968 +EBUILD clang-common-15.0.7-r4.ebuild 5034 BLAKE2B 1159de8d27d4fbd771229bc298823e44cef20872d96832f5e49ba564fc321bfbb0e366e6ac9866ba4e537cb0baa14c5dd63931daf58c4eb9b791bdde412e093d SHA512 24431cb1fc31ebb43f3749d0f780f08d4acea701105817d21413006de48bf9d87293406dcf05d0bb3ac092b8739d5c773e46815013f497c544ddda1e1ae6cdde +EBUILD clang-common-16.0.0.9999.ebuild 5011 BLAKE2B c39389ad4d45449ea239e1c0b8c64c9be098f0a6dd072b2ce85798b7cdbd5e63dc34659e3c792698b44e7e231dc5f19942bfdd0388533e1cbd32d99d704a6f3d SHA512 7b8556150b56f1f59a655ec1599c442be0e5f6c1a1d434243d9c2f422a542fb6e22e11ec6a9983ba0440eb4f1ebec70038e435d3b27da09284e2d150c658d175 +EBUILD clang-common-16.0.0_rc3-r2.ebuild 5017 BLAKE2B 861c1fa59ade1bd9dfe9bdb391c92d528f8426e958e30242299474462a1ed86d299419c6ca7b85a2e377b2a17854a1de74b45a82b5c8117ff2453ea69aa2c229 SHA512 dc37a47244d7b47b415fc1eb0d13d5c1b32be1a5edf4bc3c2b3c90ecd53946a971a4bb850781b1f964a7bedba407ead9560730c1fcb63880841a443f061052de +EBUILD clang-common-16.0.0_rc4-r1.ebuild 5017 BLAKE2B 861c1fa59ade1bd9dfe9bdb391c92d528f8426e958e30242299474462a1ed86d299419c6ca7b85a2e377b2a17854a1de74b45a82b5c8117ff2453ea69aa2c229 SHA512 dc37a47244d7b47b415fc1eb0d13d5c1b32be1a5edf4bc3c2b3c90ecd53946a971a4bb850781b1f964a7bedba407ead9560730c1fcb63880841a443f061052de +EBUILD clang-common-17.0.0.9999.ebuild 5011 BLAKE2B c39389ad4d45449ea239e1c0b8c64c9be098f0a6dd072b2ce85798b7cdbd5e63dc34659e3c792698b44e7e231dc5f19942bfdd0388533e1cbd32d99d704a6f3d SHA512 7b8556150b56f1f59a655ec1599c442be0e5f6c1a1d434243d9c2f422a542fb6e22e11ec6a9983ba0440eb4f1ebec70038e435d3b27da09284e2d150c658d175 +EBUILD clang-common-17.0.0_pre20230304-r1.ebuild 5011 BLAKE2B c39389ad4d45449ea239e1c0b8c64c9be098f0a6dd072b2ce85798b7cdbd5e63dc34659e3c792698b44e7e231dc5f19942bfdd0388533e1cbd32d99d704a6f3d SHA512 7b8556150b56f1f59a655ec1599c442be0e5f6c1a1d434243d9c2f422a542fb6e22e11ec6a9983ba0440eb4f1ebec70038e435d3b27da09284e2d150c658d175 MISC metadata.xml 735 BLAKE2B 12ea133df3d7eb9367a65e572ef91893e654d5b77caa27c66e4b5b41ba90ebc5e619eb78dfff2a67183d2c1cbfcf35fa903b2bb75604ce153d5cedfce5346e3c SHA512 8ed6b12d4f2aa1985897a8d81ce898dbc0d14ac222f3d0f259cbe80fbb8b2349dff7677627daeaf39a422f290200da4fac6348abc81c9e35da0ca73a11cfdd83 diff --git a/sys-devel/clang-common/clang-common-15.0.7-r3.ebuild b/sys-devel/clang-common/clang-common-15.0.7-r3.ebuild deleted file mode 100644 index ae60c641f5f9..000000000000 --- a/sys-devel/clang-common/clang-common-15.0.7-r3.ebuild +++ /dev/null @@ -1,163 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit bash-completion-r1 llvm.org - -DESCRIPTION="Common files shared between multiple slots of clang" -HOMEPAGE="https://llvm.org/" - -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" -SLOT="0" -KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~ppc-macos ~x64-macos" -IUSE=" - default-compiler-rt default-libcxx default-lld llvm-libunwind - hardened stricter -" - -PDEPEND=" - sys-devel/clang:* - default-compiler-rt? ( - sys-devel/clang-runtime[compiler-rt] - llvm-libunwind? ( sys-libs/llvm-libunwind[static-libs] ) - !llvm-libunwind? ( sys-libs/libunwind[static-libs] ) - ) - !default-compiler-rt? ( sys-devel/gcc ) - default-libcxx? ( >=sys-libs/libcxx-${PV} ) - !default-libcxx? ( sys-devel/gcc ) - default-lld? ( sys-devel/lld ) - !default-lld? ( sys-devel/binutils ) -" -IDEPEND=" - !default-compiler-rt? ( sys-devel/gcc-config ) - !default-libcxx? ( sys-devel/gcc-config ) -" - -LLVM_COMPONENTS=( clang/utils ) -llvm.org_set_globals - -pkg_pretend() { - [[ ${CLANG_IGNORE_DEFAULT_RUNTIMES} ]] && return - - local flag missing_flags=() - for flag in default-{compiler-rt,libcxx,lld}; do - if ! use "${flag}" && has_version "sys-devel/clang[${flag}]"; then - missing_flags+=( "${flag}" ) - fi - done - - if [[ ${missing_flags[@]} ]]; then - eerror "It seems that you have the following flags set on sys-devel/clang:" - eerror - eerror " ${missing_flags[*]}" - eerror - eerror "The default runtimes are now set via flags on sys-devel/clang-common." - eerror "The build is being aborted to prevent breakage. Please either set" - eerror "the respective flags on this ebuild, e.g.:" - eerror - eerror " sys-devel/clang-common ${missing_flags[*]}" - eerror - eerror "or build with CLANG_IGNORE_DEFAULT_RUNTIMES=1." - die "Mismatched defaults detected between sys-devel/clang and sys-devel/clang-common" - fi -} - -src_install() { - newbashcomp bash-autocomplete.sh clang - - insinto /etc/clang - newins - gentoo-runtimes.cfg <<-EOF - # This file is initially generated by sys-devel/clang-runtime. - # It is used to control the default runtimes using by clang. - - --rtlib=$(usex default-compiler-rt compiler-rt libgcc) - --unwindlib=$(usex default-compiler-rt libunwind libgcc) - --stdlib=$(usex default-libcxx libc++ libstdc++) - -fuse-ld=$(usex default-lld lld bfd) - EOF - - newins - gentoo-gcc-install.cfg <<-EOF - # This file is maintained by gcc-config. - # It is used to specify the selected GCC installation. - EOF - - newins - gentoo-common.cfg <<-EOF - # This file contains flags common to clang, clang++ and clang-cpp. - @gentoo-runtimes.cfg - @gentoo-gcc-install.cfg - @gentoo-hardened.cfg - EOF - - # Baseline hardening (bug #851111) - # (-fstack-clash-protection is omitted because of a possible Clang bug, - # see bug #892537 and bug #865339.) - newins - gentoo-hardened.cfg <<-EOF - # Some of these options are added unconditionally, regardless of - # USE=hardened, for parity with sys-devel/gcc. - -fstack-protector-strong - -fPIE - -include "${EPREFIX}/usr/include/gentoo/fortify.h" - EOF - - dodir /usr/include/gentoo - - local fortify_level=$(usex hardened 3 2) - # We have to do this because glibc's headers warn if F_S is set - # without optimization and that would at the very least be very noisy - # during builds and at worst trigger many -Werror builds. - cat >> "${ED}/usr/include/gentoo/fortify.h" <<- EOF || die - #ifndef _FORTIFY_SOURCE - #if defined(__OPTIMIZE__) && __OPTIMIZE__ > 0 - #define _FORTIFY_SOURCE ${fortify_level} - #endif - #endif - EOF - - if use hardened ; then - cat >> "${ED}/etc/clang/gentoo-hardened.cfg" <<-EOF || die - # Options below are conditional on USE=hardened. - -D_GLIBCXX_ASSERTIONS - - # Analogue to GLIBCXX_ASSERTIONS - # https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode - -D_LIBCPP_ENABLE_ASSERTIONS=1 - EOF - fi - - if use stricter; then - newins - gentoo-stricter.cfg <<-EOF - # This file increases the strictness of older clang versions - # to match the newest upstream version. - - # clang-16 defaults - -Werror=implicit-function-declaration - -Werror=implicit-int - -Werror=incompatible-function-pointer-types - EOF - - cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die - @gentoo-stricter.cfg - EOF - fi - - local tool - for tool in clang{,++,-cpp}; do - newins - "${tool}.cfg" <<-EOF - # This configuration file is used by ${tool} driver. - @gentoo-common.cfg - EOF - done -} - -pkg_preinst() { - if has_version -b sys-devel/gcc-config && has_version sys-devel/gcc - then - local gcc_path=$(gcc-config --get-lib-path 2>/dev/null) - if [[ -n ${gcc_path} ]]; then - cat >> "${ED}/etc/clang/gentoo-gcc-install.cfg" <<-EOF - --gcc-install-dir="${gcc_path%%:*}" - EOF - fi - fi -} diff --git a/sys-devel/clang-common/clang-common-15.0.7-r4.ebuild b/sys-devel/clang-common/clang-common-15.0.7-r4.ebuild new file mode 100644 index 000000000000..c7af956a5dd7 --- /dev/null +++ b/sys-devel/clang-common/clang-common-15.0.7-r4.ebuild @@ -0,0 +1,172 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 llvm.org + +DESCRIPTION="Common files shared between multiple slots of clang" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~ppc-macos ~x64-macos" +IUSE=" + default-compiler-rt default-libcxx default-lld llvm-libunwind + hardened stricter +" + +PDEPEND=" + sys-devel/clang:* + default-compiler-rt? ( + sys-devel/clang-runtime[compiler-rt] + llvm-libunwind? ( sys-libs/llvm-libunwind[static-libs] ) + !llvm-libunwind? ( sys-libs/libunwind[static-libs] ) + ) + !default-compiler-rt? ( sys-devel/gcc ) + default-libcxx? ( >=sys-libs/libcxx-${PV} ) + !default-libcxx? ( sys-devel/gcc ) + default-lld? ( sys-devel/lld ) + !default-lld? ( sys-devel/binutils ) +" +IDEPEND=" + !default-compiler-rt? ( sys-devel/gcc-config ) + !default-libcxx? ( sys-devel/gcc-config ) +" + +LLVM_COMPONENTS=( clang/utils ) +llvm.org_set_globals + +pkg_pretend() { + [[ ${CLANG_IGNORE_DEFAULT_RUNTIMES} ]] && return + + local flag missing_flags=() + for flag in default-{compiler-rt,libcxx,lld}; do + if ! use "${flag}" && has_version "sys-devel/clang[${flag}]"; then + missing_flags+=( "${flag}" ) + fi + done + + if [[ ${missing_flags[@]} ]]; then + eerror "It seems that you have the following flags set on sys-devel/clang:" + eerror + eerror " ${missing_flags[*]}" + eerror + eerror "The default runtimes are now set via flags on sys-devel/clang-common." + eerror "The build is being aborted to prevent breakage. Please either set" + eerror "the respective flags on this ebuild, e.g.:" + eerror + eerror " sys-devel/clang-common ${missing_flags[*]}" + eerror + eerror "or build with CLANG_IGNORE_DEFAULT_RUNTIMES=1." + die "Mismatched defaults detected between sys-devel/clang and sys-devel/clang-common" + fi +} + +src_install() { + newbashcomp bash-autocomplete.sh clang + + insinto /etc/clang + newins - gentoo-runtimes.cfg <<-EOF + # This file is initially generated by sys-devel/clang-runtime. + # It is used to control the default runtimes using by clang. + + --rtlib=$(usex default-compiler-rt compiler-rt libgcc) + --unwindlib=$(usex default-compiler-rt libunwind libgcc) + --stdlib=$(usex default-libcxx libc++ libstdc++) + -fuse-ld=$(usex default-lld lld bfd) + EOF + + newins - gentoo-gcc-install.cfg <<-EOF + # This file is maintained by gcc-config. + # It is used to specify the selected GCC installation. + EOF + + newins - gentoo-common.cfg <<-EOF + # This file contains flags common to clang, clang++ and clang-cpp. + @gentoo-runtimes.cfg + @gentoo-gcc-install.cfg + @gentoo-hardened.cfg + EOF + + # Baseline hardening (bug #851111) + # (-fstack-clash-protection is omitted because of a possible Clang bug, + # see bug #892537 and bug #865339.) + newins - gentoo-hardened.cfg <<-EOF + # Some of these options are added unconditionally, regardless of + # USE=hardened, for parity with sys-devel/gcc. + -fstack-protector-strong + -fPIE + -include "${EPREFIX}/usr/include/gentoo/fortify.h" + EOF + + dodir /usr/include/gentoo + + local fortify_level=$(usex hardened 3 2) + # We have to do this because glibc's headers warn if F_S is set + # without optimization and that would at the very least be very noisy + # during builds and at worst trigger many -Werror builds. + cat >> "${ED}/usr/include/gentoo/fortify.h" <<- EOF || die + #ifndef _FORTIFY_SOURCE + # if defined(__has_feature) + # define __GENTOO_HAS_FEATURE(x) __has_feature(x) + # else + # define __GENTOO_HAS_FEATURE(x) 0 + # endif + # + # if defined(__OPTIMIZE__) && __OPTIMIZE__ > 0 + # if !defined(__SANITIZE_ADDRESS__) && !__GENTOO_HAS_FEATURE(address_sanitizer) && !__GENTOO_HAS_FEATURE(memory_sanitizer) + # define _FORTIFY_SOURCE ${fortify_level} + # endif + # endif + # undef __GENTOO_HAS_FEATURE + #endif + EOF + + if use hardened ; then + cat >> "${ED}/etc/clang/gentoo-hardened.cfg" <<-EOF || die + # Options below are conditional on USE=hardened. + -D_GLIBCXX_ASSERTIONS + + # Analogue to GLIBCXX_ASSERTIONS + # https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode + -D_LIBCPP_ENABLE_ASSERTIONS=1 + EOF + fi + + if use stricter; then + newins - gentoo-stricter.cfg <<-EOF + # This file increases the strictness of older clang versions + # to match the newest upstream version. + + # clang-16 defaults + -Werror=implicit-function-declaration + -Werror=implicit-int + -Werror=incompatible-function-pointer-types + EOF + + cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die + @gentoo-stricter.cfg + EOF + fi + + local tool + for tool in clang{,++,-cpp}; do + newins - "${tool}.cfg" <<-EOF + # This configuration file is used by ${tool} driver. + @gentoo-common.cfg + EOF + done +} + +pkg_preinst() { + if has_version -b sys-devel/gcc-config && has_version sys-devel/gcc + then + local gcc_path=$(gcc-config --get-lib-path 2>/dev/null) + if [[ -n ${gcc_path} ]]; then + cat >> "${ED}/etc/clang/gentoo-gcc-install.cfg" <<-EOF + --gcc-install-dir="${gcc_path%%:*}" + EOF + fi + fi +} diff --git a/sys-devel/clang-common/clang-common-16.0.0.9999.ebuild b/sys-devel/clang-common/clang-common-16.0.0.9999.ebuild index 3165f42a329f..808c1e1a0ae1 100644 --- a/sys-devel/clang-common/clang-common-16.0.0.9999.ebuild +++ b/sys-devel/clang-common/clang-common-16.0.0.9999.ebuild @@ -106,11 +106,20 @@ src_install() { # without optimization and that would at the very least be very noisy # during builds and at worst trigger many -Werror builds. cat >> "${ED}/usr/include/gentoo/fortify.h" <<- EOF || die - #ifndef _FORTIFY_SOURCE - #if defined(__OPTIMIZE__) && __OPTIMIZE__ > 0 - #define _FORTIFY_SOURCE ${fortify_level} - #endif - #endif + #ifndef _FORTIFY_SOURCE + # if defined(__has_feature) + # define __GENTOO_HAS_FEATURE(x) __has_feature(x) + # else + # define __GENTOO_HAS_FEATURE(x) 0 + # endif + # + # if defined(__OPTIMIZE__) && __OPTIMIZE__ > 0 + # if !defined(__SANITIZE_ADDRESS__) && !__GENTOO_HAS_FEATURE(address_sanitizer) && !__GENTOO_HAS_FEATURE(memory_sanitizer) + # define _FORTIFY_SOURCE ${fortify_level} + # endif + # endif + # undef __GENTOO_HAS_FEATURE + #endif EOF if use hardened ; then diff --git a/sys-devel/clang-common/clang-common-16.0.0_rc3-r1.ebuild b/sys-devel/clang-common/clang-common-16.0.0_rc3-r1.ebuild deleted file mode 100644 index d8624a7c3152..000000000000 --- a/sys-devel/clang-common/clang-common-16.0.0_rc3-r1.ebuild +++ /dev/null @@ -1,168 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit bash-completion-r1 llvm.org - -DESCRIPTION="Common files shared between multiple slots of clang" -HOMEPAGE="https://llvm.org/" - -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" -SLOT="0" -KEYWORDS="~loong" -IUSE=" - default-compiler-rt default-libcxx default-lld llvm-libunwind - hardened stricter -" - -PDEPEND=" - sys-devel/clang:* - default-compiler-rt? ( - sys-devel/clang-runtime[compiler-rt] - llvm-libunwind? ( sys-libs/llvm-libunwind[static-libs] ) - !llvm-libunwind? ( sys-libs/libunwind[static-libs] ) - ) - !default-compiler-rt? ( sys-devel/gcc ) - default-libcxx? ( >=sys-libs/libcxx-${PV} ) - !default-libcxx? ( sys-devel/gcc ) - default-lld? ( sys-devel/lld ) - !default-lld? ( sys-devel/binutils ) -" -IDEPEND=" - !default-compiler-rt? ( sys-devel/gcc-config ) - !default-libcxx? ( sys-devel/gcc-config ) -" - -LLVM_COMPONENTS=( clang/utils ) -llvm.org_set_globals - -pkg_pretend() { - [[ ${CLANG_IGNORE_DEFAULT_RUNTIMES} ]] && return - - local flag missing_flags=() - for flag in default-{compiler-rt,libcxx,lld}; do - if ! use "${flag}" && has_version "sys-devel/clang[${flag}]"; then - missing_flags+=( "${flag}" ) - fi - done - - if [[ ${missing_flags[@]} ]]; then - eerror "It seems that you have the following flags set on sys-devel/clang:" - eerror - eerror " ${missing_flags[*]}" - eerror - eerror "The default runtimes are now set via flags on sys-devel/clang-common." - eerror "The build is being aborted to prevent breakage. Please either set" - eerror "the respective flags on this ebuild, e.g.:" - eerror - eerror " sys-devel/clang-common ${missing_flags[*]}" - eerror - eerror "or build with CLANG_IGNORE_DEFAULT_RUNTIMES=1." - die "Mismatched defaults detected between sys-devel/clang and sys-devel/clang-common" - fi -} - -src_install() { - newbashcomp bash-autocomplete.sh clang - - insinto /etc/clang - newins - gentoo-runtimes.cfg <<-EOF - # This file is initially generated by sys-devel/clang-runtime. - # It is used to control the default runtimes using by clang. - - --rtlib=$(usex default-compiler-rt compiler-rt libgcc) - --unwindlib=$(usex default-compiler-rt libunwind libgcc) - --stdlib=$(usex default-libcxx libc++ libstdc++) - -fuse-ld=$(usex default-lld lld bfd) - EOF - - newins - gentoo-gcc-install.cfg <<-EOF - # This file is maintained by gcc-config. - # It is used to specify the selected GCC installation. - EOF - - newins - gentoo-common.cfg <<-EOF - # This file contains flags common to clang, clang++ and clang-cpp. - @gentoo-runtimes.cfg - @gentoo-gcc-install.cfg - @gentoo-hardened.cfg - EOF - - # Baseline hardening (bug #851111) - newins - gentoo-hardened.cfg <<-EOF - # Some of these options are added unconditionally, regardless of - # USE=hardened, for parity with sys-devel/gcc. - -fstack-clash-protection - -fstack-protector-strong - -fPIE - -include "${EPREFIX}/usr/include/gentoo/fortify.h" - EOF - - dodir /usr/include/gentoo - - local fortify_level=$(usex hardened 3 2) - # We have to do this because glibc's headers warn if F_S is set - # without optimization and that would at the very least be very noisy - # during builds and at worst trigger many -Werror builds. - cat >> "${ED}/usr/include/gentoo/fortify.h" <<- EOF || die - #ifndef _FORTIFY_SOURCE - #if defined(__OPTIMIZE__) && __OPTIMIZE__ > 0 - #define _FORTIFY_SOURCE ${fortify_level} - #endif - #endif - EOF - - if use hardened ; then - cat >> "${ED}/etc/clang/gentoo-hardened.cfg" <<-EOF || die - # Options below are conditional on USE=hardened. - -D_GLIBCXX_ASSERTIONS - - # Analogue to GLIBCXX_ASSERTIONS - # https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode - -D_LIBCPP_ENABLE_ASSERTIONS=1 - EOF - fi - - if use stricter; then - newins - gentoo-stricter.cfg <<-EOF - # This file increases the strictness of older clang versions - # to match the newest upstream version. - - # clang-16 defaults - -Werror=implicit-function-declaration - -Werror=implicit-int - -Werror=incompatible-function-pointer-types - - # constructs banned by C2x - -Werror=deprecated-non-prototype - - # deprecated but large blast radius - #-Werror=strict-prototypes - EOF - - cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die - @gentoo-stricter.cfg - EOF - fi - - local tool - for tool in clang{,++,-cpp}; do - newins - "${tool}.cfg" <<-EOF - # This configuration file is used by ${tool} driver. - @gentoo-common.cfg - EOF - done -} - -pkg_preinst() { - if has_version -b sys-devel/gcc-config && has_version sys-devel/gcc - then - local gcc_path=$(gcc-config --get-lib-path 2>/dev/null) - if [[ -n ${gcc_path} ]]; then - cat >> "${ED}/etc/clang/gentoo-gcc-install.cfg" <<-EOF - --gcc-install-dir="${gcc_path%%:*}" - EOF - fi - fi -} diff --git a/sys-devel/clang-common/clang-common-16.0.0_rc3-r2.ebuild b/sys-devel/clang-common/clang-common-16.0.0_rc3-r2.ebuild new file mode 100644 index 000000000000..1f768ea302a9 --- /dev/null +++ b/sys-devel/clang-common/clang-common-16.0.0_rc3-r2.ebuild @@ -0,0 +1,177 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 llvm.org + +DESCRIPTION="Common files shared between multiple slots of clang" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +KEYWORDS="~loong" +IUSE=" + default-compiler-rt default-libcxx default-lld llvm-libunwind + hardened stricter +" + +PDEPEND=" + sys-devel/clang:* + default-compiler-rt? ( + sys-devel/clang-runtime[compiler-rt] + llvm-libunwind? ( sys-libs/llvm-libunwind[static-libs] ) + !llvm-libunwind? ( sys-libs/libunwind[static-libs] ) + ) + !default-compiler-rt? ( sys-devel/gcc ) + default-libcxx? ( >=sys-libs/libcxx-${PV} ) + !default-libcxx? ( sys-devel/gcc ) + default-lld? ( sys-devel/lld ) + !default-lld? ( sys-devel/binutils ) +" +IDEPEND=" + !default-compiler-rt? ( sys-devel/gcc-config ) + !default-libcxx? ( sys-devel/gcc-config ) +" + +LLVM_COMPONENTS=( clang/utils ) +llvm.org_set_globals + +pkg_pretend() { + [[ ${CLANG_IGNORE_DEFAULT_RUNTIMES} ]] && return + + local flag missing_flags=() + for flag in default-{compiler-rt,libcxx,lld}; do + if ! use "${flag}" && has_version "sys-devel/clang[${flag}]"; then + missing_flags+=( "${flag}" ) + fi + done + + if [[ ${missing_flags[@]} ]]; then + eerror "It seems that you have the following flags set on sys-devel/clang:" + eerror + eerror " ${missing_flags[*]}" + eerror + eerror "The default runtimes are now set via flags on sys-devel/clang-common." + eerror "The build is being aborted to prevent breakage. Please either set" + eerror "the respective flags on this ebuild, e.g.:" + eerror + eerror " sys-devel/clang-common ${missing_flags[*]}" + eerror + eerror "or build with CLANG_IGNORE_DEFAULT_RUNTIMES=1." + die "Mismatched defaults detected between sys-devel/clang and sys-devel/clang-common" + fi +} + +src_install() { + newbashcomp bash-autocomplete.sh clang + + insinto /etc/clang + newins - gentoo-runtimes.cfg <<-EOF + # This file is initially generated by sys-devel/clang-runtime. + # It is used to control the default runtimes using by clang. + + --rtlib=$(usex default-compiler-rt compiler-rt libgcc) + --unwindlib=$(usex default-compiler-rt libunwind libgcc) + --stdlib=$(usex default-libcxx libc++ libstdc++) + -fuse-ld=$(usex default-lld lld bfd) + EOF + + newins - gentoo-gcc-install.cfg <<-EOF + # This file is maintained by gcc-config. + # It is used to specify the selected GCC installation. + EOF + + newins - gentoo-common.cfg <<-EOF + # This file contains flags common to clang, clang++ and clang-cpp. + @gentoo-runtimes.cfg + @gentoo-gcc-install.cfg + @gentoo-hardened.cfg + EOF + + # Baseline hardening (bug #851111) + newins - gentoo-hardened.cfg <<-EOF + # Some of these options are added unconditionally, regardless of + # USE=hardened, for parity with sys-devel/gcc. + -fstack-clash-protection + -fstack-protector-strong + -fPIE + -include "${EPREFIX}/usr/include/gentoo/fortify.h" + EOF + + dodir /usr/include/gentoo + + local fortify_level=$(usex hardened 3 2) + # We have to do this because glibc's headers warn if F_S is set + # without optimization and that would at the very least be very noisy + # during builds and at worst trigger many -Werror builds. + cat >> "${ED}/usr/include/gentoo/fortify.h" <<- EOF || die + #ifndef _FORTIFY_SOURCE + # if defined(__has_feature) + # define __GENTOO_HAS_FEATURE(x) __has_feature(x) + # else + # define __GENTOO_HAS_FEATURE(x) 0 + # endif + # + # if defined(__OPTIMIZE__) && __OPTIMIZE__ > 0 + # if !defined(__SANITIZE_ADDRESS__) && !__GENTOO_HAS_FEATURE(address_sanitizer) && !__GENTOO_HAS_FEATURE(memory_sanitizer) + # define _FORTIFY_SOURCE ${fortify_level} + # endif + # endif + # undef __GENTOO_HAS_FEATURE + #endif + EOF + + if use hardened ; then + cat >> "${ED}/etc/clang/gentoo-hardened.cfg" <<-EOF || die + # Options below are conditional on USE=hardened. + -D_GLIBCXX_ASSERTIONS + + # Analogue to GLIBCXX_ASSERTIONS + # https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode + -D_LIBCPP_ENABLE_ASSERTIONS=1 + EOF + fi + + if use stricter; then + newins - gentoo-stricter.cfg <<-EOF + # This file increases the strictness of older clang versions + # to match the newest upstream version. + + # clang-16 defaults + -Werror=implicit-function-declaration + -Werror=implicit-int + -Werror=incompatible-function-pointer-types + + # constructs banned by C2x + -Werror=deprecated-non-prototype + + # deprecated but large blast radius + #-Werror=strict-prototypes + EOF + + cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die + @gentoo-stricter.cfg + EOF + fi + + local tool + for tool in clang{,++,-cpp}; do + newins - "${tool}.cfg" <<-EOF + # This configuration file is used by ${tool} driver. + @gentoo-common.cfg + EOF + done +} + +pkg_preinst() { + if has_version -b sys-devel/gcc-config && has_version sys-devel/gcc + then + local gcc_path=$(gcc-config --get-lib-path 2>/dev/null) + if [[ -n ${gcc_path} ]]; then + cat >> "${ED}/etc/clang/gentoo-gcc-install.cfg" <<-EOF + --gcc-install-dir="${gcc_path%%:*}" + EOF + fi + fi +} diff --git a/sys-devel/clang-common/clang-common-16.0.0_rc4-r1.ebuild b/sys-devel/clang-common/clang-common-16.0.0_rc4-r1.ebuild new file mode 100644 index 000000000000..1f768ea302a9 --- /dev/null +++ b/sys-devel/clang-common/clang-common-16.0.0_rc4-r1.ebuild @@ -0,0 +1,177 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 llvm.org + +DESCRIPTION="Common files shared between multiple slots of clang" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +KEYWORDS="~loong" +IUSE=" + default-compiler-rt default-libcxx default-lld llvm-libunwind + hardened stricter +" + +PDEPEND=" + sys-devel/clang:* + default-compiler-rt? ( + sys-devel/clang-runtime[compiler-rt] + llvm-libunwind? ( sys-libs/llvm-libunwind[static-libs] ) + !llvm-libunwind? ( sys-libs/libunwind[static-libs] ) + ) + !default-compiler-rt? ( sys-devel/gcc ) + default-libcxx? ( >=sys-libs/libcxx-${PV} ) + !default-libcxx? ( sys-devel/gcc ) + default-lld? ( sys-devel/lld ) + !default-lld? ( sys-devel/binutils ) +" +IDEPEND=" + !default-compiler-rt? ( sys-devel/gcc-config ) + !default-libcxx? ( sys-devel/gcc-config ) +" + +LLVM_COMPONENTS=( clang/utils ) +llvm.org_set_globals + +pkg_pretend() { + [[ ${CLANG_IGNORE_DEFAULT_RUNTIMES} ]] && return + + local flag missing_flags=() + for flag in default-{compiler-rt,libcxx,lld}; do + if ! use "${flag}" && has_version "sys-devel/clang[${flag}]"; then + missing_flags+=( "${flag}" ) + fi + done + + if [[ ${missing_flags[@]} ]]; then + eerror "It seems that you have the following flags set on sys-devel/clang:" + eerror + eerror " ${missing_flags[*]}" + eerror + eerror "The default runtimes are now set via flags on sys-devel/clang-common." + eerror "The build is being aborted to prevent breakage. Please either set" + eerror "the respective flags on this ebuild, e.g.:" + eerror + eerror " sys-devel/clang-common ${missing_flags[*]}" + eerror + eerror "or build with CLANG_IGNORE_DEFAULT_RUNTIMES=1." + die "Mismatched defaults detected between sys-devel/clang and sys-devel/clang-common" + fi +} + +src_install() { + newbashcomp bash-autocomplete.sh clang + + insinto /etc/clang + newins - gentoo-runtimes.cfg <<-EOF + # This file is initially generated by sys-devel/clang-runtime. + # It is used to control the default runtimes using by clang. + + --rtlib=$(usex default-compiler-rt compiler-rt libgcc) + --unwindlib=$(usex default-compiler-rt libunwind libgcc) + --stdlib=$(usex default-libcxx libc++ libstdc++) + -fuse-ld=$(usex default-lld lld bfd) + EOF + + newins - gentoo-gcc-install.cfg <<-EOF + # This file is maintained by gcc-config. + # It is used to specify the selected GCC installation. + EOF + + newins - gentoo-common.cfg <<-EOF + # This file contains flags common to clang, clang++ and clang-cpp. + @gentoo-runtimes.cfg + @gentoo-gcc-install.cfg + @gentoo-hardened.cfg + EOF + + # Baseline hardening (bug #851111) + newins - gentoo-hardened.cfg <<-EOF + # Some of these options are added unconditionally, regardless of + # USE=hardened, for parity with sys-devel/gcc. + -fstack-clash-protection + -fstack-protector-strong + -fPIE + -include "${EPREFIX}/usr/include/gentoo/fortify.h" + EOF + + dodir /usr/include/gentoo + + local fortify_level=$(usex hardened 3 2) + # We have to do this because glibc's headers warn if F_S is set + # without optimization and that would at the very least be very noisy + # during builds and at worst trigger many -Werror builds. + cat >> "${ED}/usr/include/gentoo/fortify.h" <<- EOF || die + #ifndef _FORTIFY_SOURCE + # if defined(__has_feature) + # define __GENTOO_HAS_FEATURE(x) __has_feature(x) + # else + # define __GENTOO_HAS_FEATURE(x) 0 + # endif + # + # if defined(__OPTIMIZE__) && __OPTIMIZE__ > 0 + # if !defined(__SANITIZE_ADDRESS__) && !__GENTOO_HAS_FEATURE(address_sanitizer) && !__GENTOO_HAS_FEATURE(memory_sanitizer) + # define _FORTIFY_SOURCE ${fortify_level} + # endif + # endif + # undef __GENTOO_HAS_FEATURE + #endif + EOF + + if use hardened ; then + cat >> "${ED}/etc/clang/gentoo-hardened.cfg" <<-EOF || die + # Options below are conditional on USE=hardened. + -D_GLIBCXX_ASSERTIONS + + # Analogue to GLIBCXX_ASSERTIONS + # https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode + -D_LIBCPP_ENABLE_ASSERTIONS=1 + EOF + fi + + if use stricter; then + newins - gentoo-stricter.cfg <<-EOF + # This file increases the strictness of older clang versions + # to match the newest upstream version. + + # clang-16 defaults + -Werror=implicit-function-declaration + -Werror=implicit-int + -Werror=incompatible-function-pointer-types + + # constructs banned by C2x + -Werror=deprecated-non-prototype + + # deprecated but large blast radius + #-Werror=strict-prototypes + EOF + + cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die + @gentoo-stricter.cfg + EOF + fi + + local tool + for tool in clang{,++,-cpp}; do + newins - "${tool}.cfg" <<-EOF + # This configuration file is used by ${tool} driver. + @gentoo-common.cfg + EOF + done +} + +pkg_preinst() { + if has_version -b sys-devel/gcc-config && has_version sys-devel/gcc + then + local gcc_path=$(gcc-config --get-lib-path 2>/dev/null) + if [[ -n ${gcc_path} ]]; then + cat >> "${ED}/etc/clang/gentoo-gcc-install.cfg" <<-EOF + --gcc-install-dir="${gcc_path%%:*}" + EOF + fi + fi +} diff --git a/sys-devel/clang-common/clang-common-16.0.0_rc4.ebuild b/sys-devel/clang-common/clang-common-16.0.0_rc4.ebuild deleted file mode 100644 index d8624a7c3152..000000000000 --- a/sys-devel/clang-common/clang-common-16.0.0_rc4.ebuild +++ /dev/null @@ -1,168 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit bash-completion-r1 llvm.org - -DESCRIPTION="Common files shared between multiple slots of clang" -HOMEPAGE="https://llvm.org/" - -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" -SLOT="0" -KEYWORDS="~loong" -IUSE=" - default-compiler-rt default-libcxx default-lld llvm-libunwind - hardened stricter -" - -PDEPEND=" - sys-devel/clang:* - default-compiler-rt? ( - sys-devel/clang-runtime[compiler-rt] - llvm-libunwind? ( sys-libs/llvm-libunwind[static-libs] ) - !llvm-libunwind? ( sys-libs/libunwind[static-libs] ) - ) - !default-compiler-rt? ( sys-devel/gcc ) - default-libcxx? ( >=sys-libs/libcxx-${PV} ) - !default-libcxx? ( sys-devel/gcc ) - default-lld? ( sys-devel/lld ) - !default-lld? ( sys-devel/binutils ) -" -IDEPEND=" - !default-compiler-rt? ( sys-devel/gcc-config ) - !default-libcxx? ( sys-devel/gcc-config ) -" - -LLVM_COMPONENTS=( clang/utils ) -llvm.org_set_globals - -pkg_pretend() { - [[ ${CLANG_IGNORE_DEFAULT_RUNTIMES} ]] && return - - local flag missing_flags=() - for flag in default-{compiler-rt,libcxx,lld}; do - if ! use "${flag}" && has_version "sys-devel/clang[${flag}]"; then - missing_flags+=( "${flag}" ) - fi - done - - if [[ ${missing_flags[@]} ]]; then - eerror "It seems that you have the following flags set on sys-devel/clang:" - eerror - eerror " ${missing_flags[*]}" - eerror - eerror "The default runtimes are now set via flags on sys-devel/clang-common." - eerror "The build is being aborted to prevent breakage. Please either set" - eerror "the respective flags on this ebuild, e.g.:" - eerror - eerror " sys-devel/clang-common ${missing_flags[*]}" - eerror - eerror "or build with CLANG_IGNORE_DEFAULT_RUNTIMES=1." - die "Mismatched defaults detected between sys-devel/clang and sys-devel/clang-common" - fi -} - -src_install() { - newbashcomp bash-autocomplete.sh clang - - insinto /etc/clang - newins - gentoo-runtimes.cfg <<-EOF - # This file is initially generated by sys-devel/clang-runtime. - # It is used to control the default runtimes using by clang. - - --rtlib=$(usex default-compiler-rt compiler-rt libgcc) - --unwindlib=$(usex default-compiler-rt libunwind libgcc) - --stdlib=$(usex default-libcxx libc++ libstdc++) - -fuse-ld=$(usex default-lld lld bfd) - EOF - - newins - gentoo-gcc-install.cfg <<-EOF - # This file is maintained by gcc-config. - # It is used to specify the selected GCC installation. - EOF - - newins - gentoo-common.cfg <<-EOF - # This file contains flags common to clang, clang++ and clang-cpp. - @gentoo-runtimes.cfg - @gentoo-gcc-install.cfg - @gentoo-hardened.cfg - EOF - - # Baseline hardening (bug #851111) - newins - gentoo-hardened.cfg <<-EOF - # Some of these options are added unconditionally, regardless of - # USE=hardened, for parity with sys-devel/gcc. - -fstack-clash-protection - -fstack-protector-strong - -fPIE - -include "${EPREFIX}/usr/include/gentoo/fortify.h" - EOF - - dodir /usr/include/gentoo - - local fortify_level=$(usex hardened 3 2) - # We have to do this because glibc's headers warn if F_S is set - # without optimization and that would at the very least be very noisy - # during builds and at worst trigger many -Werror builds. - cat >> "${ED}/usr/include/gentoo/fortify.h" <<- EOF || die - #ifndef _FORTIFY_SOURCE - #if defined(__OPTIMIZE__) && __OPTIMIZE__ > 0 - #define _FORTIFY_SOURCE ${fortify_level} - #endif - #endif - EOF - - if use hardened ; then - cat >> "${ED}/etc/clang/gentoo-hardened.cfg" <<-EOF || die - # Options below are conditional on USE=hardened. - -D_GLIBCXX_ASSERTIONS - - # Analogue to GLIBCXX_ASSERTIONS - # https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode - -D_LIBCPP_ENABLE_ASSERTIONS=1 - EOF - fi - - if use stricter; then - newins - gentoo-stricter.cfg <<-EOF - # This file increases the strictness of older clang versions - # to match the newest upstream version. - - # clang-16 defaults - -Werror=implicit-function-declaration - -Werror=implicit-int - -Werror=incompatible-function-pointer-types - - # constructs banned by C2x - -Werror=deprecated-non-prototype - - # deprecated but large blast radius - #-Werror=strict-prototypes - EOF - - cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die - @gentoo-stricter.cfg - EOF - fi - - local tool - for tool in clang{,++,-cpp}; do - newins - "${tool}.cfg" <<-EOF - # This configuration file is used by ${tool} driver. - @gentoo-common.cfg - EOF - done -} - -pkg_preinst() { - if has_version -b sys-devel/gcc-config && has_version sys-devel/gcc - then - local gcc_path=$(gcc-config --get-lib-path 2>/dev/null) - if [[ -n ${gcc_path} ]]; then - cat >> "${ED}/etc/clang/gentoo-gcc-install.cfg" <<-EOF - --gcc-install-dir="${gcc_path%%:*}" - EOF - fi - fi -} diff --git a/sys-devel/clang-common/clang-common-17.0.0.9999.ebuild b/sys-devel/clang-common/clang-common-17.0.0.9999.ebuild index 3165f42a329f..808c1e1a0ae1 100644 --- a/sys-devel/clang-common/clang-common-17.0.0.9999.ebuild +++ b/sys-devel/clang-common/clang-common-17.0.0.9999.ebuild @@ -106,11 +106,20 @@ src_install() { # without optimization and that would at the very least be very noisy # during builds and at worst trigger many -Werror builds. cat >> "${ED}/usr/include/gentoo/fortify.h" <<- EOF || die - #ifndef _FORTIFY_SOURCE - #if defined(__OPTIMIZE__) && __OPTIMIZE__ > 0 - #define _FORTIFY_SOURCE ${fortify_level} - #endif - #endif + #ifndef _FORTIFY_SOURCE + # if defined(__has_feature) + # define __GENTOO_HAS_FEATURE(x) __has_feature(x) + # else + # define __GENTOO_HAS_FEATURE(x) 0 + # endif + # + # if defined(__OPTIMIZE__) && __OPTIMIZE__ > 0 + # if !defined(__SANITIZE_ADDRESS__) && !__GENTOO_HAS_FEATURE(address_sanitizer) && !__GENTOO_HAS_FEATURE(memory_sanitizer) + # define _FORTIFY_SOURCE ${fortify_level} + # endif + # endif + # undef __GENTOO_HAS_FEATURE + #endif EOF if use hardened ; then diff --git a/sys-devel/clang-common/clang-common-17.0.0_pre20230304-r1.ebuild b/sys-devel/clang-common/clang-common-17.0.0_pre20230304-r1.ebuild new file mode 100644 index 000000000000..808c1e1a0ae1 --- /dev/null +++ b/sys-devel/clang-common/clang-common-17.0.0_pre20230304-r1.ebuild @@ -0,0 +1,177 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 llvm.org + +DESCRIPTION="Common files shared between multiple slots of clang" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +KEYWORDS="" +IUSE=" + default-compiler-rt default-libcxx default-lld llvm-libunwind + hardened stricter +" + +PDEPEND=" + sys-devel/clang:* + default-compiler-rt? ( + sys-devel/clang-runtime[compiler-rt] + llvm-libunwind? ( sys-libs/llvm-libunwind[static-libs] ) + !llvm-libunwind? ( sys-libs/libunwind[static-libs] ) + ) + !default-compiler-rt? ( sys-devel/gcc ) + default-libcxx? ( >=sys-libs/libcxx-${PV} ) + !default-libcxx? ( sys-devel/gcc ) + default-lld? ( sys-devel/lld ) + !default-lld? ( sys-devel/binutils ) +" +IDEPEND=" + !default-compiler-rt? ( sys-devel/gcc-config ) + !default-libcxx? ( sys-devel/gcc-config ) +" + +LLVM_COMPONENTS=( clang/utils ) +llvm.org_set_globals + +pkg_pretend() { + [[ ${CLANG_IGNORE_DEFAULT_RUNTIMES} ]] && return + + local flag missing_flags=() + for flag in default-{compiler-rt,libcxx,lld}; do + if ! use "${flag}" && has_version "sys-devel/clang[${flag}]"; then + missing_flags+=( "${flag}" ) + fi + done + + if [[ ${missing_flags[@]} ]]; then + eerror "It seems that you have the following flags set on sys-devel/clang:" + eerror + eerror " ${missing_flags[*]}" + eerror + eerror "The default runtimes are now set via flags on sys-devel/clang-common." + eerror "The build is being aborted to prevent breakage. Please either set" + eerror "the respective flags on this ebuild, e.g.:" + eerror + eerror " sys-devel/clang-common ${missing_flags[*]}" + eerror + eerror "or build with CLANG_IGNORE_DEFAULT_RUNTIMES=1." + die "Mismatched defaults detected between sys-devel/clang and sys-devel/clang-common" + fi +} + +src_install() { + newbashcomp bash-autocomplete.sh clang + + insinto /etc/clang + newins - gentoo-runtimes.cfg <<-EOF + # This file is initially generated by sys-devel/clang-runtime. + # It is used to control the default runtimes using by clang. + + --rtlib=$(usex default-compiler-rt compiler-rt libgcc) + --unwindlib=$(usex default-compiler-rt libunwind libgcc) + --stdlib=$(usex default-libcxx libc++ libstdc++) + -fuse-ld=$(usex default-lld lld bfd) + EOF + + newins - gentoo-gcc-install.cfg <<-EOF + # This file is maintained by gcc-config. + # It is used to specify the selected GCC installation. + EOF + + newins - gentoo-common.cfg <<-EOF + # This file contains flags common to clang, clang++ and clang-cpp. + @gentoo-runtimes.cfg + @gentoo-gcc-install.cfg + @gentoo-hardened.cfg + EOF + + # Baseline hardening (bug #851111) + newins - gentoo-hardened.cfg <<-EOF + # Some of these options are added unconditionally, regardless of + # USE=hardened, for parity with sys-devel/gcc. + -fstack-clash-protection + -fstack-protector-strong + -fPIE + -include "${EPREFIX}/usr/include/gentoo/fortify.h" + EOF + + dodir /usr/include/gentoo + + local fortify_level=$(usex hardened 3 2) + # We have to do this because glibc's headers warn if F_S is set + # without optimization and that would at the very least be very noisy + # during builds and at worst trigger many -Werror builds. + cat >> "${ED}/usr/include/gentoo/fortify.h" <<- EOF || die + #ifndef _FORTIFY_SOURCE + # if defined(__has_feature) + # define __GENTOO_HAS_FEATURE(x) __has_feature(x) + # else + # define __GENTOO_HAS_FEATURE(x) 0 + # endif + # + # if defined(__OPTIMIZE__) && __OPTIMIZE__ > 0 + # if !defined(__SANITIZE_ADDRESS__) && !__GENTOO_HAS_FEATURE(address_sanitizer) && !__GENTOO_HAS_FEATURE(memory_sanitizer) + # define _FORTIFY_SOURCE ${fortify_level} + # endif + # endif + # undef __GENTOO_HAS_FEATURE + #endif + EOF + + if use hardened ; then + cat >> "${ED}/etc/clang/gentoo-hardened.cfg" <<-EOF || die + # Options below are conditional on USE=hardened. + -D_GLIBCXX_ASSERTIONS + + # Analogue to GLIBCXX_ASSERTIONS + # https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode + -D_LIBCPP_ENABLE_ASSERTIONS=1 + EOF + fi + + if use stricter; then + newins - gentoo-stricter.cfg <<-EOF + # This file increases the strictness of older clang versions + # to match the newest upstream version. + + # clang-16 defaults + -Werror=implicit-function-declaration + -Werror=implicit-int + -Werror=incompatible-function-pointer-types + + # constructs banned by C2x + -Werror=deprecated-non-prototype + + # deprecated but large blast radius + #-Werror=strict-prototypes + EOF + + cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die + @gentoo-stricter.cfg + EOF + fi + + local tool + for tool in clang{,++,-cpp}; do + newins - "${tool}.cfg" <<-EOF + # This configuration file is used by ${tool} driver. + @gentoo-common.cfg + EOF + done +} + +pkg_preinst() { + if has_version -b sys-devel/gcc-config && has_version sys-devel/gcc + then + local gcc_path=$(gcc-config --get-lib-path 2>/dev/null) + if [[ -n ${gcc_path} ]]; then + cat >> "${ED}/etc/clang/gentoo-gcc-install.cfg" <<-EOF + --gcc-install-dir="${gcc_path%%:*}" + EOF + fi + fi +} diff --git a/sys-devel/clang-common/clang-common-17.0.0_pre20230304.ebuild b/sys-devel/clang-common/clang-common-17.0.0_pre20230304.ebuild deleted file mode 100644 index 3165f42a329f..000000000000 --- a/sys-devel/clang-common/clang-common-17.0.0_pre20230304.ebuild +++ /dev/null @@ -1,168 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit bash-completion-r1 llvm.org - -DESCRIPTION="Common files shared between multiple slots of clang" -HOMEPAGE="https://llvm.org/" - -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" -SLOT="0" -KEYWORDS="" -IUSE=" - default-compiler-rt default-libcxx default-lld llvm-libunwind - hardened stricter -" - -PDEPEND=" - sys-devel/clang:* - default-compiler-rt? ( - sys-devel/clang-runtime[compiler-rt] - llvm-libunwind? ( sys-libs/llvm-libunwind[static-libs] ) - !llvm-libunwind? ( sys-libs/libunwind[static-libs] ) - ) - !default-compiler-rt? ( sys-devel/gcc ) - default-libcxx? ( >=sys-libs/libcxx-${PV} ) - !default-libcxx? ( sys-devel/gcc ) - default-lld? ( sys-devel/lld ) - !default-lld? ( sys-devel/binutils ) -" -IDEPEND=" - !default-compiler-rt? ( sys-devel/gcc-config ) - !default-libcxx? ( sys-devel/gcc-config ) -" - -LLVM_COMPONENTS=( clang/utils ) -llvm.org_set_globals - -pkg_pretend() { - [[ ${CLANG_IGNORE_DEFAULT_RUNTIMES} ]] && return - - local flag missing_flags=() - for flag in default-{compiler-rt,libcxx,lld}; do - if ! use "${flag}" && has_version "sys-devel/clang[${flag}]"; then - missing_flags+=( "${flag}" ) - fi - done - - if [[ ${missing_flags[@]} ]]; then - eerror "It seems that you have the following flags set on sys-devel/clang:" - eerror - eerror " ${missing_flags[*]}" - eerror - eerror "The default runtimes are now set via flags on sys-devel/clang-common." - eerror "The build is being aborted to prevent breakage. Please either set" - eerror "the respective flags on this ebuild, e.g.:" - eerror - eerror " sys-devel/clang-common ${missing_flags[*]}" - eerror - eerror "or build with CLANG_IGNORE_DEFAULT_RUNTIMES=1." - die "Mismatched defaults detected between sys-devel/clang and sys-devel/clang-common" - fi -} - -src_install() { - newbashcomp bash-autocomplete.sh clang - - insinto /etc/clang - newins - gentoo-runtimes.cfg <<-EOF - # This file is initially generated by sys-devel/clang-runtime. - # It is used to control the default runtimes using by clang. - - --rtlib=$(usex default-compiler-rt compiler-rt libgcc) - --unwindlib=$(usex default-compiler-rt libunwind libgcc) - --stdlib=$(usex default-libcxx libc++ libstdc++) - -fuse-ld=$(usex default-lld lld bfd) - EOF - - newins - gentoo-gcc-install.cfg <<-EOF - # This file is maintained by gcc-config. - # It is used to specify the selected GCC installation. - EOF - - newins - gentoo-common.cfg <<-EOF - # This file contains flags common to clang, clang++ and clang-cpp. - @gentoo-runtimes.cfg - @gentoo-gcc-install.cfg - @gentoo-hardened.cfg - EOF - - # Baseline hardening (bug #851111) - newins - gentoo-hardened.cfg <<-EOF - # Some of these options are added unconditionally, regardless of - # USE=hardened, for parity with sys-devel/gcc. - -fstack-clash-protection - -fstack-protector-strong - -fPIE - -include "${EPREFIX}/usr/include/gentoo/fortify.h" - EOF - - dodir /usr/include/gentoo - - local fortify_level=$(usex hardened 3 2) - # We have to do this because glibc's headers warn if F_S is set - # without optimization and that would at the very least be very noisy - # during builds and at worst trigger many -Werror builds. - cat >> "${ED}/usr/include/gentoo/fortify.h" <<- EOF || die - #ifndef _FORTIFY_SOURCE - #if defined(__OPTIMIZE__) && __OPTIMIZE__ > 0 - #define _FORTIFY_SOURCE ${fortify_level} - #endif - #endif - EOF - - if use hardened ; then - cat >> "${ED}/etc/clang/gentoo-hardened.cfg" <<-EOF || die - # Options below are conditional on USE=hardened. - -D_GLIBCXX_ASSERTIONS - - # Analogue to GLIBCXX_ASSERTIONS - # https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode - -D_LIBCPP_ENABLE_ASSERTIONS=1 - EOF - fi - - if use stricter; then - newins - gentoo-stricter.cfg <<-EOF - # This file increases the strictness of older clang versions - # to match the newest upstream version. - - # clang-16 defaults - -Werror=implicit-function-declaration - -Werror=implicit-int - -Werror=incompatible-function-pointer-types - - # constructs banned by C2x - -Werror=deprecated-non-prototype - - # deprecated but large blast radius - #-Werror=strict-prototypes - EOF - - cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die - @gentoo-stricter.cfg - EOF - fi - - local tool - for tool in clang{,++,-cpp}; do - newins - "${tool}.cfg" <<-EOF - # This configuration file is used by ${tool} driver. - @gentoo-common.cfg - EOF - done -} - -pkg_preinst() { - if has_version -b sys-devel/gcc-config && has_version sys-devel/gcc - then - local gcc_path=$(gcc-config --get-lib-path 2>/dev/null) - if [[ -n ${gcc_path} ]]; then - cat >> "${ED}/etc/clang/gentoo-gcc-install.cfg" <<-EOF - --gcc-install-dir="${gcc_path%%:*}" - EOF - fi - fi -} diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index 1cebf5f1a2b7..f9b676733085 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -24,12 +24,14 @@ DIST gcc-12.2.0-musl-patches-7.tar.xz 3652 BLAKE2B 295ea907efea854a3c2447d472bed DIST gcc-12.2.0-patches-1.tar.xz 12864 BLAKE2B a5ae0a85dfc1b6f0bd968f0d5262ebed14ec9cdb3249e3a4c571578c54eda0e53708ee7fe8e03e506366c7f3cf7926eced9b390d9dee948c1249298c0fabd9fb SHA512 f3d793b89a2a0385d596162fb0c653d4acdf21ae418cb792c1786a01fde0391bd0719715dbf07d53636f127168f5cd99108a1dc11cf6cea889b7d82385bcc258 DIST gcc-12.2.0-patches-10.tar.xz 14252 BLAKE2B 99368db982227728a6a9e2b1f694999f041f38db4a3806b6a740c86218735f9b561197bc150423a3caad0b5fd335c95d1aca130a519754423cd44a083e655373 SHA512 f7f0d8185e908926046f579793dba5916dc27392b85bfe50a7e70c213c3ba29479dfdb1b27514765b76bc897c4dbb530680e59c4deca7a245a808ed566120e4c DIST gcc-12.2.0-patches-13.tar.xz 13756 BLAKE2B df0388a669458f2991951d2f4027badbff3f802e6a0422478206b5cdda76e70b531a474d2ac42817e9e7f8200e9ac35ca8276af539839b4ebb2e22903ec25a23 SHA512 2970de9d2806d59c5d0f77e66000860c816ebd674489db8114f48f6aa11575644154431480222580b520b9e312647b06f94ab38959a49a8cda818158d6babf1d +DIST gcc-12.2.0-patches-14.tar.xz 13752 BLAKE2B c44609a8a3a96480f144b7e6859c2b1d7105f421ffa08929c35fc13eb5ec11d967b02cf8248ecb4ea85824b1872125a73c92f404050c3399d5c06fe668711fd3 SHA512 c1db7a7f3a929dfdc8de9a662448f57296ab818b9fd133763b2ab0dddce2e01cf322e5ac53f3d69c2366053ef3c4fa44c72eed248dc7aeef49f558341bdd3854 DIST gcc-12.2.0.tar.xz 84645292 BLAKE2B 715574af9ad678f9dc8cfd19c866bf910c7edfd479e7e9681337feaa9b54e5d304ddb85483816b8d89754d502405823ae2eff0d1e444538763f40be8e428d8da SHA512 e9e857bd81bf7a370307d6848c81b2f5403db8c7b5207f54bce3f3faac3bde63445684092c2bc1a2427cddb6f7746496d9fbbef05fbbd77f2810b2998f1f9173 DIST gcc-13-20230226.tar.xz 84264388 BLAKE2B fea763a1627bff19eb0f7869b83c00337dc2a203178d17143c98c2c1d3fd385d2f853f195ff79ecc1cae659a1f8704c88e7fd77456eed4510bdcba7631e49353 SHA512 38de82dd54e1b57490f5492a4adcd05b9da3ace2235654dff19bade8d378e75be1495f3b2b4e7f7e57ea144351c4ade1e9a5b141546259024f0359f43b2025ac DIST gcc-13-20230305.tar.xz 84314220 BLAKE2B cf4971cddea6981e3dfb62dd7d69b85b85df0a137e0596f71530966186f2919e800e60b6712b1d676b4250e835db8601af5376a77dad82fff7b1d9faae012da8 SHA512 39320f90bcdc2d8f5cefa2c8ac551d7a6f0d20744cdff5ed8956321d6b0813bbc44d18266bf7bb7ebbe642078a6d9677216e6db939dd56186959e5454d7d3a85 DIST gcc-13-20230312.tar.xz 84361832 BLAKE2B 4099036d7224cbdb9cfd8fb454201a80f76ea9569d8625d4cedc14ed30caf0a4b88a60b5f9fff12001a19a928909489609da3634c109e457f9b6dedcd20a947d SHA512 7513ebdbe9e6116658c4bafdc71f122cae3cf7233b91402bc1d05fe1fec0ff036ed613b1db3af2b235fc153c862f428cd297da6ba0e6e81e1e7962fa0550e01e DIST gcc-13.1.0-musl-patches-1.tar.xz 3528 BLAKE2B c572ab4a0fb929b16ec36b3a3616cdcccd62f7ee27ded8077008b9beb50539db64cc251ff8a3eade54e8ebfe1012f8f32d0802379bf8ffb0f1b8ce7c8457da37 SHA512 ffb7dfa54a9d23b5333664e915efd9f18a43cd696f4ff5669a8b072a0e9cf4978de53e315123542441a2533e4f269de0bb7d90ee7a37d3a7517b7cda6ea06681 DIST gcc-13.1.0-patches-8.tar.xz 11644 BLAKE2B aaa135a7d22badc22eeba42fe92c2de40e1a779836f42b5ba15884ad3d756020421b99e29b9a27f40368013fb9d8348e3ca1ef3541a6de55129d66f4645caf8f SHA512 a71ef0f215451c840a99d7100489e8364e4e7a71d83e9be42e35fb06d4276afadb64834801ef3469a4edb78eede5a03c18104215fef3039f98da3b3d0c8e69af +DIST gcc-13.1.0-patches-9.tar.xz 11720 BLAKE2B c26a2924fa8aab318a1f4a4974ca4aeba255f3605fa0cbf448a4e48b6f3e9359012aeae15726299059257b93043c5cdd86bf1b2f2fffd4b9a096ab411a0503ba SHA512 98e48abaa664ea18bf00ba7bdb29cc1e908cc55ba9d12d52061e86fc917753ade8e38a190c04d23c63102808ac5a9e8ecf085dcc29a1568a329ceb5d43cf0290 DIST gcc-8.5.0-patches-4.tar.xz 18616 BLAKE2B 7594cbaea5daecf1a0b3d526c06aeba0a84c6da66aee2e105a51fda6be8d30a37ccc3814281b284a4582d892a1d556bca063551584edfc2525bed8ea5b6888e7 SHA512 1aa5742c361186637e7855f06feb1a4547e7d4d5de6e51f3d049e0ef3c19e2eff179465f52781739f59422035b7f8e4c0efa3844849f920f3c96acfdc37ca6a6 DIST gcc-8.5.0.tar.xz 63841008 BLAKE2B aa81a1a730fd7371360f6abed6ba78b5843fd18c58d5de5687acc320741b9e430e85df3535a1ef7a26051409be8d2f0945f503e5968480d919103123a99d4b12 SHA512 92f599680e6b7fbce88bcdda810f468777d541e5fddfbb287f7977d51093de2a5178bd0e6a08dfe37090ea10a0508a43ccd00220041abbbec33f1179bfc174d8 DIST gcc-9.5.0-patches-2.tar.xz 14324 BLAKE2B 1d3bf3e673108ad2fcdcb86daefb4603d1c9f6aa815e34d1591054d466b76d6f50cce124ab4760528c4951ea16eb00888a3e6485417f81ebf250548732df4a8e SHA512 a6d6f650aaf0bd193a17ac279649f0544a282cea295824384c59341c3000eac4b574b60e00dd427585d928f9768166abf85168b47772132790ad98854acacbbf @@ -47,12 +49,12 @@ EBUILD gcc-11.4.9999.ebuild 1267 BLAKE2B 09a26812068945e11164d0a4f8f5cc10dc261a2 EBUILD gcc-12.2.0.ebuild 1434 BLAKE2B 6d074d9c9e2bc3ea20812064a12dbfe53a597e841f32de9a1153e4a0221c0dd66018451fea7c8780fc93370e6c0afeac5dd9539b7a49bf1344fd6ca21f7e8729 SHA512 bff836355012cdae58e473c90b93c9cb9d627c899cd2a9843156d7270029c37dff8d9ba6f12ce304b78fa58ec7d1bdfffb4420d66331bab206b7862251fd17c6 EBUILD gcc-12.2.1_p20230121-r1.ebuild 1429 BLAKE2B ff9a7a13e5c5fc57defe20f2cb0c08a679eb34007e780694b7d3ae03e630c7ab8ec419d9aee3239042ec32f07829b0b0e0a2252b23880c6d3221d9ac28343121 SHA512 a888e5184edc997ced6ccd751bc0ad36c2f438042cb4f59e2d9ba0d9949d4609f81d674d03d8ca8be8c86004e5e1a6a627498eaba534d343bbb17edce09ab61c EBUILD gcc-12.2.1_p20230304.ebuild 1435 BLAKE2B 463c67567e8f2b1a480036dc5e0507418470f47898134cc2d45b88cf508d0953c0df5355651e4a52c8b312a3ae1951fa185a12c700d9c77e8e017db9e42e1955 SHA512 9d53d088c9f04dbf54d1c7652e9f0282ee7d0cf54b9a710fd1ce471b15963851fb729bca61d73ac735af0d9e83e38b3811609a21f4af3a7e8c30f116cb07c90f -EBUILD gcc-12.2.1_p20230311.ebuild 1438 BLAKE2B 7bb9b18ec1d12eee06f28b76b106e29605c19e6026c18d8bd784fc05cb4a7a3443eb1a04a6c04c2bdda96a8dd0e8afa859082aef29aeb49b13f451ab941788fb SHA512 b6b61b818e4ffd1012c860fe413b9d3437a163d2797b7d1d83a9632cd035db8fb2a976db018356f24b0eb82f52de9297ce9d8b642dae3db04a70bfb3eaef1e65 +EBUILD gcc-12.2.1_p20230311-r1.ebuild 1438 BLAKE2B c6ded0f0fb07a0f6498edeae751caeb11bab8cfdd842944c117a1fb8bfb5f6d6f98947ecbf9dbf7f797c8630516cd32e1c55f8be72e6e3b71a9456a4d0e0eaec SHA512 6fb6a42195d04dd46b7d6a5a3e3180d907394f662310506a7b31e589095dea29af832c0f084324434b822ee0368ad6790270db3ccec775338c14ebef647fcf19 EBUILD gcc-12.3.9999.ebuild 1545 BLAKE2B 78fdc4a7b20d22bba137cba00e49d2249c5616bf1c4cf619162da1d98c750fb3da71fbb1cd4e136624cc4e0a112547e6c4c29992aa58ab12507917c7d728831a SHA512 f3562696a79035e64b8e79cee720fe24c7041bf922d79e5cff1ae864a533997995465d0871bfc4f87f6d5a66e7f8ac02c490792554a0628ae30d96a061ef9279 EBUILD gcc-13.0.1.9999.ebuild 1252 BLAKE2B e8feaecedb676e0ddce69ec0e7fc5e944d8df870ba897a2e495781a0a860c972b013667ffc3b83a2e4da97cd1e8ce69b93fb3d212d5cd9af2fc8e5e3d799f3d1 SHA512 ba91dd930efdbd01f57a95f70e5e9e12fa9e7e1254d574239ecdf0b54d20515ede1df6dffa9772ef590c128fe852e378ae7e2c56d2f8f88db344675b7cc7ab45 EBUILD gcc-13.0.1_pre20230226.ebuild 1299 BLAKE2B 636e7cbe0eb844ad4cd92b20a4e1e7747d4dc05e90aa043a410077c99593cb92cb8d0c6d226cfb3819223954d1ea9344fb50e385142daa790c26ead4de4c1628 SHA512 d1cbd97fe9362c44aa81679a4267bde19030dcea0e0303063c998f8b6e7d7ff4eec3538313dbcb4c4636ce5a577f563f7a2c67141caa02b89d07b17dbce0324a EBUILD gcc-13.0.1_pre20230305.ebuild 1299 BLAKE2B 636e7cbe0eb844ad4cd92b20a4e1e7747d4dc05e90aa043a410077c99593cb92cb8d0c6d226cfb3819223954d1ea9344fb50e385142daa790c26ead4de4c1628 SHA512 d1cbd97fe9362c44aa81679a4267bde19030dcea0e0303063c998f8b6e7d7ff4eec3538313dbcb4c4636ce5a577f563f7a2c67141caa02b89d07b17dbce0324a -EBUILD gcc-13.0.1_pre20230312.ebuild 1299 BLAKE2B 636e7cbe0eb844ad4cd92b20a4e1e7747d4dc05e90aa043a410077c99593cb92cb8d0c6d226cfb3819223954d1ea9344fb50e385142daa790c26ead4de4c1628 SHA512 d1cbd97fe9362c44aa81679a4267bde19030dcea0e0303063c998f8b6e7d7ff4eec3538313dbcb4c4636ce5a577f563f7a2c67141caa02b89d07b17dbce0324a +EBUILD gcc-13.0.1_pre20230312-r1.ebuild 1299 BLAKE2B 4211ad6c7af79a5be1b6d465f28c5a68538f5c0b4b5bc635c6d8d02d793110f56aa86389c271e297e27ba9ed952fccb78df2ecdf6d675c46774f9e41e4551d2c SHA512 b9c3e60ccf632992a2f850b74663b40ca2280aa2017e25924c00881338656edb288d4ab92d98bb0e33e45dcbb50ef3d65db61d27c4b1dfa79ad7d5b73c452065 EBUILD gcc-8.5.0-r1.ebuild 498 BLAKE2B e24f62fdb50bf2e9957cbb85c72adc96d369938a7f552735772de964f7023b8b34bd11e7e544d268cc308e25272084a728bd061f37c568d42ea65d55bb2a2e93 SHA512 f35b353e9f54eb3e1c6f8e0ea262458b41da9bddb993793aff79f765c4d93811744979d34e50c6470a9b2cfb63b7006bd284d819b7a98e56a8b3a34ae570ae76 EBUILD gcc-9.5.0.ebuild 844 BLAKE2B 719c259a6f39c72f7d1748095a9e649d4ab3dde04b118125313ab9b915eb9cbd038592532185317080dbc46d73a8bd324b498462db73b12d23144cd58378dd9c SHA512 1ed19c79239d155be3b267fcad4d7230821406ba8fb2c11857168fc0e717c4edcd8d7fb0972bc6df0fbcfbd8a9f085aa023f452368278c0e7e0af014c1124d89 MISC metadata.xml 4885 BLAKE2B 2029ff68e73fa6d97abb5d03df8efbfd03b2145ad6ced9ca7a048d48d16e5f50e12448b9d0343f8d22262dccdf4c7c4fb2554b1894a13eddc502924f9ad70220 SHA512 9c22fba4bcdb7ac3f1e8a6a36903e940f9b53c284b446e240cf3bf51590efe8af0b9219688693dad233bf8593dd306b85af9c18fb9ef253a8e3413e3b926fd9e diff --git a/sys-devel/gcc/gcc-12.2.1_p20230311-r1.ebuild b/sys-devel/gcc/gcc-12.2.1_p20230311-r1.ebuild new file mode 100644 index 000000000000..cb82e2228437 --- /dev/null +++ b/sys-devel/gcc/gcc-12.2.1_p20230311-r1.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_DEV="sam" +PATCH_VER="14" +PATCH_GCC_VER="12.2.0" +MUSL_VER="7" +MUSL_GCC_VER="12.2.0" + +if [[ $(ver_cut 3) == 9999 ]] ; then + MY_PV_2=$(ver_cut 2) + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + else + MY_PV_2=$(($(ver_cut 2) - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.$(($(ver_cut 3) - 9998)) +elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="https://gcc.gnu.org/pub/gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +# Needs to be after inherit (for now?), bug #830908 +EGIT_BRANCH=releases/gcc-$(ver_cut 1) + +# Don't keyword live ebuilds +#if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then +# KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +#fi + +# Technically only if USE=hardened *too* right now, but no point in complicating it further. +# If GCC is enabling CET by default, we need glibc to be built with support for it. +# bug #830454 +RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" +DEPEND="${RDEPEND}" +BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]" + +src_prepare() { + toolchain_src_prepare + + eapply_user +} diff --git a/sys-devel/gcc/gcc-12.2.1_p20230311.ebuild b/sys-devel/gcc/gcc-12.2.1_p20230311.ebuild deleted file mode 100644 index 3a7a472a2f2f..000000000000 --- a/sys-devel/gcc/gcc-12.2.1_p20230311.ebuild +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -TOOLCHAIN_PATCH_DEV="sam" -PATCH_VER="13" -PATCH_GCC_VER="12.2.0" -MUSL_VER="7" -MUSL_GCC_VER="12.2.0" - -if [[ $(ver_cut 3) == 9999 ]] ; then - MY_PV_2=$(ver_cut 2) - if [[ ${MY_PV_2} == 0 ]] ; then - MY_PV_2=0 - else - MY_PV_2=$(($(ver_cut 2) - 1)) - fi - - # e.g. 12.2.9999 -> 12.1.1 - TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.$(($(ver_cut 3) - 9998)) -elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then - # Cheesy hack for RCs - MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) - MY_P=${PN}-${MY_PV} - GCC_TARBALL_SRC_URI="https://gcc.gnu.org/pub/gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" - TOOLCHAIN_SET_S=no - S="${WORKDIR}"/${MY_P} -fi - -inherit toolchain - -# Needs to be after inherit (for now?), bug #830908 -EGIT_BRANCH=releases/gcc-$(ver_cut 1) - -# Don't keyword live ebuilds -#if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then -# KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -#fi - -# Technically only if USE=hardened *too* right now, but no point in complicating it further. -# If GCC is enabling CET by default, we need glibc to be built with support for it. -# bug #830454 -RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" -DEPEND="${RDEPEND}" -BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]" - -src_prepare() { - toolchain_src_prepare - - eapply_user -} diff --git a/sys-devel/gcc/gcc-13.0.1_pre20230312-r1.ebuild b/sys-devel/gcc/gcc-13.0.1_pre20230312-r1.ebuild new file mode 100644 index 000000000000..1f65b8ba8aab --- /dev/null +++ b/sys-devel/gcc/gcc-13.0.1_pre20230312-r1.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TOOLCHAIN_PATCH_DEV="sam" +PATCH_VER="9" +PATCH_GCC_VER="13.1.0" +MUSL_VER="1" +MUSL_GCC_VER="13.1.0" + +if [[ $(ver_cut 3) == 9999 ]] ; then + MY_PV_2=$(ver_cut 2) + MY_PV_3=$(($(ver_cut 3) - 9998)) + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + MY_PV_3=0 + else + MY_PV_2=$(($(ver_cut 2) - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3} +fi + +inherit toolchain +# Needs to be after inherit (for now?), bug #830908 +EGIT_BRANCH=master + +# Don't keyword live ebuilds +if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then +# KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~loong" +fi + +# Technically only if USE=hardened *too* right now, but no point in complicating it further. +# If GCC is enabling CET by default, we need glibc to be built with support for it. +# bug #830454 +RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" +DEPEND="${RDEPEND}" +BDEPEND="${CATEGORY}/binutils[cet(-)?]" + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply_user +} diff --git a/sys-devel/gcc/gcc-13.0.1_pre20230312.ebuild b/sys-devel/gcc/gcc-13.0.1_pre20230312.ebuild deleted file mode 100644 index 6b843430b057..000000000000 --- a/sys-devel/gcc/gcc-13.0.1_pre20230312.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -TOOLCHAIN_PATCH_DEV="sam" -PATCH_VER="8" -PATCH_GCC_VER="13.1.0" -MUSL_VER="1" -MUSL_GCC_VER="13.1.0" - -if [[ $(ver_cut 3) == 9999 ]] ; then - MY_PV_2=$(ver_cut 2) - MY_PV_3=$(($(ver_cut 3) - 9998)) - if [[ ${MY_PV_2} == 0 ]] ; then - MY_PV_2=0 - MY_PV_3=0 - else - MY_PV_2=$(($(ver_cut 2) - 1)) - fi - - # e.g. 12.2.9999 -> 12.1.1 - TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3} -fi - -inherit toolchain -# Needs to be after inherit (for now?), bug #830908 -EGIT_BRANCH=master - -# Don't keyword live ebuilds -if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then -# KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - KEYWORDS="~loong" -fi - -# Technically only if USE=hardened *too* right now, but no point in complicating it further. -# If GCC is enabling CET by default, we need glibc to be built with support for it. -# bug #830454 -RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" -DEPEND="${RDEPEND}" -BDEPEND="${CATEGORY}/binutils[cet(-)?]" - -src_prepare() { - local p upstreamed_patches=( - # add them here - ) - for p in "${upstreamed_patches[@]}"; do - rm -v "${WORKDIR}/patch/${p}" || die - done - - toolchain_src_prepare - - eapply_user -} -- cgit v1.2.3