commit: cdad97b8e0077bde07d9a43f381d2546dab91eed
Author: Denis Reva <denis7774 <AT> gmail <DOT> com>
AuthorDate: Tue Mar 9 03:24:36 2021 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net>
CommitDate: Tue Mar 9 03:24:46 2021 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=cdad97b8
sys-fs/dwarfs: new version 0.4.0
Key features:
* Up to twice as fast and up to 10% better compression
* New dwarfsextract tool
Allow extracting dwarfs images as archives.
* Bugfixes.
Fixed bug with revdep-rebuild.
Package now proper use system libraries.
Package-Manager: Portage-3.0.13, Repoman-3.0.2
Signed-off-by: Denis Reva <denis7774 <AT> gmail.com>
sys-fs/dwarfs/Manifest | 1 +
sys-fs/dwarfs/dwarfs-0.4.0.ebuild | 98 +++++++++++++++++++++++++++++
sys-fs/dwarfs/files/dwarfs-0.4.0-link.patch | 20 ++++++
3 files changed, 119 insertions(+)
diff --git a/sys-fs/dwarfs/Manifest b/sys-fs/dwarfs/Manifest
index 4a31b877..76f32318 100644
--- a/sys-fs/dwarfs/Manifest
+++ b/sys-fs/dwarfs/Manifest
@@ -1,4 +1,5 @@
DIST dwarfs-0.2.4.tar.gz 131125 BLAKE2B
06dd11a90d203882a6b2398d6a3e763a269746a57394444e67913bbb66176305e3d6d606a7f35b4c3692d1d761e90d853b268f876004be1e8274b5b16174dcde
SHA512
2136f1159eaf80afd6f5a1edda65c7a7f2cb147c7b14a5d19981fbd417e8785c2d7f986df3787587b4b5157bfd299159f4015a017d289bb0c9fba77b337ed3b5
DIST dwarfs-0.3.1.tar.bz2 8704811 BLAKE2B
f7f5a2affae5da78d526891017ac66ed16f73919c7b990b558413c028590e3e3efa2f7e8cc70d97cbad2a0332d91458444898611ea86343a5978bcdf2ed1bf3b
SHA512
5776f5da14a5ccbe0e1cf11acec1c9360aa23e2f6751f54a5df200d4625ffc1892658bd4d987ae15fb08ec1f97d7db2a8c42ed80bb6aae062a45e50513e09f51
+DIST dwarfs-0.4.0.tar.bz2 11634383 BLAKE2B
a401e891f5453bd8cccbc664066f759c5ffa60568305b44d57fbcc239d6759ff2e6d5fb1450c7424be14e9eb7ab4f9996dce54a78de6e6e5d8b1cbe2d15dc4eb
SHA512
b815c4bdb1ac61798ead817f27d8fbfaf234d2698d9f72427b7cd55fd334214f595baf286c979fee344b34c7589d5859df8c6e8259473bf13d7461f1f63d90a6
DIST fbthrift-2020.11.30.00.tar.gz 5274706 BLAKE2B
ad13eb7b66f804c7a667746d72298e05726d1f78a49523a10f2712cc4dbea71999590a2c420e8081d32dc24a7d203e11d5c7e5c15f2627594295cd5533096dd9
SHA512
33b4c1a4cfc8783f99d5da8ae113f877e1f23586f5a854833107805fe35834604e677d7abe690cefeb70baed20cb3cc14449cfae35a9af89594974377bbe0329
DIST folly-2020.11.30.00.tar.gz 3261437 BLAKE2B
5070819f1f8bac2030e761a8d2330379e8e5ba242d21330b98dcd598cb18e12046a9ad3fb6462f82dbc47c53cf0905c330e707201bfbbedb81f203ef1b30731e
SHA512
e7e06bd8c8e38af345d20a04886b4497c4f0c9877263dbcb5a3f2d17c7a3252a2529086a5a04d07c2d3a457ca3930c43672fc4f74b7bdbc2ec0d07abdf1ed425
diff --git a/sys-fs/dwarfs/dwarfs-0.4.0.ebuild
b/sys-fs/dwarfs/dwarfs-0.4.0.ebuild
new file mode 100644
index 00000000..2f42f924
--- /dev/null
+++ b/sys-fs/dwarfs/dwarfs-0.4.0.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7,8,9} )
+
+inherit cmake check-reqs python-single-r1
+
+DESCRIPTION="A fast very high compression read-only FUSE file system"
+HOMEPAGE="https://github.com/mhx/dwarfs"
+
+SRC_URI="https://github.com/mhx/dwarfs/releases/download/v${PV}/dwarfs-${PV}.tar.bz2
-> ${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="python +jemalloc"
+
+#test IUSE disabled because there is no googletest in portage tree at this
moment
+#-DWITH_TESTS=$(usex test ON OFF)
+
+PYTHON_REQ_USE="python"
+
+DEPEND="sys-devel/flex
+ sys-devel/binutils:*"
+RDEPEND="dev-libs/boost[context,threads,python?]
+ dev-libs/double-conversion
+ dev-libs/libfmt
+ dev-libs/libevent
+ dev-libs/xxhash
+ jemalloc? ( >=dev-libs/jemalloc-5.2.1 )
+ app-arch/libarchive
+ app-arch/zstd
+ app-arch/lz4
+ app-arch/xz-utils
+ app-arch/snappy
+ dev-cpp/sparsehash
+ dev-cpp/gflags
+ dev-cpp/glog[gflags]
+ sys-fs/fuse:3
+ sys-libs/binutils-libs
+ sys-libs/zlib
+ sys-libs/libunwind
+ !dev-cpp/folly"
+BDEPEND="app-text/ronn
+ dev-util/cmake
+ sys-apps/sed
+ sys-devel/bison
+ virtual/pkgconfig"
+
+CHECKREQS_DISK_BUILD="1.2G"
+
+PATCHES=( ${FILESDIR}/dwarfs-0.4.0-link.patch )
+
+DOCS=( "README.md" "CHANGES.md" "TODO" )
+
+CMAKE_IN_SOURCE_BUILD=1
+CMAKE_WARN_UNUSED_CLI=0
+
+src_prepare(){
+ cmake_src_prepare
+ einfo "setting library path to $(get_libdir)"
+ sed "s/DESTINATION lib/DESTINATION $(get_libdir)/" -i CMakeLists.txt ||
die
+}
+
+src_configure(){
+ einfo "setting configuration flags to:"
+ mycmakeargs=(
+ -DUSE_JEMALLOC=$(usex jemalloc ON OFF)
+ -DWITH_PYTHON=$(usex python ON OFF)
+ -DPREFER_SYSTEM_ZSTD=1
+ -DPREFER_SYSTEM_XXHASH=1
+ -DWITH_LEGACY_FUSE=0
+ )
+ if use python; then mycmakeargs+=(
-DWITH_PYTHON_VERSION=${EPYTHON#python} ); fi
+ einfo ${mycmakeargs}
+ cmake_src_configure
+}
+
+src_install(){
+ cmake_src_install
+ dolib.so libmetadata_thrift.so libthrift_light.so
+ dolib.so folly/libfolly.so.0.58.0-dev folly/libfolly.so
+}
+
+pkg_postinst(){
+ elog "Test shows that dwarfs compiled with Clang is substantially
faster than GCC ones"
+ elog "See https://github.com/mhx/dwarfs/issues/14"
+ elog "So you may want to compile it independently with Clang by the"
+ elog "https://wiki.gentoo.org/wiki/Clang"
+ elog "And with the per-package settings:"
+ elog
"https://wiki.gentoo.org/wiki/Handbook:AMD64/Portage/Advanced#Per-package_environment_variables"
+ elog "Also you may find more information in the"
+ elog "${HOMEPAGE}"
+ elog "About creating: ${HOMEPAGE}/blob/main/doc/mkdwarfs.md"
+ elog "About mounting: ${HOMEPAGE}/blob/main/doc/dwarfs.md"
+}
diff --git a/sys-fs/dwarfs/files/dwarfs-0.4.0-link.patch
b/sys-fs/dwarfs/files/dwarfs-0.4.0-link.patch
new file mode 100644
index 00000000..93c4b4f2
--- /dev/null
+++ b/sys-fs/dwarfs/files/dwarfs-0.4.0-link.patch
@@ -0,0 +1,20 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 18fa5cd..36fc0b3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -258,8 +258,6 @@ add_executable(dwarfsextract src/dwarfsextract.cpp)
+
+ list(APPEND BINARY_TARGETS mkdwarfs dwarfsck dwarfsbench dwarfsextract)
+
+-target_link_libraries(dwarfsextract PkgConfig::LIBARCHIVE)
+-
+ if(FUSE3_FOUND)
+ add_executable(dwarfs-bin src/dwarfs.cpp)
+ target_compile_definitions(dwarfs-bin PRIVATE _FILE_OFFSET_BITS=64
+@@ -482,6 +480,7 @@ target_link_libraries(
+ thrift_light
+ folly
+ ${Boost_LIBRARIES}
++ PkgConfig::LIBARCHIVE
+ PkgConfig::LIBLZ4
+ PkgConfig::LIBLZMA)