<< 05-10-2016 >>

00:05:45*bjz joined #nim
00:17:33*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
00:21:46*PMunch joined #nim
00:21:55*chemist69 quit (Ping timeout: 272 seconds)
00:25:43*chemist69 joined #nim
00:28:29*brson quit (Quit: leaving)
00:36:22*elrood quit (Quit: Leaving)
00:51:17*libman quit (Remote host closed the connection)
01:09:03*PMunch quit (Quit: leaving)
01:14:06*kulelu88 quit (Quit: Leaving)
01:40:24*chemist69 quit (Ping timeout: 265 seconds)
01:53:14*chemist69 joined #nim
02:14:38*gangstacat joined #nim
02:34:39*Jesin quit (Quit: Leaving)
02:47:56*bjz joined #nim
02:52:54*bjz quit (Ping timeout: 265 seconds)
02:54:52*bjz joined #nim
03:07:42*StarBrilliant quit (Ping timeout: 250 seconds)
03:09:22*StarBrilliant joined #nim
03:43:59*ARCADIVS joined #nim
03:54:06*Demon_Fox joined #nim
04:09:27*dddddd quit (Remote host closed the connection)
04:18:51*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
05:40:43*bjz joined #nim
05:51:19FromGitter<girvo> Hey all :)
05:51:35FromGitter<gokr> Hey
05:52:27ftsfo/
05:52:47FromGitter<girvo> What's best practice for `ref object` types in terms of naming? Better to create a regular `object` type, `Example`; what would one call the `ref object` version? Or is that just not needed, better to define them all as `object` and just use `thing: var Example` in my proc type signatures?
05:53:10ftsfi've seen them as FooPtr which is a bit confusing
05:53:28FromGitter<girvo> Haha yeah, I've seen the same
05:53:42FromGitter<girvo> `ExampleRef` maybe?
05:53:56FromGitter<gokr> There is a convention described
05:54:14FromGitter<gokr> In manual IIRC
05:54:48FromGitter<Araq> in NEP-1
05:55:09FromGitter<girvo> Brilliant, thanks
05:55:31FromGitter<gokr> I think BlaPtr and BlaRef but the commonly used variant without suffix
06:07:05*yglukhov quit (Ping timeout: 248 seconds)
06:11:47*nsf joined #nim
06:33:24*gokr joined #nim
06:41:07*brechtm joined #nim
06:44:10*GustavoLapasta joined #nim
06:48:30*GustavoLapasta quit (Ping timeout: 264 seconds)
06:52:14*Arrrr joined #nim
07:06:44FromGitter<dom96> It's FooObj and FooRef. But only if both the ``object`` and ``ref object`` are useful.
07:07:01FromGitter<dom96> if all that is used is the ``ref object`` then only define it and name it ``Foo``.
07:07:16FromGitter<girvo> makes sense @dom96 -- only `ref object` is needed for this particular type, so I'll leave it as-is!
07:07:38FromGitter<girvo> Figured I'd check best-practice to make sure it was okay :)
07:14:12*xet7 joined #nim
07:17:06*bjz_ joined #nim
07:17:46*bjz quit (Ping timeout: 265 seconds)
07:21:04*xet7 quit (Quit: Leaving)
07:39:05*yglukhov joined #nim
07:40:28*Andris_zbx joined #nim
07:40:33*yglukhov quit (Read error: Connection reset by peer)
07:40:55ftsfhmm mysterious, my app segfaults when compiled with 0.15
07:40:58*yglukhov joined #nim
07:43:26enthus1astftsf, maybe delete nimcache
07:43:53ftsfyea just thought to try that, but same
07:44:58ftsfahh actually maybe it's not nim's fault
07:45:07ftsf(i did an os upgrade which upgraded nim, haven't rebooted yet)
07:45:16ftsfmight be the graphics drivers
07:48:03ftsfwill reboot and see if that fixes it
07:48:17*ftsf quit (Quit: Leaving)
07:50:29*ftsf joined #nim
07:51:38ftsfhmm nope still crashing when compiling with 0.15
07:52:02ftsf0.14.2 is fine
07:52:28enthus1astwhats the message?
07:53:14ftsfSegmentation fault (core dumped)
07:53:24ftsfi'll try it in gdb
07:54:34ftsfhttps://gist.github.com/ftsf/e9106e1e69e089670424c9acb04506eb
07:54:44ftsfahh in setupforeignthreadgc
07:59:07*fredrik92 joined #nim
08:00:13ftsfdoesn't seem like many changes in that area between versions
08:01:20ftsfwhitespace and comment changes
08:02:24ftsfbottom and bottomData are now threadvars...
08:07:41FromGitter<Araq> ftsf: I think setForeignThreadGc needs to call initAllocator()
08:07:51FromGitter<Araq> can you try it and create a PR?
08:07:59FromGitter<Araq> 0.15.2 is just around the corner
08:08:00ftsfAraq_, sure
08:11:08ftsfhmm when running a nim installed in a non-standard directory do I need to tell it where to find nim's lib dir?
08:14:12ftsflib/pure/collections/tableimpl.nim(76, 6) Error: undeclared identifier: 'mustRehash'
08:14:35*xet7 joined #nim
08:14:52ftsfbut mustRehash appears to be defined in tableimpl.nim on line 23
08:18:53*enthus1ast quit (Ping timeout: 252 seconds)
08:20:18*aaasad_ quit (Ping timeout: 264 seconds)
08:33:10*fredrik92 quit (Read error: Connection reset by peer)
08:36:03*xet7 quit (Quit: Leaving)
08:37:04*stk joined #nim
08:37:09*stk left #nim (#nim)
08:38:48ftsfAraq, looks like that fixes it \o/
08:39:24*xet7 joined #nim
08:51:30*desophos quit (Ping timeout: 264 seconds)
08:57:00ftsfpico.nim(1155, 12) Error: internal error: genLiteral(nkHiddenCallConv) any idea what this means?
08:57:30ftsfoccurs at case evt.cbutton.button: of SDL_CONTROLLER_BUTTON_A:
08:57:51ftsf(unreleated to version change)
09:18:30*derka quit (Ping timeout: 264 seconds)
09:23:39*fredrik92 joined #nim
09:23:44*couven92 joined #nim
09:29:41*fredrik92 quit (Disconnected by services)
09:29:47*couven92 is now known as fredrik92
09:30:09*couven92 joined #nim
09:30:36*derka joined #nim
09:31:28*couven92 quit (Client Quit)
09:31:29*fredrik92 quit (Quit: Client disconnecting)
09:31:48*fredrik92 joined #nim
09:34:55*Kingsquee quit (Quit: https://i.imgur.com/qicT3GK.gif)
09:48:36*gangstacat quit (Quit: Ĝis)
09:55:00*gangstacat joined #nim
10:01:14*gangstacat quit (Quit: Ĝis)
10:06:19*gangstacat joined #nim
10:12:13*gangstacat quit (Read error: Connection reset by peer)
10:14:37*krux02 joined #nim
10:23:18*gokr quit (Ping timeout: 264 seconds)
10:29:31ArrrrIs the pico thing on github?
10:32:09*enthus1ast joined #nim
10:38:03*Zer0Pings quit (Ping timeout: 276 seconds)
10:38:14ftsfArrrr, not yet no
10:38:22ftsfstill undergoing a lot of changes
10:39:18*elrood joined #nim
10:45:21*brechtm_ joined #nim
10:46:50*brechtm quit (Ping timeout: 252 seconds)
10:49:14*brechtm joined #nim
10:49:57*brechtm_ quit (Ping timeout: 265 seconds)
11:08:03*gokr joined #nim
11:11:40*ARCADIVS quit (Quit: ARCADIVS)
11:16:47*brechtm quit (Remote host closed the connection)
11:18:51*brechtm joined #nim
11:19:14*gokr quit (Quit: Leaving.)
11:23:08*brechtm quit (Ping timeout: 252 seconds)
11:40:29*yglukhov_ joined #nim
11:41:02*Arrrr quit (Quit: WeeChat 1.5)
11:42:38*yglukhov quit (Ping timeout: 265 seconds)
11:51:41*brechtm joined #nim
12:04:56*astocko quit (Ping timeout: 272 seconds)
12:07:50*astocko joined #nim
12:18:07*ofelas quit (Quit: shutdown -h now)
12:26:19*ofelas joined #nim
12:36:13*dddddd joined #nim
12:55:17cheatfateIf i have type `type SomeType = distinct seq[SomeTypeUnit]` how to borrow `[]`, `[]=` from `seq`?
12:56:27*zielmicha[m] quit (Quit: node-irc says goodbye)
13:03:33*yglukhov_ quit (Remote host closed the connection)
13:04:32*yglukhov joined #nim
13:10:43flyxcheatfate: I believe there's a compiler bug. `proc `[]`(a: SomeType, i: int): SomeTypeUnit {.borrow.}` breaks the compiler.
13:30:21*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
13:32:25*fredrik92 quit (Ping timeout: 248 seconds)
13:34:50*fredrik92 joined #nim
13:58:42*bjz_ quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
14:15:23*derka quit (Ping timeout: 272 seconds)
14:16:34*desophos joined #nim
14:26:10*pregressive joined #nim
14:26:18*pregressive quit (Remote host closed the connection)
14:27:43*pregressive joined #nim
14:28:09*derka joined #nim
14:30:22krux02cheatfate: as Araq told me, using distinct is discouraged. I think it should be marked as experimental feature, because of the way he thinks about it at the moment.
14:30:36krux02so expect some bugs
14:30:39*krux02 quit (Quit: Leaving)
14:30:53ftsfmmm it seem painful to use
14:31:03ftsfnice idea though
14:31:22Araq_I've never said anything like that
14:31:48Araq_borrowing of [] is not supported and 0.15 should not crash on it
14:39:08*NimBot joined #nim
14:39:11*Sentreen joined #nim
14:39:12*fredrik92 joined #nim
14:39:13*elrood joined #nim
14:39:20*arnetheduck joined #nim
14:43:05FromGitter<dom96> There is no way `distinct` should be considered experimental
14:57:04SentreenIs there a way to define a command line value in nimscript? As in, I can pass something like '-d:majorVersion=1' on the command line, but I cannot seem to get the same thing to work in my nimscript build file
14:57:52SentreenHaving `--d:majorVersion=1` in my nimscript file just gives me `???(???, 0) Error: invalid command line option: '--majorVersion = 1'`
14:58:10*nicanaca0 joined #nim
15:01:25cheatfateIf i have type `type SomeType = distinct seq[SomeTypeUnit]` how to borrow `[]`, `[]=` from `seq`?
15:01:28cheatfatesorry
15:01:30cheatfatemissclick
15:09:41flyxSentreen: "switch("d", "majorVersion=1")
15:09:55flyx--d:"majorVersion=1" might also work
15:10:11flyxerm, drop the leading " from switch
15:10:54Sentreen--d:"stringvalue" doesn't work, but the first one does
15:11:30Sentreenfeels like a pretty hacky workaround though, perhaps a define macro could help there
15:11:35SentreenThanks though!
15:12:19flyxactually, `--` is the hack. switch is the actual proc that is being called. see http://nim-lang.org/docs/nimscript.html#--.t,untyped,untyped
15:13:59SentreenI know that, I meant that building the "majorVersion=1" part feels sort of hacky
15:15:06SentreenI just ended up creating a simple template: `template define(key, val: string) = switch("define", "$#=$#" % [key, val])`
15:15:14*derka quit (Ping timeout: 252 seconds)
15:16:10flyxyeah well. transforming `--` into a macro would make it possible to detect an AST that contains `majorVersion=1` as Asgn and handle it as special case. not sure if that would be worth the effort though
15:17:08SentreenHmmm, it might be, depending on how popular {. intdefine .} and {. stringdefine .} end up being
15:17:10Araq_Sentreen: .intdefine and .strdefine should work in nimscript too
15:19:42SentreenNot sure I get you Araq_, I want to define the majorVersion in my nimscript, and pass it on as a const to the program I'm compiling
15:20:14SentreenI don't think intdefine and stringdefine help me there, unless I want to pass it from the command line into nimscript?
15:20:32Araq_oh for that you can share an include file containing the version
15:21:10Araq_or you do something like const version = staticRead"version.txt"
15:21:45SentreenHmmm, I didn't think about staticRead yet, that sounds like it might be better than my current approach
15:26:52*brson joined #nim
15:27:13*derka joined #nim
15:47:22*PMunch joined #nim
15:53:52*pregress_ joined #nim
15:53:56*pregressive quit (Read error: Connection reset by peer)
16:03:26*Andris_zbx quit (Remote host closed the connection)
16:04:25*Trustable joined #nim
16:06:17*gokr joined #nim
16:36:25*pregress_ quit (Remote host closed the connection)
16:39:53*yglukhov quit (Ping timeout: 265 seconds)
16:42:46joshbaptiste_hey guys.. Python guy who looked over Go,Rust and Nim just fits the bill had a quick question about imports
16:43:28joshbaptiste_import foo .. which contains bar .. after importing foo .. bar is automatically in the name scope?
16:44:20flyxjoshbaptiste_: yes
16:45:13cheatfateflyx, i dont think so
16:45:26joshbaptiste_ok.. im reading code samples on github and find it hard to find where certain names are coming from
16:46:36flyxyou can get the Python behavior with `from foo import nil`. you'd then have to write foo.bar
16:47:11joshbaptiste_ah ..
16:48:14*fredrik92 quit (Quit: Client disconnecting)
16:55:15federico3joshbaptiste_: mind the asterisk on right of the proc declaration
16:56:26*enthus1ast quit (Ping timeout: 252 seconds)
16:56:37*enthus1ast joined #nim
16:58:03*gokr quit (Ping timeout: 256 seconds)
17:00:29joshbaptiste_federico3: k
17:07:08*filwit joined #nim
17:07:26*derka quit (Ping timeout: 252 seconds)
17:08:15filwithey folks, is there a reason why i can't make a macro which returns an `nnkObjectTy` and then use it like `type X = objectMacro(...)` ?
17:09:16filwitI can make a macro which returns simply some other type, then call it like that, but if I try to return a ObjectTy i get an "invalid expression" error
17:09:39*Demon_Fox quit (Quit: Leaving)
17:09:41filwitis that an oversight or purposeful restriction?
17:11:10filwitI mean, I can't see why it would be purposeful since you can just make a `type Container[T:tuple] = object fields: T` and then make a macro which returns `Container[(...)]` which essentially allows you to construct the type fields
17:11:52Araq_filwit: it's very hard to support
17:12:05Araq_requires a blog post to explain I guess
17:12:13filwitbut i don't know for sure ofc, which is why i'm asking. Would like to use this for something (i can work around this like i just described above)
17:15:44flyxfilwit: you can also have objectMacro(X, ...) which will generate `type X = …`
17:15:56*pregressive joined #nim
17:19:01*enthus1ast quit (Ping timeout: 256 seconds)
17:20:42*derka joined #nim
17:22:35*Kaini quit (Remote host closed the connection)
17:23:20*Kaini joined #nim
17:25:18*filwit quit (Read error: Connection timed out)
17:25:53*filwit joined #nim
17:28:13*fredrik92 joined #nim
17:29:26*yglukhov joined #nim
17:34:06*yglukhov quit (Remote host closed the connection)
17:34:21*yglukhov joined #nim
17:43:57*Trustable quit (Remote host closed the connection)
17:50:21*Matthias247 joined #nim
18:07:13baabelfish"delete, deldel is supposed to be faster than delete, because it does not keep the order; delete keeps the order" quite odd convention
18:08:13Araq_faster to type, faster at runtime
18:08:19Araq_makes perfect sense :P
18:08:24baabelfishindeed :D
18:08:47baabelfisha.i[d](s)
18:08:49filwit`deleteFast` would help code readers more...
18:09:05filwitAraq_, did you see my question above?
18:09:21Araq_I answered it?
18:09:28filwitAraq_.... errr.. sorry, my IRC client fucked up
18:09:34filwitjust saw your response now in the logs
18:10:29filwitokay thanks for the response
18:11:38*filwit quit (Read error: Connection reset by peer)
18:12:02*filwit joined #nim
18:16:20*nsf quit (Quit: WeeChat 1.5)
18:30:33*yglukhov quit (Remote host closed the connection)
18:31:15*yglukhov joined #nim
18:37:21*filwit quit (Quit: Leaving)
18:50:45*irrequietus joined #nim
18:51:05*fredrik92 quit (Read error: Connection reset by peer)
18:57:37*brechtm_ joined #nim
18:58:39*yglukhov quit (Remote host closed the connection)
18:58:54*yglukhov joined #nim
19:01:17*brechtm quit (Ping timeout: 252 seconds)
19:02:46*fredrik92 joined #nim
19:05:23*Jesin joined #nim
19:06:55*Kingsquee joined #nim
19:17:14*brson quit (Ping timeout: 252 seconds)
19:29:58*brechtm_ quit (Remote host closed the connection)
19:30:44*brechtm joined #nim
19:30:46*brson joined #nim
19:33:20*kulelu88 joined #nim
19:44:58*fredrik92 quit (Quit: Shutting down...)
19:47:38*fredrik92 joined #nim
19:48:20*libman joined #nim
19:49:03*fredrik92 quit (Client Quit)
19:49:38*M-Quora quit (Quit: node-irc says goodbye)
19:51:48*fredrik92 joined #nim
19:55:26*nsf joined #nim
20:13:46*yglukhov quit (Remote host closed the connection)
20:14:20*yglukhov joined #nim
20:14:41*brson quit (Ping timeout: 256 seconds)
20:18:48*gangstacat joined #nim
20:19:03*confundus joined #nim
20:26:36*confundus quit (Quit: leaving)
20:28:41*brson joined #nim
20:32:29*yglukhov quit (Remote host closed the connection)
20:32:41*yglukhov joined #nim
20:40:12dom96Araq_: Perhaps we should put out some announcement to packagers that Nimble should now be installed as part of Nim?
20:41:04dom96Also, does `koch install` install nimble?
20:42:49Araq_'koch install' needs to die.
20:44:26dom96okay, and what should the replacement be?
20:45:13Araq_our installation instructions are up to date.
20:46:51*gokr joined #nim
20:50:19Araq_the replacement should be 'koch distrohelper' because that's what 'koch install' is supposed to do
20:52:23*brson quit (Ping timeout: 252 seconds)
20:55:41dom96okay, so users shouldn't use it at all?
20:55:59dom96i.e. the only way for users to install manually is using the "change your PATH" method?
20:58:46*Trustable joined #nim
21:01:07*fredrik92 quit (Read error: Connection reset by peer)
21:01:40Araq_there is still the install.sh script
21:01:48Araq_it too is mentioned in our docs.
21:02:04Araq_but yes, the official method is to change the path.
21:03:30*brson joined #nim
21:03:31Araq_to put it into /usr/bin, use your OS's package manager.
21:05:07LindsayLojbanThis is sensible
21:05:24LindsayLojbanIs there a Docker distribution yet?
21:05:29LindsayLojbanOr Autobuild?
21:07:10Araq_yes, according to our website, we have Docker support
21:07:42dom96if install.sh still exists then packagers shouldn't be using ./koch install at all
21:08:48Araq_what packagers do is still a mystery to me
21:09:19Araq_I thought they would have their own tools by now.
21:10:13Araq_binaries to /usr/bin, config to /etc, lib+compiler to /usr/lib, done
21:10:51Araq_instead it's a never ending story.
21:11:59dom96if it was that simple then why isn't install.sh simply "cp lib/*.nim /usr/lib/nim/*" etc?
21:12:08dom96It lists every file explicitly
21:12:27dom96Do you expect packagers to painstakingly update the files that need to be copied?
21:13:32Araq_because 'cp' is a tool from 40 years ago, esp. if your usage of it seeks to be posix compliant.
21:14:14Araq_the high level description of what goes where is in compiler/installer.ini
21:14:52Araq_and yeah, I don't care about beauty in generated code, I'm sorry.
21:18:34dom96Why are you talking about the beauty? That's not my point.
21:18:53dom96packagers can't parse a .ini file
21:20:40*fredrik92 joined #nim
21:21:52Araq_but they can parse a shell script?
21:22:51Araq_they don't have to parse the .ini file anyway, niminst parses it and can build a .deb file or something
21:23:13Araq_we never get patches for this mechanism though
21:23:57Araq_as I said, what packagers do is a mystery.
21:24:58dom96they don't parse a shell script, they execute it
21:25:43dom96Every package is just a script that specifies the steps needed to install it
21:25:49dom96there is no mystery here
21:29:50Araq_how can they execute it? how would uninstall work then?
21:31:37*Snircle joined #nim
21:32:40euantorPacking on Linux sucks
21:33:17dom96Araq_: The package manager can surely keep track of what files have been copied during the installation of each package
21:33:27euantorThousands of different types of packages, some of which only work on some version of some distress and all of which have different ideas about how things should work
21:35:50Araq_how does it work? if you execute 'cp' you need some OS specific file system callack hook to figure what changed, I think. do package managers use this mechanism?
21:36:35euantorI know it's Ruby (ew), but fpm is designed to alleviate these kind of headaches for packagers: https://github.com/jordansissel/fpm
21:37:13dom96Araq_: One way is to create a virtual environment. Copy files there and see where they end up.
21:37:49dom96basically: ~/myVirtualEnv/{usr, etc, ...}
21:39:19Araq_dom96: aha, but this VE step is not part of the installation process, is it? it's a preprocessing right
21:39:36dom96Araq_: Depends on the package manager I guess
21:40:27dom96federico3: what things make packaging easiest? Like... do you have an example of how typical software is structured that makes it super easy to package?
21:41:30dom96Is a script that allows you to specify a virtual env typically what is provided?
21:41:51federico3dom96: well, many languages have a pretty standard build system (or a known build "behavior") e.g. C, Python, Ruby, where they generate outputs in a known location.
21:42:53FromGitter<mraxilus> hello, has anyone used OpenGL from Nim?
21:43:05federico3This allowed people to write simple wrapper that can tell which output files are to be "installed"[*] and which aren't (e.g. sources, object files, other byproducts)
21:43:48*pregressive quit (Remote host closed the connection)
21:44:21*pregressive joined #nim
21:44:46dom96right, but I think that a compiler deserves to be a special case
21:44:59dom96how are special cases handled?
21:45:08federico3In most cases there is a package building tool that will run the application build (eg. make) in a sandbox (e.g. a chroot or just a temp dir) and then grab the output and place it in a package
21:46:21FromGitter<mraxilus> I'm trying out Nim for game development and I've encountered an issue that I'm not sure how to resolve
21:46:22federico3actually, most compilers are just pretty normal application. You build them from sources, get some binaries as output...
21:46:41dom96mraxilus: tell us about your issue
21:47:05FromGitter<mraxilus> I'm using a combination of the sdl2 and opengl packages
21:47:17federico3Nim being a bit special because it builds from csources and then use it's own binaries to generate other stuff
21:47:23Araq_mraxilus: calll registerExtensions()
21:47:23FromGitter<mraxilus> and I'm running through this opengl tutorial https://open.gl/textures
21:47:41Araq_or something of similar name
21:47:53FromGitter<mraxilus> I have loadExtensions()
21:47:54dom96I think that packagers could handle it manually
21:48:09FromGitter<mraxilus> but the issue is with the glTexImage2D() function
21:48:15federico3dom96: however "installed" in this context means putting the output files in the deb/rpm/tarball, not installing it on the system
21:48:15dom96Copy all .nim files in lib/ to /usr/lib/nim
21:48:16dom96etc
21:48:31FromGitter<mraxilus> it throws out an opengl error saying that I passed in an invalid enum
21:48:45*pregressive quit (Ping timeout: 256 seconds)
21:49:00Araq_I fail to see how Python doesn't have the very same problem with its lib and binaries
21:49:08federico3dom96: what do you mean with "packager"? The tool that generates a deb/rpm or the tool that installs it?
21:49:25FromGitter<mraxilus> this is the function definition in the library https://github.com/nim-lang/opengl/blob/master/src/opengl.nim#L1820
21:49:25dom96either
21:49:31Araq_also: you don't need to build from csources. you only need a working Nim binary.
21:49:34dom96I'm thinking of two different package managers
21:49:41dom96or rather package management systems
21:49:58FromGitter<mraxilus> and this is my call "glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 2, 2, 0, GL_RGB, cGL_DOUBLE, addr(texture_image))"
21:50:21FromGitter<mraxilus> I've checked other sources and I'm fairly sure I'm passing in the right arguments
21:50:32FromGitter<mraxilus> but the 3rd argument is the one that it complains about
21:50:37dom96But perhaps we should just keep `koch install` (but rename it to something else so that users are not using it)
21:50:42dom96and get rid of install.sh
21:51:16dom96but then should this `koch install` also install nimble?
21:51:43federico3dom96: the "package builders" are the smart ones that do most of the work. The package managers (e.g. apt-get/dpkg, yum) are designed to take less decision as possible at install time: e.g. they don't decide which file goes where, just unpack an archive
21:52:34dom96federico3: yes, but certain package managers such as pacman (with AUR) don't just unpack an archive, they follow a pkgbuild.
21:52:39Araq_mraxilus: what's the error message?
21:52:47dom96But this doesn't really matter
21:52:55*sp33der89 joined #nim
21:53:04*Trustable quit (Remote host closed the connection)
21:53:06dom96You'll always be copying files to some temporary directory or inside a chroot
21:53:17federico3as such, during the package building you want to know where to put every file (and that's quite easy to do, it's just a couple of config lines)
21:53:24federico3correct
21:53:41federico3(sorry, catching a bus, I'll type from my phone)
21:53:44FromGitter<mraxilus> http://pastebin.com/Gxkn84qE
21:54:08dom96federico3: I think we should get back to this some other time. I need to head to bed.
21:54:11FromGitter<mraxilus> but I can get around that by explicitly casting the problem argument with cast[GLint](GL_RGB)
21:54:26FromGitter<mraxilus> but then I get this...
21:55:20FromGitter<mraxilus> http://pastebin.com/HSZPdXWi
21:55:26*sp33der89 left #nim (#nim)
21:55:52Araq_maybe you shouldn't cast then?
21:56:46FromGitter<mraxilus> And that's where I'm stuck, if I don't cast I get a type error, if I do I get invalid enum
21:56:55FromGitter<mraxilus> Idk, I'm new to Nim
21:56:55dom96good night
21:56:56cheatfateI think there must be article in github wiki which fully describe installation needs... So package maintainers can follow instructions and make appropriate changes, i think most of the problems is coming because there no such recommendations about installation
21:57:01FromGitter<mraxilus> night
21:57:12LindsayLojbanhi mraxilus!
21:57:18LindsayLojbanIs #nim treating you well?
21:57:36FromGitter<mraxilus> heyo, so far yes :D
21:58:03reactormonkTime to change that >:)
21:59:52LindsayLojbanhehe
22:00:10Araq_cheatfate: and what should this document contain? binaries to /usr/bin, config to /etc, lib+compiler to /usr/lib, done.
22:00:29Araq_I don't have to explain Unix to packagers now, do I?
22:01:06LindsayLojbanAraq_: let me know if you don't get an answer
22:01:08LindsayLojbanoops
22:01:11*LindsayLojban rubs eyes
22:01:15LindsayLojbanmraxilus
22:01:19cheatfateAraq_, nope it must describe, that nim binary must be accesses from PATH and nim library must be placed in XXX and configs must be manipulated in such way
22:04:09Araq_nim binary doesn't have to be accessed form path, it's just that it sux to type '/some/path/here/nim c ...' all the time
22:04:36Araq_again, what does this document contain that is not an introduction into Unix?
22:04:38cheatfateof course but nim must have access to nim.cfg to know where its library is placed
22:05:46cheatfateit describe requirements to make installation package without problems
22:06:22Araq_mraxilus: I'm sorry I don't know enough about OpenGL to help you. but your type mismatch seems to indicate a misunderstanding of the API.
22:06:36Araq_maybe the tutorial you follow is outdated?
22:07:04cheatfateand nim must support any kind of placement, (i mean like /usr/local/bin/nim and config in /usr/local/etc/nim.conf and stdlib in /usr/local/share/nim)
22:07:31FromGitter<mraxilus> yeah, but I looked at other people using the same package in nim, and they use the same call with similar arguments
22:07:36elroodperhaps it would help to describe what problem you guys are actually facing with packaging as it's currently done, kind of in a rubber-duck-debugging way. after reading this chat it's not even remotely clear what the real issue is
22:08:18Araq_cheatfate: it does support that since 5 years now. it's hard to test all these combinations though so maybe stuff breaks.
22:08:33elroodand packagers usually aren't that dense not to be able to figure out which files need to go where
22:09:46*pie__ joined #nim
22:12:28LindsayLojbandef-: Are you around?
22:13:23*pie_ quit (Ping timeout: 265 seconds)
22:15:14FromGitter<mraxilus> LindsayLojban: do you have the same name in #lojban, I don't recall the name
22:15:26LindsayLojbanFromGitter: I'm ldlework/cadgu'a
22:15:26FromGitterLindsayLojban, I'm a bot, *bleep, bloop*. I relay messages between here and https://gitter.im/nim-lang/Nim
22:15:32LindsayLojbanoops
22:16:19FromGitter<mraxilus> Ah, amusing name choice
22:16:20LindsayLojbanftsf: you around?
22:16:30LindsayLojbanki'e mraxilus
22:16:46def-LindsayLojban: sometimes
22:16:51*yglukhov quit (Remote host closed the connection)
22:16:52LindsayLojbanmraxilus, I pinged everyone I know who might be able to help
22:17:20LindsayLojbandef-: Do you have experience with OpenGL? our new nim user here, mraxilus is having a tiny argument-type error
22:17:29*yglukhov joined #nim
22:19:23def-FromGitter: You can use GL_RGB.GLint to convert GL_RGB to GLint
22:19:23FromGitterdef-, I'm a bot, *bleep, bloop*. I relay messages between here and https://gitter.im/nim-lang/Nim
22:19:41def-mraxilus: You can use GL_RGB.GLint to convert GL_RGB to GLint. But I'm just guessing
22:19:46LindsayLojbanu'i
22:19:56FromGitter<mraxilus> Nah, I get invalid enum if I do that
22:20:15FromGitter<mraxilus> but from the code I've seen online I'm doing the same thing they are
22:21:01LindsayLojbanmraxilus, can you give an example of other people's code?
22:21:04LindsayLojbanmaybe we can spot the difference
22:21:18FromGitter<mraxilus> http://hub.darcs.net/discoloda/NGE/raw-file/gl_texture_atlas.nim
22:21:31FromGitter<mraxilus> https://github.com/rbmz/nim3d/blob/master/texture.nim
22:22:04FromGitter<mraxilus> https://github.com/yglukhov/nimx/blob/master/nimx/image.nim#L106
22:22:40FromGitter<mraxilus> also here's the API documentation for this function: http://docs.gl/gl3/glTexImage2D
22:23:10FromGitter<mraxilus> I tried using opengl 3 and 4 and get the same problem in each
22:27:53*yglukhov quit (Remote host closed the connection)
22:28:06*yglukhov joined #nim
22:29:35*yglukhov quit (Client Quit)
22:35:52*PMunch quit (Quit: leaving)
22:43:34*irrequietus quit (Read error: Connection reset by peer)
22:45:40*elrood quit (Quit: Leaving)
22:47:51*Kaini quit (Quit: No Ping reply in 180 seconds.)
22:48:59*Kaini joined #nim
22:49:00LindsayLojban:(
22:49:23LindsayLojbanWish i had some bandwidth to help right now
22:52:44*nsf quit (Quit: WeeChat 1.5)
23:01:59Araq_mraxilus: keep in mind that cast is not the same as a type conversion
23:02:25Araq_def- is right, try GL_RGB.GLint rather than a 'cast'
23:03:43*Matthias247 quit (Read error: Connection reset by peer)
23:06:41*dddddd quit (Remote host closed the connection)
23:13:19*fredrik92 quit (Quit: Client disconnecting)
23:15:21FromGitter<mraxilus> No dice, still get the "OpenGL error: invalid enum [GLerror]" error
23:23:59Araq_well try some random values like 0, 1, 2, 3 then :-)
23:24:19*gokr quit (Ping timeout: 244 seconds)
23:35:28FromGitter<mraxilus> I got it!
23:35:43FromGitter<mraxilus> apparently doubles aren't excepted
23:35:47FromGitter<mraxilus> only floats
23:36:01FromGitter<mraxilus> but most other functions accept doubles... sigh
23:38:09FromGitter<mraxilus> does anyone have a "cleaner" way of doing this: https://github.com/mraxilus/experiments/blob/master/library/opengl/texture.nim#L55
23:38:33FromGitter<mraxilus> I feel like converting all the ints separately is definately not the way to do it
23:38:59FromGitter<mraxilus> but without those it complains about the constructor type being different from the variable type.