diff options
| author | 2025-08-19 00:03:54 -0700 | |
|---|---|---|
| committer | 2025-08-19 00:03:54 -0700 | |
| commit | 5e67fee239a9b8530730a59cdaefd6e861a313cb (patch) | |
| tree | cd43c209bffb36723f4abea09b55416212d4a32b | |
| parent | aa111d30260684d0655b4eb1fb5b1ffaeb35ec03 (diff) | |
| download | new-dotfiles-5e67fee239a9b8530730a59cdaefd6e861a313cb.tar.gz new-dotfiles-5e67fee239a9b8530730a59cdaefd6e861a313cb.zip | |
scsh: Add temporary package
This is to make my profile work again.
| -rw-r--r-- | oni/packages/scsh.scm | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/oni/packages/scsh.scm b/oni/packages/scsh.scm new file mode 100644 index 0000000..5aee152 --- /dev/null +++ b/oni/packages/scsh.scm @@ -0,0 +1,108 @@ +(define-module (oni packages scsh) + #:use-module (gnu packages) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) + #:use-module (gnu packages bison) + #:use-module (gnu packages check) + #:use-module (gnu packages compression) + #:use-module (gnu packages crypto) + #:use-module (gnu packages curl) + #:use-module (gnu packages documentation) + #:use-module (gnu packages groff) + #:use-module (gnu packages guile) + #:use-module (gnu packages libbsd) + #:use-module (gnu packages libedit) + #:use-module (gnu packages linux) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages python-build) + #:use-module (gnu packages python-check) + #:use-module (gnu packages python-web) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages readline) + #:use-module (gnu packages scheme) + #:use-module (gnu packages terminals) + #:use-module (gnu packages version-control) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xorg) + #:use-module (gnu packages texinfo) + #:use-module (guix build-system cmake) + #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) + #:use-module (guix build-system pyproject) + #:use-module (guix build-system python) + #:use-module (guix build-system trivial) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix gexp) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix utils)) + +(define-public scsh + (let ((commit "4acf6e4ed7b65b46186ef0c9c2a1e10bef8dc052") + (revision "0")) + (package + (name "scsh") + (version (git-version "0.7" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/scheme/scsh") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1czrp808v5gs0ci5lmkp3wr3gfkrb3vd5b2iw2hz1bpqgaf6bxpv")) + (patches (search-patches "scsh-nonstring-search-path.patch")) + (modules '((guix build utils))) + (snippet + #~(begin + (substitute* "Makefile.in" + (("SCHEME48VERSION = 1.9.2") + (string-append "SCHEME48VERSION = " #$(package-version scheme48)))))))) + (build-system gnu-build-system) + (arguments + (list + #:test-target "test" + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'replace-rx + (lambda _ + (let ((rxpath (string-append #$scheme48-rx + "/share/scheme48-" + #$(package-version scheme48) + "/rx"))) + (delete-file-recursively "rx") + (symlink rxpath "rx")))) + (add-after 'replace-rx 'fix-includes + (lambda _ + (with-directory-excursion "c" + (substitute* "syscalls.c" + (("#include <stdlib.h>" all) + (string-append all "\n#include <time.h>"))) + (substitute* "tty.c" + (("#include <termios.h>" all) + (string-append all "\n#include <pty.h>"))))))))) + (inputs + (list scheme48 scheme48-rx)) + (native-inputs + (list autoconf automake)) + (native-search-paths + (list (search-path-specification + (variable "SCSH_LIB_DIRS") + (separator " ") + (files '("share/scsh-0.7"))))) + (home-page "https://github.com/scheme/scsh") + (synopsis "Unix shell embedded in Scheme") + (description + "Scsh is a Unix shell embedded in Scheme. Scsh has two main +components: a process notation for running programs and setting up pipelines +and redirections, and a complete syscall library for low-level access to the +operating system.") + (license license:bsd-3)))) |
