diff options
5 files changed, 133 insertions, 0 deletions
diff --git a/sys-block/thin-provisioning-tools/Manifest b/sys-block/thin-provisioning-tools/Manifest new file mode 100644 index 00000000..ff041c7e --- /dev/null +++ b/sys-block/thin-provisioning-tools/Manifest @@ -0,0 +1,5 @@ +AUX thin-provisioning-tools-0.7.0-build-fixes.patch 1077 SHA256 863806519182c7c07f79cf299ce7accf85c7132e112f7305bdcf21bde834ae0c SHA512 fbdf778774bca2e608bbab7696b6646c64ee740c40c743f40f28e7e360fc2a6c6c3752992d9d5f7bbb624a9240ba480a6e58a7c5956ba6d2b772ece18502afe7 WHIRLPOOL bfab3309c5218828ea0ab7ce2b4d1e6b6199ec593b6e5fa0e1e96aacafa5b84ce86fd13178db9f5e2d29730bd0feb9b164b74289f3873a51b32fe1c5d64c9c12 +AUX thin-provisioning-tools-0.7.0-page_size.patch 514 SHA256 b8e64c0adb18766e1783755ed353db01e9960d3becf4445d81a56c16c9f02ce3 SHA512 0ec0f58a3951f075d31c81c93457e9f24acdf3d1fbc89ce34c184ff5ae098eb60f7b8e1a1ee20d7d69a30c31a5b00703983e697dabc51820f0429cc6094b773d WHIRLPOOL 6f797ad516bc4188c4625adf96de39116fcec13f7ab2dc97778d90ef989283d10d46081abdbd1011029f917fcd9dc99a2be415c00d8878b34f25b37ecde914c9 +DIST thin-provisioning-tools-0.7.0.tar.gz 230595 SHA256 68a815860fce3f09f64ef241fd4ba45713f4c7be384fe116ec1dbea467684b32 SHA512 cb6c44c7215aadd72292d73e2374d8c0c28566adcb10c7a3de83576dbd28649ebba6e2cc59945a28921e423540969cb21f648c37e375d68f48e56a8be4a4c7b8 WHIRLPOOL 80201034dafd00617951a30369fc617a9c91b4408ec5c5272b4406c8f86caf0ff738938d6ef92d27a9ac96c3110edfa16609f0777c8592e6a100aeb3e02d3837 +EBUILD thin-provisioning-tools-0.7.0.ebuild 1570 SHA256 89ff3d517374076ee667ce5d4c6d1688fc3d5aa4c798828dc8ff8261f6f78e6a SHA512 f38ea84fd448caba6583cd4809abdd7df62e5ca06d38420e5e3ca757bcbf9513b7632e25a2ecddf9a8e618fc647e02bc1c583332b813d5d827a197f81b3bcc53 WHIRLPOOL 1fc4c20ba726e9ebb9427c442a9a1f7bb65e584673dd88c37ca53c7b7075341dcaad32da0a99a20a59ee3716dc51c62def67adf309db0c14a0a5e4d341b9aeaa +MISC metadata.xml 531 SHA256 741541cb8fef9b5c5c778c259addbd8d925c65f48b49b91d9ef66905dab466d5 SHA512 80fde34da9de5b2436c096bc9051ccb55124c330dc82ac538f66a100225623aa7cb0869041179999608cc52613e40ba464b46630cff52423c13d1a374eb98ed0 WHIRLPOOL d8c5a81fdbe8dda224028781da56cd469eb9f153589481ea29d680bc5fcde952096950ff2456230221cd75dbe4233459ef401321936e23d38188869277d3fb7f 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 00000000..df0831f1 --- /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/files/thin-provisioning-tools-0.7.0-page_size.patch b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.7.0-page_size.patch new file mode 100644 index 00000000..5384f6d9 --- /dev/null +++ b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.7.0-page_size.patch @@ -0,0 +1,14 @@ +diff -Naur thin-provisioning-tools-0.7.0.orig/block-cache/io_engine.h thin-provisioning-tools-0.7.0/block-cache/io_engine.h +--- thin-provisioning-tools-0.7.0.orig/block-cache/io_engine.h 2017-03-27 06:00:54.000000000 -0700 ++++ thin-provisioning-tools-0.7.0/block-cache/io_engine.h 2017-08-16 10:21:17.536936717 -0700 +@@ -10,6 +10,10 @@ + #include <libaio.h> + #include <vector> + ++#ifdef PAGE_SIZE ++#undef PAGE_SIZE ++#endif ++ + //---------------------------------------------------------------- + + namespace bcache { diff --git a/sys-block/thin-provisioning-tools/metadata.xml b/sys-block/thin-provisioning-tools/metadata.xml new file mode 100644 index 00000000..24ce9f15 --- /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.7.0.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.7.0.ebuild new file mode 100644 index 00000000..63014734 --- /dev/null +++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.7.0.ebuild @@ -0,0 +1,63 @@ +# 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 + "${FILESDIR}"/${PN}-0.7.0-page_size.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 +} |