Commit graph

1167 commits

Author SHA1 Message Date
Atemu b136700c7d
Merge pull request #299618 from TomaSajt/dub-support
Add buildDubPackage and dub-to-nix for building dub based packages
2024-04-04 11:52:57 +02:00
TomaSajt 87b3dc5b46
doc: add dlang language section 2024-04-03 12:32:09 +02:00
github-actions[bot] 07f01fb40f
Merge master into staging-next 2024-03-31 18:01:04 +00:00
Daniel Sidhion c3cb77dfe5
Merge pull request #300019 from eflanagan0/doc-lowercase-npm
doc: lowercase npm name
2024-03-31 10:38:33 -07:00
Vincent Laporte f6371cad74
doc: clean-up Coq derivation example (#299927) 2024-03-31 10:35:35 -07:00
Eli Flanagan 693c7d91c9
doc: lowercase npm name
npm, Inc documentation asks to use lowercase. Their documentation also has consistent lowercase usage. e.g. <https://docs.npmjs.com/about-npm>
2024-03-29 11:10:49 -04:00
github-actions[bot] 69de1e1beb
Merge master into staging-next 2024-03-28 12:01:21 +00:00
Janne Heß bc5ee2b8f8 treewide: Switch markdown placeholder from "..." to <...>
We use angle brackets since they look a lot like a placeholder while
also being valid nix code, as suggested by roberth here: https://github.com/NixOS/nixpkgs/pull/299554#discussion_r1541797970
2024-03-28 09:28:12 +01:00
Janne Heß fcc95ff817 treewide: Fix all Nix ASTs in all markdown files
This allows for correct highlighting and maybe future automatic
formatting. The AST was verified to work with nixfmt only.
2024-03-28 09:28:12 +01:00
Janne Heß bc77c7a973 treewide: Mark Nix blocks in markdown as Nix
This should help us with highlighting and future formatting.
2024-03-28 09:28:12 +01:00
github-actions[bot] c904e6bf24
Merge master into staging-next 2024-03-26 00:02:03 +00:00
Aleksana 5616042a51
doc: add build rust package with meson example (#298881) 2024-03-25 21:45:19 +01:00
github-actions[bot] 5e808ed203
Merge staging-next into staging 2024-03-23 00:02:29 +00:00
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
github-actions[bot] 4fd286e707
Merge staging-next into staging 2024-03-21 12:01:49 +00: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
github-actions[bot] 7f8db6f00d
Merge staging-next into staging 2024-03-20 18:01:38 +00: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
github-actions[bot] ffc1886a16
Merge staging-next into staging 2024-03-20 00:02:37 +00: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
github-actions[bot] 66eeab8faf
Merge staging-next into staging 2024-03-19 06:01:43 +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
github-actions[bot] b727e4cb21
Merge staging-next into staging 2024-03-19 00:02:39 +00: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
github-actions[bot] b74fe245b8
Merge staging-next into staging 2024-03-17 00:02:45 +00:00
Matthieu Coudron 545c14d5e4 doc/lua: mention the patching of interpreters
explain why they are patched in nixpkgs.
2024-03-16 14:37:10 +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