aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018, 2020, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;;
;;; 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 <http://www.gnu.org/licenses/>.

(define-module (gnu packages hexedit)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
  #:use-module (gnu packages)
  #:use-module (gnu packages autotools)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages man)
  #:use-module (gnu packages ncurses)
  #:use-module (guix download)
  #:use-module (guix git-download)
  #:use-module (guix build-system gnu))

(define-public hexedit
  (package
    (name "hexedit")
    (version "1.6")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url "https://github.com/pixel/hexedit")
                    (commit version)))
              (file-name (git-file-name name version))
              (sha256
               (base32
                "00l8vazbjzdg09azp6w3nzq4rl7qyh06i65dh621r6zaprp0z23w"))))
    (build-system gnu-build-system)
    (arguments
     `(#:tests? #f                      ; no check target
       #:phases
       (modify-phases %standard-phases
         ;; Make F1 open the man page even if man-db is not in the profile.
         (add-after 'unpack 'patch-man-path
           (lambda* (#:key inputs outputs #:allow-other-keys)
             (substitute* "interact.c"
               (("\"man\"")
                (string-append "\"" (assoc-ref inputs "man-db") "/bin/man\""))
               (("\"hexedit\"")
                (string-append "\"" (assoc-ref outputs "out")
                               "/share/man/man1/hexedit.1.gz\""))))))))
    (native-inputs
     (list autoconf automake))
    (inputs
     (list man-db ncurses))
    (synopsis "View and edit files or devices in hexadecimal or ASCII")
    (description "hexedit shows a file both in ASCII and in hexadecimal.  The
file can be a device as the file is read a piece at a time.  You can modify
the file and search through it.")
    (home-page "http://rigaux.org/hexedit.html")
    (license license:gpl2+)))

(define-public ht
  (package
    (name "ht")
    (version "2.1.0")
    (source (origin
              (method url-fetch)
              (uri (string-append
                    "https://sourceforge.net/projects/hte/files/ht-source/"
                    name "-" version ".tar.bz2"))
              (sha256
               (base32
                "0w2xnw3z9ws9qrdpb80q55h6ynhh3aziixcfn45x91bzrbifix9i"))))
    (build-system gnu-build-system)
    (inputs
     (list lzo ncurses))
    (synopsis "Viewer, editor, and analyzer for executable binaries")
    (description
     "ht is a terminal-based program to view, edit, and analyze any file, but
with a special focus on executable binaries.  Its goal is to combine the
low-level functionality of a debugger with the usability of an @dfn{Integrated
Development Environment} (IDE).")
    (home-page "https://hte.sourceforge.net/")
    (license license:gpl2)))

(define-public bvi
  (package
    (name "bvi")
    (version "1.4.2")
    (source (origin
              (method url-fetch)
              (uri (string-append
                    "mirror://sourceforge/bvi/bvi/" version
                    "/bvi-" version ".src.tar.gz"))
              (sha256
               (base32
                "1wllrvs8r8bdm11sx01095j8cj4drjmw0dlkjfdkm5lnnk11dfjb"))))
    (build-system gnu-build-system)
    (arguments '(#:tests? #f))          ; no check target
    (inputs
     (list ncurses))
    (synopsis "Binary file editor")
    (description "@command{bvi} is a display-oriented editor for binary files,
based on the @command{vi} text editor.")
    (home-page "https://bvi.sourceforge.net/")
    (license license:gpl3+)))
'>2023-07-13gnu: Add libc-for-target and glibc/hurd....* gnu/packages/patches/glibc-2.37-hurd-clock_t_centiseconds.patch * gnu/packages/patches/glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch * gnu/packages/patches/glibc-2.37-versioned-locpath.patch: New patches. * gnu/local.mk (dist_patch_DATA): Register them. * gnu/packages/base.scm (glibc/hurd, libc-for-target): New variables. (glibc/hurd-headers): Use glibc/hurd. * gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash)[outputs, source, arguments] (glibc-final)[source]: Use libc-for-target instead of glibc. * gnu/packages/cross-base.scm (cross-libc/deprecated, cross-libc*): Use libc-for-target. This part fixes https://issues.guix.gnu.org/63641#25 * gnu/packages/commencement.scm (%final-inputs): Change to memoized lambda taking "system". * gnu/packages/commencement.scm (canonical-package): Likewise, and update user, passing (%current-system). (make-gcc-toolchain): Update user, passing (%current-system). * gnu/packages/base.scm (%final-inputs): Likewise. * guix/scripts/refresh.scm (options->update-specs): Likewise. * guix/build-system/gnu.scm (standard-packages): Add optional "system" parameter. (lower): Update caller. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Co-authored-by: Janneke Nieuwenhuizen <janneke@gnu.org> Josselin Poiret 2023-06-17gnu: Use target-hurd?, system-hurd? instead of hurd-target?, hurd-system?....* gnu/packages/hurd.scm (hurd-target?): Remove. (hurd-system?): Move to... * guix/utils.scm (system-hurd?): ...here. * gnu/packages/*: Update all users, removing (gnu packages hurd) include where now unused. Janneke Nieuwenhuizen 2023-06-02gnu: gcc-boot0: Do not use 'coreutils-boot0' on GNU/Hurd....Fixes <https://issues.guix.gnu.org/63789>. Reported by Janneke Nieuwenhuizen <janneke@gnu.org>. * gnu/packages/commencement.scm (gcc-boot0)[source]: Use '%bootstrap-coreutils&co' when on GNU/Hurd. Ludovic Courtès 2023-05-29gnu: commencement: m4-boot0: Disable tests for the Hurd too....GNU lib's stack-overflow tests fail. * gnu/packages/commencement.scm (m4-boot0)[arguments]: Set #:tests? to #false for the Hurd. Janneke Nieuwenhuizen 2023-05-07gnu: findutils: Update XFAIL_TESTS for the hurd....This could do with more investigating, but this reflects what I see locally. * gnu/packages/base.scm (findutils)[arguments]: Update XFAIL_TESTS for the hurd. * gnu/packages/commencement.scm (findutils-boot0): Stop clearing the make-flags, so the above change applies to findutils-boot0. Christopher Baines 2023-05-07Revert "gnu: gcc-11: Adapt patching for hurd to not use gexp's."...This reverts commit 08acdd0765b5f4fbfafa699a823ea7985d4d35a7. This change is now unnecessary now that gcc-boot0 uses gexps (a795a02a9d988be5a762886620f7bb6a95e7ffdb). * gnu/packages/gcc.scm (gcc-11)[arguments]: Use gexp for modify-phases. [native-inputs]: Remove. * gnu/packages/commencement.scm (gcc-boot0)[native-inputs]: Remove. Christopher Baines 2023-05-07gnu: Use gexps for gcc-boot0 and related packages....There are currently problems with native or cross building for i586-gnu, and one factor mixed up with this is that some of the gcc packages use sexp's for the phases, and thus introducing gexp's has caused problems. As part of the going in circles with this, this commit switches gcc-boot0 to use gexp's in it's arguments, and then also modifies libstdc++-boot0, libstdc++-boot0-gcc7, cross-gcc-wrapper, gcc-final and make-libstdc++ to handle this change. If done correctly, this change shouldn't affect any derivations. * gnu/packages/commencement.scm (libstdc++-boot0, libstdc++-boot0-gcc7, gcc-boot0, gcc-final)[arguments]: Use gexps. (cross-gcc-wrapper): Use gexps in the generated package. * gnu/packages/gcc.scm (make-libstdc++): Use gexps in the generated package. Christopher Baines 2023-05-05gnu: gcc-11: Fix patch-hurd-libpthread phase....It didn't work when it was introduced in 08acdd0765b5f4fbfafa699a823ea7985d4d35a7. * gnu/packages/gcc.scm (gcc-11)[arguments]: Remove the procedure arguments, and use %build-inputs rather than inputs. * gnu/packages/commencement.scm (gcc-boot0)[native-inputs]: Add hurd-patch, as this package inherits from gcc-11. Christopher Baines 2023-04-10gnu: Add gdc-toolchain-11....* gnu/packages/commencement.scm (gdc-toolchain-11): New variable. Efraim Flashner 2023-03-20Merge remote-tracking branch 'origin/master' into core-updatesAndreas Enge 2023-03-15gnu: coreutils-boot0: Fix building on armhf-linux....* gnu/packages/commencement.scm (coreutils-boot0)[arguments]: When building for armhf-linux include the workaround to force 32-bit time. Rearrange arguments so that the configure-flags for armhf-linux aren't overridden. Efraim Flashner 2023-03-02Merge remote-tracking branch 'savannah/master' into core-updates...Conflicts: gnu/local.mk gnu/packages/autotools.scm gnu/packages/cmake.scm gnu/packages/gnuzilla.scm gnu/packages/haskell.scm gnu/packages/pdf.scm gnu/packages/python-xyz.scm gnu/packages/samba.scm gnu/packages/tex.scm gnu/packages/tls.scm gnu/packages/wxwidgets.scm Christopher Baines 2023-02-28gnu: static-bash-for-glibc: Use gexps....* gnu/packages/commencement.scm (static-bash-for-glibc)[arguments]: Use gexps. Ludovic Courtès 2023-03-04gnu: mig: Remove dependency on Perl....* gnu/packages/hurd.scm (mig)[inputs]: Remove PERL. [arguments]: Remove 'patch-non-shebang-references' phase and add 'avoid-perl-dependency' phase. Ludovic Courtès 2023-02-15gnu: commencement: mes-boot: Update to 0.24.2....This fixes <https://debbugs.gnu.org/41264>. * gnu/packages/commencement.scm (mes-boot): Update to 0.24.2. Jan (janneke) Nieuwenhuizen 2023-02-15gnu: commencement: tcc-boot: Rebuild Mes C Library....* gnu/packages/commencement.scm (tcc-boot)[arguments]: Rebuild the Mes C Library in the "install" phase. Jan (janneke) Nieuwenhuizen 2023-02-15Revert "gnu: commencement: mes-boot: Update to 0.24.2."...This reverts commit b928e38bd333e6186727fe5c5e94b85d157b79d6. The gcc-core-mesboot0 package fails to build with mes-boot-0.24.2, `ar' segfaults $ strace ar rc libiberty.a argv.o execve("/gnu/store/nvb6jh26hfjifs79h7hrlkw3cisgc353-binutils-mesboot0-2.20.1a/bin/ar", ["ar", "rc", "libiberty.a", "argv.o"], 0x7ffc4187fff8 /* 82 vars */) = 0 [ Process PID=22689 runs in 32 bit mode. ] brk(NULL) = 0x830f000 brk(0x830f000) = 0x830f000 stat64("libiberty.a", {st_mode=S_IFREG|0600, st_size=8, ...}) = 0 brk(0x830f0a4) = 0x830f0a4 brk(0x830f0b4) = 0x830f0b4 brk(0x8310098) = 0x8310098 brk(0x83100a4) = 0x83100a4 brk(0x8311088) = 0x8311088 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x63ecebc8} --- +++ killed by SIGSEGV +++ Segmentation fault See also <https://debbugs.gnu.org/41264>. Jan (janneke) Nieuwenhuizen 2023-02-15gnu: commencement: mes-boot: Update to 0.24.2....This fixes <https://debbugs.gnu.org/41264>. * gnu/packages/commencement.scm (mes-boot): Update to 0.24.2. Jan (janneke) Nieuwenhuizen 2023-02-14gnu: %boot6-inputs: Replace xz with xz-final....* gnu/packages/commencement.scm (xz-final): New variable. (%boot6-inputs): Add xz-final. Remove xz. (%final-inputs): Add xz-final. Remove xz from packages 'to finalize'. Efraim Flashner 2023-02-12gnu: coreutils-boot0: Add comment about arm* configure-flags....* gnu/packages/commencement.scm (coreutils-boot0)[arguments]: Add a full comment around the configure-flags used when building for arm architectures. Efraim Flashner 2023-02-05gnu: Rename 'guile-3.0/fixed' to 'guile-3.0/pinned'....* gnu/packages/guile.scm: Rename variable 'guile-3.0/fixed' to 'guile-3.0/pinned', add deprecation. * etc/release-manifest.scm (%packages-to-cross-build): Replace 'guile-3.0/fixed' with 'guile-3.0/pinned'. * gnu/packages/autotools.scm (make-autoconf-wrapper)[inputs]: Likewise. * gnu/packages/commencement.scm (guile-final): Likewise. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Simon Tournier 2023-01-30Merge remote-tracking branch 'origin/master' into core-updates... Conflicts: doc/guix.texi gnu/local.mk gnu/packages/admin.scm gnu/packages/base.scm gnu/packages/chromium.scm gnu/packages/compression.scm gnu/packages/databases.scm gnu/packages/diffoscope.scm gnu/packages/freedesktop.scm gnu/packages/gnome.scm gnu/packages/gnupg.scm gnu/packages/guile.scm gnu/packages/inkscape.scm gnu/packages/llvm.scm gnu/packages/openldap.scm gnu/packages/pciutils.scm gnu/packages/ruby.scm gnu/packages/samba.scm gnu/packages/sqlite.scm gnu/packages/statistics.scm gnu/packages/syndication.scm gnu/packages/tex.scm gnu/packages/tls.scm gnu/packages/version-control.scm gnu/packages/xml.scm guix/build-system/copy.scm guix/scripts/home.scm Efraim Flashner 2022-12-11gnu: coreutils-boot0: Fix building on arm architectures....* gnu/packages/commencement.scm (coreutils-boot0)[arguments]: When building for arm architectures skip building some programs. Efraim Flashner 2022-10-28gnu: diffutils: Skip failing test on GNU/Hurd....* gnu/packages/base.scm (diffutils)[arguments]: Add #:make-flags. * gnu/packages/commencement.scm (diffutils-boot0)[arguments]: Adjust to always use substitute-keyword-arguments. Christopher Baines 2022-10-28gnu: findutils: Skip failing test on GNU/Hurd....* gnu/packages/base.scm (findutils)[arguments]: Add #:make-flags. * gnu/packages/commencement.scm (findutils-boot0)[arguments]: Likewise. Ludovic Courtès 2022-09-08gnu: Switch to GCC 11....* gnu/packages/commencement.scm (gcc-boot0)[source]: Delete offending files from GCC. (libstdc++-boot0)[arguments]: Add #:modules. (libstdc++): Inherit from from GCC-BOOT0 rather than GCC. (gcc-final)[arguments]: Add phase to workaround libstdc++ build system issue. Add #:modules. * gnu/packages/gcc.scm (make-libstdc++): Likewise. Marius Bakke 2022-09-08gnu: grep: Update to 3.8....* gnu/packages/base.scm (grep): Update to 3.8. * gnu/packages/commencement.scm (grep-mesboot)[native-inputs]: Add SED-MESBOOT. * gnu/packages/autotools.scm (libtool)[source](patches): Add patch. * gnu/packages/patches/libtool-grep-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. Marius Bakke 2022-08-11gnu: texinfo: Fix @headings regression....* gnu/packages/patches/texinfo-headings-single.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/texinfo.scm (texinfo)[source](patches): New field. * gnu/packages/commencement.scm (texinfo-boot0)[source]: Use BOOTSTRAP-ORIGIN. Marius Bakke