projects/guix·blob python-team · refs

140 lines · 5.6 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2014 Eric Bavier <[email protected]>
3;;; Copyright © 2016 Efraim Flashner <[email protected]>
4;;; Copyright © 2016, 2017 Nikita <[email protected]>
5;;; Copyright © 2018–2021, 2023 Tobias Geerinckx-Rice <[email protected]>
6;;;
7;;; This file is part of GNU Guix.
8;;;
9;;; GNU Guix is free software; you can redistribute it and/or modify it
10;;; under the terms of the GNU General Public License as published by
11;;; the Free Software Foundation; either version 3 of the License, or (at
12;;; your option) any later version.
13;;;
14;;; GNU Guix is distributed in the hope that it will be useful, but
15;;; WITHOUT ANY WARRANTY; without even the implied warranty of
16;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17;;; GNU General Public License for more details.
18;;;
19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21
22(define-module (gnu packages mc)
23 #:use-module (gnu packages aspell)
24 #:use-module (gnu packages bash)
25 #:use-module (gnu packages check)
26 #:use-module (gnu packages compression)
27 #:use-module (gnu packages glib)
28 #:use-module (gnu packages linux)
29 #:use-module (gnu packages ncurses)
30 #:use-module (gnu packages perl)
31 #:use-module (gnu packages python)
32 #:use-module (gnu packages pkg-config)
33 #:use-module (gnu packages ssh)
34 #:use-module (gnu packages)
35 #:use-module (guix build-system gnu)
36 #:use-module (guix download)
37 #:use-module (guix gexp)
38 #:use-module (guix licenses)
39 #:use-module (guix packages))
40
41(define-public mc
42 (package
43 (name "mc")
44 (version "4.8.33")
45 (source
46 (origin
47 (method url-fetch)
48 (uri (string-append "https://ftp.osuosl.org/pub/midnightcommander/mc-"
49 version ".tar.xz"))
50 (sha256
51 (base32 "0k0nmxlb95nqm40251azqqaa53rsj6rps7f8v22m2kl45za4kqfa"))))
52 (build-system gnu-build-system)
53 (arguments
54 (list
55 #:configure-flags
56 #~(list "--with-screen=ncurses"
57 "--enable-aspell"
58 "--disable-configure-args" ; don't keep superfluous references
59 (string-append "PERL_FOR_BUILD=" ; to build .hlp files
60 #$(this-package-native-input "perl") "/bin/perl")
61 (string-append "PERL=" ; for run-time helpers, mainly VFS
62 #$(this-package-input "perl") "/bin/perl"))
63 #:phases
64 #~(modify-phases %standard-phases
65 (add-after 'patch-source-shebangs 'patch-file-names
66 (lambda* (#:key inputs #:allow-other-keys)
67 ;; The following commands are all invoked at run time.
68 (substitute*
69 (list "lib/utilunix.c"
70 "src/filemanager/ext.c"
71 "src/usermenu.c"
72 ;; This file hard-codes other shells, but they're never
73 ;; tried after mc's first choice (bash) is found.
74 "lib/shell.c")
75 (("/bin/(ba|)sh" file)
76 (search-input-file inputs file)))
77 (substitute* "src/filemanager/ext.c"
78 ;; Look up in $PATH at run time, rather than hard-coding now.
79 (("/bin/(rm)" command)
80 command))
81 (substitute* "misc/mcedit.menu.in"
82 ;; These are script templates. Don't embed store file names.
83 (("#! /bin/([[:alnum:]]*)" _ file)
84 (string-append "#!/usr/bin/env " file)))
85
86 ;; The following commands are all invoked at build time.
87 (substitute* "tests/src/vfs/extfs/helpers-list/Makefile.in"
88 (("/bin/sh")
89 (which "sh")))))
90 (add-before 'check 'fix-tests
91 (lambda _
92 (substitute* "tests/lib/mc_realpath.c"
93 (("/usr/bin") "/")
94 (("usr/bin") "/")))))))
95 (native-inputs (list perl pkg-config))
96 (inputs (list aspell
97 bash-minimal
98 check
99 glib
100 gpm
101 libssh2
102 ncurses
103 perl
104 python
105 unzip))
106 (home-page "https://www.midnight-commander.org")
107 (properties
108 `((release-monitoring-url . "https://ftp.osuosl.org/pub/midnightcommander/")))
109 (synopsis "Graphical file manager")
110 (description
111 "GNU Midnight Commander is a command-line file manager laid out in a
112common two-pane format. In addition to standard file management tasks such as
113copying and moving, Midnight Commander also supports viewing the contents of
114RPM package files and other archives and managing files on other computers via
115FTP or FISH. It also includes a powerful text editor for opening text
116files.")
117 (license gpl3+)))
118
119
120(define-public gnudos
121 (package
122 (name "gnudos")
123 (version "2.0")
124 (source
125 (origin
126 (method url-fetch)
127 (uri (string-append "mirror://gnu/gnudos/gnudos-" version ".tar.gz"))
128 (sha256
129 (base32 "06n4n6j7w6f54akmqqmsrbxv5rj6xairc6yskm33ag2ar7w8hz48"))))
130 (build-system gnu-build-system)
131 (propagated-inputs (list ncurses))
132 (home-page "https://www.gnu.org/software/gnudos/")
133 (synopsis "MS-DOS-like file manager, editor, and other tools")
134 (description
135 "GnuDOS is a set of programs designed to help new users of the GNU
136system in growing accustomed to the system, particularly users who might be
137coming from a DOS background. It consists of a file manager, a text editor
138and a form designer for the console as well as a core library for building
139similar utilities.")
140 (license gpl3+)))