diff options
author | Alyssa Ross <hi@alyssa.is> | 2024-03-22 16:41:59 +0100 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2024-03-22 16:41:59 +0100 |
commit | 46a88117a05c3469af5d99433af140c3de8ca088 (patch) | |
tree | d7f0557756d8f07a3081b3498c05ddc5a8ad429d /nixpkgs/doc | |
parent | e97457545cea0b2ca421da257c83d8f1ef451d85 (diff) | |
parent | a343533bccc62400e8a9560423486a3b6c11a23b (diff) | |
download | nixlib-46a88117a05c3469af5d99433af140c3de8ca088.tar nixlib-46a88117a05c3469af5d99433af140c3de8ca088.tar.gz nixlib-46a88117a05c3469af5d99433af140c3de8ca088.tar.bz2 nixlib-46a88117a05c3469af5d99433af140c3de8ca088.tar.lz nixlib-46a88117a05c3469af5d99433af140c3de8ca088.tar.xz nixlib-46a88117a05c3469af5d99433af140c3de8ca088.tar.zst nixlib-46a88117a05c3469af5d99433af140c3de8ca088.zip |
Merge commit 'a343533bccc62400e8a9560423486a3b6c11a23b'
Diffstat (limited to 'nixpkgs/doc')
-rw-r--r-- | nixpkgs/doc/functions/generators.section.md | 3 | ||||
-rw-r--r-- | nixpkgs/doc/languages-frameworks/coq.section.md | 8 | ||||
-rw-r--r-- | nixpkgs/doc/languages-frameworks/dotnet.section.md | 6 | ||||
-rw-r--r-- | nixpkgs/doc/languages-frameworks/go.section.md | 6 | ||||
-rw-r--r-- | nixpkgs/doc/languages-frameworks/idris.section.md | 6 | ||||
-rw-r--r-- | nixpkgs/doc/languages-frameworks/javascript.section.md | 37 | ||||
-rw-r--r-- | nixpkgs/doc/languages-frameworks/lua.section.md | 30 | ||||
-rw-r--r-- | nixpkgs/doc/languages-frameworks/maven.section.md | 6 | ||||
-rw-r--r-- | nixpkgs/doc/languages-frameworks/ocaml.section.md | 6 | ||||
-rw-r--r-- | nixpkgs/doc/languages-frameworks/python.section.md | 40 | ||||
-rw-r--r-- | nixpkgs/doc/languages-frameworks/qt.section.md | 6 | ||||
-rw-r--r-- | nixpkgs/doc/languages-frameworks/rust.section.md | 14 | ||||
-rw-r--r-- | nixpkgs/doc/languages-frameworks/texlive.section.md | 8 | ||||
-rw-r--r-- | nixpkgs/doc/stdenv/meta.chapter.md | 8 |
14 files changed, 106 insertions, 78 deletions
diff --git a/nixpkgs/doc/functions/generators.section.md b/nixpkgs/doc/functions/generators.section.md index 8b3ae6843a22..dbfc302a3abf 100644 --- a/nixpkgs/doc/functions/generators.section.md +++ b/nixpkgs/doc/functions/generators.section.md @@ -6,8 +6,9 @@ All generators follow a similar call interface: `generatorName configFunctions d Generators can be fine-tuned to produce exactly the file format required by your application/service. One example is an INI-file format which uses `: ` as separator, the strings `"yes"`/`"no"` as boolean values and requires all string values to be quoted: ```nix -with lib; let + inherit (lib) generators isString; + customToINI = generators.toINI { # specifies how to format a key/value pair mkKeyValue = generators.mkKeyValueDefault { diff --git a/nixpkgs/doc/languages-frameworks/coq.section.md b/nixpkgs/doc/languages-frameworks/coq.section.md index 6ca199708377..db3724773345 100644 --- a/nixpkgs/doc/languages-frameworks/coq.section.md +++ b/nixpkgs/doc/languages-frameworks/coq.section.md @@ -55,7 +55,13 @@ Here is a simple package example. It is a pure Coq library, thus it depends on C ```nix { lib, mkCoqDerivation, version ? null , coq, mathcomp, mathcomp-finmap, mathcomp-bigenough }: -with lib; mkCoqDerivation { + +let + inherit (lib) licenses maintainers switch; + inherit (lib.versions) range; +in + +mkCoqDerivation { /* namePrefix leads to e.g. `name = coq8.11-mathcomp1.11-multinomials-1.5.2` */ namePrefix = [ "coq" "mathcomp" ]; pname = "multinomials"; diff --git a/nixpkgs/doc/languages-frameworks/dotnet.section.md b/nixpkgs/doc/languages-frameworks/dotnet.section.md index 7987aa41636c..7466c8cdc228 100644 --- a/nixpkgs/doc/languages-frameworks/dotnet.section.md +++ b/nixpkgs/doc/languages-frameworks/dotnet.section.md @@ -210,11 +210,11 @@ buildDotnetGlobalTool { nugetSha256 = "sha256-ZG2HFyKYhVNVYd2kRlkbAjZJq88OADe3yjxmLuxXDUo="; - meta = with lib; { + meta = { homepage = "https://cmd.petabridge.com/index.html"; changelog = "https://cmd.petabridge.com/articles/RELEASE_NOTES.html"; - license = licenses.unfree; - platforms = platforms.linux; + license = lib.licenses.unfree; + platforms = lib.platforms.linux; }; } ``` diff --git a/nixpkgs/doc/languages-frameworks/go.section.md b/nixpkgs/doc/languages-frameworks/go.section.md index 7f151c76129f..369eb88d331f 100644 --- a/nixpkgs/doc/languages-frameworks/go.section.md +++ b/nixpkgs/doc/languages-frameworks/go.section.md @@ -51,11 +51,11 @@ pet = buildGoModule rec { vendorHash = "sha256-ciBIR+a1oaYH+H1PcC8cD8ncfJczk1IiJ8iYNM+R6aA="; - meta = with lib; { + meta = { description = "Simple command-line snippet manager, written in Go"; homepage = "https://github.com/knqyf263/pet"; - license = licenses.mit; - maintainers = with maintainers; [ kalbasit ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ kalbasit ]; }; } ``` diff --git a/nixpkgs/doc/languages-frameworks/idris.section.md b/nixpkgs/doc/languages-frameworks/idris.section.md index 447a3e7bb8a3..e30a849dd456 100644 --- a/nixpkgs/doc/languages-frameworks/idris.section.md +++ b/nixpkgs/doc/languages-frameworks/idris.section.md @@ -93,11 +93,11 @@ build-idris-package { hash = "sha256-h28F9EEPuvab6zrfeE+0k1XGQJGwINnsJEG8yjWIl7w="; }; - meta = with lib; { + meta = { description = "Idris YAML lib"; homepage = "https://github.com/Heather/Idris.Yaml"; - license = licenses.mit; - maintainers = [ maintainers.brainrape ]; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.brainrape ]; }; } ``` diff --git a/nixpkgs/doc/languages-frameworks/javascript.section.md b/nixpkgs/doc/languages-frameworks/javascript.section.md index 5d2a6413e104..c148070ad244 100644 --- a/nixpkgs/doc/languages-frameworks/javascript.section.md +++ b/nixpkgs/doc/languages-frameworks/javascript.section.md @@ -184,11 +184,11 @@ buildNpmPackage rec { NODE_OPTIONS = "--openssl-legacy-provider"; - meta = with lib; { + meta = { description = "A modern web UI for various torrent clients with a Node.js backend and React frontend"; homepage = "https://flood.js.org"; - license = licenses.gpl3Only; - maintainers = with maintainers; [ winter ]; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ winter ]; }; } ``` @@ -233,6 +233,37 @@ sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= It returns a derivation with all `package-lock.json` dependencies downloaded into `$out/`, usable as an npm cache. +#### importNpmLock {#javascript-buildNpmPackage-importNpmLock} + +`importNpmLock` is a Nix function that requires the following optional arguments: + +- `npmRoot`: Path to package directory containing the source tree +- `package`: Parsed contents of `package.json` +- `packageLock`: Parsed contents of `package-lock.json` +- `pname`: Package name +- `version`: Package version + +It returns a derivation with a patched `package.json` & `package-lock.json` with all dependencies resolved to Nix store paths. + +This function is analogous to using `fetchNpmDeps`, but instead of specifying `hash` it uses metadata from `package.json` & `package-lock.json`. + +Note that `npmHooks.npmConfigHook` cannot be used with `importNpmLock`. You will instead need to use `importNpmLock.npmConfigHook`: + +```nix +{ buildNpmPackage, importNpmLock }: + +buildNpmPackage { + pname = "hello"; + version = "0.1.0"; + + npmDeps = importNpmLock { + npmRoot = ./.; + }; + + npmConfigHook = importNpmLock.npmConfigHook; +} +``` + ### corepack {#javascript-corepack} This package puts the corepack wrappers for pnpm and yarn in your PATH, and they will honor the `packageManager` setting in the `package.json`. diff --git a/nixpkgs/doc/languages-frameworks/lua.section.md b/nixpkgs/doc/languages-frameworks/lua.section.md index 23c40409eaa0..a6577a56a436 100644 --- a/nixpkgs/doc/languages-frameworks/lua.section.md +++ b/nixpkgs/doc/languages-frameworks/lua.section.md @@ -1,8 +1,8 @@ -# User’s Guide to Lua Infrastructure {#users-guide-to-lua-infrastructure} +# Lua {#lua} -## Using Lua {#using-lua} +## Using Lua {#lua-userguide} -### Overview of Lua {#overview-of-lua} +### Overview of Lua {#lua-overview} Several versions of the Lua interpreter are available: luajit, lua 5.1, 5.2, 5.3. The attribute `lua` refers to the default interpreter, it is also possible to refer to specific versions, e.g. `lua5_2` refers to Lua 5.2. @@ -118,7 +118,7 @@ Again, it is possible to launch the interpreter from the shell. The Lua interpreter has the attribute `pkgs` which contains all Lua libraries for that specific interpreter. -## Developing with Lua {#developing-with-lua} +## Developing with lua {#lua-developing} Now that you know how to get a working Lua environment with Nix, it is time to go forward and start actually developing with Lua. There are two ways to @@ -193,10 +193,10 @@ luaposix = buildLuarocksPackage { disabled = (luaOlder "5.1") || (luaAtLeast "5.4"); propagatedBuildInputs = [ bit32 lua std_normalize ]; - meta = with lib; { + meta = { homepage = "https://github.com/luaposix/luaposix/"; description = "Lua bindings for POSIX"; - maintainers = with maintainers; [ vyp lblasc ]; + maintainers = with lib.maintainers; [ vyp lblasc ]; license.fullName = "MIT/X11"; }; }; @@ -234,30 +234,20 @@ The `lua.withPackages` takes a function as an argument that is passed the set of Using the `withPackages` function, the previous example for the luafilesystem environment can be written like this: ```nix -with import <nixpkgs> {}; - lua.withPackages (ps: [ps.luafilesystem]) ``` `withPackages` passes the correct package set for the specific interpreter version as an argument to the function. In the above example, `ps` equals `luaPackages`. -But you can also easily switch to using `lua5_2`: +But you can also easily switch to using `lua5_1`: ```nix -with import <nixpkgs> {}; - -lua5_2.withPackages (ps: [ps.lua]) +lua5_1.withPackages (ps: [ps.lua]) ``` -Now, `ps` is set to `lua52Packages`, matching the version of the interpreter. - -### Possible Todos {#possible-todos} - -* export/use version specific variables such as `LUA_PATH_5_2`/`LUAROCKS_CONFIG_5_2` -* let luarocks check for dependencies via exporting the different rocktrees in temporary config +Now, `ps` is set to `lua5_1.pkgs`, matching the version of the interpreter. -### Lua Contributing guidelines {#lua-contributing-guidelines} +### Lua Contributing guidelines {#lua-contributing} Following rules should be respected: -* Make sure libraries build for all Lua interpreters. * Commit names of Lua libraries should reflect that they are Lua libraries, so write for example `luaPackages.luafilesystem: 1.11 -> 1.12`. diff --git a/nixpkgs/doc/languages-frameworks/maven.section.md b/nixpkgs/doc/languages-frameworks/maven.section.md index b86733a75898..2ec419e010eb 100644 --- a/nixpkgs/doc/languages-frameworks/maven.section.md +++ b/nixpkgs/doc/languages-frameworks/maven.section.md @@ -34,11 +34,11 @@ maven.buildMavenPackage rec { --add-flags "-jar $out/share/jd-cli/jd-cli.jar" ''; - meta = with lib; { + meta = { description = "Simple command line wrapper around JD Core Java Decompiler project"; homepage = "https://github.com/intoolswetrust/jd-cli"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ majiir ]; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ majiir ]; }; }: ``` diff --git a/nixpkgs/doc/languages-frameworks/ocaml.section.md b/nixpkgs/doc/languages-frameworks/ocaml.section.md index cbdc64bf5dd3..4f3b6e0264f7 100644 --- a/nixpkgs/doc/languages-frameworks/ocaml.section.md +++ b/nixpkgs/doc/languages-frameworks/ocaml.section.md @@ -110,11 +110,11 @@ buildDunePackage rec { hash = "sha256-d5/3KUBAWRj8tntr4RkJ74KWW7wvn/B/m1nx0npnzyc="; }; - meta = with lib; { + meta = { homepage = "https://github.com/flowtype/ocaml-wtf8"; description = "WTF-8 is a superset of UTF-8 that allows unpaired surrogates."; - license = licenses.mit; - maintainers = [ maintainers.eqyiel ]; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.eqyiel ]; }; } ``` diff --git a/nixpkgs/doc/languages-frameworks/python.section.md b/nixpkgs/doc/languages-frameworks/python.section.md index 6634dced6eb7..fa7f3eddf72c 100644 --- a/nixpkgs/doc/languages-frameworks/python.section.md +++ b/nixpkgs/doc/languages-frameworks/python.section.md @@ -7,7 +7,6 @@ | Package | Aliases | Interpreter | |------------|-----------------|-------------| | python27 | python2, python | CPython 2.7 | -| python38 | | CPython 3.8 | | python39 | | CPython 3.9 | | python310 | | CPython 3.10 | | python311 | python3 | CPython 3.11 | @@ -60,7 +59,6 @@ sets are * `pkgs.python27Packages` * `pkgs.python3Packages` -* `pkgs.python38Packages` * `pkgs.python39Packages` * `pkgs.python310Packages` * `pkgs.python311Packages` @@ -132,12 +130,12 @@ buildPythonPackage rec { hypothesis ]; - meta = with lib; { + meta = { changelog = "https://github.com/pytest-dev/pytest/releases/tag/${version}"; description = "Framework for writing tests"; homepage = "https://github.com/pytest-dev/pytest"; - license = licenses.mit; - maintainers = with maintainers; [ domenkozar lovek323 madjar lsix ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ domenkozar lovek323 madjar lsix ]; }; } ``` @@ -314,7 +312,7 @@ python3Packages.buildPythonApplication rec { python-daemon ]; - meta = with lib; { + meta = { # ... }; } @@ -901,12 +899,12 @@ buildPythonPackage rec { "toolz.dicttoolz" ]; - meta = with lib; { + meta = { changelog = "https://github.com/pytoolz/toolz/releases/tag/${version}"; homepage = "https://github.com/pytoolz/toolz"; description = "List processing tools and functional utilities"; - license = licenses.bsd3; - maintainers = with maintainers; [ fridh ]; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ fridh ]; }; } ``` @@ -1036,12 +1034,12 @@ buildPythonPackage rec { pytest ]; - meta = with lib; { + meta = { changelog = "https://github.com/blaze/datashape/releases/tag/${version}"; homepage = "https://github.com/ContinuumIO/datashape"; description = "A data description language"; - license = licenses.bsd2; - maintainers = with maintainers; [ fridh ]; + license = lib.licenses.bsd2; + maintainers = with lib.maintainers; [ fridh ]; }; } ``` @@ -1086,12 +1084,12 @@ buildPythonPackage rec { libxslt ]; - meta = with lib; { + meta = { changelog = "https://github.com/lxml/lxml/releases/tag/lxml-${version}"; description = "Pythonic binding for the libxml2 and libxslt libraries"; homepage = "https://lxml.de"; - license = licenses.bsd3; - maintainers = with maintainers; [ sjourdois ]; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ sjourdois ]; }; } ``` @@ -1157,12 +1155,12 @@ buildPythonPackage rec { # Tests cannot import pyfftw. pyfftw works fine though. doCheck = false; - meta = with lib; { + meta = { changelog = "https://github.com/pyFFTW/pyFFTW/releases/tag/v${version}"; description = "A pythonic wrapper around FFTW, the FFT library, presenting a unified interface for all the supported transforms"; homepage = "http://hgomersall.github.com/pyFFTW"; - license = with licenses; [ bsd2 bsd3 ]; - maintainers = with maintainers; [ fridh ]; + license = with lib.licenses; [ bsd2 bsd3 ]; + maintainers = with lib.maintainers; [ fridh ]; }; } ``` @@ -1532,12 +1530,12 @@ buildPythonPackage rec { wheel ]; - meta = with lib; { + meta = { changelog = "https://github.com/pytoolz/toolz/releases/tag/${version}"; homepage = "https://github.com/pytoolz/toolz/"; description = "List processing tools and functional utilities"; - license = licenses.bsd3; - maintainers = with maintainers; [ fridh ]; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ fridh ]; }; } ``` diff --git a/nixpkgs/doc/languages-frameworks/qt.section.md b/nixpkgs/doc/languages-frameworks/qt.section.md index 1edceb53cfe4..dcec4b6fff42 100644 --- a/nixpkgs/doc/languages-frameworks/qt.section.md +++ b/nixpkgs/doc/languages-frameworks/qt.section.md @@ -12,7 +12,7 @@ an extra indirection. ## Nix expression for a Qt package (default.nix) {#qt-default-nix} ```nix -{ stdenv, lib, qt6, wrapQtAppsHook }: +{ stdenv, qt6 }: stdenv.mkDerivation { pname = "myapp"; @@ -23,10 +23,12 @@ stdenv.mkDerivation { } ``` +The same goes for Qt 5 where libraries and tools are under `libsForQt5`. + Any Qt package should include `wrapQtAppsHook` in `nativeBuildInputs`, or explicitly set `dontWrapQtApps` to bypass generating the wrappers. ::: {.note} -Graphical Linux applications should also include `qtwayland` in `buildInputs`, to ensure the Wayland platform plugin is available. +Qt 6 graphical applications should also include `qtwayland` in `buildInputs` on Linux (but not on platforms e.g. Darwin, where `qtwayland` is not available), to ensure the Wayland platform plugin is available. This may become default in the future, see [NixOS/nixpkgs#269674](https://github.com/NixOS/nixpkgs/pull/269674). ::: diff --git a/nixpkgs/doc/languages-frameworks/rust.section.md b/nixpkgs/doc/languages-frameworks/rust.section.md index 76ac7b6cb2d2..75e57a8bb574 100644 --- a/nixpkgs/doc/languages-frameworks/rust.section.md +++ b/nixpkgs/doc/languages-frameworks/rust.section.md @@ -35,10 +35,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-jtBw4ahSl88L0iuCXxQgZVm1EcboWRJMNtjxLVTtzts="; - meta = with lib; { + meta = { description = "A fast line-oriented regex search tool, similar to ag and ack"; homepage = "https://github.com/BurntSushi/ripgrep"; - license = licenses.unlicense; + license = lib.licenses.unlicense; maintainers = []; }; } @@ -903,8 +903,8 @@ with import <nixpkgs> }; let rustPlatform = makeRustPlatform { - cargo = rust-bin.stable.latest.minimal; - rustc = rust-bin.stable.latest.minimal; + cargo = rust-bin.selectLatestNightlyWith (toolchain: toolchain.default); + rustc = rust-bin.selectLatestNightlyWith (toolchain: toolchain.default); }; in @@ -923,11 +923,11 @@ rustPlatform.buildRustPackage rec { doCheck = false; - meta = with lib; { + meta = { description = "A fast line-oriented regex search tool, similar to ag and ack"; homepage = "https://github.com/BurntSushi/ripgrep"; - license = with licenses; [ mit unlicense ]; - maintainers = with maintainers; []; + license = with lib.licenses; [ mit unlicense ]; + maintainers = with lib.maintainers; []; }; } ``` diff --git a/nixpkgs/doc/languages-frameworks/texlive.section.md b/nixpkgs/doc/languages-frameworks/texlive.section.md index 01b59f6f34a9..b6fb1099a4a4 100644 --- a/nixpkgs/doc/languages-frameworks/texlive.section.md +++ b/nixpkgs/doc/languages-frameworks/texlive.section.md @@ -181,11 +181,11 @@ let runHook postInstall ''; - meta = with lib; { + meta = { description = "A LaTeX2e class for overhead transparencies"; - license = licenses.unfreeRedistributable; - maintainers = with maintainers; [ veprbl ]; - platforms = platforms.all; + license = lib.licenses.unfreeRedistributable; + maintainers = with lib.maintainers; [ veprbl ]; + platforms = lib.platforms.all; }; }; diff --git a/nixpkgs/doc/stdenv/meta.chapter.md b/nixpkgs/doc/stdenv/meta.chapter.md index c187f0602a1e..4a3b04b8f6e4 100644 --- a/nixpkgs/doc/stdenv/meta.chapter.md +++ b/nixpkgs/doc/stdenv/meta.chapter.md @@ -3,16 +3,16 @@ Nix packages can declare *meta-attributes* that contain information about a package such as a description, its homepage, its license, and so on. For instance, the GNU Hello package has a `meta` declaration like this: ```nix -meta = with lib; { +meta = { description = "A program that produces a familiar, friendly greeting"; longDescription = '' GNU Hello is a program that prints "Hello, world!" when you run it. It is fully customizable. ''; homepage = "https://www.gnu.org/software/hello/manual/"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ eelco ]; - platforms = platforms.all; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ eelco ]; + platforms = lib.platforms.all; }; ``` |