Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ripcord: init at 0.4.23 #80402

Closed
wants to merge 2 commits into from
Closed

ripcord: init at 0.4.23 #80402

wants to merge 2 commits into from

Conversation

bqv
Copy link
Contributor

@bqv bqv commented Feb 18, 2020

Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

Copy link
Member

@cole-h cole-h left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works for me. Logged in, viewed channels.

[12 built, 447 copied (1311.1 MiB), 314.8 MiB DL]
https://github.com/NixOS/nixpkgs/pull/80402
1 package built:
ripcord

@jonringer
Copy link
Contributor

is the buildfhsuserenv really necessary? There's a lot of implications of using it

@bqv
Copy link
Contributor Author

bqv commented Feb 18, 2020

It's the backbone of appimageTools. I wouldn't use it directly, but I had to modify the fonts for the bugfix. Afaik there is no way to get an appimage to work outside FHS

@cole-h

This comment has been minimized.

@worldofpeace
Copy link
Contributor

The bit at https://github.com/hlissner/dotfiles/blob/91fdcf590845632f2846a3fd39ad497738e829a8/packages/ripcord.nix#L23, is wholly unneeded if you read the documention on gtk3 apps and wrapGAppsHook https://nixos.org/nixpkgs/manual/#sec-language-gnome.
It's needed even in an FHS environment because we isolate gsettings schemas out of their FHS directory.

@bqv
Copy link
Contributor Author

bqv commented Feb 18, 2020

I've added that, have I done it right? Not entirely sure on the implications, especially in Qt apps.

Copy link
Contributor

@jonringer jonringer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

personally, i would also like for you to add yourself as a maintainer. Generally it's great to have someone who is familiar with an application to verify that it still works-as-intended.

Copy link
Contributor

@jonringer jonringer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

diff LGTM (not super familiar with appimage)
commits LGTM (besides commit)

[12 built, 427 copied (1779.1 MiB), 425.8 MiB DL]
https://github.com/NixOS/nixpkgs/pull/80402
1 package built:
ripcord

maintainers/maintainer-list.nix Show resolved Hide resolved
@jonringer
Copy link
Contributor

@worldofpeace can you take a quick look?

Copy link
Contributor

@jonringer jonringer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM (not super familiar with appimage builds)
app opens, and seems to be usable

[12 built, 317 copied (1093.0 MiB), 261.9 MiB DL]
https://github.com/NixOS/nixpkgs/pull/80402
1 package built:
ripcord

I'll let @worldofpeace determine when this ready to merge

@worldofpeace
Copy link
Contributor

So this is the problem I see with

  fontsConf = makeFontsConf {
    fontDirectories = [
      twemoji-color-font
    ];
  };

this makes an incongruity with the emoji font configured with the system.

But I don't see a better way to fix it 😦

@bqv
Copy link
Contributor Author

bqv commented Feb 27, 2020

It's probably best to not have this package at all, if that fix isn't included, since any other emoji font will result in painful rendering (and as I mentioned before, the developer does not see reason to fix that). If you think that keeps it from merging I'm happy to close

@worldofpeace
Copy link
Contributor

It's probably best to not have this package at all, if that fix isn't included, since any other emoji font will result in painful rendering (and as I mentioned before, the developer does not see reason to fix that). If you think that keeps it from merging I'm happy to close

It seems that text only/black emoji was causing the issues " Text-only emoji turns the whole line blank under Arch". In NixOS we default use color emoji.

@bqv
Copy link
Contributor Author

bqv commented Feb 27, 2020

