Skip to content

nuclear: 0.6.6 -> 0.6.17#157251

Closed
jakobneufeld wants to merge 1 commit intoNixOS:masterfrom
jakobneufeld:master
Closed

nuclear: 0.6.6 -> 0.6.17#157251
jakobneufeld wants to merge 1 commit intoNixOS:masterfrom
jakobneufeld:master

Conversation

@jakobneufeld
Copy link
Contributor

Motivation for this change

I updated the nuclear audio player.
I like it.

Things done

Changed version.
Changed hash.
Build works on my nixos x64 machine.

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 22.05 Release Notes (or backporting 21.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
    • (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes
  • Fits CONTRIBUTING.md.

@jakobneufeld
Copy link
Contributor Author

Question @IvarWithoutBones, are you the maintainer for this pakcage? It looks like that in the default.nix

@ofborg ofborg bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. labels Jan 29, 2022
@jakobneufeld
Copy link
Contributor Author

Yay!!, the tests passed!

@danilevy1212
Copy link

Hi @jakobneufeld! I was recently using this package, but I can't get it to work, it opens just fine but it never reproduces any music I select. I addition, I can get it to change the directory to download music in:

Error when trying to play a song:

      main › renderer › Error while searching  for The Caretaker All you are going to want to do is get back there on Youtube
      main › renderer › Error: Error parsing info: Unexpected token ) in JSON at position 0
    at t.getBasicInfo (file:///nix/store/a1r7x3mf10dffvz4cy87lgvixfvbgab3-nuclear-v0.6.6-extracted/resources/app.asar/dist/1.renderer.js:2240:278393)
    at async Map.getOrSet (file:///nix/store/a1r7x3mf10dffvz4cy87lgvixfvbgab3-nuclear-v0.6.6-extracted/resources/app.asar/dist/1.renderer.js:2240:262532)
    at async t.getInfo (file:///nix/store/a1r7x3mf10dffvz4cy87lgvixfvbgab3-nuclear-v0.6.6-extracted/resources/app.asar/dist/1.renderer.js:2240:280578)
    at async Map.getOrSet (file:///nix/store/a1r7x3mf10dffvz4cy87lgvixfvbgab3-nuclear-v0.6.6-extracted/resources/app.asar/dist/1.renderer.js:2240:262532)

Error when opening the file browser:

(nuclear:2): GLib-GIO-ERROR **: 11:05:34.566: No GSettings schemas are installed on the system

Was wondering if you had encountered these issues? I used your package recipe too but it's the same problem.

@jakobneufeld
Copy link
Contributor Author

This is a weird error. I will try to reproduce on my machine. I will tell everyone my results

@IvarWithoutBones
Copy link
Member

Question @IvarWithoutBones, are you the maintainer for this pakcage? It looks like that in the default.nix

I am!

Error when opening the file browser:
(nuclear:2): GLib-GIO-ERROR **: 11:05:34.566: No GSettings schemas are installed on the system

This should be fixable by adding wrapGAppsHook to nativeBuildInputs. @jakobneufeld would you mind adding that?

Not entirely sure about the error above though.

@jakobneufeld
Copy link
Contributor Author

I will add that

nuclear: 0.6.6 -> 0.6.17
@jakobneufeld
Copy link
Contributor Author

@IvarWithoutBones, is that what you meant?

@jakobneufeld
Copy link
Contributor Author

I can not play any music, it just complains.

@danilevy1212
Copy link

Adding wrapGAppsHook to the nativeBuildInputs does NOT fix the issue for me.

@danilevy1212
Copy link

@jakobneufeld Me neither, the error that I show are what happens when I click play on a song.

@jakobneufeld
Copy link
Contributor Author

Maybe, we should talk with upstream nuclear js. Maybe some dependencies are missing. The error is cryptic. I have to go, but when I come back, I am happy to continue working on this issue.

@danilevy1212
Copy link

danilevy1212 commented Jan 31, 2022

@jakobneufeld Yeah, their docs are not very descriptive either. Maybe it's best if we base the binary out of on of the Arch recipes instead of App Image. As far as I know, the app image should be plug and play, with all needed dependencies out of the box, which doesn't seem to be the case/ Another alternative is to try to pack the Flatpak.

Maybe we could open a feature request for a nixpkgs recipe, linking to this PR and see if they give us any tips?

@jakobneufeld
Copy link
Contributor Author

jakobneufeld commented Feb 1, 2022

@danilevy1212 How do we use the arch recepie. Is there are pkg.aurToNix or something like that. Flatpak is good option too.

@jakobneufeld
Copy link
Contributor Author

My experience is that when you talk with package maintainers, they just complain.

@danilevy1212
Copy link

danilevy1212 commented Feb 1, 2022

@jakobneufeld About the AUR package. I don't think there is any tool like that. What I meant is going through the package definition, pinning the dependencies in arch and changing them to the analog ones in nixpkgs and translating it's install scripts to nixpkgs.
It's a bunch of work, should be last resort if the flatpak doesn't work either :/

@jakobneufeld
Copy link
Contributor Author

i am testing the flatpak now

@jakobneufeld
Copy link
Contributor Author

jakobneufeld commented Feb 1, 2022

Can you try the flatpak @danilevy1212, because my audio setup is wierd and many audio applications do no support it. Here is the flatpak link if you need it https://flathub.org/apps/details/org.js.nuclear.Nuclear

@jakobneufeld
Copy link
Contributor Author

OK, I tested the flatpak my self, and the app works fine, except I get this wierd error

@jakobneufeld
Copy link
Contributor Author

image

@jakobneufeld
Copy link
Contributor Author

I will report to upstream nuclear js

@jakobneufeld
Copy link
Contributor Author

Here are all dependencies,
libappindicator-gtk3 (libappindicator-gtk3-ubuntu, libappindicator-bzr)
libnotify (libnotify-gtk2, libnotify-id-git, libnotify-id)
libxtst
nss (nss-hg)
git (git-git, git-vfs, git-run-command-patch-git) (make)
lerna (make)
nodejs-lts-erbium (make)
npm (nodejs6-bin, nodejs-nightly) (make)

@jakobneufeld
Copy link
Contributor Author

Here is the upstream issue
nukeop/nuclear#1178

@danilevy1212
Copy link

Thanks so much @jakobneufeld, should we open another issue upstream for the AppImage too?

@WolfangAukang
Copy link
Contributor

So curious, I've found about this Music Player today :).

FYI, @jakobneufeld your GitHub issue is the same as nukeop/nuclear#1081. According to the developer, if you build master, it should work (they haven't thrown the release with the fix yet). I am going to test it right now, because as you said, even though I get that error message, I can get the Flatpak to work and download music, but not the NixOS version.

@jakobneufeld
Copy link
Contributor Author

We have 3 options

  1. Fix the app image with upstream (lots of work)
  2. Use flatpak, and ask upstream to build flatpak with master.
  3. We use the AUR build script and package it ourselves (lots lots lots of work)

@WolfangAukang
Copy link
Contributor

I think the nightly release already builds it with the most recent content. I'm testing right now.

@jakobneufeld
Copy link
Contributor Author

Is there are nightly flatpak. Flatpak is the best option for this package

@WolfangAukang
Copy link
Contributor

WolfangAukang commented Feb 1, 2022

It seems not. I am not sure how you can download a flatpak file, but Github does not offer it on the nightly assets, neither Flathub, so the only option would be building it from source.

I have built this app from source and although the error message has disappeared, I get the following error when playing something:

·> ./result/bin/nuclear
      main › (node:2) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `nuclear --trace-deprecation ...` to show where the warning was created)
  renderer › Cannot read property 'sourceName' of undefined
### ERRORS WHEN PLAYING START HERE
      main › (node:2) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'write' of null
    at e.exports.send (/nix/store/sdmfajqr1rg4r43l2k05bhbz2c7niw20-nuclear-nightly-extracted/resources/app.asar/dist/webpack:/home/runner/work/nuclear/nuclear/node_modules/discord-rpc/src/transports/ipc.js:155:17)
    at /nix/store/sdmfajqr1rg4r43l2k05bhbz2c7niw20-nuclear-nightly-extracted/resources/app.asar/dist/webpack:/home/runner/work/nuclear/nuclear/node_modules/discord-rpc/src/client.js:166:22
    at new Promise (<anonymous>)
    at e.exports.request (/nix/store/sdmfajqr1rg4r43l2k05bhbz2c7niw20-nuclear-nightly-extracted/resources/app.asar/dist/webpack:/home/runner/work/nuclear/nuclear/node_modules/discord-rpc/src/client.js:164:12)
    at e.exports.clearActivity (/nix/store/sdmfajqr1rg4r43l2k05bhbz2c7niw20-nuclear-nightly-extracted/resources/app.asar/dist/webpack:/home/runner/work/nuclear/nuclear/node_modules/discord-rpc/src/client.js:550:17)
    at hn.clear (/nix/store/sdmfajqr1rg4r43l2k05bhbz2c7niw20-nuclear-nightly-extracted/resources/app.asar/dist/webpack:/src/services/discord/index.ts:97:16)
    at da.name [as onClearTrackList] (/nix/store/sdmfajqr1rg4r43l2k05bhbz2c7niw20-nuclear-nightly-extracted/resources/app.asar/dist/webpack:/src/controllers/player.ts:63:18)
    at IpcMainImpl.<anonymous> (/nix/store/sdmfajqr1rg4r43l2k05bhbz2c7niw20-nuclear-nightly-extracted/resources/app.asar/dist/webpack:/src/utils/container.ts:54:39)
    at IpcMainImpl.emit (events.js:315:20)
    at Object.<anonymous> (electron/js2c/browser_init.js:161:9715)
    at Object.emit (events.js:315:20)
      main › (node:2) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
      main › (node:2) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
      main › error trying to set discord activity

Luckily, someone has also this issue (nukeop/nuclear#1176)

@jakobneufeld
Copy link
Contributor Author

You can dowload a flatpak ref file. Also keep in mind the I think that nuclear is in alpha. We need to link this issue with upstream if we want to continue. I appreciate that so many people came to this issue. I thought, this would be a simple package update :)

@jakobneufeld
Copy link
Contributor Author

OK, I think the only way to continue, is that we build the package from master and then package that. The release 0.6.17 is to old for good NixOS use. Either we wait for a new release 0.6.18 which has all necessary bug fixes to get it working, or we build for master. How should we all continue?

@danilevy1212
Copy link

danilevy1212 commented Feb 2, 2022

@jakobneufeld There is a nightly release for the AppImage https://github.com/nukeop/nuclear/releases, from 3 days ago, maybe we could see if that one works?

@jakobneufeld
Copy link
Contributor Author

I am testing the nightly appimage

@danilevy1212
Copy link

danilevy1212 commented Feb 2, 2022

I tested it out, but it's the same for me. (The AppImage)

@danilevy1212
Copy link

danilevy1212 commented Feb 2, 2022

@jakobneufeld
The AUR recipe is just the .deb file + some dependencies, maybe we could try that too:

@WolfangAukang
Copy link
Contributor

@jakobneufeld There is a nightly release for the AppImage https://github.com/nukeop/nuclear/releases, from 3 days ago, maybe we could see if that one works?

This is the one I tried. It didn't work because of the error I stated before.

The AUR recipe is just the .deb file + some dependencies, maybe we could try that too:

Already tried it. Complains about missing sqlite.

@WolfangAukang
Copy link
Contributor

OK, I think the only way to continue, is that we build the package from master and then package that. The release 0.6.17 is to old for good NixOS use. Either we wait for a new release 0.6.18 which has all necessary bug fixes to get it working, or we build for master. How should we all continue?

I would say having a nuclear nightly separate from the stable one.

@jakobneufeld
Copy link
Contributor Author

OK, I think we should do two things.

  1. Orphan or mark out of date this package
  2. Make nuclear nightly like @WolfangAukang proposed.
    Please thumps up to this comment.
    Thank severyone for being so kind.
    @everyone

@WolfangAukang
Copy link
Contributor

FYI, I think we might need to wait before setting up the nightly. I just tried the new AppImage, and although the issue I had before has been fixed, I still don't have any sound playing when I click on a song.

@jakobneufeld
Copy link
Contributor Author

Yeah, lets just wait for the next release 0.6.18

@jakobneufeld
Copy link
Contributor Author

Nuclear music player is still in alpha I think so that is to be expected

cp -r ${appimageContents}/usr/share/icons $out/share
'';

extraPkgs = pkgs: with pkgs; [ wrapGAppsHook ];
Copy link
Member

Choose a reason for hiding this comment

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

this won't be needed once #161739 is merged

@WolfangAukang
Copy link
Contributor

WolfangAukang commented Apr 19, 2022

Hey everyone, in the end, there weren't any new releases, so I created a new PR (#169347) with the latest "pre-release" available (I say pre-release because all releases are shown as pre. The only difference is that the newest ones are created by GitHub Actions).

@jakobneufeld can you check it works for you? I used it and worked fine.

This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants