;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016, 2017 Nikita ;;; Copyright © 2018–2021, 2023 Tobias Geerinckx-Rice ;;; ;;; 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 mc) #:use-module (gnu packages aspell) #:use-module (gnu packages bash) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages glib) #:use-module (gnu packages linux) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages ssh) #:use-module (gnu packages) #:use-module (guix build-system gnu) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix licenses) #:use-module (guix packages)) (define-public mc (package (name "mc") (version "4.8.30") (source (origin (method url-fetch) (uri (string-append "https://ftp.osuosl.org/pub/midnightcommander/mc-" version ".tar.xz")) (sha256 (base32 "1py7jm620lsas7rcv5j69608gdshmp25d9gx958hr5sb2jr3rg2y")))) (build-system gnu-build-system) (arguments (list #:configure-flags #~(list "--with-screen=ncurses" "--enable-aspell" "--disable-configure-args" ; don't keep superfluous references (string-append "PERL_FOR_BUILD=" ; to build .hlp files #$(this-package-native-input "perl") "/bin/perl") (string-append "PERL=" ; for run-time helpers, mainly VFS #$(this-package-input "perl") "/bin/perl")) #:phases #~(modify-phases %standard-phases (add-after 'patch-source-shebangs 'patch-file-names (lambda* (#:key inputs #:allow-other-keys) ;; The following commands are all invoked at run time. (substitute* (list "lib/utilunix.c" "src/filemanager/ext.c" "src/usermenu.c" "src/vfs/fish/fish.c" ;; This file hard-codes other shells, but they're never ;; tried after mc's first choice (bash) is found. "lib/shell.c") (("/bin/(ba|)sh" file) (search-input-file inputs file))) (substitute* "src/filemanager/ext.c" ;; Look up in $PATH at run time, rather than hard-coding now. (("/bin/(rm)" command) command)) (substitute* "misc/mcedit.menu.in" ;; These are script templates. Don't embed store file names. (("#! /bin/([[:alnum:]]*)" _ file) (string-append "#!/usr/bin/env " file))) ;; The following commands are all invoked at build time. (substitute* "tests/src/vfs/extfs/helpers-list/Makefile.in" (("/bin/sh") (which "sh"))))) (add-before 'check 'fix-tests (lambda _ ;; Don't expect a UID or GID of ‘0’ in the build environment. (with-directory-excursion "tests/src/vfs/extfs/helpers-list/data" (substitute* (list "rpm.custom.output" "rpm.glib.output") ((" 0 0") "<> <>"))) ;; XXX ERROR:mc_realpath.c:99:realpath_test: assertion failed ;; (resolved_path == data->expected_string): ("" == "/usr/bin") (substitute* "tests/lib/mc_realpath.c" (("/usr/bin") "/") (("usr/bin") "/"))))))) (native-inputs (list perl pkg-config)) (inputs (list aspell bash-minimal check glib gpm libssh2 ncurses 2022-09-11daemon: Remove unused function findOutput.Maxime Devos * nix/libstore/misc.cc (findOutput): Remove it. * nix/libstore/misc.hh (findOutput): Likewise. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> 2022-09-11