mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-20 20:43:09 -04:00
sys-fs/dwarfs: unbundling WIP
doesn't build but it's a start hope I didn't mess up while rebasing Package-Manager: Portage-3.0.18, Repoman-3.0.3 Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
106
sys-fs/dwarfs/dwarfs-0.5.4-r3.ebuild
Normal file
106
sys-fs/dwarfs/dwarfs-0.5.4-r3.ebuild
Normal file
@@ -0,0 +1,106 @@
|
||||
# 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 check-reqs cmake flag-o-matic 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}/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
|
||||
IUSE="python +jemalloc test"
|
||||
RESTRICT="!test? ( test )"
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
PATCHES=( "${WORKDIR}/unbundle-folly-fbthrift.patch" )
|
||||
|
||||
RDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
app-arch/libarchive
|
||||
app-arch/lz4
|
||||
app-arch/snappy
|
||||
app-arch/xz-utils
|
||||
app-arch/zstd
|
||||
dev-cpp/fbthrift:=
|
||||
dev-cpp/folly:=
|
||||
dev-cpp/gflags
|
||||
dev-cpp/glog[gflags]
|
||||
dev-cpp/sparsehash
|
||||
dev-libs/boost[context,threads,python?]
|
||||
dev-libs/double-conversion
|
||||
dev-libs/libevent
|
||||
dev-libs/libfmt
|
||||
dev-libs/xxhash
|
||||
sys-fs/fuse:3
|
||||
sys-libs/binutils-libs
|
||||
sys-libs/libunwind
|
||||
sys-libs/zlib
|
||||
|
||||
jemalloc? ( >=dev-libs/jemalloc-5.2.1 )
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
sys-devel/flex
|
||||
"
|
||||
BDEPEND="
|
||||
app-text/ronn
|
||||
sys-devel/bison
|
||||
virtual/pkgconfig
|
||||
|
||||
test? ( dev-cpp/gtest )
|
||||
"
|
||||
>>>>>>> f29f4045 (sys-fs/dwarfs: unbundling WIP):sys-fs/dwarfs/dwarfs-0.5.4-r1.ebuild
|
||||
|
||||
CHECKREQS_DISK_BUILD="1300M"
|
||||
|
||||
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(){
|
||||
append-cxxflag "-I/usr/include/folly"
|
||||
|
||||
einfo "setting configuration flags to:"
|
||||
mycmakeargs=(
|
||||
-DUSE_JEMALLOC=$(usex jemalloc ON OFF)
|
||||
-DWITH_PYTHON=$(usex python ON OFF)
|
||||
-DWITH_TESTS=$(usex test ON OFF)
|
||||
-DPREFER_SYSTEM_ZSTD=1
|
||||
-DPREFER_SYSTEM_XXHASH=1
|
||||
-DPREFER_SYSTEM_GTEST=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
|
||||
#TODO: unbundle libfsst
|
||||
dolib.so libdwarfs.so libfsst.so
|
||||
}
|
||||
|
||||
pkg_postinst(){
|
||||
elog "Suggest to enable USE 'threads' globally if you have multicore machine"
|
||||
elog "Since version 0.4.1 GGC builds has been fixed. Now both Clang and GCC are working very well"
|
||||
elog "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"
|
||||
}
|
||||
153
sys-fs/dwarfs/files/unbundle-folly-fbthrift.patch
Normal file
153
sys-fs/dwarfs/files/unbundle-folly-fbthrift.patch
Normal file
@@ -0,0 +1,153 @@
|
||||
--- CMakeLists.txt 2021-04-28 16:56:24.432666631 +0200
|
||||
+++ CMakeLists.txt2 2021-04-28 17:00:04.622812742 +0200
|
||||
@@ -298,7 +298,7 @@
|
||||
if(WITH_TESTS OR WITH_BENCHMARKS)
|
||||
add_library(test_helpers test/test_helpers.cpp test/test_strings.cpp
|
||||
test/loremipsum.cpp)
|
||||
- target_link_libraries(test_helpers dwarfs folly)
|
||||
+ target_link_libraries(test_helpers dwarfs)
|
||||
set_property(TARGET test_helpers PROPERTY CXX_STANDARD 17)
|
||||
endif()
|
||||
|
||||
@@ -364,70 +364,7 @@
|
||||
|
||||
list(
|
||||
APPEND
|
||||
- FROZEN_THRIFT_SRC
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/lib/thrift/gen-cpp2/frozen_data.h
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/lib/thrift/gen-cpp2/frozen_data.cpp
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/lib/thrift/gen-cpp2/frozen_types.h
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/lib/thrift/gen-cpp2/frozen_types.tcc
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/lib/thrift/gen-cpp2/frozen_types.cpp
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/lib/thrift/gen-cpp2/frozen_types_custom_protocol.h
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/lib/thrift/gen-cpp2/frozen_constants.h
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/lib/thrift/gen-cpp2/frozen_constants.cpp
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/lib/thrift/gen-cpp2/frozen_metadata.h
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/lib/thrift/gen-cpp2/frozen_metadata.cpp
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/lib/thrift/gen-cpp2/frozen_visitation.h
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/lib/thrift/gen-cpp2/frozen_for_each_field.h
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/lib/thrift/gen-cpp2/frozen_visit_union.h)
|
||||
-
|
||||
-list(
|
||||
- APPEND
|
||||
- METADATA_THRIFT_SRC
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/dwarfs/gen-cpp2/metadata_constants.cpp
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/dwarfs/gen-cpp2/metadata_constants.h
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/dwarfs/gen-cpp2/metadata_data.cpp
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/dwarfs/gen-cpp2/metadata_data.h
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/dwarfs/gen-cpp2/metadata_for_each_field.h
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/dwarfs/gen-cpp2/metadata_layouts.cpp
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/dwarfs/gen-cpp2/metadata_layouts.h
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/dwarfs/gen-cpp2/metadata_metadata.cpp
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/dwarfs/gen-cpp2/metadata_metadata.h
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/dwarfs/gen-cpp2/metadata_types.cpp
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/dwarfs/gen-cpp2/metadata_types.h
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/dwarfs/gen-cpp2/metadata_types.tcc
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/dwarfs/gen-cpp2/metadata_types_custom_protocol.h
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/dwarfs/gen-cpp2/metadata_visit_union.h
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/dwarfs/gen-cpp2/metadata_visitation.h)
|
||||
-
|
||||
-add_custom_command(
|
||||
- OUTPUT ${FROZEN_THRIFT_SRC}
|
||||
- COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/thrift/lib/thrift
|
||||
- COMMAND
|
||||
- cp ${CMAKE_CURRENT_SOURCE_DIR}/fbthrift/thrift/lib/thrift/frozen.thrift
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/lib/thrift/
|
||||
- COMMAND cd ${CMAKE_CURRENT_BINARY_DIR}/thrift/lib/thrift &&
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/bin/thrift1 --gen mstch_cpp2 frozen.thrift
|
||||
- DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/bin/thrift1
|
||||
- ${CMAKE_CURRENT_SOURCE_DIR}/fbthrift/thrift/lib/thrift/frozen.thrift)
|
||||
-
|
||||
-add_custom_command(
|
||||
- OUTPUT ${METADATA_THRIFT_SRC}
|
||||
- COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/thrift/dwarfs
|
||||
- COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/thrift/metadata.thrift
|
||||
- thrift/dwarfs/metadata.thrift
|
||||
- COMMAND
|
||||
- cd ${CMAKE_CURRENT_BINARY_DIR}/thrift/dwarfs &&
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/bin/thrift1 --gen mstch_cpp2:frozen2
|
||||
- metadata.thrift
|
||||
- DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/bin/thrift1
|
||||
- ${CMAKE_CURRENT_SOURCE_DIR}/thrift/metadata.thrift)
|
||||
-
|
||||
-list(
|
||||
- APPEND
|
||||
INCLUDE_DIRS
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/folly
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift
|
||||
- ${CMAKE_CURRENT_SOURCE_DIR}/folly
|
||||
- ${CMAKE_CURRENT_SOURCE_DIR}/fbthrift
|
||||
${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
if(NOT (ZSTD_FOUND AND PREFER_SYSTEM_ZSTD))
|
||||
@@ -445,39 +382,6 @@
|
||||
list(APPEND INCLUDE_DIRS ${Jemalloc_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
-add_library(
|
||||
- thrift_light
|
||||
- ${CMAKE_CURRENT_SOURCE_DIR}/fbthrift/thrift/lib/cpp2/FieldRef.cpp
|
||||
- ${CMAKE_CURRENT_SOURCE_DIR}/fbthrift/thrift/lib/cpp2/protocol/CompactProtocol.cpp
|
||||
- ${CMAKE_CURRENT_SOURCE_DIR}/fbthrift/thrift/lib/cpp2/protocol/BinaryProtocol.cpp
|
||||
- ${CMAKE_CURRENT_SOURCE_DIR}/fbthrift/thrift/lib/cpp2/protocol/DebugProtocol.cpp
|
||||
- ${CMAKE_CURRENT_SOURCE_DIR}/fbthrift/thrift/lib/cpp2/protocol/JSONProtocolCommon.cpp
|
||||
- ${CMAKE_CURRENT_SOURCE_DIR}/fbthrift/thrift/lib/cpp2/protocol/JSONProtocol.cpp
|
||||
- ${CMAKE_CURRENT_SOURCE_DIR}/fbthrift/thrift/lib/cpp/protocol/TProtocolException.cpp
|
||||
- ${CMAKE_CURRENT_SOURCE_DIR}/fbthrift/thrift/lib/cpp/util/VarintUtils.cpp
|
||||
- ${CMAKE_CURRENT_SOURCE_DIR}/fbthrift/thrift/lib/cpp2/gen/module_types_cpp.cpp
|
||||
- ${CMAKE_CURRENT_SOURCE_DIR}/fbthrift/thrift/lib/cpp2/frozen/Frozen.cpp
|
||||
- ${CMAKE_CURRENT_SOURCE_DIR}/fbthrift/thrift/lib/cpp2/frozen/FrozenUtil.cpp
|
||||
- ${CMAKE_CURRENT_SOURCE_DIR}/fbthrift/thrift/lib/cpp2/frozen/schema/MemorySchema.cpp
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/lib/thrift/gen-cpp2/frozen_data.cpp
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/lib/thrift/gen-cpp2/frozen_types.cpp)
|
||||
-
|
||||
-set_property(TARGET thrift_light PROPERTY CXX_STANDARD 17)
|
||||
-
|
||||
-target_include_directories(thrift_light PRIVATE ${INCLUDE_DIRS})
|
||||
-
|
||||
-add_library(
|
||||
- metadata_thrift
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/dwarfs/gen-cpp2/metadata_layouts.cpp
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/dwarfs/gen-cpp2/metadata_types.cpp
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/thrift/dwarfs/gen-cpp2/metadata_data.cpp)
|
||||
-
|
||||
-set_property(TARGET metadata_thrift PROPERTY CXX_STANDARD 17)
|
||||
-
|
||||
-target_include_directories(metadata_thrift PRIVATE ${INCLUDE_DIRS})
|
||||
-
|
||||
-add_dependencies(metadata_thrift thrift_light)
|
||||
-
|
||||
foreach(tgt dwarfs ${BINARY_TARGETS})
|
||||
target_include_directories(
|
||||
${tgt} SYSTEM
|
||||
@@ -501,8 +405,6 @@
|
||||
set_property(TARGET ${tgt} PROPERTY CXX_STANDARD_REQUIRED ON)
|
||||
set_property(TARGET ${tgt} PROPERTY CXX_EXTENSIONS OFF)
|
||||
|
||||
- add_dependencies(${tgt} metadata_thrift)
|
||||
-
|
||||
if(ENABLE_ASAN)
|
||||
target_compile_options(${tgt} PRIVATE -fsanitize=address
|
||||
-fno-omit-frame-pointer)
|
||||
@@ -550,9 +452,6 @@
|
||||
|
||||
target_link_libraries(
|
||||
dwarfs
|
||||
- metadata_thrift
|
||||
- thrift_light
|
||||
- folly
|
||||
fsst
|
||||
${Boost_LIBRARIES}
|
||||
PkgConfig::LIBARCHIVE
|
||||
@@ -582,11 +481,6 @@
|
||||
if(USE_JEMALLOC)
|
||||
target_link_libraries(${tgt} ${Jemalloc_LIBRARIES})
|
||||
endif()
|
||||
- if(TARGET folly_exception_tracer)
|
||||
- target_link_libraries(
|
||||
- ${tgt} -Wl,--whole-archive folly_exception_tracer_base
|
||||
- folly_exception_tracer -Wl,--no-whole-archive)
|
||||
- endif()
|
||||
endforeach()
|
||||
|
||||
if(STATIC_BUILD_DO_NOT_USE)
|
||||
Reference in New Issue
Block a user