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)