Skip to content

Instantly share code, notes, and snippets.

@Pinjontall94
Last active May 15, 2025 20:06
Show Gist options
  • Select an option

  • Save Pinjontall94/972ae6c33f1011c238b52d2ecf77447b to your computer and use it in GitHub Desktop.

Select an option

Save Pinjontall94/972ae6c33f1011c238b52d2ecf77447b to your computer and use it in GitHub Desktop.
hercules-390-v4.0.0-rc0_guix.scm
(define-module (gnu packages hercules)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix build utils)
#:use-module (guix licenses)
#:use-module (guix gexp)
#:use-module (gnu packages autotools))
(define-public s3fh
(package
(name "s3fh")
(version "1.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hercules-390/SoftFloat-3a.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1hb1qjqllnvkg3l937gx4l4hz6m8ijcy3akfldjwxjypm9g17pyz"))))
(build-system cmake-build-system)
(arguments (list #:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'ch-build-dir
(lambda _
(let ((build-dir (string-append "amd64" "/" "s3fh.release")))
(begin
(display build-dir)
(newline)
(invoke "mkdir" "-p" build-dir)
(chdir build-dir)))))
(replace 'configure
(lambda* (#:key configure-flags #:allow-other-keys)
(apply invoke "cmake" "../../" configure-flags)))
)))
(synopsis "SoftFloat-3a for Hercules")
(description "SoftFloat-3a for Hercules. This is a modification of Dr. John Hauser's SoftFloat-3a package.")
(home-page "https://hercules-390.github.io/html/")
(license qpl)))
(define-public hercules
(package
(name "hercules")
(version "4.0.0-rc0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hercules-390/hyperion.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1mmg126d6xwwd8jabhf01bwq119a6lhhja2ppgds99wsjg9gmgz5"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autogen
(lambda _
(invoke "sh" "autogen.sh"))))))
(inputs (list autoconf automake))
(native-inputs (list s3fh))
(synopsis "ulti-platform emulator for mainframe software")
(description "The Hercules System/370, ESA/390, and z/Architecture Emulator")
(home-page "https://hercules-390.github.io/html/")
(license qpl)))
hercules
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment