summaryrefslogtreecommitdiff
path: root/dev-util
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-05-04 11:28:04 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-05-04 11:28:04 +0100
commit47a1d2f184696819152c003a600beb058fbc4420 (patch)
treea85ea2840d8bb2bfaea292c4e2f363b663cc1ea1 /dev-util
parent42564959cad787b3e82c0ebd8a8a6a59958e1370 (diff)
gentoo auto-resync : 04:05:2023 - 11:28:04
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/Manifest.gzbin68318 -> 68312 bytes
-rw-r--r--dev-util/codeblocks/Manifest2
-rw-r--r--dev-util/codeblocks/codeblocks-20.03-r6.ebuild2
-rw-r--r--dev-util/spirv-llvm-translator/Manifest3
-rw-r--r--dev-util/spirv-llvm-translator/files/spirv-llvm-translator-16.0.0-ld_library_path.patch63
-rw-r--r--dev-util/spirv-llvm-translator/spirv-llvm-translator-16.0.0.ebuild9
-rw-r--r--dev-util/watchman/Manifest2
-rw-r--r--dev-util/watchman/watchman-2023.05.01.00.ebuild326
8 files changed, 401 insertions, 6 deletions
diff --git a/dev-util/Manifest.gz b/dev-util/Manifest.gz
index 1113a313a583..055a7b0cf6cf 100644
--- a/dev-util/Manifest.gz
+++ b/dev-util/Manifest.gz
Binary files differ
diff --git a/dev-util/codeblocks/Manifest b/dev-util/codeblocks/Manifest
index af3810050657..c13a6407daf6 100644
--- a/dev-util/codeblocks/Manifest
+++ b/dev-util/codeblocks/Manifest
@@ -7,6 +7,6 @@ DIST codeblocks-20.03-fortran.tar.xz 15828 BLAKE2B 3ad1be0ecdc61759edcbb12065a0d
DIST codeblocks-20.03.tar.xz 11799264 BLAKE2B cdaca38e26e0f1bf12e774cf737e0b6647f070d07f0ca5bec97926528a3511ecb8b3306fb6af473729384a5fe22d4870db8ca988895d619a1e7e2a1d9de2a41f SHA512 f97c1a02d31f0be4dc08b1f19b57bd0d3cba375ab5f33ab91b2a2df7817018f5b3e3063ed07199a3970644f1caa7c7e511db2034c73264f5f4963046d65b0097
EBUILD codeblocks-20.03-r4.ebuild 1949 BLAKE2B 648ed4a3621883329f3667ce73b0c13b8b9c48f5463456410ba2ad4b91ebe23a7edd8ed35d0db934a22e2ee8a802a17c3842b1999578faa8f423270e2f36f07e SHA512 286cfb7075ff6838918db3f5dead81d7572aef1f8ddd37be9b39cb2389bf1b39ec1e11ed2869a4d370a0a25f3f7742c09a7f593025bb99b687b1764e0342625e
EBUILD codeblocks-20.03-r5.ebuild 2021 BLAKE2B 685b82d930a6769300201052224dfacbb2cf4a2d60c61509c7e7a73a1dfe7c17fbb2982e5d6a33c8c803e9e3fec423d4b0c7e70d0954ec9d84ae5bc90f580725 SHA512 5226bf948fb23a763ef4160b23fb3fec0cb092f295b66d192de146cbf507d755263afdf15bf1edf7435d85e22dd0bc7f60c6bdf977304bc415cea40d2a933372
-EBUILD codeblocks-20.03-r6.ebuild 2372 BLAKE2B 2e6cf06329c23badf2a96bbbecb9791e766407b3744b8785ffc792ceb912c56e3586565f4e0d778ca1a56f704b67f5c1ab8f810e83e6abd491bb8fccbadd50b9 SHA512 d28d16326ce35b2aabba18364e2281146f9a560c59e63f1ba2579e0153cb668a508ed2a01599f88a5f6511868143f5abf1a8cdabaea46045070b4ce279e845f1
+EBUILD codeblocks-20.03-r6.ebuild 2370 BLAKE2B de21d70f1941a2a52d25e1691d0e928fe13befb36a21bc6fcf82e2b69af5b464fac8d68d7c097142a9ddc1a33c997c013ee443d93bc72096fda1ed94b7a18ea9 SHA512 bf2ede993662ef9ac21233e1ad4069d060c7c9e4713cb324ecf3487b6ff587358e3e97f31bafbf7e0a470e3069ea16271c8e940faa9642ac2e21697b45ab7abb
EBUILD codeblocks-9999.ebuild 1718 BLAKE2B 703b796827eee3a1f297396fc4c69698dfacba6c09576a1ff140d43d0704674eaa9842a1ce71528d141e53757a10a63ae6bc40792e83b19fb89a8bca81748b6a SHA512 630e267331b1a9f63c9759d19bc7c739d2bc1490e75d7a6e0547e582d9ed02231da1fdd1f8ce3771a2059cfcfdbe7021a2f90c7af5b4235adaa076840579427d
MISC metadata.xml 845 BLAKE2B f7b882b01dd425c6eb56c164a95e7e635ba59591ec1839a9b925496e4c40bf03497ec4134eb38b47f9eb54b765773890896ba243b5936cf7bc3b71f7e7ce41d4 SHA512 ae0650c5218f8e18422926bb11daa9cc89804221b9958963da484464668e99f6049ef099fc6a63f3a0800fa15238ecf0607da0a495c42d5029a94ed15ef4c985
diff --git a/dev-util/codeblocks/codeblocks-20.03-r6.ebuild b/dev-util/codeblocks/codeblocks-20.03-r6.ebuild
index 0e018ea8b99c..fbdc320bcdc1 100644
--- a/dev-util/codeblocks/codeblocks-20.03-r6.ebuild
+++ b/dev-util/codeblocks/codeblocks-20.03-r6.ebuild
@@ -11,7 +11,7 @@ DESCRIPTION="The open source, cross platform, free C, C++ and Fortran IDE"
HOMEPAGE="https://codeblocks.org/"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
+KEYWORDS="amd64 ~ppc x86"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz
https://dev.gentoo.org/~leio/distfiles/${P}-fortran.tar.xz
https://dev.gentoo.org/~leio/distfiles/${P}-fortran-update-v1.7.tar.xz
diff --git a/dev-util/spirv-llvm-translator/Manifest b/dev-util/spirv-llvm-translator/Manifest
index 5540a88039b0..e0df2bf8cb85 100644
--- a/dev-util/spirv-llvm-translator/Manifest
+++ b/dev-util/spirv-llvm-translator/Manifest
@@ -1,8 +1,9 @@
+AUX spirv-llvm-translator-16.0.0-ld_library_path.patch 2545 BLAKE2B b0a361f430bf7abd3e3cc24a71b7df5a8feda3bfef0b2832462b68c005356c6437c75f0257b66a3add54d3b1999275ff20cedfe9480c0ae63e78d32427c835f5 SHA512 73a134b774ee772f809b55f3369f6007b0fd19c9ddf566e81387fff5b4498c47dc5e3ada6367e2ccf3498346027543034d75977cb78d365d1c99405b9323b4e6
AUX spirv-llvm-translator-16.0.0-llvm-link-llvm-dylib.patch 1755 BLAKE2B fa0465b04580a68258adc8aa3e73a9d66b75a7c0896e5b646a0e0860400c675a5ea09164d844f72a5a98933095e332c18e480833eb75c76e875f10105ea6dbea SHA512 b5e9a771c1b4b062777f7c7f994224bae54f036c46df0e275d276856d74f778843f6fa1cb77fb714e72b20704d5a22daeb0e83c93fb557d629809eb680f6c3a2
DIST spirv-llvm-translator-14.0.0.tar.gz 1482704 BLAKE2B f88eb8f4cd652c448e465605ec8c34bb80f87f1269c244b33be542ae98ef97ea04a759b9cd9fed0814f4360733d7560d301d2b8d586706d1ca988b4524526aeb SHA512 5659149a380ceef7acdcb274bcad9b23e4817bf88e795e0a8464dfe14fbd102dbf7199cbe67eb611a16d3a411c7a1b8afc6f0eef61fec5a2b8f9fba06748bcb1
DIST spirv-llvm-translator-15.0.0.tar.gz 1515145 BLAKE2B 1f93b55f8934ce7dbc9416b82f7bd544d16e95be795047e914d0c303ec90965eae03ab3522b3c92d6cffb1fe00bed78a4bb74085d3da21c14b68ad3fbe53113c SHA512 8a6ddddf326dad96c1c5749ebf03e63e6be60592dccd307f7a35be668cec2b4f58c2f089854aeefa37398c3a97dad6bf92a6ceb892da27b5cf9d4ae1aa41dd06
DIST spirv-llvm-translator-16.0.0.tar.gz 1542060 BLAKE2B bee72a776062266e60c5237396434ecba4e4da959ed52292ad08388bdd08d7749fd86cfac5c25af424032a1ba19f59b2d8c7eac0eaf50db6a4945841abe0836f SHA512 0bacacb89aa2b03d1173d1bfbcdd83fdce7441ebc3fff65e14dc5e901fc983861365a54c029b2a65075b6fa45046c30aa7bbad4e6150cf3382e7d050c598de98
EBUILD spirv-llvm-translator-14.0.0-r1.ebuild 1203 BLAKE2B 0bf581cbfcda0ae078bbcbb4792a19415b326d3bc14cac4c2e616ff2a16f8d15f3b98d852a6d40df4ce0121ae4a331ee49733c676eff862ef0fea270d1fa3b43 SHA512 db59082eb283cf789cbb9ed9604890bc4079932e45e4f3dcb98fd106dc9757b7f496eac1c2c0aaba7184bef2900efd12ce4c4d3609ce84b3c792c5174d6ae8d5
EBUILD spirv-llvm-translator-15.0.0.ebuild 1215 BLAKE2B feb9976829786cb06f9b94ab72e638f7787f25f5867827d7c8bf0314f5f678b6b0007ed2971936c6b0364423ff974ede45f02b1580f98415b85e09f158dd9566 SHA512 ad9c7fc3cbd4c78587925a6413fb2f8b568e3eea46da10b3ad4a9d5de94aa69c64461be457954d6f437af56f23320a429afc357fdddd50d8e6058384577217a6
-EBUILD spirv-llvm-translator-16.0.0.ebuild 1276 BLAKE2B 1f3434ce9492ba1e5cb78f42afa588ebcd187f0d1dce9db17ef9ac071752d5a6eaa775adeaa239bd8801bba75a9d2eb39c1ffb0b382fb821d7461cbe30acd377 SHA512 208f742fc6764eb480aaed67ae836e42570e4acbd43928564ab541f86acb03c833d00a702e3b91222ea71c0cb6331ac165f90d1ddc3687832e5e6b304f2ae11a
+EBUILD spirv-llvm-translator-16.0.0.ebuild 1381 BLAKE2B 7f702966bc77c58473d5eacab0dbf21612914c16e8e49c3b0fb3cf3b11061d941c3e2c4de62461e10818ff9f63af017650cd27d94f62736d392b4d2c1e9db970 SHA512 07762045809880dfc41ef8293c1db113f36284e37b6447d8f28cffcacf536a6de14d2b472e229aa617e48872b28dcac2622a78915f62c7950aba417135da6d6a
MISC metadata.xml 696 BLAKE2B 8d5fd20aa6ce0ed9c7660ac356f9c2274c8262680faf04aa647890044e8c48703366aa59a6c9b638105a5269ae2bcc7d1ccdb01fbb268b2054d6dce7a9cb875b SHA512 c0ce5f3a5eefced8c2a3fe8988009f4ae2dab5c1a93d5f908d24e2445696799dc937cde7f1ec29237ce44a653d496a74b246ac9d65ab132c33c5334990a6238e
diff --git a/dev-util/spirv-llvm-translator/files/spirv-llvm-translator-16.0.0-ld_library_path.patch b/dev-util/spirv-llvm-translator/files/spirv-llvm-translator-16.0.0-ld_library_path.patch
new file mode 100644
index 000000000000..3068cd535005
--- /dev/null
+++ b/dev-util/spirv-llvm-translator/files/spirv-llvm-translator-16.0.0-ld_library_path.patch
@@ -0,0 +1,63 @@
+From c2133b18cb48b9bb9c47897b16d64c5f0547cde6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Thu, 4 May 2023 08:44:25 +0200
+Subject: [PATCH] [test] Use LD_LIBRARY_PATH to ensure that a new lib is used
+ (#1989)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Add the library `BINARY_DIR` to `LD_LIBRARY_PATH` to ensure that
+the freshly built `libLLVMSPIRVLib.so` is tested. Otherwise, llvm-spirv
+spawned by the test suite may use the previously installed
+`libLLVMSPIRVLib.so`.
+
+I have noticed the problem after rebuilding LLVM with
+`-DLLVM_ENABLE_ASSSERTIONS=ON`. This meant that the previous version
+of `libLLVMSPIRVLib.so` now crashed, effectively causing the test suite
+to fail incorrectly.
+
+Signed-off-by: Michał Górny <mgorny@gentoo.org>
+---
+ test/CMakeLists.txt | 1 +
+ test/lit.cfg.py | 3 ++-
+ test/lit.site.cfg.py.in | 1 +
+ 3 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
+index 235f6d0a0..355baffb8 100644
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -3,6 +3,7 @@ llvm_canonicalize_cmake_booleans(SPIRV_SKIP_DEBUG_INFO_TESTS)
+
+ # required by lit.site.cfg.py.in
+ get_target_property(LLVM_SPIRV_DIR llvm-spirv BINARY_DIR)
++get_target_property(LLVM_SPIRV_LIB_DIR LLVMSPIRVLib BINARY_DIR)
+ set(LLVM_SPIRV_TEST_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
+
+ if(SPIRV_TOOLS_FOUND AND NOT SPIRV-Tools-tools_FOUND)
+diff --git a/test/lit.cfg.py b/test/lit.cfg.py
+index 4b66412c3..fd8d3f94c 100644
+--- a/test/lit.cfg.py
++++ b/test/lit.cfg.py
+@@ -76,6 +76,7 @@
+ else:
+ config.substitutions.append(('spirv-val', ':'))
+
++llvm_config.with_system_environment('LD_LIBRARY_PATH')
+ if using_spirv_tools:
+- llvm_config.with_system_environment('LD_LIBRARY_PATH')
+ llvm_config.with_environment('LD_LIBRARY_PATH', config.spirv_tools_lib_dir, append_path=True)
++llvm_config.with_environment('LD_LIBRARY_PATH', config.llvm_spirv_lib_dir, append_path=True)
+diff --git a/test/lit.site.cfg.py.in b/test/lit.site.cfg.py.in
+index a01f2bb34..fdc4f4319 100644
+--- a/test/lit.site.cfg.py.in
++++ b/test/lit.site.cfg.py.in
+@@ -6,6 +6,7 @@ config.llvm_src_root = "@LLVM_SOURCE_DIR@"
+ config.llvm_obj_root = "@LLVM_BINARY_DIR@"
+ config.llvm_tools_dir = "@LLVM_TOOLS_DIR@"
+ config.llvm_spirv_dir = "@LLVM_SPIRV_DIR@"
++config.llvm_spirv_lib_dir = "@LLVM_SPIRV_LIB_DIR@"
+ config.llvm_libs_dir = "@LLVM_LIBS_DIR@"
+ config.llvm_shlib_dir = "@SHLIBDIR@"
+ config.llvm_plugin_ext = "@LLVM_PLUGIN_EXT@"
diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-16.0.0.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-16.0.0.ebuild
index 2ecbe13bf889..fd9d9851fd82 100644
--- a/dev-util/spirv-llvm-translator/spirv-llvm-translator-16.0.0.ebuild
+++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-16.0.0.ebuild
@@ -7,7 +7,7 @@ LLVM_MAX_SLOT="16"
MY_PN="SPIRV-LLVM-Translator"
MY_P="${MY_PN}-${PV}"
-inherit cmake flag-o-matic llvm
+inherit cmake flag-o-matic llvm multiprocessing
DESCRIPTION="Bi-directional translator between SPIR-V and LLVM IR"
HOMEPAGE="https://github.com/KhronosGroup/SPIRV-LLVM-Translator"
@@ -34,7 +34,10 @@ BDEPEND="
test? ( dev-python/lit )
"
-PATCHES=( "${FILESDIR}/${PN}-16.0.0-llvm-link-llvm-dylib.patch" )
+PATCHES=(
+ "${FILESDIR}/${PN}-16.0.0-llvm-link-llvm-dylib.patch"
+ "${FILESDIR}/${PN}-16.0.0-ld_library_path.patch"
+)
src_prepare() {
append-flags -fPIC
@@ -55,5 +58,5 @@ src_configure() {
}
src_test() {
- lit "${BUILD_DIR}/test" || die
+ lit -vv "-j${LIT_JOBS:-$(makeopts_jobs)}" "${BUILD_DIR}/test" || die
}
diff --git a/dev-util/watchman/Manifest b/dev-util/watchman/Manifest
index c0d2c223002c..2dfc68a258d2 100644
--- a/dev-util/watchman/Manifest
+++ b/dev-util/watchman/Manifest
@@ -301,6 +301,7 @@ DIST wasm-bindgen-shared-0.2.84.crate 7219 BLAKE2B 4910158ed884dd9dbb32b1539b0c8
DIST watchman-2022.08.29.00.tar.gz 3787691 BLAKE2B faf3f6afe351f7596256424c9e4f0c31fe826ee1097e216d04d869b3adee7ca1d4d9afbbea99fb3ca4f095d06171a1afe56fc5a71022242c4fde99246c3a1781 SHA512 25f6f133253335ece931fdbb131e8df4961c4b73877e2caa5008d3bd5e66e44b1121b7d4f2cd3367b1759476307aad8d6642089c482a6b65178b0a05510ea5f1
DIST watchman-2023.02.06.00.tar.gz 3811103 BLAKE2B 9a7ef8b809855bd08bf7a75441a6399ed4fd852e40f749391d4f1377ad095e7f2d58800e9c44f058723751fa51fdd8ff88122276d1af6d3128344cd48457eba7 SHA512 4d7b4835130bf343f596730f0ec4fef30a9c0a521c9c35c06a80f652c26486dfbc8fef405fd0cc2586965b20c75c260383971da19d148173801d39c51a6d42ee
DIST watchman-2023.04.10.00.tar.gz 3962793 BLAKE2B b4a26e38d07376ebea81cf7b0a1694a775cc71c0142157dce804173d153599e017dad516b31368bb034142bd13b4b53a5074613468870cd9e970e8644b312b9b SHA512 6d078cf7681bd07327b03dd159d5dd66ff84007cb149329642ec3ed6d8a785307f28668a0568095162b9ff654cd04104103d10b1e2d1db9cae14667d32d450b4
+DIST watchman-2023.05.01.00.tar.gz 3963267 BLAKE2B 00e9a9dd8426e112715997aa1e51700a1797d1e7d935d2b3f1e019d65a38d97cd61dda755e03703ea7060dab5c793408401e6cc04a1d0d513686ac387235524d SHA512 f36a625bbcfd0ecb2813bb33c04fb3314a6f3303cf84d3cef479d7b843862cb231a7b2f56ce13457bbf408df033a2d71fa8545b839225d8fbc292ea270f574e2
DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
DIST winapi-util-0.1.5.crate 10164 BLAKE2B fc800aceae5249a858c806c3e969ef2545766099872d856ebee51c883d9acf1122278db9607d50ca53eac351502b700fd2463900932d342240f97f683d517963 SHA512 7baeb661f397c4693dfa001fdc774b323c51a7c55caad40f2de5112a1cefd1d6151e3df41fa4ee193460a5905917c83d2b1de5fa10b4bd014ad96690af95c0fd
@@ -342,4 +343,5 @@ DIST xi-unicode-0.2.1.crate 88229 BLAKE2B a091b894959e665e2b46086a3512a6193b54bd
EBUILD watchman-2022.08.29.00.ebuild 4863 BLAKE2B 78cda686e03e3bf5b9cb8544ab56a6f0017c3dc772c69fc34c3fe00cc4706c26f259d43198d18dc53c7a59a8a3937905f7cc443bdc3146669f51aa1f2f90700d SHA512 fb0a50a95b43c49c552cb4f8aadc7910cafea3296b95f334464426e2642e566045139ed915809fba98a4e5e677c86fdbec177f050414a756042a3e9338619a93
EBUILD watchman-2023.02.06.00.ebuild 6661 BLAKE2B 95d095741ff4e8282ef17a00c9d3a940d1775ad3f61bcc9fe45f95655c430c51cbc109dac2dc6f20d80227b4a6c4181841ab862ba41d83958ec6a04893d55b58 SHA512 4d8e52367dd96c7f1547c7331e3d5db3d87ddc41ffe7b5eb46ced2e95134d5f55a94954882f93721087bba75050a745681ec7acd0ecad1b4f87e5bd06f8199f6
EBUILD watchman-2023.04.10.00.ebuild 6848 BLAKE2B ea9e26a3922acd37d681eb2731daf410256ef0067ffeb9ee604738c81ba1c33a3f75d19af54578731ffaf2f5c4ad66c3bc853e123a2a056311f6826d437f0e15 SHA512 d86ab353cc92ea6f7a4a3d7e2159004603efb2833d33b7d9059ce4477c02cca3c6a89c738beb9104cae89154f9842155da5344878e97e0c84bd732641279283d
+EBUILD watchman-2023.05.01.00.ebuild 6848 BLAKE2B ea9e26a3922acd37d681eb2731daf410256ef0067ffeb9ee604738c81ba1c33a3f75d19af54578731ffaf2f5c4ad66c3bc853e123a2a056311f6826d437f0e15 SHA512 d86ab353cc92ea6f7a4a3d7e2159004603efb2833d33b7d9059ce4477c02cca3c6a89c738beb9104cae89154f9842155da5344878e97e0c84bd732641279283d
MISC metadata.xml 691 BLAKE2B 68506bb31b8d7524b07a12bd2a237ed985215701eb2a28bacfd63ba5f3d61713b0369523a369c5880392e2f4790da4f908538627f3c3d58fe7c78faf9ebc9a15 SHA512 71c073c60fd880455dee0af9193a4279975ba34558144cfe03baa50d2a7c2c5074631a53fb89504d852e9782478f0add9dcea361f36cefe8a42f8f94ae27831a
diff --git a/dev-util/watchman/watchman-2023.05.01.00.ebuild b/dev-util/watchman/watchman-2023.05.01.00.ebuild
new file mode 100644
index 000000000000..93d22b62da3a
--- /dev/null
+++ b/dev-util/watchman/watchman-2023.05.01.00.ebuild
@@ -0,0 +1,326 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# These must be bumped together:
+# dev-cpp/edencommon
+# dev-cpp/folly
+# dev-util/watchman
+
+# TODO: Split into different variables then combine for each component?
+# Not all is in rust/ dir.
+# Rust components:
+# - thirdparty/deelevate_binding/Cargo.toml
+# - rust/watchman_client/Cargo.toml
+# - rust/serde_bser/Cargo.toml
+# - cli/Cargo.toml
+CRATES="
+ahash-0.8.3
+aho-corasick-0.7.20
+android_system_properties-0.1.5
+ansi_term-0.12.1
+anyhow-1.0.70
+atty-0.2.14
+autocfg-1.1.0
+base64-0.10.1
+bitflags-1.3.2
+bumpalo-3.12.0
+byteorder-1.4.3
+bytes-1.4.0
+cc-1.0.79
+cfg-if-1.0.0
+chrono-0.4.24
+clap-2.34.0
+codespan-reporting-0.11.1
+core-foundation-sys-0.8.4
+crossbeam-0.8.2
+crossbeam-channel-0.5.8
+crossbeam-deque-0.8.3
+crossbeam-epoch-0.9.14
+crossbeam-queue-0.3.8
+crossbeam-utils-0.8.15
+cxx-1.0.94
+cxxbridge-flags-1.0.94
+cxxbridge-macro-1.0.94
+cxx-build-1.0.94
+deelevate-0.1.1
+dirs-4.0.0
+dirs-sys-0.3.7
+duct-0.13.6
+either-1.8.1
+embed-resource-1.8.0
+filedescriptor-0.7.3
+fnv-1.0.7
+futures-0.1.31
+futures-0.3.28
+futures-channel-0.3.28
+futures-core-0.3.28
+futures-executor-0.3.28
+futures-io-0.3.28
+futures-macro-0.3.28
+futures-sink-0.3.28
+futures-task-0.3.28
+futures-util-0.3.28
+getrandom-0.1.16
+getrandom-0.2.9
+heck-0.3.3
+hermit-abi-0.1.19
+hermit-abi-0.2.6
+iana-time-zone-0.1.56
+iana-time-zone-haiku-0.1.1
+itoa-1.0.6
+js-sys-0.3.61
+jwalk-0.6.2
+lazy_static-1.4.0
+libc-0.2.141
+link-cplusplus-1.0.8
+lock_api-0.4.9
+log-0.4.17
+maplit-1.0.2
+maybe-uninit-2.0.0
+memchr-2.5.0
+memmem-0.1.1
+memoffset-0.6.5
+memoffset-0.8.0
+mio-0.8.6
+nix-0.25.1
+nom-5.1.2
+ntapi-0.4.0
+num-0.2.1
+num-bigint-0.2.6
+num-complex-0.2.4
+num_cpus-1.15.0
+num-derive-0.2.5
+num-integer-0.1.45
+num-iter-0.1.43
+num-rational-0.2.4
+num-traits-0.2.15
+once_cell-1.17.1
+ordered-float-1.1.1
+os_pipe-1.1.3
+parking_lot-0.12.1
+parking_lot_core-0.9.7
+pathsearch-0.2.0
+phf-0.11.1
+phf_codegen-0.11.1
+phf_generator-0.11.1
+phf_shared-0.11.1
+pin-project-lite-0.2.9
+pin-utils-0.1.0
+ppv-lite86-0.2.17
+proc-macro2-0.4.30
+proc-macro2-1.0.56
+proc-macro-error-1.0.4
+proc-macro-error-attr-1.0.4
+quote-0.6.13
+quote-1.0.26
+rand-0.7.3
+rand-0.8.5
+rand_chacha-0.2.2
+rand_core-0.5.1
+rand_core-0.6.4
+rand_hc-0.2.0
+rayon-1.7.0
+rayon-core-1.11.0
+redox_syscall-0.2.16
+redox_users-0.4.3
+regex-1.7.3
+regex-syntax-0.6.29
+rustc_version-0.4.0
+ryu-1.0.13
+scopeguard-1.1.0
+scratch-1.0.5
+semver-0.9.0
+semver-1.0.17
+semver-parser-0.7.0
+serde-1.0.160
+serde_bytes-0.11.9
+serde_derive-1.0.160
+serde_json-1.0.96
+shared_child-1.0.0
+shared_library-0.1.9
+signal-hook-0.1.17
+signal-hook-registry-1.4.1
+siphasher-0.3.10
+slab-0.4.8
+smallvec-0.6.14
+smallvec-1.10.0
+socket2-0.4.9
+strsim-0.8.0
+structopt-0.3.26
+structopt-derive-0.4.18
+syn-0.15.44
+syn-1.0.109
+syn-2.0.15
+sysinfo-0.26.9
+tabular-0.2.0
+termcolor-1.2.0
+terminfo-0.7.5
+termios-0.3.3
+termwiz-0.8.0
+textwrap-0.11.0
+thiserror-1.0.40
+thiserror-impl-1.0.40
+time-0.1.45
+tokio-1.27.0
+tokio-macros-2.0.0
+tokio-util-0.6.10
+toml-0.5.11
+tracing-0.1.37
+tracing-core-0.1.30
+unicode-ident-1.0.8
+unicode-segmentation-1.10.1
+unicode-width-0.1.10
+unicode-xid-0.1.0
+utf8parse-0.1.1
+vec_map-0.8.2
+vergen-3.2.0
+version_check-0.9.4
+vswhom-0.1.0
+vswhom-sys-0.1.2
+vtparse-0.2.2
+wasi-0.10.0+wasi-snapshot-preview1
+wasi-0.11.0+wasi-snapshot-preview1
+wasi-0.9.0+wasi-snapshot-preview1
+wasm-bindgen-0.2.84
+wasm-bindgen-backend-0.2.84
+wasm-bindgen-macro-0.2.84
+wasm-bindgen-macro-support-0.2.84
+wasm-bindgen-shared-0.2.84
+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-0.48.0
+windows_aarch64_gnullvm-0.42.2
+windows_aarch64_gnullvm-0.48.0
+windows_aarch64_msvc-0.42.2
+windows_aarch64_msvc-0.48.0
+windows_i686_gnu-0.42.2
+windows_i686_gnu-0.48.0
+windows_i686_msvc-0.42.2
+windows_i686_msvc-0.48.0
+windows-sys-0.45.0
+windows-targets-0.42.2
+windows-targets-0.48.0
+windows_x86_64_gnu-0.42.2
+windows_x86_64_gnu-0.48.0
+windows_x86_64_gnullvm-0.42.2
+windows_x86_64_gnullvm-0.48.0
+windows_x86_64_msvc-0.42.2
+windows_x86_64_msvc-0.48.0
+winreg-0.10.1
+xi-unicode-0.2.1
+"
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
+inherit cargo cmake distutils-r1 tmpfiles
+
+DESCRIPTION="A file watching service"
+HOMEPAGE="https://facebook.github.io/watchman/"
+SRC_URI="https://github.com/facebook/watchman/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" $(cargo_crate_uris)"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="llvm-libunwind python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# See https://github.com/facebook/watchman/blob/main/CMakeLists.txt#L342 for libevent
+RDEPEND="
+ dev-libs/libevent:=
+ dev-libs/libpcre2
+ ~dev-cpp/edencommon-${PV}:=
+ ~dev-cpp/folly-${PV}:=
+ dev-cpp/glog:=
+ >=dev-libs/libfmt-8.1.1-r1:=
+ dev-libs/openssl:=
+ llvm-libunwind? ( sys-libs/llvm-libunwind:= )
+ !llvm-libunwind? ( sys-libs/libunwind:= )
+ python? ( ${PYTHON_DEPS} )"
+# TODO: Make gtest test-only (needs a fair bit of patching)
+DEPEND="${RDEPEND}
+ dev-cpp/gtest"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2023.01.16.00-python-working-dir.patch
+ "${FILESDIR}"/${PN}-2022.02.28.00-libatomic.patch
+ "${FILESDIR}"/${PN}-2022.08.08.00-musl-fsword-fix.patch
+)
+
+# Rust utility
+QA_FLAGS_IGNORED="usr/bin/watchmanctl"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ cmake_src_prepare
+}
+
+src_configure() {
+ # https://github.com/facebook/watchman/blob/789678cf9855fb07b402afb75b01e4f8786deba2/build/fbcode_builder/CMake/RustStaticLibrary.cmake#L17
+ export RUST_VENDORED_CRATES_DIR="${ECARGO_VENDOR}"
+ export RUST_CARGO_HOME="${ECARGO_HOME}"
+ export CARGO_HOME="${ECARGO_HOME}"
+ # Build system already handles avoiding Rust-jobs-while-CMake-jobs-spawned issue
+ # https://github.com/facebook/watchman/blob/789678cf9855fb07b402afb75b01e4f8786deba2/build/fbcode_builder/CMake/RustStaticLibrary.cmake#L69
+ # so no need to force -j1 via cargo jobs
+
+ local mycmakeargs=(
+ # Rust wrangling
+ -DUSE_CARGO_VENDOR=ON
+ -DGENERATE_CARGO_VENDOR_CONFIG=OFF
+ -DRUST_CARGO_HOME="${RUST_CARGO_HOME}"
+
+ # General bits
+ -DWATCHMAN_STATE_DIR="${EPREFIX}"/run/watchman
+ -DWATCHMAN_VERSION_OVERRIDE=${PV}
+
+ # Fails to build against fbthrift for now in libatomic troubles
+ -DENABLE_EDEN_SUPPORT=OFF
+
+ # We handle this ourselves
+ -DCMAKE_DISABLE_FIND_PACKAGE_Python3=ON
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use python ; then
+ pushd watchman/python >/dev/null || die
+ distutils-r1_src_compile
+ popd >/dev/null || die
+ fi
+}
+
+src_test() {
+ cmake_src_test
+
+ if use python ; then
+ pushd watchman/python >/dev/null || die
+ distutils-r1_src_test
+ popd >/dev/null || die
+ fi
+}
+
+src_install() {
+ cmake_src_install
+
+ newtmpfiles "${FILESDIR}"/watchman.tmpfiles watchman.conf
+
+ if use python ; then
+ pushd watchman/python >/dev/null || die
+ distutils-r1_src_install
+ popd >/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ tmpfiles_process watchman.conf
+}