projects/guix·blob java-team · refs

107 lines · 4.3 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2017 José Miguel Sánchez García <[email protected]>
3;;; Copyright © 2019 Tobias Geerinckx-Rice <[email protected]>
4;;;
5;;; This file is part of GNU Guix.
6;;;
7;;; GNU Guix is free software; you can redistribute it and/or modify it
8;;; under the terms of the GNU General Public License as published by
9;;; the Free Software Foundation; either version 3 of the License, or (at
10;;; your option) any later version.
11;;;
12;;; GNU Guix is distributed in the hope that it will be useful, but
13;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15;;; GNU General Public License for more details.
16;;;
17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19
20(define-module (gnu packages simh)
21 #:use-module ((guix licenses) #:prefix license:)
22 #:use-module (guix gexp)
23 #:use-module (guix packages)
24 #:use-module (guix download)
25 #:use-module (guix git-download)
26 #:use-module (guix build-system gnu)
27 #:use-module (guix utils)
28 #:use-module (gnu packages admin)
29 #:use-module (gnu packages compression))
30
31(define-public simh
32 (package
33 (name "simh")
34 (version "3.12-4")
35 (source
36 (origin
37 (method url-fetch)
38 (uri (list (string-append
39 "http://simh.trailing-edge.com/sources/simhv"
40 (string-delete #\. version) ".zip")
41 (string-append
42 "http://simh.trailing-edge.com/sources/archive/simhv"
43 (string-delete #\. version) ".zip")))
44 (sha256
45 (base32 "1i78c1x8xjiwy9dd2ss0mk3f1v9pmcjb4zc37ikqnjarsfqj2nm0"))))
46 (build-system gnu-build-system)
47 (native-inputs
48 (list unzip))
49 (inputs
50 (list libpcap))
51 (arguments
52 (list #:tests? #f
53 #:make-flags
54 #~(list (string-append "GCC=" #$(cc-for-target) " -fcommon"))
55 #:modules `((ice-9 string-fun)
56 ,@%default-gnu-modules)
57 #:phases
58 #~(modify-phases %standard-phases
59 (delete 'configure)
60 (add-before 'build 'prepare-build
61 (lambda _
62 (substitute* "makefile"
63 (("LIBPATH:=/usr/lib")
64 (string-append "LIBPATH:="
65 (string-replace-substring
66 (getenv "LIBRARY_PATH") ":" " ")))
67 (("export LIBRARY_PATH = .*") ""))
68 (mkdir "BIN")))
69 (replace 'install
70 (lambda* (#:key outputs #:allow-other-keys)
71 (let* ((out (assoc-ref outputs "out"))
72 (bin (string-append out "/bin/"))
73 (lib (string-append out "/lib/simh/")))
74 (mkdir-p bin)
75 (mkdir-p lib)
76 (for-each (lambda (file)
77 (copy-file file
78 (string-append bin "simh-"
79 (basename file))))
80 (find-files "BIN"))
81 (for-each (lambda (file)
82 (copy-file file
83 (string-append lib
84 (basename file))))
85 (find-files "VAX" "bin$"))))))))
86 (home-page "http://simh.trailing-edge.com")
87 (synopsis "Collection of simulators from The Computer History Simulation
88Project")
89 (description
90 "SIMH is a highly portable, multi-system simulator. SIMH implements
91simulators for:
92
93@itemize
94@item Data General Nova, Eclipse.
95@item Digital Equipment Corporation PDP-1, PDP-4, PDP-7, PDP-8, PDP-9, PDP-10,
96PDP-11, PDP-15, VAX.
97@item GRI Corporation GRI-909, GRI-99.
98@item IBM 1401, 1620, 1130, 7090/7094, System 3.
99@item Interdata (Perkin-Elmer) 16b and 32b systems.
100@item Hewlett-Packard 2114, 2115, 2116, 2100, 21MX, 1000.
101@item Honeywell H316/H516.
102@item MITS Altair 8800, with both 8080 and Z80.
103@item Royal-Mcbee LGP-30, LGP-21.
104@item Scientific Data Systems SDS 940.
105@item SWTP 6800.
106@end itemize")
107 (license license:expat)))