dnh has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
xd1le has quit [Quit: xd1le]
waleee has quit [Ping timeout: 252 seconds]
chrisz has quit [Ping timeout: 240 seconds]
chrisz has joined #ocaml
<discocaml>
<hockletock> if you create MyModule.ml / mli you can choose how to expose your library's modules
<discocaml>
<hockletock> if your whole library fits into one module this is unnecessary. If not, don't re-use the name of your library as a module name directly
<discocaml>
<hockletock> instead have MyLib.ml / .mli to determine the interface of your library, possibly simply pulling together the parts of your library you want to expose from their separate modules
<discocaml>
<hockletock> when a module deserves to be a separate file versus explicitly defined as a module is not a question dune tries to answer for you, it has some default behavior (like putting all your modules into a library namespace) that can be overridden
yoyofreeman has quit [Read error: Connection reset by peer]
yoyofreeman has joined #ocaml
yoyofreeman has quit [Read error: Connection reset by peer]
Serpent7776 has joined #ocaml
mro has joined #ocaml
bartholin has joined #ocaml
bartholin has quit [Quit: Leaving]
hiddenman has quit [Remote host closed the connection]
hiddenman has joined #ocaml
hiddenman has quit [Remote host closed the connection]
hiddenman has joined #ocaml
<hiddenman>
hi all
<hiddenman>
zozozo, hi. did you write anything to me? may be you've already asked regarding opam and libraries
<zozozo>
hiddenman: hi back, I've asked, and currently opam does not support mixing system-installed and oam-installed ocaml packages, it's on the (very long) todo(list of feature wishes, but currently it's probably better to install everything with opam
wingsorc has quit [Ping timeout: 260 seconds]
<hiddenman>
zozozo, got it, thank you!
kurfen has quit [Ping timeout: 240 seconds]
kurfen has joined #ocaml
random-jellyfish has quit [Ping timeout: 248 seconds]
random-jellyfish has joined #ocaml
random-jellyfish has quit [Changing host]
random-jellyfish has joined #ocaml
dnh has joined #ocaml
dnh has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
random-jellyfish has quit [Ping timeout: 272 seconds]
<zozozo>
hiddenman: Seq is a module that was added to the ocaml stlibd some time ago, to ease adoption a compatibility package was added so that users could use the module regardless of the ocaml version they were using
<zozozo>
hiddenman: did you install the `seq` package ?
<hiddenman>
zozozo, do i have to install it somehow? i'm just cloning each required library. however, i see that seq is not a library and should be installed somehow?
<discocaml>
<._null._> It should get installed along OCaml as it is installed
<hiddenman>
i have ocaml+opam+some debian libs installed. when i do: opam init, opam switch and then lots of: opam pin add pkg https://pkg_local_git_url
<discocaml>
<._null._> What version are you using ?
<hiddenman>
may be "containers" uses it in a wrong way?
<discocaml>
<._null._> It looks like seq is not installed in your switch, so libraries [that also support older OCaml versions] cannot use it
<hiddenman>
how can i install it into my switch? what's the command for that?
<discocaml>
<._null._> `opam install seq`
<hiddenman>
may be it's better not to create any switches and use "default" ?
<discocaml>
<._null._> You could also install `containers` directly
<discocaml>
<._null._> "default" is the default switch, you choose which one you want to use
<hiddenman>
i have to have all used sources locally and build from them. i can't install any precompiled libraries, that's my task
<hiddenman>
that's why i clone each package's git repository locally and pin it
John_Ivan_ has quit [Read error: Connection reset by peer]
<hiddenman>
everything was ok until i got 'seq' :)
<discocaml>
<._null._> Most OCaml libraries aren't precompiled
John_Ivan_ has joined #ocaml
<hiddenman>
i might be wrong, yes. but i must show that everything is built from local git server. that's the problem
<hiddenman>
so let me try to run opam install seq, may be it will install from the system-installed stdlib?
<discocaml>
<._null._> If it finds the `opam` file, you're good because it's probably just a stub
<hiddenman>
it also wants ocaml-compiler-libs, stdlib-shims and much more libs. may be seq is inside one of them?
<companion_cube>
what version of OCaml do you have?
<hiddenman>
4.13.1
<companion_cube>
hu, seq should really just be there yeah
<discocaml>
<._null._> I think the issue is with the opam package "seq"
<discocaml>
<._null._> I don't know what it needs to get installed if one wants to be local only
<hiddenman>
my problem is described above by zozozo
<hiddenman>
" hi back, I've asked, and currently opam does not support mixing system-installed and oam-installed ocaml packages, it's on the (very long) todo(list of feature wishes, but currently it's probably better to install everything with opam"
<hiddenman>
in this case opam tries to compile it and wants _all_ required libraries/packages to be installed into my local switch
<hiddenman>
i already pinned a lot of them :dune, dune-configurator, cxexp, pcre, xml-light and so on
<zozozo>
hiddenman: maybe a stupid question, but why do you pin everything to git repos ?
<hiddenman>
everything was ok until i met 'seq'. this is not a real library/package which i can clone and pin. so now i do not understand how to add/pin it into my switch
<companion_cube>
yeah it's just a compatibility stub
<hiddenman>
zozozo, as i said above, i have to have all sources of the all packages used for building - locally
<companion_cube>
at least on 4.13
<discocaml>
<._null._> `pin` should not be more capable than `install` at fetching dependencies, what went wrnt with that ?
<hiddenman>
zozozo, i will have to prove and show that my package is built from local sources.
aljazmc has quit [Remote host closed the connection]
<discocaml>
<._null._> Prove to whom ?
<zozozo>
hiddenman: just fyi, there exists a tool called opam-bundle: https://opam.ocaml.org/packages/opam-bundle/ which will download all sources and basically create an archive containing everything that can then be built and installed locally
<hiddenman>
hmmm. do you mean i have to run "opam pin add seq" and that's all?
<companion_cube>
there is literally no code for seq.base
<companion_cube>
look in opam-repository under packages/seq/seq.base
<hiddenman>
companion_cube, yes, i understand. by ocaml fails to build containers , here is the error: https://paste.debian.net/1296295/
<hiddenman>
*but, not "by"
<hiddenman>
zozozo, interesting, thank you. will check
<discocaml>
<._null._> Did you try to install packages the normal way ?
<zozozo>
hiddenman: it's as expected, even if on recent ocaml versions, the seq package is empty, most build system will still need it to be there to correctly compile everything
<hiddenman>
not tried yet. will try right now :)
<companion_cube>
yeah it needs the META file
<hiddenman>
it said "∗ installed seq.base"
<hiddenman>
may be it will help :)
<hiddenman>
actually, i will need to build my package completely locally, without internet access. is it possible somehow? because opam always downloads indexes from ocaml.org
<hiddenman>
may be i have to create a local repo somehow?
<hiddenman>
may be this opam-bundle can help?
<hiddenman>
i'm not familiar with ocaml at all, i'm a debian derivative maintainer who build packages :)
<companion_cube>
ah, I'm not sure how to do things fully offline :(
<companion_cube>
(I wish it were straightforward indeed)