diff options
| author | 2025-08-17 11:58:14 -0400 | |
|---|---|---|
| committer | 2025-08-17 11:58:14 -0400 | |
| commit | 147dc2a005f1e9483267371312b3d1653da9f409 (patch) | |
| tree | cde603411692c476dd624389744ae0c28c2640b1 /mcgoron/guix | |
| parent | chez (diff) | |
try vicare
Diffstat (limited to '')
| -rw-r--r-- | mcgoron/guix/gauche-build-system.scm_ (renamed from mcgoron/guix/gauche-build-system.scm) | 0 | ||||
| -rw-r--r-- | mcgoron/guix/patches/vicare-0.4.1-modern-glibc.patch | 45 | ||||
| -rw-r--r-- | mcgoron/guix/scheme-hello-world.scm_ (renamed from mcgoron/guix/scheme-hello-world.scm) | 0 | ||||
| -rw-r--r-- | mcgoron/guix/scheme-packages.scm | 59 |
4 files changed, 104 insertions, 0 deletions
diff --git a/mcgoron/guix/gauche-build-system.scm b/mcgoron/guix/gauche-build-system.scm_ index 6a4b8f5..6a4b8f5 100644 --- a/mcgoron/guix/gauche-build-system.scm +++ b/mcgoron/guix/gauche-build-system.scm_ diff --git a/mcgoron/guix/patches/vicare-0.4.1-modern-glibc.patch b/mcgoron/guix/patches/vicare-0.4.1-modern-glibc.patch new file mode 100644 index 0000000..3191084 --- /dev/null +++ b/mcgoron/guix/patches/vicare-0.4.1-modern-glibc.patch @@ -0,0 +1,45 @@ +diff --git a/meta/autoconf/vicare.m4 b/meta/autoconf/vicare.m4 +index 691c95e8..e85aa27f 100644 +--- a/meta/autoconf/vicare.m4 ++++ b/meta/autoconf/vicare.m4 +@@ -192,9 +192,11 @@ AC_INCLUDES_DEFAULT + #ifdef HAVE_NETDB_H + # include <netdb.h> + #endif ++#if 0 + #ifdef HAVE_NET_IF_H + # include <net/if.h> + #endif ++#endif + #ifdef HAVE_NETINET_ETHER_H + # include <netinet/ether.h> + #endif +diff --git a/src/ikarus-glibc.c b/src/ikarus-glibc.c +index d6be4925..ce742c6b 100644 +--- a/src/ikarus-glibc.c ++++ b/src/ikarus-glibc.c +@@ -45,9 +45,11 @@ + #ifdef HAVE_MATH_H + # include <math.h> + #endif ++#if 0 + #ifdef HAVE_NET_IF_H + # include <net/if.h> + #endif ++#endif + #ifdef HAVE_REGEX_H + # include <regex.h> + #endif +diff --git a/src/ikarus-main.c b/src/ikarus-main.c +index b81d4c02..7b73618b 100644 +--- a/src/ikarus-main.c ++++ b/src/ikarus-main.c +@@ -30,7 +30,7 @@ + #include <sys/types.h> + + extern int cpu_has_sse2(); +-static void register_handlers(); ++static void register_handlers(int); + static void register_alt_stack(); + + /* When true: internals inspection messages are enabled. It is used by diff --git a/mcgoron/guix/scheme-hello-world.scm b/mcgoron/guix/scheme-hello-world.scm_ index 5322db8..5322db8 100644 --- a/mcgoron/guix/scheme-hello-world.scm +++ b/mcgoron/guix/scheme-hello-world.scm_ diff --git a/mcgoron/guix/scheme-packages.scm b/mcgoron/guix/scheme-packages.scm index 4018efe..9c9d4cb 100644 --- a/mcgoron/guix/scheme-packages.scm +++ b/mcgoron/guix/scheme-packages.scm @@ -38,6 +38,9 @@ #:use-module (gnu packages textutils) #:use-module (gnu packages multiprecision) #:use-module (gnu packages chez) + #:use-module (gnu packages autotools) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages readline) #:use-module (guix gexp)) ;;;;;;;;;;;;; @@ -723,3 +726,59 @@ The current release of Mosh supports all of the features R7RS small and R6RS.")) ,(append-to "CHEZSCHEMELIBDIRS" "GUIX_CHEZ_PATH" "R6RS_LIBRARY_PATH") impl)))) +#| +;;;;;;;;;;;; +;;;; Vicare +;;;; For reasons unknown to me, Vicare will segfault when compiling some +;;;; libraries. It also depends on a much older glibc. +;;;;;;;;;;;; + +(define-public vicare-lib-dir "share/vicare") + +(define-public vicare-build-system + (default-copying-build-system 'vicare + "Copy Scheme libraries into SKint directory" + vicare-lib-dir)) + +(define-public vicare + (package + (name "vicare") + (version "0.4.1-devel.3") + (source + (origin + (method git-fetch) + (uri (git-reference (url "https://github.com/marcomaggi/vicare") + (commit (string-append "v" version)))) + (patches (search-patches "mcgoron/guix/patches/vicare-0.4.1-modern-glibc.patch")) + (sha256 (base32 "08h3gb0s5kpf6g4pk7l90jmn753p39lg1zfs71gqv4zz5a6k5yzb")))) + (build-system gnu-build-system) + ;;;; TODO: fix libraries + (arguments '(#:configure-flags '("--disable-rpath" "--enable-maintainer-mode" "--disable-glibc") )) + (inputs (list gmp libffi libtool automake autoconf texinfo readline)) + (home-page "https://github.com/marcomaggi/vicare") + (synopsis "A native compiler for Scheme compliant with R6RS") + (license gpl3+) + (description "Vicare Scheme is an R6RS compliant fork of Ikarus Scheme, aiming to become a native compiler for R6 Scheme producing single threaded programs running on Intel x86 32-bit and 64-bit processors."))) + +(define-public vicare-with-path + (package/path vicare + "vicare" + "Vicare with Guix paths" + "Wrapper for Vicare that adds Guix-managed paths" + "/bin/vicare" + "/bin/vicare" + "GUIX_VICARE_PATH" + (list r6rs-search-path-specification) + vicare-lib-dir + `(lambda (sh impl) + (format #t + "#!~a + + ~a + + exec -a $0 \"~a\" \"$@\"" + sh + ,(append-to "VICARE_LIBRARY_PATH" "GUIX_VICARE_PATH" "R6RS_LIBRARY_PATH") + impl)))) + +|# |
