<ryanwatkins>still reading through guile/guix manuals and the 2006 nix paper, I am really new to software deployment in general but witnessed the horror of npm first hand at my last job and from generally using Pacman in Arch
<roelj>Is there something special with 'version' when inside a (modify-phases (replace 'build ...)) construct? It seems to replace 'version' with a function called 'version' instead of the version field of the package..
<roelj>Oh, nevermind, I was screwing up on the quasiquoting..
<jmd>It seems odd that we don't have it, unless there was some obstacle.
<erliphant>just an update: hydra.gnu.org looks much healthier
<rekado>jmd: on the website they mention among the requirements: “Desktop environment that works with Java/AWT/Swing”
<rekado>if Isabelle requires Java it may be a little difficult to build it completely from source.
<erliphant>bavier: file:// urls definitely seem to trigger different behaviour when it comes to substitutes. I can change the HTTP url and it's obvious that it's not actually trying to download the source. But the moment I make it a file:// url it wants to access the source code locally.
<bavier`>erliphant: are you changing the source uri for a package?
<erliphant>I'm experimenting to see what happens. Changing the source URI doesn't seem to change the "identity" of a package if the hash doesn't change. This sort of makes sense.
<erliphant>bavier: I guess if you move the source but it's the same content then you shouldn't invalidate all your existing builds
<rekado>ACTION installs the first GuixSD server at work.
<rekado>I *can* open the sqlite database with sqlite3 as root
<clacke[m]>Is it possible to recreate the db by nuking it and running "guix gc --verify=repair,contents"?
<clacke[m]>Or does that work the other way around and relies on the db being correct?
<joshuaBPMn_>quick question. I see that guix has a google summer of code proposal for making a guile specific build system, because autotools is showing its age. Why reinvent the wheel? Isn't the gnome project building a new build tool (written in python)? Why not use that?
<clacke[m]>There's a GSoC for a guile-specific build system? Funny thing, the last two weeks I have been thinking that I should make a guile-based generic build system, possibly utilizing guix for build caching package components.
<joshuaBPMn_>meson is one such alternative build system. the problem (slight problem) is that it is permissively licensed. And It's written in python, so I guess it wouldn't interact with guix so well.
<joshuaBPMn_>lost-my-login: The way they wrote it, it sounded like they want this new guild build system to replace autotools.
<clacke[m]>We're doing some pretty quirky things though, which Meson doesn't support out-of-the-box. Mixed toolchains for different parts of the build system, many different types of tools and artifacts, even reports. Internal sub-dependencies, parameterized by system configuration. In particular, I think my friend who evaluates potential future build systems said Meson doesn't yet have a way of defining external dependencies that
<joshuaBPMn_>BUT meson is already really better than autotools. AND it runs well on Windows and Mac (and GNU/Linux). So an application can be debugged natively on windows. making windows and mac support much easier.
<lost-my-login>this is a FSF-approved distro. Fairly sure no one gives a crap about Windows
<joshuaBPMn_>clacke[m]: What kind of project are you working on? That sounds really complitated.
<clacke[m]>joshuaBPMn_: I'm sure most of it is accidental complexity, but there is some intrinsic complexity to it, for sure.
<joshuaBPMn_>And I'm not trying to bash autotools. I'm not an experienced enough developer to know. But there's a reason that guix devs want to build a new build system, and there's a reason that meson is growing in popularity. I believe gnome is going to start using meson.
<clacke[m]>Frankly, I think doing any kind of build on a Windows system is just the wrong way to go. We're moving to cross-builds from Linux. Managing any kind of Windows CI environment is just exhausting.
<clacke[m]>"We keep getting this inconsistent state on our Windows slaves." "Ok, we made a detection and cleanup thing." "Nope, Windows is locking those files." "Alright, we'll have to reboot and clear workspaces then, just like we were already doing."
<clacke[m]>Seriously, our Windows Jenkins slaves have jobs that automatically reboot them if they're idle for a bit.
<clacke[m]>My long-term vision is doing all builds from within Guix. Linux and Windows builds, with non-guix-specific artifacts.
<lost-my-login>the problem is that they turn up the recording volume until bits of the high and low end are lost. It isn't anything special they are doing other than literally losing data for no reason whatsoever
<davexunit>that will include an X service among other things.
<lost-my-login>davexunit: Except I don't use either of those, and I really would prefer to figure out how to get a system that I want.
<lost-my-login>If I wanted something that "Just Works", I'd be on Mac or Ubuntu or something of that nature
<thomassgn>tor, I guess I could run it and see the error...
<lost-my-login>Think I'm probably going to just copy this LiveUSB image back to my disk and do all this in a VM so I have a usable system in the mean time, at least until I get X running
<clacke[m]>well, you could start with a Just Works xfce system and continue working from there ...
<lost-my-login>thomassgn: Interesting. I can't comment on that, but I think ng0 has been handling that service, or if he isn't then he may know who is.
<lost-my-login>clacke[m]: yeah, and start out in an enviroment I don't want to try and get to one I wouldn't mind when I already have an enviroment I sort of like and qemu I can use to figure this stuff out
<thomassgn>lost-my-login: ah, nice. I'm quite sure there's something with my config. Just need to figure out how shepherd calls tor, looking for the service definition now... :P
<davexunit>lost-my-login: look, I'm recommending that as a complete newcomer, maybe starting with something already prepared for you and learning from it would be the best first step.
<davexunit>and then you could get the system that you wanted later.
<lost-my-login>I'm also not married to this install, so it isn't a big problem
<davexunit>gnome-desktop-service just incorporates a bunch of other services, so you can inspect the source and see which things you want and don't want.
<davexunit>in fact, maybe just use %desktop-services instead
<lost-my-login>I wasn't dumb enough to jump ship into an unknown distro that is still in beta, /then/ try and get things working how I want it
<joshuaBPMn_>so how long does an update normally take for you guys? This past weekend I updated guix (I hadn't updated it in a while via guix pull; sudo guix pull) and it took several hours to do. Is that normal?
<davexunit>it doesn't install any desktop environment at all
<lost-my-login>joshuaBPMn_: On my Gentoo system, it usually takes me a few minutes
<lost-my-login>joshuaBPMn_: they want to avoid wikis. I already mentioned it before and they would prefer to improve documents so a wiki wasn't needed
<joshuaBPMn_>lost-my-login: Yeah on Parabola an update is super fast because they just send the binaries. But I suppose moving to a funtional system has some drawbacks.
<davexunit>you need to be clear about what "update" means
<lost-my-login>Depending on how how much is installed and how long ago it was you ran 'guix pull', I could see it taking quite some time to do that since it also 'accidently' runs some other stuff (like grafts) during most operations
<lost-my-login>davexunit: That's the nice thing; I don't want a service for X. I want to login to a shell, then run startx (or whatever) and get a GUI when I want it. Nothing more and nothing less
<joshuaBPMn_>lost-my-login: Really? What!? That sounds super odd. The Arch wiki is soooooooooo helpful. It can have package specific information, that wouldn't fit well in the official manual. That and having a wiki means you get free documentation that improves itself. Why wouldn't you want a wiki like Arch? If I want to know how to install a specific package in Arch, I'll check the wiki. If I want to install a specific package in gu
<joshuaBPMn_>lost-my-login: I feel like I compile all the time. Maybe I should double check that I am enabling substitutes.
<joshuaBPMn_>lost-my-login: how so? I had a weird issue where it didn't like emacs, awesome, or i3-wm in the packages section. What issues do you have?
<lost-my-login>joshuaBPMn_: I seem to recall a bug where guix does grafting during most operations, and I also seem to recall some packages don't graft properly for various reasons, so maybe it was having to recompile some software
<lost-my-login>joshuaBPMn_: Oh, I think it's just me refering to som things in the config that aren't installed and hoping Guix is smart enough to say "This isn't installed, so I'll support setuid for when it is installed", but it isn't that smart
<joshuaBPMn_>hmmm. I wonder why grafting would be so hard....You're just telling software to depend on a new binary...right?
<lost-my-login>joshuaBPMn_: The idea, iirc, was to just replace/patch the binary with the new data, except not all bins store that data in any sane manner
<lost-my-login>Some will store it abcde, some ab ... ce ... d, and some it is entirely jumbled
<joshuaBPMn_>lost-my-login: I am subscribed, but I don't read it all the time. :)
<erliphant>I think some of the packages on the guix mirror are corrupt. When you get them from hydra.gnu.org they are fine but the mirror.guixsd.org is broken. The Python package in particular seems to have problems
<erliphant>actually .. maybe it's not working on hydra either
<jmd>erliphant: Have you tried guix challenge on the ones you think are broken?
<joshuaBPMn_>wow. My root files system just went from being 75% full to now at 67%
<thomassgn>efraim: I found that onionshare version 0.9.2 cannot connect to the tor daemon through controlports; it needs the tor browser for control. The current onionshare has this feature, v1.0. Was looking at making a package definition for v1.0 but there are so many things I need to read up on to make this work... :P
<clacke[m]>evangelising guix in the #picolisp channel :-)