-
-
Notifications
You must be signed in to change notification settings - Fork 14.6k
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
factor-lang: Restructure package for easier extension #287852
base: master
Are you sure you want to change the base?
Conversation
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/prs-ready-for-review/3032/3438 |
81d9d58
to
3c888e6
Compare
b99ea67
to
3c9a4d2
Compare
I have also added a forgotten feature |
3c9a4d2
to
b806d09
Compare
Regarding the change in |
5c43520
to
7894f4d
Compare
The problem with codeowners is, that it doesn't properly work if you do not have merge permissions :( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lots of nits, but otherwise looking good
pkgs/development/compilers/factor-lang/mk-factor-application.nix
Outdated
Show resolved
Hide resolved
7894f4d
to
1e36ecc
Compare
1e36ecc
to
473372a
Compare
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/prs-ready-for-review/3032/3696 |
473372a
to
e37e545
Compare
f8bc2a2
to
9e253e9
Compare
Additional attribute that are understood by `buildFactorApplication`: | ||
- `vocabName` is the path to the vocabulary to be deployed relative to the source root. | ||
So, directory `foo/` from the example above could be `extra/deep/down/foo`. | ||
This allows you to maintain Factor's vocabulary hierarchy and distribute the same source tree as a stand-alone application and as a library in the Factor development environment via the `extraVocabs` attribute. | ||
- `binName` is the name of the resulting binary in `/bin/`. | ||
It defaults to the last directory component in `vocabName`. | ||
It is also added as the `meta.mainProgram` attribute to facilitate `nix run`. | ||
- `enableUI` is `false` by default. | ||
Set this to `true` when you ship a graphical application. | ||
- `extraLibs` adds additional libraries as runtime dependencies. | ||
Defaults to `[]` and is concatenated with `runtimeLibs` from the used factor-lang package. | ||
Use `factor-minimal` to minimize the closure of runtime libraries. | ||
- `extraPaths` adds additional binaries to the runtime PATH environment variable (without adding their libraries, as well). | ||
Defaults to `[]` and is concatenated with `defaultBins` and `binPackages` from the used factor-lang package. | ||
Use `factor-minimal` to minimize the closure of runtime libraries. | ||
- `deployScriptText` is the actual deploy Factor file that is executed to deploy the application. | ||
You can change it if you need to perform additional computation during deployment. | ||
- `factor-lang` overrides the Factor package to use to deploy this application, which also affects the default library bindings and programs in the runtime PATH. | ||
It defaults to `factor-lang` when `enableUI` is turned on and `factor-no-gui` when it is turned off. | ||
Applications that use only Factor libraries without external bindings or programs may set this to `factor-minimal` or `factor-minimal-gui`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not a hard rule for me personally, because documenting all that is already great in itself, but we do have a rule for using definition lists for function arguments -- that will help migrating whatever is done to different formats programmatically.
Sorry for picking things piecemeal. I'm out again, I primarily just monitor how the redirects system is being picked up and whether it produces excess friction.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, I addressed your comments.
9e253e9
to
b5ffdf3
Compare
This is resolved. |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/prs-ready-for-review/3032/4919 |
b5ffdf3
to
8285329
Compare
@ShamrockLee Polite ping, as you've requested changes (which I addressed), which might deter other reviewers with commit access to move this PR forward. |
@spacefrogg, thank you for being so patient, and I'm sorry for not replying for so long. I'll review this PR tomorrow afternoon (after the final exam). |
Don't you worry! Most of us do this in our spare time. I wish you all the best for your exam! Thank you for looking into this. |
It looks like Then why do we need another top-level package set, |
Right now, the design shall help to make them easier to discover. Compare it to Texlive packages, where the simplest ones also do not depend on the TeX compiler but just provide a set of source files to be used by the end-user of the Texlive distribution. This is just a consequence of languages (like Factor or TeX) that have no notion of pre-compiled libraries but compile everything from source at the very end. Additionally, Factor (in contrast to TeX) might add such a notion (like Python or Haskell) and then we don't need to change the package organisation again. EDIT: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Discussions/suggestions about some other design choices.
pkgs/development/compilers/factor-lang/vocabs/bresenham/default.nix
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
None-blocking nits
pkgs/development/compilers/factor-lang/mk-factor-application.nix
Outdated
Show resolved
Hide resolved
pkgs/development/compilers/factor-lang/mk-factor-application.nix
Outdated
Show resolved
Hide resolved
8285329
to
e92a4f3
Compare
@ShamrockLee Could I convince you to leave a positive review? :) |
Description of changes
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.