diff options
Diffstat (limited to 'sys-devel/llvm')
-rw-r--r-- | sys-devel/llvm/Manifest | 15 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-10.0.1.ebuild | 7 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-11.0.0.ebuild | 9 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-11.0.1.9999.ebuild (renamed from sys-devel/llvm/llvm-11.0.0.9999.ebuild) | 14 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-11.0.1_rc1.ebuild (renamed from sys-devel/llvm/llvm-10.0.0.ebuild) | 184 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-12.0.0.9999.ebuild | 14 | ||||
-rw-r--r-- | sys-devel/llvm/llvm-9.0.1.ebuild | 7 |
7 files changed, 156 insertions, 94 deletions
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest index 8fac45f0da44..ed7852cd35f3 100644 --- a/sys-devel/llvm/Manifest +++ b/sys-devel/llvm/Manifest @@ -3,18 +3,17 @@ AUX 10.0.1/0002-llvm-Disable-linking-llvm-exegesis-to-dylib.patch 983 BLAKE2B af AUX 11.0.0/0001-backport-D88371-guard-find_library-tensorflow_c_api.patch 2450 BLAKE2B b070b1b90e63eda30caceda63076f44e7d72c41567b28f56ccaebffbb7b832cac72c2d444007988f5e535173eb961ba23b56d6e50a8bcbe18dbcf751527cb876 SHA512 c10f7fff5f951ef17a77c25ec85072e06a1cd672720cf2a3a5c72102f0968ee2123bf02fdcd5df41b7832564891ace6dd58ce5370c42f6be5e52c72780f2abfa AUX 9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch 1188 BLAKE2B 72311a8da991b9f3b98523baefe6f5b31aa7f9101c388f35484dd5f384a08e838ea42a17447ca17a0dfe6b7d3c20abbdf0e8afee72e8ad5d46ec38b8d55307c8 SHA512 0ada997db2a0eb875105fb212dc3fc3077b9c4f7804d78c33c4b1f512bf1267295f325153ae14c00404c86e576ae1c78a6aeb0a57d1d4525aabd1169c21806ef AUX 9999/musl-fixes.patch 1258 BLAKE2B fe275412bc908884239ea71de9a9ddf1d2f64debaa1a9ada18170195a7775c41571600ed3666343bf967aff5f9117900f73155f60de5077bc4584cfc2f782f53 SHA512 314dcbe846a66312c9f1634f4ff3f4670b3db1d3210bb550f1d3877a423333ba042da2e90c8736918a36be4d4faf58dab8d3236d4f26df5af7f7f019b0e0ec8f -DIST llvm-10.0.0-manpages.tar.bz2 177084 BLAKE2B 16b38e60fce4d67ac602b317ea7089c095d46b9426ba9940041e65d7ab493f85dba2e94a4aeba7b7c52042f23825efcfcd32a57d306aaf05b4307061a5a8a368 SHA512 eac57ad218ff4c2b5a74e453a29192ee6e911152b668d8a9420b59529d5cae8aa241f2485b4a7ea304acbecc7ecb27391a77552080726432c2b7b59b95fc0bd7 DIST llvm-10.0.1-manpages.tar.bz2 180157 BLAKE2B ddf5951c8f5a2a8a80726fd713e6c818c852851a2261e904b484afdb67ac55f2ce10976ca2ca5d81fe2bf4806a72cc7b59f4068741306491a4f39065ca8fb56e SHA512 d3c2470dbd0f3143d64b380f7534ebcacdcf4bc4f140a6014283150007fe615ebd86247cf13b2432165a681614849e8eaab69a8d077f7a51e4e040e28ed33ebc DIST llvm-11.0.0-manpages.tar.bz2 179592 BLAKE2B d03dff5e7426f4c648d6112dee0fa7a91edf41584290c94c3f738fc65fa82fc6ef47b49c245fb0e741bdf267fc64534311194c476ece4b447649ba2250e61430 SHA512 1cf598f50c99a85a35b03398e4768cd1eafec9d602f788d401120adb91b3b59965216ed7102da26b7c2af7e1bbca4bca8f1d43bb687fcd8ed418e2f7076bdce4 DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764 -DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0 DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151 DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2 +DIST llvmorg-11.0.1-rc1.tar.gz 122777435 BLAKE2B 23b520d33cf4b641027ee52bb10c6171d60356c9167d5b94012929e6e547c526cda1a6177c295ed19592dfb83b020f63b2cef4cabc70ce9a2a8e098fe654a3cd SHA512 605c7bbff1610f335be8ea4f1204df797fed21185a54c77565f6ff2d00794d1967e9c5fab7c87633e242f2f999bdffb76da83f756d261c1ca476114599409ae1 DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59 -EBUILD llvm-10.0.0.ebuild 10751 BLAKE2B 338970325836138a0214d3e97e1b408b466052abe7bda4815edcb41e3b998a7b9df26bcf2caf457ee8b66d997b383a0f94a196a580671db4b5288b8522e48bb5 SHA512 c588a1cce4e950bdbd189ad0f44c1b9377adc5bdf041a1da4872cc2d629d79f73132f1776cee09d8e08cd799aa7bc0473915d3a3644606e3cc26f5329b533194 -EBUILD llvm-10.0.1.ebuild 11955 BLAKE2B df1609d90f64fe1ff969af18adf18aee99ef3ddc947ee7ebc1c247e0bedc38f39cc46498841bd3fb85378329ef05f5dfa32a522c6549313d27a7f177680ad1c4 SHA512 6385e8501f927a7015298d75e472949470c58b39e35ba8cf6d264662942b714235913c49b9c37f17ce9835c220b64dbea961716bf57b62ebcc8edbb9f46f6acc -EBUILD llvm-11.0.0.9999.ebuild 12629 BLAKE2B 2af00259c1df990169c614e689007cfea6cb877a9df06b64255c8fde48e9f750b1744918dae483730a40a0152edf99c2bbc72101a2920f19202e2d1f95fe9bc2 SHA512 5e086dda86d65e34ab9528ac2d04945a22aeb359a24c11e9b2a9d4f0862e10c879d2e1bc4e99cf3e650f1685d8c1ddf5a066fb167c880d005fc71670bb89641a -EBUILD llvm-11.0.0.ebuild 12904 BLAKE2B f3f6bb06293efb2ab541e17d3051266a551c665f525a41d29733c8977d823dfded4e11fcac963d3302013795539f9774376c5c0f784d5e1ebbf3748cac698e8a SHA512 776abfb031174677a2a6bc36c82af074c2c38c5387af578ca6cd716f8d8a4ad8478a4ffce096dcf0ca18b30cb8231a5df2db35e7b7139efb65e06cb108b1d1fe -EBUILD llvm-12.0.0.9999.ebuild 12718 BLAKE2B 496526527ec7cc5aea590e45a6d38800da60d446f54568a164465cc184e22e07653e745220d2271ef0d9cacdcad08404a5a5aee153086e6aa99e6022607b5087 SHA512 6091649ca4fc3864f5f3dfefc1fa5d74a539b314775d1da22c8505eafe22c40496b84919b0169de0c85e0fa2a954a98e46f09688c9d8855c3437a6ffd75e00d7 -EBUILD llvm-9.0.1.ebuild 8454 BLAKE2B 33b4c7bdf4bc136d29f3f6f505799b11de31d33e393b51c9bafb121b0b8b347e86a5954ba6ba039cd6b39cb7c1a501d4747f51652351559c42ba0b84c4bae54b SHA512 f43a600265c1559e924a6f2ec97dffdacfae35df2cc3e3e874704c5ae179ba48d90fdd666411cdab500d171fa63b557538282545c7c4078867857e077c941a4c +EBUILD llvm-10.0.1.ebuild 11900 BLAKE2B 069cd18c06aeb6a52f32736bbfe8bd7f9af7050e16298b5653b1b02c326255c41385ab6047052adc2b4c4efd44ccd61ffd20dde8160f48265e1500280612b018 SHA512 576336d3cef1257bf7ae1577d47fd3dc354b9e9d174ff5c75c055f1c306f110fc42313e235caf008308699a66820d1e67de7da3776d40fec3a9e0337f94d0c1f +EBUILD llvm-11.0.0.ebuild 12856 BLAKE2B 15e4f40259f637a12a67bff0ed1c76c9e80547304370f48a31c00abe73b74a65d34e63b606e43b91e3bae87ac45c0804128bfc1946899b3f1685f7e6cd6296e4 SHA512 4d0cb037ec5919f3a0a3b56e3c59b7e16a5d0c1284908a709cb08faf2cdbbed9c6fbd3d77e59103938614ec7471293043c6dbe80a842ea03ae5c02538dfac4b5 +EBUILD llvm-11.0.1.9999.ebuild 12575 BLAKE2B 12f9dbad338a4b0cd05c8fcddb5da262802da300aae463b2b2ab9f64f96c4cd0d37d4bc9ea69a9f00f71373d807f67e871456a7a069b1812d045c240674f1249 SHA512 a383cfb2901dcdebb49f5451e462168bd0c1991205d6d52d7cff950168ec7ac20bde2e3cc4cd8cdf8004dabcd8ff4fc7f4bb036409c62046279497aaa3074b5b +EBUILD llvm-11.0.1_rc1.ebuild 12575 BLAKE2B 12f9dbad338a4b0cd05c8fcddb5da262802da300aae463b2b2ab9f64f96c4cd0d37d4bc9ea69a9f00f71373d807f67e871456a7a069b1812d045c240674f1249 SHA512 a383cfb2901dcdebb49f5451e462168bd0c1991205d6d52d7cff950168ec7ac20bde2e3cc4cd8cdf8004dabcd8ff4fc7f4bb036409c62046279497aaa3074b5b +EBUILD llvm-12.0.0.9999.ebuild 12664 BLAKE2B e1a606a81a25bac625bf7847b779e79a27ccf7558b4e0438304146730609cf9f4150e7f585fa02805cac0d58b6dda7f748751413cd6165895be34d4884fe41c5 SHA512 e71e509e3dab84173da46e18ef19c172141b96b4824a12e46b2f70ea8016cd3c79aad2fec43e3978869cdb3c56307db1d0d1083ee889a86af488ebaef66d6339 +EBUILD llvm-9.0.1.ebuild 8399 BLAKE2B c296c1b0575c295bb14db4d3ac8fac06395e327cf95fda0c7e2263062de7eec6d6ea90cc264ac2b806ee2e6071fdc1c66c496502c2349d44b2364165258b6b7d SHA512 92c550916a048de53623aba4f7c2e32b6e6a35fde794116310f1a265e7e6124bfc8b48f27ae6830415802b5a2ffde222948f40c607d1ae5d96fecbf2d9c5591d MISC metadata.xml 2563 BLAKE2B ca85030788fb213fc891d895238fd75562cdd25cc5fe4271d709cb1c00ef56b0e8b367dc70cc18f7d185d6fbdb57333e219a984220b60141d28fb4784b2cb94a SHA512 8de68ee7f964e6eb2613bd2ff584f834e0f5a3ae8b303b5f2f10fda718a87af9b8ddfc19399950fe4eb8be515930124ced8018190af0f69da7ec5fe8180a68a2 diff --git a/sys-devel/llvm/llvm-10.0.1.ebuild b/sys-devel/llvm/llvm-10.0.1.ebuild index d81126a219bc..2c1968b03ad2 100644 --- a/sys-devel/llvm/llvm-10.0.1.ebuild +++ b/sys-devel/llvm/llvm-10.0.1.ebuild @@ -38,12 +38,7 @@ RESTRICT="!test? ( test )" RDEPEND=" sys-libs/zlib:0=[${MULTILIB_USEDEP}] exegesis? ( dev-libs/libpfm:= ) - gold? ( - || ( - >=sys-devel/binutils-2.31.1-r4:*[plugins] - <sys-devel/binutils-2.31.1-r4:*[cxx] - ) - ) + gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] ) libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) diff --git a/sys-devel/llvm/llvm-11.0.0.ebuild b/sys-devel/llvm/llvm-11.0.0.ebuild index 1b22698435e6..332088bd5615 100644 --- a/sys-devel/llvm/llvm-11.0.0.ebuild +++ b/sys-devel/llvm/llvm-11.0.0.ebuild @@ -29,7 +29,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc" SLOT="$(ver_cut 1)" -KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos" +KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos" IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3 kernel_Darwin ${ALL_LLVM_TARGETS[*]}" REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )" @@ -38,12 +38,7 @@ RESTRICT="!test? ( test )" RDEPEND=" sys-libs/zlib:0=[${MULTILIB_USEDEP}] exegesis? ( dev-libs/libpfm:= ) - gold? ( - || ( - >=sys-devel/binutils-2.31.1-r4:*[plugins] - <sys-devel/binutils-2.31.1-r4:*[cxx] - ) - ) + gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] ) libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) diff --git a/sys-devel/llvm/llvm-11.0.0.9999.ebuild b/sys-devel/llvm/llvm-11.0.1.9999.ebuild index 8e4357a1098c..9c6edd92398f 100644 --- a/sys-devel/llvm/llvm-11.0.0.9999.ebuild +++ b/sys-devel/llvm/llvm-11.0.1.9999.ebuild @@ -9,9 +9,6 @@ inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \ DESCRIPTION="Low Level Virtual Machine" HOMEPAGE="https://llvm.org/" -LLVM_COMPONENTS=( llvm ) -LLVM_MANPAGES=build -llvm.org_set_globals # Those are in lib/Targets, without explicit CMakeLists.txt mention ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE ) @@ -38,12 +35,7 @@ RESTRICT="!test? ( test )" RDEPEND=" sys-libs/zlib:0=[${MULTILIB_USEDEP}] exegesis? ( dev-libs/libpfm:= ) - gold? ( - || ( - >=sys-devel/binutils-2.31.1-r4:*[plugins] - <sys-devel/binutils-2.31.1-r4:*[cxx] - ) - ) + gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] ) libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) @@ -73,6 +65,10 @@ RDEPEND="${RDEPEND} PDEPEND="sys-devel/llvm-common gold? ( >=sys-devel/llvmgold-${SLOT} )" +LLVM_COMPONENTS=( llvm ) +LLVM_MANPAGES=build +llvm.org_set_globals + python_check_deps() { use doc || return 0 diff --git a/sys-devel/llvm/llvm-10.0.0.ebuild b/sys-devel/llvm/llvm-11.0.1_rc1.ebuild index 5abee337a223..9c6edd92398f 100644 --- a/sys-devel/llvm/llvm-10.0.0.ebuild +++ b/sys-devel/llvm/llvm-11.0.1_rc1.ebuild @@ -3,22 +3,17 @@ EAPI=7 -PYTHON_COMPAT=( python3_{6,7,8} ) -inherit cmake-utils llvm.org multilib-minimal multiprocessing \ - pax-utils python-any-r1 toolchain-funcs +PYTHON_COMPAT=( python3_{6..9} ) +inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \ + toolchain-funcs -MANPAGE_P=llvm-10.0.0-manpages DESCRIPTION="Low Level Virtual Machine" HOMEPAGE="https://llvm.org/" -SRC_URI=" - !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${MANPAGE_P}.tar.bz2 )" -LLVM_COMPONENTS=( llvm ) -llvm.org_set_globals # Those are in lib/Targets, without explicit CMakeLists.txt mention -ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR ) +ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE ) # Keep in sync with CMakeLists.txt -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430 +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430 NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" ) ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) @@ -31,7 +26,7 @@ ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc" SLOT="$(ver_cut 1)" -KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos" +KEYWORDS="" IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3 kernel_Darwin ${ALL_LLVM_TARGETS[*]}" REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )" @@ -40,12 +35,7 @@ RESTRICT="!test? ( test )" RDEPEND=" sys-libs/zlib:0=[${MULTILIB_USEDEP}] exegesis? ( dev-libs/libpfm:= ) - gold? ( - || ( - >=sys-devel/binutils-2.31.1-r4:*[plugins] - <sys-devel/binutils-2.31.1-r4:*[cxx] - ) - ) + gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] ) libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) @@ -56,6 +46,7 @@ DEPEND="${RDEPEND} gold? ( sys-libs/binutils-libs )" BDEPEND=" dev-lang/perl + >=dev-util/cmake-3.16 sys-devel/gnuconfig kernel_Darwin? ( <sys-libs/libcxx-$(ver_cut 1-3).9999 @@ -74,8 +65,9 @@ RDEPEND="${RDEPEND} PDEPEND="sys-devel/llvm-common gold? ( >=sys-devel/llvmgold-${SLOT} )" -# least intrusive of all -CMAKE_BUILD_TYPE=RelWithDebInfo +LLVM_COMPONENTS=( llvm ) +LLVM_MANPAGES=build +llvm.org_set_globals python_check_deps() { use doc || return 0 @@ -84,13 +76,95 @@ python_check_deps() { has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" } -src_unpack() { - llvm.org_src_unpack +check_live_ebuild() { + local prod_targets=( + $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \ + | tail -n +2 | head -n -1) + ) + local all_targets=( + lib/Target/*/ + ) + all_targets=( "${all_targets[@]#lib/Target/}" ) + all_targets=( "${all_targets[@]%/}" ) + + local exp_targets=() i + for i in "${all_targets[@]}"; do + has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" ) + done + # reorder + all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" ) + + if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then + eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!" + eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}" + eqawarn "Expected: ${exp_targets[*]}" + eqawarn + fi - if ! use doc; then - ebegin "Unpacking ${MANPAGE_P}.tar.bz2" - tar -xf "${DISTDIR}/${MANPAGE_P}.tar.bz2" || die - eend ${?} + if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then + eqawarn "ALL_LLVM_TARGETS is outdated!" + eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}" + eqawarn "Expected: ${all_targets[*]}" + fi +} + +check_distribution_components() { + if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then + local all_targets=() my_targets=() l + cd "${BUILD_DIR}" || die + + while read -r l; do + if [[ ${l} == install-*-stripped:* ]]; then + l=${l#install-} + l=${l%%-stripped*} + + case ${l} in + # shared libs + LLVM|LLVMgold) + ;; + # TableGen lib + deps + LLVMDemangle|LLVMSupport|LLVMTableGen) + ;; + # static libs + LLVM*) + continue + ;; + # meta-targets + distribution|llvm-libraries) + continue + ;; + # used only w/ USE=doc + docs-llvm-html) + use doc || continue + ;; + esac + + all_targets+=( "${l}" ) + fi + done < <(ninja -t targets all) + + while read -r l; do + my_targets+=( "${l}" ) + done < <(get_distribution_components $"\n") + + local add=() remove=() + for l in "${all_targets[@]}"; do + if ! has "${l}" "${my_targets[@]}"; then + add+=( "${l}" ) + fi + done + for l in "${my_targets[@]}"; do + if ! has "${l}" "${all_targets[@]}"; then + remove+=( "${l}" ) + fi + done + + if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then + eqawarn "get_distribution_components() is outdated!" + eqawarn " Add: ${add[*]}" + eqawarn "Remove: ${remove[*]}" + fi + cd - >/dev/null || die fi } @@ -105,8 +179,10 @@ src_prepare() { # Update config.guess to support more systems cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die - # User patches + QA - cmake-utils_src_prepare + # Verify that the live ebuild is up-to-date + check_live_ebuild + + llvm.org_src_prepare } # Is LLVM being linked against libc++? @@ -180,6 +256,7 @@ get_distribution_components() { llvm-elfabi llvm-exegesis llvm-extract + llvm-gsymutil llvm-ifs llvm-install-name-tool llvm-jitlink @@ -190,6 +267,7 @@ get_distribution_components() { llvm-lto2 llvm-mc llvm-mca + llvm-ml llvm-modextract llvm-mt llvm-nm @@ -223,10 +301,15 @@ get_distribution_components() { opt-viewer ) + if llvm_are_manpages_built; then + out+=( + # manpages + docs-dsymutil-man + docs-llvm-dwarfdump-man + docs-llvm-man + ) + fi use doc && out+=( - docs-dsymutil-man - docs-llvm-dwarfdump-man - docs-llvm-man docs-llvm-html ) @@ -281,6 +364,8 @@ multilib_src_configure() { # used only for llvm-objdump tool -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0) + -DPython3_EXECUTABLE="${PYTHON}" + # disable OCaml bindings (now in dev-ml/llvm-ocaml) -DOCAMLFIND=NO ) @@ -303,22 +388,27 @@ multilib_src_configure() { # fi use test && mycmakeargs+=( - -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" + -DLLVM_LIT_ARGS="$(get_lit_flags)" ) if multilib_is_native_abi; then + local build_docs=OFF + if llvm_are_manpages_built; then + build_docs=ON + mycmakeargs+=( + -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" + -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" + -DSPHINX_WARNINGS_AS_ERRORS=OFF + ) + fi + mycmakeargs+=( - -DLLVM_BUILD_DOCS=$(usex doc) + -DLLVM_BUILD_DOCS=${build_docs} -DLLVM_ENABLE_OCAMLDOC=OFF - -DLLVM_ENABLE_SPHINX=$(usex doc) + -DLLVM_ENABLE_SPHINX=${build_docs} -DLLVM_ENABLE_DOXYGEN=OFF -DLLVM_INSTALL_UTILS=ON ) - use doc && mycmakeargs+=( - -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" - -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" - -DSPHINX_WARNINGS_AS_ERRORS=OFF - ) use gold && mycmakeargs+=( -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include ) @@ -350,11 +440,13 @@ multilib_src_configure() { # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" - cmake-utils_src_configure + cmake_src_configure + + multilib_is_native_abi && check_distribution_components } multilib_src_compile() { - cmake-utils_src_compile + cmake_build distribution pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld pax-mark m "${BUILD_DIR}"/bin/lli @@ -370,7 +462,7 @@ multilib_src_compile() { multilib_src_test() { # respect TMPDIR! local -x LIT_PRESERVES_TMP=1 - cmake-utils_src_make check + cmake_build check } src_install() { @@ -390,7 +482,7 @@ src_install() { } multilib_src_install() { - DESTDIR=${D} cmake-utils_src_make install-distribution + DESTDIR=${D} cmake_build install-distribution # move headers to /usr/include for wrapping rm -rf "${ED}"/usr/include || die @@ -409,14 +501,8 @@ multilib_src_install_all() { LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )" _EOF_ - # install pre-generated manpages - if ! use doc; then - # (doman does not support custom paths) - insinto "/usr/lib/llvm/${SLOT}/share/man/man1" - doins "${WORKDIR}/${MANPAGE_P}/llvm"/*.1 - fi - docompress "/usr/lib/llvm/${SLOT}/share/man" + llvm_install_manpages } pkg_postinst() { diff --git a/sys-devel/llvm/llvm-12.0.0.9999.ebuild b/sys-devel/llvm/llvm-12.0.0.9999.ebuild index a1a53f9e1e26..610b92aa0fb2 100644 --- a/sys-devel/llvm/llvm-12.0.0.9999.ebuild +++ b/sys-devel/llvm/llvm-12.0.0.9999.ebuild @@ -9,9 +9,6 @@ inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \ DESCRIPTION="Low Level Virtual Machine" HOMEPAGE="https://llvm.org/" -LLVM_COMPONENTS=( llvm ) -LLVM_MANPAGES=build -llvm.org_set_globals # Those are in lib/Targets, without explicit CMakeLists.txt mention ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE ) @@ -38,12 +35,7 @@ RESTRICT="!test? ( test )" RDEPEND=" sys-libs/zlib:0=[${MULTILIB_USEDEP}] exegesis? ( dev-libs/libpfm:= ) - gold? ( - || ( - >=sys-devel/binutils-2.31.1-r4:*[plugins] - <sys-devel/binutils-2.31.1-r4:*[cxx] - ) - ) + gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] ) libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) @@ -73,6 +65,10 @@ RDEPEND="${RDEPEND} PDEPEND="sys-devel/llvm-common gold? ( >=sys-devel/llvmgold-${SLOT} )" +LLVM_COMPONENTS=( llvm ) +LLVM_MANPAGES=build +llvm.org_set_globals + python_check_deps() { use doc || return 0 diff --git a/sys-devel/llvm/llvm-9.0.1.ebuild b/sys-devel/llvm/llvm-9.0.1.ebuild index 2f2553d82fba..6f532c4a5308 100644 --- a/sys-devel/llvm/llvm-9.0.1.ebuild +++ b/sys-devel/llvm/llvm-9.0.1.ebuild @@ -38,12 +38,7 @@ RESTRICT="!test? ( test )" RDEPEND=" sys-libs/zlib:0=[${MULTILIB_USEDEP}] exegesis? ( dev-libs/libpfm:= ) - gold? ( - || ( - >=sys-devel/binutils-2.31.1-r4:*[plugins] - <sys-devel/binutils-2.31.1-r4:*[cxx] - ) - ) + gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] ) libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) |