Commit Graph

6205 Commits

Author SHA1 Message Date
John Ericson
6d0b3086f7
Merge pull request #214304 from obsidiansystems/pkg-config-meta
meta.pkgConfigModules: Init convention
2023-02-06 11:44:29 -05:00
github-actions[bot]
51cb32c692
Merge master into staging-next 2023-02-05 18:01:22 +00:00
milahu
d1bb936cf7
symlinkJoin: print warning when keeping existing file 2023-02-05 09:58:20 +01:00
github-actions[bot]
cb231fb28d
Merge master into staging-next 2023-02-05 06:01:18 +00:00
Robert Schütz
f402501c2c
Merge pull request #213485 from dotlambda/opentsdb-2.4.1
opentsdb: 2.4.0 -> 2.4.1
2023-02-04 19:09:01 -08:00
Vladimír Čunát
d0d8c15bad
Merge branch 'master' into staging-next
pkgs/development/web/nodejs/v18.nix conflict:
  the fetched patch was already included in this release.
2023-02-03 23:02:19 +01:00
John Ericson
6e4a1b18d9 meta.pkgConfigModules: Init convention
See docs.

Follow-up work:

- Existing packages should be converted

- `defaultPkgConfigPackages` should assert on `meta.pkgConfigModules`
  and let `tests.pkg-config` alone test the build results.

