Commit graph

15848 commits

Author SHA1 Message Date
John Ericson 14c26d642e Clean up two comments 2023-12-03 18:57:16 -05:00
John Ericson 6e0656c66c Add another configure flag assertion 2023-12-03 18:53:05 -05:00
John Ericson 7e2b1cce6a Slap on perl-bindings in the caller
The Perl bindings are not part of Nix, but a downstream package, so they
don't belong in `package.nix`.

They don't really belong as an attribute on `nix` either, but we can
just leave that interface as is for now.
2023-12-03 18:48:26 -05:00
John Ericson a5a45e64e1 Don't expose file sets anymore 2023-12-03 18:45:15 -05:00
John Ericson f58615518c Add documenting comments to package.nix 2023-12-03 18:39:33 -05:00
John Ericson 77003a4f0c Factor out the installer script 2023-12-03 18:29:15 -05:00
John Ericson 60fe4ddaa1 Expose boehmgc-nix in overlay 2023-12-03 18:26:51 -05:00
John Ericson e275f0adfb Move binary-tarball.nix to scripts dir 2023-12-03 18:16:07 -05:00
John Ericson 7a7ad7c84b Remove uneeded file 2023-12-03 18:14:36 -05:00
John Ericson c160c62515 Fix underlying build system so --disable-build works better
- Internal API docs once again work

- configure skips checks for a bunch of things it doesn't need
2023-12-03 18:12:22 -05:00
John Ericson 7b51086d73 More fixes 2023-12-03 18:12:05 -05:00
John Ericson c71d987553 Fix incorrect flag name 2023-12-03 17:12:38 -05:00
John Ericson c9838bb9ee Merge remote-tracking branch 'upstream/master' into package-nix 2023-12-03 17:12:28 -05:00
John Ericson 3d47e02483 WIP 2023-12-03 16:48:50 -05:00
John Ericson ce598bae14 WIP 2023-12-03 14:10:09 -05:00
John Ericson 0ca49b0c86 Add installing unit test flags 2023-12-03 12:47:54 -05:00
Jacek Galowicz 19d41fb20a Fix stuff 2023-12-02 17:25:47 +00:00
Jacek Galowicz 118fa9689a Create internal-api-docs.nix 2023-12-02 16:42:01 +00:00
Jacek Galowicz ca59832808 Fix coverage.nix 2023-12-02 16:36:59 +00:00
Jacek Galowicz 2c3749a335 Fix cross builds 2023-12-02 16:08:06 +00:00
Théophane Hufschmitt cd0d4e4d47
Merge pull request #9524 from fricklerhandwerk/fix-docs-errors
fix random docs errors
2023-12-02 07:36:05 +01:00
Valentin Gagarin 368fdb482d reword description of the builders-use-substitutes setting 2023-12-02 03:07:27 +01:00
Valentin Gagarin 24b781773f fix random docs errors
remove link to the contributing guide from user documentation.
it doesn't help here, and the target at first glance shows redundant
information.
2023-12-02 03:02:59 +01:00
Valentin Gagarin 51adfb9b27 reword documentation on settings and attributes related to substitution
- add links
- be more concise
- clarify the distinction between `preferLocalBuild` and `allowSubstitutes`
2023-12-02 02:56:25 +01:00
Valentin Gagarin 59c4c82aeb fix links in stores overview 2023-12-02 00:56:41 +01:00
John Ericson 7355a48b1a flake.lock: Update Nixpkgs to fix static build
The problem was since switching to use libgit2, we had a package in our
closure (`http-parser`) that was always trying to build as a shared
object.

Underlying Nixpkgs PR (a 23.05 backport)
https://github.com/NixOS/nixpkgs/pull/271202

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9ba29e2346bc542e9909d1021e8fd7d4b3f64db0' (2023-11-13)
  → 'github:NixOS/nixpkgs/36c4ac09e9bebcec1fa7b7539cddb0c9e837409c' (2023-11-30)
2023-12-01 15:59:41 -05:00
Robert Hensing 84fe429dfd
Merge pull request #8886 from obsidiansystems/flatten-tests
Move unit tests to separate directories, and document
2023-12-01 17:14:38 +01:00
John Ericson 91b6833686 Move tests to separate directories, and document
Today, with the tests inside a `tests` intermingled with the
corresponding library's source code, we have a few problems:

- We have to be careful that wildcards don't end up with tests being
  built as part of Nix proper, or test headers being installed as part
  of Nix proper.

