summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /sys-block/thin-provisioning-tools
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sys-block/thin-provisioning-tools')
-rw-r--r--sys-block/thin-provisioning-tools/Manifest5
-rw-r--r--sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.3.2-Remove-ambiguity-between-boost-uint64_t-and-uint64_t.patch214
-rw-r--r--sys-block/thin-provisioning-tools/metadata.xml15
-rw-r--r--sys-block/thin-provisioning-tools/thin-provisioning-tools-0.2.8-r1.ebuild48
-rw-r--r--sys-block/thin-provisioning-tools/thin-provisioning-tools-0.3.2-r1.ebuild51
-rw-r--r--sys-block/thin-provisioning-tools/thin-provisioning-tools-0.4.0.ebuild52
-rw-r--r--sys-block/thin-provisioning-tools/thin-provisioning-tools-0.4.1.ebuild52
-rw-r--r--sys-block/thin-provisioning-tools/thin-provisioning-tools-0.5.3.ebuild54
8 files changed, 491 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..1429ff0ea867
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/Manifest
@@ -0,0 +1,5 @@
+DIST thin-provisioning-tools-0.2.8.tar.gz 158332 SHA256 8a5d87b929095a383594b7141b89e51ae42046d7dd254d544330d789b6744344 SHA512 6534bf42ae936f6f32ce05b89eaeb731938b3761e74366d21282a69d74875d1f9d5084590b19969894c9908726e96f17714f051f050a040dd934533830eddfa9 WHIRLPOOL 16bcc268b450938ccec450323ce6dee97a4851c97438115c250c674b930ef8dfd0c7f6507d6c5204b72250da685d35ff57cf72f297abeec6704fb09520307ef2
+DIST thin-provisioning-tools-0.3.2.tar.gz 175049 SHA256 1b9d8e9269cffe06f3c87214d35436225e12599debefbf1a50194c69cc3404ca SHA512 d6e18c303769b39c5bd48ef30d2819adc57d2d87b3c9b56d5d72468fb35f9b7b2309d35c6c12eabc36d653dd85338b9ad2fca9eed5c738a87b932b71f3a6da4f WHIRLPOOL b1bd87aa1995ba0616001837247c962c492d0029cb8a89b97aa326eb63d8a89113905f5d34490593e0cfcca33ef074e02a50679d22c3b1859d8fe5b97368c608
+DIST thin-provisioning-tools-0.4.0.tar.gz 186925 SHA256 6af8b9d31013e1dc3e59b9bd90803cb25f60b3d2e0a44c3ee2e1fb6cdf63e7d0 SHA512 ebbb616e1a06b6437232058de007ad63c7711c78c8e47559280b27b0072087a8cd6ab5f3013247058add6a9e3e51f37a9b8ea3e86458ac3656a2f01fc6da1809 WHIRLPOOL 53679193f24c1216935f7f45107bf3642b66781b8170dca55a11646c82c46387796f76bd50578a6b2b149addcb497209586e79c1e261e267bf653da7d3496b69
+DIST thin-provisioning-tools-0.4.1.tar.gz 186979 SHA256 59c8a787df8d4828bf9ca1b6310584f2b7723068901e20aa609015ce85df1d46 SHA512 e148296b55f7ff4ab85dc3b4679c7eab0ee8d56e61415397fc2e46f17bcc16a6a582c17343381320f8582bc4f12311af622d43aabe60e7abb25a882446016b7e WHIRLPOOL a7e5da6879dfdc64d5e60e9072d43db21fb8f328d268366a6e4892cad9b2d55e907d564240f9bd67da0d726d80eab9d45e151bbe6d89272887703a8ae8b66c8c
+DIST thin-provisioning-tools-0.5.3.tar.gz 191431 SHA256 6d6856dbca2f0fcf23ece171a8e68a4a7054350a3810958da37615358695597e SHA512 c36f85fc59b98195b7b6fa635b0d18da06b5798d735887dfa3af96bf6fa88bac0d353968ceae00de5960eb5360db70bc166fdd254a88b2246c36f6868c190e6d WHIRLPOOL cc85ff4c0bd0a9f7010bbbdfb9e9dd08d9dd1370ce5ca6ebc60626e05a2bfc52dec187dca546a8e6f4d9eb5dc786ea7063322b1b2bbfaec7cd022022fe428c3f
diff --git a/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.3.2-Remove-ambiguity-between-boost-uint64_t-and-uint64_t.patch b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.3.2-Remove-ambiguity-between-boost-uint64_t-and-uint64_t.patch
new file mode 100644
index 000000000000..9dd978070312
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.3.2-Remove-ambiguity-between-boost-uint64_t-and-uint64_t.patch
@@ -0,0 +1,214 @@
+From e77e8715b0a91a60cf2c4b85933b1063385da122 Mon Sep 17 00:00:00 2001
+From: Joe Thornber <ejt@redhat.com>
+Date: Wed, 2 Jul 2014 08:19:20 +0000
+Subject: Remove ambiguity between boost::uint64_t and ::uint64_t.
+
+This has been causing people problems on uclibc builds.
+---
+ caching/cache_metadata_size.cc | 15 +++++++--------
+ caching/xml_format.cc | 7 +++----
+ era/superblock.cc | 5 ++---
+ era/writeset_tree.cc | 5 ++---
+ persistent-data/data-structures/bitset.cc | 7 +++----
+ thin-provisioning/device_tree.h | 4 +---
+ thin-provisioning/metadata_dumper.cc | 2 +-
+ 7 files changed, 19 insertions(+), 26 deletions(-)
+
+diff --git a/caching/cache_metadata_size.cc b/caching/cache_metadata_size.cc
+index 7584da6..5792c49 100644
+--- a/caching/cache_metadata_size.cc
++++ b/caching/cache_metadata_size.cc
+@@ -7,7 +7,6 @@
+ #include <stdint.h>
+ #include <stdexcept>
+
+-using namespace boost;
+ using namespace std;
+
+ //----------------------------------------------------------------
+@@ -18,9 +17,9 @@ namespace {
+ : max_hint_width(4) {
+ }
+
+- optional<uint64_t> device_size;
+- optional<uint32_t> block_size;
+- optional<uint64_t> nr_blocks;
++ boost::optional<uint64_t> device_size;
++ boost::optional<uint32_t> block_size;
++ boost::optional<uint64_t> nr_blocks;
+ uint32_t max_hint_width;
+ };
+
+@@ -58,19 +57,19 @@ namespace {
+ while ((c = getopt_long(argc, argv, short_opts, long_opts, NULL)) != -1) {
+ switch (c) {
+ case 0:
+- fs.block_size = lexical_cast<uint32_t>(optarg);
++ fs.block_size = boost::lexical_cast<uint32_t>(optarg);
+ break;
+
+ case 1:
+- fs.device_size = lexical_cast<uint64_t>(optarg);
++ fs.device_size = boost::lexical_cast<uint64_t>(optarg);
+ break;
+
+ case 2:
+- fs.nr_blocks = lexical_cast<uint64_t>(optarg);
++ fs.nr_blocks = boost::lexical_cast<uint64_t>(optarg);
+ break;
+
+ case 3:
+- fs.max_hint_width = lexical_cast<uint32_t>(optarg);
++ fs.max_hint_width = boost::lexical_cast<uint32_t>(optarg);
+ break;
+
+ case 'h':
+diff --git a/caching/xml_format.cc b/caching/xml_format.cc
+index cb03018..84d6fc2 100644
+--- a/caching/xml_format.cc
++++ b/caching/xml_format.cc
+@@ -5,7 +5,6 @@
+ #include <boost/lexical_cast.hpp>
+ #include <expat.h>
+
+-using namespace boost;
+ using namespace caching;
+ using namespace persistent_data;
+ using namespace std;
+@@ -189,14 +188,14 @@ namespace {
+
+ block_address cblock = get_attr<uint64_t>(attr, "cache_block");
+ decoded_or_error doe = base64_decode(get_attr<string>(attr, "data"));
+- if (!get<vector<unsigned char> >(&doe)) {
++ if (!boost::get<vector<unsigned char> >(&doe)) {
+ ostringstream msg;
+ msg << "invalid base64 encoding of hint for cache block "
+- << cblock << ": " << get<string>(doe);
++ << cblock << ": " << boost::get<string>(doe);
+ throw runtime_error(msg.str());
+ }
+
+- e->hint(cblock, get<vector<unsigned char> >(doe));
++ e->hint(cblock, boost::get<vector<unsigned char> >(doe));
+ }
+
+ // FIXME: why passing e by ptr?
+diff --git a/era/superblock.cc b/era/superblock.cc
+index 1bd1a4f..c319e9b 100644
+--- a/era/superblock.cc
++++ b/era/superblock.cc
+@@ -4,7 +4,6 @@
+ #include "persistent-data/errors.h"
+
+ using namespace base;
+-using namespace boost;
+ using namespace era;
+ using namespace superblock_damage;
+ using namespace persistent_data;
+@@ -149,8 +148,8 @@ superblock_traits::unpack(disk_type const &disk, value_type &value)
+
+ block_address ms = to_cpu<uint64_t>(disk.metadata_snap);
+ value.metadata_snap = (ms == SUPERBLOCK_LOCATION) ?
+- optional<block_address>() :
+- optional<block_address>(ms);
++ boost::optional<block_address>() :
++ boost::optional<block_address>(ms);
+ }
+
+ void
+diff --git a/era/writeset_tree.cc b/era/writeset_tree.cc
+index 54aa6a1..4e2c478 100644
+--- a/era/writeset_tree.cc
++++ b/era/writeset_tree.cc
+@@ -2,7 +2,6 @@
+ #include "persistent-data/data-structures/btree_damage_visitor.h"
+ #include "persistent-data/data-structures/bitset.h"
+
+-using namespace boost;
+ using namespace era;
+ using namespace writeset_tree_detail;
+ using namespace persistent_data;
+@@ -90,8 +89,8 @@ namespace {
+ private:
+ template <typename T>
+ run<uint32_t> to_uint32(run<T> const &r) {
+- return run<uint32_t>(optional<uint32_t>(r.begin_),
+- optional<uint32_t>(r.end_));
++ return run<uint32_t>(boost::optional<uint32_t>(r.begin_),
++ boost::optional<uint32_t>(r.end_));
+ }
+
+ damage_visitor &v_;
+diff --git a/persistent-data/data-structures/bitset.cc b/persistent-data/data-structures/bitset.cc
+index 5851e28..e49e19f 100644
+--- a/persistent-data/data-structures/bitset.cc
++++ b/persistent-data/data-structures/bitset.cc
+@@ -2,7 +2,6 @@
+ #include "persistent-data/data-structures/bitset.h"
+ #include "persistent-data/math_utils.h"
+
+-using namespace boost;
+ using namespace persistent_data;
+ using namespace persistent_data::bitset_detail;
+ using namespace std;
+@@ -12,7 +11,7 @@ using namespace std;
+ namespace {
+ struct bitset_traits {
+ typedef base::le64 disk_type;
+- typedef uint64_t value_type;
++ typedef ::uint64_t value_type;
+ typedef no_op_ref_counter<uint64_t> ref_counter;
+
+ static void unpack(disk_type const &disk, value_type &value) {
+@@ -118,11 +117,11 @@ namespace persistent_data {
+ }
+
+ private:
+- optional<uint32_t> lifted_mult64(optional<uint32_t> const &m) {
++ boost::optional<uint32_t> lifted_mult64(boost::optional<uint32_t> const &m) {
+ if (!m)
+ return m;
+
+- return optional<uint32_t>(*m * 64);
++ return boost::optional<uint32_t>(*m * 64);
+ }
+
+ bitset_visitor &v_;
+diff --git a/thin-provisioning/device_tree.h b/thin-provisioning/device_tree.h
+index 320eb73..23ae924 100644
+--- a/thin-provisioning/device_tree.h
++++ b/thin-provisioning/device_tree.h
+@@ -4,8 +4,6 @@
+ #include "persistent-data/data-structures/btree.h"
+ #include "persistent-data/run.h"
+
+-using namespace boost;
+-
+ //----------------------------------------------------------------
+
+ namespace thin_provisioning {
+@@ -50,7 +48,7 @@ namespace thin_provisioning {
+
+ class damage_visitor {
+ public:
+- typedef shared_ptr<damage_visitor> ptr;
++ typedef boost::shared_ptr<damage_visitor> ptr;
+
+ virtual ~damage_visitor() {}
+
+diff --git a/thin-provisioning/metadata_dumper.cc b/thin-provisioning/metadata_dumper.cc
+index dfe18e0..0bd284e 100644
+--- a/thin-provisioning/metadata_dumper.cc
++++ b/thin-provisioning/metadata_dumper.cc
+@@ -226,7 +226,7 @@ thin_provisioning::metadata_dump(metadata::ptr md, emitter::ptr e, bool repair)
+ md->sb_.trans_id_,
+ md->sb_.data_block_size_,
+ md->data_sm_->get_nr_blocks(),
+- optional<block_address>());
++ boost::optional<block_address>());
+
+ {
+ mapping_tree_detail::damage_visitor::ptr md_policy(mapping_damage_policy(repair));
+--
+2.0.2
+
diff --git a/sys-block/thin-provisioning-tools/metadata.xml b/sys-block/thin-provisioning-tools/metadata.xml
new file mode 100644
index 000000000000..659c8f53d7d9
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>base-system</herd>
+ <maintainer>
+ <email>robbat2@gentoo.org</email>
+ <name>Robin H. Johnson</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.2.8-r1.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.2.8-r1.ebuild
new file mode 100644
index 000000000000..6354480a18b3
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.2.8-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools
+
+DESCRIPTION="A suite of tools for thin provisioning on Linux"
+HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools"
+EXT=.tar.gz
+SRC_URI="http://github.com/jthornber/${PN}/archive/v${PV}${EXT} -> ${P}${EXT}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="dev-libs/expat"
+# || ( ) 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
+ dev-util/cucumber
+ dev-util/aruba
+ )
+ dev-libs/boost"
+
+src_prepare() {
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --prefix="${EPREFIX}"/ \
+ --bindir="${EPREFIX}"/sbin \
+ --with-optimisation='' \
+ $(use_enable test testing)
+}
+
+src_install() {
+ emake install DESTDIR="${D}" MANDIR=/usr/share/man
+ dodoc README.md TODO.org
+}
+
+src_test() {
+ emake unit-test
+}
diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.3.2-r1.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.3.2-r1.ebuild
new file mode 100644
index 000000000000..4f8b31ff1ef9
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.3.2-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils
+
+DESCRIPTION="A suite of tools for thin provisioning on Linux"
+HOMEPAGE="http://github.com/jthornber/thin-provisioning-tools"
+EXT=.tar.gz
+BASE_A=${P}${EXT}
+SRC_URI="http://github.com/jthornber/${PN}/archive/v${PV}${EXT} -> ${BASE_A}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="dev-libs/expat"
+# || ( ) 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
+ dev-util/cucumber
+ dev-util/aruba
+ )
+ dev-libs/boost"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-Remove-ambiguity-between-boost-uint64_t-and-uint64_t.patch
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --prefix="${EPREFIX}"/ \
+ --bindir="${EPREFIX}"/sbin \
+ --with-optimisation='' \
+ $(use_enable test testing)
+}
+
+src_install() {
+ emake install DESTDIR="${D}" MANDIR=/usr/share/man
+ dodoc README.md TODO.org
+}
+
+src_test() {
+ emake unit-test
+}
diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.4.0.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.4.0.ebuild
new file mode 100644
index 000000000000..1c4163c4bd5f
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.4.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils
+
+DESCRIPTION="A suite of tools for thin provisioning on Linux"
+HOMEPAGE="http://github.com/jthornber/thin-provisioning-tools"
+EXT=.tar.gz
+BASE_A=${P}${EXT}
+SRC_URI="http://github.com/jthornber/${PN}/archive/v${PV}${EXT} -> ${BASE_A}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~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
+ dev-util/cucumber
+ dev-util/aruba
+ )
+ dev-libs/boost"
+
+src_prepare() {
+ sed -i -e '/^INSTALL_PROGRAM/s:-s::' Makefile.in || die
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --prefix="${EPREFIX}"/ \
+ --bindir="${EPREFIX}"/sbin \
+ --with-optimisation='' \
+ $(use_enable test testing)
+}
+
+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.4.1.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.4.1.ebuild
new file mode 100644
index 000000000000..806065d31f42
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.4.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils
+
+DESCRIPTION="A suite of tools for thin provisioning on Linux"
+HOMEPAGE="http://github.com/jthornber/thin-provisioning-tools"
+EXT=.tar.gz
+BASE_A=${P}${EXT}
+SRC_URI="http://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
+ dev-util/cucumber
+ dev-util/aruba
+ )
+ dev-libs/boost"
+
+src_prepare() {
+ sed -i -e '/^INSTALL_PROGRAM/s:-s::' Makefile.in || die
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --prefix="${EPREFIX}"/ \
+ --bindir="${EPREFIX}"/sbin \
+ --with-optimisation='' \
+ $(use_enable test testing)
+}
+
+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.5.3.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.5.3.ebuild
new file mode 100644
index 000000000000..f82a378ea085
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.5.3.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit autotools eutils flag-o-matic
+
+DESCRIPTION="A suite of tools for thin provisioning on Linux"
+HOMEPAGE="http://github.com/jthornber/thin-provisioning-tools"
+SRC_URI="http://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-lang/ruby:1.9 )
+ dev-cpp/gmock
+ dev-util/cucumber
+ dev-util/aruba
+ )
+ dev-libs/boost"
+
+src_prepare() {
+ sed -i -e '/^INSTALL_PROGRAM/s:-s::' Makefile.in || die
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ econf \
+ --prefix="${EPREFIX}"/ \
+ --bindir="${EPREFIX}"/sbin \
+ --with-optimisation='' \
+ $(use_enable test testing)
+}
+
+src_test() {
+ emake unit-test
+}
+
+src_install() {
+ emake DESTDIR="${D}" DATADIR="${ED}/usr/share" install
+ dodoc README.md TODO.org
+}