CC @sternenseemann

Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-02-03 09:37:31 -05:00
Ulrik Strid
f12b9ea461 buildDunePackage: default to strictDeps = true 2023-02-03 08:59:34 +01:00
Ulrik Strid
c53a63adf1 ocamlPackages treewide: strictDeps all packages 2023-02-03 08:59:34 +01:00
Robert Schütz
0bc28dafcd fetchMavenArtifact: add classifier to filename 2023-02-02 19:23:58 -08:00
github-actions[bot]
fffb187b8e
Merge master into staging-next 2023-02-02 12:01:33 +00:00
Johannes Kirschbauer
a2780dc543
Docs/fix: make doc-strings nixdoc compliant (#213570)
* re-format all doc-strings to make them nixdoc compliant

* reformat comments to make them markdown-renderable
2023-02-02 11:20:02 +01:00
github-actions[bot]
ba176ec75c
Merge staging-next into staging 2023-02-01 06:01:40 +00:00
superherointj
bc1b9307e7
Merge pull request #212303 from amjoseph-nixpkgs/pr/build-rust-crate/ilp32
build-rust-crate: handle ILP32 platforms correctly
2023-01-31 23:48:22 -03:00
Robert Scott
117178971a
Merge pull request #212678 from impl/libredirect-wrappers
libredirect: add more wrappers
2023-01-31 22:35:19 +00:00
zowoq
c6d203467a buildRustPackage: drop cacert
not needed here, set by fetchCargoTarball
2023-02-01 06:53:43 +10:00
linsui
9bc4f34034 cargo: move cert info to fetch-cargo-tarball
As proposed in https://github.com/NixOS/nixpkgs/pull/82496, we should only set the related env vars for the fetcher instead of breaking the function of cargo itself.
2023-02-01 06:53:43 +10:00
github-actions[bot]
9f7ab547e6
Merge staging-next into staging 2023-01-31 18:02:01 +00:00
Artturi
7b0e7c6988
Merge pull request #213768 from Artturin/unamemisingspace 2023-01-31 16:02:27 +02:00
Artturin
c4597fef1d deterministic-uname: add missing whitespace 2023-01-31 14:55:11 +02:00
github-actions[bot]
645af55243
Merge staging-next into staging 2023-01-30 12:01:57 +00:00
github-actions[bot]
1a06f52c21
Merge master into staging-next 2023-01-30 12:01:22 +00:00
Robert Hensing
b6bec17eb9 testers.hasPkgConfigModule: Extract and add tests, docs 2023-01-30 00:35:34 +01:00
Sergei Trofimovich
6b832b5332 build-support/cc-wrapper: revert "pass in non-existent --sysroot= to untangle from libc"
This reverts commit 8c80bd08b7
("build-support/cc-wrapper: pass in non-existent --sysroot= to untangle
from libc").

This change was good in spirit: we caught a few genuine problems with
`scons` based packages (`godot`, `fluxus`) and unexpected `-idirafter`
includes in various boot loadres (`ipxe`, wimboot`):

    https://github.com/NixOS/nixpkgs/pull/210004#issuecomment-1407162693

Unfortunately `--sysroot=` also has a negative impact on libary search
order for DT_NEEDED libraries and RUNPATHs of linked libraries. This
unexpectedly broke `dmd`, `d-seams`, `llvmPackages_rocm.compiler-rt`).

An interesting case of unexpected breakage is `usbmuxd2` where the bug
exposed incomplete library move on `libstdc++fs` in `gcc`.

The library breakage is very non-intuitive (on top of already unusual
layout of `cc-wrapper` driver). Let's revert this change for now.

Once it lands we can undo `--sysroot=/` workarounds merged for
`staging-next`.
2023-01-29 07:49:37 +00:00
github-actions[bot]
fa361440fc
Merge staging-next into staging 2023-01-28 12:01:44 +00:00
Sergei Trofimovich
4763533cca build-support/cc-wrapper: add libstdc++fs into default library path for clang
After https://github.com/NixOS/nixpkgs/pull/210004 `usbmuxd2` started
failing to build as:

    usbmuxd2-unstable> .../ld: cannot find -lstdc++fs: No such file or directory
    usbmuxd2-unstable> clang-11: error: linker command failed with exit code 1 (use -v to see invocation)

This started happening because #210004 exposed a long-standing bug in
`gcc` derivation: `cc.lib` is missing `libstdc++fs` library:

    $ find $(nix-build --no-link -A stdenv.cc.cc.lib) | fgrep libstdc | unnix

    /<<NIX>>/gcc-11.3.0-lib/lib/libstdc++fs.la

    /<<NIX>>/gcc-11.3.0-lib/lib/libstdc++.la
    /<<NIX>>/gcc-11.3.0-lib/lib/libstdc++.so.6.0.29
    /<<NIX>>/gcc-11.3.0-lib/lib/libstdc++.so
    /<<NIX>>/gcc-11.3.0-lib/lib/libstdc++.so.6

It was not moved from `cc.out` output:

    $ find $(nix-build --no-link -A stdenv.cc.cc) | fgrep libstdc | unnix
    /<<NIX>>/gcc-11.3.0/lib/libstdc++.a
    /<<NIX>>/gcc-11.3.0/lib/libstdc++fs.a

This change adds `cc` library lookup path back to `staging-next` until
`gcc` is fixed.`
2023-01-28 07:30:33 +00:00
github-actions[bot]
e11b11e738
Merge staging-next into staging 2023-01-27 12:01:56 +00:00
github-actions[bot]
92b7725154
Merge master into staging-next 2023-01-27 12:01:22 +00:00
Noah Fontes
2cfe8451ed
libredirect: add tests for new wrappers 2023-01-26 12:06:46 -08:00
Sandro Jäckel
5ce647b8bf
buildGoModule: forward prePatch, postPatch and postBuild to vendoring
to be more prediactable
2023-01-26 17:08:55 +01:00
Noah Fontes
eb620ff9f7
libredirect: add more wrappers
This appears to satisfy the JVM and most coreutils programs like mkdir,
etc., as used in self-contained installers like Revenera
InstallAnywhere.
2023-01-25 14:39:22 -08:00
Artturi
e42cdd2383
Merge pull request #212286 from Artturin/runonall
make-symlinks-relative: run on all outputs
2023-01-25 15:51:53 +02:00
github-actions[bot]
588d9ab6e2
Merge staging-next into staging 2023-01-25 12:02:09 +00:00
github-actions[bot]
20df8d00cc
Merge master into staging-next 2023-01-25 12:01:34 +00:00
Nick Cao
0ea2d480e4
postgresqlTestHook: run postgresqlTestSetupPost hook after setting up 2023-01-25 18:46:27 +08:00
github-actions[bot]
c471a30584
Merge staging-next into staging 2023-01-25 00:02:54 +00:00
github-actions[bot]
c47e4b69a3
Merge master into staging-next 2023-01-25 00:02:20 +00:00
Alyssa Ross
2ae30c9f45 llvmPackages: use libcxxrt on FreeBSD
FreeBSD doesn't use LLVM's cxxabi implementation, for backwards
compatibility reasons.  Software expects the libcxxrt API when
building on FreeBSD.  This fixes the build of
pkgsCross.x86_64-freebsd.boost.
2023-01-24 21:18:39 +00:00
github-actions[bot]
8aee205b0c
Merge staging-next into staging 2023-01-24 12:01:46 +00:00
Vladimír Čunát
411405c9f6
Merge branch 'master' into staging-next
Trivial conflict in release notes, except that the xml/docbook parts
are horrible for (semi-)automatic conflict resolution.
Fortunately that's generated anyway.
2023-01-24 12:22:38 +01:00
Uri Baghin
619ba04b87 buildBazelPackage: make bazel explicit 2023-01-24 19:30:20 +11:00
Sandro
46d29bdaec
Merge pull request #207294 from happyalu/staging 2023-01-24 00:02:25 +01:00
John Ericson
8240bc77e8
Merge pull request #212275 from alyssais/libdl
treewide: remove -ldl linker flags
2023-01-23 16:28:21 -05:00
Adam Joseph
eb98fefe24 build-rust-crate: handle ILP32 platforms correctly
This commit corrects the value of `CARGO_CFG_TARGET_POINTER_WIDTH`
for ILP32 machines like the Apple Watch and mips64n32.
2023-01-23 12:10:58 -08:00
Artturin
cfb543a532 make-symlinks-relative: run on all outputs 2023-01-23 20:11:41 +02:00
Alyssa Ross
12d2821bf5
treewide: remove -ldl linker flags
With all libcs I'm aware of, libdl is now either empty (Glibc, musl,
uclibc, illumos), a symlink to libc or equivalent (Apple), or does not
exist (FreeBSD, NetBSD).  So explicitly linking libdl now does nothing
for the former platforms, and breaks the build for the latter
platforms.

With this patch I've removed -ldl from all overridden linker flags for
all free packages in Nixpkgs.  Everything still seems to build.
2023-01-23 15:34:53 +00:00
Guillaume Girol
4ce9749f74 Merge remote-tracking branch 'origin/staging' into staging-nativeCheckInputs 2023-01-21 17:18:51 +01:00
github-actions[bot]
f04194698a
Merge staging-next into staging 2023-01-21 12:02:00 +00:00
Guillaume Girol
33afbf39f6 treewide: switch to nativeCheckInputs
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
2023-01-21 12:00:00 +00:00
Guillaume Girol
25193e2732 postgresqlTestHook: adapt comment to nativeCheckInputs 2023-01-21 16:42:10 +01:00
Guillaume Girol
90c78aee6c Merge branch 'nativeCheckInputs' into staging-nativeCheckInputs 2023-01-21 12:00:00 +00:00
figsoda
3290828905 fetchPypi: move to top level
fetchPypi doesn't use python under the hood and doesn't need to be tied
to a specific version of python. Moving it to top level makes it more
consistent with other fetchers and makes code generation easier.
2023-01-21 08:21:33 +01:00
Sergei Trofimovich
b9b1d958d0 Merge remote-tracking branch 'origin/staging-next' into staging
Conflicts:
	pkgs/development/libraries/qt-6/modules/qtbase.nix
	pkgs/stdenv/linux/make-bootstrap-tools.nix
2023-01-20 21:56:57 +00:00
Alyssa Ross
f5e63a0e9e bintools: add isGNU and isLLVM attributes 2023-01-20 18:35:25 +01:00
Yureka
7a05f9de7d
gccgo: wrap go binary (#207670) 2023-01-20 14:31:54 +01:00
Robert Hensing
a1cd06f900
Merge pull request #211082 from hercules-ci/fix-issue-16182
Fix issue 16182  `Error: _assignFirst found no valid variant!`
2023-01-19 19:22:04 +01:00
Alyssa Ross
1fc2a79ee1 makeSetupHook: make "name" argument mandatory
It's very frustrating to try to read through a derivation graph full
of derivations that are all just called "hook", so let's try to avoid
that.
2023-01-19 15:00:36 +00:00
Alyssa Ross
0ae87d514f treewide: add names to all setup hooks 2023-01-19 15:00:36 +00:00
Artturi
3653f4ece2
Merge pull request #211260 from Artturin/testtweaks1 2023-01-19 13:12:18 +02:00
Yureka
8647006492
rustPlatform.importCargoLock: pass allRefs to builtins.fetchGit (#211298) 2023-01-18 01:57:36 +01:00
Robert Hensing
c696a19bfa multiple-outputs.sh: Apply suggestions from code review
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-01-17 21:18:59 +01:00
Artturin
3f3ca2d90d tests.testers.testBuildFailure.helloDoesNotFail: fix confusing output
the output made me think that the test failed but did not fail

testBuildFailure-helloDoesNotFail> Checking /nix/store/x6403x1llpk00i59cmr96iy92mx1f7hb-hello-2.12.1/testBuildFailure.log
testBuildFailure-helloDoesNotFail> testBuildFailure: The builder did not fail, but a failure was expected!
2023-01-17 20:49:24 +02:00
Artturin
40197595ce test.testers: fix getAllOutputNames not found 2023-01-17 20:34:36 +02:00
mdarocha
08e378f0d4 buildDotnetModule: proper escaping of disabledTests 2023-01-17 16:46:13 +01:00
Robert Hensing
d16e068b14 testers.testBuildFailure: Fix
A call to getAllOutputNames was added as part of the structuredAttrs
effort, but this script does not source `setup.sh`, so I repeat the
definition here.
Should be a bit quicker than `source setup.sh`.
2023-01-16 12:57:01 +01:00
Robert Hensing
01d7f19346 multi-outputs.sh: Improve _assignFirst error message
Closes #16182

This improves the error message

    Error: _assignFirst found no valid variant!

which occurred when the set of outputs was not sufficient to set
the various outputDev, outputBin, etc variables. Specifically, this
would mean that "out" is not among the outputs, which is valid for
a derivation.

This changes the message to something like

    error: _assignFirst: could not find a non-empty variable to assign to outputDev. The following variables were all unset or empty: dev out.
          If you did not define an "out" output, make sure to define all the specific required outputs: define an output for one of the unset variables.

While this isn't a full explanation of what stdenv can and can not do,
I think it's vast improvement over the 0 bits of information that it
used to provide. This at least gives a clue as to what's going on, and
even suggests a fix, although probably multiple such fixes are required
in an instance where someone starts with a no-out derivation from scratch
(and decide to persist).
2023-01-16 12:57:01 +01:00
Artturin
fe1c7a1945 treewide: remove usages of header and stopNest
they're obsolete
2023-01-16 00:08:12 +02:00
Guillaume Maudoux
aa7cfc3aed
Merge pull request #210908 from Yarny0/auto-patchelf
autoPatchelfHook: fix symlink handling
2023-01-15 17:18:01 +01:00
Yarny0
818d0f8cf1 auto-patchelf: don't resolve symlinks if basenames don't match
The auto-patchelf python script assembles a list of
library (so=shared object) file names and their paths.
This helps speed up the discovery of
library files later when patching elf files.
As further optimization, if a symlink points to a library file,
the script uses the resolved path and file name.
However, this produces a broken list entry if the
symlink's target name doesn't match the symlink's name.

A symptom of the bug, affecting the `tsm-client` package,
is fixed in https://github.com/NixOS/nixpkgs/pull/172372 .

The commit at hand stops resolving symlinks if
the target name differs from the symlink's name.
The commit has been authored by
layus (Guillaume Maudoux <layus.on@gmail.com>)
in pull request comment

https://github.com/NixOS/nixpkgs/pull/172372#issuecomment-1194687183
2023-01-15 10:57:22 +01:00
github-actions[bot]
142d3af1cb
Merge staging-next into staging 2023-01-15 00:03:07 +00:00
Mateusz Kowalczyk
22770e2381 buildRustCrate: fixup integration test mod name
Fixes #204051. I have tried this on the reproducer stated in the ticket.

```
[nix-develop]$ $(nix-build  -I nixpkgs=/home/shana/programming/nixpkgs --no-out-link)/tests/foo

running 1 test
test check_module_name ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
```
2023-01-14 14:18:09 -05:00
github-actions[bot]
5ad514cb7e
Merge staging-next into staging 2023-01-14 18:01:41 +00:00
Artturi
1121c8fcb7
Merge pull request #185005 from amjoseph-nixpkgs/pr/fetchgit/fix-comment 2023-01-14 19:50:20 +02:00
Martin Weinelt
b974cf6522
Merge pull request #209180 from NixOS/staging-next 2023-01-14 16:26:39 +00:00
Artturin
6694168ccd unblock tarball job
nixpkgs-release-checks> Nixpkgs is not allowed to use <nixpkgs> to refer to itself.
nixpkgs-release-checks> The offending files: /nix/store/mpwvmd4mr2nx1ymw1b2r44lm34ff2vs7-source/pkgs/build-support/deterministic-uname/default.nix
2023-01-14 17:51:01 +02:00
Sergei Trofimovich
ca4da963f8 Merge remote-tracking branch 'origin/staging-next' into staging
Conflicts:
    pkgs/development/libraries/audio/roc-toolkit/default.nix
2023-01-14 11:07:42 +00:00
Sergei Trofimovich
67a3a14f24
Merge pull request #210004 from trofi/cc-fake-sysroot
build-support/cc-wrapper: pass in non-existent --sysroot= to untangle…
2023-01-14 08:18:56 +00:00
github-actions[bot]
4712ed9439
Merge master into staging-next 2023-01-14 00:02:26 +00:00
Artturi
3c3b3ab88a
Merge pull request #196334 from alyssais/pkg-config-cleanup 2023-01-13 22:22:39 +02:00
Artturi
567e81c363
Merge pull request #210102 from Artturin/fakeunameinit 2023-01-13 20:20:26 +02:00
github-actions[bot]
49722fd14a
Merge master into staging-next 2023-01-13 18:01:34 +00:00
Vladimír Čunát
befc83905c
Merge #209423: gnat12: add for x86_64-darwin 2023-01-13 18:32:21 +01:00
Adam Joseph
9297b5382f
default-crate-overrides.nix: add graphene-sys 2023-01-13 16:43:39 +00:00
Adam Joseph
e40de94c42 default-crate-overrides: add pkg-config to evdev-sys 2023-01-13 16:31:15 +00:00
Adam Joseph
62d571148a default-crate-overrides: servo-fontconfig-sys needs fontconfig 2023-01-13 16:18:27 +00:00
Alyssa Ross
979a975dbe
pkg-config: use dontUnpack instead of no-op phase 2023-01-13 16:01:13 +00:00
github-actions[bot]
9e72ff5c31
Merge staging-next into staging 2023-01-13 00:02:48 +00:00
Martin Weinelt
5342b695b1 Merge remote-tracking branch 'origin/master' into staging-next 2023-01-12 23:07:01 +01:00
Naïm Favier
bbb6af88eb agda: pass through meta 2023-01-12 22:26:05 +01:00
figsoda
b9259df616 rustPlatform.buildRustPackage: fix cross compiling auditable packages 2023-01-12 12:22:59 -05:00
Artturin
96ebc83053 deterministic-uname: init
for reproducibility

deterministic-uname: dont hardcode OPERATING_SYSTEM_VAL to GNU/Linux
2023-01-12 18:29:14 +02:00
github-actions[bot]
db669efe0d
Merge staging-next into staging 2023-01-11 06:02:05 +00:00
Martin Weinelt
c1e6c6af69 Merge remote-tracking branch 'origin/master' into staging-next 2023-01-11 03:51:33 +01:00
Adam Joseph
dfa3f14493 cc-wrapper: -march= is not allowed on powerpc
Gcc does not allow `-march=` on PowerPC:

  https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/RS_002f6000-and-PowerPC-Options.html#RS_002f6000-and-PowerPC-Options

Instead, `-mcpu=` should be used to set the minimum instruction set
and `-mtune=` is used to optimize instruction scheduling for a
specific processor.  Both flags take the same set of valid values,
which includes `native`.

This commit causes `isGccArchSupported` to return `false` for PowerPC
targets so we never pass an `-march=` flag, since that will always be
rejected by gcc.
2023-01-10 14:05:03 +01:00
Sergei Trofimovich
8c80bd08b7 build-support/cc-wrapper: pass in non-existent --sysroot= to untangle from libc
I would like to add an extra `gcc` build step during linux bootstrap
(https://github.com/NixOS/nixpkgs/issues/208412). This makes it early
bootstrap compiler linked and targeted against `bootstrapTools` `glibc`
including it's headers.

Without this change `gcc`'s spec files always prefer `bootstrapTools` `glibc`
for header search path (passed in as --with-native-system-header-dir=). We'can't
override it with:

- `-I` option as it gets stacked before gcc-specific headers, we need to keep
  glibc headers after gcc as gcc cleans namespace up for C standard by using
  #include_next and by undefining system macros.
- `-idirafter` option as it gets appended after existing `glibc`-includes

This `--sysroot=/nix/store/does/not/exist` hack allows us to remove existing
`glibc` headers and add new ones with `-idirafter`.

We use `cc-cflags-before` instead of `libc-cflags` to allow user to define
their own `--sysroot=` (like `firefox` does).

To keep it working prerequisite cross-symlink in gcc.libs is required:
https://github.com/NixOS/nixpkgs/pull/209153
2023-01-10 07:54:13 +00:00
Artturi
386f2bb148
Merge pull request #209255 from Artturin/stdenvupdate1
stdenv: don't fail installPhase on missing makefile
2023-01-10 03:48:17 +02:00
Artturi
27c1ec2ecf
Merge pull request #209816 from Artturin/deprecate-top-level-platform-aliases 2023-01-09 22:15:50 +02:00
Artturin
2eeb34c273 treewide: {build,host,target}Platform -> stdenv.{build,host,target}Platform 2023-01-09 21:13:22 +02:00
github-actions[bot]
33aa224777
Merge master into staging-next 2023-01-09 18:01:24 +00:00
Erik Arvstedt
89c457d847
build-dotnet-module: fix mktemp
Re-add missing `-t` arg which I erroneously removed in
a98e520855.

Without it, the tmpdir is created in $PWD.
2023-01-09 17:33:10 +01:00