diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/builders/fetchers.chapter.md | 4 | ||||
-rw-r--r-- | doc/contributing/coding-conventions.chapter.md | 5 | ||||
-rw-r--r-- | doc/contributing/reviewing-contributions.chapter.md | 2 | ||||
-rw-r--r-- | doc/languages-frameworks/javascript.section.md | 26 | ||||
-rw-r--r-- | doc/languages-frameworks/texlive.section.md | 2 |
5 files changed, 33 insertions, 6 deletions
diff --git a/doc/builders/fetchers.chapter.md b/doc/builders/fetchers.chapter.md index 28388ba685d..d9f22b06282 100644 --- a/doc/builders/fetchers.chapter.md +++ b/doc/builders/fetchers.chapter.md @@ -72,6 +72,10 @@ Used with Mercurial. Expects `url`, `rev`, and `sha256`. A number of fetcher functions wrap part of `fetchurl` and `fetchzip`. They are mainly convenience functions intended for commonly used destinations of source code in Nixpkgs. These wrapper fetchers are listed below. +## `fetchFromGitea` {#fetchfromgitea} + +`fetchFromGitea` expects five arguments. `domain` is the gitea server name. `owner` is a string corresponding to the Gitea user or organization that controls this repository. `repo` corresponds to the name of the software repository. These are located at the top of every Gitea HTML page as `owner`/`repo`. `rev` corresponds to the Git commit hash or tag (e.g `v1.0`) that will be downloaded from Git. Finally, `sha256` corresponds to the hash of the extracted directory. Again, other hash algorithms are also available but `sha256` is currently preferred. + ## `fetchFromGitHub` {#fetchfromgithub} `fetchFromGitHub` expects four arguments. `owner` is a string corresponding to the GitHub user or organization that controls this repository. `repo` corresponds to the name of the software repository. These are located at the top of every GitHub HTML page as `owner`/`repo`. `rev` corresponds to the Git commit hash or tag (e.g `v1.0`) that will be downloaded from Git. Finally, `sha256` corresponds to the hash of the extracted directory. Again, other hash algorithms are also available but `sha256` is currently preferred. diff --git a/doc/contributing/coding-conventions.chapter.md b/doc/contributing/coding-conventions.chapter.md index cfe8582e514..dac6d828ac0 100644 --- a/doc/contributing/coding-conventions.chapter.md +++ b/doc/contributing/coding-conventions.chapter.md @@ -540,10 +540,11 @@ If you do need to do create this sort of patch file, one way to do so is with gi If a patch is available online but does not cleanly apply, it can be modified in some fixed ways by using additional optional arguments for `fetchpatch`: +- `relative`: Similar to using `git-diff`'s `--relative` flag, only keep changes inside the specified directory, making paths relative to it. - `stripLen`: Remove the first `stripLen` components of pathnames in the patch. - `extraPrefix`: Prefix pathnames by this string. -- `excludes`: Exclude files matching this pattern. -- `includes`: Include only files matching this pattern. +- `excludes`: Exclude files matching these patterns (applies after the above arguments). +- `includes`: Include only files matching these patterns (applies after the above arguments). - `revert`: Revert the patch. Note that because the checksum is computed after applying these effects, using or modifying these arguments will have no effect unless the `sha256` argument is changed as well. diff --git a/doc/contributing/reviewing-contributions.chapter.md b/doc/contributing/reviewing-contributions.chapter.md index b78fda6c288..3417854730e 100644 --- a/doc/contributing/reviewing-contributions.chapter.md +++ b/doc/contributing/reviewing-contributions.chapter.md @@ -125,7 +125,7 @@ Reviewing process: - Type should be appropriate (string related types differs in their merging capabilities, `loaOf` and `string` types are deprecated). - Description, default and example should be provided. - Ensure that option changes are backward compatible. - - `mkRenamedOptionModule` and `mkAliasOptionModule` functions provide way to make option changes backward compatible. + - `mkRenamedOptionModuleWith` provides a way to make option changes backward compatible. - Ensure that removed options are declared with `mkRemovedOptionModule` - Ensure that changes that are not backward compatible are mentioned in release notes. - Ensure that documentations affected by the change is updated. diff --git a/doc/languages-frameworks/javascript.section.md b/doc/languages-frameworks/javascript.section.md index bf5742d6855..81731780492 100644 --- a/doc/languages-frameworks/javascript.section.md +++ b/doc/languages-frameworks/javascript.section.md @@ -85,7 +85,7 @@ you will still need to commit the modified version of the lock files, but at lea each tool has an abstraction to just build the node_modules (dependencies) directory. you can always use the stdenv.mkDerivation with the node_modules to build the package (symlink the node_modules directory and then use the package build command). the node_modules abstraction can be also used to build some web framework frontends. For an example of this see how [plausible](https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/web-apps/plausible/default.nix) is built. mkYarnModules to make the derivation containing node_modules. Then when building the frontend you can just symlink the node_modules directory -## javascript packages inside nixpkgs {#javascript-packages-nixpkgs} +## Javascript packages inside nixpkgs {#javascript-packages-nixpkgs} The `pkgs/development/node-packages` folder contains a generated collection of [NPM packages](https://npmjs.com/) that can be installed with the Nix package @@ -121,12 +121,14 @@ requires `node-gyp-build`, so [we override](https://github.com/NixOS/nixpkgs/blo }; ``` +### Adding and Updating Javascript packages in nixpkgs + To add a package from NPM to nixpkgs: 1. Modify `pkgs/development/node-packages/node-packages.json` to add, update or remove package entries to have it included in `nodePackages` and `nodePackages_latest`. -2. Run the script: `cd pkgs/development/node-packages && ./generate.sh`. +2. Run the script: `./pkgs/development/node-packages/generate.sh`. 3. Build your new package to test your changes: `cd /path/to/nixpkgs && nix-build -A nodePackages.<new-or-updated-package>`. To build against the latest stable Current Node.js version (e.g. 14.x): @@ -137,6 +139,26 @@ For more information about the generation process, consult the [README.md](https://github.com/svanderburg/node2nix) file of the `node2nix` tool. +To update NPM packages in nixpkgs, run the same `generate.sh` script: + +```sh +./pkgs/development/node-packages/generate.sh +``` + +#### Git protocol error + +Some packages may have Git dependencies from GitHub specified with `git://`. +GitHub has +[disabled unecrypted Git connections](https://github.blog/2021-09-01-improving-git-protocol-security-github/#no-more-unauthenticated-git), +so you may see the following error when running the generate script: +`The unauthenticated git protocol on port 9418 is no longer supported`. + +Use the following Git configuration to resolve the issue: + +```sh +git config --global url."https://github.com/".insteadOf git://github.com/ +``` + ## Tool specific instructions {#javascript-tool-specific} ### node2nix {#javascript-node2nix} diff --git a/doc/languages-frameworks/texlive.section.md b/doc/languages-frameworks/texlive.section.md index 6b505cefcc9..060f5c647c2 100644 --- a/doc/languages-frameworks/texlive.section.md +++ b/doc/languages-frameworks/texlive.section.md @@ -6,7 +6,7 @@ Since release 15.09 there is a new TeX Live packaging that lives entirely under - For basic usage just pull `texlive.combined.scheme-basic` for an environment with basic LaTeX support. -- It typically won't work to use separately installed packages together. Instead, you can build a custom set of packages like this: +- It typically won't work to use separately installed packages together. Instead, you can build a custom set of packages like this. Most CTAN packages should be available: ```nix texlive.combine { |