Skip to content

holesail: init at 1.10.1#432474

Open
jjacke13 wants to merge 1 commit into
NixOS:masterfrom
jjacke13:master
Open

holesail: init at 1.10.1#432474
jjacke13 wants to merge 1 commit into
NixOS:masterfrom
jjacke13:master

Conversation

@jjacke13

Copy link
Copy Markdown
Contributor

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

@nixpkgs-ci nixpkgs-ci Bot added 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 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. labels Aug 10, 2025
@jjacke13 jjacke13 force-pushed the master branch 2 times, most recently from 3a79a4a to 0c9c6e4 Compare August 10, 2025 09:44
@nixpkgs-ci nixpkgs-ci Bot added the 9.needs: reviewer This PR currently has no reviewers requested and needs attention. label Aug 10, 2025
Comment thread pkgs/by-name/ho/holesail/package.nix Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
rev = "refs/tags/${version}";
tag = finalAttrs.version;

Comment thread pkgs/by-name/ho/holesail/package.nix Outdated

@yzx9 yzx9 Aug 10, 2025

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Nit: Use finalAttrs is a good practice as it's override friendly

Comment thread pkgs/by-name/ho/holesail/package.nix Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
repo = pname;
repo = "holesail";

We should not use pname as that is wrong when changed. Please use the literal string.

Comment thread pkgs/by-name/ho/holesail/package.nix Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Nit: Using with lib; in a large attrset is generally discouraged since it's ambiguity and leads to potential name collisions

Comment thread pkgs/by-name/ho/holesail/package.nix Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
description = "Peer-to-peer network tunneling and reverse proxy software.";
description = "Peer-to-peer network tunneling and reverse proxy software";

https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#meta-attributes

Comment thread pkgs/by-name/ho/holesail/package.nix Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
];
];
mainProgram = "holesail";

@nixpkgs-ci nixpkgs-ci Bot removed the 9.needs: reviewer This PR currently has no reviewers requested and needs attention. label Aug 10, 2025
@jjacke13

Copy link
Copy Markdown
Contributor Author

I updated the commit following your recommendations.

@yzx9

yzx9 commented Aug 10, 2025

Copy link
Copy Markdown
Contributor

I got a different hash. Did something not get updated?

specified: sha256-eANDS4Avu6or+1XXRmM+rceZzjKchhoc5nbv1grpvwE=
got: sha256-7YTBwjU0xzoDqlRqfdQZrJRvSXTtT8rpA1zRdLSdFoU=

@jjacke13

Copy link
Copy Markdown
Contributor Author

I suppose this happened because now it doesn't fetch the zip file from the releases. I changed the hash as well as the npmdeps hash

@yzx9

yzx9 commented Aug 10, 2025

Copy link
Copy Markdown
Contributor

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 432474
Commit: a7f2aaadd6823e31b6f6ec2f0227af44b9998046


x86_64-linux

✅ 1 package built:
  • holesail

@yzx9 yzx9 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM. I noticed this package should also work on Darwin. I’m fine with either adding Darwin support or leaving it as is.

@nixpkgs-ci nixpkgs-ci Bot added the 12.approvals: 1 This PR was reviewed and approved by one person. label Aug 10, 2025
@jjacke13

Copy link
Copy Markdown
Contributor Author

The only reason that i didn't add darwin in the available platforms, is that i haven't checked if this build process works well on darwin. I can't check it myself because i don't own a Mac. I was thinking that we could add another maintainer at some point if anyone tries it on Mac. Also, i will notify the owner of holesail repo and ask them if they want to be added as maintainers

@jjacke13

Copy link
Copy Markdown
Contributor Author

In the future i am planning to start a PR with a NixosModule for holesail. I have already built it, but it needs some polishing.

@jjacke13

Copy link
Copy Markdown
Contributor Author

Friendly ping -
Is there anything else needed for merge?

@yzx9 yzx9 added the 9.needs: reviewer This PR currently has no reviewers requested and needs attention. label Sep 1, 2025
@nixpkgs-ci nixpkgs-ci Bot removed the 9.needs: reviewer This PR currently has no reviewers requested and needs attention. label Sep 1, 2025
@jjacke13

Copy link
Copy Markdown
Contributor Author

Friendly ping :)

@nixpkgs-ci nixpkgs-ci Bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Mar 20, 2026
@GraysonTinker

