Commit Graph

1906 Commits

Author SHA1 Message Date
Sizhe Zhao
a742a240a7 doc/javascript.section: recommend fetcherVersion 4 2026-06-13 13:49:37 +08:00
Gergő Gutyina
3604c8c851 pnpm: switch to nodejs-slim (#514575) 2026-06-06 10:46:45 +00:00
Antoine du Hamel
36b6c90e6b pnpm: switch to nodejs-slim 2026-06-06 00:36:37 +02:00
Gergő Gutyina
49ffcc65f9 fetchPnpmDeps: remove fetcherVersion = 1 and 2 (#523933) 2026-06-03 09:03:19 +00:00
Gergő Gutyina
e75fb5a069 pnpmBuildHook: init and migrate some packages (#487046) 2026-06-03 07:39:01 +00:00
Ross Smyth
3b8d94ca86 doc: Add pnpmBuildHook 2026-06-02 13:53:11 -04:00
Benedikt Ritter
8b6cd28599 maven_4: init at 4.0.0-rc-5
Package Maven 4 as a standalone derivation that can be customized
independently of maven.

It defaults to jdk25_headless (the JDK can be overridden via that
argument), exposed through a local jdk_headless binding so future JDK
bumps are a one-line change.

maven exposes its package builder as the mkBuildMavenPackage passthru
function, which maven_4 reuses to provide its own buildMavenPackage
without duplicating build-maven-package.nix. The version tests passthru
is exposed as well. buildMaven is intentionally not exposed as it is
semi-deprecated.

The dependency FOD deletes the .meta directory during cleanup: Maven
Resolver 2.0.11+ writes machine- and time-dependent files there, which
would otherwise break the fixed-output derivation's hash.

A section about maven_4 is added to the Maven manual.

Assisted-by: Claude Code (Claude Opus 4.8)
2026-06-02 11:40:02 +02:00
Aliaksandr
2c01146d7d fetchPnpmDeps: throw on removed fetcherVersion = 1 and 2
fetcherVersion = 1 and 2 were deprecated in the 26.05 release and
scheduled for removal in 26.11. Remove them from supportedFetcherVersions
and replace the deprecation warning with a hard throw that points users
at the migration to fetcherVersion = 3.

No in-tree package still uses fetcherVersion = 1 or 2. The now-unreachable
v1/v2 code paths are removed in a follow-up commit.

Assisted-by: claude-code with claude-opus-4-7[1m]-xhigh
2026-05-31 23:50:21 +03:00
Aliaksandr
aab86321db doc/python: drop python2 references from manual section
Remove python27Packages, python2Packages, and pythonPackages alias
mentions; drop the "python refers to CPython 2.7" sentence and the
Python 2 namespace-collision note; strip Python-2-only inline comments
from the venvShellHook example.

Keep all pypy2/pypy27 references — pypy27 stays defined inside
pythonInterpreters as the bootstrap for pypy3.
2026-05-31 15:16:32 +03:00
Martin Weinelt
df41f1609c docs: Encourage use of python3Packages rather than python3.pkgs (#439689) 2026-05-31 10:45:14 +00:00
Adam C. Stephens
1a5492d942 doc/beam: update documentation to reflect tree and recommendations 2026-05-29 16:43:41 -04:00
Marc Jakobi
f45c940c13 lua-section.md: use lib.licenses in example code snippet 2026-05-25 22:43:41 +02:00
toporiame.
fb957e8b7c doc: on overriding and excluding packages from TeX Live collections
Document a method to override package or collection dependencies with texlive.withPackages

Co-authored-by: Vincenzo Mantova <1962985+xworld21@users.noreply.github.com>
2026-05-25 15:55:11 +02:00
Dmitry Kalinkin
383c59fb0e texlive: merge withDocs, tlDeps updates and remove texlive.combine from the documentation (#523350) 2026-05-24 16:27:43 +00:00
Vincenzo Mantova
022d9ebeeb doc: remove texlive.combine from the TeX Live documentation 2026-05-23 22:10:53 +01:00
Maciej Krüger
f2ba699f37 fetchPnpmDeps: fix reproducibility of pnpm v11 store index
The pnpm v11 store uses a SQLite database (index.db) whose binary format
is non-deterministic across platforms (version-valid-for number, etc).
This caused hash mismatches when building the same pnpmDeps on different
machines despite identical logical content.

Fix by dumping the SQLite database to a text SQL file during the fetch
phase and reconstructing it during the build phase. This ensures the
stored representation is fully deterministic.

Assisted-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

Co-authored-by: Gergő Gutyina <gutyina.gergo.2@gmail.com>
2026-05-23 22:13:33 +02:00
Vincenzo Mantova
3a6bafbdf5 texlive.withPackages: allow tlDeps to be a function, drop unused requiredTeXPackages 2026-05-23 14:05:23 +01:00
Vincenzo Mantova
41d265c82a texlive.withPackages: move withDocs, withSources from passthru to derivation arguments 2026-05-23 13:50:51 +01:00
nixpkgs-ci[bot]
d34930e274 Merge master into staging-next 2026-05-19 18:38:12 +00:00
Bernardo Meurer
735734474f buildRustCrate: add useClippy parameter to lint with clippy-driver
buildRustCrate calls rustc directly, so there is no built-in equivalent
of `cargo clippy`. The capLints doc already hints at the existing
workaround — overriding the `rust` attribute with a wrapper script that
sniffs argv for build_script_build and routes everything else to
clippy-driver. That works because clippy-driver IS rustc internally
(rustc_driver plus lint passes) and produces compatible rlibs and
metadata, but the wrapper is fragile and every downstream reinvents it.

Add a `useClippy` boolean (default false) that swaps the lib/bin/test
compilation to clippy-driver while keeping plain rustc for build.rs —
the same lib-vs-build-script split as extraRustcOptsForBuildRs, since
build scripts are typically auto-generated and clippy noise there is
not actionable. The clippy-driver binary comes from a new `clippy`
parameter, auto-filled from pkgs.clippy by callPackage and overridable
alongside `rust` for toolchain bundles that ship their own.

Implemented by introducing a RUSTC_DRIVER shell variable in
build-crate.nix that lib.sh's build_lib/build_bin consume; the
build_script_build path in configure-crate.nix never sees it.

Note that the default `capLints = "allow"` cap suppresses clippy lints
along with everything else, so `useClippy` is usually paired with
`capLints = "warn"` and `-W clippy::*`/`-D warnings` flags via
extraRustcOpts. Documented in the manual.

Test fixtures cover the three load-bearing properties: a denied clippy
lint fails the build (proving clippy-driver ran), the default capLints
silences clippy lints just like rustc lints, and an rlib emitted by
clippy-driver is link-compatible with a plain-rustc dependent.
2026-05-19 13:46:16 -04:00
Jörg Thalheim
c8abc5ea25 buildRustCrate: add extraRustcOptsForProcMacro (#512632) 2026-05-19 14:17:05 +00:00
Bernardo Meurer
127a52082d buildRustCrate: add extraRustcOptsForProcMacro
Proc-macro crates are host dylibs that rustc dlopen()s. Instrumentation
flags passed via extraRustcOpts (e.g. -Zsanitizer=address,
-Cinstrument-coverage) leave unresolved runtime symbols in those dylibs
and break the build. Cargo avoids this by not applying RUSTFLAGS to host
artifacts; buildRustCrate already has extraRustcOptsForBuildRs for build
scripts, so add the analogous knob for proc-macros.

Defaults to null, which falls back to extraRustcOpts so existing callers
are unchanged. Set to [] to opt proc-macros out when applying
sanitizer/coverage flags tree-wide via crateOverrides.
2026-05-19 14:09:04 +00:00
nixpkgs-ci[bot]
c2cc02a354 Merge master into staging-next 2026-05-17 18:22:52 +00:00
znmz
ff1f398de0 treewide: fix typos in all markdown files 2026-05-17 13:02:47 +03:00
nixpkgs-ci[bot]
167c482ea6 Merge master into staging-next 2026-05-14 00:41:55 +00:00
Gergő Gutyina
bc164958aa fetchPnpmDeps: deprecate fetcherVersion = 2, schedule removal for 26.11 (#518360) 2026-05-13 21:29:30 +00:00
K900
c11500a253 Merge remote-tracking branch 'origin/master' into staging-next 2026-05-12 22:39:18 +03:00
Ross Smyth
f37a177e1f doc: Encourage use of python3Packages rather than python3.pkgs 2026-05-12 12:16:15 -04:00
Sefa Eyeoglu
7d318dfe3b pnpm_11: init at 11.1.0
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2026-05-11 23:13:15 +02:00
Aliaksandr
f472a6385b fetchPnpmDeps: deprecate fetcherVersion = 2
Extend the existing v1 deprecation warning to also fire for
`fetcherVersion = 2`, since callers should migrate directly to
`fetcherVersion = 3`. Both pre-v3 versions now share a single
`lib.warnIf` keyed on `fetcherVersion < 3` and produce a message
parameterised by the offending version.

Consolidate the manual's version-history entries: the per-item
**Deprecated** and **Recommended** labels are replaced by a single
sentence above the list noting that v3 is recommended and v1/v2 are
scheduled for removal.

Add a release note mirroring the existing v1 entry.
2026-05-11 18:02:36 +03:00
nixpkgs-ci[bot]
137d10374d Merge staging-next into staging 2026-05-01 00:40:13 +00:00
Infinidoge
1224121bb4 maven: add fixed point evaluation to buildMavenPackage (#513696) 2026-04-30 22:27:36 +00:00
Benedikt Ritter
b04351ae41 maven: add fixed point evaluation to buildMavenPackage
This allows calling `buildMavenPackage` with a function that receives a
`finalAttrs` parameter, much like `stdenv.mkDerivation(finalAttrs: ...)`
works.
2026-04-30 14:17:46 +02:00
nixpkgs-ci[bot]
423d08b1ae Merge staging-next into staging 2026-04-29 12:34:51 +00:00
Pol Dellaiera
fdca1aecf6 doc: remove warning from php docs about composer bug (#514708) 2026-04-29 11:06:13 +00:00
Matt Sturgeon
f39576f2fe doc/python: document fixed-point arguments (#271387) (#477149) 2026-04-29 11:04:36 +00:00
Diogo Correia
70c6afab8c doc: remove warning from php docs about composer bug
See #451395
2026-04-29 11:41:35 +01:00
Doron Behar
f8f04a972e doc/python: simplify packageOverrides example 2026-04-29 08:55:46 +03:00
Doron Behar
bfa489d718 doc/python: explain better passthru note
Co-authored-by: Matt Sturgeon <matt@sturgeon.me.uk>
2026-04-29 08:55:46 +03:00
Doron Behar
7dfebf9c96 python.section.md: List finalAttrs.passthru only attributes 2026-04-29 08:55:46 +03:00
nixpkgs-ci[bot]
ca73e190c6 Merge staging-next into staging 2026-04-27 18:29:27 +00:00
Doron Behar
146bc8dcb2 doc/python: document fixed-point arguments (#271387) 2026-04-27 18:18:28 +03:00
Austin Horstman
72a716a79c docs/neovim: add plugin license notes
Explain how to set the license for a plugin that doesn't get detected.
2026-04-27 08:17:01 -05:00
nixpkgs-ci[bot]
3897d11ea5 Merge staging-next into staging 2026-04-26 18:16:05 +00:00
Aliaksandr
6b6d15b820 fetchPnpmDeps: deprecate fetcherVersion = 1, schedule removal for 26.11
fetcherVersion = 1 was kept around for backwards compatibility while
callers migrated to 2/3.

Emit a `lib.warnIf` warning pointing at the affected pname whenever v1
is used.

After 26.11 ships, a follow-up PR should drop 1 from
`supportedFetcherVersions` and clean up the dead v1 code paths in
default.nix, pnpm-config-hook.sh and serve.nix.

Also rewrite the manual section to recommend fetcherVersion = 3 for new
packages and mark v1 as deprecated/scheduled-for-removal in the
version history.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2026-04-26 18:39:08 +03:00
nixpkgs-ci[bot]
b23e6c6674 Merge staging-next into staging 2026-04-26 12:16:51 +00:00
Doron Behar
7add9a7657 yarn2nix: remove more mentions of it 2026-04-26 09:50:54 +03:00
Doron Behar
5794e1209a doc/beam: update docs for mixRelease frontend deps
Fixup to:
c4574a95c5
2026-04-26 09:47:40 +03:00
Doron Behar
effc9ce2e6 doc/javascript: update link to plausible example 2026-04-26 09:47:36 +03:00
nixpkgs-ci[bot]
b17737e3bc Merge staging-next into staging 2026-04-26 06:40:00 +00:00