<< 03-01-2017 >>

00:02:59*Matthias247 quit (Read error: Connection reset by peer)
00:05:56*devted joined #nim
00:08:30*ftsf joined #nim
00:09:50*chemist69 quit (Ping timeout: 258 seconds)
00:23:18*vlad1777d quit (Quit: Leaving)
00:28:42*vlad1777d joined #nim
00:36:50*chemist69 joined #nim
00:49:53*dddddd quit (Remote host closed the connection)
01:00:51*irrequietus quit ()
01:08:15*gokr quit (Ping timeout: 246 seconds)
01:13:55*cheatfate quit (Ping timeout: 265 seconds)
01:32:18*yglukhov joined #nim
01:36:41*yglukhov quit (Ping timeout: 260 seconds)
01:56:43*subsetpark quit (Quit: Connection closed for inactivity)
02:14:02*chemist69 quit (Ping timeout: 258 seconds)
02:18:43*chemist69 joined #nim
02:45:17*chemist69 quit (Ping timeout: 260 seconds)
02:48:31*vlad1777d quit (Quit: Leaving)
02:58:45*chemist69 joined #nim
03:34:18*yglukhov joined #nim
03:34:46*def-- quit (*.net *.split)
03:35:10*07EAAAAGG joined #nim
03:39:02*yglukhov quit (Ping timeout: 264 seconds)
04:15:34*devted quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
05:36:30*yglukhov joined #nim
05:40:39*yglukhov quit (Ping timeout: 248 seconds)
05:45:18*nsf joined #nim
06:29:39*Vladar joined #nim
07:05:00*vlad1777d joined #nim
07:29:03*bjz joined #nim
07:34:25*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
07:39:16*bjz joined #nim
07:47:53*rokups joined #nim
07:51:09*space-wizard quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:56:00*chemist69 quit (Ping timeout: 246 seconds)
07:58:26*chemist69 joined #nim
08:11:31*irrequietus joined #nim
08:30:18*byte512 joined #nim
08:34:15*yglukhov joined #nim
08:34:17*Andris_zbx joined #nim
09:12:25*gokr joined #nim
09:14:59*jinshil quit (Read error: Connection reset by peer)
09:26:00*subsetpark joined #nim
09:35:44*Trustable joined #nim
09:37:32*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
09:40:07*bjz joined #nim
10:19:03*Arrrr joined #nim
10:38:22*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
10:41:23*bjz joined #nim
10:43:56*ftsf_ joined #nim
10:47:10*bjz_ joined #nim
10:48:27*bjz quit (Ping timeout: 246 seconds)
11:06:40*vasher_ joined #nim
11:58:37*Arrrr quit (Quit: WeeChat 1.5)
12:07:07gokrAnyone here who a) trusts me b) is on a 64 bit Linux and c) can give me 1 minute of your time?
12:07:37*Araq slowly raises his hand
12:07:47gokrAre you on 64 bit Linux? ;)
12:08:16gokrAnyway, so download http://krampe.se/editor - and run it.
12:08:32AraqI have a VM
12:08:39gokrAh, with a desktop?
12:08:49Araqsure.
12:08:52gokrCool.
12:09:10gokrSo its just 1.3 Mb. It's a trivial file editor using libui.
12:09:31gokrWritten in Spry, but packaged up as a Nim application for delivery (embedded Spry source as string literal).
12:09:59gokrJust wondering if it runs on another machine than my own ;)
12:10:31Araqit does.
12:10:59gokrOk, nice.
12:11:17Araqbut note that my VM is Ubuntu, so same distro
12:11:24gokryeah
12:12:40gokrI really like the libui stuff btw.
12:12:42Vladarruns on Arch also
12:12:46gokrAh, cool.
12:13:02gokrThe source is here: https://github.com/gokr/spry/tree/master/samples/editor
12:13:12dom96interesting, got any screenshots?
12:13:23gokrIt's written in Spry (editor.sy) and it's built using the silly make.sh
12:13:42dom96I'm almost convinced now that webkit is the way to go for desktop UIs these days
12:13:42gokrIt's just a trivial app, but it does work on native OSX too I am fairly sure.
12:13:58dom96would be nice to see what you accomplished with libui
12:14:07gokrdom96: At Evothings we use electron, but... you know, web stuff, sigh.
12:14:23dom96got an OS X binary?
12:14:39gokrHmmm, not for that one, but... for the ide thingy I did earlier, one sec.
12:14:58gokrTry this one: http://krampe.se/ideosx
12:15:15hohlerdeworks on fedora 24 64bit as well
12:15:29gokrI made a silly movie of that one too, which is kinda neat - showing how it can alter itself: http://krampe.se/spry-ide.mp4
12:15:38gokrhohlerde: Thanks
12:15:57Araqhohlerde: can you see if distros.nim works for you?
12:16:06AraqVladar: same question.
12:16:20dom96oh i've seen that video
12:16:26dom96Do you have syntax highlighting?
12:16:40gokrHehe, you mean in libui I suppose?
12:16:56dom96yes
12:16:59gokrAFAIK he (the libui guy) has just started on a code component - not sure what he picked.
12:17:55FromGitter<andreaferretti> @gokr works for me (still on Ubuntu)
12:18:39gokrAnd... another interesting thing I noticed the other day (world is a funky place) - the Atomic game engine/editor (spinoff from Urho3D) which is written using a custom UI called TurboBadger actually embeds Microsofts VisualStudio Code as the code editor. Muhahahah.
12:19:00gokrInsane, but hey, visual studio code is darn nice.
12:19:24*avsej quit (*.net *.split)
12:19:24*jivank[m] quit (*.net *.split)
12:19:25gokrandreaferretti: nice
12:19:41*avsej joined #nim
12:19:41*avsej quit (Changing host)
12:19:41*avsej joined #nim
12:19:49gokrAraq: Trying to muster up some strength to pull off that stackless design.
12:21:24*jivank[m] joined #nim
12:22:12Araqimport distros
12:22:20Araqecho detectOs(ArchLinux)
12:22:43gokrdom96: This is andlabs branch for the text rewrite he started for among other things, code editing: https://github.com/andlabs/libui/commits/utflib-and-attrstr
12:22:53Araqecho detectOs(Fedora)
12:22:53gokrBut I have no idea.
12:24:58VladarAraq, it works apparently
12:25:58Araqok good
12:26:43gokrEither way, I like libui - both its simplicity (C library, seems to be consistent and easy to map to) and the fact it is actually fully native on all three.
12:26:43gokrAnd the demo samples are quite extensive.
12:31:20dom96Araq: did you test OS X with distros?
12:32:11Araqcan't remember :-)
12:36:03*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
12:40:29*Snircle joined #nim
12:53:42hohlerdeAraq: distros.nim doesn't work on fedora 24. detectOs(Fedora) returns false. "uname -a" on my system gives: Linux w7-depdb5256 4.8.14-200.fc24.x86_64 #1 SMP Mon Dec 12 16:31:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
12:54:22Araqok, please create a PR then.
12:54:43AraqI have no idea what substring to use to detect this.
12:55:50gokrHmmm, sometimes you can also look at /etc/issue IIRC.
12:56:39gokrOr /etc/lsb-release
12:56:57hohlerdeAraq: detectOs(Fedora) returns false on my system (see above)
12:57:36Araqhohlerde: yes, I understood
12:58:27Araqgokr: nice. /etc/lsb-release sounds much more reliable than uname -a
12:59:23hohlerdeAraq: 4.8.14-200.fc24.x86_64 <-- the fc24 stands for fedora 24
12:59:41hohlerdecan create a PR tomorrow
12:59:48gokrYou can google that stuff - there is also a command I think, "lsb-release"
13:00:18Araqgokr: yeah but it's not installed on my Ubu
13:00:26Araqthe file does exist though
13:00:31federico3http://superuser.com/questions/80251/how-to-know-which-linux-distribution-im-using and https://www.novell.com/coolsolutions/feature/11251.html
13:01:34hohlerdecat /etc/fedora-release
13:01:34hohlerdeFedora release 24 (Twenty Four)
13:01:35hohlerdeI guess thats fedora specific. /etc/lsb-release is not present on my system, nor /etc/issue
13:03:20gokrSee http://unix.stackexchange.com/questions/92199/how-can-i-reliably-get-the-operating-systems-name
13:04:52hohlerdeon my fedora system lsb_release outputs this:
13:04:53hohlerdeLSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
13:05:00hohlerdevery generic
13:06:08hohlerdeoh, "lsb_release -a" does the trick
13:17:09gokrRight, with an underscore
13:20:01*bjz joined #nim
13:21:25*bjz_ quit (Ping timeout: 258 seconds)
13:29:09dom96ahh yes, each distro has a different way of specifying its version/name
13:33:28hohlerdeunfortunately
13:34:33Araqdoesn't concern me much. this implementaton is just a best effort anyway.
13:37:37dom96Araq: I'm sorry to say but I think distros should be implemented differently.
13:37:47dom96A distro can have different package managers
13:38:15Araqyes and the API supports that via foreignCmd
13:38:20federico3what's the point of detecting the distro in general?
13:39:11federico3if it's only to pick a pkg manager to perform a pkg install maybe it should detect the packaging system rather than the distro?
13:39:23Araqoh not again.
13:39:27Araqwe discussed this.
13:39:39Araqand the package name depends on the distro, not on the used package manager
13:40:32AraqsteamOS and Ubuntu use apt-get but that doesn't mean they have the same package names
13:41:41hohlerdelinux distro hell :-)
13:46:45federico3if it's for the nimble dependencies use-case it will have to be best-effort
13:46:47*Trustable quit (Remote host closed the connection)
13:47:05*Trustable joined #nim
13:47:24*jh32 quit (*.net *.split)
13:47:24*heinrich5991 quit (*.net *.split)
13:47:24*allan0 quit (*.net *.split)
13:47:24*qwertfisch quit (*.net *.split)
13:47:24*literal quit (*.net *.split)
13:47:32*literal joined #nim
13:47:36*heinrich5991 joined #nim
13:47:40*allan0 joined #nim
13:48:22Araqfederico3: yes, it's only for the nimble deps but I will also eventually use it for koch.nim
13:48:31Araqthat's why I put it into the stdlib
13:48:57Araqthe use case for koch.nim is the same, so best effort is good enough.
13:48:58*niv quit (Quit: Ping timeout (120 seconds))
13:49:06*qwertfisch joined #nim
13:50:29federico3maybe it could be useful to support the hierarchy of derivative distros, e.g. the .nimble file specifies "RedHat*": "nmap" and the nmap package will be installed in CentOS (and others) as well unless there's a more specific entry
13:51:05dom96okay, I think the current implementation is good enough and has enough room for improvement.
13:51:05federico3(with some luck maybe 80% of distros would be covered using 3-4 lines)
13:51:25dom96federico3: please take a look as well: https://github.com/nim-lang/Nim/blob/devel/lib/pure/distros.nim
13:51:47federico3I'll add some tests when time allows :)
13:53:36Araqhow can you test this thing? :-)
13:53:45Araqapart from the manual testing.
13:58:26federico3collect ouput strings from various distros and mock the code to parse them
13:59:40Araqok, that works
14:02:25*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
14:05:00dom96hrm, there needs to be a way to specify a generic list of packages
14:05:28*dddddd joined #nim
14:06:03dom96because right now I can specify Ubuntu only and on other OS' users won't have a clue that external deps are necessary
14:07:09federico3dom96: that kind-of was my point with the hierarchy
14:07:44federico3there could be a generic fall-back "*" that matches every distribution
14:08:09federico3(...and OSX?)
14:08:16dom96every OS
14:08:39dom96IMO distros should collect all foreigndeps and what distro they are meant for
14:09:36dom96so that instead of writing `if detectOs(Ubuntu): foreignDep("blah")` I can just write `foreignDep("blah", Ubuntu)` in my .nimble file
14:09:53Araqthat too has been discussed
14:10:14Araqand the current approach is much superior.
14:10:18dom96why?
14:11:01Araqbecause you then reinvent a way to write conditions like
14:11:13AraqforeignDep("blah", Ubuntu | Debian)
14:11:38Araqand you reinvent Nim's "if" statement, albeit a shitty version of it
14:12:06Araqbtw. it's easy to write this:
14:12:40Araqif detectOs(Ubnutu): foreignDep("libfoo-dev") else: foreignDep("libfoo") # best effort
14:15:00federico3following the Ubuntu | Debian example, maybe the distro.nim file could provide some handy presets like DebianDerivatives, RedHatDerivatives ...
14:16:06dom96Araq: foreignDep("blah", {Ubuntu, Debian})?
14:18:21dom96I would like to give a custom message for this "best effort" so I need a way to distinguish between these two situations.
14:20:32dom96Is there something wrong with using a set?
14:30:36*niv joined #nim
14:37:11*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
14:42:19*Snircle joined #nim
14:48:25*nsf quit (Quit: WeeChat 1.6)
14:52:39*yeeve joined #nim
15:00:57*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
15:09:48*devted joined #nim
15:09:52Araqdom96: this doens't work well:
15:10:07AraqforeignDep("foo", Ubuntu)
15:10:26AraqforeignDep("bar", GoboLinux)
15:11:25Araqdoes this then produce 2 messages for RedHat?
15:11:52Araqbut foo and bar might be derivations from the same abstract dependency.
15:13:02dom96The most specific one is picked
15:13:13dom96That logic can always be adjusted
15:13:22dom96distros has all the information it needs to make a decision
15:13:32dom96and it does simplify the DSL, even if just by a bit
15:13:55Araqno, you introduce a broken DSL.
15:14:53Araqwith unclear semantics.
15:15:14Araqif detectOs(...): dep(...) elif ... else: dep(...) has clear semantics
15:15:24Araqand it's clear what the fallback is.
15:15:30Araq(hint: the 'else' part)
15:15:40dom96It's just as clear as my DSL
15:15:51dom96detectOs(Ubuntu) -> foreignDep("", Ubuntu)
15:16:10Araqno because you have no control flow.
15:16:11dom96You could make the same argument about detectOs()
15:16:19Araqno, beceause it's different.
15:16:22dom96Does it return `true` even if the distro is Linux Mint?
15:16:30dom96Linux Mint is based on Ubuntu after all
15:16:46Araqthat's an entirely different argument.
15:17:09Araqconsider this:
15:17:23dom96your worry is that two messages will be produced
15:17:41dom96we can surely just allow one to be shown
15:18:08Araqpackage foo is the dependency and I know it's foo-dev on Ubuntu and libfoo-dev on Debian.
15:18:17Araqwith my API that's
15:18:35Araqif detectOs(Ubunut): foreignDep"foo-dev"
15:18:49Araqelif detectOs(Debian): foreignDep"libfoo-dev"
15:19:00Araqelse: foreignDep"foo"
15:19:04*chamar joined #nim
15:19:25Araqwith your api there is no connection between the foreignDep calls and no way of telling the relation
15:19:39AraqforeignDep"foo-dev", Ubuntu
15:19:49AraqforeignDep "libfoo-dev", Debian
15:20:01AraqforeignDep "foo" # is this call even here?
15:20:13Araqif not, how do you tell the user you want something like 'foo'?
15:20:31*cheatfate joined #nim
15:22:09dom96foreignDep "foo", General
15:22:52Araqyeah, that makes foreignDep an advanced macro
15:23:08Araqwith a varargs of distro set, name pairs
15:23:30dom96With your API there is no way for Nimble to know that "foo" is a general dep
15:24:08Araqthat's the old "with a declarative approach I can extract more information" argument.
15:24:33Araqthe declarative approach always grows into turing completeness.
15:24:45Araqwe replaced ini files with NimScript for this reason.
15:25:06dom96Fine.
15:25:11AraqNimble doesn't have "to know foo is a general dep"
15:25:20dom96It doesn't, but I want it to
15:25:33Araqso run the nimscript file like you already do.
15:26:10dom96huh?
15:26:23Araqnimble runs nimscript files.
15:26:26dom96I just don't want it to output: "Finish installation by running: foo"
15:26:55Araqyou have this in the foreignDeps variable. you can do lots of other things with this list of foreign dependencies.
15:28:10dom96yes, but how do I detect that it's a generic dep?
15:28:53Araqyou can't. but with your proposal you cannot either.
15:29:29dom96Yes, I can.
15:29:47dom96foreignDeps.hasKey(General)
15:30:20dom96and no, foreignDep doesn't need to be a macro
15:30:45FromGitter<andreaferretti> @dom96 Is it me or nimble does not accept the `--run` flag anymore? I opened an issue, but it seems strange
15:30:54FromGitter<andreaferretti> I thought it was quite a crucial feature
15:32:11dom96https://github.com/andreaferretti/patty/blob/master/patty.nimble#L19
15:32:23dom96Here? or do you mean when you run ``nimble c --run foo.nim``?
15:32:51*Snircle joined #nim
15:33:36Araqthere is no connection beyond substring macthing between
15:33:53AraqforeignDep("libfoo-dev", Ubuntu)
15:34:03AraqforeignDep("foo", General)
15:34:16*Snircle quit (Client Quit)
15:34:20Araqso you better put it in a single foreignDep macro call
15:34:23FromGitter<andreaferretti> nimble c --run foo.nim
15:34:53FromGitter<andreaferretti> It doesn't work either way
15:34:55dom96andreaferretti: does nimble c -r foo.nim work?
15:34:56FromGitter<andreaferretti> As well as in the task itself, yes
15:35:31dom96Araq: Not sure what you mean.
15:35:54FromGitter<andreaferretti> @dom96 nope. It seems that the flag is just not passed to the compiler
15:36:13AraqI replied to "and no, foreignDep doesn't need to be a macro"
15:36:21dom96andreaferretti: hrm, okay. Definitely a regression.
15:37:13dom96Araq: If I understand correctly your argument is that those two lines should be further simplified via a macro?
15:37:29Araqthey need to be or else your approach doesn't work.
15:37:39dom96simplified to what?
15:37:42Araqthey don't need to be "simplified"
15:37:48Araqthey need to be merged.
15:37:59Araqso that it's clear they refer to the same abstract dependency.
15:38:41dom96foreignDeps[Ubuntu].add("libfoo-dev")
15:38:49dom96foreignDeps[General].add("foo")
15:38:53dom96that's all that is required
15:39:07dom96"General" might need a better name
15:39:14dom96But my intention is not for it to be merged
15:39:50dom96It's only meant to be matched when foreignDeps.hasKey(currentOs) == false
15:40:16dom96I dunno, "Fallback"?
15:40:32Araqthat doesn't work well.
15:40:49Araqyou don't have a "currentOs" key.
15:41:18dom96I can get one
15:41:29dom96by creating a getCurrentOs proc
15:42:58Araqok, so in nimble you reinvent distros.nim and create all sorts of work.
15:43:29Araqfor instance, getCurrentOs might return "Kubunut" but that should be mapped to Ubuntu because the package repos are identical
15:43:35Araq*Kubuntu
15:45:54dom96*sigh* fine
15:45:57*confundus joined #nim
15:46:00dom96So I'll do it differently
15:46:23AraqI don't understand your problem.
15:46:52Araqafact you simply cannot admit that my approach works, is simpler and already implemented.
15:47:52dom96I just want something simple, and your approach doesn't offer it
15:48:51dom96So I'm trying to come up with a way to achieve it
15:49:10dom96or at least ensure that it can be achieved in the future
15:49:32*Snircle joined #nim
15:51:40dom96but it's fine, I think I have a simpler idea.
15:54:46dom96hrm, another problem is that attempting to install a package that uses `distros` using an older Nimble fails with a cryptic error.
15:56:28Araqwhen defined(nimdistros): import distros; deps here
15:57:50FromGitter<andreaferretti> but what is exactly the aim of allowing foreign deps? Just being able to dump a command to install dependencies?
15:58:01Araqyes for now.
15:58:16FromGitter<andreaferretti> ok
15:58:24dom96Araq: for now?
15:58:30dom96what are the future plans?
15:58:38dom96installing these automatically?
15:58:41FromGitter<andreaferretti> Every move that makes nimble work in more "global" mode worry me a little
15:58:43FromGitter<andreaferretti> :-)
15:59:01Araqyeah, run these automatically via some switch
15:59:01FromGitter<andreaferretti> I prefer package managers that isolate dependencies
15:59:16Araqor perhaps when I start it with "sudo nimble"
15:59:20FromGitter<andreaferretti> seems like a really bad idea..
15:59:29Araqyou don't have to use this switch.
15:59:49FromGitter<andreaferretti> yeah, I know, but still
16:00:11dom96why do you think it's a bad idea?
16:00:52FromGitter<andreaferretti> well, I think the package manager for a language should handle dependencies per project
16:01:01FromGitter<andreaferretti> not try to mess with the global installation
16:01:11FromGitter<andreaferretti> otherwise one runs into the issues of pip
16:01:18FromGitter<andreaferretti> and the whole virtualenv mess
16:01:33FromGitter<andreaferretti> that was necessary because pip works by default in global mode
16:01:37Araqyour own package requires libblas-dev to work...
16:01:51FromGitter<andreaferretti> yes, I know
16:02:16federico3andreaferretti: I think the use-case is only about running the appropriate OS-provided package manager
16:02:17FromGitter<andreaferretti> but I think it would be much safer to try to integrate something that can download c dependencies without installing the globally
16:02:44federico3albeit nimble could run "sudo $pkg_manager" instead of running the whole nimble process as root
16:03:32FromGitter<andreaferretti> unfortunately, there are not many options to donwload c dependencies without messing with the whole system
16:03:41FromGitter<andreaferretti> possibly 0install
16:04:29Araqso instead of apt-get install libblas-dev I do apt-get install 0install; 0install install libblas-dev
16:04:31FromGitter<andreaferretti> in fact much of docker popularity arises from the lack of a scoped package manager for c
16:04:43federico3andreaferretti: there could be dynamic libraries or other stuff, like data, that a Nim application needs
16:04:50FromGitter<andreaferretti> ins't 0install able to scope dependencies
16:04:59FromGitter<andreaferretti> anyway, I am not completely against the idea
16:05:12Araqapt-get vs 0nistall vs docker is not Nimble's decision to make.
16:05:18FromGitter<andreaferretti> just a little wary :-)
16:05:34FromGitter<andreaferretti> @Araq I agree
16:05:53FromGitter<andreaferretti> was just mentioning that currently managing c deps correctly is a little mess
16:06:23federico3on top of that, nimble should ask for permission before doing "sudo $foo" (also not to startle the user with an unexpected request for password)
16:07:47Araqfederico3: what if I run "sudo nimble"?
16:08:18federico3why running the whole process as root?
16:08:35dom96installing global packages on a user's PC without their permission is a bad idea, even if nimble was ran as root
16:09:33AraqI see no difference between 'sudo nimble' and 'nimble --trusted' except that 'nimble --trusted' can never work as conveniently
16:09:45Araqbut *shrug*
16:10:22dom96Araq: what if I am using root and execute 'nimble install'?
16:10:32dom96Then it's entirely implicit.
16:10:41federico3sudo nimble might create new files (e.g. a logfile) as root instead of user; if something goes wrong it might overwrite files in the wrong place;
16:11:02Araqdom96: alright, fair enough.
16:11:26federico3dom96: when running from sudo nimble could check for the sudo env var but it's really too hacky/clever
16:11:34*mjanssen quit (Remote host closed the connection)
16:11:52dom96Araq: how would you feel about making the foreign dep output explicit?
16:12:21Araqdom96: you mean via some 'nimble --switch'?
16:12:25dom96For Nimble I have to use a combination of 'foreignDep' and 'after install: echo("Please install openssl")'
16:13:02Araqshouldn't this be foreignDep("openssl") ?
16:15:11dom96I guess
16:16:07dom96I bet you people will begin opening issues saying "running `chocolatey install openssl` doesn't work!"
16:16:45Araqwell it's not like am advocating for unguarded foreignDep calls.
16:17:00dom96yes, but when nimble says:
16:17:04dom96To complete installation run:
16:17:09dom96 chocolatey install openssl
16:17:26dom96then people will think it must be 100% correct
16:17:33dom96and if it's not, then it's a bug
16:17:41dom96I need to word this message somehow to make this known
16:19:53Araqah I finally get your problem. :-)
16:20:26Araqyou don't want Ubunut vs Debian vs General, you want to know "is this a guess or known to work?"
16:20:46Araqand my API doesn't tell you that.
16:21:07dom96yes!
16:21:57Araqyeah, foreignDep should get a single default parameter for this then. :P
16:22:06AraqforeignDep("blah", guess=true)
16:23:49dom96lol
16:23:55dom96fine
16:24:05dom96We'll see how it works in practice
16:24:09dom96I shall add a big warning in the docs
16:24:16dom96which nobody reads anyway...
16:24:29Araqyou have no choice really.
16:24:53Araqthe wording should *always* say something like "you might be able to run these commands"
16:25:02dom96yes
16:26:18AraqI dunno if we want to burden our nimscript writers wtih this problem.
16:26:46AraqI could tell nimble "known to work" and be wrong about it
16:28:25dom96okay
16:28:44dom96can't believe you didn't understand what I meant though
16:28:50dom96Am I that bad at communicating? :P
16:31:11*nsf joined #nim
16:39:31Araqyou even mention your concrete nimble implementation problem
16:39:41AraqI thought it's all about "what ifs"
16:42:08*pregressive joined #nim
16:43:35Araq*you didn't even
16:45:39*kulelu88 joined #nim
16:50:46dom96true
16:52:30*yglukhov_ joined #nim
16:54:51*yglukhov_ quit (Read error: Connection reset by peer)
16:55:24*yglukhov_ joined #nim
16:56:18*yglukhov quit (Ping timeout: 272 seconds)
16:59:46*yglukhov_ quit (Ping timeout: 245 seconds)
17:02:59*yglukhov joined #nim
17:03:35dom96Araq: when defined(nimdistros) doesn't work for detecting whether Nimble supports distros
17:04:35dom96i'll just define a new symbol in nimscriptsupport for this
17:07:16*yglukhov quit (Ping timeout: 245 seconds)
17:07:43*space-wizard joined #nim
17:22:00*rokups quit (Quit: Connection closed for inactivity)
17:35:31*yglukhov joined #nim
17:35:38dom96Araq: https://gist.github.com/dom96/a7cbc400e4454b31cd7aa773f94ca757 :)
17:36:28dom96solution would probably be to add `skipFiles = @["doc/docgen_sample.nim"]` to compiler.nimble
17:36:48dom96I can do that, just wanted to show you Nimble's awesome namespace validation :)
17:38:25federico3dom96: nice
17:39:24dom96thanks :D
17:45:53*def-pri-pub joined #nim
17:54:08*brson joined #nim
18:11:36*confundus quit (Quit: leaving)
18:13:26*Matthias247 joined #nim
18:17:13*Matthias247 quit (Read error: Connection reset by peer)
18:18:31*Matthias247 joined #nim
18:18:34*Andris_zbx quit (Remote host closed the connection)
18:23:59*yglukhov quit (Remote host closed the connection)
18:24:40dom96Araq: ugh, looks like I also need to check whether the 'distros' module is available
18:24:43dom96How can I do that?
18:42:52dom96nvm
18:43:01dom96I created something, albeit slightly hacky
18:44:26Araqdom96: when defined(nimDistros) should work for Nimble too
18:50:16dom96Araq: it doesn't.
18:50:43dom96The nimble version and the Nim version both have to be new enough
18:51:06dom96This is how I solved it: https://github.com/nim-lang/nimble/commit/fcbb3de78373792698b3647c579b809f1cbc043e
18:51:53dom96now I realise that I forgot to export that.
18:52:29*yglukhov joined #nim
18:52:40dom96and it doesn't work D:
18:55:20Araqnimble compiles against the devel version of the compiler
18:55:24dom96Araq: Any ideas why?
18:55:34Araqthe devel version does defineSymbol"nimDistros"
18:55:56dom96Nimble is also tested against Nim 0.15.2
18:55:59Araqdo you call initDefines() ?
18:56:17dom96in that case 'nimdistros' isn't defined
18:56:23Araqok, but this test doesn't work against Nim 0.15.2
18:56:43dom96huh?
18:56:58dom96It does, but it doesn't work when you have an older Nimble version
18:57:08dom96with a new Nim
18:58:01Araqwhy bother? we bundle nimble with nim for these reasons
18:58:02dom96and yes, I do call it
18:58:13Araqyeah I checked. line 228
18:58:14dom96meh fine
18:59:51dom96I bet you somebody will run into this
19:00:17dom96strange that I cannot define something in nimscriptapi and then detect it inside my .nimble file though
19:02:02*yglukhov quit (Remote host closed the connection)
19:18:50*space-wi_ joined #nim
19:20:15*space-wizard quit (Ping timeout: 256 seconds)
19:21:39*yglukhov joined #nim
19:24:33Araqboth nimble and nim need to support nimDistros
19:24:43AraqI don't understand your problem.
19:25:07Araqyou cannot use an older nimble with distros.nim because distros.nim assumes nimscriptapi has the new foreignDeps var
19:27:01dom96my problem is that using an older nimble to install a package which uses foreignDeps will fail (even if the foreignDeps are wrapped in when defined(nimdistros))
19:30:45*chemist69 quit (Ping timeout: 246 seconds)
19:32:08Araqwhat?
19:35:14*chemist69 joined #nim
19:35:19dom96it doesn't matter
19:35:28dom96It's probably a rare problem
19:35:45*jivank[m] quit (*.net *.split)
19:35:45*avsej quit (*.net *.split)
19:35:45*ftsf quit (*.net *.split)
19:35:45*SunDwarf quit (*.net *.split)
19:35:46*flyx quit (*.net *.split)
19:35:46*erwana[m] quit (*.net *.split)
19:35:46*TheManiac quit (*.net *.split)
19:35:46*MrAxilus[m] quit (*.net *.split)
19:35:56*SunDwarf joined #nim
19:36:00*libman joined #nim
19:36:00*avsej joined #nim
19:36:03*flyx joined #nim
19:36:10*ftsf joined #nim
19:36:16*avsej quit (Changing host)
19:36:16*avsej joined #nim
19:38:28*nsf quit (Quit: WeeChat 1.6)
19:38:35*erwana[m] joined #nim
19:38:35*TheManiac joined #nim
19:38:36*jivank_ joined #nim
19:39:23*jivank[m] joined #nim
19:39:33*yglukhov quit (Remote host closed the connection)
19:39:55*MrAxilus[m] joined #nim
19:42:20dom96okay, so looks like I fixed the Nimble regressions.
19:42:31dom96Definitely could use more testing
19:42:40dom96andrea found many bugs :)
19:50:54*bjz joined #nim
20:04:13Araqyummy
20:06:11def-pri-pubAnother shameless plug: I "made," a ray tracer in Nim: https://16bpp.net/blog/post/ray-tracing-book-series-review-nim-first-impressions
20:14:03*gokr quit (Ping timeout: 246 seconds)
20:14:03dom96def-pri-pub: never be afraid to post Nim-related blog posts here
20:14:26dom96I shall tweet a link to it on Nim's twitter
20:15:43dom96https://twitter.com/nim_lang/status/816377459947880448
20:22:17*gokr joined #nim
20:24:02*yglukhov joined #nim
20:24:12cheatfatedef-pri-pub, too big difference in benchmark 5x slower then c++
20:30:32def-pri-pubcheatfate: it's because of an issue with how the BVH node implementation. Also, the raytracer is not at optimized as it could be.
20:42:57*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
21:02:56Araqyay, git --git-dir option corrupted my git repo
21:03:12Araqagain.
21:05:38*byte512 quit (Ping timeout: 256 seconds)
21:38:08*chemist69 quit (Ping timeout: 240 seconds)
21:43:07*chemist69 joined #nim
21:45:52*bjz joined #nim
21:45:53*Trustable quit (Remote host closed the connection)
21:47:37*jinshil joined #nim
21:52:59joshbaptisteI want to convert a fork an existing Rust project and convert it to Nim .. DO I fork and simply change sources? or start a brand new project
21:53:40joshbaptistenot a nim specific Q per se .. but if anyone hasbest practices idea
21:59:39Araqjoshbaptiste: depends on whether you want the git history to contain the Rust->Nim conversion
21:59:59AraqI think I'd start a new project.
22:01:58federico3a * to Nim translator?
22:03:37joshbaptisteAraq: ah gotcha thx
22:10:26*gokr quit (Ping timeout: 272 seconds)
22:17:46*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
22:31:22*Jesin quit (Quit: Leaving)
22:40:54*bjz joined #nim
22:47:34*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
22:49:30*Vladar quit (Quit: Leaving)
22:50:02*bjz joined #nim
22:54:55*vlad1777d quit (Quit: Leaving)
23:00:12*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
23:00:31ftsfo/
23:07:04*devted quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:16:51*jinshil quit (Quit: client terminated!)
23:25:22*nim-buildbot quit (Quit: buildmaster reconfigured: bot disconnecting)
23:31:23*yglukhov quit (Remote host closed the connection)
23:43:52*jinshil joined #nim
23:51:00*devted joined #nim
23:59:23*dddddd quit (Remote host closed the connection)