- Tests in libraries but not executables is not right:

  - It means each executable runs the previous unit tests again, because
    it needs the libraries.

  - It doesn't work right on Windows, which doesn't want you to load a
    DLL just for the side global variable . It could be made to work
    with the dlopen equivalent, but that's gross!

This reorg solves these problems.

There is a remaining problem which is that sibbling headers (like
`hash.hh` the test header vs `hash.hh` the main `libnixutil` header) end
up shadowing each other. This PR doesn't solve that. That is left as
future work for a future PR.

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-12-01 10:48:58 -05:00
Robert Hensing 77adb55ae4
Merge pull request #9511 from obsidiansystems/add-missing-includes
Add two missing `#include "nar-info.hh"`
2023-12-01 16:43:56 +01:00
John Ericson d59bdbe4fd Add two missing #include "nar-info.hh"
GitHub's racy CI caused this oversight to sneak through.
2023-12-01 10:20:19 -05:00
John Ericson ac4d2e7b85
Merge pull request #9478 from tweag/nix-config-check
Rename `nix doctor` to `nix config check`
2023-12-01 10:19:19 -05:00
Théophane Hufschmitt dfa219d03b
Merge pull request #9494 from sellout/nix-run-execv
Don’t use `execvp` when we know the path
2023-12-01 16:07:16 +01:00
Robert Hensing fcf09813c6
Merge pull request #6236 from obsidiansystems/store-dir-config
Factor out `StoreDirConfig`
2023-12-01 15:38:14 +01:00
Théophane Hufschmitt ea2dd16623 Use a proper enum rather than a boolean in runProgramInStore
Makes the call-site much easier to understand.
2023-12-01 15:35:21 +01:00
John Ericson 82359eba6b
Merge pull request #9233 from bouk/bouk/apply-config-inner
config: add included files into parsedContents before applying
2023-12-01 08:23:32 -05:00
Jacek Galowicz eff9b12bc2 Further changes 2023-12-01 11:25:22 +00:00
Robert Hensing 188c803ddb
Merge pull request #9508 from infinisil/revert-7762-boost-regex
Revert "Switch from std::regex to boost::regex"
2023-12-01 02:08:58 +01:00
Valentin Gagarin d5e934fb73 add redirect to new store page 2023-12-01 01:54:48 +01:00
Silvan Mosberger 333ea684b0 Add boost::regex regression test 2023-12-01 01:39:52 +01:00
Valentin Gagarin 4781e7fa70 Document each store type on its own page
This makes for more useful manual table of contents, that displays the
information at a glance.

The `nix help-stores` command is kept as-is, even though it will show up
in the manual with the same information as these pages due to the way it
is written as a "`--help`-style" command. Deciding what to do with that
command is left for a later PR.

This change also lists all store types at the top of the respective overview page.

Co-authored-by: John Ericson <John.Ericson@Obsidian.Systems
2023-12-01 01:27:52 +01:00
Silvan Mosberger 908a011a4a
Revert "Switch from std::regex to boost::regex" 2023-12-01 00:50:20 +01:00
Valentin Gagarin 02d9cf2d30 shorten the quick start chapter
this focuses on `nix-shell -p` and refers to search.nixos.org for
package search, which is currently the easiest and most effective way to
find program names.
2023-12-01 00:42:34 +01:00
Jacek Galowicz f55ee7cf77 little refactoring 2023-11-30 22:53:46 +00:00
Jacek Galowicz c64190e650 Run statix 2023-11-30 22:53:46 +00:00
Jacek Galowicz c982198485 First step 2023-11-30 22:48:44 +00:00
Valentin Gagarin 0301b8fc73 reword the experimental feature notice
- put the highlight box around all the relevant instructions
- simplify the wording
- make the link more prominent by using the whole phrase for the link text
2023-11-30 23:24:53 +01:00
Valentin Gagarin 39de819eda rename debugging helper environment variable 2023-11-30 23:23:32 +01:00
Valentin Gagarin cab41025d8
mention renaming of nix doctor 2023-11-30 23:04:05 +01:00
John Ericson 2fe7e009bb
Merge pull request #9502 from fricklerhandwerk/internal-lookup-paths
use lookup paths in helper expressions consistently
2023-11-30 16:23:24 -05:00
Eelco Dolstra 8cafc754d8 Move access control from FSInputAccessor to FilteringInputAccessor 2023-11-30 21:54:53 +01:00