summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Smith <matthew@gentoo.org>2022-04-09 13:45:50 +0100
committerMatthew Smith <matthew@gentoo.org>2022-04-12 08:22:02 +0100
commit82aef7cbc9bc909666640870617296dc49af3e92 (patch)
tree644e6ab69a085995c6033d41ce47082541806a9c /dev-util/rebar
parentdev-util/rebar: add myself as a maintainer (diff)
downloadgentoo-82aef7cbc9bc909666640870617296dc49af3e92.tar.gz
gentoo-82aef7cbc9bc909666640870617296dc49af3e92.tar.bz2
gentoo-82aef7cbc9bc909666640870617296dc49af3e92.zip
dev-util/rebar: add 3.18.0
Signed-off-by: Matthew Smith <matthew@gentoo.org>
Diffstat (limited to 'dev-util/rebar')
-rw-r--r--dev-util/rebar/Manifest12
-rw-r--r--dev-util/rebar/files/rebar-3.18.0-bootstrap-vendored.patch36
-rw-r--r--dev-util/rebar/metadata.xml2
-rw-r--r--dev-util/rebar/rebar-3.18.0.ebuild94
4 files changed, 143 insertions, 1 deletions
diff --git a/dev-util/rebar/Manifest b/dev-util/rebar/Manifest
index 5c88cb01b5e3..792024e1583e 100644
--- a/dev-util/rebar/Manifest
+++ b/dev-util/rebar/Manifest
@@ -1 +1,13 @@
+DIST bbmustache-1.12.2.tar 17920 BLAKE2B a91df2d85533de4ad2df661b19e5dea67e84b73fd0192ecac43b8c9163beeb4444872af605ad298b104725687f2a5a2107b0d142a4654213f7b817903c06aca2 SHA512 aecba4e354bdd5e09756cf9cd8c1e55af832f0e121c4c8000b71bc9a46485a4cdd86d13aae4f1838588be228745003a324956fdd440fb4c48b987cc58a9e238c
+DIST certifi-2.8.0.tar 153088 BLAKE2B 1718b805a2c340586c908059bd1e38cc5175f534136efcf6022ba970cd6f00100ef209953aa2718f2b25e76b895ddcf57c71690660f85ea519eb353d24ec612d SHA512 1c484afdf7664eb92df90251bb451208c08e76179e5654a2b069388a72889aac75e941ef626eaeec7fe0a74fdbacf359aeab5330eebd43e333ad513998e46e76
+DIST cf-0.3.1.tar 10240 BLAKE2B 0a13aca11772ea8b7a9ed6a5908a013b82248a64ca633c616ed75b3ccc0e7d52199480e53519f96c1767ceef9c863da16840ad90d1d7c6235cb6ea3291d35b8d SHA512 232fa9cd175e54599c035b087a6d44c9afb4135a5509b7498ebce8becec333cd670d0e06a3bf9e30d54c7c609ad2aecd42fc40e667cf95e68b7dc228e1fd85d8
+DIST cth_readable-1.5.1.tar 19968 BLAKE2B ecaab32aec9e327a2e39ab7312bbaf07c5ab4a88916ed6d84e064897d49f148486b9d95a761d9243cbb8b3cc0a779c9075f1eba179db0ec5e22502176e8c10e5 SHA512 8abd3f7255634e29584559e0d4b811e2af3ed047a10f32a7e2b899abd02f0ab3cef117d3ef6c9db38d34fed6285a1f47356b647350c9b636f011445d3914da7f
+DIST erlware_commons-1.5.0.tar 53760 BLAKE2B 042b321c2d0e5ae82801ab982a989618b2cacf4aef921162d6185e4bf4790346765fae265ab9ad337b58ccd0a928199b8b95823528fdd7cb8c440288efb7dc88 SHA512 215072e79da4edf51ac6889721c0d4cefbee60fd5e2a803b39acdd2735b5e91f2df690b94f14a9814f63a4cd3e4762e8d7f87f6debb3e659e542a6dda5159739
+DIST eunit_formatters-0.5.0.tar 14848 BLAKE2B 6f672235d3cfb7d5f8a6d4e870916b931ef7de2d52901a2b66c6bdb4da86db4e220981cc3a104e15e04405b1c8a232c3d5aa0462107debf83c6832bede1f03e7 SHA512 e8692ff35f979dfaf99ccac58014429d300a71ff76f2ce945814a0d4d9431821f04f988dc0271271858a37e6903a73b4dd9ae3abf215333f3135fa883ec07022
+DIST getopt-1.0.1.tar 19456 BLAKE2B 9b9deb22ddb10170603d4743190f80f7152b70b1eafc3e3511f2520599fbc8054c7aa021eec4aade28ae8e8bbfe6c9aa5a9df249173270344db15d364860a07b SHA512 859642dc26c42414474fa8af8a32fed827b0773ac6d6eb51ec19c291672408e71619ad2bb0c7f08d84ff591b33a655a7e0b6241b94372e9cc816a648ee6cdaf6
+DIST meck-0.8.13.tar 34304 BLAKE2B f2bb100bdea75079351610edd572ea7ced1503c02f86ed3378ec00e023ee63b729e859dfb3aefd521eb50541d4fc3ce70f1425beae8dd32d2dd2adb68618cc57 SHA512 adcfd3fdf69d4926dc1d9c2f0b477c8977bddba8b8ffdbfedcf1b5dc3c1af47b39b1c6263c922a43efede90f145f009d71b27178597320522960c5ebbd84a15a
+DIST providers-1.9.0.tar 14848 BLAKE2B a50e97faee63bb62335005e61e63de0a1b9ebf467f61e316fd0002485fbc6a102689bd0881878db95972a367ac2ee56c603bfcdd0b8e5efc6dfeee7e177fea8d SHA512 7227855164124425b89996b0295a786e36bbc2fadee9949d0b3d9ad518b3be9204650e5fa9e027e72cc4c2d2e8b968bddfc2015ceaf4cc00d865a35132defe76
DIST rebar-2.6.4.tar.gz 213158 BLAKE2B a71c525948697f9ba44a7faa9183f1aadce031b8b85857da87c5b2376f3b7511c78d02c183b115836605a6d3830e9b9ceac754ab64ec11d9d1bb66f37ea78665 SHA512 4e53d1ab7db296c60fb039443da7e3b31b63410fc614690c6faa7ec330d9e9393dbc1c8507aa4aea2c99397e1b443ff9d25e4d57ec57f616ee748aa97d055ffa
+DIST rebar-3.18.0.tar.gz 436403 BLAKE2B 827fcb8a3fb9f3b93a19260696546697f766ea83a498cf79943568dd811c2afcd05a1c666b6813116428d0c1e6f522617244b69fe19cebda2701efdc3ec68763 SHA512 4fcaa1867fba7462df0b9a64fa442f4a887e83530635fdcd19f4b5dcee14ace3e7403c27f35e5e6055fb6bf89c98a91a3ff1e2036ab6e67e3de028f91233e4ed
+DIST relx-4.6.0.tar 75776 BLAKE2B 1e9b6043781ee2835f2cd7ff37755456de63e34702fa1e2d8c5326bc58f953700f1a5acf4b1bf073b4d30ff2587d4fdc505a0c1dc0848675ed98a10b9277df1a SHA512 a0ae0447815e78b7f296b721be1430897305bb21b8b183191ed1bb0cc33ee1060f5b1ee2452d86ff7a782f29450896e8b01e90f00847c7e4bad62f3c5a786678
+DIST ssl_verify_fun-1.1.6.tar 14848 BLAKE2B 31f8a92881803b1b93e2f65cf070449cd53af21b50f6aae7a9d036e28c17b2c093b2cb6238279191663ba011aab7fd604af8366ed8ae91b7b1d7c333f9de9ea8 SHA512 65980368629357ec16b37fd8ea1d42f7dbd7fa86318b329bec756e868b70eb4c93cf1bfe3dd34e1b6c011086ba32e11981d61e18fdad78564b77664e4d155a47
diff --git a/dev-util/rebar/files/rebar-3.18.0-bootstrap-vendored.patch b/dev-util/rebar/files/rebar-3.18.0-bootstrap-vendored.patch
new file mode 100644
index 000000000000..633a74e174d4
--- /dev/null
+++ b/dev-util/rebar/files/rebar-3.18.0-bootstrap-vendored.patch
@@ -0,0 +1,36 @@
+From 4c4b0d39dba07911a707f8b8f17711900d2ee786 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Viktor=20S=C3=B6derqvist?= <viktor.soderqvist@est.tech>
+Date: Fri, 5 Nov 2021 09:46:29 +0100
+Subject: [PATCH] Make bootstrap use _checkouts
+
+This makes it possible to run the bootstrap offline by placing the deps
+in the using the already documented _checkouts directory in advance.
+---
+ bootstrap | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/bootstrap b/bootstrap
+index 9632b6c77..18cc46216 100755
+--- a/bootstrap
++++ b/bootstrap
+@@ -92,7 +92,19 @@ fetch_and_compile({Name, ErlFirstFiles}, Deps) ->
+
+ compile(Name, ErlFirstFiles).
+
+-fetch({pkg, Name, Vsn}, App) ->
++fetch(Source, App) ->
++ Dir = filename:join([filename:absname("_checkouts"), App]),
++ case filelib:is_dir(Dir) of
++ false ->
++ fetch_from_hex(Source, App);
++ true ->
++ io:format("Using ~p from ~p~n", [App, Dir]),
++ Dest = filename:absname("_build/default/lib"),
++ ok = filelib:ensure_dir(filename:join([Dest, "dummy"])),
++ cp_r([Dir], Dest)
++ end.
++
++fetch_from_hex({pkg, Name, Vsn}, App) ->
+ Dir = filename:join([filename:absname("_build/default/lib/"), App]),
+ case filelib:is_dir(Dir) of
+ false ->
diff --git a/dev-util/rebar/metadata.xml b/dev-util/rebar/metadata.xml
index 6812e6202992..d2dbc989ecb0 100644
--- a/dev-util/rebar/metadata.xml
+++ b/dev-util/rebar/metadata.xml
@@ -6,6 +6,6 @@
<name>Matthew Smith</name>
</maintainer>
<upstream>
- <remote-id type="github">rebar/rebar</remote-id>
+ <remote-id type="github">erlang/rebar3</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-util/rebar/rebar-3.18.0.ebuild b/dev-util/rebar/rebar-3.18.0.ebuild
new file mode 100644
index 000000000000..4f02c6cc4e21
--- /dev/null
+++ b/dev-util/rebar/rebar-3.18.0.ebuild
@@ -0,0 +1,94 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN=${PN}3
+
+inherit bash-completion-r1
+
+DESCRIPTION="A sophisticated build-tool for Erlang projects that follows OTP principles"
+HOMEPAGE="https://www.rebar3.org https://github.com/erlang/rebar3"
+SRC_URI="
+ https://github.com/erlang/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
+ https://repo.hex.pm/tarballs/bbmustache-1.12.2.tar
+ https://repo.hex.pm/tarballs/certifi-2.8.0.tar
+ https://repo.hex.pm/tarballs/cf-0.3.1.tar
+ https://repo.hex.pm/tarballs/cth_readable-1.5.1.tar
+ https://repo.hex.pm/tarballs/erlware_commons-1.5.0.tar
+ https://repo.hex.pm/tarballs/eunit_formatters-0.5.0.tar
+ https://repo.hex.pm/tarballs/getopt-1.0.1.tar
+ https://repo.hex.pm/tarballs/providers-1.9.0.tar
+ https://repo.hex.pm/tarballs/relx-4.6.0.tar
+ https://repo.hex.pm/tarballs/ssl_verify_fun-1.1.6.tar
+ test? ( https://repo.hex.pm/tarballs/meck-0.8.13.tar )
+"
+S="${WORKDIR}"/${MY_PN}-${PV}
+
+LICENSE="Apache-2.0 MIT BSD"
+SLOT="3"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-lang/erlang
+ !dev-util/rebar-bin
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ # The build directory (where dependencies are usually stored) gets
+ # cleared before each build. Make the fetch function first look in
+ # a _checkouts directory before going out over the net.
+ "${FILESDIR}"/${PN}-3.18.0-bootstrap-vendored.patch
+)
+
+src_unpack() {
+ # Unpack the rebar sources like normal, but extract the hex.pm
+ # dependencies separately. The outer tarball contains another
+ # tarball named contents.tar.gz that actually contains the code.
+
+ local archive
+ for archive in ${A}; do
+ case "${archive}" in
+ # Assume that the .tar files are our hex.pm dependencies.
+ *.tar)
+ local dest="${S}"/_checkouts/"${archive%-*}"
+
+ mkdir -p "${dest}" || die
+
+ # Extract the inner tarball
+ tar -O -xf "${DISTDIR}"/"${archive}" contents.tar.gz |
+ tar -xzf - -C "${dest}"
+
+ assert
+ ;;
+ *)
+ unpack "${archive}"
+ ;;
+ esac
+ done
+}
+
+src_compile() {
+ ./bootstrap || die
+}
+
+src_test() {
+ ./rebar3 ct || die
+}
+
+src_install() {
+ dobashcomp priv/shell-completion/bash/${MY_PN}
+ dobin ${MY_PN}
+ dodoc rebar.config.sample
+ doman manpages/${MY_PN}.1
+
+ insinto /usr/share/fish/completion
+ newins priv/shell-completion/fish/${MY_PN}.fish ${MY_PN}
+
+ insinto /usr/share/zsh/site-functions
+ doins priv/shell-completion/zsh/_${MY_PN}
+}