Commit graph

1114 commits

Author SHA1 Message Date
adisbladis
434df3c94b
Merge pull request #289231 from adisbladis/fetchnpmlock
importNpmLock: init
2024-03-08 15:14:37 +13:00
Matthieu Coudron
0bdfbc9e6a doc/lua.section.md: update lua documentation 2024-03-06 22:54:01 +01:00
Philip Taron
86ae7a6243
Remove top level with lib; in docs (#293829) 2024-03-06 22:35:43 +01:00
Anderson Torres
e671d3bbbd Nix docs: remove with lib; from example code
Following [Best Practices](https://nix.dev/guides/best-practices#with-scopes),
`with` is a problematic language construction and should be avoided.

Usually it is employed like a "factorization": `[ X.A X.B X.C X.D ]` is written
`with X; [ A B C D ]`.

However, as shown in the link above, the syntatical rules of `with` are not so
intuitive, and this "distributive rule" is very selective, in the sense that
`with X; [ A B C D ]` is not equivalent to `[ X.A X.B X.C X.D ]`.

However, this factorization is still useful to "squeeze" some code, especially
in lists like `meta.maintainers`.

On the other hand, it becomes less justifiable in bigger scopes. This is
especially true in cases like `with lib;` in the top of expression and in sets
like `meta = with lib; { . . . }`.

That being said, this patch removes most of example code in the current
documentation.

The exceptions are, for now
- doc/functions/generators.section.md
- doc/languages-frameworks/coq.section.md

because, well, they are way more complicated, and I couldn't parse them
mentally - yet another reason why `with` should be avoided!
2024-03-06 11:40:09 -03:00
Martin Weinelt
14a12caecf
python38: remove
The end of life for Python 3.8 is scheduled for 2024/10. As such it
cannot be a part of NixOS 24.05, because its support cycle goes past
that.
2024-03-05 11:56:21 +01:00
Leon
0bb74f147b
doc: small fix for nightly in derivation snippet (#292688) 2024-03-04 15:44:39 -08:00
adisbladis
b6e4b86809 importNpmLock: init
This is an alternative to `fetchNpmDeps` that is notably different in that it uses metadata from `package.json` & `package-lock.json` instead of specifying a fixed-output hash.

Notable features:
- IFD free.
- Only fetches a node dependency once. No massive FODs.
- Support for URL, Git and path dependencies.
- Uses most of the existing `npmHooks`

`importNpmLock` can be used _only_ in the cases where we need to check in a `package-lock.json` in the tree.
Currently this means that we have 13 packages that would be candidates to use this function, though I expect most usage to be in private repositories.

This is upstreaming the builder portion of https://github.com/adisbladis/buildNodeModules into nixpkgs (different naming but the code is the same).
I will archive this repository and consider nixpkgs the new upstream once it's been merged.

For more explanations and rationale see https://discourse.nixos.org/t/buildnodemodules-the-dumbest-node-to-nix-packaging-tool-yet/35733

Example usage:
``` nix
stdenv.mkDerivation {
  pname = "my-nodejs-app";
  version = "0.1.0";

  src = ./.;

  nativeBuildInputs = [
    importNpmLock.hooks.npmConfigHook
    nodejs
    nodejs.passthru.python # for node-gyp
    npmHooks.npmBuildHook
    npmHooks.npmInstallHook
  ];

  npmDeps = buildNodeModules.fetchNodeModules {
    npmRoot = ./.;
  };
}
```
2024-03-05 12:23:28 +13:00
K900
9bea2c4d93
Merge pull request #293163 from Aleksanaa/doc/qt
doc/qt: minor fixes
2024-03-04 10:52:45 +03:00
aleksana
cdc9e1d100 doc/qt: minor fixes 2024-03-04 15:50:03 +08:00
Mihai Maruseac
c786e63c70
doc: Fix typo resulting in broken link in manual
I was looking at
https://nixos.org/manual/nixpkgs/stable/#buildpythonpackage-parameters to
import a Python package and noticed that the link for the `hooks` in
`pyproject` option is broken due to a typo (used <kbd>0</kbd> instead of
<kbd>)</kbd>).

Signed-off-by: Mihai Maruseac <mihai.maruseac@gmail.com>
2024-02-26 05:20:16 -08:00
github-actions[bot]
ba5eeff4f5
Merge master into staging-next 2024-02-20 06:01:15 +00:00
adisbladis
4d0cca4654 mk-python-derivation: Add build-system argument
Much like the previous commit that adds dependencies &
optional-dependencies this aligns PEP-517 build systems with how they
are defined in PEP-518/PEP-621.

The naming `build-system` (singular) is aligned with upstream Python standards.
2024-02-18 17:40:42 +13:00
adisbladis
b9138b7c07 mk-python-derivation: Add dependencies & optional-dependencies arguments
Since https://github.com/NixOS/nixpkgs/pull/161835 we've had the
concept of `passthru.optional-dependencies` for Python optional deps.

Having to explicitly put optional-dependencies in the passthru attrset
is a bit strange API-wise, even though it semantically makes sense.

This change unifies the handling of non-optional & optional Python
dependencies using the names established from PEP-621 (standardized pyproject.toml project metadata).
2024-02-18 17:40:42 +13:00
Matthieu Coudron
50e877ed89 buildLuarocksPackage: accept structured luarocks config
There is an arbitrary mapping being done right now between
nixpkgs lua infrastructre and luarocks config schema.
This is confusing if you use lua so let's make it possible to use the
lua names in the nixpkgs, thanks to the lib.generators.toLua convertor.

The only nixpkgs thing to remember should be to put the config into `luarocksConfig`

`buildLuarocksPackage.extraVariables` should become `buildLuarocksPackage.luarocksConfig.variables`
2024-02-17 15:58:13 +01:00
github-actions[bot]
2035b66b68
Merge staging-next into staging 2024-02-15 18:01:39 +00:00
Silvan Mosberger
fc407cfdf9
Merge pull request #287331 from booniepepper/doc/prefer-cargoHash-attribute
doc: consistently prefer and lead with cargoHash over cargoSha256
2024-02-15 16:14:03 +01:00
lassulus
38905fc7ee
Merge pull request #287957 from DavHau/python
pythonCatchConflictsHook: scan $out, not sys.path (2)
2024-02-13 14:22:53 +07:00
DavHau
a299915fff pythonCatchConflictsHook: improve docs 2024-02-13 11:15:41 +07:00
K900
4dd212239e
Merge pull request #287169 from K900/qt-docs
doc/qt: refresh
2024-02-12 14:47:20 +03:00
K900
76081bed3a doc/qt: refresh
Make examples don't require a custom callPackage, remove note on multiversioning, reword a few things.

Fixes #287015
2024-02-11 11:02:39 +03:00
Justin "J.R." Hill
0f7d690e48
doc: consistently prefer and lead with cargoHash over cargSha256 2024-02-08 15:41:32 -08:00
Silvan Mosberger
50cb21e1dc
Merge pull request #285655 from itslychee/revision/dotnet-docs
doc: clarify usage of nuget-to-nix in dotnet.section.md
2024-02-08 16:27:31 +01:00
Weijia Wang
8e45a04cc3
Merge pull request #284632 from OPNA2608/fix/dart-docs-unstableVersion
docs/dart: Update unstable version example
2024-02-04 21:39:13 +01:00
lychee
38048e0fbe
doc: clarify usage of nuget-to-nix in dotnet.section.md
I believe it would be helpful to better explain how to use
`nuget-to-nix` for those who aren't familar with the .NET ecosystem as I
was personally stumped on how to use it.
2024-02-04 14:08:11 -06:00
Yt
8530feb642
Merge pull request #233587 from Munksgaard/fix-beam-modules-quotation-marks
beam-modules: Fix missing quotation marks
2024-02-01 18:49:45 +00:00
sternenseemann
571a07d774 doc/haskell: don't use lib.recursiveUpdate in overlays
`lib.recursiveUpdate` indiscriminately recurses into all attribute sets,
also into derivations. This means that it is possible that evaluating a
derivation in the final haskell package set can cause something in
`prev.haskell` to be forced by `recursiveUpdate`, potentially causing an
evaluation error that should not happen.

It can be fixed using a well-crafted predicate for
`lib.recursiveUpdateUntil`, but most robust is just explicitly writing
out the desired merging manually.
2024-01-31 23:49:32 +01:00
OPNA2608
8dff0785cc docs/dart: Update unstable version example 2024-01-29 00:06:18 +01:00
Fabián Heredia Montiel
b975d1413e
Merge pull request #283648 from mattpolzin/idris2-lsp
idris2Packages.idris2Lsp: init at 2024-01-21
2024-01-25 19:21:38 -06:00
Sam
1cbd2ac8f8
doc: Fix typo in dotnet.section.md (#282685)
It should be `dotnetCorePackages.sdk_6_0`, not `dotnetCorePackages.sdk_6.0`
2024-01-25 16:06:58 +01:00
sternenseemann
65fc44c341 haskell.compiler.ghc8102Binary: remove at 8.10.2
Since 46f14d30aa, it no longer has any
users in nixpkgs.
2024-01-25 15:20:35 +01:00
Mathew Polzin
dfe61cf96a doc: update idris2 documentation on buildIdris 2024-01-23 23:35:17 -06:00
github-actions[bot]
650e10b010
Merge master into staging-next 2024-01-20 00:02:16 +00:00
Maciej Krüger
45308f5528
Merge pull request #281662 from hacker1024/feature/flutter-build-web
Support Web builds in buildFlutterApplication
2024-01-19 23:56:52 +01:00
hacker1024
64f9fa0d2c buildFlutterApplication: Change flutterHostPlatform to targetFlutterPlatform 2024-01-19 11:07:33 +11:00
github-actions[bot]
dc4a7c97b0
Merge master into staging-next 2024-01-18 18:00:55 +00:00
Silvan Mosberger
c2c56c3d3c
Merge pull request #275935 from mrgalopes/update-rust-docs
doc: update buildRustPackage documentation
2024-01-18 16:13:56 +01:00
Silvan Mosberger
15a34f609f
Merge pull request #273075 from midnightveil/patch-1
doc: mkYarnPackage/mkYarnModules should use offlineCache to prevent IFD
2024-01-18 16:12:54 +01:00
Silvan Mosberger
4541016abd
Merge pull request #255794 from rtpg/patch-1
Mention qt-specific callPackage variants in docs
2024-01-18 16:11:18 +01:00
hacker1024
3b33435d02 flutter.buildFlutterApplication: Add multiShell attribute 2024-01-18 14:20:03 +11:00
hacker1024
f51a0b053d flutter.buildFlutterApplication: Allow building for the Web 2024-01-18 10:27:32 +11:00
github-actions[bot]
4c8ce132ff
Merge staging-next into staging 2024-01-16 06:01:25 +00:00
Mathew Polzin
ce58e0643b doc: idris2 section 2024-01-15 18:19:53 -06:00
Peder Bergebakken Sundt
e07a2fab7f stdenv: substituteStream: deprecate --replace in favor of --replace-{fail,warn,quiet} 2024-01-14 22:07:58 +01:00
Jörg Thalheim
90d30207b1
Merge pull request #280816 from katexochen/docs/go
doc: extend Go documentation
2024-01-14 13:27:17 +01:00
Paul Meyer
aaf596a697 doc: extend Go documentation 2024-01-13 22:43:54 +01:00
Benedikt Tissot
b28200aa23
texlive: document LuaLaTeX font cache (#280080)
lualatex assumes a writeable font cache relative to `$HOME`, for nix this has two implications.
First, the cache might diverge from the nix store if users use LuaLaTeX.
Second, `$HOME` needs to be set to a writable path in derivations.
2024-01-12 09:47:35 -06:00
hacker1024
a2cbeb19b4
docs/dart: Fix example autoPubspecLock syntax 2024-01-11 08:28:42 +11:00
hacker1024
778cefd464 buildDartApplication: Allow reading pubspec.lock with IFD 2024-01-10 20:29:53 +11:00
Maciej Krüger
349e0c2870
Merge pull request #263345 from hacker1024/feature/pub2nix
dart: Use Nix instead of Pub
2024-01-05 16:34:07 +01:00
ajs124
12f45e5dc9 docs/ruby: update/drop references to old version 2024-01-02 15:30:07 +01:00