Skip to content

Conversation

kenshineto
Copy link

@kenshineto kenshineto commented Apr 2, 2025

Needed by #368721

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • 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/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 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
  • Fits [CONTRIBUTING.md](https://github.comnix-shell -p nixpkgs-/NixOS/nixpkgs/blob/master/CONTRIBUTING.md).

Add a 👍 reaction to pull requests you find important.

@github-actions github-actions bot added the 8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` label Apr 2, 2025
@NixOSInfra NixOSInfra added the 12.first-time contribution This PR is the author's first one; please be gentle! label Apr 2, 2025
@github-actions github-actions bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. labels Apr 2, 2025
@kenshineto kenshineto force-pushed the unofficial-homestuck-collection branch from 3fdbb4b to 0150ad5 Compare April 2, 2025 21:12
@kenshineto kenshineto force-pushed the unofficial-homestuck-collection branch from 0150ad5 to 247adbf Compare April 5, 2025 02:29
Copy link
Contributor

@awwpotato awwpotato left a comment

Choose a reason for hiding this comment

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

it fails to start with this error:

22:45:55.233 (ElectronMain) › Disabling hardware acceleration
22:45:55.241 (ElectronMain) › null
22:45:55.249 (ElectronMain) › TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined
    at validateString (internal/validators.js:112:11)
    at Object.join (path.js:1039:7)
    at getFlashPath (/nix/store/98c77kpalkydzgipn8yshfdj0kk7v2g6-unofficial-homestuck-collection-2.5.7-extracted/resources/app.asar/background.js:46949:24)
    at Module.<anonymous> (/nix/store/98c77kpalkydzgipn8yshfdj0kk7v2g6-unofficial-homestuck-collection-2.5.7-extracted/resources/app.asar/background.js:46961:21)
    at __webpack_require__ (/nix/store/98c77kpalkydzgipn8yshfdj0kk7v2g6-unofficial-homestuck-collection-2.5.7-extracted/resources/app.asar/background.js:26:30)
    at Object.<anonymous> (/nix/store/98c77kpalkydzgipn8yshfdj0kk7v2g6-unofficial-homestuck-collection-2.5.7-extracted/resources/app.asar/background.js:17365:18)
    at __webpack_require__ (/nix/store/98c77kpalkydzgipn8yshfdj0kk7v2g6-unofficial-homestuck-collection-2.5.7-extracted/resources/app.asar/background.js:26:30)
    at /nix/store/98c77kpalkydzgipn8yshfdj0kk7v2g6-unofficial-homestuck-collection-2.5.7-extracted/resources/app.asar/background.js:138:18
    at Object.<anonymous> (/nix/store/98c77kpalkydzgipn8yshfdj0kk7v2g6-unofficial-homestuck-collection-2.5.7-extracted/resources/app.asar/background.js:141:10)
    at Module._compile (internal/modules/cjs/loader.js:967:30)
22:45:55.249 (ElectronMain) › Loading check failed, loading setup mode
22:45:55.255 (ElectronMain) › Deferring app version checks until initial configuration is complete.
22:45:55.256 (ElectronMain) › Loading archive
(node:947408) UnhandledPromiseRejectionWarning: Error: No reference to asset directory
    at loadArchiveData (/nix/store/98c77kpalkydzgipn8yshfdj0kk7v2g6-unofficial-homestuck-collection-2.5.7-extracted/resources/app.asar/background.js:46879:24)
    at Module.<anonymous> (/nix/store/98c77kpalkydzgipn8yshfdj0kk7v2g6-unofficial-homestuck-collection-2.5.7-extracted/resources/app.asar/background.js:47082:3)
    at __webpack_require__ (/nix/store/98c77kpalkydzgipn8yshfdj0kk7v2g6-unofficial-homestuck-collection-2.5.7-extracted/resources/app.asar/background.js:26:30)
    at Object.<anonymous> (/nix/store/98c77kpalkydzgipn8yshfdj0kk7v2g6-unofficial-homestuck-collection-2.5.7-extracted/resources/app.asar/background.js:17365:18)
    at __webpack_require__ (/nix/store/98c77kpalkydzgipn8yshfdj0kk7v2g6-unofficial-homestuck-collection-2.5.7-extracted/resources/app.asar/background.js:26:30)
    at /nix/store/98c77kpalkydzgipn8yshfdj0kk7v2g6-unofficial-homestuck-collection-2.5.7-extracted/resources/app.asar/background.js:138:18
    at Object.<anonymous> (/nix/store/98c77kpalkydzgipn8yshfdj0kk7v2g6-unofficial-homestuck-collection-2.5.7-extracted/resources/app.asar/background.js:141:10)
    at Module._compile (internal/modules/cjs/loader.js:967:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1004:10)
    at Module.load (internal/modules/cjs/loader.js:815:32)
(node:947408) 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(). (rejection id: 2)
(node:947408) [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.
22:45:58.248 (ElectronMain) › Loading archive
22:45:58.251 (ElectronMain) › Error reloading archive Error: No reference to asset directory
    at loadArchiveData (/nix/store/98c77kpalkydzgipn8yshfdj0kk7v2g6-unofficial-homestuck-collection-2.5.7-extracted/resources/app.asar/background.js:46879:24)
    at IpcMainImpl.<anonymous> (/nix/store/98c77kpalkydzgipn8yshfdj0kk7v2g6-unofficial-homestuck-collection-2.5.7-extracted/resources/app.asar/background.js:47099:23)
    at IpcMainImpl.emit (events.js:223:5)
    at WebContents.<anonymous> (electron/js2c/browser_init.js:173:8274)
    at WebContents.emit (events.js:223:5)
[947408:0404/224559.070771:FATAL:gpu_data_manager_impl_private.cc(439)] GPU process isn't usable. Goodbye.

@kenshineto kenshineto force-pushed the unofficial-homestuck-collection branch from 247adbf to c447259 Compare April 5, 2025 13:32
@kenshineto
Copy link
Author

The error your getting should be able to be fixed with --in-process-gpu. Its a known issue with this application :\

@kenshineto kenshineto force-pushed the unofficial-homestuck-collection branch from c447259 to 39f39c5 Compare April 5, 2025 13:53
@kenshineto
Copy link
Author

I added a wrapProgram that now adds that argument and it should fix it.

@awwpotato
Copy link
Contributor

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 395534


x86_64-linux

✅ 1 package built:
  • unofficial-homestuck-collection

@wegank wegank added the 12.approvals: 1 This PR was reviewed and approved by one person. label Apr 6, 2025
@kenshineto kenshineto force-pushed the unofficial-homestuck-collection branch from 39f39c5 to ac5807e Compare May 2, 2025 15:07
@kenshineto kenshineto requested a review from SigmaSquadron May 2, 2025 19:13
Copy link
Contributor

@SigmaSquadron SigmaSquadron left a comment

Choose a reason for hiding this comment

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

I'm iffy about adding something we know to be outdated and vulnerable to the tree. I'd welcome other reviewers to weigh in on the possible solutions for this.

For now, I'd recommend waiting for the rewrite before adding this to Nixpkgs. This package can be maintained in a separate, third-party flake for those who absolutely need it right now.

@SigmaSquadron SigmaSquadron added the 6.topic: old-versions Tickets pertaining to ongoing support of outdated versions of packages label May 2, 2025
@D-u-c-k-s-e-l
Copy link

Just for linking purposes:

Closes #368721

@kenshineto kenshineto force-pushed the unofficial-homestuck-collection branch from ac5807e to b193485 Compare July 17, 2025 18:04
@kenshineto kenshineto changed the title unofficial-homestuck-collection: init at 2.5.7 unofficial-homestuck-collection: init at 2.7.0 Jul 17, 2025
@kenshineto kenshineto requested a review from SigmaSquadron July 17, 2025 18:05
@kenshineto
Copy link
Author

Took me fifteen years but I have got this building outside of an app image!!!

@kenshineto
Copy link
Author

kenshineto commented Jul 17, 2025

I will also note that unlike the AppImage and what is specified in package.json, this is using the newer versions of nodejs and electron (not electron 9 and nodejs 12)

Everything seems to work fine

@kenshineto kenshineto force-pushed the unofficial-homestuck-collection branch from b193485 to b4848bf Compare July 17, 2025 18:20
@kenshineto
Copy link
Author

It is not using a very old electron version. I have this building with the latest version :)

Also the builtin flash player is provided in the asset pack and not this package, regardless I have modified it to enable ruffle by default since nix does not always like loading pre compilled shared objects.

@emilazy
Copy link
Member

emilazy commented Jul 18, 2025

Huh, how does that work? Chromium removed support for the Flash plugin years ago, and Electron followed suit. I remember checking a while ago and the collection used a many years old version of Electron. I don’t quite see how you could make the plugin work with a contemporary version.

@kenshineto
Copy link
Author

kenshineto commented Jul 18, 2025

Yeah by default it builds with electron 9, but I injected the nixpkgs version into electron builder. And it also seems to work fine. There were a few minor things I had to change to allow it to work, but Ive been using it without issue.

Edit: Yeah I never got the proper flash plugin working, it refuses to load. Which is also why I have it set to use ruffle by default. And it has worked great for me.

@kenshineto
Copy link
Author

image

Image of it working on my laptop, electron 35, ruffle for flash. No EOL electron, no outdated bad flash plugin. :)

@emilazy
Copy link
Member

emilazy commented Jul 18, 2025

Okay, yeah, I totally missed the explicit electron dependency here. Very cool that it works. I think we should probably check with upstream whether they consider this a reasonable configuration to ship the thing in, though. I think there might still be some issues with the Flashes, and Electron updates often break things even when they’re not going half a decade at once.

A few additional thoughts:

  • Do we need explicit gtk3 etc. dependencies if we’re using our Electron package?
  • gpl3 is deprecated, it should be gpl3Only or gpl3Plus. But IIRC the collection also includes some non‐Free fonts and so on, so we should probably mark it as unfree anyway.
  • leaveDotGit is bad for reproducibility, can we get rid of it?
  • What’s PhantomJS used for? It’s EOL and I believe it also ships a web browser engine, so… that might also be a problem. (I suspect there may be fractal CVEs here from pinning old versions of dependencies to keep them working with the old Electron.)

@kenshineto
Copy link
Author

I don't know if phantomJS is needed at all. Maybe I can try to get it to think its there when its actually not, and see if it works...

Gonna go try that right now

@kenshineto kenshineto force-pushed the unofficial-homestuck-collection branch from 5508a00 to cce7ea2 Compare July 18, 2025 23:40
@kenshineto
Copy link
Author

kenshineto commented Jul 18, 2025

Just updated the package.nix to have it electron call it without building electron into the binary. This removed most of the inputs such as gtk3 etc. :)

@kenshineto kenshineto force-pushed the unofficial-homestuck-collection branch 2 times, most recently from 10a661f to c784e92 Compare July 19, 2025 00:10
@kenshineto
Copy link
Author

@emilazy

As per my previous comment, no we do not need gtk3 etc. dependencies.

The license has been changed to gpl3Only. I think the non free fonts are in the asset pack if im not mistaken, so not packaged here.

leaveDotGit was needed because vue.config.js was running git commands to get the git revision and branch. I changed this and thus leaveDotGit is no longer needed.

PhantomJS its not needed it seems. I made its install.js empty and it seems to just function. This means it should possibly work on ARM now.

@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. and removed 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. labels Jul 19, 2025
@kenshineto kenshineto force-pushed the unofficial-homestuck-collection branch from c784e92 to 79a67f7 Compare July 19, 2025 00:25
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. and removed 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. labels Jul 19, 2025
@kenshineto kenshineto force-pushed the unofficial-homestuck-collection branch from 79a67f7 to 2a9fb1c Compare July 19, 2025 00:40
@kenshineto kenshineto force-pushed the unofficial-homestuck-collection branch from 2a9fb1c to 1b9d99f Compare July 23, 2025 00:31
@kenshineto kenshineto force-pushed the unofficial-homestuck-collection branch from 1b9d99f to 05ca522 Compare August 15, 2025 23:59
@kenshineto kenshineto changed the title unofficial-homestuck-collection: init at 2.7.0 unofficial-homestuck-collection: init at 2.7.2 Aug 16, 2025
@kenshineto kenshineto force-pushed the unofficial-homestuck-collection branch from 05ca522 to bf6fdcb Compare August 16, 2025 00:07
@kenshineto kenshineto force-pushed the unofficial-homestuck-collection branch from bf6fdcb to 86512cc Compare August 16, 2025 00:10
@kenshineto
Copy link
Author

kenshineto commented Aug 16, 2025

Updated this pull request to version 2.7.2. Also discussed with Gio, the maintainer of the UHC, and he is fine with a ruffle only package as long as its mentioned in the package description.

@kenshineto kenshineto requested a review from emilazy August 16, 2025 00:15
@kenshineto
Copy link
Author

@emilazy will you be able to re-review this? Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: old-versions Tickets pertaining to ongoing support of outdated versions of packages 8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` 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. 12.approvals: 1 This PR was reviewed and approved by one person. 12.first-time contribution This PR is the author's first one; please be gentle!
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants