Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gles3 initial versions #5894

Merged
11 commits merged into from
Mar 8, 2016
Merged

gles3 initial versions #5894

11 commits merged into from
Mar 8, 2016

Conversation

craff
Copy link
Contributor

@craff craff commented Mar 7, 2016

I restarted from a fresh fork ... and now have a clean patch (I hope)

Christophe Raffalli and others added 2 commits March 7, 2016 11:28
@camelus
Copy link
Contributor

camelus commented Mar 7, 2016

✅ All lint checks passed 3c463e9
  • These packages passed lint tests: gles3.20160307.alpha

✅ Installability check (4577 → 4578)
  • new installable packages (1): gles3.20160307.alpha

@craff
Copy link
Contributor Author

craff commented Mar 7, 2016

I see that some test fails ... but I can't access any details ... How can I know what's happening ,

@dsheets
Copy link
Member

dsheets commented Mar 7, 2016

I think if you click Show all checks and then Details next to continuous-integration/travis-ci/pr, you will be taken to https://travis-ci.org/ocaml/opam-repository/builds/114206682 which shows all the test runs.

On Linux:

### stderr ###
Found params: num = 156, size = 313, mask = 0x43A
# Probes: max = 3, sum = 42
# ml_gles3.c:31:23: fatal error: GLES3/gl3.h: No such file or directory
# compilation terminated.
# make: *** [ml_gles3.o] Error 1

On OS X:

### stderr ###
Found params: num = 156, size = 313, mask = 0x43A
# Probes: max = 3, sum = 42
# ml_gles3.c:25:10: fatal error: 'caml/misc.h' file not found
# #include <caml/misc.h>
#          ^
# 1 error generated.
# make: *** [ml_gles3.o] Error 1

"Christophe Raffalli <[email protected]>, Alexandre Miquel<[email protected]>"
homepage: "http://lama.univ-savoie.fr/~raffalli/gles3"
bug-reports: "[email protected]"
license: "LGPL"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you please specify the version of the LGPL license and whether you intend to use the "OCaml linking exception"?

@dsheets
Copy link
Member

dsheets commented Mar 7, 2016

Please see the other comments on #5893. Also, you can simply force-push to a branch that is the source of a pull request to update it instead of creating a new branch and a new pull request. This helps to keep the conversation about the PR in one place and reduce the volunteer effort required to review submissions.

@craff
Copy link
Contributor Author

craff commented Mar 7, 2016

I did not see all comment, sorry.
I fixed the LGPL ...
However, I do not understand this comment:

packages/gles3/gles3.20160307.alpha/url
@@ -0,0 +1,3 @@
+http:

I believe this can be archive: in order to maintain flexibility in transport.

@dsheets
Copy link
Member

dsheets commented Mar 7, 2016

It is very minor but http: (opam field) specifies the transport protocol which is already included in the URL as https: (URI scheme). See https://opam.ocaml.org/doc/manual/dev-manual.html#sec10 which discusses the various url file fields and their meanings. archive will use the URL whereas http is a repetition of the type declaration and becomes another component to update if the archive location changes how it is hosted.

With all that said, lots of other packages use http: where archive: would be more appropriate so it's not very important.

@dsheets
Copy link
Member

dsheets commented Mar 7, 2016

... and I see that this is probably an opam-publish issue. Sorry to bother you, @craff.

@craff
Copy link
Contributor Author

craff commented Mar 7, 2016

I have stopped to use opam-publish ... to me it should just git commit to your own fork of the opam-repository ... The pull request can be manual ... My changes are coming soon

@craff
Copy link
Contributor Author

craff commented Mar 7, 2016

### stderr ###
Found params: num = 156, size = 313, mask = 0x43A
# Probes: max = 3, sum = 42
# ml_gles3.c:31:23: fatal error: GLES3/gl3.h: No such file or directory
# compilation terminated.
# make: *** [ml_gles3.o] Error 1

This is normal if GLES3 is not installed on the machine ?

@craff
Copy link
Contributor Author

