Bug 156195 - please bump PORTREVISION of all ocaml-dependent libraries
Summary: please bump PORTREVISION of all ocaml-dependent libraries
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Stanislav Sedov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-04-05 13:10 UTC by Matthias Andree
Modified: 2011-04-07 03:52 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthias Andree freebsd_committer freebsd_triage 2011-04-05 13:10:14 UTC
Recently, ocaml was updated to 3.12. This has serious impact on all
ocaml-dependent ports, whether library or application.

I would like to have had a ports/UPDATING entry, please add one.

We should consider bumping PORTREVISION for all ocaml-dependent ports, but
at the very least for ocaml-lablgl and ocaml-lablgtk2.  There may be more
fallout elsewhere.

One case study is net/unison232, pav@ forwarded a tinderbox failure to me:

- net/unison232 itself failed after ocaml 3.12 changes.
  I've fixed this with a patch that has gone into unison240 (net/unison)
  upstream (already committed). 

- net/unison232 in default configuration uses ocaml-lablgtk2, which I had
  compiled/installed with the previous unison version, and subsequently failed:

  | ocamlopt -I lwt -I ubase -I +lablgtk2 -c /var/tmp/usr/ports.cvs/net/unison232/work/unison-2.32.52/uigtk2.ml
  | File "/var/tmp/usr/ports.cvs/net/unison232/work/unison-2.32.52/uigtk2.ml", line 1, characters 0-1:
  | Error: /usr/local/lib/ocaml/lablgtk2/gdk.cmi
  | is not a compiled interface
  | gmake: *** [uigtk2.cmx] Error 2

  This can be fixed by recompilation of $LOCALBASE/lib/ocamls/lablgtk2/gdk.cmi
  (in ocaml-lablgtk2), but for the lablgtk2 change to succeed, we need to
  rebuild ocaml-lablgl BEFORE (else ocaml-lablgtk2 fails to configure).

I was tempted to change these two ports myself, but let's rather go for a
complete solution.

Summarized, this is needed to get net/unison232 to compile again after
the ocaml 3.X -> 3.12 update:

- reinstall ocaml-lablgl (please bump PORTREVISION to assist)
- reinstall ocaml-lablgtk2 (please bump PORTREVISION to assist)
- patch unison232 (already committed)

Fix: 

See "Description" section above.
Comment 1 Matthias Andree freebsd_committer freebsd_triage 2011-04-05 13:18:30 UTC
Responsible Changed
From-To: freebsd-ports-bugs->stas

