Commit Graph

574 Commits

Author SHA1 Message Date
aleksana
571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00
qbisi
93f58b50c0 mpiCheckPhaseHook: use preset topoloy file in sandbox for mpich 2024-11-07 11:59:08 +08:00
Philip Taron
e50c6cab11
treewide: fix links to specifications.freedesktop.org (#350918) 2024-11-03 09:06:56 -08:00
Victor Duarte
85f4044fc3
Update pkgs/build-support/setup-hooks/desktop-to-darwin-bundle.sh 2024-11-03 17:39:02 +01:00
Markus Kowalewski
17aacfb690
mpiCheckPhaseHook: disable openmpi's ssh plugin (#351473) 2024-11-02 13:33:57 +01:00
Markus Kowalewski
6b6b6c3837 mpiCheckPhaseHook: disable openmpi's ssh plugin
openmpi requires SSH to run. Set flags to run off SSH usage.
2024-10-26 17:31:22 +02:00
Victor Duarte
f2b58efde4 fix links to specifications.freedesktop.org 2024-10-24 13:00:55 +02:00
github-actions[bot]
f2d7c5202d
Merge master into staging-next 2024-10-21 18:04:46 +00:00
qbisi
0c5883bbce mpiCheckPhaseHook: add parameters to bypass errors in sandbox 2024-10-21 07:20:30 +08:00
K900
a7b40b71cd freetype, pixman: restore flatten include hack for now, but better 2024-10-17 15:24:31 +03:00
Guillaume Maudoux
ced27bf29e
autoPatchelfHook: expose script as top level package (#340162) 2024-09-30 10:03:28 +02:00
Artturin
f0e657f3b1 Merge branch 'master' into staging-next 2024-09-25 06:05:01 +03:00
Artturin
e0464e4788 treewide: replace stdenv.is with stdenv.hostPlatform.is
In preparation for the deprecation of `stdenv.isX`.

These shorthands are not conducive to cross-compilation because they
hide the platforms.

Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way

One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059

There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.

```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
2024-09-25 00:04:37 +03:00
Wolfgang Walther
bc0395ee6f
auto-patchelf: refactor structuredAttrs support
stdenv now provides better tooling to support structuredAttrs without
depending on $__structuredAttrs itself.
2024-09-11 19:29:39 +02:00
Sefa Eyeoglu
567bd7c6a6
autoPatchelfHook: expose script as top level package
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-09-08 15:57:53 +02:00
Yueh-Shun Li
758056dac7 treewide: handle postPhases __structuredAttrs-agnostically
Always specify the postPhases attribute as a list instead of a string.

Append elements to the postPhases Bash variable using appendToVar
instead of string or Bash array concatenation.
2024-09-03 05:56:17 +08:00
Yueh-Shun Li
5d42a8b38c treewide: handle preConfigurePhases __structuredAttrs-agnostically
Always specify the preConfigurePhases attribute as a list instead of a
string.

Append elements to the preConfigurePhases Bash variable using
appendToVar instead of string or Bash array concatenation.
2024-09-03 05:33:59 +08:00
Yueh-Shun Li
21c0129841 treewide: handle prePhases __structuredAttrs-agnostically
Always specify the prePhases attribute as a list instead of a string.

Append elements to the prePhases Bash variable using appendToVar
instead of string or Bash array concatenation.
2024-09-03 05:33:59 +08:00
github-actions[bot]
023a2c3d2a
Merge staging-next into staging 2024-08-31 06:04:54 +00:00
github-actions[bot]
8158f1d5b3
Merge master into staging-next 2024-08-31 06:04:15 +00:00
Philip Taron
1b9af797ec
breakpointHook: move to by-name, mark broken instead of asserting 2024-08-30 15:03:42 -07:00
Anderson Torres
8f4200d165 installShellFiles: move setup script to the same directory
So that it can be migrated to by-name later.
2024-08-28 18:51:06 -03:00
Philip Taron
0d1b26857b
treewide: support structuredAttrs in setup hooks (part 2) (#335666) 2024-08-28 14:07:58 -07:00
Artturin
740804dd5f
patch-shebangs: don't patch shebangs with bash builtins (#330188) 2024-08-27 03:54:10 +03:00
Wolfgang Walther
1efcffa700
stdenv: support default values in concatTo
The previously used pattern was introduced in #318614, but technically
leaked the default flags into the global scope. While this would
probably not make much of a practical difference, making concatTo
support default values is a much cleaner approach.
2024-08-24 12:23:35 +02:00
github-actions[bot]
688ae1bcd3
Merge staging-next into staging 2024-08-15 12:02:43 +00:00
squalus
0a3ed67ff6
autoPatchelfHook: add keep_libc flag (#332617)
* autoPatchelfHook: add keep_libc flag

- Add keep_libc flag to disable the default libc handling. Intended
  to be used by systemd.
- Add autoPatchelfFlags to autoPatchelfHook for passing arguments to
  the autoPatchelf script

This reverts part of the change made in #307068 / 80be926.

Fixes #332533
2024-08-14 02:54:27 -04:00
Markus Kowalewski
b898495c9a mpiCheckPhaseHook: update to use openmpi-5 compatible parameters 2024-08-12 21:45:24 +02:00
Wolfgang Walther
d7c257035d
setup-hooks/autoreconf: support structuredAttrs
Tested db with and without __structuredAttrs.
2024-08-03 12:56:08 +02:00
Minijackson
24655f7804
patch-shebangs: don't patch shebangs with bash builtins
'command -v builtin' returns 'builtin', which doesn't suit us since
we're looking for program in the given PATH. This could give us shebangs
like this:

    #!builtin

which is surprising.

Switch to 'type -P command' which always returns a path, even if command
is both a builtin and an executable (for example 'test'), or fail is
'command' is just a builtin.
2024-07-29 11:40:29 +02:00
Arian van Putten
80be92660e autoPatchelfHook: add support for .note.dlopen
also retain libc in rpath if it was there originally
2024-07-21 06:25:51 -04:00
Will Fancher
ffbecb3c19 autoPatchelfHook: Stop using deprecated alias types 2024-07-21 06:25:51 -04:00
Alyssa Ross
f03d6497cb separateDebugInfo: tell rustc not to strip
There's no point generating debug info if the compiler immediately
strips it before we get a chance to do anything with it.

This is especially important since Cargo 1.77, which asks rustc to
strip by default.
2024-07-20 10:05:57 +02:00
Ryan Hendrickson
40428630bc
Merge pull request #317106 from trofi/dashed-source
stdenv: handle $sourceRoot that starts with dash
2024-07-02 23:48:25 -04:00
github-actions[bot]
2f3bfad6d2
Merge master into staging-next 2024-06-28 00:02:11 +00:00
PoweredByPie
e72b347c1d Resolve _all_ Windows DLL dependencies
The current DLL linker only links direct dependencies of the derivation. Indirect dependencies are sometimes missed.
2024-06-25 19:04:22 -07:00
Sergei Trofimovich
a3f1b476c7 setup-hooks/set-source-date-epoch-to-latest.sh: handle $path that starts with dash
Without the change `updateSourceDateEpoch` fails on tarballs like
`diffoscope-269` that contain single top-level `-269` root as:

    diffoscope> source root is -269
    diffoscope> find: unknown predicate `-269'
    diffoscope> chmod: invalid mode: ‘-269’
    diffoscope> Try 'chmod --help' for more information.

Currently `diffoscope-269` has a `sourceRoot = "./-269";` workaround to
bypass the failure.

Co-authored-by: Philip Taron <philip.taron@gmail.com>
2024-06-10 23:56:46 +01:00
toonn
eed45499c8
Merge pull request #273850 from wegank/dylib-error-fix
fixDarwinDylibNames: fix error message output
2024-06-07 18:48:33 +02:00
Sandro
7be7b5dfd2
Merge pull request #289517 from SFrijters/shell-completion-check 2024-06-02 18:56:49 +02:00
Weijia Wang
91a237cd7a fixDarwinDylibNames: fix error message output 2024-06-01 22:49:42 +02:00
Alyssa Ross
f82a1d12eb Revert "make-binary-wrapper: add cc to propagatedBuildInputs"
This reverts commit 0c34636a56.

Seems to be causing some weird side effects. pkgsMusl.systemd no
longer builds:

Command line: `clang /run/user/1008/tmp.WuVNjgdfHT/source/build/meson-private/tmpdd3qc57v/testfile.c -o /run/user/1008/tmp.WuVNjgdfHT/source/build/meson-private/tmpdd3qc57v/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Werror=implicit-function-declaration -Werror=unknown-warning-option -Werror=unused-command-line-argument -Werror=ignored-optimization-argument -std=gnu11` -> 1
stderr:
clang: error: argument unused during compilation: '-pie' [-Werror,-Wunused-command-line-argument]
2024-05-27 21:56:47 +02:00
John Ericson
e897cae4da
Merge pull request #311794 from rhelmot/freebsd-minimal3/make-binary-wrapper
make-binary-wrapper: add cc to propagatedBuildInputs
2024-05-26 11:50:45 -04:00
Thomas Watson
4d6d293fad setup-hooks/strip: uniqify files by inode number before stripping
https://github.com/NixOS/nixpkgs/pull/246164 but for hardlinks.

Mesa, among other packages, has binaries that are linked together and
can end up corrupted when the same binary is stripped through two
different names.

To resolve this, print out the device and inode number before each file
name, sort/uniq based on that, then cut it back out before stripping.

The symlink resolution logic is removed as the same file accessed
through two different links in `$paths` will necessarily have the same
numbers. File/directory within the paths listed in `$paths` are
correctly not (and were never) processed due to the `-type f` predicate
and (implied) `-P` option to `find`.
2024-05-24 16:53:14 -05:00
Stefan Frijters
6b6073f1fb
installShellCompletion: add sanity check 2024-05-22 23:13:37 +02:00
Artemis Tosini
0c34636a56 make-binary-wrapper: add cc to propagatedBuildInputs
Adding cc to propagatedBuildInputs makes derivations with
makeBinaryWrapper in nativeBuildInputs run the cc-wrapper
setup hook. This isn't an issue for derivations using
stdenv, as the cc setup hook is already run by default.
However, derivations that are made with stdenvNoCC, e.g.
because they're made with runCommand, will not run the
cc-wrapper setup hook without this change.

For some reason the FreeBSD native compiler will not work
correctly without the setup hook.
2024-05-17 12:52:49 -07:00
Jan Tojnar
eb04659fc2 treewide: wrapGAppsHook → wrapGAppsHook3
This was achieved using the following command:

    sd 'wrapGAppsHook\b' wrapGAppsHook3 (rg -l 'wrapGAppsHook\b')

And then manually reverted the following changes:

- alias in top-level.nix
- function name in wrap-gapps-hook.sh
- comment in postFixup of at-spi2-core
- comment in gtk4
- comment in preFixup of 1password-gui/linux.nix
- comment in postFixup of qgis/unwrapped-ltr.nix and qgis/unwrapped.nix
- comment in postFixup of telegram-desktop
- comment in postFixup of fwupd
- buildCommand of mongodb-compass
- postFixup of xflux-gui
- comment in a patch in kdePackages.kde-gtk-config and plasma5Packages.kde-gtk-config
- description of programs.sway.wrapperFeatures.gtk NixOS option (manual rebuild)
2024-04-27 02:23:22 +02:00
Jan Tojnar
70cf3ecaae wrapGAppsHook: Flip inheritance relationship with wrapGAppsNoGuiHook 2024-04-27 00:05:46 +02:00
Philip Taron
83440df1f6
auditBlasHook: remove
This was added in d83e9c9573,
but included substitution variables `@blas@` and `@lapack@` that were
never substituted. It's not used anywhere in `nixpkgs`.
2024-04-02 10:50:15 -07:00
Domen Kožar
fb884172ab
Merge pull request #297628 from cwp/python-env-venv
Fix venv creation in Python environments
2024-03-22 19:17:13 +07:00
Colin Putney
234bb31f61
Fix venv creation in Python environments
The way we build python environments is subtly broken. A python
environment should be semantically identical to a vanilla Python
installation in, say, /usr/local. The current implementation, however,
differs in two important ways. The first is that it's impossible to use
python packages from the environment in python virtual environments. The
second is that the nix-generated environment appears to be a venv, but
it's not.

This commit changes the way python environments are built:

  * When generating wrappers for python executables, we inherit argv[0]
    from the wrapper. This causes python to initialize its configuration
    in the environment with all the correct paths.
  * We remove the sitecustomize.py file from the base python package.
    This file was used tweak the python configuration after it was
    incorrectly initialized. That's no longer necessary.

The end result is that python environments no longer appear to be venvs,
and behave more like a vanilla python installation. In addition it's
possible to create a venv using an environment and use packages from
both the environment and the venv.
2024-03-21 19:26:57 -06:00