diff --git a/dev-libs/qbdi/Manifest b/dev-libs/qbdi/Manifest deleted file mode 100644 index aaaaf87c9..000000000 --- a/dev-libs/qbdi/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -DIST llvm-7.0.0.src.tar.xz 28324368 BLAKE2B 10168ff9be8f68536db3b2263c85c1c98213ef03dc542b83628ff176542452582bc496bab236fdf40d4a6463a33f04b27f1458c072ad8b66b641f8df8d494046 SHA512 bdc9b851c158b17e1bbeb7ac5ae49821bfb1251a3826fe8a3932cd1a43f9fb0d620c3de67150c1d9297bf0b86fa917e75978da29c3f751b277866dc90395abec -DIST qbdi-0.7.1.tar.gz 350779 BLAKE2B 409b7813ca2fae58d89abba2529b0aa0d628525feaa272047e3f3c2d4009fa37268b5430c74edbe545effd51a662b5df9af7fd483f9dc5376b417bc378d584b0 SHA512 43bbc9ab15126ea2a5b6ae3964befdf0cc0d1c3545c8c0224aabaa107f5874fa45b2bd8f8b130899aa0edd87eb77f77c001d85a0a064d03ed0a86eb30fc101bb diff --git a/dev-libs/qbdi/files/qbdi-0.7.0_fix_configs_validation_runner.patch b/dev-libs/qbdi/files/qbdi-0.7.0_fix_configs_validation_runner.patch deleted file mode 100644 index 66a14b860..000000000 --- a/dev-libs/qbdi/files/qbdi-0.7.0_fix_configs_validation_runner.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -ur a/tools/validation_runner/buildbot.cfg b/tools/validation_runner/buildbot.cfg ---- a/tools/validation_runner/buildbot.cfg 2019-09-10 14:05:06.000000000 +0300 -+++ b/tools/validation_runner/buildbot.cfg 2019-10-21 11:25:25.317577537 +0300 -@@ -1,5 +1,5 @@ - threads: 1 --validator_path: /home/buildbot/buildbot_slave/qbdi-linux-X86_64/build/QBDI/build/tools/validator/libvalidator2.so -+validator_path: /usr/lib64/libvalidator.so - database: validation.db - tests: - # Filesystem -diff -ur a/tools/validation_runner/coverage.cfg b/tools/validation_runner/coverage.cfg ---- a/tools/validation_runner/coverage.cfg 2019-09-10 14:05:06.000000000 +0300 -+++ b/tools/validation_runner/coverage.cfg 2019-10-21 11:25:39.045546901 +0300 -@@ -1,5 +1,5 @@ - threads: 4 --validator_path: ../../build/tools/validator/libvalidator.so -+validator_path: /usr/lib64/libvalidator.so - database: test.db - tests: - # Filesystem -diff -ur a/tools/validation_runner/ValidationRunner.py b/tools/validation_runner/ValidationRunner.py ---- a/tools/validation_runner/ValidationRunner.py 2019-09-10 14:05:06.000000000 +0300 -+++ b/tools/validation_runner/ValidationRunner.py 2019-10-21 11:33:52.025339764 +0300 -@@ -1,3 +1,4 @@ -+#!/usr/bin/python - # - # This file is part of QBDI. - # diff --git a/dev-libs/qbdi/files/qbdi-0.7.1_update_CMakeLists.patch b/dev-libs/qbdi/files/qbdi-0.7.1_update_CMakeLists.patch deleted file mode 100644 index dc76aca24..000000000 --- a/dev-libs/qbdi/files/qbdi-0.7.1_update_CMakeLists.patch +++ /dev/null @@ -1,130 +0,0 @@ -diff -ur a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt 2020-02-27 12:37:28.000000000 +0300 -+++ b/CMakeLists.txt 2020-02-28 12:06:32.895768009 +0300 -@@ -110,16 +110,8 @@ - - configure_file(include/QBDI/Version.h.in "${CMAKE_SOURCE_DIR}/include/QBDI/Version.h" @ONLY) - --# Add dependency build targets -- --add_subdirectory(deps) -- - if(${DEPENDENCY_SATISFIED}) - --# Add includes -- --set(LLVM_LIBS_DIR deps/llvm/${PLATFORM}/lib) -- - # Resolve LLVM options - - if((${PLATFORM} STREQUAL "linux-X86_64") OR -@@ -265,7 +257,7 @@ - enable_language(ASM_MASM) - set(ASM_EXT "asm") - else() -- set(CMAKE_ASM-ATT_COMPILER ${AS_BINARY}) -+ set(CMAKE_ASM_COMPILER ${AS_BINARY}) - enable_language(ASM-ATT) - set(ASM_EXT "s") - if(${OS} STREQUAL "iOS") -@@ -289,7 +281,7 @@ - if(${OS} STREQUAL "win") - PREPEND(LLVM_STATIC_LIBS ${CMAKE_SOURCE_DIR}/${LLVM_LIBS_DIR}/ ${_LLVM_STATIC_LIBS}) - else() -- PREPEND(LLVM_STATIC_LIBS ${CMAKE_SOURCE_DIR}/${LLVM_LIBS_DIR}/lib ${_LLVM_STATIC_LIBS}) -+ PREPEND(LLVM_STATIC_LIBS ${LLVM_STATIC_LIBS_DIR}/lib ${_LLVM_STATIC_LIBS}) - endif() - - # Final QBDI static library is a merge of static libraries -@@ -298,8 +290,10 @@ - target_include_directories(QBDI_obj PRIVATE - "${CMAKE_CURRENT_SOURCE_DIR}/include/QBDI" - "${CMAKE_CURRENT_SOURCE_DIR}/src" -- "${CMAKE_CURRENT_SOURCE_DIR}/deps/llvm/${PLATFORM}/include" -- "${CMAKE_CURRENT_SOURCE_DIR}/deps/llvm/${PLATFORM}/lib/Target/${LLVM_ARCH}" -+ "${LLVM_BASE_DIR}/include" -+ "${LLVM_BASE_DIR}/lib/Target/${LLVM_ARCH}" -+ "${LLVM_BASE_DIR}_build/include" -+ "${LLVM_BASE_DIR}_build/lib/Target/${LLVM_ARCH}" - ) - - # Hack because generators expressions don't work properly under visual studio ... -@@ -368,17 +362,17 @@ - set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "QBDI") - install(TARGETS QBDI_static - EXPORT QBDI_targets -- ARCHIVE DESTINATION lib) -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) - - install(TARGETS QBDI - EXPORT QBDI_targets -- LIBRARY DESTINATION lib -- ARCHIVE DESTINATION lib -- RUNTIME DESTINATION lib) -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}) - - if(${OS} STREQUAL "win") - install(FILES ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}/QBDI.exp -- DESTINATION lib) -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}) - endif() - - install(DIRECTORY include/QBDI DESTINATION include/ -@@ -390,7 +384,7 @@ - if(FULL_PACKAGE) - string(REPLACE ";" " " LLVM_LIBS_STR "${LLVM_LIBS}") - configure_file(package/qbdi.pc.in package/qbdi.pc @ONLY) -- install(FILES ${CMAKE_BINARY_DIR}/package/qbdi.pc DESTINATION lib/pkgconfig/) -+ install(FILES ${CMAKE_BINARY_DIR}/package/qbdi.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig/) - - set(RESOURCES_PREFIX ${CMAKE_INSTALL_PREFIX}/share/qbdi) - -diff -ur a/tools/pyqbdi/CMakeLists.txt b/tools/pyqbdi/CMakeLists.txt ---- a/tools/pyqbdi/CMakeLists.txt 2020-02-27 12:37:28.000000000 +0300 -+++ b/tools/pyqbdi/CMakeLists.txt 2020-02-28 12:46:55.286065704 +0300 -@@ -38,15 +38,6 @@ - message(FATAL_ERROR "PyQBDI with Python ${PYTHON_BIT} is not compatible with the architecture ${ARCH}") - endif() - -- ExternalProject_Add(pyqbdi_pybind11 -- URL "https://github.com/pybind/pybind11/archive/v2.4.3.zip" -- URL_HASH SHA256=f1cc1e9c2836f9873aefdaf76a3280a55aae51068c759b27499a9cf34090d364 -- CONFIGURE_COMMAND "" -- BUILD_COMMAND "" -- INSTALL_COMMAND "") -- ExternalProject_get_property(pyqbdi_pybind11 SOURCE_DIR) -- set(PYBIND11_SOURCE_DIR "${SOURCE_DIR}") -- - add_library(pyqbdi_utils INTERFACE) - add_dependencies(pyqbdi_utils pyqbdi_pybind11) - -diff -ur a/tools/QBDIPreload/CMakeLists.txt b/tools/QBDIPreload/CMakeLists.txt ---- a/tools/QBDIPreload/CMakeLists.txt 2020-02-27 12:37:28.000000000 +0300 -+++ b/tools/QBDIPreload/CMakeLists.txt 2020-02-28 12:08:53.327740532 +0300 -@@ -20,7 +20,7 @@ - - install(TARGETS QBDIPreload - EXPORT QBDIPreload_targets -- ARCHIVE DESTINATION lib) -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) - - install(FILES include/QBDIPreload.h DESTINATION include/) - -diff -ur a/tools/validator/CMakeLists.txt b/tools/validator/CMakeLists.txt ---- a/tools/validator/CMakeLists.txt 2020-02-27 12:37:28.000000000 +0300 -+++ b/tools/validator/CMakeLists.txt 2020-02-28 12:09:59.559088285 +0300 -@@ -23,3 +23,12 @@ - $ - ) - target_link_libraries(validator QBDIPreload QBDI_static) -+ -+install(TARGETS validator -+ EXPORT validator_targets -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ -+install(EXPORT validator_targets -+ FILE QBDIPreloadConfig.cmake -+ NAMESPACE QBDIPreload:: -+ DESTINATION ${PRELOAD_RESOURCES_PREFIX}/cmake) diff --git a/dev-libs/qbdi/metadata.xml b/dev-libs/qbdi/metadata.xml deleted file mode 100644 index ac65f7ca8..000000000 --- a/dev-libs/qbdi/metadata.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - email@linxon.ru - Yury Martynov - - - Enable advanced tools - - diff --git a/dev-libs/qbdi/qbdi-0.7.1.ebuild b/dev-libs/qbdi/qbdi-0.7.1.ebuild deleted file mode 100644 index ef69d771d..000000000 --- a/dev-libs/qbdi/qbdi-0.7.1.ebuild +++ /dev/null @@ -1,179 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -CMAKE_BUILD_TYPE="Release" -PYTHON_COMPAT=( python3_{10..11} ) -PYTHON_REQ_USE="sqlite" - -# NOTE: local built of LLVM is required because QBDI uses private APIs -# not exported by gentoo regular LLVM installations -LLVM_PV="7.0.0" -LLVM_P="llvm-${LLVM_PV}.src" -LLVM_TARGET="X86" # FIXME: only amd64 and x86 support in the current moment -LLVM_S="${WORKDIR}/${LLVM_P}" - -inherit cmake eutils python-single-r1 - -DESCRIPTION="A Dynamic Binary Instrumentation framework based on LLVM" -HOMEPAGE="https://qbdi.quarkslab.com/" - -SRC_URI="https://github.com/QBDI/QBDI/archive/v${PV}.tar.gz -> ${P}.tar.gz - https://llvm.org/releases/${LLVM_PV}/${LLVM_P}.tar.xz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" # TODO: add ~arm support -IUSE="cpu_flags_x86_avx debug doc +tools" - -BDEPEND=" - virtual/pkgconfig - doc? ( app-doc/doxygen )" - -RDEPEND=" - sys-libs/zlib:0= - tools? ( - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/pybind11[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - ') - )" -DEPEND="${RDEPEND}" - -PATCHES=( - "${FILESDIR}/${P}_update_CMakeLists.patch" - "${FILESDIR}/qbdi-0.7.0_fix_configs_validation_runner.patch" -) - -S="${WORKDIR}/QBDI-${PV}" - -_get_platform() { - use amd64 && echo 'linux-X86_64' - use x86 && echo 'linux-X86' - #use arm && echo OwO -} - -pkg_setup() { - python-single-r1_pkg_setup -} - -src_prepare() { - python_fix_shebang "${S}" - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( ) - - # llvm minimal configuration - mycmakeargs=( - -DBUILD_SHARED_LIBS="FALSE" - -DLLVM_DEFAULT_TARGET_TRIPLE="${CHOST}" - -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGET}" - -DLLVM_BUILD_TOOLS="FALSE" - -DLLVM_BUILD_UTILS="FALSE" - -DLLVM_BUILD_TESTS="FALSE" - -DLLVM_BUILD_EXAMPLES="FALSE" - -DLLVM_INCLUDE_TOOLS="FALSE" - -DLLVM_INCLUDE_UTILS="FALSE" - -DLLVM_INCLUDE_TESTS="FALSE" - -DLLVM_INCLUDE_EXAMPLES="FALSE" - -DLLVM_BUILD_32_BITS=$(usex x86) - -DCMAKE_C_FLAGS="${CFLAGS} -fvisibility=hidden" - -DCMAKE_CXX_FLAGS="${CXXFLAGS} -fvisibility=hidden" - ) - - CMAKE_USE_DIR="${LLVM_S}" - BUILD_DIR="${LLVM_S}_build" - cmake_src_configure - - # qbdi config - mycmakeargs=( - -DPLATFORM="$(_get_platform)" - -DAS_BINARY="$(tc-getAS)" - -DLLVM_BASE_DIR="${LLVM_S}" - -DLLVM_STATIC_LIBS_DIR="${LLVM_S}_build/lib" - -DCMAKE_CROSSCOMPILING="FALSE" - -DTEST_QBDI="FALSE" # TODO: add tests support - -DEXAMPLES="FALSE" # FIXME: i can't install examples because ld is falling - -DLOG_DEBUG=$(usex debug) - -DFULL_PACKAGE=$(usex tools) - -DTOOLS_QBDIPRELOAD=$(usex tools) - -DTOOLS_VALIDATOR=$(usex tools) - -DTOOLS_FRIDAQBDI=$(usex tools) - -DTOOLS_PYQBDI=$(usex tools) - -DDEPENDENCY_SATISFIED="TRUE" # it's ok. Don't remove it - ) - - use cpu_flags_x86_avx || mycmakeargs+=( -DFORCE_DISABLE_AVX="TRUE" ) - - CMAKE_USE_DIR="${S}" - BUILD_DIR="${S}_build" - cmake_src_configure -} - -src_compile() { - local llvm_targets=( - "LLVMSelectionDAG" - "LLVMAsmPrinter" - "LLVMBinaryFormat" - "LLVMCodeGen" - "LLVMScalarOpts" - "LLVMProfileData" - "LLVMInstCombine" - "LLVMTransformUtils" - "LLVMAnalysis" - "LLVMTarget" - "LLVMObject" - "LLVMMCParser" - "LLVMBitReader" - "LLVMMCDisassembler" - "LLVMMC" - "LLVMCore" - "LLVMSupport" - "LLVMDemangle" - "LLVM${LLVM_TARGET}Utils" - "LLVM${LLVM_TARGET}Info" - "LLVM${LLVM_TARGET}Disassembler" - "LLVM${LLVM_TARGET}Desc" - "LLVM${LLVM_TARGET}CodeGen" - "LLVM${LLVM_TARGET}AsmPrinter" - "LLVM${LLVM_TARGET}AsmParser" - ) - - for l in ${llvm_targets[@]}; do - cmake_build -C "${LLVM_S}_build" $l - done - - cmake_src_compile -} - -src_install() { - cmake_src_install - - if use tools; then - insinto "/usr/share/${PN}" - doins -r tools/validation_runner - python_optimize "${D}"/usr/share/${PN} - - make_wrapper ValidationRunner \ - "${EPYTHON} /usr/share/${PN}/validation_runner/ValidationRunner.py" - fi - - if use doc; then - dodoc -r docker/* package/* examples # FIXME: install examples as docs instead building - cmake_build docs-doxygen - for d in c cpp tools; do - pushd "docs/doxygen_${d}" >/dev/null || die - mv -v html ${PN}_${d} && dodoc -r ${PN}_${d} || die 'failed to install' - popd >/dev/null || die - done - fi -} - -pkg_postinst() { - use doc && einfo "\nDocumentation and examples has been installed into /usr/share/doc/${P}/* directory\n" - einfo "See more: https://qbdi.readthedocs.io/en/stable/\n" -}