summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-02-06 21:12:23 +0000
committerSam James <sam@gentoo.org>2023-02-06 21:24:50 +0000
commited4ff86d6bf3c347b99beeabb5a5b17ac890c9c5 (patch)
treeabcc4d97571a1b11d61343c5f03a9fc2b392db65 /dev-util/watchman
parentdev-cpp/edencommon: add 2023.02.06.00 (diff)
downloadgentoo-ed4ff86d6bf3c347b99beeabb5a5b17ac890c9c5.tar.gz
gentoo-ed4ff86d6bf3c347b99beeabb5a5b17ac890c9c5.tar.bz2
gentoo-ed4ff86d6bf3c347b99beeabb5a5b17ac890c9c5.zip
dev-util/watchman: add 2023.02.06.00
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-util/watchman')
-rw-r--r--dev-util/watchman/Manifest1
-rw-r--r--dev-util/watchman/watchman-2023.02.06.00.ebuild318
2 files changed, 319 insertions, 0 deletions
diff --git a/dev-util/watchman/Manifest b/dev-util/watchman/Manifest
index 8e4c84152d63..cea868164893 100644
--- a/dev-util/watchman/Manifest
+++ b/dev-util/watchman/Manifest
@@ -230,6 +230,7 @@ DIST wasm-bindgen-shared-0.2.83.crate 7194 BLAKE2B 4dd1cffea1edc98dcd4993bf6fdde
DIST watchman-2022.08.29.00.tar.gz 3787691 BLAKE2B faf3f6afe351f7596256424c9e4f0c31fe826ee1097e216d04d869b3adee7ca1d4d9afbbea99fb3ca4f095d06171a1afe56fc5a71022242c4fde99246c3a1781 SHA512 25f6f133253335ece931fdbb131e8df4961c4b73877e2caa5008d3bd5e66e44b1121b7d4f2cd3367b1759476307aad8d6642089c482a6b65178b0a05510ea5f1
DIST watchman-2022.09.12.00.tar.gz 3789078 BLAKE2B 57bb4f5e0e0c4fc3390296e78a62c4301997efcafe72f2cc9418c1d1527e03e6825c64c29aa1214d3cdedd6908a3e2ec89eb51e4c00cdf84129d8af6c3cb9fd9 SHA512 283db0b0d801ac5d0b87bf0edd054c0d4c90b1dee75b791f9fd999777dca9ba9efe46c26093ff932588e35679a9f835296b9109d0441c4dec1d37453f1373c1e
DIST watchman-2023.01.16.00.tar.gz 3811712 BLAKE2B 344a83460522f056aa31779c41a3cecc7c4c014107d788e17854925d5a5474f3679a21a3b757a9584084b5dca84697ea2d9294bcf29f742b68f9a062f8b5d939 SHA512 134641a5734abb78433101dfe822e53df0a189a6e19855e385fec1e728ba80f58a87a4c6a57362f9fcd755650008e7cbc7f308092a469430617ef5d9275235c8
+DIST watchman-2023.02.06.00.tar.gz 3811103 BLAKE2B 9a7ef8b809855bd08bf7a75441a6399ed4fd852e40f749391d4f1377ad095e7f2d58800e9c44f058723751fa51fdd8ff88122276d1af6d3128344cd48457eba7 SHA512 4d7b4835130bf343f596730f0ec4fef30a9c0a521c9c35c06a80f652c26486dfbc8fef405fd0cc2586965b20c75c260383971da19d148173801d39c51a6d42ee
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
diff --git a/dev-util/watchman/watchman-2023.02.06.00.ebuild b/dev-util/watchman/watchman-2023.02.06.00.ebuild
new file mode 100644
index 000000000000..b173a87191d0
--- /dev/null
+++ b/dev-util/watchman/watchman-2023.02.06.00.ebuild
@@ -0,0 +1,318 @@
+# 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.3.8
+aho-corasick-0.7.20
+android_system_properties-0.1.5
+ansi_term-0.12.1
+anyhow-1.0.68
+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.3.0
+cc-1.0.78
+cfg-if-1.0.0
+chrono-0.4.23
+clap-2.34.0
+codespan-reporting-0.11.1
+const-random-0.1.15
+const-random-macro-0.1.15
+core-foundation-sys-0.8.3
+crossbeam-0.8.2
+crossbeam-channel-0.5.6
+crossbeam-deque-0.8.2
+crossbeam-epoch-0.9.13
+crossbeam-queue-0.3.8
+crossbeam-utils-0.8.14
+crunchy-0.2.2
+cxx-1.0.87
+cxxbridge-flags-1.0.87
+cxxbridge-macro-1.0.87
+cxx-build-1.0.87
+deelevate-0.1.1
+dirs-4.0.0
+dirs-sys-0.3.7
+duct-0.13.6
+either-1.8.0
+embed-resource-1.8.0
+filedescriptor-0.7.3
+fnv-1.0.7
+futures-0.1.31
+futures-0.3.25
+futures-channel-0.3.25
+futures-core-0.3.25
+futures-executor-0.3.25
+futures-io-0.3.25
+futures-macro-0.3.25
+futures-sink-0.3.25
+futures-task-0.3.25
+futures-util-0.3.25
+getrandom-0.1.16
+getrandom-0.2.8
+heck-0.3.3
+hermit-abi-0.1.19
+hermit-abi-0.2.6
+iana-time-zone-0.1.53
+iana-time-zone-haiku-0.1.1
+itoa-1.0.5
+js-sys-0.3.60
+jwalk-0.6.2
+lazy_static-1.4.0
+libc-0.2.139
+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.7.1
+mio-0.8.5
+nix-0.23.2
+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.0
+ordered-float-1.1.1
+os_pipe-1.1.2
+parking_lot-0.12.1
+parking_lot_core-0.9.6
+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.50
+proc-macro-error-1.0.4
+proc-macro-error-attr-1.0.4
+proc-macro-hack-0.5.20+deprecated
+quote-0.6.13
+quote-1.0.23
+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.6.1
+rayon-core-1.10.1
+redox_syscall-0.2.16
+redox_users-0.4.3
+regex-1.7.1
+regex-syntax-0.6.28
+rustc_version-0.4.0
+ryu-1.0.12
+scopeguard-1.1.0
+scratch-1.0.3
+semver-0.9.0
+semver-1.0.16
+semver-parser-0.7.0
+serde-1.0.152
+serde_bytes-0.11.8
+serde_derive-1.0.152
+serde_json-1.0.91
+shared_child-1.0.0
+shared_library-0.1.9
+signal-hook-0.1.17
+signal-hook-registry-1.4.0
+siphasher-0.3.10
+slab-0.4.7
+smallvec-0.6.14
+smallvec-1.10.0
+socket2-0.4.7
+strsim-0.8.0
+structopt-0.3.26
+structopt-derive-0.4.18
+syn-0.15.44
+syn-1.0.107
+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.38
+thiserror-impl-1.0.38
+time-0.1.45
+tiny-keccak-2.0.2
+tokio-1.24.2
+tokio-macros-1.8.2
+tokio-util-0.6.10
+toml-0.5.11
+unicode-ident-1.0.6
+unicode-segmentation-1.10.0
+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.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
+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_aarch64_gnullvm-0.42.1
+windows_aarch64_msvc-0.42.1
+windows_i686_gnu-0.42.1
+windows_i686_msvc-0.42.1
+windows-sys-0.42.0
+windows_x86_64_gnu-0.42.1
+windows_x86_64_gnullvm-0.42.1
+windows_x86_64_msvc-0.42.1
+winreg-0.10.1
+xi-unicode-0.2.1
+"
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..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}-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
+}