Coder Social home page Coder Social logo

leque / get-gauche Goto Github PK

View Code? Open in Web Editor NEW

This project forked from practical-scheme/get-gauche

0.0 3.0 0.0 31 KB

Small shell script to install and update Gauche Scheme easily

Home Page: https://practical-scheme.net/gauche

License: MIT License

Makefile 0.97% Shell 99.03%

get-gauche's Introduction

NAME

    get-gauche.sh - Ensure Gauche availability

SYNOPSIS

    get-gauche.sh [--system|--home|--current|--prefix PREFIX|--update]
                  [--auto][--version VERSION][--check-only][--force][--list]
                  [--fixed-path][--keep-builddir][--sudo]

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.

    --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`.

    --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.

    --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.
    
    --system
        install Gauche under system directory.
        Equivalent to --prefix /usr.

    --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.

    --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.

get-gauche's People

Contributors

hamayama avatar shirok avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.