mirror of
https://github.com/idris-lang/Idris2.git
synced 2024-12-28 22:22:10 +03:00
flake.nix: Use Racket's Chez for non-x86_64-linux platforms
It supports many more platforms, excerpt from the README: > Supported platforms: > > Windows: x86, x86_64 > Mac OS: x86, x86_64, AArch64, PowerPC32 > Linux: x86, x86_64, ARMv6, AArch64, PowerPC32 > FreeBSD: x86, x86_64, ARMv6, AArch64, PowerPC32 > OpenBSD: x86, x86_64, ARMv6, AArch64, PowerPC32 > NetBSD: x86, x86_64, ARMv6, AArch64, PowerPC32 > Solaris: x86, x86_64 > Android: ARMv7, AArch64 > iOS: AArch64 Link to the fork: https://github.com/racket/ChezScheme
This commit is contained in:
parent
1b6cc3ba1b
commit
ca95781a74
6
bootstrap/idris2_app/idris2.ss
generated
6
bootstrap/idris2_app/idris2.ss
generated
@ -4,7 +4,7 @@
|
||||
(import (chezscheme))
|
||||
(case (machine-type)
|
||||
[(i3fb ti3fb a6fb ta6fb) #f]
|
||||
[(i3le ti3le a6le ta6le) (load-shared-object "libc.so.6")]
|
||||
[(i3le ti3le a6le ta6le tarm64le) (load-shared-object "libc.so.6")]
|
||||
[(i3osx ti3osx a6osx ta6osx) (load-shared-object "libc.dylib")]
|
||||
[(i3nt ti3nt a6nt ta6nt) (load-shared-object "msvcrt.dll") (load-shared-object "ws2_32.dll")]
|
||||
[else (load-shared-object "libc.so")])
|
||||
@ -6127,7 +6127,7 @@
|
||||
(define CompilerC-45SchemeC-45ChezSep-startChezWinSh (lambda (arg-0 arg-1 arg-2) (DataC-45String-fastUnlines (cons "#!/bin/sh" (cons (PreludeC-45TypesC-45String-C-43C-43 "# " (CompilerC-45Generated-generatedString "Chez")) (cons "" (cons "set -e # exit on any error" (cons "" (cons "DIR=$(dirname \"$(readlink -f -- \"$0\")\")" (cons (PreludeC-45TypesC-45String-C-43C-43 "CHEZ=$(cygpath \"" (PreludeC-45TypesC-45String-C-43C-43 arg-0 "\")")) (cons (PreludeC-45TypesC-45String-C-43C-43 "export PATH=\"$DIR/" (PreludeC-45TypesC-45String-C-43C-43 arg-1 "\":$PATH")) (cons (PreludeC-45TypesC-45String-C-43C-43 "\"$CHEZ\" --program \"$DIR/" (PreludeC-45TypesC-45String-C-43C-43 arg-2 "\" \"$@\"")) (cons (PreludeC-45TypesC-45String-C-43C-43 "\"$CHEZ\" -q " (PreludeC-45TypesC-45String-C-43C-43 "--libdirs \"$DIR/" (PreludeC-45TypesC-45String-C-43C-43 arg-1 (PreludeC-45TypesC-45String-C-43C-43 "\" " (PreludeC-45TypesC-45String-C-43C-43 "--program \"$DIR/" (PreludeC-45TypesC-45String-C-43C-43 arg-2 (PreludeC-45TypesC-45String-C-43C-43 "\" " "\"$@\""))))))) '())))))))))))))
|
||||
(define CompilerC-45SchemeC-45ChezSep-startChezCmd (lambda (arg-0 arg-1 arg-2) (DataC-45String-fastUnlines (cons "@echo off" (cons "set APPDIR=%~dp0" (cons (PreludeC-45TypesC-45String-C-43C-43 "set PATH=%APPDIR%\\" (PreludeC-45TypesC-45String-C-43C-43 arg-1 ";%PATH%")) (cons (PreludeC-45TypesC-45String-C-43C-43 "\"" (PreludeC-45TypesC-45String-C-43C-43 arg-0 (PreludeC-45TypesC-45String-C-43C-43 "\" -q " (PreludeC-45TypesC-45String-C-43C-43 "--libdirs \"%APPDIR%/" (PreludeC-45TypesC-45String-C-43C-43 arg-1 (PreludeC-45TypesC-45String-C-43C-43 "\" " (PreludeC-45TypesC-45String-C-43C-43 "--program \"%APPDIR%/" (PreludeC-45TypesC-45String-C-43C-43 arg-2 (PreludeC-45TypesC-45String-C-43C-43 "\" " "%*"))))))))) '())))))))
|
||||
(define CompilerC-45SchemeC-45ChezSep-startChez (lambda (arg-0 arg-1 arg-2) (PreludeC-45TypesC-45String-C-43C-43 (CompilerC-45SchemeC-45Chez-startChezPreamble) (DataC-45String-fastUnlines (cons (PreludeC-45TypesC-45String-C-43C-43 "export LD_LIBRARY_PATH=\"$DIR/" (PreludeC-45TypesC-45String-C-43C-43 arg-1 "\":$LD_LIBRARY_PATH")) (cons (PreludeC-45TypesC-45String-C-43C-43 "\"" (PreludeC-45TypesC-45String-C-43C-43 arg-0 (PreludeC-45TypesC-45String-C-43C-43 "\" -q " (PreludeC-45TypesC-45String-C-43C-43 "--libdirs \"$DIR/" (PreludeC-45TypesC-45String-C-43C-43 arg-1 (PreludeC-45TypesC-45String-C-43C-43 "\" " (PreludeC-45TypesC-45String-C-43C-43 "--program \"$DIR/" (PreludeC-45TypesC-45String-C-43C-43 arg-2 (PreludeC-45TypesC-45String-C-43C-43 "\" " "\"$@\""))))))))) '()))))))
|
||||
(define CompilerC-45SchemeC-45ChezSep-schHeader (lambda (arg-0 arg-1) (DataC-45String-fastUnlines (cons (PreludeC-45TypesC-45String-C-43C-43 "(import (chezscheme) (support) " (PreludeC-45TypesC-45String-C-43C-43 (DataC-45String-unwords (PreludeC-45Types-u--C-62C-62C-61_Monad_List arg-1 (lambda (u--cu) (PreludeC-45Types-u--pure_Applicative_List (PreludeC-45TypesC-45String-C-43C-43 "(" (PreludeC-45TypesC-45String-C-43C-43 u--cu ")")))))) ")")) (cons "(case (machine-type)" (cons " [(i3le ti3le a6le ta6le) (load-shared-object \"libc.so.6\")]" (cons " [(i3osx ti3osx a6osx ta6osx) (load-shared-object \"libc.dylib\")]" (cons " [(i3nt ti3nt a6nt ta6nt) (load-shared-object \"msvcrt.dll\")" (cons " (load-shared-object \"ws2_32.dll\")]" (cons " [else (load-shared-object \"libc.so\")]" (cons (DataC-45String-fastUnlines (PreludeC-45Types-u--C-62C-62C-61_Monad_List arg-0 (lambda (u--lib) (PreludeC-45Types-u--pure_Applicative_List (PreludeC-45TypesC-45String-C-43C-43 " (load-shared-object \"" (PreludeC-45TypesC-45String-C-43C-43 (LibrariesC-45UtilsC-45String-escapeStringChez u--lib) "\")")))))) (cons ")" '()))))))))))))
|
||||
(define CompilerC-45SchemeC-45ChezSep-schHeader (lambda (arg-0 arg-1) (DataC-45String-fastUnlines (cons (PreludeC-45TypesC-45String-C-43C-43 "(import (chezscheme) (support) " (PreludeC-45TypesC-45String-C-43C-43 (DataC-45String-unwords (PreludeC-45Types-u--C-62C-62C-61_Monad_List arg-1 (lambda (u--cu) (PreludeC-45Types-u--pure_Applicative_List (PreludeC-45TypesC-45String-C-43C-43 "(" (PreludeC-45TypesC-45String-C-43C-43 u--cu ")")))))) ")")) (cons "(case (machine-type)" (cons " [(i3le ti3le a6le ta6le tarm64le) (load-shared-object \"libc.so.6\")]" (cons " [(i3osx ti3osx a6osx ta6osx) (load-shared-object \"libc.dylib\")]" (cons " [(i3nt ti3nt a6nt ta6nt) (load-shared-object \"msvcrt.dll\")" (cons " (load-shared-object \"ws2_32.dll\")]" (cons " [else (load-shared-object \"libc.so\")]" (cons (DataC-45String-fastUnlines (PreludeC-45Types-u--C-62C-62C-61_Monad_List arg-0 (lambda (u--lib) (PreludeC-45Types-u--pure_Applicative_List (PreludeC-45TypesC-45String-C-43C-43 " (load-shared-object \"" (PreludeC-45TypesC-45String-C-43C-43 (LibrariesC-45UtilsC-45String-escapeStringChez u--lib) "\")")))))) (cons ")" '()))))))))))))
|
||||
(define CompilerC-45SchemeC-45ChezSep-schFooter (lambda () "(collect 4)\xa;(blodwen-run-finalisers)\xa;"))
|
||||
(define CompilerC-45SchemeC-45ChezSep-makeShWindows (lambda (arg-0 arg-1 arg-2 arg-3) (let ((u--cmdFile (PreludeC-45TypesC-45String-C-43C-43 arg-1 ".cmd"))) (lambda (eta-0) (let ((act-24 (CoreC-45Core-writeFile u--cmdFile (CompilerC-45SchemeC-45ChezSep-startChezCmd arg-0 arg-2 arg-3) eta-0))) (case (vector-ref act-24 0) ((0) (let ((e-2 (vector-ref act-24 1))) (vector 0 e-2))) (else (CoreC-45Core-writeFile arg-1 (CompilerC-45SchemeC-45ChezSep-startChezWinSh arg-0 arg-2 arg-3) eta-0))))))))
|
||||
(define CompilerC-45SchemeC-45ChezSep-makeSh (lambda (arg-0 arg-1 arg-2 arg-3 ext-0) (CoreC-45Core-writeFile arg-1 (CompilerC-45SchemeC-45ChezSep-startChez arg-0 arg-2 arg-3) ext-0)))
|
||||
@ -6186,7 +6186,7 @@
|
||||
(define CompilerC-45SchemeC-45Chez-showChezString (lambda (arg-0) (lambda (clam-0) (if (null? arg-0) clam-0 (let ((e-2 (car arg-0))) (let ((e-3 (cdr arg-0))) (cond ((equal? e-2 #\") (PreludeC-45TypesC-45String-C-43C-43 "\\\"" ((CompilerC-45SchemeC-45Chez-showChezString e-3) clam-0)))(else ((CompilerC-45SchemeC-45Chez-showChezChar e-2) ((CompilerC-45SchemeC-45Chez-showChezString e-3) clam-0))))))))))
|
||||
(define CompilerC-45SchemeC-45Chez-showChezChar (lambda (arg-0) (lambda (clam-0) (cond ((equal? arg-0 #\\) (PreludeC-45TypesC-45String-C-43C-43 "\\\\" clam-0))(else (let ((sc0 (let ((sc1 (PreludeC-45EqOrd-u--C-60_Ord_Char arg-0 (PreludeC-45Types-chr 32)))) (cond ((equal? sc1 1) 1) (else (PreludeC-45EqOrd-u--C-62_Ord_Char arg-0 (PreludeC-45Types-chr (blodwen-toSignedInt 126 63)))))))) (cond ((equal? sc0 1) (PreludeC-45TypesC-45String-C-43C-43 (PreludeC-45TypesC-45String-C-43C-43 "\\x" (PreludeC-45TypesC-45String-C-43C-43 (LibrariesC-45UtilsC-45Hex-asHex (PreludeC-45Cast-u--cast_Cast_Char_Int arg-0)) ";")) clam-0)) (else (PreludeC-45Types-strCons arg-0 clam-0)))))))))
|
||||
(define CompilerC-45SchemeC-45Chez-schemeCall (lambda (arg-0 arg-1 arg-2 arg-3) (let ((u--call (PreludeC-45TypesC-45String-C-43C-43 "(" (PreludeC-45TypesC-45String-C-43C-43 arg-1 (PreludeC-45TypesC-45String-C-43C-43 " " (PreludeC-45TypesC-45String-C-43C-43 (CoreC-45NameC-45Namespace-showSep " " (PreludeC-45Types-u--map_Functor_List (lambda (eta-0) (CompilerC-45SchemeC-45Common-schName eta-0)) arg-2)) ")")))))) (lambda (clam-0) (case (vector-ref arg-3 0) ((18) (vector 1 (CompilerC-45SchemeC-45Common-mkWorld u--call)))(else (vector 1 u--call)))))))
|
||||
(define CompilerC-45SchemeC-45Chez-schHeader (lambda (arg-0 arg-1 arg-2) (PreludeC-45TypesC-45String-C-43C-43 (let ((sc0 (PreludeC-45EqOrd-u--C-47C-61_Eq_String (SystemC-45Info-os) "windows"))) (cond ((equal? sc0 1) (PreludeC-45TypesC-45String-C-43C-43 "#!" (PreludeC-45TypesC-45String-C-43C-43 arg-0 (cond ((equal? arg-2 1) " --program\xa;\xa;") (else " --script\xa;\xa;"))))) (else ""))) (PreludeC-45TypesC-45String-C-43C-43 "; " (PreludeC-45TypesC-45String-C-43C-43 (CompilerC-45Generated-generatedString "Chez") (PreludeC-45TypesC-45String-C-43C-43 "\xa;" (PreludeC-45TypesC-45String-C-43C-43 "(import (chezscheme))\xa;" (PreludeC-45TypesC-45String-C-43C-43 "(case (machine-type)\xa;" (PreludeC-45TypesC-45String-C-43C-43 " [(i3fb ti3fb a6fb ta6fb) #f]\xa;" (PreludeC-45TypesC-45String-C-43C-43 " [(i3le ti3le a6le ta6le) (load-shared-object \"libc.so.6\")]\xa;" (PreludeC-45TypesC-45String-C-43C-43 " [(i3osx ti3osx a6osx ta6osx) (load-shared-object \"libc.dylib\")]\xa;" (PreludeC-45TypesC-45String-C-43C-43 " [(i3nt ti3nt a6nt ta6nt) (load-shared-object \"msvcrt.dll\")" (PreludeC-45TypesC-45String-C-43C-43 " (load-shared-object \"ws2_32.dll\")]\xa;" (PreludeC-45TypesC-45String-C-43C-43 " [else (load-shared-object \"libc.so\")])\xa;\xa;" (PreludeC-45TypesC-45String-C-43C-43 (CoreC-45NameC-45Namespace-showSep "\xa;" (PreludeC-45Types-u--map_Functor_List (lambda (u--x) (PreludeC-45TypesC-45String-C-43C-43 "(load-shared-object \"" (PreludeC-45TypesC-45String-C-43C-43 (LibrariesC-45UtilsC-45String-escapeStringChez u--x) "\")"))) arg-1)) (PreludeC-45TypesC-45String-C-43C-43 "\xa;\xa;" (cond ((equal? arg-2 1) "(let ()\xa;") (else "(source-directories (cons (getenv \"IDRIS2_INC_SRC\") (source-directories)))\xa;"))))))))))))))))))
|
||||
(define CompilerC-45SchemeC-45Chez-schHeader (lambda (arg-0 arg-1 arg-2) (PreludeC-45TypesC-45String-C-43C-43 (let ((sc0 (PreludeC-45EqOrd-u--C-47C-61_Eq_String (SystemC-45Info-os) "windows"))) (cond ((equal? sc0 1) (PreludeC-45TypesC-45String-C-43C-43 "#!" (PreludeC-45TypesC-45String-C-43C-43 arg-0 (cond ((equal? arg-2 1) " --program\xa;\xa;") (else " --script\xa;\xa;"))))) (else ""))) (PreludeC-45TypesC-45String-C-43C-43 "; " (PreludeC-45TypesC-45String-C-43C-43 (CompilerC-45Generated-generatedString "Chez") (PreludeC-45TypesC-45String-C-43C-43 "\xa;" (PreludeC-45TypesC-45String-C-43C-43 "(import (chezscheme))\xa;" (PreludeC-45TypesC-45String-C-43C-43 "(case (machine-type)\xa;" (PreludeC-45TypesC-45String-C-43C-43 " [(i3fb ti3fb a6fb ta6fb) #f]\xa;" (PreludeC-45TypesC-45String-C-43C-43 " [(i3le ti3le a6le ta6le tarm64le) (load-shared-object \"libc.so.6\")]\xa;" (PreludeC-45TypesC-45String-C-43C-43 " [(i3osx ti3osx a6osx ta6osx) (load-shared-object \"libc.dylib\")]\xa;" (PreludeC-45TypesC-45String-C-43C-43 " [(i3nt ti3nt a6nt ta6nt) (load-shared-object \"msvcrt.dll\")" (PreludeC-45TypesC-45String-C-43C-43 " (load-shared-object \"ws2_32.dll\")]\xa;" (PreludeC-45TypesC-45String-C-43C-43 " [else (load-shared-object \"libc.so\")])\xa;\xa;" (PreludeC-45TypesC-45String-C-43C-43 (CoreC-45NameC-45Namespace-showSep "\xa;" (PreludeC-45Types-u--map_Functor_List (lambda (u--x) (PreludeC-45TypesC-45String-C-43C-43 "(load-shared-object \"" (PreludeC-45TypesC-45String-C-43C-43 (LibrariesC-45UtilsC-45String-escapeStringChez u--x) "\")"))) arg-1)) (PreludeC-45TypesC-45String-C-43C-43 "\xa;\xa;" (cond ((equal? arg-2 1) "(let ()\xa;") (else "(source-directories (cons (getenv \"IDRIS2_INC_SRC\") (source-directories)))\xa;"))))))))))))))))))
|
||||
(define CompilerC-45SchemeC-45Chez-schFooter (lambda (arg-0 arg-1) (PreludeC-45TypesC-45String-C-43C-43 "(collect 4)\xa;(blodwen-run-finalisers)\xa;" (PreludeC-45TypesC-45String-C-43C-43 (cond ((equal? arg-0 1) "(profile-dump-html)") (else "")) (cond ((equal? arg-1 1) ")\xa;") (else "\xa;"))))))
|
||||
(define CompilerC-45SchemeC-45Chez-schFgnDef (lambda (arg-0 arg-1 arg-2 arg-3 arg-4 arg-5 arg-6) (case (vector-ref arg-5 0) ((2) (let ((e-0 (vector-ref arg-5 1))) (let ((e-1 (vector-ref arg-5 2))) (let ((e-2 (vector-ref arg-5 3))) (let ((u--argns (CompilerC-45SchemeC-45Chez-mkArgs 0 e-1))) (let ((u--allargns (PreludeC-45Types-u--map_Functor_List (lambda (eta-0) (Builtin-fst eta-0)) u--argns))) (let ((u--useargns (PreludeC-45Types-u--map_Functor_List (lambda (eta-0) (Builtin-fst eta-0)) (DataC-45List-filter (lambda (eta-0) (Builtin-snd eta-0)) u--argns)))) (lambda (eta-0) (let ((act-24 (CoreC-45Core-traverseC-39 (lambda (eta-1) (CompilerC-45SchemeC-45Chez-mkStruct arg-2 eta-1)) e-1 '() eta-0))) (case (vector-ref act-24 0) ((0) (let ((e-3 (vector-ref act-24 1))) (vector 0 e-3))) (else (let ((e-5 (vector-ref act-24 1))) (let ((act-25 ((CompilerC-45SchemeC-45Chez-mkStruct arg-2 e-2) eta-0))) (case (vector-ref act-25 0) ((0) (let ((e-3 (vector-ref act-25 1))) (vector 0 e-3))) (else (let ((e-6 (vector-ref act-25 1))) (let ((act-26 ((CompilerC-45SchemeC-45Chez-useCC arg-0 arg-1 arg-3 e-0 (DataC-45List-u--zip_Zippable_List u--useargns e-1) e-2 arg-6) eta-0))) (case (vector-ref act-26 0) ((0) (let ((e-3 (vector-ref act-26 1))) (vector 0 e-3))) (else (let ((e-7 (vector-ref act-26 1))) (let ((e-4 (car e-7))) (let ((e-3 (cdr e-7))) (let ((act-27 (let ((act-27 (unbox arg-0))) (vector 1 act-27)))) (case (vector-ref act-27 0) ((0) (let ((e-8 (vector-ref act-27 1))) (vector 0 e-8))) (else (let ((e-8 (vector-ref act-27 1))) (let ((act-28 (CoreC-45Context-u--full_HasNames_Name (let ((e-39 (vector-ref e-8 0))) e-39) arg-4 eta-0))) (case (vector-ref act-28 0) ((0) (let ((e-9 (vector-ref act-28 1))) (vector 0 e-9))) (else (let ((e-9 (vector-ref act-28 1))) (vector 1 (cons e-4 (PreludeC-45TypesC-45String-C-43C-43 (PreludeC-45Interfaces-concat (cons (vector (lambda (u--acc) (lambda (u--elem) (lambda (u--func) (lambda (u--init) (lambda (u--input) (PreludeC-45Types-u--foldr_Foldable_List u--func u--init u--input)))))) (lambda (u--elem) (lambda (u--acc) (lambda (u--func) (lambda (u--init) (lambda (u--input) (PreludeC-45Types-u--foldl_Foldable_List u--func u--init u--input)))))) (lambda (u--elem) (lambda (arg-1094) (PreludeC-45Types-u--null_Foldable_List arg-1094))) (lambda (u--elem) (lambda (u--acc) (lambda (u--m) (lambda (i_con-0) (lambda (u--funcM) (lambda (u--init) (lambda (u--input) (PreludeC-45Types-u--foldlM_Foldable_List i_con-0 u--funcM u--init u--input)))))))) (lambda (u--elem) (lambda (arg-1098) (PreludeC-45Types-u--toList_Foldable_List arg-1098))) (lambda (u--a) (lambda (u--m) (lambda (i_con-0) (lambda (u--f) (lambda (arg-1100) (PreludeC-45Types-u--foldMap_Foldable_List i_con-0 u--f arg-1100))))))) (cons (lambda (arg-7) (lambda (arg-8) (PreludeC-45Types-u--C-60C-43C-62_Semigroup_String arg-7 arg-8))) (PreludeC-45Types-u--neutral_Monoid_String))) e-5) (PreludeC-45TypesC-45String-C-43C-43 e-6 (PreludeC-45TypesC-45String-C-43C-43 "(define " (PreludeC-45TypesC-45String-C-43C-43 (CompilerC-45SchemeC-45Common-schName e-9) (PreludeC-45TypesC-45String-C-43C-43 " (lambda (" (PreludeC-45TypesC-45String-C-43C-43 (CoreC-45NameC-45Namespace-showSep " " (PreludeC-45Types-u--map_Functor_List (lambda (eta-1) (CompilerC-45SchemeC-45Common-schName eta-1)) u--allargns)) (PreludeC-45TypesC-45String-C-43C-43 ") " (PreludeC-45TypesC-45String-C-43C-43 e-3 "))\xa;"))))))))))))))))))))))))))))))))))))))))(else (lambda (eta-0) (vector 1 (cons '() "")))))))
|
||||
(define CompilerC-45SchemeC-45Chez-mkStruct (lambda (arg-0 arg-1) (case (vector-ref arg-1 0) ((19) (let ((e-0 (vector-ref arg-1 1))) (let ((e-1 (vector-ref arg-1 2))) (lambda (eta-0) (let ((act-24 (CoreC-45Core-traverseC-39 (lambda (eta-1) (CompilerC-45SchemeC-45Chez-mkStruct arg-0 eta-1)) (PreludeC-45Types-u--map_Functor_List (lambda (eta-1) (Builtin-snd eta-1)) e-1) '() eta-0))) (case (vector-ref act-24 0) ((0) (let ((e-2 (vector-ref act-24 1))) (vector 0 e-2))) (else (let ((e-5 (vector-ref act-24 1))) (let ((act-25 (let ((act-25 (unbox arg-0))) (vector 1 act-25)))) (case (vector-ref act-25 0) ((0) (let ((e-2 (vector-ref act-25 1))) (vector 0 e-2))) (else (let ((e-6 (vector-ref act-25 1))) (let ((sc3 (PreludeC-45Types-elem (cons (lambda (arg-2) (lambda (arg-3) (PreludeC-45EqOrd-u--C-61C-61_Eq_String arg-2 arg-3))) (lambda (arg-4) (lambda (arg-5) (PreludeC-45EqOrd-u--C-47C-61_Eq_String arg-4 arg-5)))) e-0 e-6))) (cond ((equal? sc3 1) (vector 1 (PreludeC-45Interfaces-concat (cons (vector (lambda (u--acc) (lambda (u--elem) (lambda (u--func) (lambda (u--init) (lambda (u--input) (PreludeC-45Types-u--foldr_Foldable_List u--func u--init u--input)))))) (lambda (u--elem) (lambda (u--acc) (lambda (u--func) (lambda (u--init) (lambda (u--input) (PreludeC-45Types-u--foldl_Foldable_List u--func u--init u--input)))))) (lambda (u--elem) (lambda (arg-1094) (PreludeC-45Types-u--null_Foldable_List arg-1094))) (lambda (u--elem) (lambda (u--acc) (lambda (u--m) (lambda (i_con-0) (lambda (u--funcM) (lambda (u--init) (lambda (u--input) (PreludeC-45Types-u--foldlM_Foldable_List i_con-0 u--funcM u--init u--input)))))))) (lambda (u--elem) (lambda (arg-1098) (PreludeC-45Types-u--toList_Foldable_List arg-1098))) (lambda (u--a) (lambda (u--m) (lambda (i_con-0) (lambda (u--f) (lambda (arg-1100) (PreludeC-45Types-u--foldMap_Foldable_List i_con-0 u--f arg-1100))))))) (cons (lambda (arg-2) (lambda (arg-3) (PreludeC-45Types-u--C-60C-43C-62_Semigroup_String arg-2 arg-3))) (PreludeC-45Types-u--neutral_Monoid_String))) e-5))) (else (let ((act-26 (let ((act-26 (set-box! arg-0 (cons e-0 e-6)))) (vector 1 act-26)))) (case (vector-ref act-26 0) ((0) (let ((e-2 (vector-ref act-26 1))) (vector 0 e-2))) (else (let ((act-27 (CoreC-45Core-traverseC-39 (lambda (eta-1) (lambda (eta-2) (CompilerC-45SchemeC-45Chez-n--10724-2442-u--showFld e-1 e-0 arg-0 eta-1 eta-2))) e-1 '() eta-0))) (case (vector-ref act-27 0) ((0) (let ((e-2 (vector-ref act-27 1))) (vector 0 e-2))) (else (let ((e-8 (vector-ref act-27 1))) (vector 1 (PreludeC-45TypesC-45String-C-43C-43 (PreludeC-45Interfaces-concat (cons (vector (lambda (u--acc) (lambda (u--elem) (lambda (u--func) (lambda (u--init) (lambda (u--input) (PreludeC-45Types-u--foldr_Foldable_List u--func u--init u--input)))))) (lambda (u--elem) (lambda (u--acc) (lambda (u--func) (lambda (u--init) (lambda (u--input) (PreludeC-45Types-u--foldl_Foldable_List u--func u--init u--input)))))) (lambda (u--elem) (lambda (arg-1094) (PreludeC-45Types-u--null_Foldable_List arg-1094))) (lambda (u--elem) (lambda (u--acc) (lambda (u--m) (lambda (i_con-0) (lambda (u--funcM) (lambda (u--init) (lambda (u--input) (PreludeC-45Types-u--foldlM_Foldable_List i_con-0 u--funcM u--init u--input)))))))) (lambda (u--elem) (lambda (arg-1098) (PreludeC-45Types-u--toList_Foldable_List arg-1098))) (lambda (u--a) (lambda (u--m) (lambda (i_con-0) (lambda (u--f) (lambda (arg-1100) (PreludeC-45Types-u--foldMap_Foldable_List i_con-0 u--f arg-1100))))))) (cons (lambda (arg-2) (lambda (arg-3) (PreludeC-45Types-u--C-60C-43C-62_Semigroup_String arg-2 arg-3))) (PreludeC-45Types-u--neutral_Monoid_String))) e-5) (PreludeC-45TypesC-45String-C-43C-43 "(define-ftype " (PreludeC-45TypesC-45String-C-43C-43 e-0 (PreludeC-45TypesC-45String-C-43C-43 " (struct\xa;\x9;" (PreludeC-45TypesC-45String-C-43C-43 (CoreC-45NameC-45Namespace-showSep "\xa;\x9;" e-8) "))\xa;")))))))))))))))))))))))))))) ((18) (let ((e-2 (vector-ref arg-1 1))) (CompilerC-45SchemeC-45Chez-mkStruct arg-0 e-2))) ((17) (let ((e-3 (vector-ref arg-1 1))) (let ((e-4 (vector-ref arg-1 2))) (lambda (eta-0) (let ((act-24 (PreludeC-45IO-u--map_Functor_IO (lambda (eta-1) (case (vector-ref eta-1 0) ((0) (let ((e-2 (vector-ref eta-1 1))) (vector 0 e-2))) (else (vector 1 0)))) (CompilerC-45SchemeC-45Chez-mkStruct arg-0 e-3) eta-0))) (case (vector-ref act-24 0) ((0) (let ((e-2 (vector-ref act-24 1))) (vector 0 e-2))) (else ((CompilerC-45SchemeC-45Chez-mkStruct arg-0 e-4) eta-0))))))))(else (lambda (eta-0) (vector 1 ""))))))
|
||||
|
19
flake.lock
19
flake.lock
@ -45,11 +45,28 @@
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs-chez-racket": {
|
||||
"locked": {
|
||||
"lastModified": 1627484694,
|
||||
"narHash": "sha256-UsEb5G0ZJ8l/2y9u9FNj2akXx2PC5QAan24U3t32cfI=",
|
||||
"owner": "L-as",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9b3c4bee8cee477ac03b0cfd4ebca40954c66106",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "L-as",
|
||||
"ref": "chez-racket",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"idris-emacs-src": "idris-emacs-src",
|
||||
"nixpkgs": "nixpkgs"
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-chez-racket": "nixpkgs-chez-racket"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
14
flake.nix
14
flake.nix
@ -6,8 +6,10 @@
|
||||
url = "github:redfish64/idris2-mode";
|
||||
flake = false;
|
||||
};
|
||||
# FIXME: Remove this when https://github.com/NixOS/nixpkgs/pull/131833 gets merged
|
||||
inputs.nixpkgs-chez-racket.url = "github:L-as/nixpkgs?ref=chez-racket";
|
||||
|
||||
outputs = { self, nixpkgs, flake-utils, idris-emacs-src }:
|
||||
outputs = { self, nixpkgs, nixpkgs-chez-racket, flake-utils, idris-emacs-src }:
|
||||
let
|
||||
idris2-version = "0.4.0";
|
||||
lib = import ./nix/lib.nix;
|
||||
@ -26,15 +28,17 @@
|
||||
per-system = { config ? { }, overlays ? [ ] }: system:
|
||||
let
|
||||
pkgs = import nixpkgs { inherit config system overlays; };
|
||||
chez = if system == "x86_64-linux"
|
||||
then pkgs.chez
|
||||
else pkgs.callPackage "${nixpkgs-chez-racket}/pkgs/development/compilers/chez-racket" { inherit (pkgs.darwin) cctools; };
|
||||
idris2Pkg = pkgs.callPackage ./nix/package.nix {
|
||||
inherit idris2-version;
|
||||
inherit idris2-version chez;
|
||||
srcRev = self.shortRev or "dirty";
|
||||
};
|
||||
buildIdris = { projectName, src, idrisLibraries }:
|
||||
pkgs.callPackage ./nix/buildIdris.nix
|
||||
{ inherit src projectName idrisLibraries idris2-version; idris2 = idris2Pkg; };
|
||||
in
|
||||
if system != "aarch64-linux" then rec {
|
||||
in rec {
|
||||
checks = import ./nix/test.nix {
|
||||
inherit (pkgs) system stdenv runCommand lib;
|
||||
inherit nixpkgs flake-utils;
|
||||
@ -45,7 +49,7 @@
|
||||
// (import ./nix/text-editor.nix { inherit pkgs idris-emacs-src idris2Pkg; });
|
||||
inherit buildIdris;
|
||||
defaultPackage = packages.idris2;
|
||||
} else { };
|
||||
};
|
||||
in
|
||||
lib.mkOvrOptsFlake (opts: flake-utils.lib.eachDefaultSystem (per-system opts) // sys-agnostic);
|
||||
}
|
||||
|
@ -7,7 +7,6 @@
|
||||
, makeWrapper
|
||||
, idris2-version
|
||||
, srcRev
|
||||
, racket
|
||||
, gambit
|
||||
, nodejs
|
||||
, zsh
|
||||
|
@ -92,7 +92,7 @@ schHeader chez libs whole
|
||||
"(import (chezscheme))\n" ++
|
||||
"(case (machine-type)\n" ++
|
||||
" [(i3fb ti3fb a6fb ta6fb) #f]\n" ++
|
||||
" [(i3le ti3le a6le ta6le) (load-shared-object \"libc.so.6\")]\n" ++
|
||||
" [(i3le ti3le a6le ta6le tarm64le) (load-shared-object \"libc.so.6\")]\n" ++
|
||||
" [(i3osx ti3osx a6osx ta6osx) (load-shared-object \"libc.dylib\")]\n" ++
|
||||
" [(i3nt ti3nt a6nt ta6nt) (load-shared-object \"msvcrt.dll\")]\n" ++
|
||||
" [else (load-shared-object \"libc.so\")])\n\n" ++
|
||||
|
@ -44,7 +44,7 @@ schHeader libs compilationUnits = unlines
|
||||
++ unwords ["(" ++ cu ++ ")" | cu <- compilationUnits]
|
||||
++ ")"
|
||||
, "(case (machine-type)"
|
||||
, " [(i3le ti3le a6le ta6le) (load-shared-object \"libc.so.6\")]"
|
||||
, " [(i3le ti3le a6le ta6le tarm64le) (load-shared-object \"libc.so.6\")]"
|
||||
, " [(i3osx ti3osx a6osx ta6osx) (load-shared-object \"libc.dylib\")]"
|
||||
, " [(i3nt ti3nt a6nt ta6nt) (load-shared-object \"msvcrt.dll\")"
|
||||
, " (load-shared-object \"ws2_32.dll\")]"
|
||||
|
Loading…
Reference in New Issue
Block a user