diff options
Diffstat (limited to 'dev-util/watchman')
-rw-r--r-- | dev-util/watchman/Manifest | 2 | ||||
-rw-r--r-- | dev-util/watchman/watchman-2023.05.01.00.ebuild | 326 |
2 files changed, 328 insertions, 0 deletions
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 +} |