summaryrefslogtreecommitdiff
path: root/sys-block/partclone/partclone-0.3.49.ebuild
blob: 84dd2cda0064ef643fb609f8f3962d1ef0d2b3ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit autotools shell-completion

DESCRIPTION="Partition cloning tool"
HOMEPAGE="https://partclone.org"
SRC_URI="https://github.com/Thomas-Tsai/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"

IUSE="apfs btrfs +e2fs exfat f2fs fat fuse hfs minix ncurses nilfs2 ntfs"
IUSE+=" reiserfs static test ufs vmfs xfs"

RESTRICT="!test? ( test )"

REQUIRED_USE="static? ( !fuse )"

RDEPEND="
	app-arch/zstd:=
	dev-libs/isa-l
	dev-libs/openssl:0=
	sys-apps/util-linux
	virtual/zlib:=
	e2fs? ( sys-fs/e2fsprogs )
	btrfs? ( sys-apps/util-linux )
	fuse? ( sys-fs/fuse:3 )
	ncurses? ( sys-libs/ncurses:0= )
	nilfs2? ( sys-fs/nilfs-utils )
	ntfs? ( sys-fs/ntfs3g )
	reiserfs? ( sys-fs/progsreiserfs )
	xfs? ( dev-libs/userspace-rcu )
	static? (
		app-arch/zstd:=[static-libs]
		dev-libs/openssl:0[static-libs]
		virtual/zlib:=[static-libs]
		e2fs? ( sys-fs/e2fsprogs[static-libs] )
		btrfs? ( sys-apps/util-linux[static-libs] )
		ncurses? ( sys-libs/ncurses:0[static-libs] )
		nilfs2? ( sys-fs/nilfs-utils[static-libs] )
		ntfs? ( sys-fs/ntfs3g[static-libs] )
		reiserfs? ( sys-fs/progsreiserfs[static-libs] )
		xfs? ( dev-libs/userspace-rcu[static-libs] )
	)
	!static? (
		dev-libs/xxhash
	)
"
DEPEND="
	${RDEPEND}
"
BDEPEND="
	virtual/pkgconfig
"

PATCHES=(
	"${FILESDIR}"/${PN}-fix-ncurses-linking.patch
	"${FILESDIR}"/${PN}-completions.patch
)

DOCS=(
	AUTHORS
	ChangeLog
	HACKING
	NEWS
	README.md
)

CMDS=(
	apfs
	btrfs
	chkimg
	dd
	exfat
	ext2
	ext3
	ext4
	ext4dev
	extfs
	f2fs
	fat
	fat12
	fat16
	fat32
	hfs+
	hfsp
	hfsplus
	imager
	minix
	nilfs2
	ntfs
	reiser4
	restore
	vfat
	xfs
)

src_prepare() {
	default
	eautoreconf
}

src_configure() {
	local myconf=(
		$(use_enable e2fs extfs)
		$(use_enable apfs)
		$(use_enable btrfs)
		$(use_enable exfat)
		$(use_enable f2fs)
		$(use_enable fat)
		$(use_enable fuse)
		$(use_enable hfs hfsp)
		$(use_enable minix)
		$(use_enable ncurses ncursesw)
		$(use_enable nilfs2)
		$(use_enable ntfs)
		$(use_enable reiserfs)
		$(use_enable test fs-test)
		$(use_enable static static-linking)
		$(use_enable vmfs)
		$(use_enable ufs)
		$(use_enable xfs)
		--disable-jfs
		--disable-reiser4

		$(usev static --disable-xxhash)
	)
	econf "${myconf[@]}"
}

src_install() {
	default

	newbashcomp "src/${PN}-completion" "${PN}"
	local cmd
	for cmd in "${CMDS[@]}"; do
		bashcomp_alias "${PN}" "${PN}.${cmd}" || die
	done
}

src_test() {
	local -x TERM=dummy
	default
}