commit:     36346b28d6b876b96e5084b03250cde1a421eca6
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 23 03:18:00 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Aug 23 03:30:06 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=36346b28

dev-util/watchman: add 2022.08.22.00

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-util/watchman/Manifest                      |   1 +
 dev-util/watchman/watchman-2022.08.22.00.ebuild | 217 ++++++++++++++++++++++++
 2 files changed, 218 insertions(+)

diff --git a/dev-util/watchman/Manifest b/dev-util/watchman/Manifest
index 42cf23a5a51b..62cabef802a3 100644
--- a/dev-util/watchman/Manifest
+++ b/dev-util/watchman/Manifest
@@ -85,6 +85,7 @@ DIST watchman-2022.04.11.00.tar.gz 3783345 BLAKE2B 
0b4b4cadfb45e5a894428ab27fde3
 DIST watchman-2022.07.04.00.tar.gz 3785684 BLAKE2B 
b27f71cd5d505d9383858434eaa90dd9a70478507a2750f10c3fdc88e39978cc6f94402d498dc26e2b5043018913bf71a28c04870dbefe8ee79fbe3e963a86e8
 SHA512 
43bbccd5e69905105da54fb661f506d2b3ef43719660deb07cb4b3b47b1569af71edcdc798ffdae79ec26c7cf24988394321d0f183f20af51daf6d54f4a3d8e5
 DIST watchman-2022.08.08.00.tar.gz 3788351 BLAKE2B 
cdf5ea901bbe7ff46d32fadb7eb46d2346f3330fd20c2e14dd4faa54c3feabfaf4c0a76b83a4493bcd052b7fa9d08e7ed05ad3d1bc883edefef9812258afeba6
 SHA512 
537b52d50823ce27f0c42927f2c04a57bb273f53d9f4c91a6744a319ff8efef9f5ed202ec2f2a1dfd59b1c16f5e8044ba21148bd40ca45660813cc67c839d6a2
 DIST watchman-2022.08.15.00.tar.gz 3783166 BLAKE2B 
a2090fb9e62890ea77e264c6d2727d93e8799b96ad4eaf7e02c58a8526fbd57b3b6ff2fdeddfb67a41771e2c0e29ca2f7fab2246ef8455df9902685c40c96138
 SHA512 
497f7127fe6efc5419f9f169b580701bdf88c4774b2c2d35b5c3849b29f679bf72569885cbb4411ebfd92e8d34eb589bf327d2362d8b5a1c141f9c063833f3e7
+DIST watchman-2022.08.22.00.tar.gz 3785807 BLAKE2B 
7be65183a03bbef4b880349bc04b27c71699ae3a7c140bddea4f3f40299d9bbf19d63980bba988eab4219205b7250c9de2045d29aa9a5c65820e03a1b4cc647d
 SHA512 
33efa917f7561f8f6fddd77590ad87064cfcca10c3936ccc3fd078a3f425ae49ec4a7e0859251c3020f26a0e9086301fd23fc1fafe73746316bf336123463f9d
 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-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 
2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82
 SHA512 
4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513

diff --git a/dev-util/watchman/watchman-2022.08.22.00.ebuild 
b/dev-util/watchman/watchman-2022.08.22.00.ebuild
new file mode 100644
index 000000000000..ab5b42363940
--- /dev/null
+++ b/dev-util/watchman/watchman-2022.08.22.00.ebuild
@@ -0,0 +1,217 @@
+# Copyright 2020-2022 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: watchman/cli watchman/rust/serde_bser 
watchman/rust/watchman_client
+CRATES="
+ahash-0.3.8
+ansi_term-0.12.1
+anyhow-1.0.55
+atty-0.2.14
+autocfg-1.1.0
+bitflags-1.3.2
+byteorder-1.4.3
+bytes-1.1.0
+cfg-if-1.0.0
+clap-2.34.0
+const-random-0.1.13
+const-random-macro-0.1.13
+crossbeam-0.8.1
+crossbeam-channel-0.5.2
+crossbeam-deque-0.8.1
+crossbeam-epoch-0.9.7
+crossbeam-queue-0.3.4
+crossbeam-utils-0.8.7
+crunchy-0.2.2
+either-1.6.1
+futures-0.1.31
+futures-0.3.21
+futures-channel-0.3.21
+futures-core-0.3.21
+futures-executor-0.3.21
+futures-io-0.3.21
+futures-macro-0.3.21
+futures-sink-0.3.21
+futures-task-0.3.21
+futures-util-0.3.21
+getrandom-0.2.5
+heck-0.3.3
+hermit-abi-0.1.19
+jwalk-0.6.0
+lazy_static-1.4.0
+libc-0.2.119
+lock_api-0.4.6
+log-0.4.14
+maplit-1.0.2
+memchr-2.4.1
+memoffset-0.6.5
+mio-0.8.0
+miow-0.3.7
+ntapi-0.3.7
+num_cpus-1.13.1
+once_cell-1.9.0
+parking_lot-0.12.0
+parking_lot_core-0.9.1
+pin-project-lite-0.2.8
+pin-utils-0.1.0
+proc-macro2-1.0.36
+proc-macro-error-1.0.4
+proc-macro-error-attr-1.0.4
+proc-macro-hack-0.5.19
+quote-1.0.15
+rayon-1.5.1
+rayon-core-1.9.1
+redox_syscall-0.2.10
+scopeguard-1.1.0
+serde-1.0.136
+serde_derive-1.0.136
+signal-hook-registry-1.4.0
+slab-0.4.5
+smallvec-1.8.0
+socket2-0.4.4
+strsim-0.8.0
+structopt-0.3.26
+structopt-derive-0.4.18
+syn-1.0.86
+textwrap-0.11.0
+thiserror-1.0.30
+thiserror-impl-1.0.30
+tiny-keccak-2.0.2
+tokio-1.17.0
+tokio-macros-1.7.0
+tokio-util-0.6.9
+unicode-segmentation-1.9.0
+unicode-width-0.1.9
+unicode-xid-0.2.2
+vec_map-0.8.2
+version_check-0.9.4
+wasi-0.10.2+wasi-snapshot-preview1
+winapi-0.3.9
+winapi-i686-pc-windows-gnu-0.4.0
+winapi-x86_64-pc-windows-gnu-0.4.0
+windows_aarch64_msvc-0.32.0
+windows_i686_gnu-0.32.0
+windows_i686_msvc-0.32.0
+windows-sys-0.32.0
+windows_x86_64_gnu-0.32.0
+windows_x86_64_msvc-0.32.0
+"
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+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}-2022.07.04.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
+}

Reply via email to