Diff rebar-2.6.4-r1 with a rebar-3.19.0

/usr/portage/dev-util/rebar/rebar-3.19.0.ebuild 2023-10-09 14:52:30.992368388 +0300
1
# Copyright 1999-2020 Gentoo Authors
1
# Copyright 2022 Gentoo Authors
2 2
# Distributed under the terms of the GNU General Public License v2
3 3

  
4
EAPI=7
4
EAPI=8
5

  
6
MY_PN=${PN}3
5 7

  
6 8
inherit bash-completion-r1
7 9

  
8 10
DESCRIPTION="A sophisticated build-tool for Erlang projects that follows OTP principles"
9
HOMEPAGE="https://github.com/rebar/rebar"
10
SRC_URI="https://github.com/rebar/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
11
HOMEPAGE="https://www.rebar3.org https://github.com/erlang/rebar3"
12
SRC_URI="
13
	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 )
25
"
26
S="${WORKDIR}"/${MY_PN}-${PV}
11 27

  
12
LICENSE="Apache-2.0"
13
SLOT="0"
28
LICENSE="Apache-2.0 MIT BSD"
29
SLOT="3"
14 30
KEYWORDS="amd64 ~arm ~ia64 ppc ppc64 sparc x86"
15
IUSE=""
31
IUSE="test"
32

  
33
RESTRICT="!test? ( test )"
16 34

  
17
RDEPEND="dev-lang/erlang:="
35
RDEPEND="
36
	dev-lang/erlang[ssl]
37
	!dev-util/rebar-bin
38
"
18 39
DEPEND="${RDEPEND}"
19 40

  
20
PATCHES=( "${FILESDIR}/rebar-erlang23.diff" )
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
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
73
}
74

  
75
src_compile() {
76
	./bootstrap || die
77
}
21 78

  
22 79
src_test() {
23
	emake xref
80
	./rebar3 ct || die
24 81
}
25 82

  
26 83
src_install() {
27
	dobin rebar
28
	dodoc rebar.config.sample THANKS
29
	dobashcomp priv/shell-completion/bash/${PN}
84
	dobashcomp priv/shell-completion/bash/${MY_PN}
85
	dobin ${MY_PN}
86
	dodoc rebar.config.sample
87
	doman manpages/${MY_PN}.1
88

  
89
	insinto /usr/share/fish/completion
90
	newins priv/shell-completion/fish/${MY_PN}.fish ${MY_PN}
91

  
92
	insinto /usr/share/zsh/site-functions
93
	doins priv/shell-completion/zsh/_${MY_PN}
30 94
}
Thank you!