diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..10c26b5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +scratch/ +/.dir-locals.el diff --git a/modules/ordo/prerequisite-data.scm b/modules/ordo/prerequisite-data.scm new file mode 100644 index 0000000..6a8d5f4 --- /dev/null +++ b/modules/ordo/prerequisite-data.scm @@ -0,0 +1,17 @@ +(define-module (ordo prerequisite-data) + #:use-module (oop goops)) + +(define-class ()) + +(define-class () + (path #:init-keyword #:path #:getter get-path)) + +(define-method (equal? (x ) (y )) + (equal? (get-path x) (get-path y))) + +(define (local-file path) + (make #:path path)) + +(define-class () + (handler #:init-keyword #:handler #:getter get-handler) + (args #:init-keyword #:args :getter get-args)) diff --git a/modules/ordo/util/filesystem.scm b/modules/ordo/util/filesystem.scm index 5f3d14f..3b70ffb 100644 --- a/modules/ordo/util/filesystem.scm +++ b/modules/ordo/util/filesystem.scm @@ -34,6 +34,8 @@ ;; This is based on reading guix/build/syscalls.scm but less general ;; than their implementation. +;; TODO: why is this needed? The guile standard library has mkdtemp +;; that seems to do the same thing. (define mkdtemp! (let* ((ptr (dynamic-func "mkdtemp" (dynamic-link))) (proc (pointer->procedure '* ptr '(*) #:return-errno? #t)))