plugin READMEs: Suggest the new import procedures.
authorMatt Birkholz <matt@birchwood-abbey.net>
Wed, 17 May 2017 23:10:33 +0000 (16:10 -0700)
committerMatt Birkholz <matt@birchwood-abbey.net>
Wed, 17 May 2017 23:10:33 +0000 (16:10 -0700)
15 files changed:
src/blowfish/README
src/blowfish/blowfish.pkg
src/blowfish/blowfish.scm
src/gdbm/README
src/gdbm/gdbm.pkg
src/gdbm/gdbm.scm
src/mcrypt/README
src/mcrypt/mcrypt.pkg
src/mcrypt/mcrypt.scm
src/md5/README
src/md5/md5.pkg
src/md5/md5.scm
src/mhash/README
src/mhash/mhash.pkg
src/mhash/mhash.scm

index 3d283be3c28694cee9227631e830802d856302e5..60186b802107f93ea5e6a10b25ca7026b258c005 100644 (file)
@@ -1,17 +1,28 @@
-The BLOWFISH option.
+The Blowfish option.
 
-This is a drop-in replacement for the bfish microcode module and
-runtime/blowfish.scm.  It is not part of the core build and can be
-built outside the core build tree in the customary way:
+This plugin creates a (blowfish) package, a drop-in replacement for
+the microcode module based (runtime blowfish) package.  It is built in
+the customary GNU way:
 
     ./configure [--with-openssl=directory]...
     make all check install
 
-The install target copies a shared library shim and compiled Scheme
-files into the system library path, and re-writes the optiondb.scm
-found there.  You can override the default command name "mit-scheme"
-(and thus the system library path) by setting MIT_SCHEME_EXE.
+To use:
 
