diff options
-rw-r--r-- | sys-apps/ripgrep/metadata.xml | 5 | ||||
-rw-r--r-- | sys-apps/ripgrep/ripgrep-0.10.0-r1.ebuild | 152 |
2 files changed, 157 insertions, 0 deletions
diff --git a/sys-apps/ripgrep/metadata.xml b/sys-apps/ripgrep/metadata.xml index db9ee5a685a0..fe6ddd961327 100644 --- a/sys-apps/ripgrep/metadata.xml +++ b/sys-apps/ripgrep/metadata.xml @@ -13,6 +13,11 @@ Line-oriented search tool that recursively searches your current directory for a regex pattern while respecting your gitignore rules. ripgrep is similar to other popular search tools like The Silver Searcher, ack and grep. </longdescription> + <use> + <flag name="man" restrict=">=sys-apps/ripgrep-0.10.0-r1"> + Build and install man pages. + </flag> + </use> <upstream> <remote-id type="github">BurntSushi/ripgrep</remote-id> </upstream> diff --git a/sys-apps/ripgrep/ripgrep-0.10.0-r1.ebuild b/sys-apps/ripgrep/ripgrep-0.10.0-r1.ebuild new file mode 100644 index 000000000000..fba0e1d8e24c --- /dev/null +++ b/sys-apps/ripgrep/ripgrep-0.10.0-r1.ebuild @@ -0,0 +1,152 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +CRATES=" +aho-corasick-0.6.8 +arrayvec-0.4.7 +atty-0.2.11 +base64-0.9.2 +bitflags-1.0.4 +bytecount-0.3.2 +byteorder-1.2.6 +cc-1.0.24 +cfg-if-0.1.5 +clap-2.32.0 +cloudabi-0.0.3 +crossbeam-channel-0.2.4 +crossbeam-epoch-0.5.2 +crossbeam-utils-0.5.0 +encoding_rs-0.8.6 +encoding_rs_io-0.1.2 +fnv-1.0.6 +fuchsia-zircon-0.3.3 +fuchsia-zircon-sys-0.3.3 +glob-0.2.11 +globset-0.4.2 +grep-0.2.2 +grep-cli-0.1.1 +grep-matcher-0.1.1 +grep-pcre2-0.1.1 +grep-printer-0.1.1 +grep-regex-0.1.1 +grep-searcher-0.1.1 +ignore-0.4.4 +itoa-0.4.2 +lazy_static-1.1.0 +libc-0.2.43 +lock_api-0.1.3 +log-0.4.5 +memchr-2.0.2 +memmap-0.6.2 +memoffset-0.2.1 +nodrop-0.1.12 +num_cpus-1.8.0 +owning_ref-0.3.3 +parking_lot-0.6.4 +parking_lot_core-0.3.0 +pcre2-0.1.0 +pcre2-sys-0.1.1 +pkg-config-0.3.14 +proc-macro2-0.4.18 +quote-0.6.8 +rand-0.4.3 +rand-0.5.5 +rand_core-0.2.1 +redox_syscall-0.1.40 +redox_termios-0.1.1 +regex-1.0.5 +regex-syntax-0.6.2 +remove_dir_all-0.5.1 +ripgrep-0.10.0 +ryu-0.2.6 +safemem-0.2.0 +same-file-1.0.3 +scopeguard-0.3.3 +serde-1.0.77 +serde_derive-1.0.77 +serde_json-1.0.27 +simd-0.2.2 +smallvec-0.6.5 +stable_deref_trait-1.1.1 +strsim-0.7.0 +syn-0.15.1 +tempdir-0.3.7 +termcolor-1.0.3 +termion-1.5.1 +textwrap-0.10.0 +thread_local-0.3.6 +ucd-util-0.1.1 +unicode-width-0.1.5 +unicode-xid-0.1.0 +unreachable-1.0.0 +utf8-ranges-1.0.1 +version_check-0.1.4 +void-1.0.2 +walkdir-2.2.5 +winapi-0.3.5 +winapi-i686-pc-windows-gnu-0.4.0 +winapi-util-0.1.1 +winapi-x86_64-pc-windows-gnu-0.4.0 +wincolor-1.0.1 +" + +inherit cargo bash-completion-r1 + +DESCRIPTION="a search tool that combines the usability of ag with the raw speed of grep" +HOMEPAGE="https://github.com/BurntSushi/ripgrep" +SRC_URI="$(cargo_crate_uris ${CRATES})" + +LICENSE="|| ( MIT Unlicense )" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+man pcre" + +RDEPEND="pcre? ( dev-libs/libpcre2 )" +DEPEND="${RDEPEND} + virtual/pkgconfig + >=virtual/rust-1.20 + man? ( app-text/asciidoc )" + +QA_FLAGS_IGNORED="usr/bin/rg" + +src_test() { + cargo test || die "tests failed" +} + +src_compile() { + export CARGO_HOME="${ECARGO_HOME}" + cargo build -j $(makeopts_jobs) \ + $(usex debug "" --release) \ + $(usex pcre "--features pcre2" "") \ + || die "cargo build failed" +} + +src_install() { + cargo install -j $(makeopts_jobs) --root="${D}/usr" \ + $(usex debug --debug "") \ + $(usex pcre "--features pcre2" "") \ + || die "cargo install failed" + + rm -f "${D}/usr/.crates.toml" + + # hack to find/install generated files + # stamp file can be present in multiple dirs if we build additional features + # so grab fist match only + local BUILD_DIR=$(dirname $(find target/release -name ripgrep-stamp -print -quit)) + + if use man ; then + doman "${BUILD_DIR}"/rg.1 + fi + + newbashcomp "${BUILD_DIR}"/rg.bash rg + + insinto /usr/share/fish/vendor_completions.d + doins "${BUILD_DIR}"/rg.fish + + insinto /usr/share/zsh/site-functions + doins complete/_rg + + dodoc CHANGELOG.md FAQ.md GUIDE.md README.md +} |