1(use-modules (guix packages)2 (guix git-download)3 (guix licenses)4 (guix gexp)5 (guix utils)6 (guix build-system haskell)7 (guix build-system trivial)8 (gnu packages commencement)9 (gnu packages haskell)10 (gnu packages haskell-apps)11 (gnu packages haskell-check)12 (gnu packages build-tools))1314;; Hack to access the unexported license constructor.15;;16;; Taken from: https://gitlab.com/nonguix/nonguix/-/blob/master/nonguix/licenses.scm17(define license (@@ (guix licenses) license))1819(define cc-by-nc-sa4.020 (license "CC-BY-NC-SA 4.0"21 "http://creativecommons.org/licenses/by-nc-sa/4.0"22 "Attribution-NonCommercial-ShareAlike 4.0 International"))2324;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2526;; Build pdpmake from git for POSIX compliance fixes which are not27;; contained in the latest releases and cause mach test failures.28(define pdpmake-git29 (let ((commit "d5214d453662c484378dd7254520c2fb27571057"))30 (package31 (inherit pdpmake)32 (source (origin33 (method git-fetch)34 (uri (git-reference35 (url "https://github.com/rmyorston/pdpmake.git")36 (commit commit)))37 (file-name (git-file-name "pdpmake" commit))38 (sha256 (base32 "1vrkb7as8hbbn1w4pdmcz88gwacr7j45pdqr7dlkyy54pxd39nhg")))))))3940;; Provides a symlink from /bin/cc to the C compiler for the current41;; target. Needed for portable cc(1) invocations in the golden tests.42(define cc-symlink43 (package44 (name "cc-symlink")45 (version "1.0")46 (source #f)47 (build-system trivial-build-system)48 (arguments49 `(#:modules ((guix build utils))50 #:builder51 ,#~(begin52 (use-modules (guix build utils))53 (let ((bindir (string-append #$output "/bin")))54 (mkdir-p bindir)55 (symlink (string-append #$gcc-toolchain "/bin/gcc")56 (string-append bindir "/cc"))))))57 (inputs (list gcc-toolchain))58 (synopsis "Provides a cc(1) symlink to gcc(1)")59 (description "")60 (home-page "")61 (license cc0)))6263(package64 (name "mach")65 (version "0.1.0.0")66 (source (local-file "." "git-checkout"67 #:recursive? #t))68 (build-system haskell-build-system)69 (inputs70 (list71 ghc-9.272 cc-symlink))73 (native-inputs74 (list75 pdpmake-git76 gcc-toolchain77 ghc-tasty78 ghc-tasty-hunit79 ghc-tasty-golden))80 (synopsis "A WiP POSIX Make implementation")81 (description "")82 (home-page "https://github.com/nmeum/mach")83 (license (list cc-by-nc-sa4.0)))