git: 60288bd94fcf - main - devel/amber: New port: Code search/replace tool

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Fri, 06 Jan 2023 07:18:03 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=60288bd94fcf7a52024c2b88284a47e2242980a0

commit 60288bd94fcf7a52024c2b88284a47e2242980a0
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-01-06 02:07:52 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-01-06 07:17:54 +0000

    devel/amber: New port: Code search/replace tool
---
 devel/Makefile        |   1 +
 devel/amber/Makefile  | 137 +++++++++++++++++++++++++++++++
 devel/amber/distinfo  | 221 ++++++++++++++++++++++++++++++++++++++++++++++++++
 devel/amber/pkg-descr |  14 ++++
 4 files changed, 373 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index dd2a3c21e9e5..36e1ade63dcf 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -147,6 +147,7 @@
     SUBDIR += ald
     SUBDIR += allegro
     SUBDIR += allegro5
+    SUBDIR += amber
     SUBDIR += aml
     SUBDIR += ammonite
     SUBDIR += amqp-cpp
diff --git a/devel/amber/Makefile b/devel/amber/Makefile
new file mode 100644
index 000000000000..86bad3a66df7
--- /dev/null
+++ b/devel/amber/Makefile
@@ -0,0 +1,137 @@
+PORTNAME=	amber
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.5.9
+CATEGORIES=	devel
+PKGNAMESUFFIX=	-code-search-replace-tool
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Code search/replace tool
+WWW=		https://github.com/dalance/amber
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		cargo
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	dalance
+
+CARGO_CRATES=	aho-corasick-0.7.15 \
+		ansi_term-0.11.0 \
+		arrayref-0.3.6 \
+		arrayvec-0.5.2 \
+		atty-0.2.14 \
+		autocfg-1.0.1 \
+		base-x-0.2.8 \
+		base64-0.13.0 \
+		bitflags-1.2.1 \
+		blake2b_simd-0.5.11 \
+		bumpalo-3.4.0 \
+		cc-1.0.66 \
+		cfg-if-0.1.10 \
+		cfg-if-1.0.0 \
+		clap-2.33.3 \
+		const_fn-0.4.5 \
+		constant_time_eq-0.1.5 \
+		crossbeam-0.8.0 \
+		crossbeam-channel-0.5.0 \
+		crossbeam-deque-0.8.0 \
+		crossbeam-epoch-0.9.1 \
+		crossbeam-queue-0.3.1 \
+		crossbeam-utils-0.8.1 \
+		ctrlc-3.1.8 \
+		dirs-3.0.1 \
+		dirs-next-2.0.0 \
+		dirs-sys-0.3.5 \
+		dirs-sys-next-0.1.2 \
+		discard-1.0.4 \
+		filetime-0.2.14 \
+		getch-0.2.1 \
+		getrandom-0.1.16 \
+		getrandom-0.2.1 \
+		glob-0.3.0 \
+		heck-0.3.2 \
+		hermit-abi-0.1.17 \
+		itoa-0.4.7 \
+		lazy_static-1.4.0 \
+		libc-0.2.89 \
+		log-0.4.13 \
+		memchr-2.3.4 \
+		memmap-0.7.0 \
+		memoffset-0.6.1 \
+		nix-0.20.0 \
+		num_cpus-1.13.0 \
+		ppv-lite86-0.2.10 \
+		proc-macro-error-1.0.4 \
+		proc-macro-error-attr-1.0.4 \
+		proc-macro-hack-0.5.19 \
+		proc-macro2-1.0.24 \
+		quote-1.0.8 \
+		rand-0.8.3 \
+		rand_chacha-0.3.0 \
+		rand_core-0.6.1 \
+		rand_hc-0.3.0 \
+		redox_syscall-0.1.57 \
+		redox_syscall-0.2.4 \
+		redox_users-0.3.5 \
+		redox_users-0.4.0 \
+		regex-1.4.5 \
+		regex-syntax-0.6.22 \
+		remove_dir_all-0.5.3 \
+		rlibc-1.0.0 \
+		rust-argon2-0.8.3 \
+		rustc-serialize-0.3.24 \
+		rustc_version-0.2.3 \
+		rustversion-1.0.4 \
+		ryu-1.0.5 \
+		scoped_threadpool-0.1.9 \
+		scopeguard-1.1.0 \
+		semver-0.9.0 \
+		semver-parser-0.7.0 \
+		serde-1.0.125 \
+		serde_derive-1.0.125 \
+		serde_json-1.0.61 \
+		sha1-0.6.0 \
+		standback-0.2.15 \
+		stdweb-0.4.20 \
+		stdweb-derive-0.5.3 \
+		stdweb-internal-macros-0.2.9 \
+		stdweb-internal-runtime-0.1.5 \
+		strsim-0.8.0 \
+		structopt-0.3.21 \
+		structopt-derive-0.4.14 \
+		syn-1.0.60 \
+		tempfile-3.2.0 \
+		term-0.7.0 \
+		termios-0.2.2 \
+		termios-0.3.3 \
+		textwrap-0.11.0 \
+		time-0.2.26 \
+		time-macros-0.1.1 \
+		time-macros-impl-0.1.1 \
+		toml-0.5.8 \
+		unicode-segmentation-1.7.1 \
+		unicode-width-0.1.8 \
+		unicode-xid-0.2.1 \
+		vec_map-0.8.2 \
+		version_check-0.9.2 \
+		wasi-0.9.0+wasi-snapshot-preview1 \
+		wasi-0.10.1+wasi-snapshot-preview1 \
+		wasm-bindgen-0.2.69 \
+		wasm-bindgen-backend-0.2.69 \
+		wasm-bindgen-macro-0.2.69 \
+		wasm-bindgen-macro-support-0.2.69 \
+		wasm-bindgen-shared-0.2.69 \
+		winapi-0.3.9 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-x86_64-pc-windows-gnu-0.4.0
+
+PLIST_FILES=	bin/ambr \
+		bin/ambs
+
+post-install:
+	@${STRIP_CMD} \
+		${STAGEDIR}${PREFIX}/bin/ambr \
+		${STAGEDIR}${PREFIX}/bin/ambs
+
+.include <bsd.port.mk>
diff --git a/devel/amber/distinfo b/devel/amber/distinfo
new file mode 100644
index 000000000000..754e46f4d65c
--- /dev/null
+++ b/devel/amber/distinfo
@@ -0,0 +1,221 @@
+TIMESTAMP = 1672968011
+SHA256 (rust/crates/aho-corasick-0.7.15.crate) = 7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5
+SIZE (rust/crates/aho-corasick-0.7.15.crate) = 113071
+SHA256 (rust/crates/ansi_term-0.11.0.crate) = ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b
+SIZE (rust/crates/ansi_term-0.11.0.crate) = 17087
+SHA256 (rust/crates/arrayref-0.3.6.crate) = a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544
+SIZE (rust/crates/arrayref-0.3.6.crate) = 10035
+SHA256 (rust/crates/arrayvec-0.5.2.crate) = 23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b
+SIZE (rust/crates/arrayvec-0.5.2.crate) = 27838
+SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
+SIZE (rust/crates/atty-0.2.14.crate) = 5470
+SHA256 (rust/crates/autocfg-1.0.1.crate) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a
+SIZE (rust/crates/autocfg-1.0.1.crate) = 12908
+SHA256 (rust/crates/base-x-0.2.8.crate) = a4521f3e3d031370679b3b140beb36dfe4801b09ac77e30c61941f97df3ef28b
+SIZE (rust/crates/base-x-0.2.8.crate) = 10614
+SHA256 (rust/crates/base64-0.13.0.crate) = 904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd
+SIZE (rust/crates/base64-0.13.0.crate) = 62070
+SHA256 (rust/crates/bitflags-1.2.1.crate) = cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693
+SIZE (rust/crates/bitflags-1.2.1.crate) = 16745
+SHA256 (rust/crates/blake2b_simd-0.5.11.crate) = afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587
+SIZE (rust/crates/blake2b_simd-0.5.11.crate) = 34096
+SHA256 (rust/crates/bumpalo-3.4.0.crate) = 2e8c087f005730276d1096a652e92a8bacee2e2472bcc9715a74d2bec38b5820
+SIZE (rust/crates/bumpalo-3.4.0.crate) = 129102
+SHA256 (rust/crates/cc-1.0.66.crate) = 4c0496836a84f8d0495758516b8621a622beb77c0fed418570e50764093ced48
+SIZE (rust/crates/cc-1.0.66.crate) = 53454
+SHA256 (rust/crates/cfg-if-0.1.10.crate) = 4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822
+SIZE (rust/crates/cfg-if-0.1.10.crate) = 7933
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/clap-2.33.3.crate) = 37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002
+SIZE (rust/crates/clap-2.33.3.crate) = 201925
+SHA256 (rust/crates/const_fn-0.4.5.crate) = 28b9d6de7f49e22cf97ad17fc4036ece69300032f45f78f30b4a4482cdc3f4a6
+SIZE (rust/crates/const_fn-0.4.5.crate) = 13107
+SHA256 (rust/crates/constant_time_eq-0.1.5.crate) = 245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc
+SIZE (rust/crates/constant_time_eq-0.1.5.crate) = 4936
+SHA256 (rust/crates/crossbeam-0.8.0.crate) = fd01a6eb3daaafa260f6fc94c3a6c36390abc2080e38e3e34ced87393fb77d80
+SIZE (rust/crates/crossbeam-0.8.0.crate) = 10993
+SHA256 (rust/crates/crossbeam-channel-0.5.0.crate) = dca26ee1f8d361640700bde38b2c37d8c22b3ce2d360e1fc1c74ea4b0aa7d775
+SIZE (rust/crates/crossbeam-channel-0.5.0.crate) = 86811
+SHA256 (rust/crates/crossbeam-deque-0.8.0.crate) = 94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9
+SIZE (rust/crates/crossbeam-deque-0.8.0.crate) = 20756
+SHA256 (rust/crates/crossbeam-epoch-0.9.1.crate) = a1aaa739f95311c2c7887a76863f500026092fb1dce0161dab577e559ef3569d
+SIZE (rust/crates/crossbeam-epoch-0.9.1.crate) = 39561
+SHA256 (rust/crates/crossbeam-queue-0.3.1.crate) = 0f6cb3c7f5b8e51bc3ebb73a2327ad4abdbd119dc13223f14f961d2f38486756
+SIZE (rust/crates/crossbeam-queue-0.3.1.crate) = 14787
+SHA256 (rust/crates/crossbeam-utils-0.8.1.crate) = 02d96d1e189ef58269ebe5b97953da3274d83a93af647c2ddd6f9dab28cedb8d
+SIZE (rust/crates/crossbeam-utils-0.8.1.crate) = 35914
+SHA256 (rust/crates/ctrlc-3.1.8.crate) = c15b8ec3b5755a188c141c1f6a98e76de31b936209bf066b647979e2a84764a9
+SIZE (rust/crates/ctrlc-3.1.8.crate) = 12777
+SHA256 (rust/crates/dirs-3.0.1.crate) = 142995ed02755914747cc6ca76fc7e4583cd18578746716d0508ea6ed558b9ff
+SIZE (rust/crates/dirs-3.0.1.crate) = 12245
+SHA256 (rust/crates/dirs-next-2.0.0.crate) = b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1
+SIZE (rust/crates/dirs-next-2.0.0.crate) = 11689
+SHA256 (rust/crates/dirs-sys-0.3.5.crate) = 8e93d7f5705de3e49895a2b5e0b8855a1c27f080192ae9c32a6432d50741a57a
+SIZE (rust/crates/dirs-sys-0.3.5.crate) = 10643
+SHA256 (rust/crates/dirs-sys-next-0.1.2.crate) = 4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d
+SIZE (rust/crates/dirs-sys-next-0.1.2.crate) = 10681
+SHA256 (rust/crates/discard-1.0.4.crate) = 212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0
+SIZE (rust/crates/discard-1.0.4.crate) = 4700
+SHA256 (rust/crates/filetime-0.2.14.crate) = 1d34cfa13a63ae058bfa601fe9e313bbdb3746427c1459185464ce0fcf62e1e8
+SIZE (rust/crates/filetime-0.2.14.crate) = 14358
+SHA256 (rust/crates/getch-0.2.1.crate) = bbb0b59927a20adfdc274a345f8b4b476e552e56ec0bfb072e0a455c12463602
+SIZE (rust/crates/getch-0.2.1.crate) = 1571
+SHA256 (rust/crates/getrandom-0.1.16.crate) = 8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce
+SIZE (rust/crates/getrandom-0.1.16.crate) = 25077
+SHA256 (rust/crates/getrandom-0.2.1.crate) = 4060f4657be78b8e766215b02b18a2e862d83745545de804638e2b545e81aee6
+SIZE (rust/crates/getrandom-0.2.1.crate) = 25459
+SHA256 (rust/crates/glob-0.3.0.crate) = 9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574
+SIZE (rust/crates/glob-0.3.0.crate) = 18724
+SHA256 (rust/crates/heck-0.3.2.crate) = 87cbf45460356b7deeb5e3415b5563308c0a9b057c85e12b06ad551f98d0a6ac
+SIZE (rust/crates/heck-0.3.2.crate) = 54718
+SHA256 (rust/crates/hermit-abi-0.1.17.crate) = 5aca5565f760fb5b220e499d72710ed156fdb74e631659e99377d9ebfbd13ae8
+SIZE (rust/crates/hermit-abi-0.1.17.crate) = 10065
+SHA256 (rust/crates/itoa-0.4.7.crate) = dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736
+SIZE (rust/crates/itoa-0.4.7.crate) = 12099
+SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
+SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
+SHA256 (rust/crates/libc-0.2.89.crate) = 538c092e5586f4cdd7dd8078c4a79220e3e168880218124dcbce860f0ea938c6
+SIZE (rust/crates/libc-0.2.89.crate) = 515952
+SHA256 (rust/crates/log-0.4.13.crate) = fcf3805d4480bb5b86070dcfeb9e2cb2ebc148adb753c5cca5f884d1d65a42b2
+SIZE (rust/crates/log-0.4.13.crate) = 36015
+SHA256 (rust/crates/memchr-2.3.4.crate) = 0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525
+SIZE (rust/crates/memchr-2.3.4.crate) = 23077
+SHA256 (rust/crates/memmap-0.7.0.crate) = 6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b
+SIZE (rust/crates/memmap-0.7.0.crate) = 15214
+SHA256 (rust/crates/memoffset-0.6.1.crate) = 157b4208e3059a8f9e78d559edc658e13df41410cb3ae03979c83130067fdd87
+SIZE (rust/crates/memoffset-0.6.1.crate) = 7706
+SHA256 (rust/crates/nix-0.20.0.crate) = fa9b4819da1bc61c0ea48b63b7bc8604064dd43013e7cc325df098d49cd7c18a
+SIZE (rust/crates/nix-0.20.0.crate) = 216983
+SHA256 (rust/crates/num_cpus-1.13.0.crate) = 05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3
+SIZE (rust/crates/num_cpus-1.13.0.crate) = 14704
+SHA256 (rust/crates/ppv-lite86-0.2.10.crate) = ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857
+SIZE (rust/crates/ppv-lite86-0.2.10.crate) = 20915
+SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c
+SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293
+SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869
+SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971
+SHA256 (rust/crates/proc-macro-hack-0.5.19.crate) = dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5
+SIZE (rust/crates/proc-macro-hack-0.5.19.crate) = 15556
+SHA256 (rust/crates/proc-macro2-1.0.24.crate) = 1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71
+SIZE (rust/crates/proc-macro2-1.0.24.crate) = 37716
+SHA256 (rust/crates/quote-1.0.8.crate) = 991431c3519a3f36861882da93630ce66b52918dcf1b8e2fd66b397fc96f28df
+SIZE (rust/crates/quote-1.0.8.crate) = 24997
+SHA256 (rust/crates/rand-0.8.3.crate) = 0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e
+SIZE (rust/crates/rand-0.8.3.crate) = 84493
+SHA256 (rust/crates/rand_chacha-0.3.0.crate) = e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d
+SIZE (rust/crates/rand_chacha-0.3.0.crate) = 13920
+SHA256 (rust/crates/rand_core-0.6.1.crate) = c026d7df8b298d90ccbbc5190bd04d85e159eaf5576caeacf8741da93ccbd2e5
+SIZE (rust/crates/rand_core-0.6.1.crate) = 21634
+SHA256 (rust/crates/rand_hc-0.3.0.crate) = 3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73
+SIZE (rust/crates/rand_hc-0.3.0.crate) = 11780
+SHA256 (rust/crates/redox_syscall-0.1.57.crate) = 41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce
+SIZE (rust/crates/redox_syscall-0.1.57.crate) = 17087
+SHA256 (rust/crates/redox_syscall-0.2.4.crate) = 05ec8ca9416c5ea37062b502703cd7fcb207736bc294f6e0cf367ac6fc234570
+SIZE (rust/crates/redox_syscall-0.2.4.crate) = 23234
+SHA256 (rust/crates/redox_users-0.3.5.crate) = de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d
+SIZE (rust/crates/redox_users-0.3.5.crate) = 12644
+SHA256 (rust/crates/redox_users-0.4.0.crate) = 528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64
+SIZE (rust/crates/redox_users-0.4.0.crate) = 13023
+SHA256 (rust/crates/regex-1.4.5.crate) = 957056ecddbeba1b26965114e191d2e8589ce74db242b6ea25fc4062427a5c19
+SIZE (rust/crates/regex-1.4.5.crate) = 241716
+SHA256 (rust/crates/regex-syntax-0.6.22.crate) = b5eb417147ba9860a96cfe72a0b93bf88fee1744b5636ec99ab20c1aa9376581
+SIZE (rust/crates/regex-syntax-0.6.22.crate) = 293187
+SHA256 (rust/crates/remove_dir_all-0.5.3.crate) = 3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7
+SIZE (rust/crates/remove_dir_all-0.5.3.crate) = 9184
+SHA256 (rust/crates/rlibc-1.0.0.crate) = fc874b127765f014d792f16763a81245ab80500e2ad921ed4ee9e82481ee08fe
+SIZE (rust/crates/rlibc-1.0.0.crate) = 6997
+SHA256 (rust/crates/rust-argon2-0.8.3.crate) = 4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb
+SIZE (rust/crates/rust-argon2-0.8.3.crate) = 28313
+SHA256 (rust/crates/rustc-serialize-0.3.24.crate) = dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda
+SIZE (rust/crates/rustc-serialize-0.3.24.crate) = 45926
+SHA256 (rust/crates/rustc_version-0.2.3.crate) = 138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a
+SIZE (rust/crates/rustc_version-0.2.3.crate) = 10210
+SHA256 (rust/crates/rustversion-1.0.4.crate) = cb5d2a036dc6d2d8fd16fde3498b04306e29bd193bf306a57427019b823d5acd
+SIZE (rust/crates/rustversion-1.0.4.crate) = 16704
+SHA256 (rust/crates/ryu-1.0.5.crate) = 71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e
+SIZE (rust/crates/ryu-1.0.5.crate) = 49570
+SHA256 (rust/crates/scoped_threadpool-0.1.9.crate) = 1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8
+SIZE (rust/crates/scoped_threadpool-0.1.9.crate) = 7800
+SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
+SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
+SHA256 (rust/crates/semver-0.9.0.crate) = 1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403
+SIZE (rust/crates/semver-0.9.0.crate) = 17344
+SHA256 (rust/crates/semver-parser-0.7.0.crate) = 388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3
+SIZE (rust/crates/semver-parser-0.7.0.crate) = 10268
+SHA256 (rust/crates/serde-1.0.125.crate) = 558dc50e1a5a5fa7112ca2ce4effcb321b0300c0d4ccf0776a9f60cd89031171
+SIZE (rust/crates/serde-1.0.125.crate) = 75144
+SHA256 (rust/crates/serde_derive-1.0.125.crate) = b093b7a2bb58203b5da3056c05b4ec1fed827dcfdb37347a8841695263b3d06d
+SIZE (rust/crates/serde_derive-1.0.125.crate) = 54155
+SHA256 (rust/crates/serde_json-1.0.61.crate) = 4fceb2595057b6891a4ee808f70054bd2d12f0e97f1cbb78689b59f676df325a
+SIZE (rust/crates/serde_json-1.0.61.crate) = 114887
+SHA256 (rust/crates/sha1-0.6.0.crate) = 2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d
+SIZE (rust/crates/sha1-0.6.0.crate) = 9244
+SHA256 (rust/crates/standback-0.2.15.crate) = a2beb4d1860a61f571530b3f855a1b538d0200f7871c63331ecd6f17b1f014f8
+SIZE (rust/crates/standback-0.2.15.crate) = 32506
+SHA256 (rust/crates/stdweb-0.4.20.crate) = d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5
+SIZE (rust/crates/stdweb-0.4.20.crate) = 194102
+SHA256 (rust/crates/stdweb-derive-0.5.3.crate) = c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef
+SIZE (rust/crates/stdweb-derive-0.5.3.crate) = 3894
+SHA256 (rust/crates/stdweb-internal-macros-0.2.9.crate) = 58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11
+SIZE (rust/crates/stdweb-internal-macros-0.2.9.crate) = 11828
+SHA256 (rust/crates/stdweb-internal-runtime-0.1.5.crate) = 213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0
+SIZE (rust/crates/stdweb-internal-runtime-0.1.5.crate) = 5445
+SHA256 (rust/crates/strsim-0.8.0.crate) = 8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a
+SIZE (rust/crates/strsim-0.8.0.crate) = 9309
+SHA256 (rust/crates/structopt-0.3.21.crate) = 5277acd7ee46e63e5168a80734c9f6ee81b1367a7d8772a2d765df2a3705d28c
+SIZE (rust/crates/structopt-0.3.21.crate) = 50761
+SHA256 (rust/crates/structopt-derive-0.4.14.crate) = 5ba9cdfda491b814720b6b06e0cac513d922fc407582032e8706e9f137976f90
+SIZE (rust/crates/structopt-derive-0.4.14.crate) = 20116
+SHA256 (rust/crates/syn-1.0.60.crate) = c700597eca8a5a762beb35753ef6b94df201c81cca676604f547495a0d7f0081
+SIZE (rust/crates/syn-1.0.60.crate) = 231087
+SHA256 (rust/crates/tempfile-3.2.0.crate) = dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22
+SIZE (rust/crates/tempfile-3.2.0.crate) = 25892
+SHA256 (rust/crates/term-0.7.0.crate) = c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f
+SIZE (rust/crates/term-0.7.0.crate) = 37082
+SHA256 (rust/crates/termios-0.2.2.crate) = d5d9cf598a6d7ce700a4e6a9199da127e6819a61e64b68609683cc9a01b5683a
+SIZE (rust/crates/termios-0.2.2.crate) = 8966
+SHA256 (rust/crates/termios-0.3.3.crate) = 411c5bf740737c7918b8b1fe232dca4dc9f8e754b8ad5e20966814001ed0ac6b
+SIZE (rust/crates/termios-0.3.3.crate) = 17103
+SHA256 (rust/crates/textwrap-0.11.0.crate) = d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060
+SIZE (rust/crates/textwrap-0.11.0.crate) = 17322
+SHA256 (rust/crates/time-0.2.26.crate) = 08a8cbfbf47955132d0202d1662f49b2423ae35862aee471f3ba4b133358f372
+SIZE (rust/crates/time-0.2.26.crate) = 65327
+SHA256 (rust/crates/time-macros-0.1.1.crate) = 957e9c6e26f12cb6d0dd7fc776bb67a706312e7299aed74c8dd5b17ebb27e2f1
+SIZE (rust/crates/time-macros-0.1.1.crate) = 5447
+SHA256 (rust/crates/time-macros-impl-0.1.1.crate) = e5c3be1edfad6027c69f5491cf4cb310d1a71ecd6af742788c6ff8bced86b8fa
+SIZE (rust/crates/time-macros-impl-0.1.1.crate) = 10384
+SHA256 (rust/crates/toml-0.5.8.crate) = a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa
+SIZE (rust/crates/toml-0.5.8.crate) = 54219
+SHA256 (rust/crates/unicode-segmentation-1.7.1.crate) = bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796
+SIZE (rust/crates/unicode-segmentation-1.7.1.crate) = 93066
+SHA256 (rust/crates/unicode-width-0.1.8.crate) = 9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3
+SIZE (rust/crates/unicode-width-0.1.8.crate) = 16732
+SHA256 (rust/crates/unicode-xid-0.2.1.crate) = f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564
+SIZE (rust/crates/unicode-xid-0.2.1.crate) = 14392
+SHA256 (rust/crates/vec_map-0.8.2.crate) = f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191
+SIZE (rust/crates/vec_map-0.8.2.crate) = 14466
+SHA256 (rust/crates/version_check-0.9.2.crate) = b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed
+SIZE (rust/crates/version_check-0.9.2.crate) = 11979
+SHA256 (rust/crates/wasi-0.9.0+wasi-snapshot-preview1.crate) = cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519
+SIZE (rust/crates/wasi-0.9.0+wasi-snapshot-preview1.crate) = 31521
+SHA256 (rust/crates/wasi-0.10.1+wasi-snapshot-preview1.crate) = 93c6c3420963c5c64bca373b25e77acb562081b9bb4dd5bb864187742186cea9
+SIZE (rust/crates/wasi-0.10.1+wasi-snapshot-preview1.crate) = 26898
+SHA256 (rust/crates/wasm-bindgen-0.2.69.crate) = 3cd364751395ca0f68cafb17666eee36b63077fb5ecd972bbcd74c90c4bf736e
+SIZE (rust/crates/wasm-bindgen-0.2.69.crate) = 159046
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.69.crate) = 1114f89ab1f4106e5b55e688b828c0ab0ea593a1ea7c094b141b14cbaaec2d62
+SIZE (rust/crates/wasm-bindgen-backend-0.2.69.crate) = 25508
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.69.crate) = 7a6ac8995ead1f084a8dea1e65f194d0973800c7f571f6edd70adf06ecf77084
+SIZE (rust/crates/wasm-bindgen-macro-0.2.69.crate) = 11596
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.69.crate) = b5a48c72f299d80557c7c62e37e7225369ecc0c963964059509fbafe917c7549
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.69.crate) = 17844
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.69.crate) = 7e7811dd7f9398f14cc76efd356f98f03aa30419dea46aa810d71e819fc97158
+SIZE (rust/crates/wasm-bindgen-shared-0.2.69.crate) = 6726
+SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
+SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
+SHA256 (dalance-amber-v0.5.9_GH0.tar.gz) = bf974e997fffa0d54463fc85e44f054563372ca4dade50099fb6ecec0ca8c483
+SIZE (dalance-amber-v0.5.9_GH0.tar.gz) = 31599
diff --git a/devel/amber/pkg-descr b/devel/amber/pkg-descr
new file mode 100644
index 000000000000..f977173854b3
--- /dev/null
+++ b/devel/amber/pkg-descr
@@ -0,0 +1,14 @@
+amber is a code search and replace tool written in Rust.
+This tool is inspired by 'ack', 'ag', and other grep-like tools.
+
+Features:
+- Recursively search from the current directory
+- Ignore VCS directories (.git, .hg, .svn, .bzr)
+- Ignore binary files
+- Output by the colored format
+
+Large files (> 1MB by default) are divided and searched in parallel.
+
+amber can replace a keyword over directories (traditionally by
+`find ... | xargs sed -i '...'`) .
+User can decide to do replacing or not interactively.