Copy link
Copy Markdown
Contributor

Hey @jjacke13, thanks for working on this :). If you're still interested, would you be willing to bump the version? (Also noting there was a license change.) If you're willing, I'd also be happy to be a co-maintainer.

@nixpkgs-ci nixpkgs-ci Bot removed the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Apr 8, 2026
@jjacke13

Copy link
Copy Markdown
Contributor Author

Hey @jjacke13, thanks for working on this :). If you're still interested, would you be willing to bump the version? (Also noting there was a license change.) If you're willing, I'd also be happy to be a co-maintainer.

Yes! Thanks for your interest! I will do it in the next couple of days :)

@jjacke13

Copy link
Copy Markdown
Contributor Author

Bumped to 2.4.1 and updated the license to AGPL-3.0.

@GraysonTinker I'd be happy to add you as co-maintainer! You'll need to add yourself to maintainers/maintainer-list.nix first (via a separate PR). Once that's merged, I can add you here.

@GraysonTinker

Copy link
Copy Markdown
Contributor

Bumped to 2.4.1 and updated the license to AGPL-3.0.

@GraysonTinker I'd be happy to add you as co-maintainer! You'll need to add yourself to maintainers/maintainer-list.nix first (via a separate PR). Once that's merged, I can add you here.

Thanks! I'm already listed; I think you'll need to rebase your branch.

@jjacke13

Copy link
Copy Markdown
Contributor Author

Added you as co-maintainer!

@nixpkgs-ci nixpkgs-ci Bot added the 8.has: package (new) This PR adds a new package label Apr 19, 2026

@GraysonTinker GraysonTinker left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Seems like the checks are now failing because of a new requirement; should be fairly easy to resolve.

npmPackFlags = [ "--ignore-scripts" ];

dontNpmBuild = true;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
__structuredAttrs = true;

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

buildNpmPackage currently doesn't support __structuredAttrs. The issue is that npmDeps and npmBuildScript are set as top-level derivation attributes (here), so with structured attrs they end up in NIX_ATTRS_SH_FILE as bash variables but aren't exported — meaning the prefetch-npm-deps Rust tool can't see them via env::var_os() and panics.

The fix would be in build-npm-package/default.nix:

  1. Add excludeDrvArgNames = [ "npmDeps" "npmBuildScript" ]; to avoid conflicts
  2. Move inherit npmDeps npmBuildScript; into the env attrset

I have this working locally — happy to include it as a separate commit in this PR, or as a prerequisite PR if preferred. Though I might be missing something here — let me know if you're aware of a simpler way to handle this!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Oh, sorry for missing that. After looking around a bit I think a fix has already been merged to staging in #487974, and will be merged to master in #507470. I'm not sure what the timeline for that PR to get merged would be but I suspect it will be in the near future. (If I cherry-pick that commit it works.) For now I think there's nothing to do but wait -- thanks for sticking through this.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Timeline: very soon now.


npmPackFlags = [ "--ignore-scripts" ];

dontNpmBuild = true;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Just noting that it seems like there could be a possibility of building to a native binary with the upstream scripts now. But that doesn't have to be done right now, maybe I'll take a crack at it in a follow-up.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

i 've been working on a C++ implementation of the underlying protocol (HyperDHT). It is working pretty well and in the short future we can have holesail written in any language we like ;) so single binary will be trivial ;)

@GraysonTinker

Copy link
Copy Markdown
Contributor

@jjacke13 Just in case you didn't know, those changes are now merged and this can be updated.

@jjacke13

jjacke13 commented May 4, 2026

Copy link
Copy Markdown
Contributor Author

Rebased on latest master and added __structuredAttrs = true;. Thanks for the heads-up @GraysonTinker!

@GraysonTinker

Copy link
Copy Markdown
Contributor

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 432474
Commit: 4558d071c02119d7eab1e8571f432e7a7cc2eb8d


x86_64-linux

✅ 1 package built:
  • holesail

@GraysonTinker GraysonTinker left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Tested and seems like it's working good.

@nixpkgs-ci nixpkgs-ci Bot added 12.approvals: 2 This PR was reviewed and approved by two persons. and removed 12.approvals: 1 This PR was reviewed and approved by one person. labels May 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

8.has: package (new) This PR adds a new package 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: 2 This PR was reviewed and approved by two persons.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants