On 11 October 2014 09:09, Anil Madhavapeddy <a...@recoil.org> wrote: > On 10 Oct 2014, at 11:48, Kenneth Westerback <kwesterb...@gmail.com> wrote: > >> On 10 October 2014 14:46, Kenneth Westerback <kwesterb...@gmail.com> wrote: >>> On 10 October 2014 13:03, Christopher Zimmermann <christop...@gmerlin.de> >>> wrote: >>>> Hi, >>>> >>>> attached you find many new OCaml ports. Mainly the following two and >>>> their dependencies: >>>> >>>> * Oasis (an OCaml project build and metadata tool) used by many of our >>>> OCaml ports. >>>> >>>> * Janestreet Core standard library overlay and Janestreet Async >>>> >>>> Oasis depends on devel/janestreet/ocaml-type_conv while most of >>>> janestreet stuff uses oasis. If this is too much, I could leave the rest >>>> of janestreet for now and only import ocaml-type_conv. >>>> >>>> Since I'm currently waiting for the release of OPAM 1.2 >>>> (https://github.com/jasperla/openbsd-wip/tree/master/sysutils/opam), >>>> which can be used to install all those libraries and binaries, I'm >>>> wondering whether it still makes any sense to maintain those ports in >>>> our ports tree. The same applies to other ports already in our tree >>>> like devel/{utop,ocaml-lambda-term,ocaml-lwt} ...). Opinions? OKs? >>>> >>>> >>>> Christopher >>> >>> Personally I would prefer to use opam over ports. The only reason I >>> can see for maintaining ports is if they are needed to build other >>> ocaml ports (mldonkey?) in the tree. That's my 0.05C (Canada has >>> eliminated the penny). >>> >>> .... Ken >> >> I guess we would also need a port when upstream needs patches to >> compile on OpenBSD. Hopefully a rare situation going forward. > > I'm happy to merge OpenBSD-specific fixes into OPAM -- it's possible to > add OS-specific selectors in the patches field to not affect other OSes. > > However, it is very convenient to be able to depend on a binary > installation of OCaml libraries for end-user applications, particularly > given the strict versioning requirements. The OpenBSD port is also > higher quality when it comes to architecture portability, since it > separates out bytecode vs native code vs native dynlinking architectures. > > There is enough metadata available in an OPAM package to generate a > snapshot of OpenBSD ports from a given package set. I'm not suggesting > we automatically import the results into OpenBSD, but it would really > help keep the ports tree in sync with the latest versions of libraries. > The metadata needed for this is roughly: > > - build instructions -- present in OPAM, but they do not separate out > fake installation and native code at the moment. This could be added > to OPAM fairly easily. > > - external dependencies -- OPAM has a 'depexts' field where OS packages > can be specified. This is a free-form field, so it could be a precise > pkgspec for the OpenBSD entry. > > - categories and homepages -- these can be lifted straight out of the > OPAM spec, and tags can be used to map OpenBSD-specific information. > > More broadly though, does any other language-specific packaging system > do this at the moment, or all ports maintained manually? > > -anil
IANA porter, so I speak only from a user perspective. And I don't use any perl ports so I don't know if they represent all perl ports used on OpenBSD or just those needed OpenBSD specific tweaks. If there are OpenBSD specific patches needed then I think a port is the way to go. I'd hate to have a lot of info kept in opam only to find Oxford has kidnapped Anil on boat race night and is demanding the OpenBSD Ocaml community cough up. :-) I currently have no idea how many OpenBSD patches are needed. The couple I found while playing with getting core_extended working were fixed by OpenBSD commits or are in queue to get fixed in core_extended (right, Anil?). The other packages I needed/wanted to try all worked from the wip opam 1.2 port. My two minor concerns are 1) making sure RWO readers find OpenBSD a congenial place to follow along, and 2) making sure that opam and ports can co-exist if opam is available on OpenBSD. In regards to 2), I encountered confusion when I had utop port installed and then also blithely installed it with opam. Not to say it is certain that I didn't screw up something just on my system, but the relations between the two should be well known/easily discovered. .... Ken