samueldr changed the topic of #nixos-dev to: #nixos-dev NixOS Development (#nixos for questions) | NixOS 19.09 is released! https://discourse.nixos.org/t/nixos-19-09-release/4306 | https://hydra.nixos.org/jobset/nixos/trunk-combined https://channels.nix.gsc.io/graph.html | https://r13y.com | 19.09 RMs: disasm, sphalerite | https://logs.nix.samueldr.com/nixos-dev
drakonis has joined #nixos-dev
orivej has quit [Ping timeout: 245 seconds]
srk has quit [*.net *.split]
srk has joined #nixos-dev
drakonis has quit [Ping timeout: 245 seconds]
_ris has quit [Ping timeout: 258 seconds]
drakonis has joined #nixos-dev
<pie_> clever: if only taint tracking was a thing
<pie_> "where does this value come from"
<pie_> though i guess that would be more like reverse taint tracking but eh
<clever> pie_: that can partially be done for attrsets
<clever> > builtins.unsafeGetAttrPos "hello" pkgs
<{^_^}> { column = 3; file = "/var/lib/nixbot/nixpkgs/master/repo/pkgs/top-level/all-packages.nix"; line = 19239; }
<pie_> re: <clever> i'm having VFP problems on the rpi, and i'm trying to build a VFP-free gcc to work around them, but something in the build process is adding a conflicting --fpu-abi=hard, which breaks the build...
<clever> pie_: oh that, i figured it out, the abi was set to gnueabihf
<clever> pie_: and something parsed it, saw the hf, and turned on hardfloat
<clever> pie_: but ttyAMA0 still doesnt exist, so i cant get any interactive debug
<genesis> so isn't normal behaviour nix-env rebuild tons of thing after modification in stdenv, i mean i can't go further with that
<samueldr> any input change to a derivation means that it will be rebuilt, and since that one has changed, any that has that one in its input will be, etc, so changing stdenv or one of its deps is generally a mass-rebuild
<samueldr> genesis: anything in particular that's hard to work / test?
<genesis> such a nightmare, thanks i wasn't confident
<genesis> i'm writing some patch-desktopfiles.sh setup-hook
<genesis> first time to detect some deprecated option with desktop-file-validate
<genesis> then if try Exec key is correct and so
<genesis> so i setup the hook but i don't have the ressource to recompile all this right now, need to find a tricks, but i'd like to be sure my issue was that samueldr
<genesis> right now we have plenty of desktop files who would enjoy a fix.
<jtojnar> genesis we probably do not want stdenv to depend on desktop-file-utils, so it would need to be an independent setup hook anyway
<jtojnar> genesis you might want to test it as an independent setup hook first
<genesis> jtojnar : but only people aware of it would call it, perharps later, so better is to write some nix derivation setup a hook, then call the derivation in buildinput ?
<genesis> like desktop-file-utils derivation
lovesegfault has quit [Ping timeout: 245 seconds]
cptchaos83 has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
cptchaos83 has joined #nixos-dev
Scriptkiddi has quit [Remote host closed the connection]
das_j has quit [Remote host closed the connection]
Scriptkiddi has joined #nixos-dev
das_j has joined #nixos-dev
orivej has joined #nixos-dev
<jtojnar> genesis that would be equivalent to us adding it to nativeBuildInputs (+postInstall, though setup hook can handle that)
<genesis> yes but noone will use it that way
<genesis> but i can start write like this :)
<genesis> first i thought it could be in the CI but gchristensen said it should be a setup-hook, so i do it :P
<genesis> extra bonus, if people were using desktop-file-edit instead of custom writeText or makedesktopitem, they would have validation.
<genesis> we have some interest to normalise a bit.
drakonis has quit [Read error: Connection reset by peer]
lovesegfault has joined #nixos-dev
tdeo has quit [Remote host closed the connection]
tdeo has joined #nixos-dev
tdeo has joined #nixos-dev
tdeo has quit [Changing host]
tilpner has quit [Quit: tilpner]
tilpner has joined #nixos-dev
cransom has quit [Ping timeout: 265 seconds]
cransom has joined #nixos-dev
<genesis> it seems worldofpeace works on same desktop topic as me :O
<genesis> then worldofpeace, you could use a one liner desktop-file-edit to write/edit the desktop file instead
<genesis> desktop-file-edit \
<genesis> --set-key Comment --set-value "${meta.description}" \
<genesis> --set-key Exec --set-value $binary \
<genesis> --set-key Categories --set-value Network default.desktop
<genesis> that way, according to documentation, you won't need to rerun validation.
<genesis> and a most-wanted , and desktop-file-validate doesn't provides that, is to check if Exec value is valid.
<genesis> you can also enforce mode with --mode , avoid some desktop files like firefox ,0ad or xterm one to be executable
<genesis> #75819
<{^_^}> https://github.com/NixOS/nixpkgs/issues/75819 (by mdedetrich, 20 hours ago, open): Franz has incorrect executable in franz.desktop
__monty__ has joined #nixos-dev
psyanticy has joined #nixos-dev
__Sander__ has joined #nixos-dev
xwvvvvwx has quit [Quit: ZNC 1.7.5 - https://znc.in]
xwvvvvwx has joined #nixos-dev
phreedom has quit [Ping timeout: 260 seconds]
phreedom has joined #nixos-dev
ghuntley has quit [Quit: Connection closed for inactivity]
<genesis> is there some gnome3 maintainer ? i'd like to know if they had desktop-file-utils in their package because of the hook or gnome3 build often rely on it (for which tools ?)
<genesis> i look for mahjong, was for -validate
lovesegfault has quit [Quit: WeeChat 2.7]
<jtojnar> genesis: some programs run desktop-file-validate as a part of make check/ninja test
<jtojnar> but it is usually optional so we sometimes forget to add it to nativeBuildInputs
<genesis> yes mostly validate, some edit or install.
<jtojnar> install should be very rare
<genesis> quite same anyway, i answer on the worldofpeace's open issue
<genesis> i'm trying to figure why builtin.fromTOML doesn't work with desktop entry :)
<jtojnar> And edit as well, the desktop files are usually created in configurePhase by the build system replacing values in a template file
<genesis> with the proper extention ;)
<jtojnar> genesis well, it is not toml
<genesis> for me it looks like a subset
<jtojnar> It is more closely related to INI
<jtojnar> Or systemd config file
<genesis> yes but it would be interesting to see what we would miss with the builtin
<genesis> if we can parse in nix, we can edit and get to validate each key/value
<genesis> yes "Whitespace around the key is ignored, however, best practice is to not use any extraneous whitespace"
<genesis> vs error: while parsing a TOML string at (string):1:1: Bare key Desktop Entry cannot contain whitespace at line 1
<jtojnar> Yup, the "sections" in desktop files contain spaces
<jtojnar> But keys in toml cannot
<genesis> but table can, and section is table for toml
<jtojnar> And since toml sees [Desktop Entry] as a group key, no desktop file is valid TOML
<genesis> so this is a restriction of the builtin.
<genesis> i don't understand that way.
<genesis> what is a no-go is strings has to be quotted.
<jtojnar> Oh, is that so?
<jtojnar> Then I would open an issue against Nix
<genesis> good idea, i gave you the documentation to table btw, if we could have an option to make him deal with non-quotted string
<genesis> i continue testing that.
<jtojnar> Reading toml docs, it is not true, though
<jtojnar> Table names can only support spaces when quoted
<genesis> [ g . h . i ] # same as [g.h.i]
<genesis> so [desktop entry] #same as [desktopentry]
<genesis> isn't it ?
<jtojnar> Not sure
<jtojnar> But the desktop-file-spec requires [Desktop Entry], no quotes
<jtojnar> So eating spaces would not work either
<genesis> easy to manage, it's the only one entry ;)
<genesis> i need to look if name[De] would work, the idea is not to say TOML would work from stock, but see if we could have a little hack to make it works.
<jtojnar> Desktop files can contain multiple entries (e. g. actions) and their names are fixed
<Profpatsch> genesis: c.f. “Desktop files are TOML and builtins.fromTOML should be able to parse them” please don’t
<jtojnar> And yeah, locale specific keys are another thing that is not valid TOML syntax
<Profpatsch> They are pre-TOML, so they cannot and should not be parsed with a toml parser. They should be parsed with a .desktop parser
<Profpatsch> And I’m pretty sure there is no spec for that
<Profpatsch> (apart from the specific implementation that are the freedesktop utils)
<genesis> i don't find any good desktop parser yes
<jtojnar> There is not a formal grammar AFAIK but the format is described in the desktop-file-spec
<Profpatsch> Okay well, there *is* a spec, but it doesn’t even contain a mention of syntax https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
<genesis> yes i read this since 2 days, look i never said desktop is toml, i list difference and said for table there is a bug in nix
<Profpatsch> jtojnar: LOL
<genesis> i've search for dtd or xmlns too
<Profpatsch> About what you would expect from a freedesktop spec
<Profpatsch> I wonder: does systemd use the .desktop parser?
<jtojnar> genesis that is not a bug, no desktop file can be valid TOML just because it contains the [Desktop Entry] preamble
<jtojnar> Profpatsch it is one of the better ones
<genesis> i just said [Desktop Entry] should be acceptable, name=truc is not.
<jtojnar> No, systemd is slightly different IIRC
<Profpatsch> jtojnar: Yes, it is. Which is why it’s so sad.
<jtojnar> genesis do you have a reference for that? Based on the readme, I would expect it not be acceptable:
<Profpatsch> So the first step would be to reverse-engineer a grammar …
<jtojnar> "Naming rules for tables are the same as for keys (see definition of Keys above)."
<genesis> Whitespace around the key is ignored, however, best practice is to not use any extraneous whitespace.
<genesis> ignored, not rejected.
<genesis> example are clear.
<jtojnar> genesis, that is around, not inside
<genesis> so since i would have camel case DesktopEntry, or DesktopActionCreate
<genesis> [ g . h . i ] # same as [g.h.i]
<jtojnar> A key may be either bare, quoted or dotted.
<jtojnar> Desktop Entry is not bare (contains space), not quoted (no quotes) and not dotted (no dots)
<genesis> i missed the dot thing oki
<jtojnar> So you cannot parse desktop files with TOML parser
<jtojnar> Nor can you produce them with TOML writer
<genesis> sure :)
<genesis> the implementation looks not so big, listed difference could help to write a new now :)
<jtojnar> genesis because they use cpptoml
<genesis> you're right, i don't look further, this is qt https://github.com/lxqt/libqtxdg/blob/master/src/qtxdg/xdgdesktopfile.cpp
<genesis> wouldnot be easy to find such a cpptoml for desktop :D
rnhmjoj has quit [Ping timeout: 248 seconds]
roberth has quit [Ping timeout: 245 seconds]
domenkozar[m] has quit [Ping timeout: 240 seconds]
Nyanloutre[m] has quit [Ping timeout: 246 seconds]
atopuzov[m] has quit [Ping timeout: 245 seconds]
layus[m] has quit [Ping timeout: 248 seconds]
nh2[m] has quit [Ping timeout: 248 seconds]
abbradar[m] has quit [Ping timeout: 252 seconds]
yegortimoshenko has quit [Ping timeout: 246 seconds]
rycee has quit [Ping timeout: 246 seconds]
worldofpeace has quit [Ping timeout: 246 seconds]
vaibhavsagar has quit [Ping timeout: 245 seconds]
bennofs[m] has quit [Ping timeout: 245 seconds]
arcnmx has quit [Ping timeout: 245 seconds]
dtz has quit [Ping timeout: 245 seconds]
ma27[m] has quit [Ping timeout: 246 seconds]
aanderse has quit [Ping timeout: 246 seconds]
jtojnar has quit [Ping timeout: 252 seconds]
mkg20001 has quit [Ping timeout: 250 seconds]
timokau[m] has quit [Ping timeout: 250 seconds]
Ox4A6F has quit [Ping timeout: 250 seconds]
thefloweringash has quit [Ping timeout: 246 seconds]
Ericson2314 has quit [Ping timeout: 246 seconds]
jtojnar has joined #nixos-dev
<jtojnar> so much Qt, not much C++
<genesis> :)
<genesis> could be a yacc/flex ^^
<genesis> i found in list, python, haskell, but nothing in c++.
jtojnar has quit [Ping timeout: 252 seconds]
justanotheruser has quit [Ping timeout: 248 seconds]
orivej has quit [Ping timeout: 246 seconds]
justanotheruser has joined #nixos-dev
Ox4A6F has joined #nixos-dev
worldofpeace has joined #nixos-dev
<worldofpeace> genesis: using desktop-file-edit sounds good to me
<worldofpeace> genesis: I can make my PR use this
justanotheruser has quit [Read error: Connection reset by peer]
<chrisaw> Not sure if this is the correct room but this question but I'm stuck trying to package up VMware for NixOS right now and wondering if any of you fine folks have any suggestions? Basically my two blockers are: 1.) If I try to patchelf the binaries they become too large (actual error message from patchelf) so that can't work. 2.) If I avoid patchelf and instead create a FHS env I can't set the suid bit on binaries.
<chrisaw> I'm *so* close to completing packaging it too - taken an awful lot of effort to get to this point and it's the last hurdle that's stumped me! :/ VMware basically needs either: 1.) The suid bit set on the binaries, 2.) pkexec or 3.) gexec (I think? The gnome sudo helper.) None of which can work inside an FHS env by default according to https://github.com/NixOS/nixpkgs/issues/69338
<{^_^}> #69338 (by JohnAZoidberg, 12 weeks ago, open): SUID wrappedrs do not work in buildFHSUserenv.env
drakonis has joined #nixos-dev
justanotheruser has joined #nixos-dev
orivej has joined #nixos-dev
worldofpeace has quit [Remote host closed the connection]
Ox4A6F has quit [Read error: Connection reset by peer]
worldofpeace has joined #nixos-dev
<worldofpeace> https://github.com/NixOS/nixpkgs/issues/75844 Jan Tojnar this issue is just not entertaining me at this point, I might join the 👎️ bash team 😃
<{^_^}> #75844 (by lovesegfault, 16 hours ago, open): lollypop broken with `Namespace Gtk not available`
<worldofpeace> Totally want https://discourse.nixos.org/t/wrappers-and-hooks-do-not-invoke-wrapprogram-directly/3551/4 so I don't have to care about double wrapping anymore.
<worldofpeace> Any trouble to avoid double wrapping just feels like a waste of time with little benefit. A systemic chance would feel sane.
jtojnar has joined #nixos-dev
<jtojnar> I am all for it
justanotheruser has quit [Ping timeout: 248 seconds]
justanotheruser has joined #nixos-dev
_ris has joined #nixos-dev
ixxie has joined #nixos-dev
drakonis has quit [Quit: WeeChat 2.6]
<Profpatsch> worldofpeace: The wrapper program should be a C binary that can interpret a small description langauge.
<Profpatsch> Which itself states stuff like path-appends
<Profpatsch> Something like Burke Libbey uses in Shadowenv https://www.youtube.com/watch?v=rYzjKCIqUVk
<worldofpeace> Profpatsch: yep, we have lots of fab ideas for improvements. We should start a github board makeWrapper improvements and make separate dedicated issues. That particular idea would also fix the issue we have with python3 withPackages on darwin.
<Profpatsch> worldofpeace: For darwin there is another fix
<Profpatsch> Create a binary wrapper instead of a shebang wrapper
<Profpatsch> e.g. what I did in https://github.com/NixOS/nixpkgs/pull/71357
<{^_^}> #71357 (by Profpatsch, 8 weeks ago, merged): execlineb: change execlineb wrapper to C script
<worldofpeace> I'd like it if makeWrapper could do that
<Profpatsch> worldofpeace: If it generated execline scripts instead of shell scripts, you’d get that for free, because execlineb is already an ELF binary
__Sander__ has quit [Quit: Konversation terminated!]
<Profpatsch> If I’m not mistaken?
<worldofpeace> I believe you have this correct
<Profpatsch> We really want to keep execution time of these wrappers as small as possible though …
<worldofpeace> 😃 For me, it's just the situation is slightly mentally exausting today. I'd love to fix it, just when the 🧠 is working.
<worldofpeace> Profpatsch: the wrappers currently make stuff slow, IIRC
<Profpatsch> i bet
drakonis has joined #nixos-dev
<jtojnar> shell+exec takes tens of ms, I would guess the quadratic directory travelsals would be worse (unless FS cache helps)
<Profpatsch> jtojnar: When I last timed it a trivial bash script takes about 6–10ms to execute.
<Profpatsch> 5 of that is kernel overhead
<Profpatsch> (exec overhead to be precise)
justanotheruser has quit [Ping timeout: 246 seconds]
justanotheruser has joined #nixos-dev
justanotheruser has quit [Client Quit]
arcnmx has joined #nixos-dev
aanderse has joined #nixos-dev
rnhmjoj has joined #nixos-dev
Ox4A6F has joined #nixos-dev
mkg20001 has joined #nixos-dev
abbradar[m] has joined #nixos-dev
ma27[m] has joined #nixos-dev
Nyanloutre[m] has joined #nixos-dev
vaibhavsagar has joined #nixos-dev
yegortimoshenko has joined #nixos-dev
timokau[m] has joined #nixos-dev
alienpirate5 has joined #nixos-dev
Ericson2314 has joined #nixos-dev
atopuzov[m] has joined #nixos-dev
jonge[m] has joined #nixos-dev
dtz has joined #nixos-dev
thefloweringash has joined #nixos-dev
nh2[m] has joined #nixos-dev
rycee has joined #nixos-dev
domenkozar[m] has joined #nixos-dev
roberth has joined #nixos-dev
layus[m] has joined #nixos-dev
bennofs[m] has joined #nixos-dev
orivej has quit [Ping timeout: 248 seconds]
<andi-> gchristensen: regarding the metrics machine. I was just pinged on this Commit: https://github.com/NixOS/nixpkgs/commit/96d73edaf33f4c9ee452f65504bfdfab9a653eaa
<gchristensen> m
<gchristensen> another machine is metrics capable now, so it shouldn't be blocking it?
<gchristensen> ie, should this be reverted?
<gchristensen> got to go to the dentist, back in a while :)
<andi-> gchristensen: ok, can probably reverted then. Maybe we need a better way to coordinate these things :/ I guess that machine was available before he disabled it?
ixxie has quit [Ping timeout: 246 seconds]
atopuzov[m] has left #nixos-dev ["Kicked by @appservice-irc:matrix.org : User has been idle for 30+ days."]
orivej has joined #nixos-dev
<gchristensen> andi-: agreed
phreedom_ has joined #nixos-dev
phreedom has quit [Ping timeout: 260 seconds]
psyanticy has quit [Quit: Connection closed for inactivity]
drakonis has quit [Ping timeout: 258 seconds]
timokau[m] has left #nixos-dev ["Kicked by @appservice-irc:matrix.org : User has been idle for 30+ days."]
<worldofpeace> yay, updated the 20.03 milestone description https://github.com/NixOS/nixpkgs/milestone/17 😃
drakonis has joined #nixos-dev
<genesis> makeDestopGreatItem.
<genesis> sound good for a milestone, isn't it worldofpeace ;)
timokau[m] has joined #nixos-dev
drakonis has quit [Ping timeout: 252 seconds]
drakonis has joined #nixos-dev
gchristensen changed the topic of #nixos-dev to: NixOS Development (#nixos for questions) | NixOS 19.09 is released! https://discourse.nixos.org/t/nixos-19-09-release/4306 | https://hydra.nixos.org/jobset/nixos/trunk-combined https://channels.nix.gsc.io/graph.html | https://r13y.com | 19.09 RMs: disasm, sphalerite; 20.03: worldofpeace, disasm | https://logs.nix.samueldr.com/nixos-dev
lovesegfault has joined #nixos-dev
<ivan> looking for someone to take over the 19.09 updates for chromium
<gchristensen> ivan: is it because they are difficult because they are large?
<ivan> I can't be bothered to test them on a 19.09 desktop and I'm pretty sure out there _does_ care about their 19.09 being secure, they just have to be located
dongcarl has joined #nixos-dev
__monty__ has quit [Quit: leaving]
drakonis has quit [Ping timeout: 248 seconds]
justanotheruser has joined #nixos-dev
drakonis has joined #nixos-dev