Commit graph

1147 commits

Author SHA1 Message Date
Eli Flanagan
f6b397eed0
doc: improve javascript conventions (#298127)
I created newlines per the <https://github.com/NixOS/nixpkgs/blob/master/doc/README.md#documentation-conventions> guide.

This paves the way for future contributions to not be distracted by expected conventions.
2024-03-22 14:36:09 -07:00
Martin Weinelt
07717e430d
Merge pull request #297347 from tzx/docs-right-location-buildPytonPackage
doc: document name binding for buildPythonPackage
2024-03-21 05:53:08 +01:00
Timmy Xiao
a6b670edaa doc: document name binding for buildPythonPackage 2024-03-21 00:27:35 -04:00
Sarah Clark
2f7f71ea58
doc: Add troubleshooting for Cythonized code and pytest (#293069)
Cython is a Python compiler that emits native .so modules. By default, python derivations run tests in the wrong directory to see these modules and tests fail.

Issue #255262 documents the root cause and solution for this problem.

This PR adds a description of the problem and the most common solution to the test troubleshooting list.
2024-03-20 14:21:09 +01:00
Someone
e7797267a2
Merge pull request #281576 from yannham/refactor/cuda-setup-hooks-refactor
cudaPackages: generalize and refactor setup hooks
2024-03-19 20:06:18 +00:00
Pol Dellaiera
186c3e34a7
Merge pull request #296549 from TomaSajt/strip-java-archives-hook
add stripJavaArchivesHook and use treewide
2024-03-19 05:41:08 +01:00
Doron Behar
290c16532c doc/mkYarnPackage: document better distPhase and doDist 2024-03-18 11:29:47 +02:00
TomaSajt
e08f26cdb1
doc: include stripJavaArchivesHook in the java section 2024-03-17 18:52:03 +01:00
Yann Hamdaoui
63746cac08
cudaPackages: generalize and refactor setup hook
This PR refactor CUDA setup hooks, and in particular
autoAddOpenGLRunpath and autoAddCudaCompatRunpathHook, that were using a
lot of code in common (in fact, I introduced the latter by copy pasting
most of the bash script of the former). This is not satisfying for
maintenance, as a recent patch showed, because we need to duplicate
changes to both hooks.

This commit abstract the common part in a single shell script that
applies a generic patch action to every elf file in the output. For
autoAddOpenGLRunpath the action is just addOpenGLRunpath (now
addDriverRunpath), and is few line function for
autoAddCudaCompatRunpathHook.

Doing so, we also takes the occasion to use the newer addDriverRunpath
instead of the previous addOpenGLRunpath, and rename the CUDA hook to
reflect that as well.

Co-Authored-By: Connor Baker <connor.baker@tweag.io>
2024-03-15 15:54:21 +01:00
github-actions[bot]
54e3ad5442
Merge master into haskell-updates 2024-03-09 00:11:53 +00:00
adisbladis
434df3c94b
Merge pull request #289231 from adisbladis/fetchnpmlock
importNpmLock: init
2024-03-08 15:14:37 +13:00
github-actions[bot]
8534fb2f53
Merge master into haskell-updates 2024-03-07 00:10:05 +00: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
github-actions[bot]
1ad8409e69
Merge master into haskell-updates 2024-03-05 00:12:06 +00: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
github-actions[bot]
7e5ed63169
Merge master into haskell-updates 2024-02-27 00:12:52 +00: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
Wolfgang Walther
72e03b91ea
haskellPackages: add dontCheckIf helper
Using this helper will prevent introducing problematic doCheck = condition overrides,
which accidentally re-enable previously disabled tests.
2024-02-26 12:32:02 +01:00
github-actions[bot]
257171f024
Merge master into haskell-updates 2024-02-25 00:13:49 +00:00
github-actions[bot]
f694e31ceb
Merge master into haskell-updates 2024-02-21 00:12:23 +00: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]
02be936be3
Merge master into haskell-updates 2024-02-16 00:12:20 +00: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
github-actions[bot]
ed9046f8aa
Merge master into haskell-updates 2024-02-13 00:13:09 +00: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
github-actions[bot]
ae051d93c2
Merge master into haskell-updates 2024-02-09 00:12:19 +00: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
github-actions[bot]
3a0aae25fa
Merge master into haskell-updates 2024-02-05 00:13:15 +00: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
github-actions[bot]
34dab68635
Merge master into haskell-updates 2024-02-02 00:12:11 +00: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
github-actions[bot]
05ce1c8cd3
Merge master into haskell-updates 2024-02-01 00:13:01 +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
github-actions[bot]
11b995fb74
Merge master into haskell-updates 2024-01-27 00:11:54 +00:00