Commit | Line | Data |
---|---|---|
233e7676 | 1 | ;;; GNU Guix --- Functional package management for GNU |
9a9e72d5 | 2 | ;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> |
1df895b0 | 3 | ;;; |
233e7676 | 4 | ;;; This file is part of GNU Guix. |
1df895b0 | 5 | ;;; |
233e7676 | 6 | ;;; GNU Guix is free software; you can redistribute it and/or modify it |
1df895b0 LC |
7 | ;;; under the terms of the GNU General Public License as published by |
8 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
9 | ;;; your option) any later version. | |
10 | ;;; | |
233e7676 | 11 | ;;; GNU Guix is distributed in the hope that it will be useful, but |
1df895b0 LC |
12 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | ;;; GNU General Public License for more details. | |
15 | ;;; | |
16 | ;;; You should have received a copy of the GNU General Public License | |
233e7676 | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
1df895b0 | 18 | |
1ffa7090 | 19 | (define-module (gnu packages system) |
4a44e743 | 20 | #:use-module (guix licenses) |
1df895b0 LC |
21 | #:use-module (guix packages) |
22 | #:use-module (guix download) | |
23 | #:use-module (guix build-system gnu) | |
59a43334 | 24 | #:use-module (gnu packages) |
9a9e72d5 LC |
25 | #:use-module (gnu packages ncurses) |
26 | #:use-module (gnu packages linux)) | |
1df895b0 LC |
27 | |
28 | (define-public pies | |
29 | (package | |
30 | (name "pies") | |
31 | (version "1.2") | |
32 | (source | |
33 | (origin | |
34 | (method url-fetch) | |
35 | (uri (string-append "mirror://gnu/pies/pies-" | |
36 | version ".tar.bz2")) | |
37 | (sha256 | |
38 | (base32 | |
39 | "18w0dbg77i56cx1bwa789w0qi3l4xkkbascxcv2b6gbm0zmjg1g6")))) | |
40 | (build-system gnu-build-system) | |
41 | (home-page "http://www.gnu.org/software/pies/") | |
f50d2669 | 42 | (synopsis "Program invocation and execution supervisor") |
1df895b0 LC |
43 | (description |
44 | "The name Pies (pronounced \"p-yes\") stands for Program Invocation | |
45 | and Execution Supervisor. This utility starts and controls execution of | |
46 | external programs, called components. Each component is a stand-alone | |
47 | program, which is executed in the foreground. Upon startup, pies reads | |
48 | the list of components from its configuration file, starts them, and | |
49 | remains in the background, controlling their execution. If any of the | |
50 | components terminates, the default action of Pies is to restart it. | |
51 | However, it can also be programmed to perform a variety of another | |
52 | actions such as, e.g., sending mail notifications to the system | |
53 | administrator, invoking another external program, etc. | |
54 | ||
55 | Pies can be used for a wide variety of tasks. Its most obious use is to | |
56 | put in backgound a program which normally cannot detach itself from the | |
57 | controlling terminal, such as, e.g., minicom. It can launch and control | |
58 | components of some complex system, such as Jabberd or MeTA1 (and it | |
59 | offers much more control over them than the native utilities). Finally, | |
60 | it can replace the inetd utility!") | |
4a44e743 | 61 | (license gpl3+))) |
1df895b0 LC |
62 | |
63 | (define-public inetutils | |
64 | (package | |
65 | (name "inetutils") | |
66 | (version "1.9.1") | |
67 | (source | |
68 | (origin | |
69 | (method url-fetch) | |
70 | (uri (string-append "mirror://gnu/inetutils/inetutils-" | |
71 | version ".tar.gz")) | |
72 | (sha256 | |
73 | (base32 | |
74 | "0azzg6njgq79byl6960kb0wihfhhzf49snslhxgvi30ribgfpa82")))) | |
75 | (build-system gnu-build-system) | |
76 | (arguments `(#:patches (list (assoc-ref %build-inputs "patch/gets")) | |
77 | ||
78 | ;; FIXME: `tftp.sh' relies on `netstat' from utils-linux, | |
79 | ;; which is currently missing. | |
80 | #:tests? #f)) | |
81 | (inputs `(("patch/gets" ,(search-patch "diffutils-gets-undeclared.patch")) | |
82 | ("ncurses" ,ncurses))) | |
83 | (home-page "http://www.gnu.org/software/inetutils/") | |
f50d2669 | 84 | (synopsis "Basic networking utilities") |
1df895b0 LC |
85 | (description |
86 | "The GNU network utilities suite provides the following tools: | |
87 | ftp(d), hostname, ifconfig, inetd, logger, ping, rcp, rexec(d), | |
88 | rlogin(d), rsh(d), syslogd, talk(d), telnet(d), tftp(d), traceroute, | |
89 | uucpd, and whois.") | |
4a44e743 | 90 | (license gpl3+))) |
9a9e72d5 LC |
91 | |
92 | (define-public shadow | |
93 | (package | |
94 | (name "shadow") | |
95 | (version "4.1.5.1") | |
96 | (source (origin | |
97 | (method url-fetch) | |
98 | (uri (string-append | |
99 | "http://pkg-shadow.alioth.debian.org/releases/shadow-" | |
100 | version ".tar.bz2")) | |
101 | (sha256 | |
102 | (base32 | |
103 | "1yvqx57vzih0jdy3grir8vfbkxp0cl0myql37bnmi2yn90vk6cma")))) | |
104 | (build-system gnu-build-system) | |
105 | (arguments | |
106 | '(;; Assume System V `setpgrp (void)', which is the default on GNU | |
107 | ;; variants (`AC_FUNC_SETPGRP' is not cross-compilation capable.) | |
108 | #:configure-flags '("--with-libpam" "ac_cv_func_setpgrp_void=yes") | |
109 | ||
110 | #:phases (alist-cons-before | |
111 | 'build 'set-nscd-file-name | |
112 | (lambda* (#:key inputs #:allow-other-keys) | |
113 | ;; Use the right file name for nscd. | |
114 | (let ((libc (assoc-ref inputs "libc"))) | |
115 | (substitute* "lib/nscd.c" | |
116 | (("/usr/sbin/nscd") | |
117 | (string-append libc "/sbin/nscd"))))) | |
118 | (alist-cons-after | |
119 | 'install 'remove-groups | |
120 | (lambda* (#:key outputs #:allow-other-keys) | |
121 | ;; Remove `groups', which is already provided by Coreutils. | |
122 | (let* ((out (assoc-ref outputs "out")) | |
123 | (bin (string-append out "/bin")) | |
124 | (man (string-append out "/share/man/man1"))) | |
125 | (delete-file (string-append bin "/groups")) | |
126 | (for-each delete-file (find-files man "^groups\\.")) | |
127 | #t)) | |
128 | %standard-phases)))) | |
129 | ||
130 | (inputs (if (string-suffix? "-linux" | |
131 | (or (%current-target-system) | |
132 | (%current-system))) | |
133 | `(("linux-pam" ,linux-pam)) | |
134 | '())) | |
135 | (home-page "http://pkg-shadow.alioth.debian.org/") | |
136 | (synopsis "Authentication-related tools such as passwd, su, and login") | |
137 | (description | |
138 | "Shadow provides a number of authentication-related tools, including: | |
139 | login, passwd, su, groupadd, and useradd.") | |
140 | ||
141 | ;; The `vipw' program is GPLv2+. | |
142 | ;; libmisc/salt.c is public domain. | |
143 | (license bsd-3))) | |
1e151896 LC |
144 | |
145 | (define-public mingetty | |
146 | (package | |
147 | (name "mingetty") | |
148 | (version "1.08") | |
149 | (source (origin | |
150 | (method url-fetch) | |
151 | (uri (string-append "mirror://sourceforge/mingetty/mingetty-" | |
152 | version ".tar.gz")) | |
153 | (sha256 | |
154 | (base32 | |
155 | "05yxrp44ky2kg6qknk1ih0kvwkgbn9fbz77r3vci7agslh5wjm8g")))) | |
156 | (build-system gnu-build-system) | |
157 | (arguments | |
158 | `(#:phases (alist-replace 'configure | |
159 | (lambda* (#:key inputs outputs | |
160 | #:allow-other-keys) | |
161 | (let* ((out (assoc-ref outputs "out")) | |
162 | (man8 (string-append | |
163 | out "/share/man/man8")) | |
164 | (sbin (string-append out "/sbin")) | |
165 | (shadow (assoc-ref inputs "shadow")) | |
166 | (login (string-append shadow | |
167 | "/bin/login"))) | |
168 | (substitute* "Makefile" | |
169 | (("^SBINDIR.*") | |
170 | (string-append "SBINDIR = " out | |
171 | "/sbin\n")) | |
172 | (("^MANDIR.*") | |
173 | (string-append "MANDIR = " out | |
174 | "/share/man/man8\n"))) | |
175 | ||
176 | ;; Pick the right 'login' by default. | |
177 | (substitute* "mingetty.c" | |
178 | (("\"/bin/login\"") | |
179 | (string-append "\"" login "\""))) | |
180 | ||
181 | (mkdir-p sbin) | |
182 | (mkdir-p man8))) | |
183 | %standard-phases) | |
184 | #:tests? #f)) ; no tests | |
185 | (inputs `(("shadow" ,shadow))) | |
186 | ||
187 | (home-page "http://sourceforge.net/projects/mingetty") | |
188 | (synopsis "Getty for the text console") | |
189 | (description | |
190 | "Small console getty that is started on the Linux text console, | |
191 | asks for a login name and then transfers over to 'login'. It is extended to | |
192 | allow automatic login and starting any app.") | |
193 | (license gpl2+))) |