Skip to content

Conversation

Pandapip1
Copy link
Member

@Pandapip1 Pandapip1 commented May 11, 2025

versionCheckHook was not added due to the lack of a --version subcommand. See wb2osz/direwolf#570 A workaround was found

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.

Add a 👍 reaction to pull requests you find important.

--replace 'Terminal=false' 'Terminal=true' \
--replace 'Exec=@APPLICATION_DESKTOP_EXEC@' 'Exec=direwolf'
substituteInPlace src/dwgpsd.c \
--replace 'GPSD_API_MAJOR_VERSION > 11' 'GPSD_API_MAJOR_VERSION > 14'
Copy link
Member Author

Choose a reason for hiding this comment

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

This substituteInPlace doesn't match anything anymore. I assume this was to handle an incorrect version check, but I lack the context. Regardless, this should be safe to remove since it wasn't doing anything before anyway.

@Pandapip1 Pandapip1 force-pushed the direwolf-refactor branch from e7ebf22 to 76ae2d6 Compare May 11, 2025 08:09
@github-actions github-actions bot added 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. labels May 11, 2025
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.

versionCheckHook should just work because direwolf will always display its version when calling for --help (which versionCheckHook already does) or getting the help menu after passing an invalid flag.

You can also set versionCheckProgramArg to version, which is a command in direwolf, but that shouldn't be necessary either.

}).overrideAttrs
(finalAttrs: {
# Next version is 1.8
version = "1.8-unstable-2025-04-29";
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
version = "1.8-unstable-2025-04-29";
version = "1.7-unstable-2025-04-29";

Please review the package versioning guidelines:

  • If we're tracking a commit from a repository without a version assigned, then the version attribute should be the latest upstream version preceding that commit, followed by -unstable- and the date of the fetched commit. The date must be in ISO 8601 "YYYY-MM-DD" format.

That's to say, if 1.8 isn't tagged, it can't be added here.

Copy link
Member Author

Choose a reason for hiding this comment

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

Huh, I missed that. I'll fix gpredict-unstable's version in a seperate PR then.

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not sure we should be adding unstable package versions to nixpkgs at all - this seems like a NUR thing.

Copy link
Member Author

Choose a reason for hiding this comment

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

Both have very slow release cycles and have some significant features that I would like to use that aren't present in the latest stable version. This shouldn't require much maintenance, considering updates are going to be, for the most part, completely automated. If there is a policy or other concrete reason against including unstable variants of packages, then fair enough, but both are, in my opinion, value added.

I do get what you mean about it maybe being a better fit for NUR. In fact, I do have a custom direwolf derivation in my own nur-packages. I feel that that shouldn't preclude it from being in nixpkgs though. Nixpkgs has a higher standard for quality than NUR does, and I believe this meets that higher standard.

@Pandapip1
Copy link
Member Author

versionCheckHook should just work because direwolf will always display its version when calling for --help (which versionCheckHook already does) or getting the help menu after passing an invalid flag.

There is no --help command. When calling direwolf --help (or even just direwolf on its own), the exit code is 1 (nonzero) and therefore versionCheckHook will fail.

@SigmaSquadron
Copy link
Contributor

Seems like setting versionCheckProgramArg to version won't work either, due to the config requirement. Quite annoying.

@Pandapip1
Copy link
Member Author

Pandapip1 commented May 12, 2025

Actually it looks like the -u unicode test pattern option could be used:

nixpkgs on  direwolf-refactor [$]
❯ result/bin/direwolf -u
Dire Wolf DEVELOPMENT version 1.8 D (Jan  1 1980)
Includes optional support for:  gpsd hamlib cm108-ptt

  UTF-8 test string: mañana ° Füße

@Pandapip1 Pandapip1 force-pushed the direwolf-refactor branch from 76ae2d6 to cad686d Compare May 12, 2025 16:08
@Pandapip1 Pandapip1 requested a review from SigmaSquadron May 12, 2025 16:08
@Pandapip1 Pandapip1 force-pushed the direwolf-refactor branch from cad686d to 0b5cf01 Compare May 12, 2025 16:13
@Pandapip1 Pandapip1 changed the title direwolf: refactor; direwolf-unstable: init at 1.8-unstable-2025-04-29 direwolf: refactor; direwolf-unstable: init at 1.7-unstable-2025-04-29 May 12, 2025
[
"deviceid.c"
"tocalls.yaml"
"--replace-fail /usr/lib/udev/rules.d/ ${placeholder "out"}/lib/udev/rules.d/ --replace-fail /etc/udev/rules.d/"
Copy link
Member Author

Choose a reason for hiding this comment

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

This is pretty ugly but I don't see an easier way

@Pandapip1
Copy link
Member Author

Why is the nixfmt job angry at some random python package?!

@SigmaSquadron
Copy link
Contributor

SigmaSquadron commented May 12, 2025

someone might have merged a broken PR :p

Edit: yeah it was #406492

@mweinelt
Copy link
Member

Spurious newline, sorry.

Fix is in #406498

@Pandapip1 Pandapip1 force-pushed the direwolf-refactor branch from 0b5cf01 to 30c304f Compare May 12, 2025 16:44
@Pandapip1
Copy link
Member Author

Rebased

@lasandell
Copy link
Contributor

Haven't looked at this in depth, only added myself as maintainer because there was no one else at the time. But I was the one who added gpsd support initially, and someone else disabled it by default due to frequent breakages in the gpsd API for what that's worth. It seems like a fairly marginal feature not worth breaking the package on a regular basis IMO, unless someone is really on top of maintaining it.

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.

Diff wise it seems fine to me! Love to see the split commits.

@sarcasticadmin
Copy link
Member

sarcasticadmin commented May 12, 2025

Haven't looked at this in depth, only added myself as maintainer because there was no one else at the time. But I was the one who added gpsd support initially, and someone else disabled it by default due to frequent breakages in the gpsd API for what that's worth. It seems like a fairly marginal feature not worth breaking the package on a regular basis IMO, unless someone is really on top of maintaining it.

I set gpsdSupport ? false as the default originally in: #258056

gpsd defaults to guiSupport = true:

guiSupport ? true,
so simply by including direwolf you end up with X11. Id like to keep this off by default since that adds a significant amount of packages which arent necessary.

@Pandapip1 Pandapip1 force-pushed the direwolf-refactor branch from 30c304f to 1bf596f Compare May 12, 2025 22:49
@Pandapip1
Copy link
Member Author

Rebased and removed the commit enabling gpsd support.

Copy link
Member

@sarcasticadmin sarcasticadmin left a comment

Choose a reason for hiding this comment

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

Both version build for me

Thanks for keeping the original default @Pandapip1 :shipit:

@sarcasticadmin sarcasticadmin added 12.approvals: 2 This PR was reviewed and approved by two persons. 12.approved-by: package-maintainer This PR was reviewed and approved by a maintainer listed in any of the changed packages. labels May 12, 2025
@wegank wegank added the 2.status: merge conflict This PR has merge conflicts with the target branch label Jun 18, 2025
@github-actions github-actions bot removed the 12.approved-by: package-maintainer This PR was reviewed and approved by a maintainer listed in any of the changed packages. label Jun 18, 2025
@Pandapip1 Pandapip1 force-pushed the direwolf-refactor branch from 1bf596f to b2d6d27 Compare July 1, 2025 14:18
@Pandapip1
Copy link
Member Author

Rebased to fix merge conflict w/ 2c14bf9. Otherwise, no changes since the approvals. Should still be good to merge (although re-approvals would be appreciated!)

@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/2443

@ofborg ofborg bot removed the 2.status: merge conflict This PR has merge conflicts with the target branch label Jul 1, 2025
@nixpkgs-ci nixpkgs-ci bot added the 12.approved-by: package-maintainer This PR was reviewed and approved by a maintainer listed in any of the changed packages. label Jul 1, 2025
@wegank wegank added the 2.status: merge conflict This PR has merge conflicts with the target branch label Jul 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2.status: merge conflict This PR has merge conflicts with the target branch 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 12.approvals: 2 This PR was reviewed and approved by two persons. 12.approved-by: package-maintainer This PR was reviewed and approved by a maintainer listed in any of the changed packages.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants