aboutsummaryrefslogtreecommitdiffstats
path: root/examples/pffi-guile.scm
diff options
context:
space:
mode:
authorGravatar Peter McGoron 2025-08-08 10:42:27 -0400
committerGravatar Peter McGoron 2025-08-08 10:42:27 -0400
commit44433f42f14eb0c86b87555710c3d950dd300099 (patch)
tree6bacee719592db24f6e86ec2818ab06bd01429db /examples/pffi-guile.scm
parentupdate README.md (diff)
rationalize packages, add foment
Diffstat (limited to 'examples/pffi-guile.scm')
-rw-r--r--examples/pffi-guile.scm64
1 files changed, 0 insertions, 64 deletions
diff --git a/examples/pffi-guile.scm b/examples/pffi-guile.scm
deleted file mode 100644
index 8519926..0000000
--- a/examples/pffi-guile.scm
+++ /dev/null
@@ -1,64 +0,0 @@
-#| Copyright (C) 2025 Peter McGoron
- |
- | This program is free software: you can redistribute it and/or modify it
- | under the terms of the GNU General Public License as published by the
- | Free Software Foundation, either version 3 of the License, or (at your
- | option) any later version.
- |
- | This program is distributed in the hope that it will be useful, but
- | WITHOUT ANY WARRANTY; without even the implied warranty of
- | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- | General Public License for more details.
- |
- | You should have received a copy of the GNU General Public License along
- | with this program. If not, see <https://www.gnu.org/licenses/>.
- |#
-
-(use-modules (gnu packages guile)
- (guix build-system copy)
- (guix git-download)
- (guix packages)
- (guix gexp)
- (guix licenses))
-
-(package
- (name "pffi-guile")
- (version "0.5.0")
- (synopsis "Portable Foreign Function Interface for R7RS")
- (description "Portable Foreign Function Interface for R7RS")
- (license lgpl3+)
- (home-page "https://sr.ht/~retropikzel/r7rs-pffi")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://git.sr.ht/~retropikzel/r7rs-pffi/")
- (commit "v0.5.0")))
- (file-name (git-file-name "r7rs-pffi" version))
- (sha256
- (base32 "1ggkafggyqqla6ba8dlhzvvf6v7i6scpa2xyr1mfxxy8iwnl70aa"))))
- (build-system copy-build-system)
- (inputs (list guile-3.0))
- (arguments
- (let* ((base-dir "share/guile/site/3.0/retropikzel/")
- (libdir (string-append base-dir "r7rs-pffi/")))
- ;; Guile doesn't load sld files. It also won't load relative to the
- ;; site directory.
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-paths
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (string-append (assoc-ref outputs "out")
- "/"
- ,libdir)))
- (substitute* '("retropikzel/r7rs-pffi.sld")
- (("\\(include \"r7rs-pffi")
- (string-append "(include \""
- out)))))))
- #:install-plan
- '(("retropikzel/r7rs-pffi.sld" ,(string-append
- base-dir
- "r7rs-pffi.scm"))
- ("retropikzel/r7rs-pffi/guile.scm" ,libdir)
- ("retropikzel/r7rs-pffi/main.scm" ,libdir)
- ("retropikzel/r7rs-pffi/struct.scm" ,libdir))))))