may need super-user privileges to do the installation step.
@end enumerate
-@emph{After} you have installed Scheme, you can install a few
-dynamically loadable options. These are configured, built and
-installed in the customary way. To install the @code{gdbm}
-option:
-
-@smallexample
-(cd gdbm && ./configure && make && make install)
-@end smallexample
-
-The @code{make install} command will attempt to create a subdirectory
-in the first directory on the host Scheme's library path. If that
-directory is not writable by you, super-user privileges may be
-required.
-
-You can put a writable directory at the front of your host Scheme's
-library path by setting the @code{MITSCHEME_LIBRARY_PATH} environment
-variable
-
-@smallexample
-export MITSCHEME_LIBRARY_PATH=\
- ~/mit-scheme-plugins:/usr/local/lib/mit-scheme-x86-64
-@end smallexample
-
-or including the @code{--prepend-library} option on the command line.
-
-@smallexample
-mit-scheme --prepend-library ~/mit-scheme-plugins
-@end smallexample
-
-A few of the included options wrap popular Unix libraries. To compile
-and link them you often need ``developers' packages'' installed first.
-The following table lists the included options and an example
-developers' package name (and shared library name). The package names
-can vary quite a bit among Unix distributions; the library names less
-so. Please see the @file{README} file in each option's subdirectory
-for more information.
-
-@table @option
-@item blowfish
-libssl-dev (-lcrypto)
-@item gdbm
-libgdbm-dev (-lgdbm)
-@item mcrypt
-libmcrypt-dev (-lmcrypt)
-@item postgresql
-libpq-dev (-lpq)
-@item X11
-libx11-dev (-lX11)
-@end table
-
-After installing the software and any options, you can delete the
-unpacked directory:
+After you have installed Scheme you will want to install several
+@dfn{plugins}. Scheme no longer uses dynamically loaded microcode
+modules installed with Scheme. The micromodules have been converted
+into plugins: new subsystems that use the C/FFI to dynamically load
+the same code. Crucially at this point plugins can be built and
+installed separately.
+
+To get all of the functionality previously available in version 9.2
+you will need to build and install all of the plugins included in the
+@file{src} subdirectory: blowfish, gdbm, mcrypt, pgsql, x11 and
+x11-screen. Without the x11-screen option installed Edwin will only
+display on a terminal.
+
+These plugins are all configured, built and installed in the GNU
+standard way. See the @file{README} file in each plugin's source
+directory for complete details.
+
+After installing Scheme and your desired plugins, you can delete the
+source directory:
@example
cd ../..
The Blowfish option.
-This plugin creates a (blowfish) package. It is built in the
-customary GNU way:
+This plugin creates a (blowfish) package. It is built in the GNU
+standard way (below). It expects the blowfish library header file to
+be available, but often headers are not installed with the library.
+On Ubuntu, when using the OpenSSL library, the libssl-dev package must
+be installed before running the configure script. Other options
+include the libcrypto++-dev package or any library that provides the
+blowfish header. (Some adjustment to the configure script may be
+necessary.)
+
+The GNU standard way:
./configure [--with-openssl=directory]...
- make all check install
+ make all
+ make check
+ make install
+
+The last command will attempt to create a subdirectory in the first
+directory on Scheme's library path. If that directory is not writable
+by you, super-user privileges may be required.
To use:
(import (blowfish)
blowfish-set-key
...))
+
+Please see the manual for API details. An Info version should have
+been installed along with the plugin. If you have a texlive or
+similar TeX environment installed, then HTML and PDF versions of the
+manual can be created with the GNU standard targets install-html and
+install-pdf.
The GDBM option.
-This plugin creates a (gdbm) package. It is built in the customary
-GNU way:
+This plugin creates a (gdbm) package. It is built in the GNU standard
+way (below). It expects the blowfish library header file to be
+available, but often headers are not installed with the library. On
+Ubuntu the libgdbm-dev package must be installed before running the
+configure script.
+
+The GNU standard way:
./configure ...
- make all check install
+ make all
+ make check
+ make install
+
+The last command will attempt to create a subdirectory in the first
+directory on Scheme's library path. If that directory is not writable
+by you, super-user privileges may be required.
To use:
(import (gdbm)
gdbm-open
...))
+
+Please see the manual for API details. An Info version should have
+been installed along with the plugin. If you have a texlive or
+similar TeX environment installed, then HTML and PDF versions of the
+manual can be created with the GNU standard targets install-html and
+install-pdf.
The Mcrypt option.
-This plugin creates an (mcrypt) package. It is built in the customary
-GNU way:
+This plugin creates an (mcrypt) package. It is built in the GNU
+standard way (below). It expects the mcrypt library header file to be
+available, but often headers are not installed with the library. On
+Ubuntu the libmcrypt-dev package must be installed before running the
+configure script.
+
+The GNU standard way:
./configure ...
- make all check install
+ make all
+ make check
+ make install
+
+The last command will attempt to create a subdirectory in the first
+directory on Scheme's library path. If that directory is not writable
+by you, super-user privileges may be required.
To use:
The PostgreSQL option.
-This plugin creates a (postgresql) package. It is built in the customary
-GNU way:
+This plugin creates a (postgresql) package. It is built in the GNU
+standard way (below). It expects the pkg-config command to know about
+libpq. On Ubuntu this means the pkg-config and libpq-dev packages
+must be installed before running the configure script.
+
+The GNU standard way:
./configure ...
- make all check install
+ make all
+ make check
+ make install
+
+The last command will attempt to create a subdirectory in the first
+directory on Scheme's library path. If that directory is not writable
+by you, super-user privileges may be required.
To use:
The X11-SCREEN option.
-This plugin creates an (edwin screen x11-screen) package that
-registers an Edwin display type named X11, an exact replacement for
-the microcode module based X screen type. The plugin is built in the
-customary GNU way, except that it must be installed prior to running
-tests.
+This option creates an (edwin screen x11-screen) package that is
+autoloaded by Edwin's X display type. It is built in the GNU standard
+way (below). It does not use the C/FFI but uses the X11 plugin's
+Terminal API.
+
+The GNU standard way:
./configure ...
- make all install check
+ make all
+ make check
+ make install
-To load:
+The last command will attempt to create a subdirectory in the first
+directory on Scheme's library path. If that directory is not writable
+by you, super-user privileges may be required.
- (load-option 'x11-screen)
+To use:
-Loading this plugin re-assigns bindings in (edwin) and (edwin
-x-commands); any existing Edwin screens will stop working. You must
-load this option before starting Edwin. If the DISPLAY environment
-variable is set, Edwin will create X11 screens.
+This option is autoloaded by Edwin when the DISPLAY environment
+variable is set.
The X11 option.
-This plugin creates an (x11) package. It is built in the customary
-GNU way:
+This plugin creates an (x11) package. It is built in the GNU standard
+way (below). It expects the pkg-config command to know about x11, and
+for certain auxiliary headers to be available. On Ubuntu this means
+the pkg-config, libx11-dev and x11proto-dev packages must be installed
+before running the configure script.
+
+The GNU standard way:
./configure ...
- make all check install
+ make all
+ make check
+ make install
+
+The last command will attempt to create a subdirectory in the first
+directory on Scheme's library path. If that directory is not writable
+by you, super-user privileges may be required.
To use:
(load-option 'x11)
(import-x11)
-The import-x11 procedure will modify the REPL's current environment by
-adding bindings linked to the plugin's exports, which are not exported
-to the global environment because they would conflict with the
-deprecated exports from (runtime x-graphics).
+Import-x11 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 deprecated
+exports from (runtime x-graphics).
To import into a CREF package set, add this to your .pkg file: