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

Electron apps to be built from source #296939

Open
3 of 23 tasks
YoshiRulz opened this issue Mar 18, 2024 · 12 comments
Open
3 of 23 tasks

Electron apps to be built from source #296939

YoshiRulz opened this issue Mar 18, 2024 · 12 comments
Labels
0.kind: enhancement Add something new 5. scope: tracking Long-lived issue tracking long-term fixes or multiple sub-problems

Comments

@YoshiRulz
Copy link
Contributor

YoshiRulz commented Mar 18, 2024

Until recently, it was non-trivial to build Electron-based apps from source (see #46382). I gather the situation has now improved and these packages can be revisited.

  • authy has been removed from Nixpkgs
  • bilibili currently packaged from .deb, little hope for building from source
  • breitbandmessung proprietary, no source available
  • camunda-modeler currently packaged from binary tarball
  • clockify proprietary, no source available
  • electronplayer currently packaged from AppImage
  • etcher was packaged from .deb, but has been removed from Nixpkgs
  • feishin was packaged from binary tarball
  • figma-linux currently packaged from .deb
  • flexoptix-app proprietary, no source available
  • freetube was packaged from AppImage
  • hakuneko currently packaged from .deb
  • headset currently packaged from .deb
  • itch currently packaged from binary tarball
  • logseq currently packaged from AppImage
  • mailspring currently packaged from .deb
  • mattermost-desktop currently packaged from binary tarball
  • morgen proprietary, no source available
  • nix-tour-unstable appears to be a web app which is just wrapped with Electron for convenience
  • obinskit has been removed from Nixpkgs
  • obsidian proprietary, no source available
  • p3x-onenote currently packaged from AppImage
  • pocket-casts appears to be a web app which is just wrapped with Electron for convenience
  • pritunl-client proprietary, appears to be a web app which is just wrapped with Electron for convenience
  • revolt-desktop currently packaged from AppImage
  • roam-research proprietary, no source available
  • standardnotes currently packaged from .deb
  • stretchly currently packaged from binary tarball
  • super-productivity currently packaged from AppImage
  • teleprompter was packaged from binary tarball, but has been removed from Nixpkgs
  • termius proprietary, no source available
  • terra-station currently packaged from .deb
  • thedesk currently packaged from .deb
  • threema-desktop was packaged from .deb
  • tidal-hifi currently packaged from .deb, but needs Widevine so can't build from source
  • todoist proprietary, no source available
  • trilium-desktop currently packaged from binary tarball
  • tutanota-desktop currently just uses AppImage
  • uhk-agent currently packaged from AppImage
  • wire-desktop currently packaged from .deb
  • yesplaymusic was packaged from .deb, but has been removed from Nixpkgs

See also #295770 re: updating some of these packages, #17073 re: building Electron itself from source, and the from-source tracking project &6.
See also #291051 re: enabling Ozone globally.


Add a 👍 reaction to issues you find important.

@YoshiRulz YoshiRulz added 0.kind: enhancement Add something new 0.kind: packaging request Request for a new package to be added labels Mar 18, 2024
@eclairevoyant
Copy link
Contributor

how did you obtain this list? quite sure there's a lot more than just the listed

@YoshiRulz
Copy link
Contributor Author

A grep followed by manual pruning. (I also tried nixpkgs-review, but the grep quickly brought up some it missed.) If an expression looked like it was downloading a Git repo rather than a .deb, I omitted it. So it's definitely possible that I made a mistake.

@Aleksanaa
Copy link
Member

Aleksanaa commented Mar 28, 2024

I'd try to add some more:

  • mailspring currently packaged from.deb
  • yesplaymusic currently packaged from .deb
  • figma-linux currently packaged from .deb

@fin444 fin444 mentioned this issue Apr 4, 2024
13 tasks
jlbribeiro added a commit to jlbribeiro/nixpkgs that referenced this issue Apr 12, 2024
Addresses NixOS#296939 (build from source).
Continues the work started by @dotlambda in NixOS#288210.

Co-authored-by: Robert Schütz <[email protected]>
yu-re-ka pushed a commit that referenced this issue Apr 12, 2024
Addresses #296939 (build from source).
Continues the work started by @dotlambda in #288210.

Co-authored-by: Robert Schütz <[email protected]>
@samueldr samueldr added the 5. scope: tracking Long-lived issue tracking long-term fixes or multiple sub-problems label Apr 23, 2024
@yzx9
Copy link
Contributor

yzx9 commented Jul 25, 2024

I am attempting to build Logseq from source, which requires converting ClojureScript to JavaScript first. However, I encountered issues with clj2nix due to hlolli/clj2nix#12. Additionally, clj-nix is not currently upstreamed (jlesquembre/clj-nix#72). I'm not sure if this is the right place to seek help, but I would greatly appreciate it if anyone could provide a solution or example for creating Clojure applications.

@yzx9 yzx9 mentioned this issue Aug 2, 2024
13 tasks
@colonelpanic8
Copy link
Contributor

is there any information about what the right way to build electron is? or just a good example?

@tomodachi94
Copy link
Member

#303638 should be a good example, accurate as of April.

(Docs would be awesome for this though.)

@tomodachi94 tomodachi94 removed the 0.kind: packaging request Request for a new package to be added label Dec 12, 2024
pluiedev added a commit to pluiedev/nixpkgs that referenced this issue Dec 13, 2024
It seems like YesPlayMusic has been effectively abandoned upstream with numerous usability
and API bugs preventing it from working, while using old, unsupported Node versions (14 and 16)
and Electron versions (22).

While there have been forks and projects created in its image
(see qier222/YesPlayMusic#2344), it would be better
if we drop YesPlayMusic first, and package any fork that manages to garner enough momentum.

Part of NixOS#296939
@pluiedev pluiedev mentioned this issue Dec 13, 2024
13 tasks
@pluiedev
Copy link
Contributor

For yesplaymusic it seems that the upstream has been unmaintained for a while and is effectively abandonware. I've managed to get it to build but either way it is using terribly outdated Node.js and Electron versions, and I think it's better to just drop it.

See #364839

@pluiedev
Copy link
Contributor

pluiedev commented Dec 13, 2024

Packages using Yarn v2 lockfiles and blocked by #355053:

  • standardnotes
  • revoltchat
  • wire-desktop

Packages missing lockfiles:

getchoo pushed a commit that referenced this issue Dec 17, 2024
It seems like YesPlayMusic has been effectively abandoned upstream with numerous usability
and API bugs preventing it from working, while using old, unsupported Node versions (14 and 16)
and Electron versions (22).

While there have been forks and projects created in its image
(see qier222/YesPlayMusic#2344), it would be better
if we drop YesPlayMusic first, and package any fork that manages to garner enough momentum.

Part of #296939
@pluiedev
Copy link
Contributor

pluiedev commented Dec 17, 2024

More packages that are (seemingly) impossible to build from source:

@Noodlez1232
Copy link
Contributor

I'm going to work on thedesk and update it to thedesk-next while I'm at it.

Noodlez1232 added a commit to Noodlez1232/nixpkgs that referenced this issue Dec 18, 2024
In accordance with issue NixOS#296939, this is now being built from source.
This also gives us the chance to move to thedesk-next, since thedesk is
actually archived. AFAIK, thedesk-next is completely replacing thedesk.
@Noodlez1232
Copy link
Contributor

thedesk may not be possible to package due to dependency errors. Maybe it would be able to be patched, but I doubt it. Specifically, electron-window-state is unable to find its dependency jsonfile for some odd reason.
I cannot find any info, but I do have my current progress here in an in-progress fork.

Maybe I could get some help from somebody more experienced in this?

@liff
Copy link
Contributor

liff commented Jan 2, 2025

mattermost-desktop: #370210

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.kind: enhancement Add something new 5. scope: tracking Long-lived issue tracking long-term fixes or multiple sub-problems
Projects
None yet
Development

No branches or pull requests

10 participants