over to maintainer (who has ports commit access)
Comment 2 dfilter service freebsd_committer freebsd_triage 2011-04-05 23:23:41 UTC
stas        2011-04-05 22:23:33 UTC

  FreeBSD ports repository

  Modified files:
    archivers/ocaml-bz2  Makefile 
    archivers/ocaml-zip  Makefile 
    databases/ocaml-sqlite3 Makefile 
    devel/ocaml-annexlib Makefile 
    devel/ocaml-calendar Makefile 
    devel/ocaml-camljava Makefile 
    devel/ocaml-camlp5   Makefile 
    devel/ocaml-camomile Makefile 
    devel/ocaml-cfg      Makefile 
    devel/ocaml-classes  Makefile 
    devel/ocaml-equeue   Makefile 
    devel/ocaml-event    Makefile 
    devel/ocaml-extlib   Makefile 
    devel/ocaml-findlib  Makefile 
    devel/ocaml-lacaml   Makefile 
    devel/ocaml-lwt      Makefile 
    devel/ocaml-magic    Makefile 
    devel/ocaml-ounit    Makefile 
    devel/ocaml-pcre     Makefile 
    devel/ocaml-pomap    Makefile 
    devel/ocaml-res      Makefile 
    devel/ocaml-sdl      Makefile 
    devel/ocaml-sem      Makefile 
    devel/ocaml-sexplib  Makefile 
    devel/ocaml-typeconv Makefile 
    devel/ocaml-ulex     Makefile 
    devel/ocaml-xstr     Makefile 
    devel/ocaml-xstrp4   Makefile 
    ftp/ocaml-ocurl      Makefile 
    graphics/ocaml-images Makefile 
    graphics/ocaml-lablgl Makefile 
    lang/ocaml-camlidl   Makefile 
    math/ocaml-ocamlgraph Makefile 
    security/ocaml-cryptgps Makefile 
    security/ocaml-cryptokit Makefile 
    security/ocaml-ssl   Makefile 
    textproc/ocaml-csv   Makefile 
    textproc/ocaml-expat Makefile 
    textproc/ocaml-pxp   Makefile 
    www/ocaml-net        Makefile 
    x11-toolkits/ocaml-lablgtk Makefile 
    x11-toolkits/ocaml-lablgtk2 Makefile 
  Log:
  - Bump portrevisions on all ocaml libraries, as it appears that compiled
    interface files (.cmi) are not backward compatible with a newer ocaml
    version.
  
  PR:             ports/156195
  Suggested by:   mandree
  
  Revision  Changes    Path
  1.2       +1 -0      ports/archivers/ocaml-bz2/Makefile
  1.7       +1 -0      ports/archivers/ocaml-zip/Makefile
  1.6       +1 -0      ports/databases/ocaml-sqlite3/Makefile
  1.5       +1 -1      ports/devel/ocaml-annexlib/Makefile
  1.9       +1 -0      ports/devel/ocaml-calendar/Makefile
  1.6       +1 -1      ports/devel/ocaml-camljava/Makefile
  1.8       +1 -0      ports/devel/ocaml-camlp5/Makefile
  1.22      +1 -1      ports/devel/ocaml-camomile/Makefile
  1.8       +1 -1      ports/devel/ocaml-cfg/Makefile
  1.10      +1 -1      ports/devel/ocaml-classes/Makefile
  1.12      +1 -1      ports/devel/ocaml-equeue/Makefile
  1.16      +1 -1      ports/devel/ocaml-event/Makefile
  1.15      +1 -1      ports/devel/ocaml-extlib/Makefile
  1.28      +1 -1      ports/devel/ocaml-findlib/Makefile
  1.19      +1 -1      ports/devel/ocaml-lacaml/Makefile
  1.2       +1 -0      ports/devel/ocaml-lwt/Makefile
  1.7       +1 -0      ports/devel/ocaml-magic/Makefile
  1.4       +1 -0      ports/devel/ocaml-ounit/Makefile
  1.40      +1 -0      ports/devel/ocaml-pcre/Makefile
  1.7       +1 -0      ports/devel/ocaml-pomap/Makefile
  1.10      +1 -1      ports/devel/ocaml-res/Makefile
  1.25      +1 -1      ports/devel/ocaml-sdl/Makefile
  1.8       +1 -1      ports/devel/ocaml-sem/Makefile
  1.7       +1 -1      ports/devel/ocaml-sexplib/Makefile
  1.2       +1 -0      ports/devel/ocaml-typeconv/Makefile
  1.15      +1 -0      ports/devel/ocaml-ulex/Makefile
  1.5       +1 -1      ports/devel/ocaml-xstr/Makefile
  1.7       +1 -1      ports/devel/ocaml-xstrp4/Makefile
  1.21      +1 -0      ports/ftp/ocaml-ocurl/Makefile
  1.37      +1 -1      ports/graphics/ocaml-images/Makefile
  1.25      +1 -0      ports/graphics/ocaml-lablgl/Makefile
  1.9       +1 -1      ports/lang/ocaml-camlidl/Makefile
  1.18      +1 -0      ports/math/ocaml-ocamlgraph/Makefile
  1.5       +1 -1      ports/security/ocaml-cryptgps/Makefile
  1.13      +1 -1      ports/security/ocaml-cryptokit/Makefile
  1.8       +1 -0      ports/security/ocaml-ssl/Makefile
  1.5       +1 -0      ports/textproc/ocaml-csv/Makefile
  1.8       +1 -1      ports/textproc/ocaml-expat/Makefile
  1.19      +1 -0      ports/textproc/ocaml-pxp/Makefile
  1.16      +1 -1      ports/www/ocaml-net/Makefile
  1.19      +1 -1      ports/x11-toolkits/ocaml-lablgtk/Makefile
  1.29      +1 -0      ports/x11-toolkits/ocaml-lablgtk2/Makefile
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 3 Stanislav Sedov freebsd_committer freebsd_triage 2011-04-06 00:07:40 UTC
Hi!

I bumped up revisions on all ocaml libraries.
Sorry, that I missed it, I didn't expected them to break ABI
in a minor update. :-(

WRT UPDATING -- why do you think it's needed?  The should be no
manual steps involded in update.  What do you want to see there?

Thanks!

-- 
Stanislav Sedov
ST4096-RIPE

()  ascii ribbon campaign - against html e-mail 
/\  www.asciiribbon.org   - against proprietary attachments
Comment 4 Mark Linimon freebsd_committer freebsd_triage 2011-04-06 19:03:50 UTC
State Changed
From-To: open->feedback

Note that feedback was requested in misfiled PR ports/156212.
Comment 5 Matthias Andree freebsd_committer freebsd_triage 2011-04-06 19:15:07 UTC
It might be useful to warn users that their ocaml applications outside
the ports tree require manual intervention.

What I cannot currently judge for lack of OCaml experience is if we've
been facing API changes or also ABI changes, meaning that: I know that
*compilation* of OCaml-written unison 2.32 failed with the new compiler
due to incompatible .cmi files, but I can't tell if that would have
affected the older executable, too.

If existing executables stop working, we need to advise users in
ports/UPDATING.  If the issue was only at compile-time, i. e. an
API/compile-time linking issue, then we don't need a ports/UPDATING issue.
Comment 6 Matthias Andree freebsd_committer freebsd_triage 2011-04-06 19:15:24 UTC
State Changed
From-To: feedback->open

feedback provided
Comment 7 dfilter service freebsd_committer freebsd_triage 2011-04-07 01:11:18 UTC
stas        2011-04-07 00:11:04 UTC

  FreeBSD ports repository

  Modified files:
    .                    UPDATING 
  Log:
  - Add an UPDATING entry for ocaml.
  
  PR:             ports/156195
  Suggested by:   Matthias Andree <mandree@FreeBSD.org>
  
  Revision  Changes    Path
  1.1051    +12 -1     ports/UPDATING
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 8 Matthias Andree freebsd_committer freebsd_triage 2011-04-07 03:52:55 UTC
State Changed
From-To: open->closed

PORTREVISION bumped and UPDATING entry added by stas