shirok / get-gauche Goto Github PK
View Code? Open in Web Editor NEWSmall shell script to install and update Gauche Scheme easily
Home Page: https://practical-scheme.net/gauche
License: MIT License
Small shell script to install and update Gauche Scheme easily
Home Page: https://practical-scheme.net/gauche
License: MIT License
NAME get-gauche.sh - Ensure Gauche availability SYNOPSIS get-gauche.sh [--system|--home|--current|--prefix PREFIX|--update] [--auto][--version VERSION][--check-only][--force][--list] [--skip-tests][--configure-args ARGS][--destdir DIR] [--uninstall] DESCRIPTION The `get-gauche.sh` script is a convenient way to ensure Gauche installed on the running platform. By default, it checks if the desired version of Gauche is already installed, and if not, download the tarball and install it. It can also be used with distributing Gauche applications. In the application's build or installation script, you can call get-gauche.sh, so that the user won't need to install Gauche separately. If --check-only option is given, the script only checks if Gauche has already installed but does not attempt to download and install. The installation location can be specified by --prefix, --system, --home, --update or --current option. These options are mutually exclusive. When none of these options is given, get-gauche.sh prompts the user to enter the location. (The location must be specified with --auto option.) If --force options is given, the script always downloads and installs Gauche, regardless of whether Gauche is already installed or not. By default, installed Gauche is searched in $PATH as well as the specified location. So, for example, if Gauche is installed under /usr and 'get-gauche.sh --home' is run, and if it finds /usr/bin/gosh and the version requirement is satisfied, it won't attempt to install Gauche unless --force option is given. If you want to ensure that desired Gauche is always installed under specified location, use --fixed-path option. If you don't have the write permission in the install destination, get-gauche.sh asks you if it can use sudo to install Gauche. You can use --sudo option to omit its asking. OPTIONS --auto When get-gauche.sh finds Gauche needs to be installed, it proceed to download and install without asking the user. By default, the user is asked before download begins. --check-only detect Gauche and report result, but not to attempt download and install. --configure-args ARGS Pass ARGS to `configure' script of Gauche. ARGS are passed as is. --current install Gauche under the current directory (e.g. ./bin/gosh for executable, ./{lib,share}/gauche-x.x/ for libraries, etc.) Equivalent to --prefix `pwd`. --destdir DIR set DESIDIR to DIR when run `male install'. This can be used to prepare a binary tarball. --fixed-path detect Gauche only under prefix (specified by --prefix, --system, --home or --current option). By default, get-gauche.sh also checks under directories in PATH. --force regardless of the result of version check, always download and install the specified version of Gauche. --home install Gauche under the user's home directory (e.g. $HOME/bin/gosh for executable, $HOME/{lib,share}/gauche-x.x/ for libraries, etc.) Equivalent to --preifx $HOME. --keep-builddir Do not remove build directory after installation. Useful for troubleshooting. Build directory is created under the current directory with a name 'build-YYYYMMDD_hhmmss.xxxxxx' where 'YYYYMMDD_hhmmss' is the timestamp and 'xxxxxx' is a random string. --list show valid Gauche versions for --version option and exit. No other operations are performed. --prefix PREFIX install Gauche under PREFIX. The gosh executable is in PREFIX/bin, binary libraries are in PREFIX/{lib,share}, etc. --skip-tests Skip running self-tests before installing, in the emergency case when you have to do so. DO NOT USE THIS, unless you know what you're doing. --sudo invoke 'make install' via sudo. Needed if you want to install Gauche where you don't have write permissions. You may be asked to type your password by sudo. --uninstall uninstall the version of Gauche which would've been installed if this option weren't given. The other versions of Gauche remains, if they exist. Note: This operation removes all the files of the specified version, but may keep empty directories created by installation. --update install Gauche under the same directory as the currently installed one. If no previous installation is found, get-gauche.sh prompts the user to type the directory. --system install Gauche under system directory. Equivalent to --prefix /usr. --version VERSION specify the desired version of Gauche. VERSION can be a version string (e.g. `0.9.5'), or either `latest' or `snapshot'. The word `latest' picks the latest release. The word `snapshot' picks the newest snapshot tarball if there's any newer than the latest release, or the latest release otherwise. By default, `latest' is assumed. EXAMPLES 1. The simplest way to install the latest release. The user will be asked install location. If there's already another Gauche installed, its prefix is presented as the default install location. $ get-gauche.sh 2. You want to have the latest release of Gauche. If the system already has it, you can use it. Otherwise, install under your home directory. $ get-gauche.sh --home 3. You want to update installed Gauche to the latest snapshot. The existing Gauche is installed in the system directory so you need to use sudo to install. $ get-gauche.sh --update --sudo --version snapshot 4. You distribute a Gauche application, and always want to use Gauche 0.9.4 under application-specific directory. You can run get-gauche.sh during the build or installation process of your application as follows: $ get-gauche.sh --version 0.9.4 --prefix /app/dir/gauche \ --fixed-path --auto The --fixed-path option ignores other Gauches installed under PATH but only checks /app/dir/gauche. If there's already 0.9.4 or later Gauche under that directory, you'll use it. Otherwise that version is downloaded and installed there.
These days, easy way to uninstall is a norm.
Currently, --skip-tests
skips entire tests. If we want to workaround a known test failure, we want to skip just that test.
Alternatively, we run tests but proceed to install even some of them fails. We can let the user specify # of tests allowed to be failed. Then we can just look at the test report line.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.