1 |
|
# Copyright 2022 Gentoo Authors
|
|
1 |
# Copyright 2022-2023 Gentoo Authors
|
2 |
2 |
# Distributed under the terms of the GNU General Public License v2
|
3 |
3 |
|
4 |
4 |
EAPI=8
|
5 |
5 |
|
6 |
6 |
MY_PN=${PN}3
|
|
7 |
MECK_PV=0.8.13 # see rebar.config
|
7 |
8 |
|
8 |
9 |
inherit bash-completion-r1
|
9 |
10 |
|
... | ... | |
11 |
12 |
HOMEPAGE="https://www.rebar3.org https://github.com/erlang/rebar3"
|
12 |
13 |
SRC_URI="
|
13 |
14 |
https://github.com/erlang/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
|
14 |
|
https://repo.hex.pm/tarballs/bbmustache-1.12.2.tar
|
15 |
|
https://repo.hex.pm/tarballs/certifi-2.9.0.tar
|
16 |
|
https://repo.hex.pm/tarballs/cf-0.3.1.tar
|
17 |
|
https://repo.hex.pm/tarballs/cth_readable-1.5.1.tar
|
18 |
|
https://repo.hex.pm/tarballs/erlware_commons-1.5.0.tar
|
19 |
|
https://repo.hex.pm/tarballs/eunit_formatters-0.5.0.tar
|
20 |
|
https://repo.hex.pm/tarballs/getopt-1.0.1.tar
|
21 |
|
https://repo.hex.pm/tarballs/providers-1.9.0.tar
|
22 |
|
https://repo.hex.pm/tarballs/relx-4.7.0.tar
|
23 |
|
https://repo.hex.pm/tarballs/ssl_verify_fun-1.1.6.tar
|
24 |
|
test? ( https://repo.hex.pm/tarballs/meck-0.8.13.tar )
|
|
15 |
test? ( https://repo.hex.pm/tarballs/meck-${MECK_PV}.tar )
|
25 |
16 |
"
|
26 |
17 |
S="${WORKDIR}"/${MY_PN}-${PV}
|
27 |
18 |
|
... | ... | |
38 |
29 |
"
|
39 |
30 |
DEPEND="${RDEPEND}"
|
40 |
31 |
|
41 |
|
PATCHES=(
|
42 |
|
# The build directory (where dependencies are usually stored) gets
|
43 |
|
# cleared before each build. Make the fetch function first look in
|
44 |
|
# a _checkouts directory before going out over the net.
|
45 |
|
"${FILESDIR}"/${PN}-3.18.0-bootstrap-vendored.patch
|
46 |
|
)
|
47 |
|
|
48 |
32 |
src_unpack() {
|
49 |
|
# Unpack the rebar sources like normal, but extract the hex.pm
|
50 |
|
# dependencies separately. The outer tarball contains another
|
51 |
|
# tarball named contents.tar.gz that actually contains the code.
|
52 |
|
|
53 |
|
local archive
|
54 |
|
for archive in ${A}; do
|
55 |
|
case "${archive}" in
|
56 |
|
# Assume that the .tar files are our hex.pm dependencies.
|
57 |
|
*.tar)
|
58 |
|
local dest="${S}"/_checkouts/"${archive%-*}"
|
59 |
|
|
60 |
|
mkdir -p "${dest}" || die
|
61 |
|
|
62 |
|
# Extract the inner tarball
|
63 |
|
tar -O -xf "${DISTDIR}"/"${archive}" contents.tar.gz |
|
64 |
|
tar -xzf - -C "${dest}"
|
65 |
|
|
66 |
|
assert
|
67 |
|
;;
|
68 |
|
*)
|
69 |
|
unpack "${archive}"
|
70 |
|
;;
|
71 |
|
esac
|
72 |
|
done
|
|
33 |
unpack ${P}.tar.gz
|
|
34 |
|
|
35 |
if use test; then
|
|
36 |
mkdir "${S}"/vendor/meck || die
|
|
37 |
tar -O -xf "${DISTDIR}"/meck-${MECK_PV}.tar contents.tar.gz |
|
|
38 |
tar -xzf - -C "${S}"/vendor/meck
|
|
39 |
assert
|
|
40 |
fi
|
73 |
41 |
}
|
74 |
42 |
|
75 |
43 |
src_compile() {
|
... | ... | |
81 |
49 |
}
|
82 |
50 |
|
83 |
51 |
src_install() {
|
84 |
|
dobashcomp priv/shell-completion/bash/${MY_PN}
|
|
52 |
dobashcomp apps/rebar/priv/shell-completion/bash/${MY_PN}
|
85 |
53 |
dobin ${MY_PN}
|
86 |
54 |
dodoc rebar.config.sample
|
87 |
55 |
doman manpages/${MY_PN}.1
|
88 |
56 |
|
89 |
57 |
insinto /usr/share/fish/completion
|
90 |
|
newins priv/shell-completion/fish/${MY_PN}.fish ${MY_PN}
|
|
58 |
newins apps/rebar/priv/shell-completion/fish/${MY_PN}.fish ${MY_PN}
|
91 |
59 |
|
92 |
60 |
insinto /usr/share/zsh/site-functions
|
93 |
|
doins priv/shell-completion/zsh/_${MY_PN}
|
|
61 |
doins apps/rebar/priv/shell-completion/zsh/_${MY_PN}
|
94 |
62 |
}
|