;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021 Olivier Dion ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages instrumentation) #:use-module (gnu packages boost) #:use-module (gnu packages elf) #:use-module (gnu packages llvm) #:use-module (gnu packages tbb) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system cmake) #:use-module ((guix licenses) #:prefix license:)) (define-public dyninst (package (name "dyninst") ;; Newer versions are not promoted on main home page and require libiberty. (version "10.2.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/dyninst/dyninst/archive/v" version ".tar.gz")) (sha256 (base32 "18bvmvm3l18lpw8fz9yrjkd6fwqvxg0j2xfhvkzx4xr5l73wcxw0")))) (build-system cmake-build-system) (arguments `(#:tests? #f ;; STERILE_BUILD: Do not download/build third-party dependencies from ;; source. #:configure-flags (list "-DSTERILE_BUILD=ON"))) (inputs `(("elfutils" ,elfutils) ("boost" ,boost) ("tbb" ,tbb) ("libomp" ,libomp))) (home-page "https://dyninst.org/") (synopsis "Dynamic instrumentation") (description "Tools for binary instrumentation, analysis, and modification.") (license license:lgpl2.0)))