diff --git a/Makefile b/Makefile index 474063da725e2f4986fd8c5c564a26e2f051c02a..8d615e4b2c9081e20b16fb3931cea5ef951c540c 100644 --- a/Makefile +++ b/Makefile @@ -29,14 +29,8 @@ build-dep: build-dep/opam phony @# that are incompatible with our build requirements. @# To achieve this, we create a fake opam package that has our build-dependencies as @# dependencies, but does not actually install anything itself. - @echo "# Pinning build-dep package." && \ - if opam --version | grep "^1\." -q; then \ - BUILD_DEP_PACKAGE="$$(egrep "^name:" build-dep/opam | sed 's/^name: *"\(.*\)" */\1/')" && \ - opam pin add -k path $(OPAMFLAGS) "$$BUILD_DEP_PACKAGE".dev build-dep && \ - opam reinstall $(OPAMFLAGS) "$$BUILD_DEP_PACKAGE"; \ - else \ - opam install $(OPAMFLAGS) build-dep/; \ - fi + @echo "# Installing build-dep package." + @opam install $(OPAMFLAGS) build-dep/ # Some files that do *not* need to be forwarded to Makefile.coq Makefile: ; diff --git a/descr b/descr deleted file mode 100644 index fa9d5c7bd4508343fad1febc1f520feb2eb9aa5a..0000000000000000000000000000000000000000 --- a/descr +++ /dev/null @@ -1,19 +0,0 @@ -This project contains an extended "Standard Library" for Coq called coq-std++. -The key features of this library are as follows: - -- It provides a great number of definitions and lemmas for common data - structures such as lists, finite maps, finite sets, and finite multisets. -- It uses type classes for common notations (like `∅`, `∪`, and Haskell-style - monad notations) so that these can be overloaded for different data structures. -- It uses type classes to keep track of common properties of types, like it - having decidable equality or being countable or finite. -- Most data structures are represented in canonical ways so that Leibniz - equality can be used as much as possible (for example, for maps we have - `m1 = m2` iff `∀ i, m1 !! i = m2 !! i`). On top of that, the library provides - setoid instances for most types and operations. -- It provides various tactics for common tasks, like an ssreflect inspired - `done` tactic for finishing trivial goals, a simple breadth-first solver - `naive_solver`, an equality simplifier `simplify_eq`, a solver `solve_proper` - for proving compatibility of functions with respect to relations, and a solver - `set_solver` for goals involving set operations. -- It is entirely dependency- and axiom-free. diff --git a/opam b/opam index af64e017f850f32ff460ca6f4198bae1e93e323d..e6a5fc6ae1d4a7f7065ee717dcb1e8d4c29130e3 100644 --- a/opam +++ b/opam @@ -1,15 +1,38 @@ opam-version: "1.2" name: "coq-stdpp" -synopsis: "This project contains an extended \"Standard Library\" for Coq called coq-std++" maintainer: "Ralf Jung <jung@mpi-sws.org>" -homepage: "https://gitlab.mpi-sws.org/iris/stdpp" authors: "Robbert Krebbers, Jacques-Henri Jourdan, Ralf Jung" -bug-reports: "https://gitlab.mpi-sws.org/iris/stdpp/issues" license: "BSD" -dev-repo: "https://gitlab.mpi-sws.org/iris/stdpp.git" -build: [make "-j%{jobs}%"] -install: [make "install"] -remove: ["rm" "-rf" "%{lib}%/coq/user-contrib/stdpp"] +homepage: "https://gitlab.mpi-sws.org/iris/stdpp" +bug-reports: "https://gitlab.mpi-sws.org/iris/stdpp/issues" +dev-repo: "git+https://gitlab.mpi-sws.org/iris/stdpp.git" + +synopsis: "This project contains an extended \"Standard Library\" for Coq called coq-std++" +description: """ +This project contains an extended "Standard Library" for Coq called coq-std++. +The key features of this library are as follows: + +- It provides a great number of definitions and lemmas for common data + structures such as lists, finite maps, finite sets, and finite multisets. +- It uses type classes for common notations (like `∅`, `∪`, and Haskell-style + monad notations) so that these can be overloaded for different data structures. +- It uses type classes to keep track of common properties of types, like it + having decidable equality or being countable or finite. +- Most data structures are represented in canonical ways so that Leibniz + equality can be used as much as possible (for example, for maps we have + `m1 = m2` iff `∀ i, m1 !! i = m2 !! i`). On top of that, the library provides + setoid instances for most types and operations. +- It provides various tactics for common tasks, like an ssreflect inspired + `done` tactic for finishing trivial goals, a simple breadth-first solver + `naive_solver`, an equality simplifier `simplify_eq`, a solver `solve_proper` + for proving compatibility of functions with respect to relations, and a solver + `set_solver` for goals involving set operations. +- It is entirely dependency- and axiom-free. +""" + depends: [ "coq" { (= "8.7.2") | (= "8.8.2") | (>= "8.9.1" & < "8.12~") | (= "dev") } ] + +build: [make "-j%{jobs}%"] +install: [make "install"]