Gentoo Archives: gentoo-commits

From: Andrey Utkin <andrey_utkin@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/tup/
Date: Sun, 02 Dec 2018 03:19:27
Message-Id: 1543720744.6e62ad648edfb9671bbcd7421031bd32e9da7c43.andrey_utkin@gentoo
1 commit: 6e62ad648edfb9671bbcd7421031bd32e9da7c43
2 Author: Andrey Utkin <andrey_utkin <AT> gentoo <DOT> org>
3 AuthorDate: Sun Dec 2 03:18:28 2018 +0000
4 Commit: Andrey Utkin <andrey_utkin <AT> gentoo <DOT> org>
5 CommitDate: Sun Dec 2 03:19:04 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6e62ad64
7
8 dev-util/tup: add new version 0.7.8
9
10 Package-Manager: Portage-2.3.49, Repoman-2.3.12
11 Signed-off-by: Andrey Utkin <andrey_utkin <AT> gentoo.org>
12
13 dev-util/tup/Manifest | 1 +
14 dev-util/tup/tup-0.7.8.ebuild | 100 ++++++++++++++++++++++++++++++++++++++++++
15 2 files changed, 101 insertions(+)
16
17 diff --git a/dev-util/tup/Manifest b/dev-util/tup/Manifest
18 index d9c8a9d735d..c6e20f057ed 100644
19 --- a/dev-util/tup/Manifest
20 +++ b/dev-util/tup/Manifest
21 @@ -1 +1,2 @@
22 DIST tup-0.7.7.tar.gz 4033539 BLAKE2B dc4d3fc538c76dac53629991e32de7414f35877af8bb9f2ce4a1f80252317de7b3d2ea1542ab3e58702813b297a42c95610d14122496ac7f23acc1f8f3d62461 SHA512 05407cc923b898d5dcf6652df6395e7618d43fa4e3ace905dda09bcda26f975187761a704d360fceeb38332f29d65cd3d1f9e04c87d93dcffa4e9e2be9b35aad
23 +DIST tup-0.7.8.tar.gz 4540974 BLAKE2B b6724113fac9920b029604af3bf4fd875c1651b89b6c772bfecef9e8d9612574265fafd0a8eac217a51e3b3fe1d4776e97174d4c89cbf97ee3203dddc0e53f6c SHA512 17d4b76c508749ca011b3c0209bc779d617a091ed2d067bf1095fc840f62ac23145071395892170390ac6217f18bcaabb0cff582aa782838eab190244313d7f5
24
25 diff --git a/dev-util/tup/tup-0.7.8.ebuild b/dev-util/tup/tup-0.7.8.ebuild
26 new file mode 100644
27 index 00000000000..2662d05de6f
28 --- /dev/null
29 +++ b/dev-util/tup/tup-0.7.8.ebuild
30 @@ -0,0 +1,100 @@
31 +# Copyright 1999-2018 Gentoo Authors
32 +# Distributed under the terms of the GNU General Public License v2
33 +
34 +EAPI=7
35 +
36 +inherit linux-info toolchain-funcs
37 +
38 +DESCRIPTION="A file-based build system"
39 +HOMEPAGE="http://gittup.org/tup"
40 +# Tup itself is GPLv2, but it bundles differently licensed software:
41 +# - lua: MIT
42 +# - sqlite (unused in this ebuild): public domain
43 +# - inih: 3-clause BSD
44 +# - red-black tree implementation: 2-clause BSD
45 +# - queue implementation: 3-clause BSD
46 +LICENSE="GPL-2 MIT public-domain BSD BSD-2"
47 +SLOT="0"
48 +
49 +if [[ "${PV}" == 9999 ]]; then
50 + EGIT_REPO_URI="https://github.com/gittup/tup.git"
51 + inherit git-r3
52 +else
53 + SRC_URI="https://github.com/gittup/tup/archive/v${PV}.tar.gz -> ${P}.tar.gz"
54 + KEYWORDS="~amd64"
55 +fi
56 +
57 +DEPEND="
58 + dev-db/sqlite:=
59 + dev-libs/libpcre:=
60 + sys-fs/fuse:=
61 +"
62 +RDEPEND="${DEPEND}"
63 +
64 +CONFIG_CHECK="~FUSE_FS ~NAMESPACES"
65 +WARNING_FUSE_FS="CONFIG_FUSE_FS is required for tup to work"
66 +WARNING_NAMESPACES="CONFIG_NAMESPACES is required for tup to work as intended (workaround: set TUP_NO_NAMESPACING env var when running tup)"
67 +
68 +src_prepare() {
69 + # Use our toolchain
70 + sed -i Tuprules.tup \
71 + -e "s:CC = gcc:CC = $(tc-getCC) ${CFLAGS} ${LDFLAGS}:" \
72 + -e "s:ar crs:$(tc-getAR) crs:"
73 +
74 + if [[ ${PV} != 9999 ]]; then
75 + # Avoid invoking `git` to find version, use ours
76 + sed -i src/tup/link.sh \
77 + -e 's;`git describe`;v'"${PV};"
78 + fi
79 +
80 + default
81 +}
82 +
83 +src_configure () {
84 + echo "CONFIG_TUP_USE_SYSTEM_SQLITE=y" >> tup.config
85 +}
86 +
87 +src_compile() {
88 + # Disabling namespacing because it leads to accessing /proc/<pid>/setgroups
89 + # which violates sandboxing.
90 + export TUP_NO_NAMESPACING=1
91 + ./bootstrap-nofuse.sh || die
92 + unset TUP_NO_NAMESPACING
93 +}
94 +
95 +src_install() {
96 + dobin tup
97 + dolib.a libtup_client.a
98 + doheader tup_client.h
99 + doman tup.1
100 +}
101 +
102 +src_test() {
103 + [[ -e /dev/fuse ]] || die "/dev/fuse is required for tests to work"
104 + # tup uses fuse when tracking dependencies.
105 + addwrite /dev/fuse
106 +
107 + # Disabling namespacing because it leads to accessing /proc/<pid>/setgroups
108 + # which violates sandboxing.
109 + export TUP_NO_NAMESPACING=1
110 +
111 + # Skip tests which require namespacing or root privileges.
112 + pushd test || die
113 + rm -v ./*full-deps*.sh
114 + SKIPPED_TESTS=(
115 + t4069-gcc-coverage.sh
116 + t4072-proc-self.sh
117 + t4074-getpwd.sh
118 + t4131-proc-self-exe.sh
119 + t4132-proc-meminfo.sh
120 + t4171-dev-null.sh
121 + t4200-ccache.sh
122 + t5083-symlink-fullpath.sh
123 + t5084-symlink-fullpath2.sh
124 + )
125 + rm ${SKIPPED_TESTS[@]} || die
126 + ./test.sh || die
127 + popd || die
128 +
129 + unset TUP_NO_NAMESPACING
130 +}