craff commented Mar 7, 2016

### stderr ###
Found params: num = 156, size = 313, mask = 0x43A
# Probes: max = 3, sum = 42
# ml_gles3.c:25:10: fatal error: 'caml/misc.h' file not found
# #include <caml/misc.h>
#          ^
# 1 error generated.
# make: *** [ml_gles3.o] Error 1

This looks to me like a wrong ocaml installation ... moreover, I do not expect gles3 to work on OSX so easily ?

@ghost
Copy link

ghost commented Mar 7, 2016

For the missing header, what we usually do is a second "configuration" package, that checks the header avaibility and provides information about the corresponding "system package" on usual distros. See for instance:

https://github.com/ocaml/opam-repository/blob/master/packages/conf-cairo/conf-cairo.1/opam

In particular, the depext field is used by the CI to install the required system package.

@ghost
Copy link

ghost commented Mar 7, 2016

If the library is not supposed to compile on OS X, you might add available: [ os != "darwin" ] in the OPAM package description.

@craff
Copy link
Contributor Author

craff commented Mar 7, 2016

I think the package should be ok ... except that I don't know how to produce the depexts for all distribution on earth ;-)

@ghost
Copy link

ghost commented Mar 7, 2016

You already added quite a few distro in depexts, thanks :-)

Unfortunatly, the CI failed because the header file GLES/gl3.h is not available on Ubuntu/Precise (which is used by the CI). It only appeared with Trusty. I am not aware of any mechanism in OPAM to handle that, so the package looks good to me. I am just waiting for someone to confirm that before merging, @dsheets ?

Thanks again for submitting the package !

@dsheets
Copy link
Member

dsheets commented Mar 7, 2016

@OCamlPro-Henry you are correct. LGTM.

@dsheets
Copy link
Member

dsheets commented Mar 7, 2016

Oh, one last thing, it might be nice to include a post-messages field in the failure condition to explain possible reasons. See https://opam.ocaml.org/doc/manual/dev-manual.html#sec9 search for post-messages.

@dsheets
Copy link
Member

dsheets commented Mar 7, 2016

I've open ocaml-opam/Camelus#7 to track the depext/post-messages best practice policy.

@craff
Copy link
Contributor Author

craff commented Mar 7, 2016

I added post-messages. We can not ask a minimal version in depexts ? This would make
gles3 unavailable under ubuntu 12.04 or before ?

@dsheets
Copy link
Member

dsheets commented Mar 7, 2016

Unfortunately, we don't currently have versioning incorporated into the depext system due to complexity of the interface task. Some level of this kind of functionality is certainly possible and I have open ocaml-opam/opam-depext#43 to track that.

@craff
Copy link
Contributor Author

craff commented Mar 7, 2016

s/or/os/ done

@craff
Copy link
Contributor Author

craff commented Mar 8, 2016

By the way, the typo s/or/os did not give an error when I installed the package from by own
git repository ... Why ?

@dsheets
Copy link
Member

dsheets commented Mar 8, 2016

No error is generated because or is a valid (but unbound) variable name. I've opened ocaml-opam/Camelus#8 for this.

@craff
Copy link
Contributor Author

craff commented Mar 8, 2016

Is the package OK now or do you have more suggestion ?

ghost pushed a commit that referenced this pull request Mar 8, 2016
@ghost ghost merged commit c7ac1fc into ocaml:master Mar 8, 2016
@craff
Copy link
Contributor Author

craff commented Mar 8, 2016

Thanks !

@ghost
Copy link

ghost commented Mar 8, 2016

LGTM, thanks for introducing the post-message !

@craff
Copy link
Contributor Author

craff commented Mar 8, 2016

And thanks again for all the help with opam ...

As an aside question: opam2debian is still alive ? It is not in the opam repository. I think tools like opam2x
where x would range in the depexts of the package would be a must ... This tool could even use opam
for build and/or install the package of some distros.

One could even imagine that all opam package automatically become package for
all distro (except if we do not want that).

This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants