Code Monkey home page Code Monkey logo

opam-coq-shell's Introduction

opam-coq

opam-coq is a dual purpose shell script

  1. a script to install coq starting from zero (it installs opam if needed, then it install itself)
wget https://raw.githubusercontent.com/gares/opam-coq-shell/master/src/opam-coq
sh ./opam-coq
  1. a simplified opam shell for the coq user supporting 2 profiles 1. dev: nothing special for now, just a way to have the right repos configured 2. 8.x: protected shell around a coq stable version, everything at seen is coq related and stable
```
Please run:
  opam coq init <profile>

Available profiles:

  8.4
    A stable system, version 8.4, with easy install
    of stable packages in a simplified opam shell.
    Recommended profile for beginners (non OPAM experts).
    Possibility to upgrade the system followin bug-fix
    releases of Coq 8.4

  dev
    Full control.  This profile simply adds all official
    coq related package repositories (both stable and
    unstable ones).
```

Once `init` has been run, the `8.x` profile help screen is:
	
```
Supported commands are:
  opam coq help
    this screen

  opam coq seach <keyword>
    searches the list of known coq packages for a package maching <keyword>

  opam coq install <package>
    installs the given package

  opam coq update
    update the list of available packages

  opam coq upgrade <package>
    if <package> is omitted, then coq is upgraded to the last bugfix release
    if <package> if given, then such package is upgraded to the last release
```

credits

  • Thomas Braibant had this idea first

TODO

  • test on OSX or Linux (with no Xcode/gcc installed)
  • see if something useful could be added to the devel profile
  • check opam >= 1.2

opam-coq-shell's People

Contributors

clarus avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

clarus

opam-coq-shell's Issues

Works for OPAM in `~/.opam` only

If I install OPAM in a folder different from ~/.opam I get the following message for each opam coq ... command:

CS: Info: opam not initialized, running opam init
CS: Info: please follow the instructions
OPAM has already been initialized.
In normal operation, OPAM only alters files within ~/.opam.

During this initialisation, you can allow OPAM to add information to two
other files for best results. You can also make these additions manually
if you wish.

If you agree, OPAM will modify:

  - ~/.profile (or a file you specify) to set the right environment
    variables and to load the auto-completion scripts for your shell (bash)
    on startup. Specifically, it checks for and appends the following line:

    . /home/guillaume/tmp/opam.shell/opam-init/init.sh > /dev/null 2> /dev/null || true


  - ~/.ocamlinit to ensure that non-system installations of `ocamlfind`
    (i.e. those installed by OPAM) will work correctly when running the
    OCaml toplevel. It does this by adding $OCAML_TOPLEVEL_PATH to the list
    of include directories.

If you choose to not configure your system now, you can either configure
OPAM manually (instructions will be displayed) or launch the automatic setup
later by running:

   opam config setup -a


Do you want OPAM to modify ~/.profile and ~/.ocamlinit?
(default is 'no', use 'f' to name a file other than ~/.profile)
    [N/y/f] 

8.5

Currently only 8.4 and dev profiles are offered. Shouldn't we have 8.5 as well?

Intermediate mode

This would be cool to have a mode called released or something like that, with only the released repository activated. For now, there is the dev mode but it also activates extra-dev and core-dev.

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.