summaryrefslogtreecommitdiff
path: root/sys-block/thin-provisioning-tools
diff options
context:
space:
mode:
Diffstat (limited to 'sys-block/thin-provisioning-tools')
-rw-r--r--sys-block/thin-provisioning-tools/Manifest16
-rw-r--r--sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.6.3-build-fixes.patch57
-rw-r--r--sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.7.0-build-fixes.patch34
-rw-r--r--sys-block/thin-provisioning-tools/metadata.xml17
-rw-r--r--sys-block/thin-provisioning-tools/thin-provisioning-tools-0.4.1.ebuild61
-rw-r--r--sys-block/thin-provisioning-tools/thin-provisioning-tools-0.6.3.ebuild60
-rw-r--r--sys-block/thin-provisioning-tools/thin-provisioning-tools-0.7.0.ebuild60
-rw-r--r--sys-block/thin-provisioning-tools/thin-provisioning-tools-0.7.1.ebuild60
-rw-r--r--sys-block/thin-provisioning-tools/thin-provisioning-tools-0.7.2.ebuild60
-rw-r--r--sys-block/thin-provisioning-tools/thin-provisioning-tools-9999.ebuild65
10 files changed, 490 insertions, 0 deletions
diff --git a/sys-block/thin-provisioning-tools/Manifest b/sys-block/thin-provisioning-tools/Manifest
new file mode 100644
index 000000000000..af0f421dddcb
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/Manifest
@@ -0,0 +1,16 @@
+AUX thin-provisioning-tools-0.6.3-build-fixes.patch 2206 SHA256 721c4657d66fa00bef105c80c7d08c4882c9f3f1975b1816dee6764b0e53927a SHA512 1a9fee83de23f67a9b8051c3ccef47de212dedbc4dff585137628b7069fc204c7fbb116d3528db2e39c8fd8a104442ded83f303742b63a1981b06fd85a434353 WHIRLPOOL 0e7ed90d0ad1044465b4c65360c696f2f66ae019b22d6ac9a0d82d31cac660fe41ee062348c3db164bc97a5d95ada66ca9d4a80c749167afb32747d6f70ce45d
+AUX thin-provisioning-tools-0.7.0-build-fixes.patch 1077 SHA256 863806519182c7c07f79cf299ce7accf85c7132e112f7305bdcf21bde834ae0c SHA512 fbdf778774bca2e608bbab7696b6646c64ee740c40c743f40f28e7e360fc2a6c6c3752992d9d5f7bbb624a9240ba480a6e58a7c5956ba6d2b772ece18502afe7 WHIRLPOOL bfab3309c5218828ea0ab7ce2b4d1e6b6199ec593b6e5fa0e1e96aacafa5b84ce86fd13178db9f5e2d29730bd0feb9b164b74289f3873a51b32fe1c5d64c9c12
+DIST thin-provisioning-tools-0.4.1.tar.gz 186979 SHA256 59c8a787df8d4828bf9ca1b6310584f2b7723068901e20aa609015ce85df1d46 SHA512 e148296b55f7ff4ab85dc3b4679c7eab0ee8d56e61415397fc2e46f17bcc16a6a582c17343381320f8582bc4f12311af622d43aabe60e7abb25a882446016b7e WHIRLPOOL a7e5da6879dfdc64d5e60e9072d43db21fb8f328d268366a6e4892cad9b2d55e907d564240f9bd67da0d726d80eab9d45e151bbe6d89272887703a8ae8b66c8c
+DIST thin-provisioning-tools-0.6.3.tar.gz 198697 SHA256 52d808c29dcaa83c142ceb2b418d01e9423811b082eff63fa0336bb7f0590c45 SHA512 ccebf5bb1ac2da56a3dab5b7ce8d61f6a71f84b5168c2680618d724340bbf8cf97c935c1bce966a296331d9dc048a855d81775d2a39f10b4096ab3ee835286d9 WHIRLPOOL b83c0aa081a27bfd0652d3d2d9786849e998487ce70864b8996b1e5f780b56753e52fa6a3243f62183692d9393643a0a30978069672fd4272e692dea98b93d88
+DIST thin-provisioning-tools-0.7.0.tar.gz 230595 SHA256 68a815860fce3f09f64ef241fd4ba45713f4c7be384fe116ec1dbea467684b32 SHA512 cb6c44c7215aadd72292d73e2374d8c0c28566adcb10c7a3de83576dbd28649ebba6e2cc59945a28921e423540969cb21f648c37e375d68f48e56a8be4a4c7b8 WHIRLPOOL 80201034dafd00617951a30369fc617a9c91b4408ec5c5272b4406c8f86caf0ff738938d6ef92d27a9ac96c3110edfa16609f0777c8592e6a100aeb3e02d3837
+DIST thin-provisioning-tools-0.7.1.tar.gz 247111 SHA256 da45e387bb7ad5b1b8727dc3e013a1136a18fe7a59bea19074a945ff6d73b925 SHA512 47ce2f0699e3bc21fa5bb1175e12fa8f545d2abfbed4529b144bd4812a4a0021635713c3e71228f20b30cbe067c77fb93db20b65075b2689ec2aa5b0385854b9 WHIRLPOOL 9723450f069df280b9dce3c53e0dff7342ed6757135ea3e07f7df5c081896d003aceafcb00af8f40a98aae7c42c401b7d363ebc4080f16435ba3962ae4f3edfb
+DIST thin-provisioning-tools-0.7.2.tar.gz 265819 SHA256 98e779cb3f9131bc0bb3051ac33ff93562085bee1cb5409f2184163d74092e7e SHA512 563363842ab0b92f563ac7fcaedb18b8fca70b0894ff30d55cc40487d53b035c32d3ef711adb7102ef1a55b26a75510239da2542b791d850a5cbccf1ddf1acdd WHIRLPOOL e0e0ab86a5d6746744b7cc2e75d3b9ea729ea7ecd4aa59b0eeaeaecf8746ddf10385b8ecad564d6dbab77e2defa641a717a0cbe83fab470a8dabc19013fcfff0
+EBUILD thin-provisioning-tools-0.4.1.ebuild 1556 SHA256 a88d41a8382734da8d584aa692078d0c3e941c4a574d6a2b93de6c0d36bf15d4 SHA512 aa53f7f3f63c1ba9b1f4921d08924a9a38db2346a96520f4b2fe3a43b8c13c824c8cf93f6651c2c3bbce8902e484351c710dd729bda15b5ade160f3a522f3d0a WHIRLPOOL fe50a8045dc133ded01e99a1d61a7d489cbcda06e0f79dbf4eb96c72af8674990a790e98c1d00091ee220e5c808ebe648b773bab0d60a10e0c087d7ff5ef7256
+EBUILD thin-provisioning-tools-0.6.3.ebuild 1535 SHA256 1263e4c9131ed3353be4c0cfc1802cbbd6304eec8163dc9d31b66896bcb70478 SHA512 2d0b39da75af09bb22226fe5e5078de529a50218fe0036ca4b5145b142147030609a6ab906fc216f056c90ef219c4d533ea08f013d25a316efc31648bfb13d7d WHIRLPOOL f3f26fee3638e854f39664cf5b4334df1519a75b52f397cc4c691cd34bdf257d00e0aef7d197e0e0cfd301d3f3456274df5ff80f0c2bb3c5f984c77e13801735
+EBUILD thin-provisioning-tools-0.7.0.ebuild 1523 SHA256 487c4478550ba34a67b574ca2e654bfa421f9994079b15ebdc23e97b7d7edddf SHA512 edd9fc811b465d130e3fb5b950bace1e3cbd187e98eea360c1eda0a5264dbd71763bb6f77a001efe6d1417abf62756949a197cc850ffd6698cc2eb50eba2e2d8 WHIRLPOOL d8015f6a289cd7b89d532193812610ace494d6f4258ebc072564a9685c13c839b3300aa4c1c2cc9bb6bb58a67f1a4638c1c9a377f0a491250d640b76f2c30f20
+EBUILD thin-provisioning-tools-0.7.1.ebuild 1526 SHA256 37660c240d4c2475496fcde3e2bddb195444f41769b586c66f4a4b2d864f6807 SHA512 8dd47fbcb609a0ae5ce12962f81c758e4108b4e68b7464749fbe0dee268578f049e5aa10d1b2083a3c320a6b77c1bb938ca8912241731ac64951a741bbd65b8b WHIRLPOOL 6db782ce195eb8ef7074cbf8cf5c4a1c10bbcfe542e9ddcff76d084aee1d4a4ab5bfd92a51026b63942442fa29905b559c55501ba46a14f81a5c4706296153fc
+EBUILD thin-provisioning-tools-0.7.2.ebuild 1526 SHA256 37660c240d4c2475496fcde3e2bddb195444f41769b586c66f4a4b2d864f6807 SHA512 8dd47fbcb609a0ae5ce12962f81c758e4108b4e68b7464749fbe0dee268578f049e5aa10d1b2083a3c320a6b77c1bb938ca8912241731ac64951a741bbd65b8b WHIRLPOOL 6db782ce195eb8ef7074cbf8cf5c4a1c10bbcfe542e9ddcff76d084aee1d4a4ab5bfd92a51026b63942442fa29905b559c55501ba46a14f81a5c4706296153fc
+EBUILD thin-provisioning-tools-9999.ebuild 1677 SHA256 7125e5e2bba810678683818ee9603069b198fb70e758e0a0aeaf0e50f111d550 SHA512 dde0fa7fe6a63172082cb6520d4bd301b67a5c7dec68de3131417b25fd5a86d0fa4dfcbabf5707103c4d8df4f1fea28a7afc61b52bac0c8ba33b6fd30313da12 WHIRLPOOL 3b88c0b06f28ea6217f6b1f50ff446472c48155d320ef858ec6582a99ac4ecaa04cc25f5ba3c1f2febb9b18517e2e48546020ab7594e06233eba35ed6e79e24f
+MISC ChangeLog 4860 SHA256 98ff581f26c6eb93b79b955cf4a137bf649403ecbe987a3a19792d638997714e SHA512 4de4b7156c89d49b9b02248bca6d0b1ad9bb7f6c3e21ff2b0ffc7dcfec4a30f6c375442ffec2a98d4ca23de1f7589aa027541e0d7783788b0c76a7bce7368755 WHIRLPOOL 9e7c64037e390685a742b40f84f97da730e52b4292eed20bf7747d8e8c5e3ad55ee4406b89195cf1e0201d21c25732b31060661aa05e32c6e496f67b0ab9d591
+MISC ChangeLog-2015 10388 SHA256 e21c9629ea6d0bf35062cef7530a9f6108c08e84c052199ba7047fb4ebcb33f1 SHA512 95790b12c870ff343b7c905363a22f0f42f266ed26982790d6d5a211aa82a927d510487e89d2007c0b84a2884a5c803be0733d4fb5363281fd8608dbd1bfbe14 WHIRLPOOL 3f565d524d65d1f5a5f5a9c2103a1b5fde6a1f647d0506ffae9dfd6ff7380fa5457618db3697474c9673b63ab835e0ec2fc4625f6d6fc3d65f103db8e6a199b7
+MISC metadata.xml 531 SHA256 741541cb8fef9b5c5c778c259addbd8d925c65f48b49b91d9ef66905dab466d5 SHA512 80fde34da9de5b2436c096bc9051ccb55124c330dc82ac538f66a100225623aa7cb0869041179999608cc52613e40ba464b46630cff52423c13d1a374eb98ed0 WHIRLPOOL d8c5a81fdbe8dda224028781da56cd469eb9f153589481ea29d680bc5fcde952096950ff2456230221cd75dbe4233459ef401321936e23d38188869277d3fb7f
diff --git a/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.6.3-build-fixes.patch b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.6.3-build-fixes.patch
new file mode 100644
index 000000000000..ae1148a1626f
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.6.3-build-fixes.patch
@@ -0,0 +1,57 @@
+diff -purN a/Makefile.in b/Makefile.in
+--- a/Makefile.in 2016-07-21 15:42:52.000000000 +0100
++++ b/Makefile.in 2016-10-28 22:45:54.292931031 +0100
+@@ -108,7 +108,7 @@ CFLAGS?=@CFLAGS@
+ CFLAGS+=-Wall
+ CFLAGS+=@LFS_FLAGS@
+ CXXFLAGS?=@CXXFLAGS@
+-CXXFLAGS+=-Wall -fno-strict-aliasing -std=gnu++98
++CXXFLAGS+=-Wall -fno-strict-aliasing
+ CXXFLAGS+=@CXXOPTIMISE_FLAG@
+ CXXFLAGS+=@CXXDEBUG_FLAG@
+ CXXFLAGS+=@CXX_STRERROR_FLAG@
+diff -purN a/thin-provisioning/restore_emitter.cc b/thin-provisioning/restore_emitter.cc
+--- a/thin-provisioning/restore_emitter.cc 2016-07-21 15:42:52.000000000 +0100
++++ b/thin-provisioning/restore_emitter.cc 2016-10-28 22:49:32.662189111 +0100
+@@ -142,7 +142,7 @@ namespace {
+ bool device_exists(thin_dev_t dev) const {
+ uint64_t key[1] = {dev};
+ device_tree::maybe_value v = md_->details_->lookup(key);
+- return v;
++ return v.is_initialized();
+ }
+
+ metadata::ptr md_;
+diff -purN a/thin-provisioning/thin_pool.cc b/thin-provisioning/thin_pool.cc
+--- a/thin-provisioning/thin_pool.cc 2016-07-21 15:42:52.000000000 +0100
++++ b/thin-provisioning/thin_pool.cc 2016-10-28 22:50:26.999256645 +0100
+@@ -232,7 +232,7 @@ bool
+ thin_pool::device_exists(thin_dev_t dev) const
+ {
+ uint64_t key[1] = {dev};
+- return md_->details_->lookup(key);
++ return md_->details_->lookup(key).is_initialized();
+ }
+
+ //----------------------------------------------------------------
+diff -purN a/unit-tests/Makefile.in b/unit-tests/Makefile.in
+--- a/unit-tests/Makefile.in 2016-07-21 15:42:52.000000000 +0100
++++ b/unit-tests/Makefile.in 2016-10-28 22:45:20.985893955 +0100
+@@ -25,7 +25,7 @@ GMOCK_FLAGS=\
+ -Wno-unused-local-typedefs
+
+ GMOCK_LIBS=\
+- -Llib -lpdata -lgmock -lpthread -laio
++ -Llib -lpdata -lgmock -lpthread -laio -lgtest
+
+ GMOCK_DEPS=\
+ $(wildcard $(GMOCK_DIR)/include/*.h) \
+@@ -80,7 +80,7 @@ TEST_OBJECTS=$(subst .cc,.gmo,$(TEST_SOU
+ sed 's,\([^ :]*\)\.o[ :]*,\1.o \1.gmo $* : Makefile ,g' < $*.$$$$ > $*.d; \
+ $(RM) $*.$$$$
+
+-unit-tests/unit_tests: $(TEST_OBJECTS) lib/libgmock.a lib/libpdata.a
++unit-tests/unit_tests: $(TEST_OBJECTS) lib/libpdata.a
+ @echo " [LD] $<"
+ $(V)g++ $(CXXFLAGS) $(LDFLAGS) -o $@ $(TEST_OBJECTS) $(LIBS) $(GMOCK_LIBS) $(LIBEXPAT)
+
diff --git a/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.7.0-build-fixes.patch b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.7.0-build-fixes.patch
new file mode 100644
index 000000000000..df0831f1a23e
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.7.0-build-fixes.patch
@@ -0,0 +1,34 @@
+--- thin-provisioning-tools-0.7.0/Makefile.in
++++ thin-provisioning-tools-0.7.0/Makefile.in
+@@ -142,9 +142,9 @@
+
+ TOP_DIR:=@top_srcdir@
+ TOP_BUILDDIR:=@top_builddir@
+-CFLAGS+=-g -Wall -O3 -fPIC
++CFLAGS+=-fPIC
+ CFLAGS+=@LFS_FLAGS@
+-CXXFLAGS+=-g -Wall -fPIC -fno-strict-aliasing -std=c++11
++CXXFLAGS+=-fPIC -fno-strict-aliasing -std=c++11
+
+ ifeq ("@DEVTOOLS@", "yes")
+ CXXFLAGS+=-DDEV_TOOLS
+--- thin-provisioning-tools-0.7.0/unit-tests/Makefile.in
++++ thin-provisioning-tools-0.7.0/unit-tests/Makefile.in
+@@ -25,7 +25,7 @@
+ -Wno-unused-local-typedefs
+
+ GMOCK_LIBS=\
+- -Llib -lpdata -lgmock -lpthread -laio
++ -Llib -lpdata -lgmock -lpthread -laio -lgtest
+
+ GMOCK_DEPS=\
+ $(wildcard $(GMOCK_DIR)/googlemock/include/*.h) \
+@@ -83,7 +83,7 @@
+ sed 's,\([^ :]*\)\.o[ :]*,\1.o \1.gmo $* : Makefile ,g' < $*.$$$$ > $*.d; \
+ $(RM) $*.$$$$
+
+-unit-tests/unit_tests: $(TEST_OBJECTS) lib/libgmock.a lib/libpdata.a
++unit-tests/unit_tests: $(TEST_OBJECTS) lib/libpdata.a
+ @echo " [LD] $<"
+ $(V)g++ $(CXXFLAGS) $(LDFLAGS) -o $@ $(TEST_OBJECTS) $(LIBS) $(GMOCK_LIBS) $(LIBEXPAT)
+
diff --git a/sys-block/thin-provisioning-tools/metadata.xml b/sys-block/thin-provisioning-tools/metadata.xml
new file mode 100644
index 000000000000..24ce9f15b9dd
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>robbat2@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <longdescription lang="en">
+A suite of tools for thin provisioning on Linux.
+</longdescription>
+ <upstream>
+ <remote-id type="github">jthornber/thin-provisioning-tools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.4.1.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.4.1.ebuild
new file mode 100644
index 000000000000..7d843fe9aea3
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.4.1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils
+
+DESCRIPTION="A suite of tools for thin provisioning on Linux"
+HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools"
+EXT=.tar.gz
+BASE_A=${P}${EXT}
+SRC_URI="https://github.com/jthornber/${PN}/archive/v${PV}${EXT} -> ${BASE_A}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="dev-libs/expat
+ dev-libs/libaio"
+# || ( ) is a non-future proof workaround for Portage unefficiency wrt #477050
+DEPEND="${RDEPEND}
+ test? (
+ || ( dev-lang/ruby:2.9 dev-lang/ruby:2.8 dev-lang/ruby:2.7 dev-lang/ruby:2.6 dev-lang/ruby:2.5 dev-lang/ruby:2.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 dev-lang/ruby:1.9 dev-lang/ruby:1.8 )
+ >=dev-cpp/gmock-1.6
+ >=dev-cpp/gtest-1.6
+ dev-util/cucumber
+ dev-util/aruba
+ )
+ dev-libs/boost"
+
+src_prepare() {
+ sed -i -e '/^INSTALL_PROGRAM/s:-s::' Makefile.in || die
+ sed -i \
+ -e '/^unit-tests\/unit_tests:/s:lib/libgmock.a::' \
+ -e '/-lgmock/s:$: -lgtest:' \
+ unit-tests/Makefile.in || die #493440
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --prefix="${EPREFIX}"/ \
+ --bindir="${EPREFIX}"/sbin \
+ --with-optimisation='' \
+ $(use_enable test testing)
+}
+
+src_compile() {
+ MAKEOPTS+=" V="
+ default
+}
+
+src_install() {
+ emake DESTDIR="${D}" MANPATH="${D}"/usr/share/man install
+ dodoc README.md TODO.org
+}
+
+src_test() {
+ emake unit-test
+}
diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.6.3.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.6.3.ebuild
new file mode 100644
index 000000000000..2945158568e6
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.6.3.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="A suite of tools for thin provisioning on Linux"
+HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools"
+SRC_URI="https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="static test"
+
+LIB_DEPEND="dev-libs/expat[static-libs(+)]
+ dev-libs/libaio[static-libs(+)]"
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+# || ( ) is a non-future proof workaround for Portage unefficiency wrt #477050
+DEPEND="${RDEPEND}
+ static? ( ${LIB_DEPEND} )
+ test? (
+ || ( dev-lang/ruby:2.9 dev-lang/ruby:2.8 dev-lang/ruby:2.7 dev-lang/ruby:2.6 dev-lang/ruby:2.5 dev-lang/ruby:2.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 )
+ >=dev-cpp/gmock-1.6
+ >=dev-cpp/gtest-1.6
+ dev-util/cucumber
+ dev-util/aruba
+ )
+ dev-libs/boost"
+
+PATCHES=( "${FILESDIR}"/${P}-build-fixes.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ STRIP=true econf \
+ --prefix="${EPREFIX}"/ \
+ --bindir="${EPREFIX}"/sbin \
+ --with-optimisation='' \
+ $(use_enable test testing)
+}
+
+src_compile() {
+ MAKEOPTS+=" V="
+ default
+}
+
+src_test() {
+ emake unit-test
+}
+
+src_install() {
+ emake DESTDIR="${D}" DATADIR="${ED}/usr/share" install
+ dodoc README.md TODO.org
+}
diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.7.0.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.7.0.ebuild
new file mode 100644
index 000000000000..dcca8c70e90b
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.7.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="A suite of tools for thin provisioning on Linux"
+HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools"
+SRC_URI="https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="static test"
+
+LIB_DEPEND="dev-libs/expat[static-libs(+)]
+ dev-libs/libaio[static-libs(+)]"
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+# || ( ) is a non-future proof workaround for Portage unefficiency wrt #477050
+DEPEND="${RDEPEND}
+ static? ( ${LIB_DEPEND} )
+ test? (
+ || ( dev-lang/ruby:2.9 dev-lang/ruby:2.8 dev-lang/ruby:2.7 dev-lang/ruby:2.6 dev-lang/ruby:2.5 dev-lang/ruby:2.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 )
+ >=dev-cpp/gmock-1.6
+ >=dev-cpp/gtest-1.6
+ dev-util/cucumber
+ dev-util/aruba
+ )
+ dev-libs/boost"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.7.0-build-fixes.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ STRIP=true econf \
+ --prefix="${EPREFIX}"/ \
+ --bindir="${EPREFIX}"/sbin \
+ --with-optimisation='' \
+ $(use_enable test testing)
+}
+
+src_compile() {
+ MAKEOPTS+=" V="
+ default
+}
+
+src_test() {
+ emake unit-test
+}
+
+src_install() {
+ emake DESTDIR="${D}" DATADIR="${ED%/}/usr/share" install
+ dodoc README.md TODO.org
+}
diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.7.1.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.7.1.ebuild
new file mode 100644
index 000000000000..36d3cd79766f
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.7.1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="A suite of tools for thin provisioning on Linux"
+HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools"
+SRC_URI="https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="static test"
+
+LIB_DEPEND="dev-libs/expat[static-libs(+)]
+ dev-libs/libaio[static-libs(+)]"
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+# || ( ) is a non-future proof workaround for Portage unefficiency wrt #477050
+DEPEND="${RDEPEND}
+ static? ( ${LIB_DEPEND} )
+ test? (
+ || ( dev-lang/ruby:2.9 dev-lang/ruby:2.8 dev-lang/ruby:2.7 dev-lang/ruby:2.6 dev-lang/ruby:2.5 dev-lang/ruby:2.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 )
+ >=dev-cpp/gmock-1.6
+ >=dev-cpp/gtest-1.6
+ dev-util/cucumber
+ dev-util/aruba
+ )
+ dev-libs/boost"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.7.0-build-fixes.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ STRIP=true econf \
+ --prefix="${EPREFIX}"/ \
+ --bindir="${EPREFIX}"/sbin \
+ --with-optimisation='' \
+ $(use_enable test testing)
+}
+
+src_compile() {
+ MAKEOPTS+=" V="
+ default
+}
+
+src_test() {
+ emake unit-test
+}
+
+src_install() {
+ emake DESTDIR="${D}" DATADIR="${ED%/}/usr/share" install
+ dodoc README.md TODO.org
+}
diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.7.2.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.7.2.ebuild
new file mode 100644
index 000000000000..36d3cd79766f
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.7.2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="A suite of tools for thin provisioning on Linux"
+HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools"
+SRC_URI="https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="static test"
+
+LIB_DEPEND="dev-libs/expat[static-libs(+)]
+ dev-libs/libaio[static-libs(+)]"
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+# || ( ) is a non-future proof workaround for Portage unefficiency wrt #477050
+DEPEND="${RDEPEND}
+ static? ( ${LIB_DEPEND} )
+ test? (
+ || ( dev-lang/ruby:2.9 dev-lang/ruby:2.8 dev-lang/ruby:2.7 dev-lang/ruby:2.6 dev-lang/ruby:2.5 dev-lang/ruby:2.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 )
+ >=dev-cpp/gmock-1.6
+ >=dev-cpp/gtest-1.6
+ dev-util/cucumber
+ dev-util/aruba
+ )
+ dev-libs/boost"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.7.0-build-fixes.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ STRIP=true econf \
+ --prefix="${EPREFIX}"/ \
+ --bindir="${EPREFIX}"/sbin \
+ --with-optimisation='' \
+ $(use_enable test testing)
+}
+
+src_compile() {
+ MAKEOPTS+=" V="
+ default
+}
+
+src_test() {
+ emake unit-test
+}
+
+src_install() {
+ emake DESTDIR="${D}" DATADIR="${ED%/}/usr/share" install
+ dodoc README.md TODO.org
+}
diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-9999.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-9999.ebuild
new file mode 100644
index 000000000000..54a1136b0ef4
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-9999.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+EGIT_REPO_URI='https://github.com/jthornber/thin-provisioning-tools.git'
+inherit autotools flag-o-matic $SCM
+
+DESCRIPTION="A suite of tools for thin provisioning on Linux"
+HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools"
+
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="static test"
+
+LIB_DEPEND="dev-libs/expat[static-libs(+)]
+ dev-libs/libaio[static-libs(+)]"
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+# || ( ) is a non-future proof workaround for Portage unefficiency wrt #477050
+DEPEND="${RDEPEND}
+ static? ( ${LIB_DEPEND} )
+ test? (
+ || ( dev-lang/ruby:2.9 dev-lang/ruby:2.8 dev-lang/ruby:2.7 dev-lang/ruby:2.6 dev-lang/ruby:2.5 dev-lang/ruby:2.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 )
+ >=dev-cpp/gmock-1.6
+ >=dev-cpp/gtest-1.6
+ dev-util/cucumber
+ dev-util/aruba
+ )
+ dev-libs/boost"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.7.0-build-fixes.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ STRIP=true econf \
+ --prefix="${EPREFIX}"/ \
+ --bindir="${EPREFIX}"/sbin \
+ --with-optimisation='' \
+ $(use_enable test testing)
+}
+
+src_compile() {
+ MAKEOPTS+=" V="
+ default
+}
+
+src_test() {
+ emake unit-test
+}
+
+src_install() {
+ emake DESTDIR="${D}" DATADIR="${ED%/}/usr/share" install
+ dodoc README.md TODO.org
+}