From e860dfa5acdb67f8e2b8938b005dbaaaaf2c984a Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 31 Jan 2023 15:02:11 +0000 Subject: gentoo auto-resync : 31:01:2023 - 15:02:11 --- dev-util/Manifest.gz | Bin 68408 -> 68406 bytes dev-util/hip/Manifest | 15 +- ...0-hipcc-fails-to-parse-version-of-clang-i.patch | 70 +++ ...8-LLVM-pkg-search-directly-using-find_dep.patch | 163 +++++++ ...DEV-355608-Remove-clang-include-path-2996.patch | 51 +++ ...8-Removed-relative-path-based-CLANG-inclu.patch | 173 +++++++ dev-util/hip/files/hip-5.3.3-disable-Werror.patch | 16 + .../hip-5.3.3-remove-cmake-doxygen-commands.patch | 21 + dev-util/hip/files/hipvars-5.3.3.pm | 20 + dev-util/hip/hip-5.1.3-r3.ebuild | 174 ------- dev-util/hip/hip-5.1.3-r4.ebuild | 174 +++++++ dev-util/hip/hip-5.3.3-r1.ebuild | 166 ------- dev-util/hip/hip-5.3.3-r2.ebuild | 145 ++++++ dev-util/hip/metadata.xml | 4 + dev-util/maturin/Manifest | 4 +- dev-util/maturin/maturin-0.14.11.ebuild | 501 --------------------- dev-util/maturin/maturin-0.14.12.ebuild | 501 +++++++++++++++++++++ 17 files changed, 1350 insertions(+), 848 deletions(-) create mode 100644 dev-util/hip/files/0001-SWDEV-344620-hipcc-fails-to-parse-version-of-clang-i.patch create mode 100644 dev-util/hip/files/0001-SWDEV-352878-LLVM-pkg-search-directly-using-find_dep.patch create mode 100644 dev-util/hip/files/0002-SWDEV-355608-Remove-clang-include-path-2996.patch create mode 100644 dev-util/hip/files/0003-SWDEV-352878-Removed-relative-path-based-CLANG-inclu.patch create mode 100644 dev-util/hip/files/hip-5.3.3-disable-Werror.patch create mode 100644 dev-util/hip/files/hip-5.3.3-remove-cmake-doxygen-commands.patch create mode 100644 dev-util/hip/files/hipvars-5.3.3.pm delete mode 100644 dev-util/hip/hip-5.1.3-r3.ebuild create mode 100644 dev-util/hip/hip-5.1.3-r4.ebuild delete mode 100644 dev-util/hip/hip-5.3.3-r1.ebuild create mode 100644 dev-util/hip/hip-5.3.3-r2.ebuild delete mode 100644 dev-util/maturin/maturin-0.14.11.ebuild create mode 100644 dev-util/maturin/maturin-0.14.12.ebuild (limited to 'dev-util') diff --git a/dev-util/Manifest.gz b/dev-util/Manifest.gz index a260575a9543..4661ec7477c0 100644 Binary files a/dev-util/Manifest.gz and b/dev-util/Manifest.gz differ diff --git a/dev-util/hip/Manifest b/dev-util/hip/Manifest index 3e525c5f8a19..bcf5b441cec1 100644 --- a/dev-util/hip/Manifest +++ b/dev-util/hip/Manifest @@ -1,4 +1,8 @@ AUX 0001-SWDEV-316128-HIP-surface-API-support.patch 1156 BLAKE2B 52ff9a2389533ac213055ff8c1d4359cbd490f64699233a6c97dbb54ea8216d94039b016b9dcdde7a304662b9ca5c444ac889a6491e847b0a701e0b0cc0e4b59 SHA512 0c210ac60929a951ce1210b1f76e2e6966cc411834a350e6d01d1eb20cb862056cec881a00978cdbe5bfc61e53128c1cd09c6138cca9469213a6bbf425b8686d +AUX 0001-SWDEV-344620-hipcc-fails-to-parse-version-of-clang-i.patch 2734 BLAKE2B 5580ae24e854a42837979a1f6e688eb7edcfeee554577f41611941aa69d5a0bf3f1eb1916c4c7b2ba0389fc16efc31b229a9b21dbec3bfcf0cccad20241191a7 SHA512 156f650559fdeb625c15a8b94320f0b422b04b883f84a5e74ef03293420292be25c118df67bba1ae11fca6a1ac7429b0254aa32b963f7e09a7d8d923589009fd +AUX 0001-SWDEV-352878-LLVM-pkg-search-directly-using-find_dep.patch 7304 BLAKE2B 3fca9d44f706250438f1c3f5d44142e1fa3040336eb9ab8b9e7fc54b9473e11957962a9a93cdb3b6980228fffe1a3fd5dab3f8c972340a83723858c12790c1f8 SHA512 7e54d22b0a0924c79d0b31764586891401d1a39f37380d3809e23a60075baacc55468930c30fa5a8ce64083b274701dbc190f67244822191873ae4f831a7fc33 +AUX 0002-SWDEV-355608-Remove-clang-include-path-2996.patch 1866 BLAKE2B 89e377104b0bc383f69c10f894ff28cb8282eeaf042fcb27b03a64b78959c147ef6cd4291aef47a25b616ea2b801363d7a382df4d924ba94fcea7e9ffa1b26f6 SHA512 7f73d7a66adc959ef4dd0dc3540b6db472a3650926f315f4c79761a45e619432107898dc58cb15958be4b36823029ccf91e599760a23fd886429789de586db3b +AUX 0003-SWDEV-352878-Removed-relative-path-based-CLANG-inclu.patch 8063 BLAKE2B c0b7b83682c13bb21e6a152b8c4c2b003024fd2dfc4f5f59e8b91b3d933bbfa888549c1a4471a29a225400f3d900d47023c3394111d41a3ecf52a48647db1694 SHA512 972a249daf692ce847884821a1205608d9ee2941793c474cb36f435eff2ad52dc7cb4f1a3a48a4037df3d62a6e47db84c86014933c94b4bb9bf7b7b12f31cce1 AUX hip-4.2.0-cancel-hcc-header-removal.patch 820 BLAKE2B 544f93864fafe38a0ac2456f6301f8076ea24061bd4fe9a5501a366cca6d46edbb50eaac6c71acb3534579cdd9fa5518a687ac7e6d265926db53f0820fdec0f2 SHA512 3e37b761148cc31f78d6beb6bdff4b472fe4171a496b8f76ecbe82900f1483df690f846e0473ae700127482bcc3787af16bcd6217506e1e9dd1ad019408725a5 AUX hip-4.2.0-config-cmake-in.patch 588 BLAKE2B 98081d4caa593756c966b8eff9e3a306ba4d9799abaaccb9bdab40db3e32dd769b07b3c428a22787231e8819e62cd50a33f549f2d1de32f9528036f1abf400cb SHA512 803aae515ee8e2694e5ba1cf6b5d66c98a9e0abf422479c7f599e8bfa38b027062a40e3e9806fa0057fa89a00d019c93d22f1c1ad78f68f1ac3f9bea5ebd93be AUX hip-5.0.1-DisableTest.patch 1689 BLAKE2B dd25393370a594abd3cb6fe8abab6481c2c544edb3f84c7b6481501fd5c2cd33970245cb38d148c5218915a67a8c1d24fde14a5a5c47ed809c613ec78b6d25c7 SHA512 6932af7662b067766b6566f858dba9606818757070b642778d559b83052097ee2ecedb1ae0184ab000c7b068b5413201bb5521e0aa3bf090df369139f292306e @@ -12,12 +16,14 @@ AUX hip-5.1.3-fno-stack-protector.patch 788 BLAKE2B 8f9d01ceeec2098df4d49e116c14 AUX hip-5.1.3-llvm-15-noinline-keyword.patch 829 BLAKE2B 39b859e90acacd2eccdd60b690e1d882b63cfa66ff1b12effe447b18de72ffd61dd32983552f9ae39b384c3bbfbbcfd59ff2bb47943c1340bf6c1df5cb7d4075 SHA512 1933e883f84451e8512669572ea03dd25c916c6baeafac27b07e3d4a5e89165952a64afaceade4546e7e2d4473aba9811ac21131f283f9680d35e777ad9659a7 AUX hip-5.1.3-remove-cmake-doxygen-commands.patch 896 BLAKE2B 35640516bf416760db69b736d72c1e78efdbad8a930d621fdaffd13c5c250f5d80a6975c1e4c368389ce8059aee964c36645f420d0844141d09463637ba0bccb SHA512 b1288e1f4b7553c5bf0fe38a46fbdf269ca5c01fd8e0e225b9454d4916092601d565c57eaf9f716e06fee816e41cb3a948884060551b5a9d71da9b1a050765f9 AUX hip-5.1.3-rocm-path.patch 564 BLAKE2B ad554063a11d58ce5acfa8c8980bac2668d199b059bc2555d4cea40fbc53b6334daaea448d99cc391cee246d8318a450efdef669db2ee164a4db3a55d7d8e193 SHA512 eaa03f4d2394f61dcedde376de6c398625d284a7ac0c94ff2484929efdf298f455c796b96f16bf3989de6593a9a026a7681620b5ca13ce403aba4a32e5a38226 +AUX hip-5.3.3-disable-Werror.patch 621 BLAKE2B 9bcdec821484ac20343e1352e3c3d5a9297f8e7ab81ed135c5b27f11dd0667c68939fe04157ae8b7dacc5cdcbb6631e0a1b66d6cc2cd796f6322b6ded75055c7 SHA512 799c40b5a2524e166aa674c432c7bfb93c03fe00832680a99cd701b2498cd33c52e5582f9754161173f17048b6ae346a7a5b6d59eddce8696670b1f229858fef +AUX hip-5.3.3-remove-cmake-doxygen-commands.patch 976 BLAKE2B edff02ed7b2371739f1659a93ecad9485045091ec48c6aa018d8fde3a9f4a9a48bdcf0cca660e03b4f3ff0e6c4f019068019407f429913f8c3231cdb252b0464 SHA512 f6835f74fb34cd4a9ea0db693eff6e57c742f6912b29046f7b01b87037c014cdeb38f17dd0a6b90dd823656e2957b2d0bc981eb0c71221994ae455cefc03805b AUX hipvars-5.0.2.pm 590 BLAKE2B b67de8f86bc53d9fbcd50a9cfa9759feb0145f3b3e40360cc322676411e038ff21b8f81265ba27d099e51c3dc55230f87c477cbadfba2b48c08978216f2fbd81 SHA512 0becd625e6f34d687338e25ca4697e68a735a1df60a4c2c53f577e7999a34bc07041f513632f9534aa4b35da2cf50b02c96187f69fd183bff893343257aa85b9 AUX hipvars-5.1.3.pm 629 BLAKE2B 6149f230aa0756603ac0b455d802db9c698be8e4a22367e98915db974ea16176f85f9b5a22e2572183641734cedbbe2ba2c826aa0223ea3e12c5550983db0480 SHA512 26ba459b13df1ad6dc50411ac6589dd3d17eff727fee0e938275912e36459c7a43b35233a7f78bbed282a992e969d8b8f95007964c810a5954b0abeccc67082d +AUX hipvars-5.3.3.pm 581 BLAKE2B edf0c1df5f7f5c57189c76fbcedec8155072a9f8e2c580d637dcfb557a844e7cc276b754d0fd8f5a9f59d2c5bbcfda6c9ac9951ad16d8a12bb48e74f062987ab SHA512 9fd72b000f59ec25a74ef5965f4affc5e866025424211b4d81fbea979ffba9f08319dde0063c8c835507a1b9db990f8f25eea3a8e2e6d88faceaf34d5dd722cb AUX hipvars.pm 598 BLAKE2B 1645b12179195b95757d207248c85b7c8d9eda0347caee5cb48bdc66e85fda517f607bcb69cdfc63657a0db04ad8e96494a0a80268df7c17d6bb0e689325c2e8 SHA512 6c4e71455341673a329b4b0163fefd7f2f4b7d62da3496643d0de096755899c99b3b5a80fffbdf29896c234cb4f617b368217f4eecfd005849b294ff434b79c6 DIST 5.0.2-update-header.patch.gz 5136 BLAKE2B 290b9e250e3004a1147ad28606d7d205078affbd809c6a429744767ebabf35bd8df6395dc135984d345ae2f23fa457dcb2524bcbf31c5bf16903d3ee2007bf5d SHA512 41b1025c403e874026a712ec6f6571c873203b08ddadf68848f6d1f63924c21b206677b330f79edad2c4b85e2ba5053b1d33f70c7c09ff9c17bc5905b849da0c DIST hip-5.1.3-update-header.patch.gz 3406 BLAKE2B 805539c3396a9cdcc4b807afd96eacd2de0e494a9ec927a1526cb8ce26b1c6e0a4d06415cd0210cba1398b5ff70f995fa67ad22b659578c075eb24c2a2cc9228 SHA512 eef4d70f9470a61d1d8cb140728cc4f2e792a4e64e0900a7410a74f3a6421410e7546e4e62bbbf35ae231b566bf162fb85de1f1ad1d8cfb2f282d2ed9a34b53a -DIST hip-5.3.3-update-header.patch.gz 3406 BLAKE2B 805539c3396a9cdcc4b807afd96eacd2de0e494a9ec927a1526cb8ce26b1c6e0a4d06415cd0210cba1398b5ff70f995fa67ad22b659578c075eb24c2a2cc9228 SHA512 eef4d70f9470a61d1d8cb140728cc4f2e792a4e64e0900a7410a74f3a6421410e7546e4e62bbbf35ae231b566bf162fb85de1f1ad1d8cfb2f282d2ed9a34b53a DIST rocclr-5.0.2.tar.gz 853965 BLAKE2B a0d568eb3b230845970d8256a5a2f32018e4b9fb68e0f1aa13a1f3fc953e614025315b90cbe68c107f7150cf91b4b1ea438455429062c7dc06ef77d65dedd2ec SHA512 b30a57c09973d8ef624511f422babaf9722685b9f85643783aebc000671b41fd54f44b308cece0baab187e1ee00b10335c6d22b6bad6fb3468abe6ef0da97d73 DIST rocclr-5.1.3.tar.gz 618606 BLAKE2B 02b7732ddd03c0883bee49c56466cd21c649159f801bfb2537eea6e640c65613eb57b37d942f465a9deb83d65735f51212dde5e4f77ba8239d1a6b7037e1800c SHA512 89fd2eca39ed84a1cf525b2c606089ef39f64c1f997c4880e10722da6de4864110752640e1508db1aeb9d15c48ba4e6fe5dbe7a9e56718853ece42548028b2ca DIST rocclr-5.3.3.tar.gz 625944 BLAKE2B 0cdbc1415a355e1d56628834846aaa8587c9827eeea59f4312b788e868265dcb42197181fd5ef411416da2e11662c7f665f578aa750ab88c3a5405bcc58ee449 SHA512 3f85532cffc09c2ca8e7cd1770263d1c1a38633ed2bc5cfe62072e12a6f8f669db400519950718be31f6b77693d372e2ef905f06c7f02e126aa9ff7d2da97924 @@ -32,8 +38,7 @@ DIST rocm-opencl-runtime-5.1.3.tar.gz 1004765 BLAKE2B 64d9b42026d2be1d0e4aa66678 DIST rocm-opencl-runtime-5.3.3.tar.gz 1007773 BLAKE2B a3f600a68183337f92b152a123241cb7025889cca2ef6814d9d5b5a2146a78703b171d20bcb432bc7a2cdd1f24ad349408c17816b25a66702e9f0f5345af9082 SHA512 391f0f244b7f02972df8cada821e69ee8d81d96b9cff3c14f1d0838da583d8fb136ec4bd5ee820f6dd261968e9eef5e9a5b10b7bb76b1b64625c399d79bcb03f DIST rocm-tracer-5.0.2.tar.gz 474669 BLAKE2B b350111590140e1282338e4f134caf6228677c49361ceb9bc7ba0da8709346daa4fd014644c04adff0e903dba6014a84edd2eb3a5c132a8f91b479e4d5b085e5 SHA512 3fc1449cc9c9bf83e5233a7a0e83c0e3fa9da225d5ee4427b7d6fa15e3580497e1b9fbcd63892e4a99df01582aecd3ccfd66d2a19af2d8c25949ee705894ea44 DIST rocm-tracer-5.1.3.tar.gz 511617 BLAKE2B 4142979b3b7d649798a7ac0b2a04b42aa7fbcbf82f2cf51b0e5363ec0da538046d6e59283d0ce1bfd341317bf24ac2f694d5c8a7d1f132f9b21caea5caf7eda3 SHA512 e73b0c921ffbdcac571d8b0825de39bd8a4fd5f2720ecdd0c189951db85efb607a0b1cd7a9bb02b3dbf329b277cb5e197525216a8e8927eea4e6ce290b7e7c7b -DIST rocm-tracer-5.3.3.tar.gz 353041 BLAKE2B b7614707ae3af2f5a46d058dacadfb0ef3b980963ac49face66a80c8396e66cf13e0430ab41737ba15e163f5da03697376b13238ea1decfe7ee4a7f31c7664a5 SHA512 95a202f76f6b68a35942750233bd09d372a9be843150d7ec02824da13c6b9a7c8da7a752ac69f66776e7ccfb6176473745dc46a7baadfe77c99c0596fbc2ffeb EBUILD hip-5.0.2-r3.ebuild 4915 BLAKE2B 71cf130b99182044b8cbfff278de4d0728866b95dbf2b6467319904a35f5ebe4c9fd444079c6e37b7e76e92739bdc09331166265956c2687d9c781455b27cc33 SHA512 333f83af738b7c630ce5f758d6c381f7c5ae1ab2fbea0acad1f7499eb807eddd6a11213dd940ce1aad0c4f4b172745b2bfa34cb61abd5cbb68f54e83759b6b6c -EBUILD hip-5.1.3-r3.ebuild 6478 BLAKE2B f751d69531054ad513b35df1161e55b1693b2b73d9bbcbf4fe259e2f51ee5e59403df41468ceef9528bc9bd3b50589bb0c7a0a47ce3e04ff8e158f93a2fc6b80 SHA512 5fdb5238338d4130e157fceb6857dd74ecace9cdf18aa73468fc832cefa7ae2c65bf151cb9a1e9412956ca7a8379356ab2ae4d5192a4593b9953b5a950a5021d -EBUILD hip-5.3.3-r1.ebuild 5991 BLAKE2B decff6d448eb7751ef55a80efad95919d1512aa49e2c1d9514d8d7a250cc24aecbc258898c06d9d51ce6fe24881df1b464adffc5d52d59c827c6d85b65d63a8c SHA512 1abff9d8864fb6e46a0c9e7630cc2ee479701f9a81428c4f2bdc90344744afa4becca18345210f1455d09d059ca38af5cf928129b1a3d0ce1cf3cd62e020ce69 -MISC metadata.xml 597 BLAKE2B cca1b105463e26741aa4bf95c9d85dd582df075795646f633ed5f0d39bace0b07be98f771aa8eb1b89984788249837303b67617e92c4076eb7601611cd2abf6d SHA512 42767156ae0e89b3ce438bfb163161b543e15114838a5c14b4b1c889fe799e44dd9bf9684ee685798a1fc5d2d4c520d3c42c9c74a88178a079ccb634148e0738 +EBUILD hip-5.1.3-r4.ebuild 6561 BLAKE2B eb04725deb7efa065bb83a127a298fbf24c768e2251226c1e1c246e09dc4107486bc2bd9a4e6ec7cb3abdb37a58638fe41456eda5e96ee3d5d6529e4b87ff20b SHA512 d3e3559331ed80e7e880af4b95bc27359dc8afb0fbde6e9beefe511b1ac96e086230e55468533d7882f6fe3ad26d734b2ec0c4d53e300bc2d13b551e608dc217 +EBUILD hip-5.3.3-r2.ebuild 5085 BLAKE2B 664fc12c3a17c33aa01a5b54f6054217c84e9dd68fa949d465663d6b486ac74550fb6da0e8a847756b65460f0d91d3f24dd50de8b3ffe5921e4c6742e856f31b SHA512 75a9d6e6c59ab7947cc6ea6e3a0ee697e9b2d445426482db8cdde031896899e78fe074a453cbaf5bf075c5d6ae71bd42dddbb8f850e558c7853e0c8ed7b4b1c2 +MISC metadata.xml 729 BLAKE2B 92e36c42f6d8335e5a8e3a86b591ff9e6306e0d187644620fab7f8f7ddd00156ee91ff49184ffbe379e509f2096c51c421575a69de7abea3c0b372fdcec52ccb SHA512 84fc8234a5fdf54bf43228c2144d809a461862fb45fea24bf366ee5937df3882c3332429938792981e37dbb4cda6e5d7e05ac5deaded34d8bcce1eb53df8d0fd diff --git a/dev-util/hip/files/0001-SWDEV-344620-hipcc-fails-to-parse-version-of-clang-i.patch b/dev-util/hip/files/0001-SWDEV-344620-hipcc-fails-to-parse-version-of-clang-i.patch new file mode 100644 index 000000000000..b9a1329e5931 --- /dev/null +++ b/dev-util/hip/files/0001-SWDEV-344620-hipcc-fails-to-parse-version-of-clang-i.patch @@ -0,0 +1,70 @@ +From 73430b62a5437d1ba6c36a1d812a1434d1ad9df7 Mon Sep 17 00:00:00 2001 +From: ROCm CI Service Account <66695075+rocm-ci@users.noreply.github.com> +Date: Tue, 20 Dec 2022 06:51:12 +0530 +Subject: [PATCH 1/3] SWDEV-344620 - hipcc fails to parse version of clang in + some cases (#3119) + +Change-Id: I46f716c82a7500b9a2bcaf5f9ff4ad8a8f982770 +Signed-off-by: Yiyang Wu +--- + bin/hipcc.pl | 22 +++++++--------------- + 1 file changed, 7 insertions(+), 15 deletions(-) + +diff --git a/bin/hipcc.pl b/bin/hipcc.pl +index 645ae62d..2a01dcc3 100755 +--- a/bin/hipcc.pl ++++ b/bin/hipcc.pl +@@ -144,7 +144,7 @@ if ($HIP_PLATFORM eq "amd") { + $execExtension = ""; + if($isWindows) { + $execExtension = ".exe"; +- } ++ } + $HIPCC="$HIP_CLANG_PATH/clang++" . $execExtension; + + # If $HIPCC clang++ is not compiled, use clang instead +@@ -157,13 +157,10 @@ if ($HIP_PLATFORM eq "amd") { + $HIPLDFLAGS .= " -fuse-ld=lld"; + $HIPLDFLAGS .= " --ld-path=$HIP_CLANG_PATH/lld-link.exe"; + } +- $HIP_CLANG_VERSION = `$HIPCC --version`; +- $HIP_CLANG_VERSION=~/.*clang version (\S+).*/; +- $HIP_CLANG_VERSION=$1; + +- # Figure out the target with which llvm is configured +- $HIP_CLANG_TARGET = `$HIPCC -print-target-triple`; +- $HIP_CLANG_TARGET = chomp($HIP_CLANG_TARGET); ++ # get Clang RT Builtin path ++ $HIP_CLANG_RT_LIB = `$HIPCC --print-runtime-dir`; ++ chomp($HIP_CLANG_RT_LIB); + + if (! defined $HIP_CLANG_INCLUDE_PATH) { + $HIP_CLANG_INCLUDE_PATH = abs_path("$HIP_CLANG_PATH/../lib/clang/$HIP_CLANG_VERSION/include"); +@@ -184,7 +181,7 @@ if ($HIP_PLATFORM eq "amd") { + print ("HIP_INCLUDE_PATH=$HIP_INCLUDE_PATH\n"); + print ("HIP_LIB_PATH=$HIP_LIB_PATH\n"); + print ("DEVICE_LIB_PATH=$DEVICE_LIB_PATH\n"); +- print ("HIP_CLANG_TARGET=$HIP_CLANG_TARGET\n"); ++ print ("HIP_CLANG_RT_LIB=$HIP_CLANG_RT_LIB\n"); + } + + if ($isWindows) { +@@ -715,13 +712,8 @@ if ($HIP_PLATFORM eq "amd") { + } else { + $toolArgs = ${toolArgs} . " -Wl,--enable-new-dtags -Wl,-rpath=$HIP_LIB_PATH:$ROCM_PATH/lib -lamdhip64 "; + } +- # To support __fp16 and _Float16, explicitly link with compiler-rt +- $HIP_CLANG_BUILTIN_LIB="$HIP_CLANG_PATH/../lib/clang/$HIP_CLANG_VERSION/lib/$HIP_CLANG_TARGET/libclang_rt.builtins.a"; +- if (-e $HIP_CLANG_BUILTIN_LIB) { +- $toolArgs .= " -L$HIP_CLANG_PATH/../lib/clang/$HIP_CLANG_VERSION/lib/$HIP_CLANG_TARGET -lclang_rt.builtins " +- } else { +- $toolArgs .= " -L$HIP_CLANG_PATH/../lib/clang/$HIP_CLANG_VERSION/lib/linux -lclang_rt.builtins-x86_64 " +- } ++ ++ $toolArgs .= " -L$HIP_CLANG_RT_LIB -lclang_rt.builtins-x86_64 " + } + } + +-- +2.38.1 + diff --git a/dev-util/hip/files/0001-SWDEV-352878-LLVM-pkg-search-directly-using-find_dep.patch b/dev-util/hip/files/0001-SWDEV-352878-LLVM-pkg-search-directly-using-find_dep.patch new file mode 100644 index 000000000000..9dbfe8a55395 --- /dev/null +++ b/dev-util/hip/files/0001-SWDEV-352878-LLVM-pkg-search-directly-using-find_dep.patch @@ -0,0 +1,163 @@ +From 6c12b045bc3c434dd13e74bf124ed54afec668c6 Mon Sep 17 00:00:00 2001 +From: AravindanC +Date: Fri, 26 Aug 2022 15:02:09 -0700 +Subject: [PATCH] SWDEV-352878 - LLVM pkg search directly using find_dep() for + CLANG Include path + +Change-Id: I355e39890757be07de8b9332deca159f35039dfd +Signed-off-by: Yiyang Wu +--- + hip-config.cmake.in | 108 ++++++++++++++++++++++++++------------------ + 1 file changed, 64 insertions(+), 44 deletions(-) + +diff --git a/hip-config.cmake.in b/hip-config.cmake.in +index 89d1224e..67d898d8 100755 +--- a/hip-config.cmake.in ++++ b/hip-config.cmake.in +@@ -147,41 +147,62 @@ if(HIP_COMPILER STREQUAL "clang") + if(NOT HIP_CXX_COMPILER) + set(HIP_CXX_COMPILER ${CMAKE_CXX_COMPILER}) + endif() +- if(HIP_CXX_COMPILER MATCHES ".*hipcc" OR HIP_CXX_COMPILER MATCHES ".*clang\\+\\+") +- execute_process(COMMAND ${HIP_CXX_COMPILER} --version ++ ++ # Use HIP_CXX_COMPILER option -print-resource-dir ++ # To fetch the clang include path ++ execute_process( ++ COMMAND ${HIP_CXX_COMPILER} -print-resource-dir ++ OUTPUT_VARIABLE HIP_CLANG_INCLUDE_PATH ++ OUTPUT_STRIP_TRAILING_WHITESPACE ++ RESULT_VARIABLE CLANG_INCLUDE_PATH_FETCH_EXIT_CODE) ++ ++ if( NOT "${CLANG_INCLUDE_PATH_FETCH_EXIT_CODE}" STREQUAL "0" ) ++ if(HIP_CXX_COMPILER MATCHES ".*hipcc" OR HIP_CXX_COMPILER MATCHES ".*clang\\+\\+") ++ # IF not successful in fetching HIP_CLANG_INCLUDE_PATH using ++ # HIP_CXX_COMPILER binary command options -print-resource-dir ++ # fallback to old method of getting include by finding HIP_CLANG_ROOT ++ # and from predefined relative path of HIP_CLANG_ROOT ++ execute_process(COMMAND ${HIP_CXX_COMPILER} --version + OUTPUT_STRIP_TRAILING_WHITESPACE + OUTPUT_VARIABLE HIP_CXX_COMPILER_VERSION_OUTPUT) +- # Capture the repo, branch and patch level details of the HIP CXX Compiler. +- # Ex. clang version 13.0.0 (https://github.com/ROCm-Developer-Tools/HIP main 12345 COMMIT_HASH) +- # HIP_CLANG_REPO: https://github.com/ROCm-Developer-Tools/HIP +- # HIP_CLANG_BRANCH: main +- # HIP_CLANG_PATCH_LEVEL: 12345 +- if(${HIP_CXX_COMPILER_VERSION_OUTPUT} MATCHES "clang version [0-9]+\\.[0-9]+\\.[0-9]+ \\(([^ \n]*) ([^ \n]*) ([^ \n]*)") +- set(HIP_CLANG_REPO ${CMAKE_MATCH_1}) +- set(HIP_CLANG_BRANCH ${CMAKE_MATCH_2}) +- set(HIP_CLANG_PATCH_LEVEL ${CMAKE_MATCH_3}) +- endif() +- endif() +- if(HIP_CXX_COMPILER MATCHES ".*hipcc") +- if(HIP_CXX_COMPILER_VERSION_OUTPUT MATCHES "InstalledDir:[ \t]*([^\n]*)") +- get_filename_component(HIP_CLANG_ROOT "${CMAKE_MATCH_1}" DIRECTORY) +- endif() +- elseif (HIP_CXX_COMPILER MATCHES ".*clang\\+\\+") +- get_filename_component(_HIP_CLANG_REAL_PATH "${HIP_CXX_COMPILER}" REALPATH) +- get_filename_component(_HIP_CLANG_BIN_PATH "${_HIP_CLANG_REAL_PATH}" DIRECTORY) +- get_filename_component(HIP_CLANG_ROOT "${_HIP_CLANG_BIN_PATH}" DIRECTORY) +- endif() +- file(GLOB HIP_CLANG_INCLUDE_SEARCH_PATHS ${HIP_CLANG_ROOT}/lib/clang/*/include) +- find_path(HIP_CLANG_INCLUDE_PATH stddef.h +- HINTS ++ # Capture the repo, branch and patch level details of the HIP CXX Compiler. ++ # Ex. clang version 13.0.0 (https://github.com/ROCm-Developer-Tools/HIP main 12345 COMMIT_HASH) ++ # HIP_CLANG_REPO: https://github.com/ROCm-Developer-Tools/HIP ++ # HIP_CLANG_BRANCH: main ++ # HIP_CLANG_PATCH_LEVEL: 12345 ++ if(${HIP_CXX_COMPILER_VERSION_OUTPUT} MATCHES "clang version [0-9]+\\.[0-9]+\\.[0-9]+ \\(([^ \n]*) ([^ \n]*) ([^ \n]*)") ++ set(HIP_CLANG_REPO ${CMAKE_MATCH_1}) ++ set(HIP_CLANG_BRANCH ${CMAKE_MATCH_2}) ++ set(HIP_CLANG_PATCH_LEVEL ${CMAKE_MATCH_3}) ++ endif() ++ if(HIP_CXX_COMPILER MATCHES ".*hipcc") ++ if(HIP_CXX_COMPILER_VERSION_OUTPUT MATCHES "InstalledDir:[ \t]*([^\n]*)") ++ get_filename_component(HIP_CLANG_ROOT "${CMAKE_MATCH_1}" DIRECTORY) ++ endif() ++ elseif (HIP_CXX_COMPILER MATCHES ".*clang\\+\\+") ++ get_filename_component(_HIP_CLANG_REAL_PATH "${HIP_CXX_COMPILER}" REALPATH) ++ get_filename_component(_HIP_CLANG_BIN_PATH "${_HIP_CLANG_REAL_PATH}" DIRECTORY) ++ get_filename_component(HIP_CLANG_ROOT "${_HIP_CLANG_BIN_PATH}" DIRECTORY) ++ endif() ++ ++ ++ file(GLOB HIP_CLANG_INCLUDE_SEARCH_PATHS ${HIP_CLANG_ROOT}/lib/clang/*/include) ++ find_path(HIP_CLANG_INCLUDE_PATH stddef.h ++ HINTS + ${HIP_CLANG_INCLUDE_SEARCH_PATHS} +- NO_DEFAULT_PATH) ++ NO_DEFAULT_PATH) ++ # Since INTERFACE_INCLUDE_DIRECTORIES need to set the parent directory ++ # of HIP_CLANG_INCLUDE_PATH incase using find_path() of stddefs.h ++ set(HIP_CLANG_INCLUDE_PATH "${HIP_CLANG_INCLUDE_PATH}/..") ++ endif() # HIP_CXX_COMPILER Check ++ endif() # CLANG_INCLUDE_PATH_FETCH_EXIT_CODE Check ++ + if(NOT WIN32) + find_dependency(AMDDeviceLibs) + endif() + set(AMDGPU_TARGETS "gfx900;gfx906;gfx908;gfx90a;gfx1030" CACHE STRING "AMD GPU targets to compile for") + set(GPU_TARGETS "${AMDGPU_TARGETS}" CACHE STRING "GPU targets to compile for") +-endif() ++endif() # HIP_COMPILER check + + if(NOT WIN32) + find_dependency(amd_comgr) +@@ -263,11 +284,11 @@ if(HIP_COMPILER STREQUAL "clang") + hip_add_interface_link_flags(hip::device --hip-link) + + set_property(TARGET hip::device APPEND PROPERTY +- INTERFACE_INCLUDE_DIRECTORIES "${HIP_CLANG_INCLUDE_PATH}/.." ++ INTERFACE_INCLUDE_DIRECTORIES "${HIP_CLANG_INCLUDE_PATH}" + ) + + set_property(TARGET hip::device APPEND PROPERTY +- INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${HIP_CLANG_INCLUDE_PATH}/.." ++ INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${HIP_CLANG_INCLUDE_PATH}" + ) + + foreach(GPU_TARGET ${GPU_TARGETS}) +@@ -291,25 +312,24 @@ if(HIP_COMPILER STREQUAL "clang") + endif() + endif() + +- file(GLOB HIP_CLANGRT_LIB_SEARCH_PATHS "${HIP_CLANG_ROOT}/lib/clang/*/lib/*") +- find_library(CLANGRT_BUILTINS +- NAMES +- clang_rt.builtins +- clang_rt.builtins-x86_64 +- PATHS +- ${HIP_CLANGRT_LIB_SEARCH_PATHS} +- ${HIP_CLANG_INCLUDE_PATH}/../lib/linux +- ${HIP_CLANG_INCLUDE_PATH}/../lib/windows +- NO_DEFAULT_PATH) ++ ++ # Use HIP_CXX option -print-libgcc-file-name --rtlib=compiler-rt ++ # To fetch the compiler rt library file name. ++ execute_process( ++ COMMAND ${HIP_CXX_COMPILER} -print-libgcc-file-name --rtlib=compiler-rt ++ OUTPUT_VARIABLE CLANGRT_BUILTINS ++ OUTPUT_STRIP_TRAILING_WHITESPACE ++ RESULT_VARIABLE CLANGRT_BUILTINS_FETCH_EXIT_CODE) + + # Add support for __fp16 and _Float16, explicitly link with compiler-rt +- if(NOT CLANGRT_BUILTINS) +- message(FATAL_ERROR "clangrt builtins lib not found") +- else() ++ if( "${CLANGRT_BUILTINS_FETCH_EXIT_CODE}" STREQUAL "0" ) ++ # CLANG_RT Builtins found Successfully Set interface link libraries property + set_property(TARGET hip::host APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${CLANGRT_BUILTINS}") + set_property(TARGET hip::device APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${CLANGRT_BUILTINS}") +- endif() +-endif() ++ else() ++ message(STATUS "clangrt builtins lib not found: ${CLANGRT_BUILTINS_FETCH_EXIT_CODE}") ++ endif() # CLANGRT_BUILTINS_FETCH_EXIT_CODE Check ++endif() # HIP_COMPILER Check + + set( hip_LIBRARIES hip::host hip::device) + set( hip_LIBRARY ${hip_LIBRARIES}) +-- +2.38.1 + diff --git a/dev-util/hip/files/0002-SWDEV-355608-Remove-clang-include-path-2996.patch b/dev-util/hip/files/0002-SWDEV-355608-Remove-clang-include-path-2996.patch new file mode 100644 index 000000000000..6d64ad8c9fd8 --- /dev/null +++ b/dev-util/hip/files/0002-SWDEV-355608-Remove-clang-include-path-2996.patch @@ -0,0 +1,51 @@ +From 7613e00fe0299d6584d3ee67e5d4010e7fc0866a Mon Sep 17 00:00:00 2001 +From: ROCm CI Service Account <66695075+rocm-ci@users.noreply.github.com> +Date: Fri, 14 Oct 2022 16:02:40 +0530 +Subject: [PATCH 2/3] SWDEV-355608 - Remove clang include path (#2996) + +Clang doesn't need to be told where to find the clang headers + +Change-Id: I175781731c43647676d91eedc8a915124f2479ab +Signed-off-by: Yiyang Wu +--- + bin/hipcc.pl | 11 ----------- + 1 file changed, 11 deletions(-) + +diff --git a/bin/hipcc.pl b/bin/hipcc.pl +index 2a01dcc3..7e82cad8 100755 +--- a/bin/hipcc.pl ++++ b/bin/hipcc.pl +@@ -162,9 +162,6 @@ if ($HIP_PLATFORM eq "amd") { + $HIP_CLANG_RT_LIB = `$HIPCC --print-runtime-dir`; + chomp($HIP_CLANG_RT_LIB); + +- if (! defined $HIP_CLANG_INCLUDE_PATH) { +- $HIP_CLANG_INCLUDE_PATH = abs_path("$HIP_CLANG_PATH/../lib/clang/$HIP_CLANG_VERSION/include"); +- } + if (! defined $HIP_INCLUDE_PATH) { + $HIP_INCLUDE_PATH = "$HIP_PATH/include"; + } +@@ -177,20 +174,12 @@ if ($HIP_PLATFORM eq "amd") { + print ("HIP_ROCCLR_HOME=$HIP_ROCCLR_HOME\n"); + } + print ("HIP_CLANG_PATH=$HIP_CLANG_PATH\n"); +- print ("HIP_CLANG_INCLUDE_PATH=$HIP_CLANG_INCLUDE_PATH\n"); + print ("HIP_INCLUDE_PATH=$HIP_INCLUDE_PATH\n"); + print ("HIP_LIB_PATH=$HIP_LIB_PATH\n"); + print ("DEVICE_LIB_PATH=$DEVICE_LIB_PATH\n"); + print ("HIP_CLANG_RT_LIB=$HIP_CLANG_RT_LIB\n"); + } + +- if ($isWindows) { +- $HIPCXXFLAGS .= " -std=c++14 -fms-extensions -fms-compatibility"; +- } else { +- $HIPCXXFLAGS .= " -std=c++11"; +- } +- $HIPCXXFLAGS .= " -isystem \"$HIP_CLANG_INCLUDE_PATH/..\""; +- $HIPCFLAGS .= " -isystem \"$HIP_CLANG_INCLUDE_PATH/..\""; + $HIPLDFLAGS .= " -L\"$HIP_LIB_PATH\""; + if ($isWindows) { + $HIPLDFLAGS .= " -lamdhip64"; +-- +2.38.1 + diff --git a/dev-util/hip/files/0003-SWDEV-352878-Removed-relative-path-based-CLANG-inclu.patch b/dev-util/hip/files/0003-SWDEV-352878-Removed-relative-path-based-CLANG-inclu.patch new file mode 100644 index 000000000000..f92cce4cf8d8 --- /dev/null +++ b/dev-util/hip/files/0003-SWDEV-352878-Removed-relative-path-based-CLANG-inclu.patch @@ -0,0 +1,173 @@ +From fddbcef9a5a45ab63d4805c53d1f8fcf5c30d095 Mon Sep 17 00:00:00 2001 +From: ROCm CI Service Account <66695075+rocm-ci@users.noreply.github.com> +Date: Fri, 6 Jan 2023 02:37:15 +0530 +Subject: [PATCH 3/3] SWDEV-352878 - Removed relative path based CLANG include, + CLANGRT dependencies (#3124) + +Change-Id: Ifdcd117679bff548a6351ba915a8272689e647de +Signed-off-by: Yiyang Wu +--- + cmake/FindHIP.cmake | 37 ++++++++++++++++++++++++++++- + hip-lang-config.cmake.in | 51 +++++++++++++++++++++------------------- + 2 files changed, 63 insertions(+), 25 deletions(-) + +diff --git a/cmake/FindHIP.cmake b/cmake/FindHIP.cmake +index 8b196dea..109c9f65 100644 +--- a/cmake/FindHIP.cmake ++++ b/cmake/FindHIP.cmake +@@ -48,6 +48,29 @@ mark_as_advanced(HIP_HOST_COMPILATION_CPP) + # FIND: HIP and associated helper binaries + ############################################################################### + ++if(NOT HIP_CXX_COMPILER) ++ set(HIP_CXX_COMPILER ${CMAKE_CXX_COMPILER}) ++endif() ++ ++# Approach: To find HIP_CLANG_PATH using HIP_CXX_COMPILER options ++# Using --version option of HIP_CXX_COMPILER get the Install Directory ++# This install directory is set as the HIP_CLANG_PATH. ++# IF not successful in getting the Install Directory using HIP_CXX_COMPILER ++# fallback to Old Method to find HIP_CLANG_PATH from ENV Vars, ROCMPATH, HIPPATH etc. ++execute_process(COMMAND ${HIP_CXX_COMPILER} --version ++ OUTPUT_STRIP_TRAILING_WHITESPACE ++ OUTPUT_VARIABLE HIP_CXX_COMPILER_VERSION_OUTPUT) ++if(HIP_CXX_COMPILER MATCHES ".*hipcc") ++ if(HIP_CXX_COMPILER_VERSION_OUTPUT MATCHES "InstalledDir:[ \t]*([^\n]*)") ++ get_filename_component(HIP_CLANG_INSTALL_DIR "${CMAKE_MATCH_1}" DIRECTORY) ++ endif() ++elseif (HIP_CXX_COMPILER MATCHES ".*clang\\+\\+") ++ get_filename_component(_HIP_CLANG_REAL_PATH "${HIP_CXX_COMPILER}" REALPATH) ++ get_filename_component(_HIP_CLANG_BIN_PATH "${_HIP_CLANG_REAL_PATH}" DIRECTORY) ++ get_filename_component(HIP_CLANG_INSTALL_DIR "${_HIP_CLANG_BIN_PATH}" DIRECTORY) ++endif() ++ ++ + get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_DIR}/../" REALPATH) + + # HIP is currently not supported for apple +@@ -230,6 +253,10 @@ if("${HIP_COMPILER}" STREQUAL "nvcc") + elseif("${HIP_COMPILER}" STREQUAL "clang") + #Set HIP_CLANG_PATH + if("x${HIP_CLANG_PATH}" STREQUAL "x") ++ # IF HIP_CLANG_INSTALL_DIR is Found ++ if( HIP_CLANG_INSTALL_DIR ) ++ set(HIP_CLANG_PATH ${HIP_CLANG_INSTALL_DIR}) ++ else() # IF HIP_CLANG_INSTALL_DIR is not found + if(DEFINED ENV{HIP_CLANG_PATH}) + set(HIP_CLANG_PATH $ENV{HIP_CLANG_PATH}) + elseif(DEFINED ENV{ROCM_PATH}) +@@ -252,7 +279,9 @@ elseif("${HIP_COMPILER}" STREQUAL "clang") + else() + message(FATAL_ERROR "Unable to find the clang compiler path. Set ROCM_PATH or HIP_PATH in env ") + endif() +- endif() ++ endif() # HIP_CLANG_INSTALL_DIR Check ++ endif() # Set HIP_CLANG_PATH ++ + #Number of parallel jobs by default is 1 + if(NOT DEFINED HIP_CLANG_NUM_PARALLEL_JOBS) + set(HIP_CLANG_NUM_PARALLEL_JOBS 1) +@@ -660,6 +689,10 @@ macro(HIP_ADD_EXECUTABLE hip_target) + endif() + if("${HIP_COMPILER}" STREQUAL "clang") + if("x${HIP_CLANG_PATH}" STREQUAL "x") ++ # IF HIP_CLANG_INSTALL_DIR is Found ++ if( HIP_CLANG_INSTALL_DIR ) ++ set(HIP_CLANG_PATH ${HIP_CLANG_INSTALL_DIR}) ++ else() # IF HIP_CLANG_INSTALL_DIR is not found + if(DEFINED ENV{HIP_CLANG_PATH}) + set(HIP_CLANG_PATH $ENV{HIP_CLANG_PATH}) + elseif(DEFINED ENV{ROCM_PATH}) +@@ -682,7 +715,9 @@ macro(HIP_ADD_EXECUTABLE hip_target) + else() + message(FATAL_ERROR "Unable to find the clang compiler path. Set ROCM_PATH or HIP_PATH in env") + endif() ++ endif() # HIP_CLANG_INSTALL_DIR Check + endif() ++ + set(CMAKE_HIP_LINK_EXECUTABLE "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HIP_CLANG_PATH} ${HIP_CLANG_PARALLEL_BUILD_LINK_OPTIONS} -o ") + else() + set(CMAKE_HIP_LINK_EXECUTABLE "${HIP_HIPCC_CMAKE_LINKER_HELPER} -o ") +diff --git a/hip-lang-config.cmake.in b/hip-lang-config.cmake.in +index 9250a68a..1cf4e40f 100644 +--- a/hip-lang-config.cmake.in ++++ b/hip-lang-config.cmake.in +@@ -70,15 +70,6 @@ get_filename_component(_DIR "${CMAKE_CURRENT_LIST_DIR}" REALPATH) + get_filename_component(_IMPORT_PREFIX "${_DIR}/../../../" REALPATH) + + +-#need _IMPORT_PREFIX to be set #FILE_REORG_BACKWARD_COMPATIBILITY +-file(GLOB HIP_CLANG_INCLUDE_SEARCH_PATHS "${_IMPORT_PREFIX}/../llvm/lib/clang/*/include") +-file(GLOB HIP_CLANG_INCLUDE_SEARCH_PATHS_REORG "${_IMPORT_PREFIX}/llvm/lib/clang/*/include") +-find_path(HIP_CLANG_INCLUDE_PATH __clang_cuda_math.h +- HINTS ${HIP_CLANG_INCLUDE_SEARCH_PATHS} +- ${HIP_CLANG_INCLUDE_SEARCH_PATHS_REORG} +- NO_DEFAULT_PATH) +-get_filename_component(HIP_CLANG_INCLUDE_PATH "${HIP_CLANG_INCLUDE_PATH}" DIRECTORY) +- + #If HIP isnot installed under ROCm, need this to find HSA assuming HSA is under ROCm + if( DEFINED ENV{ROCM_PATH} ) + set(ROCM_PATH "$ENV{ROCM_PATH}") +@@ -96,18 +87,10 @@ if (NOT HSA_HEADER) + message (FATAL_ERROR "HSA header not found! ROCM_PATH environment not set") + endif() + +-get_filename_component(HIP_COMPILER_INSTALL_PATH ${CMAKE_HIP_COMPILER} DIRECTORY) +-file(GLOB HIP_CLANGRT_LIB_SEARCH_PATHS "${HIP_COMPILER_INSTALL_PATH}/../lib/clang/*/lib/*") +-find_library(CLANGRT_BUILTINS +- NAMES +- clang_rt.builtins +- clang_rt.builtins-x86_64 +- PATHS +- ${HIP_CLANGRT_LIB_SEARCH_PATHS} +- ${HIP_CLANG_INCLUDE_PATH}/../lib/linux) ++ + set_target_properties(hip-lang::device PROPERTIES +- INTERFACE_INCLUDE_DIRECTORIES "$<$:${_IMPORT_PREFIX}/include;${HIP_CLANG_INCLUDE_PATH}>" +- INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "$<$:${_IMPORT_PREFIX}/include;${HIP_CLANG_INCLUDE_PATH}>" ++ INTERFACE_INCLUDE_DIRECTORIES "$<$:${_IMPORT_PREFIX}/include>" ++ INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "$<$:${_IMPORT_PREFIX}/include>" + ) + + set_target_properties(hip-lang::amdhip64 PROPERTIES +@@ -133,13 +116,33 @@ set_property(TARGET hip-lang::device APPEND PROPERTY + INTERFACE_LINK_OPTIONS "$<$:--hip-link>" + ) + ++# Approach: Check CLANGRT LIB support for CMAKE_HIP_COMPILER ++# Use CMAKE_HIP_COMPILER option -print-libgcc-file-name --rtlib=compiler-rt ++# Note: For Linux add additional option -unwindlib=libgcc also ++# To fetch the compiler rt library file name and confirm. ++# If unsuccessful in getting clangrt using this option then ++# FATAL_ERROR message send since compiler-rt linkage dependency is mandatory. ++# If successful then --rtlib=compiler-rt (and -unwindlib=libgcc for non windows) ++# added to Target's INTERFACE_LINK_LIBRARIES property ++if (NOT WIN32) ++ set(CLANGRT_LINUX_OPTION "-unwindlib=libgcc") ++endif() ++ ++execute_process( ++ COMMAND ${CMAKE_HIP_COMPILER} -print-libgcc-file-name --rtlib=compiler-rt ${CLANGRT_LINUX_OPTION} ++ OUTPUT_VARIABLE CLANGRT_BUILTINS ++ OUTPUT_STRIP_TRAILING_WHITESPACE ++ RESULT_VARIABLE CLANGRT_BUILTINS_FETCH_EXIT_CODE) ++ + # Add support for __fp16 and _Float16, explicitly link with compiler-rt +-if(NOT CLANGRT_BUILTINS) +- message(FATAL_ERROR "clangrt builtins lib not found") +-else() ++if( "${CLANGRT_BUILTINS_FETCH_EXIT_CODE}" STREQUAL "0" ) + set_property(TARGET hip-lang::device APPEND PROPERTY +- INTERFACE_LINK_LIBRARIES "$<$:${CLANGRT_BUILTINS}>" ++ INTERFACE_LINK_OPTIONS $<$:--rtlib=compiler-rt ${CLANGRT_LINUX_OPTION}> + ) ++else() ++ # FATAL_ERROR send if not successfull on compiler-rt linkage dependency ++ message(FATAL_ERROR ++ "${CMAKE_FIND_PACKAGE_NAME} Error:${CLANGRT_BUILTINS_FETCH_EXIT_CODE} - clangrt builtins lib could not be found.") + endif() + + # Approved by CMake to use this name. This is used so that HIP can +-- +2.38.1 + diff --git a/dev-util/hip/files/hip-5.3.3-disable-Werror.patch b/dev-util/hip/files/hip-5.3.3-disable-Werror.patch new file mode 100644 index 000000000000..bed46bd144f4 --- /dev/null +++ b/dev-util/hip/files/hip-5.3.3-disable-Werror.patch @@ -0,0 +1,16 @@ +Index: hipamd-rocm-5.3.3/src/CMakeLists.txt +=================================================================== +--- hipamd-rocm-5.3.3.orig/src/CMakeLists.txt ++++ hipamd-rocm-5.3.3/src/CMakeLists.txt +@@ -44,11 +44,6 @@ if(ADDRESS_SANITIZER) + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${ASAN_LINKER_FLAGS} -Wl,--build-id=sha1") + endif() + +-if(CMAKE_COMPILER_IS_GNUCC) +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") +-endif() +- + option(DISABLE_DIRECT_DISPATCH "Disable Direct Dispatch" OFF) + + option(BUILD_SHARED_LIBS "Build the shared library" ON) diff --git a/dev-util/hip/files/hip-5.3.3-remove-cmake-doxygen-commands.patch b/dev-util/hip/files/hip-5.3.3-remove-cmake-doxygen-commands.patch new file mode 100644 index 000000000000..c4cd955bed90 --- /dev/null +++ b/dev-util/hip/files/hip-5.3.3-remove-cmake-doxygen-commands.patch @@ -0,0 +1,21 @@ +Index: hipamd-rocm-5.3.3/packaging/CMakeLists.txt +=================================================================== +--- hipamd-rocm-5.3.3.orig/packaging/CMakeLists.txt ++++ hipamd-rocm-5.3.3/packaging/CMakeLists.txt +@@ -94,16 +94,6 @@ install(FILES ${CMAKE_BINARY_DIR}/.hipVe + install(DIRECTORY ${HIP_COMMON_DIR}/cmake/ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hip COMPONENT dev) + #End dev files install + +-#Begin doc files install +-find_program(DOXYGEN_EXE doxygen) +-if(DOXYGEN_EXE) +- add_custom_target(build_doxygen ALL +- COMMAND HIP_PATH=${HIP_COMMON_DIR} doxygen ${HIP_COMMON_DIR}/docs/doxygen-input/doxy.cfg) +- install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/RuntimeAPI/html +- DESTINATION ${CMAKE_INSTALL_DOCDIR}/RuntimeAPI COMPONENT doc) +-endif() +-#End doc files install +- + #Begin samples files install + install(DIRECTORY ${HIP_COMMON_DIR}/samples DESTINATION ${CMAKE_INSTALL_DATADIR}/hip COMPONENT samples) + #End samples files install diff --git a/dev-util/hip/files/hipvars-5.3.3.pm b/dev-util/hip/files/hipvars-5.3.3.pm new file mode 100644 index 000000000000..fd1403661efb --- /dev/null +++ b/dev-util/hip/files/hipvars-5.3.3.pm @@ -0,0 +1,20 @@ +#!/usr/bin/perl -w +package hipvars; + +$HIP_BASE_VERSION_MAJOR = "@HIP_BASE_VERSION_MAJOR@"; +$HIP_BASE_VERSION_MINOR = "@HIP_BASE_VERSION_MINOR@"; + +$isWindows = 0; +$HIP_PATH='/usr'; +$ROCM_PATH='/usr'; +$CUDA_PATH='/opt/cuda'; +$HSA_PATH='/usr'; +$HIP_CLANG_PATH='@CLANG_PATH@'; +$HIP_ROCCLR_HOME=$HIP_PATH; +$HIP_PLATFORM='amd'; +$HIP_COMPILER = "clang"; +$HIP_RUNTIME = "rocclr"; +$HIP_VERSION_MAJOR = $HIP_BASE_VERSION_MAJOR; +$HIP_VERSION_MINOR = $HIP_BASE_VERSION_MINOR; +$HIP_VERSION_PATCH = "@HIP_VERSION_PATCH@"; +$HIP_VERSION="$HIP_VERSION_MAJOR.$HIP_VERSION_MINOR.$HIP_VERSION_PATCH"; diff --git a/dev-util/hip/hip-5.1.3-r3.ebuild b/dev-util/hip/hip-5.1.3-r3.ebuild deleted file mode 100644 index 56090c5077df..000000000000 --- a/dev-util/hip/hip-5.1.3-r3.ebuild +++ /dev/null @@ -1,174 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{9..11} ) -DOCS_BUILDER="doxygen" -DOCS_DEPEND="media-gfx/graphviz" - -inherit cmake docs llvm prefix python-any-r1 - -LLVM_MAX_SLOT=15 - -DESCRIPTION="C++ Heterogeneous-Compute Interface for Portability" -HOMEPAGE="https://github.com/ROCm-Developer-Tools/hipamd" -SRC_URI="https://github.com/ROCm-Developer-Tools/hipamd/archive/rocm-${PV}.tar.gz -> rocm-hipamd-${PV}.tar.gz - https://github.com/ROCm-Developer-Tools/HIP/archive/rocm-${PV}.tar.gz -> rocm-hip-${PV}.tar.gz - https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-${PV}.tar.gz -> rocclr-${PV}.tar.gz - https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-${PV}.tar.gz -> rocm-opencl-runtime-${PV}.tar.gz - profile? ( https://github.com/ROCm-Developer-Tools/roctracer/archive/refs/tags/rocm-${PV}.tar.gz -> rocm-tracer-${PV}.tar.gz - https://github.com/ROCm-Developer-Tools/hipamd/files/8991181/hip_prof_str_diff.gz -> ${P}-update-header.patch.gz - )" - -KEYWORDS="~amd64" -LICENSE="MIT" -SLOT="0/$(ver_cut 1-2)" - -IUSE="debug profile" - -DEPEND=" - >=dev-util/rocminfo-5 - sys-devel/clang:${LLVM_MAX_SLOT} - dev-libs/rocm-comgr:${SLOT} - virtual/opengl -" -RDEPEND="${DEPEND} - dev-perl/URI-Encode - sys-devel/clang-runtime:= - >=dev-libs/roct-thunk-interface-5" -BDEPEND="profile? ( $(python_gen_any_dep ' - dev-python/CppHeaderParser[${PYTHON_USEDEP}] - ') ) -" - -PATCHES=( - "${FILESDIR}/${PN}-5.0.1-DisableTest.patch" - "${FILESDIR}/${PN}-4.2.0-config-cmake-in.patch" - "${FILESDIR}/${PN}-5.0.1-hip_vector_types.patch" - "${FILESDIR}/${PN}-4.2.0-cancel-hcc-header-removal.patch" - "${FILESDIR}/${PN}-5.0.2-set-build-id.patch" - "${FILESDIR}/${PN}-5.1.3-fix-hip_prof_gen.patch" - "${FILESDIR}/${PN}-5.1.3-correct-sample-install-location.patch" - "${FILESDIR}/${PN}-5.1.3-remove-cmake-doxygen-commands.patch" - "${FILESDIR}/0001-SWDEV-316128-HIP-surface-API-support.patch" - "${FILESDIR}/${PN}-5.1.3-llvm-15-noinline-keyword.patch" -) - -python_check_deps() { - if use profile; then - python_has_version "dev-python/CppHeaderParser[${PYTHON_USEDEP}]" - fi -} - -S="${WORKDIR}/hipamd-rocm-${PV}" -HIP_S="${WORKDIR}"/HIP-rocm-${PV} -OCL_S="${WORKDIR}"/ROCm-OpenCL-Runtime-rocm-${PV} -CLR_S="${WORKDIR}"/ROCclr-rocm-${PV} -RTC_S="${WORKDIR}"/roctracer-rocm-${PV} -DOCS_DIR="${HIP_S}"/docs/doxygen-input -DOCS_CONFIG_NAME=doxy.cfg - -src_prepare() { - cmake_src_prepare - use profile && eapply "${WORKDIR}/${P}-update-header.patch" - - eapply_user - - # Use Gentoo slot number, otherwise git hash is attempted in vain. - sed -e "/set (HIP_LIB_VERSION_STRING/cset (HIP_LIB_VERSION_STRING ${SLOT#*/})" -i CMakeLists.txt || die - - # disable PCH, because it results in a build error in ROCm 4.0.0 - sed -e "s:option(__HIP_ENABLE_PCH:#option(__HIP_ENABLE_PCH:" -i CMakeLists.txt || die - - # correctly find HIP_CLANG_INCLUDE_PATH using cmake - local LLVM_PREFIX="$(get_llvm_prefix "${LLVM_MAX_SLOT}")" - local CLANG_RESOURCE_DIR=$("${LLVM_PREFIX}/bin/clang" -print-resource-dir) - sed -e "/set(HIP_CLANG_ROOT/s:\"\${ROCM_PATH}/llvm\":${LLVM_PREFIX}:" -i hip-config.cmake.in || die - - # correct libs and cmake install dir - sed -e "/LIB_INSTALL_DIR/s:PREFIX}/lib:PREFIX}/$(get_libdir):" \ - -e "/\${HIP_COMMON_DIR}/s:cmake DESTINATION .):cmake/ DESTINATION share/cmake/Modules):" -i CMakeLists.txt || die - sed -e "/LIBRARY DESTINATION/s:lib:$(get_libdir):" -i src/CMakeLists.txt || die - - sed -e "/\.hip/d" \ - -e "s,DESTINATION lib,DESTINATION $(get_libdir),g" \ - -e "/cmake DESTINATION/d" \ - -e "/CPACK_RESOURCE_FILE_LICENSE/d" -i packaging/CMakeLists.txt || die - - pushd ${HIP_S} || die - eapply "${FILESDIR}/${PN}-5.1.3-clang-include-path.patch" - eapply "${FILESDIR}/${PN}-5.1.3-rocm-path.patch" - eapply "${FILESDIR}/${PN}-5.0.2-correct-ldflag.patch" - eapply "${FILESDIR}/${PN}-5.1.3-fno-stack-protector.patch" - # Setting HSA_PATH to "/usr" results in setting "-isystem /usr/include" - # which makes "stdlib.h" not found when using "#include_next" in header files; - sed -e "/FLAGS .= \" -isystem \$HSA_PATH/d" \ - -e "/HIP.*FLAGS.*isystem.*HIP_INCLUDE_PATH/d" \ - -e "s:\$ENV{'DEVICE_LIB_PATH'}:'/usr/lib/amdgcn/bitcode':" \ - -e "s:\$ENV{'HIP_LIB_PATH'}:'/usr/$(get_libdir)':" \ - -e "/rpath/s,--rpath=[^ ]*,," \ - -e "s,\$HIP_CLANG_PATH/../lib/clang/\$HIP_CLANG_VERSION/,${CLANG_RESOURCE_DIR}/,g" \ - -i bin/hipcc.pl || die - - # change --hip-device-lib-path to "/usr/lib/amdgcn/bitcode", must align with "dev-libs/rocm-device-libs" - sed -e "s:\${AMD_DEVICE_LIBS_PREFIX}/lib:/usr/lib/amdgcn/bitcode:" \ - -i "${S}/hip-config.cmake.in" || die - - einfo "prefixing hipcc and its utils..." - hprefixify $(grep -rl --exclude-dir=build/ "/usr" "${S}") - hprefixify $(grep -rl --exclude-dir=build/ "/usr" "${HIP_S}") - - cp "$(prefixify_ro "${FILESDIR}"/hipvars-5.1.3.pm)" bin/hipvars.pm || die "failed to replace hipvars.pm" - sed -e "s,@HIP_BASE_VERSION_MAJOR@,$(ver_cut 1)," -e "s,@HIP_BASE_VERSION_MINOR@,$(ver_cut 2)," \ - -e "s,@HIP_VERSION_PATCH@,$(ver_cut 3)," \ - -e "s,@CLANG_INCLUDE_PATH@,${CLANG_RESOURCE_DIR}/include," \ - -e "s,@CLANG_PATH@,${LLVM_PREFIX}/bin," -i bin/hipvars.pm || die - - sed -e "/HIP_CLANG_INCLUDE_SEARCH_PATHS/s,\${_IMPORT_PREFIX}.*/include,${CLANG_RESOURCE_DIR}/include," -i hip-lang-config.cmake.in || die - popd || die - sed -e "/HIP_CLANG_INCLUDE_SEARCH_PATHS/s,\${HIP_CLANG_ROOT}.*/include,${CLANG_RESOURCE_DIR}/include," -i hip-config.cmake.in || die -} - -src_configure() { - use debug && CMAKE_BUILD_TYPE="Debug" - - # TODO: Currently a GENTOO configuration is build, - # this is also used in the cmake configuration files - # which will be installed to find HIP; - # Other ROCm packages expect a "RELEASE" configuration, - # see "hipBLAS" - local mycmakeargs=( - -DCMAKE_PREFIX_PATH="$(get_llvm_prefix "${LLVM_MAX_SLOT}")" - -DCMAKE_BUILD_TYPE=${buildtype} - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" - -DCMAKE_SKIP_RPATH=ON - -DBUILD_HIPIFY_CLANG=OFF - -DHIP_PLATFORM=amd - -DHIP_COMPILER=clang - -DROCM_PATH="${EPREFIX}/usr" - -DUSE_PROF_API=$(usex profile 1 0) - -DROCCLR_PATH=${CLR_S} - -DHIP_COMMON_DIR=${HIP_S} - -DAMD_OPENCL_PATH=${OCL_S} - ) - - use profile && mycmakeargs+=( -DPROF_API_HEADER_PATH="${RTC_S}"/inc/ext ) - - cmake_src_configure -} - -src_compile() { - HIP_PATH=${HIP_S} docs_compile - cmake_src_compile -} - -src_install() { - - cmake_src_install - - rm "${ED}/usr/include/hip/hcc_detail" || die - - # Don't install .hipInfo and .hipVersion to bin/lib - rm "${ED}/usr/lib/.hipInfo" "${ED}/usr/bin/.hipVersion" || die -} diff --git a/dev-util/hip/hip-5.1.3-r4.ebuild b/dev-util/hip/hip-5.1.3-r4.ebuild new file mode 100644 index 000000000000..3ea312756ff5 --- /dev/null +++ b/dev-util/hip/hip-5.1.3-r4.ebuild @@ -0,0 +1,174 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) +DOCS_BUILDER="doxygen" +DOCS_DEPEND="media-gfx/graphviz" + +inherit cmake docs llvm prefix python-any-r1 + +LLVM_MAX_SLOT=15 + +DESCRIPTION="C++ Heterogeneous-Compute Interface for Portability" +HOMEPAGE="https://github.com/ROCm-Developer-Tools/hipamd" +SRC_URI="https://github.com/ROCm-Developer-Tools/hipamd/archive/rocm-${PV}.tar.gz -> rocm-hipamd-${PV}.tar.gz + https://github.com/ROCm-Developer-Tools/HIP/archive/rocm-${PV}.tar.gz -> rocm-hip-${PV}.tar.gz + https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-${PV}.tar.gz -> rocclr-${PV}.tar.gz + https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-${PV}.tar.gz -> rocm-opencl-runtime-${PV}.tar.gz + profile? ( https://github.com/ROCm-Developer-Tools/roctracer/archive/refs/tags/rocm-${PV}.tar.gz -> rocm-tracer-${PV}.tar.gz + https://github.com/ROCm-Developer-Tools/hipamd/files/8991181/hip_prof_str_diff.gz -> ${P}-update-header.patch.gz + )" + +KEYWORDS="~amd64" +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" + +IUSE="debug profile" + +DEPEND=" + >=dev-util/rocminfo-5 + sys-devel/clang:${LLVM_MAX_SLOT} + dev-libs/rocm-comgr:${SLOT} + virtual/opengl +" +RDEPEND="${DEPEND} + dev-perl/URI-Encode + sys-devel/clang-runtime:= + >=dev-libs/roct-thunk-interface-5" +BDEPEND="profile? ( $(python_gen_any_dep ' + dev-python/CppHeaderParser[${PYTHON_USEDEP}] + ') ) +" + +PATCHES=( + "${FILESDIR}/${PN}-5.0.1-DisableTest.patch" + "${FILESDIR}/${PN}-4.2.0-config-cmake-in.patch" + "${FILESDIR}/${PN}-5.0.1-hip_vector_types.patch" + "${FILESDIR}/${PN}-4.2.0-cancel-hcc-header-removal.patch" + "${FILESDIR}/${PN}-5.0.2-set-build-id.patch" + "${FILESDIR}/${PN}-5.1.3-fix-hip_prof_gen.patch" + "${FILESDIR}/${PN}-5.1.3-correct-sample-install-location.patch" + "${FILESDIR}/${PN}-5.1.3-remove-cmake-doxygen-commands.patch" + "${FILESDIR}/0001-SWDEV-316128-HIP-surface-API-support.patch" + "${FILESDIR}/${PN}-5.1.3-llvm-15-noinline-keyword.patch" +) + +python_check_deps() { + if use profile; then + python_has_version "dev-python/CppHeaderParser[${PYTHON_USEDEP}]" + fi +} + +S="${WORKDIR}/hipamd-rocm-${PV}" +HIP_S="${WORKDIR}"/HIP-rocm-${PV} +OCL_S="${WORKDIR}"/ROCm-OpenCL-Runtime-rocm-${PV} +CLR_S="${WORKDIR}"/ROCclr-rocm-${PV} +RTC_S="${WORKDIR}"/roctracer-rocm-${PV} +DOCS_DIR="${HIP_S}"/docs/doxygen-input +DOCS_CONFIG_NAME=doxy.cfg + +src_prepare() { + cmake_src_prepare + use profile && eapply "${WORKDIR}/${P}-update-header.patch" + + eapply_user + + # Use Gentoo slot number, otherwise git hash is attempted in vain. + sed -e "/set (HIP_LIB_VERSION_STRING/cset (HIP_LIB_VERSION_STRING ${SLOT#*/})" -i CMakeLists.txt || die + + # disable PCH, because it results in a build error in ROCm 4.0.0 + sed -e "s:option(__HIP_ENABLE_PCH:#option(__HIP_ENABLE_PCH:" -i CMakeLists.txt || die + + # correctly find HIP_CLANG_INCLUDE_PATH using cmake + local LLVM_PREFIX="$(get_llvm_prefix "${LLVM_MAX_SLOT}")" + local CLANG_RESOURCE_DIR=$("${LLVM_PREFIX}/bin/clang" -print-resource-dir) + sed -e "/set(HIP_CLANG_ROOT/s:\"\${ROCM_PATH}/llvm\":${LLVM_PREFIX}:" -i hip-config.cmake.in || die + + # correct libs and cmake install dir + sed -e "/LIB_INSTALL_DIR/s:PREFIX}/lib:PREFIX}/$(get_libdir):" \ + -e "/\${HIP_COMMON_DIR}/s:cmake DESTINATION .):cmake/ DESTINATION share/cmake/Modules):" -i CMakeLists.txt || die + sed -e "/LIBRARY DESTINATION/s:lib:$(get_libdir):" -i src/CMakeLists.txt || die + + sed -e "/\.hip/d" \ + -e "s,DESTINATION lib,DESTINATION $(get_libdir),g" \ + -e "/cmake DESTINATION/d" \ + -e "/CPACK_RESOURCE_FILE_LICENSE/d" -i packaging/CMakeLists.txt || die + + pushd ${HIP_S} || die + eapply "${FILESDIR}/${PN}-5.1.3-clang-include-path.patch" + eapply "${FILESDIR}/${PN}-5.1.3-rocm-path.patch" + eapply "${FILESDIR}/${PN}-5.0.2-correct-ldflag.patch" + eapply "${FILESDIR}/${PN}-5.1.3-fno-stack-protector.patch" + # Setting HSA_PATH to "/usr" results in setting "-isystem /usr/include" + # which makes "stdlib.h" not found when using "#include_next" in header files; + sed -e "/FLAGS .= \" -isystem \$HSA_PATH/d" \ + -e "/HIP.*FLAGS.*isystem.*HIP_INCLUDE_PATH/d" \ + -e "s:\$ENV{'DEVICE_LIB_PATH'}:'${EPREFIX}/usr/lib/amdgcn/bitcode':" \ + -e "s:\$ENV{'HIP_LIB_PATH'}:'${EPREFIX}/usr/$(get_libdir)':" \ + -e "/rpath/s,--rpath=[^ ]*,," \ + -e "s,\$HIP_CLANG_PATH/../lib/clang/\$HIP_CLANG_VERSION/,${CLANG_RESOURCE_DIR}/,g" \ + -i bin/hipcc.pl || die + + # change --hip-device-lib-path to "/usr/lib/amdgcn/bitcode", must align with "dev-libs/rocm-device-libs" + sed -e "s:\${AMD_DEVICE_LIBS_PREFIX}/lib:${EPREFIX}/usr/lib/amdgcn/bitcode:" \ + -i "${S}/hip-config.cmake.in" || die + + einfo "prefixing hipcc and its utils..." + hprefixify $(grep -rl --exclude-dir=build/ --exclude="hip-config.cmake.in" "/usr" "${S}") + hprefixify $(grep -rl --exclude-dir=build/ --exclude="hipcc.pl" "/usr" "${HIP_S}") + + cp "$(prefixify_ro "${FILESDIR}"/hipvars-5.1.3.pm)" bin/hipvars.pm || die "failed to replace hipvars.pm" + sed -e "s,@HIP_BASE_VERSION_MAJOR@,$(ver_cut 1)," -e "s,@HIP_BASE_VERSION_MINOR@,$(ver_cut 2)," \ + -e "s,@HIP_VERSION_PATCH@,$(ver_cut 3)," \ + -e "s,@CLANG_INCLUDE_PATH@,${CLANG_RESOURCE_DIR}/include," \ + -e "s,@CLANG_PATH@,${LLVM_PREFIX}/bin," -i bin/hipvars.pm || die + + sed -e "/HIP_CLANG_INCLUDE_SEARCH_PATHS/s,\${_IMPORT_PREFIX}.*/include,${CLANG_RESOURCE_DIR}/include," -i hip-lang-config.cmake.in || die + popd || die + sed -e "/HIP_CLANG_INCLUDE_SEARCH_PATHS/s,\${HIP_CLANG_ROOT}.*/include,${CLANG_RESOURCE_DIR}/include," -i hip-config.cmake.in || die +} + +src_configure() { + use debug && CMAKE_BUILD_TYPE="Debug" + + # TODO: Currently a GENTOO configuration is build, + # this is also used in the cmake configuration files + # which will be installed to find HIP; + # Other ROCm packages expect a "RELEASE" configuration, + # see "hipBLAS" + local mycmakeargs=( + -DCMAKE_PREFIX_PATH="$(get_llvm_prefix "${LLVM_MAX_SLOT}")" + -DCMAKE_BUILD_TYPE=${buildtype} + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" + -DCMAKE_SKIP_RPATH=ON + -DBUILD_HIPIFY_CLANG=OFF + -DHIP_PLATFORM=amd + -DHIP_COMPILER=clang + -DROCM_PATH="${EPREFIX}/usr" + -DUSE_PROF_API=$(usex profile 1 0) + -DROCCLR_PATH=${CLR_S} + -DHIP_COMMON_DIR=${HIP_S} + -DAMD_OPENCL_PATH=${OCL_S} + ) + + use profile && mycmakeargs+=( -DPROF_API_HEADER_PATH="${RTC_S}"/inc/ext ) + + cmake_src_configure +} + +src_compile() { + HIP_PATH=${HIP_S} docs_compile + cmake_src_compile +} + +src_install() { + + cmake_src_install + + rm "${ED}/usr/include/hip/hcc_detail" || die + + # Don't install .hipInfo and .hipVersion to bin/lib + rm "${ED}/usr/lib/.hipInfo" "${ED}/usr/bin/.hipVersion" || die +} diff --git a/dev-util/hip/hip-5.3.3-r1.ebuild b/dev-util/hip/hip-5.3.3-r1.ebuild deleted file mode 100644 index 07b7709afbc2..000000000000 --- a/dev-util/hip/hip-5.3.3-r1.ebuild +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{9..11} ) -DOCS_BUILDER="doxygen" -DOCS_DEPEND="media-gfx/graphviz" - -inherit cmake docs llvm prefix python-any-r1 - -LLVM_MAX_SLOT=15 - -DESCRIPTION="C++ Heterogeneous-Compute Interface for Portability" -HOMEPAGE="https://github.com/ROCm-Developer-Tools/hipamd" -SRC_URI="https://github.com/ROCm-Developer-Tools/hipamd/archive/rocm-${PV}.tar.gz -> rocm-hipamd-${PV}.tar.gz - https://github.com/ROCm-Developer-Tools/HIP/archive/rocm-${PV}.tar.gz -> rocm-hip-${PV}.tar.gz - https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-${PV}.tar.gz -> rocclr-${PV}.tar.gz - https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-${PV}.tar.gz -> rocm-opencl-runtime-${PV}.tar.gz - profile? ( https://github.com/ROCm-Developer-Tools/roctracer/archive/refs/tags/rocm-${PV}.tar.gz -> rocm-tracer-${PV}.tar.gz - https://github.com/ROCm-Developer-Tools/hipamd/files/8991181/hip_prof_str_diff.gz -> ${P}-update-header.patch.gz - )" - -KEYWORDS="~amd64" -LICENSE="MIT" -SLOT="0/$(ver_cut 1-2)" - -IUSE="debug profile" - -DEPEND=" - >=dev-util/rocminfo-5 - sys-devel/clang:${LLVM_MAX_SLOT} - dev-libs/rocm-comgr:${SLOT} - virtual/opengl -" -RDEPEND="${DEPEND} - dev-perl/URI-Encode - sys-devel/clang-runtime:= - >=dev-libs/roct-thunk-interface-5" -BDEPEND="profile? ( $(python_gen_any_dep ' - dev-python/CppHeaderParser[${PYTHON_USEDEP}] - ') ) -" - -PATCHES=( - "${FILESDIR}/${PN}-5.0.1-DisableTest.patch" - "${FILESDIR}/${PN}-5.0.1-hip_vector_types.patch" - "${FILESDIR}/${PN}-5.0.2-set-build-id.patch" -) - -python_check_deps() { - if use profile; then - python_has_version "dev-python/CppHeaderParser[${PYTHON_USEDEP}]" - fi -} - -S="${WORKDIR}/hipamd-rocm-${PV}" -HIP_S="${WORKDIR}"/HIP-rocm-${PV} -OCL_S="${WORKDIR}"/ROCm-OpenCL-Runtime-rocm-${PV} -CLR_S="${WORKDIR}"/ROCclr-rocm-${PV} -RTC_S="${WORKDIR}"/roctracer-rocm-${PV} -DOCS_DIR="${HIP_S}"/docs/doxygen-input -DOCS_CONFIG_NAME=doxy.cfg - -src_prepare() { - cmake_src_prepare - use profile && eapply "${WORKDIR}/${P}-update-header.patch" - - eapply_user - - # Use Gentoo slot number, otherwise git hash is attempted in vain. - sed -e "/set (HIP_LIB_VERSION_STRING/cset (HIP_LIB_VERSION_STRING ${SLOT#*/})" -i CMakeLists.txt || die - - # disable PCH, because it results in a build error in ROCm 4.0.0 - sed -e "s:option(__HIP_ENABLE_PCH:#option(__HIP_ENABLE_PCH:" -i CMakeLists.txt || die - - # correctly find HIP_CLANG_INCLUDE_PATH using cmake - local LLVM_PREFIX="$(get_llvm_prefix "${LLVM_MAX_SLOT}")" - local CLANG_RESOURCE_DIR=$("${LLVM_PREFIX}/bin/clang" -print-resource-dir) - sed -e "/set(HIP_CLANG_ROOT/s:\"\${ROCM_PATH}/llvm\":${LLVM_PREFIX}:" -i hip-config.cmake.in || die - - # correct libs and cmake install dir - sed -e "/LIB_INSTALL_DIR/s:PREFIX}/lib:PREFIX}/$(get_libdir):" \ - -e "/\${HIP_COMMON_DIR}/s:cmake DESTINATION .):cmake/ DESTINATION share/cmake/Modules):" -i CMakeLists.txt || die - sed -e "/LIBRARY DESTINATION/s:lib:$(get_libdir):" -i src/CMakeLists.txt || die - - sed -e "/\.hip/d" \ - -e "s,DESTINATION lib,DESTINATION $(get_libdir),g" \ - -e "/cmake DESTINATION/d" \ - -e "/CPACK_RESOURCE_FILE_LICENSE/d" -i packaging/CMakeLists.txt || die - - pushd ${HIP_S} || die - eapply "${FILESDIR}/${PN}-5.1.3-clang-include-path.patch" - eapply "${FILESDIR}/${PN}-5.1.3-rocm-path.patch" - eapply "${FILESDIR}/${PN}-5.1.3-fno-stack-protector.patch" - # Setting HSA_PATH to "/usr" results in setting "-isystem /usr/include" - # which makes "stdlib.h" not found when using "#include_next" in header files; - sed -e "/FLAGS .= \" -isystem \$HSA_PATH/d" \ - -e "/HIP.*FLAGS.*isystem.*HIP_INCLUDE_PATH/d" \ - -e "s:\$ENV{'DEVICE_LIB_PATH'}:'/usr/lib/amdgcn/bitcode':" \ - -e "s:\$ENV{'HIP_LIB_PATH'}:'/usr/$(get_libdir)':" \ - -e "/rpath/s,--rpath=[^ ]*,," \ - -e "s,\$HIP_CLANG_PATH/../lib/clang/\$HIP_CLANG_VERSION/,${CLANG_RESOURCE_DIR}/,g" \ - -i bin/hipcc.pl || die - - # change --hip-device-lib-path to "/usr/lib/amdgcn/bitcode", must align with "dev-libs/rocm-device-libs" - sed -e "s:\${AMD_DEVICE_LIBS_PREFIX}/lib:/usr/lib/amdgcn/bitcode:" \ - -i "${S}/hip-config.cmake.in" || die - - einfo "prefixing hipcc and its utils..." - hprefixify $(grep -rl --exclude-dir=build/ "/usr" "${S}") - hprefixify $(grep -rl --exclude-dir=build/ "/usr" "${HIP_S}") - - cp "$(prefixify_ro "${FILESDIR}"/hipvars-5.1.3.pm)" bin/hipvars.pm || die "failed to replace hipvars.pm" - sed -e "s,@HIP_BASE_VERSION_MAJOR@,$(ver_cut 1)," -e "s,@HIP_BASE_VERSION_MINOR@,$(ver_cut 2)," \ - -e "s,@HIP_VERSION_PATCH@,$(ver_cut 3)," \ - -e "s,@CLANG_INCLUDE_PATH@,${CLANG_RESOURCE_DIR}/include," \ - -e "s,@CLANG_PATH@,${LLVM_PREFIX}/bin," -i bin/hipvars.pm || die - - sed -e "/HIP_CLANG_INCLUDE_SEARCH_PATHS/s,\${_IMPORT_PREFIX}.*/include,${CLANG_RESOURCE_DIR}/include," -i hip-lang-config.cmake.in || die - popd || die - sed -e "/HIP_CLANG_INCLUDE_SEARCH_PATHS/s,\${HIP_CLANG_ROOT}.*/include,${CLANG_RESOURCE_DIR}/include," -i hip-config.cmake.in || die -} - -src_configure() { - use debug && CMAKE_BUILD_TYPE="Debug" - - # TODO: Currently a GENTOO configuration is build, - # this is also used in the cmake configuration files - # which will be installed to find HIP; - # Other ROCm packages expect a "RELEASE" configuration, - # see "hipBLAS" - local mycmakeargs=( - -DCMAKE_PREFIX_PATH="$(get_llvm_prefix "${LLVM_MAX_SLOT}")" - -DCMAKE_BUILD_TYPE=${buildtype} - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" - -DCMAKE_SKIP_RPATH=ON - -DBUILD_HIPIFY_CLANG=OFF - -DHIP_PLATFORM=amd - -DHIP_COMPILER=clang - -DROCM_PATH="${EPREFIX}/usr" - -DUSE_PROF_API=$(usex profile 1 0) - -DROCCLR_PATH=${CLR_S} - -DHIP_COMMON_DIR=${HIP_S} - -DAMD_OPENCL_PATH=${OCL_S} - ) - - use profile && mycmakeargs+=( -DPROF_API_HEADER_PATH="${RTC_S}"/inc/ext ) - - cmake_src_configure -} - -src_compile() { - HIP_PATH=${HIP_S} docs_compile - cmake_src_compile -} - -src_install() { - - cmake_src_install - - rm "${ED}/usr/include/hip/hcc_detail" || die - - # Don't install .hipInfo and .hipVersion to bin/lib - rm "${ED}/usr/bin/.hipVersion" || die -} diff --git a/dev-util/hip/hip-5.3.3-r2.ebuild b/dev-util/hip/hip-5.3.3-r2.ebuild new file mode 100644 index 000000000000..072b8d319e97 --- /dev/null +++ b/dev-util/hip/hip-5.3.3-r2.ebuild @@ -0,0 +1,145 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DOCS_BUILDER="doxygen" +DOCS_DEPEND="media-gfx/graphviz" + +inherit cmake docs llvm prefix + +LLVM_MAX_SLOT=15 + +DESCRIPTION="C++ Heterogeneous-Compute Interface for Portability" +HOMEPAGE="https://github.com/ROCm-Developer-Tools/hipamd" +SRC_URI="https://github.com/ROCm-Developer-Tools/hipamd/archive/rocm-${PV}.tar.gz -> rocm-hipamd-${PV}.tar.gz + https://github.com/ROCm-Developer-Tools/HIP/archive/rocm-${PV}.tar.gz -> rocm-hip-${PV}.tar.gz + https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-${PV}.tar.gz -> rocclr-${PV}.tar.gz + https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-${PV}.tar.gz -> rocm-opencl-runtime-${PV}.tar.gz" + +KEYWORDS="~amd64" +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" + +IUSE="debug" + +DEPEND=" + >=dev-util/rocminfo-5 + sys-devel/clang:${LLVM_MAX_SLOT} + dev-libs/rocm-comgr:${SLOT} + virtual/opengl +" +RDEPEND="${DEPEND} + dev-perl/URI-Encode + sys-devel/clang-runtime:= + >=dev-libs/roct-thunk-interface-5" + +PATCHES=( + "${FILESDIR}/${PN}-5.0.1-DisableTest.patch" + "${FILESDIR}/${PN}-5.0.1-hip_vector_types.patch" + "${FILESDIR}/${PN}-5.0.2-set-build-id.patch" + "${FILESDIR}/${PN}-5.3.3-remove-cmake-doxygen-commands.patch" + "${FILESDIR}/${PN}-5.3.3-disable-Werror.patch" + "${FILESDIR}/0001-SWDEV-352878-LLVM-pkg-search-directly-using-find_dep.patch" +) + +S="${WORKDIR}/hipamd-rocm-${PV}" +HIP_S="${WORKDIR}"/HIP-rocm-${PV} +OCL_S="${WORKDIR}"/ROCm-OpenCL-Runtime-rocm-${PV} +CLR_S="${WORKDIR}"/ROCclr-rocm-${PV} +RTC_S="${WORKDIR}"/roctracer-rocm-${PV} +DOCS_DIR="${HIP_S}"/docs/doxygen-input +DOCS_CONFIG_NAME=doxy.cfg + +pkg_setup() { + # Ignore QA FLAGS check for library compiled from assembly sources + QA_FLAGS_IGNORED="/usr/$(get_libdir)/libhiprtc-builtins.so.$(ver_cut 1-2)" +} + +src_prepare() { + cmake_src_prepare + + eapply_user + + # Use Gentoo slot number, otherwise git hash is attempted in vain. + sed -e "/set (HIP_LIB_VERSION_STRING/cset (HIP_LIB_VERSION_STRING ${SLOT#*/})" -i CMakeLists.txt || die + + # correctly find HIP_CLANG_INCLUDE_PATH using cmake + local LLVM_PREFIX="$(get_llvm_prefix "${LLVM_MAX_SLOT}")" + sed -e "/set(HIP_CLANG_ROOT/s:\"\${ROCM_PATH}/llvm\":${LLVM_PREFIX}:" -i hip-config.cmake.in || die + + # correct libs and cmake install dir + sed -e "/\${HIP_COMMON_DIR}/s:cmake DESTINATION .):cmake/ DESTINATION share/cmake/Modules):" -i CMakeLists.txt || die + + sed -e "/\.hip/d" \ + -e "/CPACK_RESOURCE_FILE_LICENSE/d" -i packaging/CMakeLists.txt || die + + pushd ${HIP_S} || die + eapply "${FILESDIR}/${PN}-5.1.3-rocm-path.patch" + eapply "${FILESDIR}/${PN}-5.1.3-fno-stack-protector.patch" + eapply "${FILESDIR}/0001-SWDEV-344620-hipcc-fails-to-parse-version-of-clang-i.patch" + eapply "${FILESDIR}/0002-SWDEV-355608-Remove-clang-include-path-2996.patch" + eapply "${FILESDIR}/0003-SWDEV-352878-Removed-relative-path-based-CLANG-inclu.patch" + # Setting HSA_PATH to "/usr" results in setting "-isystem /usr/include" + # which makes "stdlib.h" not found when using "#include_next" in header files; + sed -e "/FLAGS .= \" -isystem \$HSA_PATH/d" \ + -e "/HIP.*FLAGS.*isystem.*HIP_INCLUDE_PATH/d" \ + -e "s:\$ENV{'DEVICE_LIB_PATH'}:'${EPREFIX}/usr/lib/amdgcn/bitcode':" \ + -e "s:\$ENV{'HIP_LIB_PATH'}:'${EPREFIX}/usr/$(get_libdir)':" \ + -e "/rpath/s,--rpath=[^ ]*,," -i bin/hipcc.pl || die + + # change --hip-device-lib-path to "/usr/lib/amdgcn/bitcode", must align with "dev-libs/rocm-device-libs" + sed -e "s:\${AMD_DEVICE_LIBS_PREFIX}/lib:${EPREFIX}/usr/lib/amdgcn/bitcode:" \ + -i "${S}/hip-config.cmake.in" || die + + einfo "prefixing hipcc and its utils..." + hprefixify $(grep -rl --exclude-dir=build/ --exclude="hip-config.cmake.in" "/usr" "${S}") + hprefixify $(grep -rl --exclude-dir=build/ --exclude="hipcc.pl" "/usr" "${HIP_S}") + + cp "$(prefixify_ro "${FILESDIR}"/hipvars-5.3.3.pm)" bin/hipvars.pm || die "failed to replace hipvars.pm" + sed -e "s,@HIP_BASE_VERSION_MAJOR@,$(ver_cut 1)," -e "s,@HIP_BASE_VERSION_MINOR@,$(ver_cut 2)," \ + -e "s,@HIP_VERSION_PATCH@,$(ver_cut 3)," \ + -e "s,@CLANG_PATH@,${LLVM_PREFIX}/bin," -i bin/hipvars.pm || die +} + +src_configure() { + use debug && CMAKE_BUILD_TYPE="Debug" + + # TODO: Currently a GENTOO configuration is build, + # this is also used in the cmake configuration files + # which will be installed to find HIP; + # Other ROCm packages expect a "RELEASE" configuration, + # see "hipBLAS" + local mycmakeargs=( + -DCMAKE_PREFIX_PATH="$(get_llvm_prefix "${LLVM_MAX_SLOT}")" + -DCMAKE_BUILD_TYPE=${buildtype} + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" + -DCMAKE_SKIP_RPATH=ON + -DBUILD_HIPIFY_CLANG=OFF + -DHIP_PLATFORM=amd + -DHIP_COMPILER=clang + -DROCM_PATH="${EPREFIX}/usr" + -DUSE_PROF_API=0 + -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCCLR_PATH=${CLR_S} + -DHIP_COMMON_DIR=${HIP_S} + -DAMD_OPENCL_PATH=${OCL_S} + ) + + cmake_src_configure +} + +src_compile() { + HIP_PATH=${HIP_S} docs_compile + cmake_src_compile +} + +src_install() { + + cmake_src_install + + rm "${ED}/usr/include/hip/hcc_detail" || die + + # Don't install .hipInfo and .hipVersion to bin/lib + rm "${ED}/usr/bin/.hipVersion" || die +} diff --git a/dev-util/hip/metadata.xml b/dev-util/hip/metadata.xml index 633796671a49..21b0e03f6a41 100644 --- a/dev-util/hip/metadata.xml +++ b/dev-util/hip/metadata.xml @@ -9,6 +9,10 @@ candrews@gentoo.org Craig Andrews + + xgreenlandforwyy@gmail.com + Yiyang Wu + gentoo@holzke.net Wilfried Holzke diff --git a/dev-util/maturin/Manifest b/dev-util/maturin/Manifest index 242cf975ce1e..04cfcb6d9d08 100644 --- a/dev-util/maturin/Manifest +++ b/dev-util/maturin/Manifest @@ -219,7 +219,7 @@ DIST mailparse-0.13.8.crate 36008 BLAKE2B 8112658b4ceb5b3528375f4f8a178a26c18b54 DIST matchers-0.1.0.crate 6948 BLAKE2B ec3a5d01d2fedbb4dbf5bb185afbb9401410463a61f51674e0df6a571db352b2bbabfb99cdbdcfb4e511ae783165bf0258f5163f240a229b9087f9edbd0df41a SHA512 84214c1a84952d85631aa1ab5115df7cda223ac64e2acf055b6129ba1aa26ddc87615a8b51ca890ce3fee0419053fa7fe1599ae128f1d211b58c07b0c4af3b19 DIST maturin-0.13.7.gh.tar.gz 335508 BLAKE2B fef8ad495208109b867d1ca9700cef149b799bdb372d5110480a035ee5ed52b569f5cb3ca7dffa7d69db3fd4a593d3b894027eb1538e25deddd68146640cdde7 SHA512 509564719aa7b25c1464036b6830518129b24a285075ef551fbb65c42aa2e3c2cfb1bfcefa55cd9b99c7dcec07795ea08fef0a33a55c14030f49afb392face7d DIST maturin-0.14.10.gh.tar.gz 386383 BLAKE2B 08213cb43ef9e15a2db1ff02de7f91c6fbb7b5d8c87effef9d0aba3ae7b52c27d70c8fac81e44e694364897a43a6cec2cea4168f7165e0858da6224ef0f3897a SHA512 8bbeb1ed01adbb0a234e616b4ef2947f20741d7ca17174b0e36cc7bd850d7fc183665b9777933049dd39819cbd8445dd7ddff4ab5c9bb7f87b78ca65bf9cad47 -DIST maturin-0.14.11.gh.tar.gz 387568 BLAKE2B 9b12450c514c2c7f12324a74c747e31d45805c06b109880278d7cdbb98ca3e364257dbed957813c7789431328e169a697284db614a25ed2ccd46b7a2a48a8a47 SHA512 72c14733df09df663bb474d0e20c355d8e535eaa1abaf2f1c48c7733e5abcf38ef39bcd253de86b3de2037c2887b771fd8a9fbc890eacaf3fea15d873853be08 +DIST maturin-0.14.12.gh.tar.gz 387648 BLAKE2B 12f4d6625b0e0633e14591c98aad994f33393e981f9f2fef9422c00cb86e5b8eed1c8c5fe56cafd67dc6f06afae34aecda47e19ca757d3bafe9076806cfee110 SHA512 ce6cb8513dbd2f25abb6639d9b8becb5617bc1d9a43248c8bd32a9792e2239c78bb665c90bd3bf885155469d84d812f83000221c7536f7ebd3ceeccc7fb2a117 DIST memchr-2.5.0.crate 65812 BLAKE2B 57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab SHA512 444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa DIST memoffset-0.6.5.crate 7686 BLAKE2B 9a797388702389076c426052c3d54dc62802d5db8bc5c9c83990429f2ffaec4fab4c7dd3f09cd0704d1ea555e87976563bb43408ba54b5e66ce7e406d4604009 SHA512 11bdd9185b99dfee8e659e051b09ee301c7142a372a8117864745a5085c015436d2efbb1478192886f09cbc562529e209d2e3325d94938a64bc75b1d91d2bf3f DIST memoffset-0.7.1.crate 8556 BLAKE2B 1ef270f1c8dba32e66cf47a1835f10c342024762c0e56953f16e82d575250028154054d4c42b1324c60f955a40fad3bbb1c5fced147c11c9a4ad62f6f0e948c3 SHA512 40ca3c4b1fb929bec75bfcde0135037f81a6c5aa80181bc7dd7bbcd9c0946288eea8d23fca95e296567ccb02155ed0f66c7c23644b5cb3e6d3932be9f9742157 @@ -554,5 +554,5 @@ DIST zvariant-2.10.0.crate 64374 BLAKE2B 65f5ec09b812217b2d96f57fcaca7fba97545dc DIST zvariant_derive-2.10.0.crate 8746 BLAKE2B 8408e6689f6f849d37d0ade5549dbac25a01a8ef6de5692290f24462e0984128fb5b1d72e87e94e4c422896d68f9acaa382ca6af57f47f470448894a85071b1a SHA512 ba06d0761de8e20839246517d89494e5728fd654cf95eec193a4ca4cdb90090542bbfd7ed0ffbc9fc44edda38c5270139f54e63cb88d09f6c26b39199ea1deec EBUILD maturin-0.13.7.ebuild 9184 BLAKE2B 7e26cb06aaa27fe269e9d5b49fd39b83ce4926ad6ca8e10be751583281949b5ef5a6fc2c224ecf8544f6b52df181eed5267cf296015228ebd96e8bb80e4c0e9c SHA512 07500f4c3178d5303994d9c5c216fe9f5771e4a47b1cf7dece4ecae5040f6091d8aff51f71cf1af7693fdd8fdcd225701addab6a91e1866c16e4a2860671cab2 EBUILD maturin-0.14.10.ebuild 10333 BLAKE2B 404f20d72b3221023669595cd13a6b95462aafa6ad635f277091ccbdd5f474d3a9e5063dd901af304ff85047acf88767ea49fb0ef1a9e20601522db3997d8c0c SHA512 b7ad05f7012eca448d72df18b2c63cfb6d2b4a6acb70b84d30afc709177deb9f650f344456c2fd9023aa999259d42bdf81bba5ed43aa8f70cadc1323261aa7c7 -EBUILD maturin-0.14.11.ebuild 10427 BLAKE2B 94c74b57599a05e5f219539618e3acac6354e8c66fc87dd49058083a02d88222ac40729322f5fcfa2af458a56e11c695e695a25c99e5480e3e1e397d2e88248a SHA512 7da0e1a242fef67c2585501f2f22550fd7021b674145e6c1529747602f6dc42ca3ab20b9e85bf3cee3d07e6115c0696acc9670d5458ee370574ff1e632ef1511 +EBUILD maturin-0.14.12.ebuild 10427 BLAKE2B 94c74b57599a05e5f219539618e3acac6354e8c66fc87dd49058083a02d88222ac40729322f5fcfa2af458a56e11c695e695a25c99e5480e3e1e397d2e88248a SHA512 7da0e1a242fef67c2585501f2f22550fd7021b674145e6c1529747602f6dc42ca3ab20b9e85bf3cee3d07e6115c0696acc9670d5458ee370574ff1e632ef1511 MISC metadata.xml 581 BLAKE2B 9fd4c9b9ef68199ef36af2d3799e3c16f819e89a2858bbfefbedb35575f5018c44ccf6b851f1bd367adefec1e8e6dc4a817bd431037b2ee8d1c01e3638d81541 SHA512 93e477343b707475d8b5bd043575a047e7247998e62daaed232216a9a3bfaa9dcae0ac02ec8489e847018495b31f9ef1811d528498e0e129dde99b06712ef7f7 diff --git a/dev-util/maturin/maturin-0.14.11.ebuild b/dev-util/maturin/maturin-0.14.11.ebuild deleted file mode 100644 index c1d6126a9e0b..000000000000 --- a/dev-util/maturin/maturin-0.14.11.ebuild +++ /dev/null @@ -1,501 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - adler-1.0.2 - aes-0.7.5 - ahash-0.3.8 - ahash-0.7.6 - aho-corasick-0.7.20 - anyhow-1.0.68 - askama-0.11.1 - askama_derive-0.11.2 - askama_escape-0.10.3 - askama_shared-0.12.2 - async-io-1.12.0 - async-lock-2.6.0 - autocfg-1.1.0 - base64-0.13.1 - bincode-1.3.3 - bitflags-1.3.2 - block-buffer-0.10.3 - block-buffer-0.9.0 - block-modes-0.8.1 - block-padding-0.2.1 - bstr-1.1.0 - bumpalo-3.12.0 - byteorder-1.4.3 - bytes-1.3.0 - bytesize-1.1.0 - bzip2-0.4.4 - bzip2-sys-0.1.11+1.0.8 - cab-0.4.1 - camino-1.1.2 - cargo-options-0.5.3 - cargo-platform-0.1.2 - cargo-xwin-0.13.3 - cargo-zigbuild-0.14.3 - cargo_metadata-0.15.2 - cbindgen-0.24.3 - cc-1.0.79 - cfb-0.7.3 - cfg-if-1.0.0 - charset-0.1.3 - chumsky-0.8.0 - cipher-0.3.0 - clap-4.0.32 - clap_complete-4.0.7 - clap_complete_command-0.4.0 - clap_complete_fig-4.0.2 - clap_derive-4.0.21 - clap_lex-0.3.0 - cli-table-0.4.7 - concolor-0.0.11 - concolor-query-0.1.0 - concurrent-queue-2.1.0 - configparser-3.0.2 - console-0.15.5 - const-random-0.1.15 - const-random-macro-0.1.15 - content_inspector-0.2.4 - core-foundation-0.9.3 - core-foundation-sys-0.8.3 - cpufeatures-0.2.5 - crc32fast-1.3.2 - crossbeam-channel-0.5.6 - crossbeam-deque-0.8.2 - crossbeam-epoch-0.9.13 - crossbeam-utils-0.8.14 - crunchy-0.2.2 - crypto-common-0.1.6 - crypto-mac-0.11.1 - ctor-0.1.26 - data-encoding-2.3.3 - derivative-2.2.0 - dialoguer-0.10.3 - diff-0.1.13 - digest-0.10.6 - digest-0.9.0 - dirs-4.0.0 - dirs-sys-0.3.7 - dunce-1.0.3 - either-1.8.1 - encode_unicode-0.3.6 - encoding-0.2.33 - encoding-index-japanese-1.20141219.5 - encoding-index-korean-1.20141219.5 - encoding-index-simpchinese-1.20141219.5 - encoding-index-singlebyte-1.20141219.5 - encoding-index-tradchinese-1.20141219.5 - encoding_index_tests-0.1.4 - encoding_rs-0.8.31 - enumflags2-0.6.4 - enumflags2_derive-0.6.4 - errno-0.2.8 - errno-dragonfly-0.1.2 - event-listener-2.5.3 - fastrand-1.8.0 - fat-macho-0.4.6 - filetime-0.2.19 - flate2-1.0.25 - fnv-1.0.7 - foreign-types-0.3.2 - foreign-types-shared-0.1.1 - form_urlencoded-1.1.0 - fs-err-2.9.0 - futures-0.3.26 - futures-channel-0.3.26 - futures-core-0.3.26 - futures-executor-0.3.26 - futures-io-0.3.26 - futures-lite-1.12.0 - futures-macro-0.3.26 - futures-sink-0.3.26 - futures-task-0.3.26 - futures-util-0.3.26 - generic-array-0.14.6 - getrandom-0.2.8 - glob-0.3.1 - globset-0.4.10 - goblin-0.6.0 - hashbrown-0.12.3 - heck-0.4.0 - hermit-abi-0.2.6 - hkdf-0.11.0 - hmac-0.11.0 - humantime-2.1.0 - humantime-serde-1.1.1 - idna-0.3.0 - ignore-0.4.18 - indexmap-1.9.2 - indicatif-0.17.3 - indoc-2.0.0 - instant-0.1.12 - io-lifetimes-1.0.4 - is-terminal-0.4.2 - itertools-0.10.5 - itoa-1.0.5 - js-sys-0.3.60 - keyring-1.2.1 - lazy_static-1.4.0 - lddtree-0.3.2 - libc-0.2.139 - linux-raw-sys-0.1.4 - lock_api-0.4.9 - log-0.4.17 - lzxd-0.1.4 - mailparse-0.13.8 - matchers-0.1.0 - memchr-2.5.0 - memoffset-0.6.5 - memoffset-0.7.1 - mime-0.3.16 - mime_guess-2.0.4 - minijinja-0.30.2 - minimal-lexical-0.2.1 - miniz_oxide-0.6.2 - msi-0.5.0 - multipart-0.18.0 - native-tls-0.2.11 - nb-connect-1.2.0 - nix-0.22.3 - nom-7.1.3 - nom8-0.2.0 - normalize-line-endings-0.3.0 - normpath-1.0.1 - nu-ansi-term-0.46.0 - num-0.4.0 - num-bigint-0.4.3 - num-complex-0.4.3 - num-integer-0.1.45 - num-iter-0.1.43 - num-rational-0.4.1 - num-traits-0.2.15 - num_cpus-1.15.0 - number_prefix-0.4.0 - once_cell-1.17.0 - opaque-debug-0.3.0 - openssl-0.10.45 - openssl-macros-0.1.0 - openssl-probe-0.1.5 - openssl-src-111.24.0+1.1.1s - openssl-sys-0.9.80 - os_pipe-1.1.2 - os_str_bytes-6.4.1 - output_vt100-0.1.3 - overload-0.1.1 - parking-2.0.0 - parking_lot-0.12.1 - parking_lot_core-0.9.6 - paste-1.0.11 - path-slash-0.2.1 - pep440-0.2.0 - percent-encoding-2.2.0 - pin-project-lite-0.2.9 - pin-utils-0.1.0 - pkg-config-0.3.26 - plain-0.2.3 - platform-info-1.0.2 - polling-2.5.2 - portable-atomic-0.3.19 - ppv-lite86-0.2.17 - pretty_assertions-1.3.0 - proc-macro-crate-0.1.5 - proc-macro-crate-1.2.1 - proc-macro-error-1.0.4 - proc-macro-error-attr-1.0.4 - proc-macro-hack-0.5.20+deprecated - proc-macro2-1.0.50 - pyproject-toml-0.3.1 - python-pkginfo-0.5.5 - quote-1.0.23 - quoted_printable-0.4.6 - rand-0.8.5 - rand_chacha-0.3.1 - rand_core-0.6.4 - rayon-1.6.1 - rayon-core-1.10.2 - redox_syscall-0.2.16 - redox_users-0.4.3 - regex-1.7.1 - regex-automata-0.1.10 - regex-syntax-0.6.28 - remove_dir_all-0.5.3 - rfc2047-decoder-0.2.1 - ring-0.16.20 - rpassword-7.2.0 - rtoolbox-0.0.1 - rustc_version-0.4.0 - rustix-0.36.7 - rustls-0.20.8 - rustversion-1.0.11 - ryu-1.0.12 - same-file-1.0.6 - schannel-0.1.21 - scoped-tls-1.0.1 - scopeguard-1.1.0 - scroll-0.11.0 - scroll_derive-0.11.0 - sct-0.7.0 - secret-service-2.0.2 - security-framework-2.8.2 - security-framework-sys-2.8.0 - semver-1.0.16 - serde-1.0.152 - serde_derive-1.0.152 - serde_json-1.0.91 - serde_repr-0.1.10 - sha2-0.10.6 - sha2-0.9.9 - sharded-slab-0.1.4 - shell-words-1.1.0 - shlex-1.1.0 - similar-2.2.1 - siphasher-0.3.10 - slab-0.4.7 - smallvec-1.10.0 - smawk-0.3.1 - snapbox-0.4.4 - snapbox-macros-0.3.1 - socket2-0.4.7 - socks-0.3.4 - spin-0.5.2 - static_assertions-1.1.0 - strsim-0.10.0 - subtle-2.4.1 - syn-1.0.107 - tar-0.4.38 - target-lexicon-0.12.5 - tempfile-3.3.0 - termcolor-1.2.0 - terminal_size-0.2.3 - textwrap-0.16.0 - thiserror-1.0.38 - thiserror-impl-1.0.38 - thread_local-1.1.4 - time-0.3.17 - time-core-0.1.0 - time-macros-0.2.6 - tiny-keccak-2.0.2 - tinyvec-1.6.0 - tinyvec_macros-0.1.0 - toml-0.5.11 - toml_datetime-0.5.0 - toml_edit-0.17.1 - tracing-0.1.37 - tracing-attributes-0.1.23 - tracing-core-0.1.30 - tracing-log-0.1.3 - tracing-serde-0.1.3 - tracing-subscriber-0.3.16 - trycmd-0.14.10 - twox-hash-1.6.3 - typenum-1.16.0 - unicase-2.6.0 - unicode-bidi-0.3.10 - unicode-ident-1.0.6 - unicode-linebreak-0.1.4 - unicode-normalization-0.1.22 - unicode-width-0.1.10 - uniffi_bindgen-0.22.0 - uniffi_checksum_derive-0.22.0 - uniffi_meta-0.22.0 - uniffi_testing-0.22.0 - untrusted-0.7.1 - ureq-2.6.2 - url-2.3.1 - uuid-1.2.2 - valuable-0.1.0 - vcpkg-0.2.15 - version_check-0.9.4 - versions-4.1.0 - wait-timeout-0.2.0 - waker-fn-1.1.0 - walkdir-2.3.2 - wasi-0.11.0+wasi-snapshot-preview1 - wasm-bindgen-0.2.83 - wasm-bindgen-backend-0.2.83 - wasm-bindgen-macro-0.2.83 - wasm-bindgen-macro-support-0.2.83 - wasm-bindgen-shared-0.2.83 - web-sys-0.3.60 - webpki-0.22.0 - webpki-roots-0.22.6 - weedle2-4.0.0 - wepoll-ffi-0.1.2 - which-4.4.0 - winapi-0.3.9 - winapi-i686-pc-windows-gnu-0.4.0 - winapi-util-0.1.5 - winapi-x86_64-pc-windows-gnu-0.4.0 - windows-sys-0.42.0 - windows_aarch64_gnullvm-0.42.1 - windows_aarch64_msvc-0.42.1 - windows_i686_gnu-0.42.1 - windows_i686_msvc-0.42.1 - windows_x86_64_gnu-0.42.1 - windows_x86_64_gnullvm-0.42.1 - windows_x86_64_msvc-0.42.1 - xattr-0.2.3 - xwin-0.2.10 - yansi-0.5.1 - zbus-1.9.3 - zbus_macros-1.9.3 - zip-0.6.3 - zvariant-2.10.0 - zvariant_derive-2.10.0" -# additional crates used by test-crates/* test packages, -# `grep test-crates tests/run.rs` to see which are needed -CRATES_TEST=" - anyhow-1.0.66 - camino-1.1.1 - cc-1.0.73 - cc-1.0.74 - glob-0.3.0 - indoc-1.0.7 - itoa-1.0.4 - libc-0.2.134 - libc-0.2.137 - memoffset-0.8.0 - nom-7.1.1 - once_cell-1.15.0 - once_cell-1.16.0 - parking_lot_core-0.9.3 - parking_lot_core-0.9.4 - paste-1.0.10 - proc-macro2-1.0.46 - proc-macro2-1.0.47 - pyo3-0.18.0 - pyo3-build-config-0.17.3 - pyo3-build-config-0.18.0 - pyo3-ffi-0.17.3 - pyo3-ffi-0.18.0 - pyo3-macros-0.18.0 - pyo3-macros-backend-0.18.0 - python3-dll-a-0.2.6 - quote-1.0.21 - ryu-1.0.11 - semver-1.0.14 - serde-1.0.151 - serde_derive-1.0.151 - serde_json-1.0.89 - syn-1.0.102 - syn-1.0.103 - syn-1.0.105 - target-lexicon-0.12.4 - thiserror-1.0.37 - thiserror-impl-1.0.37 - toml-0.5.10 - unicode-ident-1.0.5 - uniffi-0.22.0 - uniffi_build-0.22.0 - uniffi_macros-0.22.0 - unindent-0.1.10 - windows-sys-0.36.1 - windows_aarch64_gnullvm-0.42.0 - windows_aarch64_msvc-0.36.1 - windows_aarch64_msvc-0.42.0 - windows_i686_gnu-0.36.1 - windows_i686_gnu-0.42.0 - windows_i686_msvc-0.36.1 - windows_i686_msvc-0.42.0 - windows_x86_64_gnu-0.36.1 - windows_x86_64_gnu-0.42.0 - windows_x86_64_gnullvm-0.42.0 - windows_x86_64_msvc-0.36.1 - windows_x86_64_msvc-0.42.0" -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( pypy3 python3_{9..11} ) -inherit cargo distutils-r1 flag-o-matic - -DESCRIPTION="Build and publish crates with pyo3, rust-cpython and cffi bindings" -HOMEPAGE="https://www.maturin.rs/" -SRC_URI=" - https://github.com/PyO3/maturin/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz - $(cargo_crate_uris) - test? ( $(cargo_crate_uris ${CRATES_TEST}) )" - -LICENSE=" - 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD - CC0-1.0 ISC MIT MPL-2.0 SSLeay Unicode-DFS-2016 openssl - doc? ( CC-BY-4.0 OFL-1.1 )" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE="doc test" -RESTRICT="!test? ( test )" - -RDEPEND=" - $(python_gen_cond_dep ' - dev-python/tomli[${PYTHON_USEDEP}] - ' 3.{9..10} pypy3)" -BDEPEND=" - dev-python/setuptools-rust[${PYTHON_USEDEP}] - doc? ( app-text/mdbook ) - test? ( - ${RDEPEND} - $(python_gen_cond_dep ' - dev-python/cffi[${PYTHON_USEDEP}] - ' 'python*') - dev-python/boltons[${PYTHON_USEDEP}] - dev-python/virtualenv[${PYTHON_USEDEP}] - )" - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -src_prepare() { - distutils-r1_src_prepare - - # used to prevent use of network during tests - cat > "${T}"/pip.conf <<-EOF || die - [install] - no-index = yes - no-dependencies = yes - EOF - - # TODO: package-agnostic way to handle IUSE=debug with setuptools-rust? - use !debug || sed -i "s/^cargo_args = \[/&'--profile','dev',/" setup.py || die - - # setup.py handles most for non-tests, but ensure rustls is disabled except - # on arches where ring crate should work (keep in sync below, bug #859577) - if use !amd64 && use !x86 && use !arm64 && use !arm; then - sed -i '/^if platform.machine/s/^if/if True or/' setup.py || die - fi -} - -src_configure() { - filter-lto # undefined references with ring crate - - if use !amd64 && use !x86 && use !arm64 && use !arm; then - local myfeatures=( upload log ) - cargo_src_configure --no-default-features - fi -} - -python_compile_all() { - use !doc || mdbook build -d html guide || die -} - -python_test() { - local -x MATURIN_TEST_PYTHON=${EPYTHON} - local -x PIP_CONFIG_FILE=${T}/pip.conf - local -x VIRTUALENV_SYSTEM_SITE_PACKAGES=1 - - local skip=( - --skip locked_doesnt_build_without_cargo_lock - # relies on 80-chars terminal output but ignores exported COLUMNS=80 - --skip cli_tests - # avoid need for wasm over a single hello world test - --skip integration_wasm_hello_world - # fragile depending on rust version, also wants libpypy*-c.so for pypy - --skip pyo3_no_extension_module - ) - - cargo_src_test -- "${skip[@]}" -} - -python_install_all() { - dodoc Changelog.md README.md - use doc && dodoc -r guide/html -} diff --git a/dev-util/maturin/maturin-0.14.12.ebuild b/dev-util/maturin/maturin-0.14.12.ebuild new file mode 100644 index 000000000000..c1d6126a9e0b --- /dev/null +++ b/dev-util/maturin/maturin-0.14.12.ebuild @@ -0,0 +1,501 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler-1.0.2 + aes-0.7.5 + ahash-0.3.8 + ahash-0.7.6 + aho-corasick-0.7.20 + anyhow-1.0.68 + askama-0.11.1 + askama_derive-0.11.2 + askama_escape-0.10.3 + askama_shared-0.12.2 + async-io-1.12.0 + async-lock-2.6.0 + autocfg-1.1.0 + base64-0.13.1 + bincode-1.3.3 + bitflags-1.3.2 + block-buffer-0.10.3 + block-buffer-0.9.0 + block-modes-0.8.1 + block-padding-0.2.1 + bstr-1.1.0 + bumpalo-3.12.0 + byteorder-1.4.3 + bytes-1.3.0 + bytesize-1.1.0 + bzip2-0.4.4 + bzip2-sys-0.1.11+1.0.8 + cab-0.4.1 + camino-1.1.2 + cargo-options-0.5.3 + cargo-platform-0.1.2 + cargo-xwin-0.13.3 + cargo-zigbuild-0.14.3 + cargo_metadata-0.15.2 + cbindgen-0.24.3 + cc-1.0.79 + cfb-0.7.3 + cfg-if-1.0.0 + charset-0.1.3 + chumsky-0.8.0 + cipher-0.3.0 + clap-4.0.32 + clap_complete-4.0.7 + clap_complete_command-0.4.0 + clap_complete_fig-4.0.2 + clap_derive-4.0.21 + clap_lex-0.3.0 + cli-table-0.4.7 + concolor-0.0.11 + concolor-query-0.1.0 + concurrent-queue-2.1.0 + configparser-3.0.2 + console-0.15.5 + const-random-0.1.15 + const-random-macro-0.1.15 + content_inspector-0.2.4 + core-foundation-0.9.3 + core-foundation-sys-0.8.3 + cpufeatures-0.2.5 + crc32fast-1.3.2 + crossbeam-channel-0.5.6 + crossbeam-deque-0.8.2 + crossbeam-epoch-0.9.13 + crossbeam-utils-0.8.14 + crunchy-0.2.2 + crypto-common-0.1.6 + crypto-mac-0.11.1 + ctor-0.1.26 + data-encoding-2.3.3 + derivative-2.2.0 + dialoguer-0.10.3 + diff-0.1.13 + digest-0.10.6 + digest-0.9.0 + dirs-4.0.0 + dirs-sys-0.3.7 + dunce-1.0.3 + either-1.8.1 + encode_unicode-0.3.6 + encoding-0.2.33 + encoding-index-japanese-1.20141219.5 + encoding-index-korean-1.20141219.5 + encoding-index-simpchinese-1.20141219.5 + encoding-index-singlebyte-1.20141219.5 + encoding-index-tradchinese-1.20141219.5 + encoding_index_tests-0.1.4 + encoding_rs-0.8.31 + enumflags2-0.6.4 + enumflags2_derive-0.6.4 + errno-0.2.8 + errno-dragonfly-0.1.2 + event-listener-2.5.3 + fastrand-1.8.0 + fat-macho-0.4.6 + filetime-0.2.19 + flate2-1.0.25 + fnv-1.0.7 + foreign-types-0.3.2 + foreign-types-shared-0.1.1 + form_urlencoded-1.1.0 + fs-err-2.9.0 + futures-0.3.26 + futures-channel-0.3.26 + futures-core-0.3.26 + futures-executor-0.3.26 + futures-io-0.3.26 + futures-lite-1.12.0 + futures-macro-0.3.26 + futures-sink-0.3.26 + futures-task-0.3.26 + futures-util-0.3.26 + generic-array-0.14.6 + getrandom-0.2.8 + glob-0.3.1 + globset-0.4.10 + goblin-0.6.0 + hashbrown-0.12.3 + heck-0.4.0 + hermit-abi-0.2.6 + hkdf-0.11.0 + hmac-0.11.0 + humantime-2.1.0 + humantime-serde-1.1.1 + idna-0.3.0 + ignore-0.4.18 + indexmap-1.9.2 + indicatif-0.17.3 + indoc-2.0.0 + instant-0.1.12 + io-lifetimes-1.0.4 + is-terminal-0.4.2 + itertools-0.10.5 + itoa-1.0.5 + js-sys-0.3.60 + keyring-1.2.1 + lazy_static-1.4.0 + lddtree-0.3.2 + libc-0.2.139 + linux-raw-sys-0.1.4 + lock_api-0.4.9 + log-0.4.17 + lzxd-0.1.4 + mailparse-0.13.8 + matchers-0.1.0 + memchr-2.5.0 + memoffset-0.6.5 + memoffset-0.7.1 + mime-0.3.16 + mime_guess-2.0.4 + minijinja-0.30.2 + minimal-lexical-0.2.1 + miniz_oxide-0.6.2 + msi-0.5.0 + multipart-0.18.0 + native-tls-0.2.11 + nb-connect-1.2.0 + nix-0.22.3 + nom-7.1.3 + nom8-0.2.0 + normalize-line-endings-0.3.0 + normpath-1.0.1 + nu-ansi-term-0.46.0 + num-0.4.0 + num-bigint-0.4.3 + num-complex-0.4.3 + num-integer-0.1.45 + num-iter-0.1.43 + num-rational-0.4.1 + num-traits-0.2.15 + num_cpus-1.15.0 + number_prefix-0.4.0 + once_cell-1.17.0 + opaque-debug-0.3.0 + openssl-0.10.45 + openssl-macros-0.1.0 + openssl-probe-0.1.5 + openssl-src-111.24.0+1.1.1s + openssl-sys-0.9.80 + os_pipe-1.1.2 + os_str_bytes-6.4.1 + output_vt100-0.1.3 + overload-0.1.1 + parking-2.0.0 + parking_lot-0.12.1 + parking_lot_core-0.9.6 + paste-1.0.11 + path-slash-0.2.1 + pep440-0.2.0 + percent-encoding-2.2.0 + pin-project-lite-0.2.9 + pin-utils-0.1.0 + pkg-config-0.3.26 + plain-0.2.3 + platform-info-1.0.2 + polling-2.5.2 + portable-atomic-0.3.19 + ppv-lite86-0.2.17 + pretty_assertions-1.3.0 + proc-macro-crate-0.1.5 + proc-macro-crate-1.2.1 + proc-macro-error-1.0.4 + proc-macro-error-attr-1.0.4 + proc-macro-hack-0.5.20+deprecated + proc-macro2-1.0.50 + pyproject-toml-0.3.1 + python-pkginfo-0.5.5 + quote-1.0.23 + quoted_printable-0.4.6 + rand-0.8.5 + rand_chacha-0.3.1 + rand_core-0.6.4 + rayon-1.6.1 + rayon-core-1.10.2 + redox_syscall-0.2.16 + redox_users-0.4.3 + regex-1.7.1 + regex-automata-0.1.10 + regex-syntax-0.6.28 + remove_dir_all-0.5.3 + rfc2047-decoder-0.2.1 + ring-0.16.20 + rpassword-7.2.0 + rtoolbox-0.0.1 + rustc_version-0.4.0 + rustix-0.36.7 + rustls-0.20.8 + rustversion-1.0.11 + ryu-1.0.12 + same-file-1.0.6 + schannel-0.1.21 + scoped-tls-1.0.1 + scopeguard-1.1.0 + scroll-0.11.0 + scroll_derive-0.11.0 + sct-0.7.0 + secret-service-2.0.2 + security-framework-2.8.2 + security-framework-sys-2.8.0 + semver-1.0.16 + serde-1.0.152 + serde_derive-1.0.152 + serde_json-1.0.91 + serde_repr-0.1.10 + sha2-0.10.6 + sha2-0.9.9 + sharded-slab-0.1.4 + shell-words-1.1.0 + shlex-1.1.0 + similar-2.2.1 + siphasher-0.3.10 + slab-0.4.7 + smallvec-1.10.0 + smawk-0.3.1 + snapbox-0.4.4 + snapbox-macros-0.3.1 + socket2-0.4.7 + socks-0.3.4 + spin-0.5.2 + static_assertions-1.1.0 + strsim-0.10.0 + subtle-2.4.1 + syn-1.0.107 + tar-0.4.38 + target-lexicon-0.12.5 + tempfile-3.3.0 + termcolor-1.2.0 + terminal_size-0.2.3 + textwrap-0.16.0 + thiserror-1.0.38 + thiserror-impl-1.0.38 + thread_local-1.1.4 + time-0.3.17 + time-core-0.1.0 + time-macros-0.2.6 + tiny-keccak-2.0.2 + tinyvec-1.6.0 + tinyvec_macros-0.1.0 + toml-0.5.11 + toml_datetime-0.5.0 + toml_edit-0.17.1 + tracing-0.1.37 + tracing-attributes-0.1.23 + tracing-core-0.1.30 + tracing-log-0.1.3 + tracing-serde-0.1.3 + tracing-subscriber-0.3.16 + trycmd-0.14.10 + twox-hash-1.6.3 + typenum-1.16.0 + unicase-2.6.0 + unicode-bidi-0.3.10 + unicode-ident-1.0.6 + unicode-linebreak-0.1.4 + unicode-normalization-0.1.22 + unicode-width-0.1.10 + uniffi_bindgen-0.22.0 + uniffi_checksum_derive-0.22.0 + uniffi_meta-0.22.0 + uniffi_testing-0.22.0 + untrusted-0.7.1 + ureq-2.6.2 + url-2.3.1 + uuid-1.2.2 + valuable-0.1.0 + vcpkg-0.2.15 + version_check-0.9.4 + versions-4.1.0 + wait-timeout-0.2.0 + waker-fn-1.1.0 + walkdir-2.3.2 + wasi-0.11.0+wasi-snapshot-preview1 + wasm-bindgen-0.2.83 + wasm-bindgen-backend-0.2.83 + wasm-bindgen-macro-0.2.83 + wasm-bindgen-macro-support-0.2.83 + wasm-bindgen-shared-0.2.83 + web-sys-0.3.60 + webpki-0.22.0 + webpki-roots-0.22.6 + weedle2-4.0.0 + wepoll-ffi-0.1.2 + which-4.4.0 + winapi-0.3.9 + winapi-i686-pc-windows-gnu-0.4.0 + winapi-util-0.1.5 + winapi-x86_64-pc-windows-gnu-0.4.0 + windows-sys-0.42.0 + windows_aarch64_gnullvm-0.42.1 + windows_aarch64_msvc-0.42.1 + windows_i686_gnu-0.42.1 + windows_i686_msvc-0.42.1 + windows_x86_64_gnu-0.42.1 + windows_x86_64_gnullvm-0.42.1 + windows_x86_64_msvc-0.42.1 + xattr-0.2.3 + xwin-0.2.10 + yansi-0.5.1 + zbus-1.9.3 + zbus_macros-1.9.3 + zip-0.6.3 + zvariant-2.10.0 + zvariant_derive-2.10.0" +# additional crates used by test-crates/* test packages, +# `grep test-crates tests/run.rs` to see which are needed +CRATES_TEST=" + anyhow-1.0.66 + camino-1.1.1 + cc-1.0.73 + cc-1.0.74 + glob-0.3.0 + indoc-1.0.7 + itoa-1.0.4 + libc-0.2.134 + libc-0.2.137 + memoffset-0.8.0 + nom-7.1.1 + once_cell-1.15.0 + once_cell-1.16.0 + parking_lot_core-0.9.3 + parking_lot_core-0.9.4 + paste-1.0.10 + proc-macro2-1.0.46 + proc-macro2-1.0.47 + pyo3-0.18.0 + pyo3-build-config-0.17.3 + pyo3-build-config-0.18.0 + pyo3-ffi-0.17.3 + pyo3-ffi-0.18.0 + pyo3-macros-0.18.0 + pyo3-macros-backend-0.18.0 + python3-dll-a-0.2.6 + quote-1.0.21 + ryu-1.0.11 + semver-1.0.14 + serde-1.0.151 + serde_derive-1.0.151 + serde_json-1.0.89 + syn-1.0.102 + syn-1.0.103 + syn-1.0.105 + target-lexicon-0.12.4 + thiserror-1.0.37 + thiserror-impl-1.0.37 + toml-0.5.10 + unicode-ident-1.0.5 + uniffi-0.22.0 + uniffi_build-0.22.0 + uniffi_macros-0.22.0 + unindent-0.1.10 + windows-sys-0.36.1 + windows_aarch64_gnullvm-0.42.0 + windows_aarch64_msvc-0.36.1 + windows_aarch64_msvc-0.42.0 + windows_i686_gnu-0.36.1 + windows_i686_gnu-0.42.0 + windows_i686_msvc-0.36.1 + windows_i686_msvc-0.42.0 + windows_x86_64_gnu-0.36.1 + windows_x86_64_gnu-0.42.0 + windows_x86_64_gnullvm-0.42.0 + windows_x86_64_msvc-0.36.1 + windows_x86_64_msvc-0.42.0" +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( pypy3 python3_{9..11} ) +inherit cargo distutils-r1 flag-o-matic + +DESCRIPTION="Build and publish crates with pyo3, rust-cpython and cffi bindings" +HOMEPAGE="https://www.maturin.rs/" +SRC_URI=" + https://github.com/PyO3/maturin/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz + $(cargo_crate_uris) + test? ( $(cargo_crate_uris ${CRATES_TEST}) )" + +LICENSE=" + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD + CC0-1.0 ISC MIT MPL-2.0 SSLeay Unicode-DFS-2016 openssl + doc? ( CC-BY-4.0 OFL-1.1 )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="doc test" +RESTRICT="!test? ( test )" + +RDEPEND=" + $(python_gen_cond_dep ' + dev-python/tomli[${PYTHON_USEDEP}] + ' 3.{9..10} pypy3)" +BDEPEND=" + dev-python/setuptools-rust[${PYTHON_USEDEP}] + doc? ( app-text/mdbook ) + test? ( + ${RDEPEND} + $(python_gen_cond_dep ' + dev-python/cffi[${PYTHON_USEDEP}] + ' 'python*') + dev-python/boltons[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + )" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_prepare() { + distutils-r1_src_prepare + + # used to prevent use of network during tests + cat > "${T}"/pip.conf <<-EOF || die + [install] + no-index = yes + no-dependencies = yes + EOF + + # TODO: package-agnostic way to handle IUSE=debug with setuptools-rust? + use !debug || sed -i "s/^cargo_args = \[/&'--profile','dev',/" setup.py || die + + # setup.py handles most for non-tests, but ensure rustls is disabled except + # on arches where ring crate should work (keep in sync below, bug #859577) + if use !amd64 && use !x86 && use !arm64 && use !arm; then + sed -i '/^if platform.machine/s/^if/if True or/' setup.py || die + fi +} + +src_configure() { + filter-lto # undefined references with ring crate + + if use !amd64 && use !x86 && use !arm64 && use !arm; then + local myfeatures=( upload log ) + cargo_src_configure --no-default-features + fi +} + +python_compile_all() { + use !doc || mdbook build -d html guide || die +} + +python_test() { + local -x MATURIN_TEST_PYTHON=${EPYTHON} + local -x PIP_CONFIG_FILE=${T}/pip.conf + local -x VIRTUALENV_SYSTEM_SITE_PACKAGES=1 + + local skip=( + --skip locked_doesnt_build_without_cargo_lock + # relies on 80-chars terminal output but ignores exported COLUMNS=80 + --skip cli_tests + # avoid need for wasm over a single hello world test + --skip integration_wasm_hello_world + # fragile depending on rust version, also wants libpypy*-c.so for pypy + --skip pyo3_no_extension_module + ) + + cargo_src_test -- "${skip[@]}" +} + +python_install_all() { + dodoc Changelog.md README.md + use doc && dodoc -r guide/html +} -- cgit v1.2.3