wormphle1m has quit [Remote host closed the connection]
wormphlegm has joined #ocaml
jimmyrcom has quit [Ping timeout: 240 seconds]
EmmanuelOga has quit [Ping timeout: 240 seconds]
fschwidom has joined #ocaml
arubin has quit [Quit: arubin]
fschwidom has quit [Remote host closed the connection]
edwin has joined #ocaml
ygrek has joined #ocaml
<adrien>
NaCl: MOAR API!
<adrien>
as for goocanvas, I took a quick peek at it but <hmmm,Ican'trememberwhat>
dnolen has quit [Quit: dnolen]
ttamttam has joined #ocaml
smango has quit [Ping timeout: 256 seconds]
smango has joined #ocaml
edwin has quit [Ping timeout: 240 seconds]
fschwidom has joined #ocaml
Snark has joined #ocaml
bobry has joined #ocaml
BiDOrD has joined #ocaml
edwin has joined #ocaml
<adrien>
debugging oasis/ocamlbuild is hard =/
fschwidom has quit [Read error: Connection reset by peer]
ygrek has quit [Ping timeout: 248 seconds]
ikaros has joined #ocaml
ztfw has joined #ocaml
vivanov has joined #ocaml
<vivanov>
pls suggest a data structure just like map but i dont need values.need keys only
<_habnabit>
Set
<vivanov>
_habnabit: great thx a lot :)
<vivanov>
batteries are so old in debian
ygrek has joined #ocaml
Anarchos has joined #ocaml
probst has joined #ocaml
<vivanov>
is there a mutable Set -- mutable like hashtbl is ?
<adrien>
why not use Hashtbl then?
<_habnabit>
vivanov, just make a ref ?
<_habnabit>
vivanov, or, even better, don't rely on mutation
<adrien>
a ref inside a Set won't work well
<_habnabit>
of course not
<_habnabit>
I was suggesting a Set.t ref
<adrien>
inside a Hashtbl either also
<adrien>
ah =)
<vivanov>
_habnabit: let add x s = s:= Set.add 1 !s <- thats what u mean?
<_habnabit>
sure
<_habnabit>
11:17:20 < _habnabit> vivanov, or, even better, don't rely on mutation
<vivanov>
okok
<vivanov>
cant think of how to avoid mutation
<vivanov>
have several threads changing a set
<vivanov>
adding/removing from set
<adrien>
why not a Hashtbl then?
<_habnabit>
yeah, don't do that
<vivanov>
adrien: i can try hashtbl but dont need values -- only keyas :)
<vivanov>
keys
<vivanov>
_habnabit: cant think a way around that
<vivanov>
i use locks everywhere
<adrien>
thread A can add an element that thread B will immediately remove?
<vivanov>
yes
<vivanov>
i think simplest is using hashtbl : (int,unit) Hashtbl.t
sepp2k has joined #ocaml
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
avsm has joined #ocaml
<adrien>
looks like I can't use "CSources: ../foo.h" in _oasis
albacker has joined #ocaml
Cyanure has joined #ocaml
emmanuelux has joined #ocaml
<adrien>
using oasis, I've defined a variable [ pkg_webkit_cflags = foooooo ], how can I have something like [ CCOpt: pkg_webkit_cflags ] in _oasis ?
<thelema>
vivanov: instead of the two threads modifying one mutable set, you can pass the pointer for the "current" set back and forth between the threads and have them only modify the set when they have the pointer.
vivanov has quit [Read error: Operation timed out]
<adrien>
you killed him :P
<thelema>
:)
jimmyrcom has joined #ocaml
asmanur has quit [Read error: No route to host]
asmanur has joined #ocaml
ikaros has quit [Quit: Ex-Chat]
ikaros has joined #ocaml
Associat0r has quit [Quit: Associat0r]
<NaCl>
adrien: moar!
<NaCl>
adrien: I could (theoretically) bind that myself
<adrien>
goocanvas or the other one?
<NaCl>
goocanvas
<adrien>
also, I think I remember what my issue with goocanvas was: I didn't know how to use it (even from C) and it seemed to require bindings some function types (callbacks) which is more difficult
<adrien>
theoritecally(hmmm), cowboy should handle goocanvas quite well
<NaCl>
does that work yet?
<adrien>
cowboy? definitely
<NaCl>
how well?
<adrien>
does most of webkit-gtk, almost works for libsoup
<NaCl>
link me
<adrien>
currently, it should do most of what you want but you'll have to teach him some type conversions
<adrien>
one difficulty might be if goocanvas uses cairo a lot in its api
<adrien>
you need xstrp4 (haven't tested it with hcarty's version yet)
<adrien>
mikmatch_pcre
<NaCl>
adrien: naw, slackware
<adrien>
and yacfe for which I'm going to put the packaging up
<adrien>
godi?
<NaCl>
oh, right. that.
<NaCl>
and it does seem like cairo is abstracted out of goocanvas
<NaCl>
brb
<adrien>
ok
<adrien>
godi or not? :-)
lamawithonel has quit [Remote host closed the connection]
<NaCl>
probably godi
<NaCl>
adrien: one I set it up
<adrien>
you might have seen we've been working on the slackbuilds but everything's not really ready yet
<adrien>
also, you can see the last two emails on the godi mailing-list: one for a bug at godi's installation and one to make it much faster
<NaCl>
kk
<adrien>
now, if I could get this thing with oasis, I could update cowboy to make it use oasis
<NaCl>
whoa.
<adrien>
:o
struktured has quit [Quit: Konversation terminated!]
struktured has joined #ocaml
Smerdyakov has joined #ocaml
struktured has quit [Ping timeout: 240 seconds]
dnolen has joined #ocaml
sebz has joined #ocaml
<adrien>
I'm completely stuck with oasis support for C libraries through pkg-config
<NaCl>
adrien: ah, yeah. that.
<NaCl>
adrien: got a profile shell script for godi?
<adrien>
hmmm, no, why would I have one?
<NaCl>
did you install godi into /opt?
<adrien>
yu
<adrien>
p
<adrien>
ok
ikaros has quit [Quit: Ex-Chat]
<adrien>
I'll spam the channel, I've added this to my /etc/profile, ilne 29
<adrien>
if ! echo $MANPATH | grep -q /opt/ocaml/bin 2>/dev/null; then PATH=/opt/ocaml/bin:/opt/ocaml/sbin:$PATH MANPATH=/opt/ocaml/man:$MANPATH
<adrien>
fi
<adrien>
(irssi-ate-my-linefeeds)
ikaros has joined #ocaml
<adrien>
well, giving up on oasis/pkg-config for now
Drakken has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
<NaCl>
adrien: whoa patches
<NaCl>
I'll try them in a little bit
<adrien>
to godi? for the speed-up changes, you would have to create a neew godi-tools-*.tar.gz file and update the /opt/ocaml/build/godi/godi-tools/distinfo file
<adrien>
the other one is really only useful if godi fails to install
<NaCl>
it worked fine for me
<NaCl>
and actually, I was thinking of making a better UI for godi
<NaCl>
one that actually had active menu selections
<adrien>
search!!!!!!
EmmanuelOga has joined #ocaml
<adrien>
actually, when I have to search something in godi, I use the regular unix tools in my godi prefix
Reaganomicon has quit [Read error: Connection reset by peer]
<NaCl>
just like in slackware!
<adrien>
slackware has everything in a single folder, unlike godi ;-)
struktured has joined #ocaml
sepp2k has quit [Read error: Connection reset by peer]
<NaCl>
adrien: heh
<adrien>
I don't understand: I put "CCOpt: $pkg_version" in my _oasis file and the variable is not replaced in the call to "ocamlfind ocamlc": it remains like '$pkg_version' =/
sebz has joined #ocaml
sebz has quit [Client Quit]
mvj2111 has joined #ocaml
<adrien>
rarg!
<NaCl>
rargh!
oriba has joined #ocaml
<NaCl>
adrien: use your find-foo
<adrien>
moo
fraggle_ has quit [Remote host closed the connection]
fraggle_ has joined #ocaml
ttamttam has quit [Ping timeout: 256 seconds]
sebz has joined #ocaml
albacker has quit [Read error: Connection reset by peer]
lamawithonel has joined #ocaml
<NaCl>
adrien: eh, probably not going to apply the patches
<adrien>
any reason? (I'm only curious)
<NaCl>
don't want to figure out how. :P
* NaCl
is lazy
<adrien>
tar xf ....tar.gz && cd ... && patch -pwhateverforgit && cd .. && tar cf ....tar.gz ... && cp ....tar.gz /opt/ocaml/build/distfiles
<adrien>
*vim* /opt/ocaml/build/godi/.../distinfo
sebz has quit [Quit: Computer has gone to sleep.]
lamawithonel has quit [Ping timeout: 240 seconds]
sebz has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
sebz has joined #ocaml
<NaCl>
adrien: which tarball?
<NaCl>
sorry, I've been in and out
<adrien>
NaCl: for which source?
<adrien>
NaCl: haven't been very active either
<adrien>
pretty tired right now
<NaCl>
adrien: to which I need to apply the patches
<adrien>
ah, it's godi-tools-2.0.15
<NaCl>
oh
<NaCl>
where does that come from, then? xD
<adrien>
that = ?
<thelema>
NaCl: to apply a patch, use the `patch` command
<NaCl>
thelema: I know. I was asking where godi-tools-2.0.15 was
<thelema>
oh, got me.
<adrien>
NaCl: /opt/ocaml/build/distfiles I think
<adrien>
looking inside build/* is quite interesting
mvj2111 has quit [Remote host closed the connection]
Anarchos has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
avsm has quit [Quit: Leaving.]
ttamttam has joined #ocaml
sebz_ has joined #ocaml
<NaCl>
adrien: I'll try it when I get a chance, being sidetracked a bit
<adrien>
NaCl: sure; and the patch is not even that important, it only helps with the speed
<NaCl>
eh, I may not even need it
<adrien>
on your desktop? godi is almost fast enough
<adrien>
s/is/should be/
<NaCl>
yeah, desktop
sebz_ has quit [Quit: Computer has gone to sleep.]
avsm has joined #ocaml
<NaCl>
adrien: undefined module Ast_c
<adrien>
yacfe
<adrien>
hold on
wieczyk has joined #ocaml
<NaCl>
you also forgot ocamldsort
<adrien>
ah, right, 0.15, not 0.14 which is the latest in godi
<adrien>
moving to oasis should remove that need too
<NaCl>
wark?
<adrien>
<mother telling me about the blanquette de veau>
<adrien>
no: ocamlsort's output has been modified in 3.12
<adrien>
(you're using 3.12.1 btw, right?)
<adrien>
ftp://quatramaran.ens.fr/pub/ara/ocamldsort/ocamldsort-0.15.0.tar.gz ; simply build and cp to godi's_prefix/bin
<Anarchos>
adrien why are you so interested in oasis ?
<NaCl>
adrien: and your shell script ing is broken
<NaCl>
keeps on going to the first case
<adrien>
Anarchos: currently, with OCamlMakefile, I have to list all the files; the corresponding line is 4204 chars-long
<adrien>
plus it doesn't work very well
<adrien>
NaCl: run.sh?
<NaCl>
yes
<adrien>
you've added a line for goocanvas?
<NaCl>
yeah
<NaCl>
keeps on defaulting to webkit
<adrien>
I've made it process libsoup right now
<NaCl>
how do I clean the build stuff?
<adrien>
"rm -rf output" ?
<adrien>
there's a parse cache in output/*/_cache btw
<avsm>
adrien: why oasis, and not ocamlbuild directly?
<NaCl>
output is never generated
<avsm>
that takes care of sorting dependencies
<adrien>
greatly improves the processing speed but it can _sometimtes_ be somehow corrupted or not updated
<adrien>
avsm: it's binding stuff, and has dependencies; a configure script is a good thing
<adrien>
avsm: and I was going to forget the *first* reason
<adrien>
ocamlbuild has issues with C bindings (without specific handling in myocamlbuild.ml, it doesn't copy the .h files to the _build/ directory, which means they are not found)
<avsm>
mmm yes. sigh, i hate this ocaml->ocamlfind->ocamlbuild->oasis chain
<NaCl>
then use autotools
<avsm>
adrien: yeah, although this can be fixed with some cflags to the source directory
<NaCl>
adrien: can't build pango
<avsm>
adrien: hm, some fixes to the C dependency calculation could make it into 3.13
<adrien>
avsm: yes, it's only a matter of adding -I but things add up and oasis has additional features too
<avsm>
adrien: fair enough, i was genuinely wondering. that all sounds like it makes sense :)
<adrien>
avsm: reported, with almost good patch, but it's not really possible to fix everything there
<avsm>
whats the mantis id?
sepp2k has joined #ocaml
ttamttam has quit [Quit: Leaving.]
<adrien>
iirc and afaiu, the issue is that when you have foo.c and foo.h, ocambuild will only see "foo"
<adrien>
NaCl: yeah, I know, they're there but not completely working
<avsm>
adrien: not quite; everything in mirage (including the C microkernel) is built with ocamlbuild rules. it should be possible to completely encapsulate it as well as Make does atm
<avsm>
adrien: but the built-in rules would need some work. multiple plugin support would really help with some of this instead of having to patch the core all the time
<NaCl>
adrien: it tries to do webkit no matter what I put in
<adrien>
avsm: yw, also I've installed libraries using oasis on windows and I've enjoyed that they were using oasis
<adrien>
I think it's really what made me start using it
<NaCl>
adrien: bash
<adrien>
NaCl: hmmm, are you giving a parameter to the script? like "./run.sh goocanvas" ?
ikaros_ has joined #ocaml
sebz has quit [Ping timeout: 240 seconds]
<avsm>
yeah. i've been porting Core to openbsd ports, and it's quite pleasant to not have to debug the build system after the first time
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
<NaCl>
adrien: yes
<adrien>
Ich weiß nicht und ich habe keine Ahnung! ='(
<adrien>
(weird how one of the thing I know best in german is saying that I don't know...)
ikaros_ has quit [Client Quit]
<adrien>
NaCl: I'm tempted to tell you to remove the whole case and only keep the lib that you want
<adrien>
or, maybe, pastebin the output of the script
ikaros_ has joined #ocaml
<NaCl>
adrien: flags are hardcoded in myocamlbuild.ml
<adrien>
woah, you're absolutely right
<adrien>
I don't usually touch myocamlbuild.ml and most of the lines were copy-pasted (I don't know how to write myocamlbuild.ml)
<adrien>
=/
<adrien>
sorry
<adrien>
but it shouldn't matter for the run.sh script
<NaCl>
WARNING: local include "goocanvasitemsimple.h" dropped. Contact maintainer if this is incorrect.
<adrien>
what it does is that in order to get the signals and properties of glib objects, cowboy/glib will build .so files which instantiate the corresponding objects and poke them (and uses dlopen on them)
<adrien>
it means there is this in one of the header installed on your system:
<adrien>
#include "goocanvasitemsimple.h"
<adrien>
includes with " adn ", not < and >
<adrien>
iirc (sic!), it means contacting the _goocanvas_ maintainer if there's an issue
<adrien>
it probably won't matter
<NaCl>
it's trying to include the current directory
<NaCl>
being /usr/include/goocanvas-1.0/
sebz has joined #ocaml
<adrien>
goocanvas built from sbo?
<NaCl>
yes
sebz has quit [Client Quit]
<adrien>
put some specific line in run.sh for goocanvas?
<adrien>
I remember now: I said it wouldn't matter but goocanvas should _not_ use double quotes for the include; it should use brackets and I've decided not to be tolerant
<adrien>
and it should be changed upstream
<adrien>
oh, I didn't remember putting an "assert false" there however
<NaCl>
adrien: you aren't supposed to include the piece
<NaCl>
s
<NaCl>
but just goocanvas.h
<adrien>
nah, it's not working that way
<adrien>
yacfe is used to read and "understand" the meaning of each file, separately
<adrien>
yacfe doesn't work on preprocessed sources and that's why it's very useful here
<adrien>
because it parses what you see (and write) when you open a file, not the huge and horrible blurb you get after cp
<adrien>
cpp*
<NaCl>
yeah, so how the heck should this be done, anyway?
<adrien>
what exactly?
<NaCl>
the bindings be generated
<NaCl>
or should I just use C?
<NaCl>
or python to prototype it
<adrien>
it doesn't take a lot of time to adapt to new libraries and goocanvas is not a huge one
Snark has quit [Quit: Quitte]
<adrien>
but I haven't looked at the code for a quite long time
sepp2k has quit [Remote host closed the connection]
Modius_ has joined #ocaml
<adrien>
"gdouble a, b, c, d;" but I've only come to expect "gdouble a; gdouble b; gdouble c; ...."
<adrien>
the ability of C coders to break expectations is marvelous
Modius has quit [Ping timeout: 252 seconds]
<NaCl>
adrien: it's C. What did you expect? :P
<adrien>
Ada maybe :p
<adrien>
fixed this bug I think
<adrien>
it's funny how fast the CIA bot can be
<adrien>
so now I have to fix paths (because it's trying to include goo/goo.h) and the linking you've seen in myocamlbuild.ml
<NaCl>
goo goo
<NaCl>
wait, what?
<NaCl>
where did that come from?
<adrien>
that = ?
<NaCl>
goo/goo.h
<adrien>
GooCanvas being interpreted as Goo + Canvas
<adrien>
automated split
<adrien>
same issue with WebKit
<NaCl>
Goocanvas, then
<NaCl>
oh
<adrien>
ah, I've understood
<adrien>
in the .h files, webkit-gtk uses WEBKIT_TYPE_WEB_VIEW
<adrien>
but goocanvas uses GOO*_*CANVAS_TYPE_...
<adrien>
so it's split properly, as the headers put it
edwin has quit [Remote host closed the connection]
<adrien>
oh, wait
<adrien>
GOO_TYPE_CANVAS_ELLIPSE, not GOO_CANVAS_TYPE_ELLIPSE
<adrien>
they're actually calling the library "goo" and the submodules "CanvasEllipse"
* adrien
loves how glib has "conventions"...
<adrien>
=)
<adrien>
yay, bitfields! \o/
<NaCl>
adrien: is it my job to break stuff or something? :P
<adrien>
I've never made bindings involving bitfields =)
<adrien>
the issues so far were pretty minor and it's always expected that there are things to change in cowboy when a new lib is involved
<NaCl>
woohoo
<adrien>
but bitfields might not be doable after 11pm, after DST change
<NaCl>
xD
<NaCl>
then sleep. :P
<adrien>
lablgtk might already have what is needed
<adrien>
hmmm, a .so file can trigger the load of another .so file, right?
<NaCl>
should
<adrien>
that should be how to fix the hard-coding in myocamlbuild.ml then
<adrien>
NaCl: actually, GooCanvasGrid, struct GooCanvasGridData, do you need it bound?
<NaCl>
adrien: don't know yet
<NaCl>
I wouldn't worry about it for now
<NaCl>
I was just fiddling
<adrien>
looks like you could/would?
<NaCl>
possibly
<NaCl>
not immediately, anyway
sebz has quit [Quit: Computer has gone to sleep.]
sebz has joined #ocaml
<adrien>
don't currently have the code to exclude a struct, only functions
ikaros_ has quit [Quit: Ex-Chat]
<adrien>
NaCl: I've fixed several issues and it already handles two modules and the third one has the bitfields; skipping the whole module is doable
<adrien>
the main issue is that it fails when parsing the file because I don't know what to do with bitfields and I'm not handling them in the ocaml data structures I'm using currently
<adrien>
as you see, it can do most of the work but it takes some fixing; it should take a few more hours to do the library completely
sebz has quit [Quit: Computer has gone to sleep.]
<NaCl>
adrien: mmk, well, I'm not sure if the user interface is going to be ocaml or not
<adrien>
yup, I'm pretty much telling you that the bindings should be available in the near future, but not tonight (it all depends on if I take some hours to do it)
sebz has joined #ocaml
avsm1 has joined #ocaml
avsm has quit [Ping timeout: 240 seconds]
<adrien>
night
<NaCl>
night
Amorphous has quit [Ping timeout: 240 seconds]
everyonemines has joined #ocaml
Amorphous has joined #ocaml
ikaros has quit [Quit: Ex-Chat]
strepo696 has joined #ocaml
<strepo696>
hello is there nay people who speak french here?
<strepo696>
any*
<thelema>
strepo696: #ocaml-fr
<strepo696>
thanks but nobody answer me on this channel
<thelema>
have patience
<strepo696>
:)
ygrek has quit [Ping timeout: 248 seconds]
gentleben has joined #ocaml
gentleben has left #ocaml []
<Drakken>
strepo696 what do you need a french-speaker for?
<olasd>
french-speakers are weird beasts that sleep at night
<NaCl>
being right now
<strepo696>
it is not mandatory but better
<strepo696>
but I can explain my problem in englsih
<strepo696>
I have juste a own small source code
<strepo696>
and I don't undestand why there is a syntax error