Commit Graph

2825 Commits

Author SHA1 Message Date
Yueh-Shun Li
8cd8a5152e doc: add introduction to build helpers
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-11-07 19:58:54 +00:00
Yueh-Shun Li
9963ad5c5f doc: builders -> build helpers to reduce ambigualty 2023-11-07 19:58:53 +00:00
Yueh-Shun Li
70f21a2136 doc: darwin.linux-builder: replace "builder" with "remote builder" 2023-11-07 19:58:52 +00:00
Yueh-Shun Li
e58b71da99 doc: move section darwin-builder under chapter packages 2023-11-07 19:58:51 +00:00
Yueh-Shun Li
a12beafc57 doc: move doc/builders/packages -> doc/packages 2023-11-07 19:58:51 +00:00
Vincenzo Mantova
aca44fe219
texlive: document new texlive.withPackages interface (#265658) 2023-11-07 14:39:42 -05:00
Weijia Wang
8012034692 Merge branch 'staging-next' into staging 2023-11-07 03:41:49 +01:00
github-actions[bot]
38bc2a577e
Merge master into staging-next 2023-11-07 00:02:31 +00:00
Robert Hensing
b6193921d0
Merge pull request #264674 from teutat3s/fix-dockertools-prefetch-example
doc: fix dockerTools nix-prefetch-docker example
2023-11-06 17:12:33 +01:00
Adam Joseph
bc2d598878 treewide: change pythonForBuild to pythonOnBuildForHost 2023-11-05 17:42:12 -08:00
Andreas Fuchs
0cdbf88f83 doc: Add lib.meta to the library functions ToC
This seems like a pretty easy-to-fix oversight, and it documents the
getExe function, which I never knew about until one day I saw a PR
using it. Let's include it in the manual.
2023-11-04 11:24:19 -04:00
github-actions[bot]
5e4689f921
Merge staging-next into staging 2023-11-02 18:01:39 +00:00
github-actions[bot]
29efc257c0
Merge master into staging-next 2023-11-02 18:01:07 +00:00
Valentin Gagarin
9a49f0cb28
document differences to built-in fetchers (#263569)
* document differences to built-in fetchers

Co-authored-by: Alexander Groleau <source@proof.construction>
2023-11-02 18:27:39 +01:00
Valentin Gagarin
3b5b8e31a3 fixup note on dhall-to-nixpkgs example 2023-11-02 17:38:03 +01:00
github-actions[bot]
2999b3c997
Merge staging-next into staging 2023-11-01 18:01:31 +00:00
github-actions[bot]
cd7af6170b
Merge master into staging-next 2023-11-01 18:01:01 +00:00
Dmitry Kalinkin
ec2e217c52
Merge pull request #250805 from xworld21/texlive-buildenv-minimal
texlive: overrideTeXConfig/withPackages
2023-11-01 13:29:10 -04:00
teutat3s
e75c485fd3
doc: fix dockerTools nix-prefetch-docker example 2023-10-31 22:40:21 +01:00
Anderson Torres
54f864f5c5 doc: update meson.section.md 2023-10-30 16:32:56 -03:00
Vladimír Čunát
5c89ba8ab4
Merge branch 'master' into staging-next 2023-10-30 06:12:04 +01:00
Matthieu Coudron
f15e58cbeb
luarocks-packages-update: init (#262156)
* luarocks-packages-updater: init

Goal is to make it possible to maintain out-of-tree luarocks packages
without needing to clone nixpkgs.

maintainers/scripts/update-luarocks-packages gets renamed to
pkgs/development/lua-modules/updater/updater.py

Once merged you can run for instance
nix run nixpkgs#luarocks-packages-updater -- -i contrib/luarocks-packages.csv -o contrib/generated-packages.nix

I also set the parallelism (--proc) to 1 by default else luarocks fails
because of https://github.com/luarocks/luarocks/issues/1540

* Update maintainers/scripts/pluginupdate.py

Co-authored-by: Marc Jakobi <mrcjkb89@outlook.com>

---------

Co-authored-by: Marc Jakobi <mrcjkb89@outlook.com>
2023-10-29 21:02:55 +01:00
github-actions[bot]
519b7ea0c3
Merge master into staging-next 2023-10-28 12:01:19 +00:00
Eirik Wittersø
2fd6af1929 fetchFromBittorrent: Rename to fetchtorrent 2023-10-28 11:32:10 +01:00
Weijia Wang
0fdb1ee374 doc: fix heading of mesonInstallTags 2023-10-27 16:59:43 +02:00
github-actions[bot]
08be9a9577
Merge master into staging-next 2023-10-26 12:01:25 +00:00
Valentin Gagarin
643419f02b
Merge pull request #258595 from fricklerhandwerk/doc-emscripten
Emscripten docs: reword and remove mention of `nix-env`
2023-10-26 13:34:15 +02:00
Vladimír Čunát
d811555465
Merge branch 'staging' into staging-next 2023-10-26 10:36:50 +02:00
Stel Abrego
5452afb039 doc: use lib.fakeHash with buildGoModule to get vendorHash
lib.fakeSha256 results in `error: hash <fake_hash> does not include a
type, nor is the type otherwise known from context`.
2023-10-24 14:47:23 -07:00
Florian Klink
87896bfdd1
Merge pull request #261798 from blitz/systemd-minimization
Avoid Two Sets of systemd Binaries in System Closure
2023-10-24 18:51:28 +03:00
Silvan Mosberger
200aa0366f
Merge pull request #262301 from ShamrockLee/doc-lib-customisation
Generate and refine documentation for `lib.customisation`
2023-10-24 02:38:34 +02:00
github-actions[bot]
df9eab6771
Merge staging-next into staging 2023-10-23 00:03:00 +00:00
Jade Lovelace
0504bc63e4
doc/stdenv: rewrite manual build procedure to be closer to an auto-build (#262137)
* doc/stdenv: rewrite manual build procedure to be closer to an auto-build

This is based on
<https://jade.fyi/blog/building-nix-derivations-manually/> plus some
more original research.

The previous version of this section did not work for your choice of
simple Haskell package, e.g. haskellPackages.hscolour, due to things
like `compileBuildDriverPhase` and other custom phases that it
does not address at all.

It seems more correct to use genericBuild in development to harmonize it
with what is actually done.

I feel a little bit like I am committing a sin by suggesting using the
experimental CLI in the manual (afaict I am the first to do this), but I
have given the old version of the command, and there are justifiable
reasons to do it:
* The noted limitations with env-vars are fixed. The one with the
  non-empty temp directory was one I ran into myself and oh boy was that
  not fun to debug.
* Additionally the outputs are set *before* sourcing `setup.sh`: there
  is an issue with nix-shell where the original version of `$out` winds
  up in `NIX_LDFLAGS` due to _addRpathPrefix, which means that resulting
  executables may not run properly.

It is sad that `nix develop` propagates a wrong value of `SHELL` to
builders, though. It is equally sad that `nix-shell` is essentially
abandoned upstream, with undocumented and not insignificant differences
from `nix develop`.

For the exact script differences:
17e6b85d05/src/nix-build/nix-build.cc (L516-L551)
db026103b1/src/nix/get-env.sh

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-10-23 01:53:23 +02:00
Julian Stecklina
36eff4f431 meson: introduce mesonInstallTags
Projects building with meson are currently installTargets. Map these
to install tags, which are roughly equivalent. This allows projects to
selectively install components.
2023-10-23 01:46:24 +02:00
github-actions[bot]
09fabcdc4e
Merge staging-next into staging 2023-10-22 00:03:08 +00:00
Maciej Krüger
b465d339b3
Merge pull request #231483 from hacker1024/feature/flutter-on-dart
buildFlutterApplication: Wrap buildDartApplication
2023-10-21 23:42:02 +02:00
github-actions[bot]
f4afba2014
Merge staging-next into staging 2023-10-21 18:01:53 +00:00
Alyssa Ross
31ebe7b459 doc: fix heading levels of Meson hook documentation
Fixes: 10f35ff05d ("meson.setupHook: prefer meson commands over ninja")
2023-10-21 15:26:27 +00:00
Martin Weinelt
7efc0b2418 doc/python: mention python313 2023-10-21 16:18:27 +02:00
hacker1024
6298ac2774 buildDartApplication: Use package override mechanism from buildFlutterApplication
This allows Dart applications to benefit from the package override system, which is useful for things like FFI dependencies.
2023-10-21 22:30:23 +11:00
Yueh-Shun Li
a8d5d2f207 doc: generate documentation for lib.customisation 2023-10-20 20:58:47 +08:00
github-actions[bot]
fe1d100fb0
Merge staging-next into staging 2023-10-19 12:01:37 +00:00
Robert Hensing
4b5b27c7ca
Merge pull request #260770 from hercules-ci/darwin-builder-observable
`darwin.linux-builder`: Make more observable
2023-10-19 13:26:22 +02:00
github-actions[bot]
c12ce83e4e
Merge staging-next into staging 2023-10-18 18:01:38 +00:00
matthewcroughan
b289b43bf8 fetchFromBittorrent: init
Adds a basic FOD Fetcher for Bittorrent that uses Transmission as a client

Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-10-18 14:07:42 +01:00
github-actions[bot]
ba519bf3b1
Merge staging-next into staging 2023-10-17 00:02:46 +00:00
Silvan Mosberger
4fe863a485
Merge pull request #251190 from alejandrosame/docs-mention-nrd
doc manuals: add reference to nixos-render-docs
2023-10-16 20:05:56 +02:00
Robert Hensing
508c310222 darwin.linux-builder: Expose nixosConfig and nixosOptions attributes
I chose not to do nixos.{config, options} because that would make it
look too much like a configuration object, which it is not.

A configuration object I would define as for example the result of
calling NixOS, an attrset with `_type = "configuration";`.

Recreating a configuration object without evalModules is quite
feasible but not guaranteed to be correct, and not maintainable.
2023-10-12 23:10:41 +02:00
github-actions[bot]
e7a4ca9630
Merge staging-next into staging 2023-10-10 00:02:44 +00:00
Valentin Gagarin
61fa1255f8 link to documentation on IFD in the Nix manual 2023-10-09 23:57:03 +02:00
Alyssa Ross
10f35ff05d meson.setupHook: prefer meson commands over ninja
Meson now comes with its own set of commands for building, testing,
installing etc., that by default wrap around Ninja.  The reason to
prefer using the Meson commands is that they take additional
options (e.g. setting custom timeouts for tests — my motivation for
this change).

Here, I've modified the Meson setup hook so that Meson's test and
install commands will be used instead of Ninja's when Meson's
configurePhase is used.  This restriction is to avoid starting to run
Meson directly when dealing with custom build systems that wrap around
Meson, like QEMU's.  We don't use meson's compile command, as it just
runs ninja, and that's handled fine by the existing Ninja setup hook.

Naturally the Meson commands don't support entirely the same set of
options that the Ninja ones did, but I checked through Nixpkgs to find
any packages using Meson that used any options that wouldn't be picked
up by this new system.  I only found one, and it was just setting
checkTarget = "test", which is the default value for Ninja and has no
Meson equivalent (because we directly tell Meson to run the tests
rather than going through a generic job system like Ninja).

Link: https://github.com/NixOS/nixpkgs/issues/113829
Co-authored-by: Jan Tojnar <jtojnar@gmail.com>
2023-10-09 10:21:36 +00:00
Doron Behar
d090cd9af4
Merge pull request #258384 from doronbehar/buildNpmPackage-makeWrapperArgs
buildNpmPackage: support makeWrapperArgs
2023-10-08 12:38:33 +03:00
Vincenzo Mantova
a06e07539e texlive: document new texlive.pkgs attribute 2023-10-07 18:49:19 +01:00
Doron Behar
fc96f6d0fd buildNpmPackage: support makeWrapperArgs 2023-10-07 14:09:05 +03:00
Doron Behar
d6521ce186 docs/javascript/buildNpmPackage: Document fetchNpmDeps
Co-authored-by: Lily Foster <lily@lily.flowers>
2023-10-07 14:09:05 +03:00
Doron Behar
384b1e5b91 docs/javascript/buildNpmPackage: Document bin, man and npm pack behavior 2023-10-07 14:09:05 +03:00
github-actions[bot]
2d9bfd243a
Merge master into haskell-updates 2023-10-04 00:12:08 +00:00
Matthieu Coudron
47d0a0c440
Merge pull request #253714 from teto/vim-updater-package 2023-10-03 15:55:44 +02:00
github-actions[bot]
ea0284a3da
Merge master into haskell-updates 2023-10-03 00:12:01 +00:00
Valentin Gagarin
b2f526526a emscripten docs: reformat examples to use admonition
that way the examples will also appear in the appendix

Co-authored by: Henrik Karlsson <i97henka@gmail.com>
2023-10-03 00:45:18 +02:00
Valentin Gagarin
dd54e58c94 emscripten docs: reword introduction
in particular, remove mention of `nix-env`

Co-authored by: Henrik Karlsson <i97henka@gmail.com>
2023-10-03 00:45:18 +02:00
Lorenzo Manacorda
b19e9bebdc doc: minimal documentation of supported platforms
This commit adds minimal documentation of the supported platforms.
More exhaustive documentation would require producing a list of
platforms for each of the 7 tiers. This was attempted in #245368, but it
quickly became clear that that would be a long-term effort.

In the meantime, this commit adds the most important information to the
manual.

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-10-02 21:21:56 +02:00
Matthieu Coudron
901b21c555 vimPluginsUpdater: init
The nixpkgs documentation mentions how to update out of tree plugins but
one problem is that it requires a nixpkgs clone.
This makes it more convenient.
I've had the need to generate vim plugins and lua overlays for other
projects unrelated to nix and this will make updates easier (aka just
run `nix run nixpkgs#vimPluginsUpdater -- --proc=1` or with the legacy commands:
`nix-shell -p vimPluginsUpdater  --run vim-plugins-updater`.

I added an optional "nixpkgs" argument to command line parser, which is the path
towards a nixpkgs checkout. By default the current folder.

update-luarocks-packages: format with black
2023-10-01 17:30:55 +02:00
mdarocha
f1cc116e3d buildDotnetModule: make docs more clear on how to generate nugetDeps for the first time 2023-09-30 13:21:36 +02:00
github-actions[bot]
c0831fce32
Merge master into haskell-updates 2023-09-30 00:11:44 +00:00
Alejandro Sánchez Medina
cbd1748558
nixpkgs manual: add an alternative example in stdenv-separateDebugInfo (#257861)
* nixpkgs manual: add an alternative example in stdenv-separateDebugInfo

This change gets rid of the indirect reference to `nix-env -i` usage
and shows how to achieve the same goal with a shell expression.

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-09-29 10:23:22 +02:00
github-actions[bot]
23bb2be564
Merge master into haskell-updates 2023-09-29 00:11:52 +00:00
Peder Bergebakken Sundt
470614b671 treewide: Fix typos 2023-09-28 19:06:13 +02:00
github-actions[bot]
6982839dbf
Merge master into haskell-updates 2023-09-28 00:12:12 +00:00
Matthieu Coudron
0ab2c96429 vimUtils: buildVimPluginFrom2Nix renamed to buildVimPlugin
the `from2Nix` suffix is a legacy from vim2nix but we dont use that anymore. It makes the name of the function unusual and long.
2023-09-27 19:08:38 +02:00
Felix Yan
8ac0795c1f doc: fix wrong flag in description of bindnow
`-z bindnow` doesn't exist. The actual flag added is `-z now`.
2023-09-27 09:59:56 -03:00
github-actions[bot]
a1486d7898
Merge master into haskell-updates 2023-09-26 00:11:53 +00:00
Valentin Gagarin
fba19509b1 use nix-shell -p for dhall-to-nixpkgs example 2023-09-25 17:00:55 +02:00
Valentin Gagarin
370097ce86
remove the misleading warning on using nix-env for split outputs (#255947)
The text was originally added [0] following an apparently incomplete
research on how everything plays together. In fact, Nix propagates
`outputs` to the corresponding nested derivations, and there is some
messy behavior in Nixpkgs that only seems to propagate
`meta.outputsToInstall` in `buildEnv`[1].

This change moves the hints on how to use NixOS specifics to NixOS
module documentation (which is hopefully easier to find through
search.nixos.org), describes the default behavior in Nixpkgs (updating
a the link to the source), and removes the confusing mention of
`nix-env`.

the last of them should not be there to begin with. we don't want
beginners to use `nix-env`, as this is known to run them into trouble
eventually.

[0]: https://github.com/NixOS/nixpkgs/pull/76794
[1]: 1774d07242/pkgs/build-support/buildenv/default.nix (L66)
2023-09-25 16:23:01 +02:00
Frederik Rietdijk
f4822bb295
Merge pull request #254309 from pbsds/flit-prune
python3Packages.flitBuildHook: remove
2023-09-25 11:34:15 +02:00
github-actions[bot]
979ae655ed
Merge master into haskell-updates 2023-09-25 00:12:21 +00:00
Alejandro Sánchez Medina
ade134ecd1
nixpkgs manual: doc python: add hyperlinks to Python section (#252156)
* nixpkgs manual: doc python: add hyperlinks to Python section

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-09-24 19:13:18 +02:00
Artturin
70aa345bec doc/python: use python3Packages instead of python3.pkgs
Allows splicing to work correctly

from issue 211340

>> 3: Discourage using package sets like python3.pkgs "directly"

> I think about 8 years ago I introduced this and it has been a clear mistake. Since then this pattern was copied throughout. We should indeed go to pythonPackages and also move the helpers such as buildEnv and withPackages into the package set, like haskell already had before.

- FRidh
2023-09-23 07:57:07 +03:00
github-actions[bot]
c7e7b8497d
Merge master into haskell-updates 2023-09-23 00:11:31 +00:00
Peder Bergebakken Sundt
bdda7b0a53 python3Packages.flitBuildHook: remove 2023-09-22 21:11:24 +02:00
Anderson Torres
c1b3bfba4f doc: include short docs about bmake 2023-09-22 01:38:23 -03:00
github-actions[bot]
8d865daa72
Merge master into haskell-updates 2023-09-22 00:11:39 +00:00
Robert Hensing
5c97f01a9d
Merge pull request #255025 from tweag/fileset.union
`lib.fileset.union`, `lib.fileset.unions`: init
2023-09-21 11:49:57 +02:00
github-actions[bot]
5c87b0f672
Merge master into haskell-updates 2023-09-21 00:11:46 +00:00
Silvan Mosberger
c5ae093f13 lib.fileset: Various updates relating to union/unions
Also some minor formatting improvements
2023-09-21 00:21:01 +02:00
maralorn
a4f9ea332a
haskell-docs: Fix typo in function name 2023-09-20 19:44:16 +02:00
Wout Mertens
00de2104fc corepack: PR review updates
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Co-authored-by: Sandro Jaeckel <sandro.jaeckel@gmail.com>
2023-09-20 17:27:05 +02:00
Wout Mertens
724f6bcb77 nodejs: corepack wrappers package 2023-09-20 10:10:51 +02:00
Robert Hensing
2999014a5f
Merge pull request #255916 from fricklerhandwerk/doc-runcommand
rewrite `runCommand` interface docs
2023-09-18 19:42:17 +02:00
Valentin Gagarin
35d066de5f rewrite runCommand interface docs
specifically this corrects the misleading statement that `env` takes
environment variables for the derivation.
2023-09-18 17:47:47 +02:00
Valentin Gagarin
e2c2528075
BEAM docs: recommend nix-shell -p and shell.nix instead of nix-env (#255131)
* BEAM docs: recommend `nix-shell -p` and `shell.nix` instead of `nix-env`

Co-authored-by: asymmetric <lorenzo@mailbox.org>
2023-09-18 16:34:30 +02:00
Mario Rodas
3b1f3712a4
Merge pull request #255128 from PuercoPop/ruby-document-extraConfigPaths
ruby: document extraConfigPaths option from bundlerEnv
2023-09-15 08:13:32 -05:00
Maciej Krüger
7b737acb4a
Merge pull request #254967 from nbraud/sha256-to-hash/top-level 2023-09-15 14:36:49 +02:00
Weijia Wang
0cfc319f83 fetchDebianPatch: Require patch names with extensions
Otherwise the fetcher is unuseable with patches
whose filename (in Debian) doesn't end in `.patch`.
2023-09-14 18:55:30 +00:00
Frederik Rietdijk
53dd1a6edb
Merge pull request #254136 from figsoda/python
python310Packages.buildPythonPackage: introduce pyproject option
2023-09-14 18:33:49 +02:00
asymmetric
52351762b7
doc: remove mention of X11 license variant (#255081)
The Nixpkgs license is pure MIT.
2023-09-14 18:08:25 +02:00
asymmetric
b414f942e0
doc: link, instead of just mentioning, Nix manual (#255126)
Instead of just telling the reader to go find the relevant section of the Nix
manual, let's just link to it. Yay hypertext!
2023-09-14 17:09:39 +02:00
Maximilian Ehlers
a29cf4aece
Link to usage of pkg description instead of referring to nix-env (#255127)
* Updates meta.chapter.md with a reference link to the usage of the package description field instead of referring to nix-env

---------

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-09-14 16:59:20 +02:00
Javier Olaechea
fbe107fd5c ruby: document extraConfigPaths option from bundlerEnv 2023-09-14 09:46:07 -05:00
Elis Hirwing
350cac13cf
Merge pull request #248184 from NixOS/php/add-new-builder-only
php: add new Composer builder
2023-09-14 07:50:27 +02:00