Commit graph

9 commits

Author SHA1 Message Date
jaapb
4b86cd11a0 Updated misc/ocaml-opam to version 2.0.3.
Package is now compatible with dune 1.7.

Other upstream changes are minor; see the CHANGES file.
2019-03-05 18:36:24 +00:00
jaapb
35d8b0ba9b Updated misc/ocaml-opam to version 2.0.1.
Package now uses dune, and upstream changes include mainly backported
bugfixes.
2018-11-27 16:53:53 +00:00
jaapb
9175ffd15e Updated misc/ocaml-opam to version 2.0.0_rc3.
This has several changes and bugfixes; most importantly, it has lost the
camlp4 dependency.
2018-07-19 14:21:31 +00:00
jaapb
d128616c43 Updated package misc/ocaml-opam to version 2.0.0_rc.
This release has small fixes over the previous version.
2018-04-09 11:25:48 +00:00
jaapb
2091751430 Updated package misc/ocaml-opam to version 2.0.0beta5.
This version includes several bugfixes; see the CHANGES file.
2018-01-10 16:33:23 +00:00
jaapb
55c99288a9 Updated package to latest version, 2.0.0beta4. Changes include:
* Building with OCaml < 4.02.3 is no longer supported
* Support compilation with a built-in mccs solver (removing run-time dependency
  to aspcud). Integrated half-working "heuristics" dropped.
* Remove jsonm and transitive uutf dependency.
* Switch build systems to `jbuilder`, including `lib-ext` support
* Allow repeated and or'd arguments to the `list` command
* Many code and build system portability fixes (Windows, BSD)
* Add `switch export --full` to include package definitions
* Add `announce:` and `stamp:` fields to repositories (`repo` files)
* Add a global cache of git objects (greatly speeding up multiple cloning)
* Allow `opam pin URL` without a package name
* Many error handling, messages and corner case fixes
* Updated the versions of dependencies
* Removed the unused `features:` field, and proposal for a new syntax
* More informative exit codes, and documentation thereof
2017-09-08 16:50:46 +00:00
jaapb
72fb1ad044 Updated package to latest version, 2.0.0beta3 (this sadly needs to be done
now as several packages rely on this version for building).

Changes include:
Changes prefixed with "(*)" are potentially breaking to scripts or existing
repositories (changes that are automatically handled by the format upgrade tools
are not marked).

2.0.0~beta3
* (*) Renamed `--soft-request` to `--best-effort`
* Fixed and improved speed of the package file tracking mechanism
* Added `--ignore-constraints-on` to temporarily bypass version constraints on
  some dependencies
* Fields `build-test:`, `build-doc:` are now deprecated, in favor of specifying
  conditions on the `with-test` and `with-doc` variables within the `build:`
  field, and of the new `run-test:` field
* (*) The command-line options have been renamed accordingly to `--with-test`
  and `--with-doc`
* Removed the `opam build` command
* Allow directories in place of package specifications for the `install`,
  `remove`, `upgrade`, `reinstall` and `show` commands. `opam` files can also be
  specified for `install` and `show`
* On local switch creation, check for package definitions and choose a
  compatible compiler if possible
* Add `opam install|remove --destdir` to copy the package's installed files
  somewhere else
* Allow `opam init --config=URL`

2.0~beta2
* Fixes (mainly to `opam build`)
* Faster coinstallability check

2.0~beta
* New, by-hash package archive caching system
* Simpler HTTP repository update
* Allow specification of multiple checksums per file
* Add `opam reinstall --pending`, to handle reinstallations of changed packages
* Support for defining trust anchors and repository validation hooks (for use
  with Conex)
* (*) Added `opam install --working-dir`, removed "mixed mode" for pinned packages
* Added `opam install --soft-request`, a non-failing "do what can be done"
  install mode
* Simplified, better conflict messages
* Added `opam list --coinstallable-with PKG`
* Added command `opam clean`
* Added `opam upgrade --all PKGS`, to do a full upgrade while guaranteeing
  `PKGS` are kept installed
* Allow `&` in conflict version constraints, e.g. `conflicts: "foo" {>= "3" & <
  "4"}`
* Added an `opam admin` command, with various, better organised repository admin
  commands, and remove the `opam-admin` tool
* Added an `opam build` command, to handle `opam` files found in the current
  directory
* Internally upgrade repositories in 1.2 format automatically to 2.0 (on `init`,
  `update` or `repo add`)

2.0~alpha5
* Merge stdout and stderr of child processes by default
* Fixed regression on solver call times
* Added a few shorter command aliases: `opam var` `opam exec`, `opam env` for
  the corresponding `opam config` commands
* (*) Simplified `opam repo` to only use `add` and `remove` in normal use,
  always meaning the current switch (only) if not specified otherwise
