commit:     82aef7cbc9bc909666640870617296dc49af3e92
Author:     Matthew Smith <matthew <AT> gentoo <DOT> org>
AuthorDate: Sat Apr  9 12:45:50 2022 +0000
Commit:     Matthew Smith <matthew <AT> gentoo <DOT> org>
CommitDate: Tue Apr 12 07:22:02 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=82aef7cb

dev-util/rebar: add 3.18.0

Signed-off-by: Matthew Smith <matthew <AT> gentoo.org>

 dev-util/rebar/Manifest                            | 12 +++
 .../files/rebar-3.18.0-bootstrap-vendored.patch    | 36 +++++++++
 dev-util/rebar/metadata.xml                        |  2 +-
 dev-util/rebar/rebar-3.18.0.ebuild                 | 94 ++++++++++++++++++++++
 4 files changed, 143 insertions(+), 1 deletion(-)

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.soderqv...@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}
+}

Reply via email to