-To use: (load-option 'BLOWFISH) and import the bindings you want.
-They are not exported to the global environment because they would
-conflict with the exports from (runtime blowfish).
+    (load-option 'blowfish)
+    (import-blowfish)
+
+Import-blowfish will modify the REPL's current environment by adding
+bindings linked to the plugin's exports.  They are not exported to the
+global environment because they would conflict with the exports from
+(runtime blowfish).
+
+To import into a CREF package set, add this to your .pkg file:
+
+    (global-definitions blowfish/)
+
+    (define-package (your package name)
+      (parent (your package parent))
+      (import (blowfish)
+              blowfish-set-key
+              ...))
index 12d8cb9f99fb2be9b786f6240a341c6d94c19955..ea43a5647a1c7ff673aa234eb5abb1ab8833de25 100644 (file)
@@ -29,8 +29,8 @@ USA.
 (define-package (blowfish)
   (files "blowfish")
   (parent ())
-  ;; You'll have to import these from (global-definitions blowfish/).
-  ;; They are currently bound in () by exports from (runtime blowfish).
+  (export ()
+         import-blowfish)
   (export (blowfish global)
          blowfish-cbc
          blowfish-cfb64
index ccd9b2ce32cbf2354a232104cf581d5f61056163..cd5869dd6c929c11a3bdadad90289d0cb0c9ab4e 100644 (file)
@@ -29,6 +29,23 @@ USA.
 
 (declare (usual-integrations))
 \f
+(define (import-blowfish)
+  (let ((target-environment (nearest-repl/environment))
+       (source-environment (->environment '(blowfish))))
+    (for-each (lambda (name)
+               (link-variables target-environment name
+                               source-environment name))
+             '(blowfish-cbc
+               blowfish-cfb64
+               blowfish-ecb
+               blowfish-encrypt-port
+               blowfish-file?
+               blowfish-ofb64
+               blowfish-set-key
+               compute-blowfish-init-vector
+               read-blowfish-file-header
+               write-blowfish-file-header))))
+
 (C-include "blowfish")
 
 (define (blowfish-set-key bytes)
index c7968df95c84bb280a7414c66337ad63957322e0..89c7aa238e1e181d6b06131692593e41d6103b40 100644 (file)
@@ -1,17 +1,28 @@
-The GDBM option.
+The GDBM2 option.
 
-This is a drop-in replacement for the gdbm microcode module and
-runtime/gdbm.scm.  It is not part of the core build and can be built
-outside the core build tree in the customary way:
+This plugin creates a (gdbm) package, a drop-in replacement for the
+microcode module based (runtime gdbm) package.  It is built in the
+customary GNU way:
 
     ./configure ...
     make all check install
 
-The install target copies a shared library shim and compiled Scheme
-files into the system library path and re-writes the optiondb.scm
-found there.  You can override the default command name "mit-scheme"
-(and thus the system library path) by setting MIT_SCHEME_EXE.
+To use:
 
-To use: (load-option 'GDBM2) and import the bindings you want.  They
-are not exported to the global environment because they would conflict
-with the exports from (runtime gdbm).
+    (load-option 'gdbm2)
+    (import-gdbm2)
+
+Import-gdbm2 will modify the REPL's current environment by adding
+bindings linked to the plugin's exports.  They are not exported to the
+global environment because they would conflict with the exports from
+(runtime gdbm).
+
+To import into a CREF package set, add this to your .pkg file:
+
+    (global-definitions gdbm/)
+
+    (define-package (your package name)
+      (parent (your package parent))
+      (import (gdbm)
+              gdbm-open
+              ...))
index f862304ab0c0b9ddd204730de699b59e7ef68bef..c3ab5dc09b3acafc8259b9a00d27e3b62c037f3f 100644 (file)
@@ -34,6 +34,8 @@ USA.
          cp1-ref
          ustring-cp-size
          ustring?)
+  (export ()
+         import-gdbm2)
   (export (gdbm global)
          gdbm-close
          gdbm-delete
index 3f7a1e1ee4200ee4b5429f04f3c883a2defc3ab3..b337e47ff5da61f7aae8a9f09fbfd879be516e79 100644 (file)
@@ -29,6 +29,34 @@ USA.
 
 (declare (usual-integrations))
 \f
+(define (import-gdbm2)
+  (let ((target-environment (nearest-repl/environment))
+       (source-environment (->environment '(gdbm))))
+    (for-each (lambda (name)
+               (link-variables target-environment name
+                               source-environment name))
+             '(gdbm-close
+               gdbm-delete
+               gdbm-exists?
+               gdbm-fetch
+               gdbm-firstkey
+               gdbm-nextkey
+               gdbm-open
+               gdbm-reorganize
+               gdbm-setopt
+               gdbm-store
+               gdbm-sync
+               gdbm-version
+               gdbm_cachesize
+               gdbm_fast
+               ;;gdbm_fastmode obsolete
+               gdbm_insert
+               gdbm_newdb
+               gdbm_reader
+               gdbm_replace
+               gdbm_wrcreat
+               gdbm_writer))))
+
 (C-include "gdbm")
 
 (define-integrable (every-loop proc ref string start end)
index 7a73aaf9a97fd3dd4040608a910dd9fced01b43b..99e3112f7e76bbd912808344b6c972ab58944432 100644 (file)
@@ -1,18 +1,28 @@
-The MCRYPT option.
+The Mcrypt option.
 
-This is a drop-in replacement for the mcrypt microcode module and the
-mcrypt-* procedures in runtime/crypto.scm.  It is not part of the core
-build and can be built outside the core build tree in the customary
-way:
+This plugin creates an (mcrypt) package, a drop-in replacement for the
+microcode module based mcrypt-* procedures in the (runtime crypto)
+package.  It is built in the customary GNU way:
 
-    ./configure
+    ./configure ...
     make all check install
 
-The install target copies a shared library shim and compiled Scheme
-files into the system library path and re-writes the optiondb.scm
-found there.  You can override the default command name "mit-scheme"
-(and thus the system library path) by setting MIT_SCHEME_EXE.
+To use:
 
-To use: (load-option 'MCRYPT) and import the bindings you want.  They
-are not exported to the global environment because they would conflict
-with the exports from (runtime crypto).
+    (load-option 'mcrypt)
+    (import-mcrypt)
+
+Import-mcrypt will modify the REPL's current environment by adding
+bindings linked to the plugin's exports.  They are not exported to the
+global environment because they would conflict with the exports from
+(runtime crypto).
+
+To import into a CREF package set, add this to your .pkg file:
+
+    (global-definitions mcrypt/)
+
+    (define-package (your package name)
+      (parent (your package parent))
+      (import (mcrypt)
+              mcrypt-encrypt-port
+              ...))
index e3a5b9ebdb1e6f4daf32d8226f71fe6568a65218..7f3ae5a8fef8e97ca9cb7eee0938d5334d740087 100644 (file)
@@ -29,6 +29,8 @@ USA.
 (define-package (mcrypt)
   (files "mcrypt")
   (parent ())
+  (export ()
+         import-mcrypt)
   (export (mcrypt global)
          mcrypt-algorithm-name
          mcrypt-algorithm-names
index a8b65928677059f7fc300d360d0235b531218b45..b52411bd47922445f23891859424bdcd9e91f63d 100644 (file)
@@ -85,6 +85,32 @@ USA.
 ;;; alist that is periodically scanned for objects that were GCed and
 ;;; not freed.
 
+(define (import-mcrypt)
+  (let ((target-environment (nearest-repl/environment))
+       (source-environment (->environment '(mcrypt))))
+    (for-each (lambda (name)
+               (link-variables target-environment name
+                               source-environment name))
+             '(mcrypt-algorithm-name
+               mcrypt-algorithm-names
+               mcrypt-block-algorithm-mode?
+               mcrypt-block-algorithm?
+               mcrypt-block-mode?
+               mcrypt-context?
+               mcrypt-decrypt!
+               mcrypt-encrypt
+               mcrypt-encrypt!
+               mcrypt-encrypt-port
+               mcrypt-end
+               mcrypt-init
+               mcrypt-init-vector-size
+               mcrypt-key-size
+               mcrypt-mode-name
+               mcrypt-mode-names
+               mcrypt-open-module
+               mcrypt-self-test
+               mcrypt-supported-key-sizes))))
+
 (C-include "mcrypt")
 
 (define mcrypt-initialized? #f)
index d3a4fdda3a738d8263e58b1dfcbaf52513ba6d2b..eb5da29a5714870a9d6469d26bb63b6caa182b89 100644 (file)
@@ -1,18 +1,28 @@
 The MD5 option.
 
-This is a drop-in replacement for the md5 microcode module and the
-md5-* procedures in runtime/crypto.scm.  It is not part of the core
-build and can be built outside the core build tree in the customary
-way:
+This plugin creates an (md5) package, a drop-in replacement for the
+microcode module based md5-* procedures in the (runtime crypto)
+package.  It is built in the customary GNU way:
 
     ./configure [--with-openssl=directory]...
     make all check install
 
-The install target copies a shared library shim and compiled Scheme
-files into the system library path, and re-writes the optiondb.scm
-found there.  You can override the default command name "mit-scheme"
-(and thus the system library path) by setting MIT_SCHEME_EXE.
+To use:
 
-To use: (load-option 'MD5) and import the bindings you want.  They are
-not exported to the global environment because they would conflict
-with the exports from (runtime crypto).
+    (load-option 'md5)
+    (import-md5)
+
+Import-md5 will modify the REPL's current environment by adding
+bindings linked to the plugin's exports.  They are not exported to the
+global environment because they would conflict with the exports from
+(runtime crypto).
+
+To import into a CREF package set, add this to your .pkg file:
+
+    (global-definitions md5/)
+
+    (define-package (your package name)
+      (parent (your package parent))
+      (import (md5)
+              md5-file
+              ...))
index ece7a2878aab8d9adfa5469c8fec8a60d0de7fa3..de847317adf6752aab8dd7e9d93d76f2c8fede77 100644 (file)
@@ -29,6 +29,8 @@ USA.
 (define-package (md5)
   (files "md5")
   (parent ())
+  (export ()
+         import-md5)
   (export (md5 global)
          md5-bytevector
          md5-file
index abf60355c4de8d71ef24213e3b0ab9619a277276..416a2404eb79623df5bf088bda72756f42364b65 100644 (file)
@@ -29,6 +29,16 @@ USA.
 
 (declare (usual-integrations))
 \f
+(define (import-md5)
+  (let ((target-environment (nearest-repl/environment))
+       (source-environment (->environment '(md5))))
+    (for-each (lambda (name)
+               (link-variables target-environment name
+                               source-environment name))
+             '(md5-bytevector
+               md5-file
+               md5-string))))
+
 (C-include "md5")
 
 (define (%md5-init)
index f83f43d52217cbb2ad4ad4bb2686323dd2731609..ce97f35b8bd267017173e8381cc7f04e4ae819e8 100644 (file)
@@ -1,18 +1,28 @@
-The MHASH option.
+The Mhash option.
 
-This is a drop-in replacement for the mhash microcode module and the
-mhash-* procedures in runtime/crypto.scm.  It is not part of the core
-build and can be built outside the core build tree in the customary
-way:
+This plugin creates an (mhash) package, a drop-in replacement for the
+microcode module based mhash-* procedures in the (runtime crypto)
+package.  It is built in the customary GNU way:
 
-    ./configure [--with-mhash=directory]...
+    ./configure ...
     make all check install
 
-The install target copies a shared library shim and compiled Scheme
-files into the system library path, and re-writes the optiondb.scm
-found there.  You can override the default command name "mit-scheme"
-(and thus the system library path) by setting MIT_SCHEME_EXE.
+To use:
 
-To use: (load-option 'MHASH) and import the bindings you want.  They
-are not exported to the global environment because they would conflict
-with the exports from (runtime crypto).
+    (load-option 'mhash)
+    (import-mhash)
+
+Import-mhash will modify the REPL's current environment by adding
+bindings linked to the plugin's exports.  They are not exported to the
+global environment because they would conflict with the exports from
+(runtime crypto).
+
+To import into a CREF package set, add this to your .pkg file:
+
+    (global-definitions mhash/)
+
+    (define-package (your package name)
+      (parent (your package parent))
+      (import (mhash)
+              mhash-file
+              ...))
index 5264c21c9f89f88b65adf202badabc4a1993ca0b..617f7eb7c601028a2e601a4a03211737aed36e9a 100644 (file)
@@ -29,6 +29,8 @@ USA.
 (define-package (mhash)
   (files "mhash")
   (parent ())
+  (export ()
+         import-mhash)
   (initialization (initialize-package!))
   (export (mhash global)
          make-mhash-keygen-type
index c618699a5074789edcf8776e6613564ec821f4a5..c086ceb1f12d0d04cc0e6d47f877b7d2dc207bda 100644 (file)
@@ -29,6 +29,34 @@ USA.
 
 (declare (usual-integrations))
 \f
+(define (import-mhash)
+  (let ((target-environment (nearest-repl/environment))
+       (source-environment (->environment '(mhash))))
+    (for-each (lambda (name)
+               (link-variables target-environment name
+                               source-environment name))
+             '(make-mhash-keygen-type
+               mhash-bytevector
+               mhash-context?
+               mhash-end
+               mhash-file
+               mhash-get-block-size
+               mhash-hmac-end
+               mhash-hmac-init
+               mhash-hmac-update
+               mhash-init
+               mhash-keygen
+               mhash-keygen-max-key-size
+               mhash-keygen-salt-size
+               mhash-keygen-type-names
+               mhash-keygen-type?
+               mhash-keygen-uses-count?
+               mhash-keygen-uses-hash-algorithm
+               mhash-keygen-uses-salt?
+               mhash-string
+               mhash-type-names
+               mhash-update))))
+
 (C-include "mhash")
 
 (define mhash-algorithm-names)