* (*) Restrict package names and versions to a reasonable character set
* Added support for SHA256 and SHA512 checksums
* Separated the opam format lexer/parser/printers into a separate
  `opam-file-format` library
* Reporting on package definition file errors only when the file will be used,
  and on by default (rather than all-off by default, and optionally all-on)
* `opam lint` now accept multiple input files
* `opam pin` interface yet improved, allow pinning all at once when a source
  directory contains multiple packages. `opam unpin <dir>` now allowed to cancel
  `opam pin <dir>`
* Updated version of the dose lib dependency
* (*) All patch files used in package definitions are now assumed to apply with
  `-p1`.

2.0~alpha4
* Added pre and post hooks for package command sections; allowed per-switch
  configuration
* Re-packaged the libraries and opam into 7 individual packages
* Convert opam 1.2 files on the fly when pinning
* `opam list` can now match patterns on versions
* Allow switches to be created below arbitrary directories using `opam switch
  create <dir>`. Automatically select a switch found in `$PWD`
* Add `install --reuse-build-dir` to be used together with `--keep-build-dir`
  and allow incremental recompilations
* Add `install --inplace-build` to build locally pinned packages directly in
  their source directory

2.0~alpha3
* (*) Refactored 'opam switch' command, creation of new switches no longer implicit
* (*) Allow per-switch selection of repositories
* Better update of the environment variables across switches or opam roots
* Add `opam install --restore` to recover packages that got removed due to
  errors or interruptions
* Added `synopsis:` and `description:` fields to integrate package descriptions
  in a single package definition file
* Removed the clever hack to skip downloads when uninstalling packages with
  `ocamlfind remove`; this now needs to be explicit through the
  `light-uninstall` flag.
* Provide `opam admin upgrade-format` to migrate package repositories to the new
  format, and create the proper OCaml compiler package wrappers
* Allow initialisation parameters from a .opamrc file, possibly completely
  overriding OCaml and opam.ocaml.org repository defaults

2.0~alpha2
* Extended the `opam lint` command-line options (package descriptions from opam
  metadata, warnings selection)
* Allow to create a new switch with `opam switch import`
* (*) Rewritten, much more flexible `opam list` command, with composable filters and
  output selection
* Delay the removals of packages as much as possible, avoiding most cases of
  mass uninstalled packages after a build failure
* Use a specific `opam` user-agent for downloads
* Remove globalisation of compiler package variables and support for
  `available:` constraints depending on those. Rewrite the repository
  accordingly to use explicit dependencies towards the compiler version.

