aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/mc.scm
blob: 7bde8a5e78ca08073d112bb4876a672c7b6c3b7f (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
;;; 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 Nikita <nikita@n0.is>
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; 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 mc)
  #:use-module (gnu packages aspell)
  #: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 licenses)
  #:use-module (guix packages))

(define-public mc
  (package
    (name "mc")
    (version "4.8.27")
    (source
     (origin
      (method url-fetch)
      (uri (string-append "https://ftp.osuosl.org/pub/midnightcommander/mc-"
                          version ".tar.xz"))
      (sha256
       (base32 "1x2g5ahgzg951y4ldbsgkv8icni2mgh3p2wsds0j16gsbwi5kgii"))))
    (build-system gnu-build-system)
    (native-inputs (list perl pkg-config))
    (inputs (list aspell
                  check
                  glib
                  gpm
                  libssh2
                  ncurses
                  unzip))
    (arguments
     `(#:configure-flags
       '("--with-screen=ncurses" "--enable-aspell")
       #:phases
       (modify-phases %standard-phases
         (add-after 'patch-source-shebangs 'patch-FHS-file-names
           (lambda _
             ;; 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 "https://www.midnight-commander.org")
    (properties
      `((release-monitoring-url . "https://ftp.osuosl.org/pub/midnightcommander/")))
    (synopsis "Graphical file manager")
    (description
     "GNU Midnight Commander is a command-line file manager laid out in a
common two-pane format.  In addition to standard file management tasks such as
copying and moving, Midnight Commander also supports viewing the contents of
RPM package files and other archives and managing files on other computers via
FTP or FISH.  It also includes a powerful text editor for opening text
files.")
    (license gpl3+)))
c68fc8406501e2b979dcee583b35f98bd03'>gnu: jc: Update to 1.23.3....* gnu/packages/admin.scm (jc): Update to 1.23.3. Tobias Geerinckx-Rice 2023-07-16gnu: stress: Update to 1.0.7....* gnu/packages/admin.scm (stress): Update to 1.0.7. Tobias Geerinckx-Rice 2023-07-10gnu: facter: Update to 4.4.1....* gnu/packages/admin.scm (facter): Update to 4.4.1. [arguments,inputs]: Update style. [home-page]: Update. Christopher Baines 2023-07-02gnu: smartmontools: Update to 7.3....* gnu/packages/admin.scm (smartmontools): Update to 7.3. Tobias Geerinckx-Rice 2023-07-02gnu: di: Use G-expressions....* gnu/packages/admin.scm (di)[arguments]: Rewrite as G-expressions. Rename 'setup-environment phase to 'override-environment. Tobias Geerinckx-Rice 2023-07-02gnu: di: Update to 4.52....* gnu/packages/admin.scm (di): Update to 4.52. Tobias Geerinckx-Rice 2023-07-01gnu: tcpdump: Update to 4.99.4 [fixes CVE-2023-1801]....* gnu/packages/admin.scm (tcpdump): Update to 4.99.4. Signed-off-by: Christopher Baines <mail@cbaines.net> Timotej Lazar 2023-06-24gnu: igt-gpu-tools: Fix build with procps@4....* gnu/packages/patches/igt-gpu-tools-Use-libproc2.patch: New file. * gnu/packages/admin.scm (igt-gpu-tools)[source]: Use it. * gnu/local.mk (dist_patch_DATA): Add it. Tobias Geerinckx-Rice 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-14gnu: shepherd@0.10: Use guile-fibers 1.3.1....* gnu/packages/admin.scm (shepherd-0.10)[native-inputs, inputs]: Replace GUILE-FIBERS-1.1 with GUILE-FIBERS-1.3. Ludovic Courtès 2023-06-12gnu: doctl: Update to 1.94.0....* gnu/packages/admin.scm (doctl): Update to 1.94.0. Signed-off-by: Christopher Baines <mail@cbaines.net> Matthew James Kraai 2023-06-04gnu: tree: Update to 2.1.1....* gnu/packages/admin.scm (tree): Update to 2.1.1. [arguments]: Remove unneeded 'fix-manpage-version phase. Efraim Flashner 2023-06-01gnu: atop: Update to 2.9.0....* gnu/packages/admin.scm (atop): Update to 2.9.0. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> Greg Hogan 2023-05-30gnu: hyfetch: Update to 1.4.8....* gnu/packages/admin.scm (hyfetch): Update to 1.4.8. [arguments]: Disable tests. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Hilton Chain 2023-05-30gnu: shepherd: Update to 0.10.1....Fixes <https://issues.guix.gnu.org/63717>. * gnu/packages/admin.scm (shepherd-0.10): Update to 0.10.1. Ludovic Courtès 2023-05-26gnu: jc: Update to 1.23.2....* gnu/packages/admin.scm (jc): Update to 1.23.2. [build-system]: Change to PYPROJECT-BUILD-SYSTEM. [native-inputs]: Add python-pytest. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Greg Hogan 2023-05-13gnu: shepherd: Fetch code from 'mirror://gnu'....* gnu/packages/admin.scm (shepherd-0.10): Fix URL. Ludovic Courtès 2023-05-13gnu: shepherd: Add 0.10.0....* gnu/packages/admin.scm (shepherd-0.10): New variable. (guile2.2-shepherd): Inherit from SHEPHERD-0.10. Ludovic Courtès 2023-05-06gnu: hostapd: Add ACS and full dynamic vlan support...* gnu/packages/admin.scm (hostapd): ACS (Automatic Channel Selection) will allow hostapd to pick the channel automatically. Full dynamic vlan support enables hostapd to automatically create bridge and VLAN interfaces if necessary (enables vlan_tagged_interface option). Signed-off-by: Ludovic Courtès <ludo@gnu.org> Alexey Abramov 2023-05-05gnu: guile2.0-shepherd: Remove....Version 0.9.x of the Shepherd requires Guile >= 2.2. * gnu/packages/admin.scm (guile2.0-shepherd): Remove. Ludovic Courtès 2023-05-02gnu: ufetch: Update to 0.3....* gnu/packages/admin.scm (ufetch): Update to 0.3. [license]: 'isc' -> 'expat'. Eric Bavier 2023-04-19gnu: python-typing-extensions: Move to (gnu packages python-build)....* gnu/packages/python-xyz.scm (python-typing-extensions): Move to... * gnu/packages/python-build.scm (python-typing-extensions): ... here. Maxim Cournoyer 2023-04-17Merge remote-tracking branch 'origin/master' into core-updatesAndreas Enge 2023-04-14Merge branch 'master' into core-updates....Conflicts: gnu/local.mk gnu/packages/build-tools.scm gnu/packages/certs.scm gnu/packages/check.scm gnu/packages/compression.scm gnu/packages/cups.scm gnu/packages/fontutils.scm gnu/packages/gnuzilla.scm gnu/packages/guile.scm gnu/packages/ibus.scm gnu/packages/image-processing.scm gnu/packages/linux.scm gnu/packages/music.scm gnu/packages/nss.scm gnu/packages/pdf.scm gnu/packages/python-xyz.scm gnu/packages/qt.scm gnu/packages/ruby.scm gnu/packages/shells.scm gnu/packages/tex.scm gnu/packages/video.scm gnu/packages/vulkan.scm gnu/packages/web.scm gnu/packages/webkit.scm gnu/packages/wm.scm Maxim Cournoyer 2023-04-14gnu: ansible: Update to 7.4.0....* gnu/packages/admin.scm (ansible): Update to 7.4.0. Maxim Cournoyer 2023-04-14gnu: ansible-core: Update to 2.14.4....* gnu/packages/admin.scm (ansible-core): Update to 2.14.4. [arguments]: Add skip-controller-tests phase. Update preserve-pythonpath and check phases. Honor parallel-job-count in check phase. Maxim Cournoyer