companion_cube changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 5.0 released(!!1!): https://ocaml.org/releases/5.0.0.html | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
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
random-jellyfish has joined #ocaml
random-jellyfish has quit [Changing host]
random-jellyfish has joined #ocaml
ansiwen has quit [Quit: ZNC 1.7.1 - https://znc.in]
ansiwen has joined #ocaml
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]
waleee has joined #ocaml
dnh has joined #ocaml
random-jellyfish has joined #ocaml
random-jellyfish has quit [Changing host]
random-jellyfish has joined #ocaml
waleee has quit [Ping timeout: 255 seconds]
waleee has joined #ocaml
waleee has quit [Ping timeout: 260 seconds]
CO2 has quit [Quit: WeeChat 4.1.0]
<hiddenman> hi guys again. i need a strange library "seq" which is referenced as https://github.com/ocaml/opam-repository/blob/master/packages/seq/seq.base/opam
<hiddenman> however, i can't find where to get the sources and build it. i mean i want to add it like: opam pin seq https://some_url
<discocaml> <._null._> In recent enough versions, it is part of the Stdlib
<discocaml> <._null._> (since 4.07)
<hiddenman> it says "dev-repo: "git+https://github.com/ocaml/ocaml.git""
<discocaml> <._null._> Well that is where the Stdlib is
<hiddenman> discocaml, hm. so why then i get this error: - 7 | (libraries containers seq)) - Error: Library "seq" not found.
<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> discocaml, 4.13.1 , https://packages.debian.org/bookworm/ocaml
<discocaml> <._null._> Did you pin all packages ?
<discocaml> <._null._> (NULL, discocaml is the bridge)
<hiddenman> i pin each package i find (required for building)
<discocaml> <._null._> If you somehow unsinstalled seq, you can reinstall it, but not pin it since it is part of the standard library
<hiddenman> actuall i was wrong, i get this error during building this: https://github.com/vyos/vyos1x-config.git
<hiddenman> no, i didn't touch it, i just got this error, opam/ocaml think that there is no 'seq', while they can find other libs/packages
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
<discocaml> <._null._> Does opam list seq ?
<companion_cube> `opam info seq` shows sth me
<companion_cube> for me
<hiddenman> just a second. it's a sbuild chroot and it removes everything after each attempt
<discocaml> <._null._> `bug-reports "https://caml.inria.fr/mantis/main_page.php"`
<hiddenman> actually, the error looks like this: https://paste.debian.net/1296295/
terrorjack has joined #ocaml
aljazmc has joined #ocaml
<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> what i do is running opam pin add vyos1x-config https://my_local_git_repo/vyos1x-config.git
<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)
<zozozo> hiddenman: you can try and follow the instructions in this comment : https://github.com/ocaml/opam/issues/5677#issuecomment-1725399919
<zozozo> this should allow you to create a local repository, as well as a local source for the packages
CO2 has joined #ocaml
<hiddenman> zozozo, great, thank you! will try
tiber_ has joined #ocaml
random-jellyfish has quit [Ping timeout: 264 seconds]
mro has quit [Quit: Leaving]
tiber__ has joined #ocaml
tiber_ has quit [Ping timeout: 240 seconds]
bartholin has joined #ocaml
Tuplanolla has joined #ocaml
tiber__ has quit [Ping timeout: 264 seconds]
CO2 has quit [Quit: WeeChat 4.1.0]
CO2 has joined #ocaml
tiber__ has joined #ocaml
deadmarshal_ has quit [Ping timeout: 260 seconds]
deadmarshal_ has joined #ocaml
deadmarshal_ has quit [Ping timeout: 272 seconds]
tiber__ has quit [Ping timeout: 272 seconds]
masterbuilder has quit [Ping timeout: 260 seconds]
deadmarshal_ has joined #ocaml
ec has quit [Ping timeout: 256 seconds]
ec has joined #ocaml
masterbuilder has joined #ocaml
deadmarshal_ has quit [Ping timeout: 260 seconds]
Serpent7776 has quit [Ping timeout: 255 seconds]
deadmarshal_ has joined #ocaml
deadmarshal_ has quit [Ping timeout: 245 seconds]
bartholin has quit [Quit: Leaving]
ania123 has joined #ocaml
deadmarshal_ has joined #ocaml
nfc has quit [Ping timeout: 240 seconds]
Tuplanolla has quit [Ping timeout: 240 seconds]
wingsorc has joined #ocaml
waleee has joined #ocaml
wingsorc has quit [Client Quit]
wingsorc has joined #ocaml
dnh has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]