;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016, 2017 ng0 <ng0@no-reply.pragmatique.xyz>
+;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
+;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages check)
#:use-module (gnu packages perl)
- #:use-module (gnu packages zip))
+ #:use-module (gnu packages compression))
(define-public mc
(package
(name "mc")
- (version "4.8.16")
+ (version "4.8.23")
(source
(origin
(method url-fetch)
(uri (string-append "http://ftp.midnight-commander.org/mc-"
version ".tar.xz"))
(sha256
- (base32
- "083h5gwc0nny9b557way5dsmj71g2bzkiai4bn30y5nkjwqbxg5v"))))
+ (base32 "077z7phzq3m1sxyz7li77lyzv4rjmmh3wp2vy86pnc4387kpqzyx"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("perl" ,perl)))
'("--with-screen=ncurses" "--enable-aspell")
#:phases
(modify-phases %standard-phases
- (add-after 'patch-source-shebangs 'fix-absolutism
+ (add-after 'patch-source-shebangs 'patch-FHS-file-names
(lambda _
- ;; Modify files that contain absolute file names.
+ ;; Patch files to refer to executables in the store or $PATH.
(substitute* "misc/mcedit.menu.in"
(("#! /bin/sh") (string-append "#!" (which "sh")))
(("/bin/bash") (which "bash")))
(substitute* "misc/ext.d/misc.sh.in"
(("/bin/cat") "cat"))
+ (substitute* (list "lib/utilunix.c"
+ "src/usermenu.c"
+ "src/vfs/fish/fish.c"
+ "tests/src/vfs/extfs/helpers-list/Makefile.in")
+ (("/bin/sh") (which "sh")))
+ (substitute* "src/filemanager/ext.c"
+ (("/bin/rm") "rm")
+ (("/bin/sh") (which "sh")))
+
+ ;; There are other /bin/<shell>s hard-coded in this file, but they
+ ;; are never tried after bash (mc's first choice) is found.
+ (substitute* "lib/shell.c"
+ (("/bin/bash") (which "bash")))
+ #t))
+ (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") "<<uid>> <<gid>>")))
+ ;; 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") "/"))
#t)))))
- (home-page "http://www.midnight-commander.org")
+ (home-page "https://www.midnight-commander.org")
(synopsis "Graphical file manager")
(description
"GNU Midnight Commander is a command-line file manager laid out in a