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

craft-docs: init at 2.8.8 #359102

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

lylythechosenone
Copy link

Create a package for craft-docs, as in #359033. Will break as soon as Craft updates, as there is no method of downloading a specific, stable version. I am in discussion with their team to establish such a method, but until then, it'll have to be manually updated as quickly as possible as new versions come in to prevent breakage.

Things done

Note: package only supports darwin. Should work on x86_64-darwin, but I have no way of testing currently.

  • 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.

@github-actions github-actions bot added the 8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` label Nov 25, 2024
@lylythechosenone lylythechosenone changed the title Init craft-docs craft-docs: init at 2.8.8 Nov 25, 2024
@NixOSInfra NixOSInfra added the 12. first-time contribution This PR is the author's first one; please be gentle! label Nov 25, 2024
Copy link
Contributor

@steeleduncan steeleduncan left a comment

Choose a reason for hiding this comment

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

Additionally, there should be only two commits, the first adding yourself to the maintainers list, one adding the package, please squash down to two and force push

maintainers/maintainer-list.nix Outdated Show resolved Hide resolved
pkgs/by-name/cr/craft-docs/package.nix Outdated Show resolved Hide resolved
'';

meta = {
description = "Craft the best docs in the world";
Copy link
Contributor

Choose a reason for hiding this comment

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

Is there a more descriptive version of this? It is not clear what the package does from this description

Copy link
Author

Choose a reason for hiding this comment

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

That's their slogan. I added some extra information in this commit, let me know if it works.

@steeleduncan
Copy link
Contributor

Will break as soon as Craft updates, as there is no method of downloading a specific, stable version

How often does this update? nixpkgs only creates releases every six months, are you saying that this package would almost certainly be broken at all times in stable releases?

@lylythechosenone
Copy link
Author

I'm not sure exactly how often it updates. The only date I can find is that version 2.8.6 was released around WWDC in June. Since the latest version is 2.8.8, that would place minor updates at around once every 2.5 months. It would be difficult to use on stable releases.

Hopefully, this method is not permanent. Ideally, I can come to an arrangement with them to host multiple versions of the software.

@steeleduncan
Copy link
Contributor

It would be difficult to use on stable releases

It would be impossible to use on stable releases, unless maybe cache.nixos.org gets the download in time and it is served from there from then on. I don't know if that would happen for an unfree download like this

I don't know if there is a system for including a derivation in unstable only, but having a permanently broken derivation in a stable release would be an unfortunate situation. Anyhow, I am not a committer, so that is not my decision to make

@ofborg ofborg bot added 8.has: package (new) This PR adds a new package 11.by: package-maintainer This PR was created by the maintainer of the package it changes 10.rebuild-darwin: 1-10 10.rebuild-darwin: 1 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux labels Nov 26, 2024
@lylythechosenone
Copy link
Author

Sorry for the force-push, I'm having git troubles. Your concerns should be fixed now.

It would be impossible to use on stable releases

Impossible at least some of the time, yes.

unless maybe cache.nixos.org gets the download in time and it is served from there from then on

This would be a nice solution, but the licensing concerns are a problem. That's one of the options I'm discussing with them.

having a permanently broken derivation in a stable release would be an unfortunate situation

I agree. I'd very much like for this to be a temporary bodge until a proper solution can be found. (At that point, I will implement it and create a new PR.)

@pluiedev
Copy link
Contributor

One way to get around the issue of unstable download links is to preserve them via the Wayback Machine, which had been done for some proprietary packages. Though, the more we use them, the more iffy I feel about them because we really should not rely on/abuse an external service like that (remember when archive.org went dark for weeks?)

Still, that is a discussion best reserved for a separate issue

pkgs/by-name/cr/craft-docs/package.nix Outdated Show resolved Hide resolved
@pluiedev
Copy link
Contributor

It would be impossible to use on stable releases, unless maybe cache.nixos.org gets the download in time and it is served from there from then on. I don't know if that would happen for an unfree download like this

Hydra does not build and cache unfree packages, not even redistributable ones (see #83884). Therefore we could not count on cache.nixos.org caching the DMG file at all — because it won't.

@lylythechosenone
Copy link
Author

Good to know. Do you know of any way this could work then, other than upstream providing direct download links for specific versions?

@pluiedev
Copy link
Contributor

I don't really know. We could always debate about it in #359366, though

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 1-10 10.rebuild-darwin: 1 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux 11.by: package-maintainer This PR was created by the maintainer of the package it changes 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.

4 participants