My feeling is that full Windows support touches enough files that, whether it's 
part of opam 1.3 or something later, OS agnosticism in general is probably 
worth an entire release on its own, just to stop the carpet from moving under 
you? It'll be very boring for most opam users (well, except for a few hopefully 
happy Windows users!), but possibly easier to manage?

I haven't had a chance in the last few weeks to work on 'my' Windows port (I 
was doing some work to detect the build tools environment correctly for opam 
switch to allow switching between the 4 windows ports within the same opam 
installation) - hoping to squeeze a day or two in over the Christmas break and 
then publish.

I'm not very good at extracting git metrics, but my branch (at present from 
954d29f, but I'll rebase before publishing) contains 32 commits touching/adding 
45 or so source files and changing/adding 2000 lines.


David

From: opam-devel [mailto:[email protected]] On Behalf Of Louis 
Gesbert
Sent: 17 December 2014 10:08
To: [email protected]
Subject: [opam-devel] OPAM Roadmap -- what next ?


Hi all,



with some lag after the 1.2 release, I'd like to open some space for a 
collective discussion of the priorities for where the energies should go next. 
We have mainly 3 directions for improvements: first, portability, with the main 
goal of a Windows version. Second, agnosticity, with the goal to make OPAM more 
generic, and try and open it to users outside of the OCaml community (wouldn't 
OPAM for Haskell be fun ?). Third, there are always lots of features and 
improvements that have been asked for, and would improve the experience of 
current users.



So here is a summary of what I've gathered. Feel free to add your own.







## Portability



- **Rewrite parallel command engine.** / done.



- **Native system manipulation (cp, rm, curl...).**

These are mostly done through calls to the shell or external programs. It's

not very pretty but quite pragmatic actually... until we want to run on

Windows without Cygwin. Anyway, this wouldn't be the end of portability

issues.



- **Windows support.**

for OPAM itself to begin with. This should be pretty close.



- **Packages on Windows.**

Locate common issues and attempt to find generic fixes.



- Allow **direct use of more solvers** or solver servers.



- **Support cross-compilation**

This is quite an open issue at the moment.



## Agnosticity



- **Isolate OCaml-specific stuff.**

E.g. specific opam-file variables. See ocaml-specific.md



- **Separate as plugins**

To open the gate to OPAM without these plugins, or with other ones



- **Compilers as packages.**

This should mostly work now, but needs some tests and strengthening. The main

thing still to do is to handle the system compiler changes properly ; that

part should be made more generic anyway (see discussion on hooks)



## Features



- A **provides** field. Generally useful, but particulary so with

compilers-as-packages



- Releasing the **"features" field** for easier package configuration



- **Track installed files**



- **Improve security**: just checking md5s is quite light ; package scripts can

write anywhere



- **OS-specific handling of dependencies** (eg dependencies on packages from the

OS) with plugins (#1519)



- Specify and implement **hooks**



- Find a nicer way to **share dev repos** / undoable "pinning sources"



- **Per-switch remotes**



- **Multi-switch packages**



- Support for (automatic generation of) **binary packages**



- Nicer **ocamlfind interaction**







Cheers,

Louis Gesbert
_______________________________________________
opam-devel mailing list
[email protected]
http://lists.ocaml.org/listinfo/opam-devel

Reply via email to