1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 21:20:33 +02:00

gnu: Remove mercury-minimal.

* gnu/packages/mercury.scm (mercury-minimal): Delete variable.

Change-Id: Ibf0a0e4347bff17e5b1a141513b6f544549fa229
This commit is contained in:
Andreas Enge
2026-03-18 18:21:08 +01:00
parent f64aa92bef
commit 7452440136

View File

@@ -50,116 +50,3 @@
(commit commit)))
(sha256 (base32 package-hash)))))))
;; NOTE: Mercury /MUST/ bootstrap from a tarball release.
;; Once the bootstrapping compiler is established, this
;; minimal build can be used for further compiling Mercury
;; from a git checkout with additional grades enabled.
(define-public mercury-minimal
(package
(name "mercury-minimal")
(version "22.01.4")
(source (origin
(method url-fetch)
(uri (string-append
"https://dl.mercurylang.org/release/mercury-srcdist-"
version ".tar.gz"))
(sha256
(base32
"1vakjg4rqpplkxw7k91qv8jvlasrr6iwrzrylwqllbq088qs0mbp"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(ice-9 match))
#:tests? #f ; Tests are run on the stage-2 compiler.
;; TODO: Find a way to bypass all static linkages.
#:configure-flags (list "--enable-minimal-install")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'replace-boehm-gc
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(libgc (assoc-ref inputs "libgc"))
(libatomic-ops (assoc-ref inputs "libatomic-ops"))
(unpack (assoc-ref %standard-phases 'unpack))
(patch-source-shebangs
(assoc-ref %standard-phases 'patch-source-shebangs)))
(map (match-lambda
((src orig-name new-name)
(with-directory-excursion "."
(apply unpack (list #:source src)))
(delete-file-recursively new-name)
(invoke "mv" orig-name new-name)
(with-directory-excursion new-name
(apply patch-source-shebangs (list #:source src)))))
`((,libgc "source" "boehm_gc")))
(map (match-lambda
((src orig-name new-name)
(with-directory-excursion "."
(apply unpack (list #:source src)))
(delete-file-recursively new-name)
(invoke "mv" orig-name new-name)
(with-directory-excursion new-name
(apply patch-source-shebangs (list #:source src)))))
`((,libatomic-ops "source" "boehm_gc/libatomic_ops"))))))
(add-after 'replace-boehm-gc 'patch-paths
(lambda _
(substitute*
(list "Makefile"
"Mmakefile"
"scripts/mercury_update_interface.in"
"scripts/mercury_config.in"
"scripts/mmake.in"
"scripts/Mmake.vars.in"
"scripts/mdb.in"
"scripts/rs6000_hack"
"scripts/mmc.in"
"scripts/canonical_grade"
"scripts/mprof.in"
"scripts/gud.el"
"scripts/ml.in"
"scripts/canonical_grade.in"
"scripts/mdprof.in"
"scripts/vpath_find"
"scripts/mkfifo_using_mknod.in"
"scripts/prepare_install_dir.in"
"scripts/mprof_merge_runs"
"scripts/mtc"
"scripts/mgnuc.in"
"scripts/c2init.in"
"bindist/bindist.Makefile"
"boehm_gc/configure.ac"
"boehm_gc/Makefile.direct")
(("/bin/sh") (which "sh"))
(("/bin/pwd") (which "pwd"))
(("/bin/rm") (which "rm"))))))))
(native-inputs
`(("texinfo" ,texinfo)
("flex" ,flex)
("tcsh" ,tcsh)
("bison" ,bison)
("readline" ,readline)
("libatomic-ops" ,(package-source
(gc-fork
libatomic-ops
"https://github.com/Mercury-Language/libatomic_ops.git"
"95809e50a5ff6e765f1af2f589796970a73e9c00"
"0a1y795bvzwzk1v8d9g6wvifj7hvhmxlir1g581bq2slj16h95iz")))
("libgc" ,(package-source
(gc-fork
libgc-7
"https://github.com/Mercury-Language/bdwgc.git"
"def741752f55f9068d4f469a14c4b2c168829730"
"07d94j5l9w6l2kjmcwblgn5lf77aw3r0zjn22pq4hbhknky6ny43")))
("pkg-config" ,pkg-config)))
(synopsis "Pure logic programming language (used only for
bootstrapping dependent Mercury)")
(description "Mercury is a logic/functional programming language which
combines the clarity and expressiveness of declarative programming with advanced
static analysis and error detection features. Its highly optimized execution
algorithm delivers efficiency far in excess of existing logic programming
systems, and close to conventional programming systems. Mercury addresses
the problems of large-scale program development, allowing modularity,
separate compilation, and numerous optimization/time trade-offs.")
(home-page "https://mercurylang.org")
(license license:gpl2)))