2.0~alpha
* Changed license to LGPL 2.1 with linking exception, like OCaml (#2573)
* Track files installed by packages for cleaner removal and listing, add `opam
  search --owns-file` (#502, #1215) *this requires packages to properly separate
  build and install*, or unrelated files could get removed on package uninstall.
* Allow command wrappers around package build/install/remove commands to be
  defined in `~/.opam/config`; include sample Linux wrappers to restrict process
  permissions (e.g. ensure `build:` doesn't install)
* (*) Reworked `opam show`, with more fields and the ability to select raw fields
  from the opam file (#2122)
* Dropped ability to compile opam with OCaml earlier than 4.01.0
* Version constraints in `depopts:` allowed again, but with consistent semantics
* Allow mixing filters within dependency constraints
* More flexible `opam pin` command interface
* New internal file-lock handling, less obtrusive and safer
* New `switch export` format, now including local (pinned) package definitions
* No longer uses insecure arguments of curl/wget (#55, #2006, #2460)
* Installed package source and metadata are now handled per-switch, which is
  more reliable
* `opam pin edit` now allows changing version and even URL; better editor
  handling
* Discarded built-in variables based on polling OCaml (they are now defined by
  the compiler package at installation)
* Discarded compiler files, `opam switch` now based on packages with the
  `compiler` flag set
* Extended package configuration files
* Allow initialised opam without switch, initialised switch without compiler.
  Better handling of compiler install failure
* (*) Large API rework, switch and repository state now handled separately, used in
  functional style and avoiding many loads
* Git submodules are now automatically fetched by the git backend
* (*) Package definition files now prioritize `&` higher than `|`, like is most
  common
* (*) `opam list -a` now lists all available packages, even if they can't be
  installed (missing depends...), which is much faster (#2370)
* Added ability to reprint files with reduced diffs (#2363)
* Url and description can now be included within a single package definition
  `opam` file (#2328)
* Internal switch state now all below `<switch-dir>/.opam-switch/`, state in a
  single `switch-state` file (#2340)
* Add a `setenv:` field to package definitions, allowing to export environment
  variables (#2337, #2361)
* Built-in support for alternative solver `mccs` (#2333)
* `opam upgrade pkg` now prompts to install `pkg` if absent (#2327)
* (*) Assume plugin package and exec names start with "opam-" (#2316, #2317)
* Reworked, cleaner and bidirectional file manipulation library (kind of lenses)
  (#2325)
* Allow packages to specify extra remote overlay files within their definition
  files
* Heuristic to detect bad solutions and print a hint when no solver is available
* (*) Proper URL handling with version-control + transport handling (e.g.
  `git+https://`)
* Allow unescaped strings enclosed between `"""` markers in package definition
  files
* Don't rely on '.zip' extension for downloaded archive handling (#2289)
* `opam config` extended with `set`, `unset`, `expand` subcommands, allows
  variables in `exec` argument (#2268)
* `conflict:` field is now handled as a disjunction in all regards (#2267)
* Better handling of concurrent removal/build/install actions (#2161, #2266,
  #2370)
* Allow fields `x-fieldname` in package definition files, for use by external
  tools (#2265)
* Extended, more useful JSON output (including full package failure logs)
  (#2236)
* Use the switch paths that are defined in the switch configuration file (#2185)
* Allow package definition files to reference the package's own variables
  through "%{_:varname}%" (#2184)
* Initialise number of jobs from host's number of processors (#2180)
2017-07-11 10:46:23 +00:00
jaapb
61d3cd39fc Updated package to latest version, 1.2.2. Changes include:
1.2.2
* Fixed wrong locks being taken during `switch reinstall` (#2051)
* Fixed `config report` that wasn't displaying the external solver (#2059)
* Follow glibc standard on detecting an UTF8 locale (#2065)
* Fixed issues with fish shell init scripts (#2063)
* Restored printing of commands with `--verbose` and `--dry-run`
* More concise printing of conflicts, with accurate version numbers
* Small improvements to the causes of actions
* Fixed issue causing the state cache not to be used on some OSes (OSX) (#2077)
* Added numbers to lint checks, and some new checks
* Restored the handling of a simple path to an `aspcud`-compatible executable
  in variable OPAMEXTERNALSOLVER (#2085)
* Added package universe output to new PEF format for diagnostics
* Prioritise newer versions even when the latest can't be installed (#2109)
* Automatically install plugins on `opam plugin-name` (#2092)
* Fixed a fd leak on solver calls (#2134)
* Accept opam files with errors when no debug or strict options are set, for
  easier format updates
* Add `opam list --resolve` to get dependencies as a consistent set of packages
* Provide the expected checksum to download commands
* Changed return code of `opam list` when no patterns are supplied and the list
  is empty

1.2.1
* Non-system compiler definitions without source are now allowed
* Better handling of compiler "base" packages allows to move build instructions
  from compiler definitions to packages
* Rewritten action resolution mechanism to be based on atomic actions.
  Actions are not aborted anymore on first failure when there is no
  inter-dependency
* Rewritten parallel command execution engine
* Better display of actions, lots of improved messages
* `opam upgrade pkg` now fails if no new version of `pkg` can be installed
* fixed shell configuration for various shells
* Updated Dose dependency to 3.3
* Fixed behaviour of `opam switch` and related commands when a switch
  is locally set in a shell (through `OPAMSWITCH`)
* Better behaviour on failed `opam switch`
* New pinning mode: when pinning using version-control on a local path and
  without a branch specified, use current file tree, but limited to
  version-tracked files
* Faster and cleaner handling of downloads
* Now compiles with --safe-string on OCaml 4.02, better compatibility handling
* `opam unpin` now accepts multiple arguments
* `opam pin add <pkg>.<version> <target>` is now allowed to specify
  the advertised version
* Fixed bug leading to a bad `CAML_LD_LIBRARY_PATH` when switching from system
* Better `opam lint`, reporting warnings and errors, including format errors
* `opam config setup` now takes `--shell=` instead of `--sh`, `--csh`, `--fish`,
  `--zsh`
* Provisional feature: dependency flag `dev` is accepted (but does nothing)
* Provisional feature: field `features` in opam files implemented (beta), not
  for use in production
* Better definition of the `filter` language within opam files: propagates
  undefined values, bool-to-string converter syntax
* Provisional feature: `verbose` may be specified in package flags
* OPAM git-like plugins (commands of the form opam-xxx) are now searched in the
  correct OPAM path
* ~/.opam/config doesn't refer to OPAM's patch-version anymore, to allow
  downgrading
* Recognise <name>.opam files and directories when pinning a package to source
* Cleaned up debug and verbose messages, allow more control (`-v` can now be
  repeated)
* Pinning URL can now be explicit in the form `VC+URL`, e.g. `git+ssh://`,
  `hg+https://`...
* New flexible way to specify download and solver commands in `~/.opam/config`
  or in variables `OPAMFETCH` and `OPAMEXTERNALSOLVER`
* Lots of bug-fixes
2016-06-19 23:23:02 +00:00
jaapb
a4db40bf48 Added buildlink3.mk file. 2015-02-12 11:07:43 +00:00