Not entirely accurate from my experience - I had the default nixos fonts and the bug manifested. I investigated a bit ant it seems having noto-fonts pulled in is what does it (arch peoples' experiences seemed to agree)

@jonringer
Copy link
Contributor

being largely ignorant of the current font/emoji situation in nixpkgs, I'm fine with a properly rendered (even if different) emoji fonts.

But I don't see a better way to fix it 😦

Unfortunately, it look likes appimages requires a buildFHSUserEnv :(

Maybe the runscript can see if $XDG_DATA_HOME/fonts exists and try to reference that instead.

@bignaux
Copy link
Contributor

bignaux commented Feb 28, 2020

I'd like to say 2 things :

@jonringer
Copy link
Contributor

It's increasingly more common for people to release their application as an appimage, thought it was their way of distributing the application. Thanks!

@bignaux
Copy link
Contributor

bignaux commented Feb 28, 2020

I'm working to have proper cold reading of appimage offset and type instead rely on some p7zip magic to detect sub-filesystem. Basically, the offset we need is after elf (at time i write a few lines Makefile tool that build appimage without all their ugly stuff appimagekit) , see appimage creator gist of the simple calculation https://gist.github.com/probonopd/a490ba3401b5ef7b881d5e603fa20c93

@bqv
Copy link
Contributor Author

bqv commented Feb 29, 2020

Interesting. I will have a go at this when I get a chance

@bignaux
Copy link
Contributor

bignaux commented Feb 29, 2020

I've update the method i use to unpack appimage, https://github.com/NixOS/nixpkgs/blob/de0af4a171280f085c6181b7477cefb46cc1ae83/pkgs/applications/networking/p2p/soulseekqt/default.nix#L34-L36 , this one-liner took me sometime to write, but did the right calculation imho (not rabin2 -Z for example). Would be interesting to port that later in a build-support, but i need to do same for appimagetype handling.

@worldofpeace
Copy link
Contributor

Wait, that is in the wrapper.

@bqv
Copy link
Contributor Author

bqv commented Mar 5, 2020

@worldofpeace my thoughts exactly. works for me...

Copy link
Contributor

@worldofpeace worldofpeace left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This packages this properly for a qt application.
Please read https://nixos.org/nixpkgs/manual/#sec-language-qt.

@worldofpeace
Copy link
Contributor

@worldofpeace my thoughts exactly. works for me...

perhaps @bignaux is running a different version of your commits?
Anyways, the above changes will probably eliminate some issues with qt.

@bignaux
Copy link
Contributor

bignaux commented Mar 5, 2020

duplicate with #71066

@bqv bqv requested a review from worldofpeace March 6, 2020 00:10
@bqv
Copy link
Contributor Author

bqv commented Mar 6, 2020

Managed to patch the binary so it's using exclusively pure dependencies and no libraries are bundled. Assuming the jump from libsodium.so.18 to libsodium.so.23 doesn't break anything, this is an entirely pure version of the the derivation. If it does break things, at least libsodium will have to be bundled and I'm probably going to pop an anyeurism.

Copy link
Contributor

@bignaux bignaux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This fix the issues and is good enough to be merged.

@jonringer
Copy link
Contributor

otherwise LGTM

Copy link
Contributor

@nloomans nloomans left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is awesome! I tested it using nixpkgs-review pr 80402 and added 2 Discord accounts and 1 Slack account. Everything works very smooth.

Tested:

  • Adding 2 Discord accounts
  • Adding 1 Slack account
  • Opening multiple tabs
  • Sending Discord messages
  • Joining a Discord voice chat

@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/prs-already-reviewed/2617/111

@bqv
Copy link
Contributor Author

bqv commented Mar 11, 2020

I decline to maintain this because the state and management of pull requests for nixpkgs is going to be the death of me. Someone else can use this code if they'd like to merge this later, and I'll be using this patched into my nixpkgs, but otherwise closing.

@bqv bqv closed this Mar 11, 2020
@infinisil infinisil mentioned this pull request Mar 11, 2020
1 task
@bignaux
Copy link
Contributor

bignaux commented Mar 11, 2020

i understand @bqv , nixpkgs suffers of being able to delegate, and @worldofpeace with their powerful RM manager when reviewing stuff, let people thinks the issue is in good hands, but in reality, they suffers of being able to merge something ... i'm sorry for yourself but this issue is a good example how nixpkgs is maintaining.

@Profpatsch
Copy link
Member

because the state and management of pull requests for nixpkgs is going to be the death of me

Which part of the process? I looks to me like there was a lot of review going on and people were happy with the final solution, so what prompted you to close this PR?

@bqv
Copy link
Contributor Author

bqv commented Mar 11, 2020

Specifically the fact that I've been posting this PR in #nixos on freenode almost every day, hoping someone would pay attention to it and maybe even merge it. I have nothing against the back and forth and PR critique, but the fact that it's so common for PRs to just be ignored for years, and the fact that this one was repeatedly ignored for days despite working on most levels at every stage is what bothers me.

Only when I threw a loud fit in #nixos did anyone pay any attention and now this package is merged, but I want nothing to do with it because the original problem remains: nixpkgs PRs are just an exercise in extremely slow torture.

@jonringer
Copy link
Contributor

jonringer commented Mar 12, 2020

unfortunately, there's just too little committers for the number of PRs. When I first started to get active with nixpkgs, there was around 1400 PRs/month (may 2019), now we are 2400+ PRs/month. And I think we've added 3 committers since then.

I only have a certain number of hours to dedicate to nixpkgs, and as many PRs as i get through, is how many I'm able to address.

@bignaux
Copy link
Contributor

bignaux commented Mar 12, 2020

nixpkgs is not able to delegate , that's just the point here. i'm sure a lot of valuable people can help but they don't stay because of that.

@bqv
Copy link
Contributor Author

bqv commented Mar 12, 2020

I'll reiterate that what I'm blaming here isn't any particular person, it's the design of this system which I find flaws with and that are the source of my massive frustration here

@bignaux
Copy link
Contributor

bignaux commented Mar 12, 2020

i'm really sorry i try the best i can to make nixpkgs change poliitics of being an insider trip but it's not that easy. you know, when people are community-based, they don't see how they are hurting the full process.

@nh2
Copy link
Contributor

nh2 commented Mar 18, 2020

Specifically the fact that I've been posting this PR in #nixos on freenode almost every day, hoping someone would pay attention to it and maybe even merge it. I have nothing against the back and forth and PR critique, but the fact that it's so common for PRs to just be ignored for years, and the fact that this one was repeatedly ignored for days despite working on most levels at every stage is what bothers me.

@bqv @bignaux I think we all agree with the sentiment, but I also think your're being slightly unfair to the process.

You've packaged a proprietary, Qt GUI app and faced multiple bumps along the way; that makes it quite a bit harder than the average package (of which we do merge many, especially the easy ones, quite quickly).

You've fixed all the bumps and done a good job!

There are lots of people who appreciate that you've put in the time to get it done, and there will be much more in the future now that it's easily installable.

The right thing to do now is to PR yourself as co-maintainer into

maintainers = with maintainers; [ infinisil ];

This (having more maintainers) is what will solve the fundamental issue.

(Also, building more automation is on the way, and it will likely reduce load on nixpkgs PRs significantly, and thus free up more reviewer time.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet