Commit Graph

310 Commits

Author SHA1 Message Date
github-actions[bot]
f8cf67790e
Merge master into staging-next 2021-11-17 06:01:28 +00:00
Sandro
e0d488f1a3
Merge pull request #140911 from sersorrel/copy-desktop-items 2021-11-17 02:40:57 +01:00
John Ericson
5a7f6e1f18
Merge pull request #144839 from l0b0/fix-redirect
pkgs/build-support: Redirect to standard error rather than file "2"
2021-11-13 21:56:43 -05:00
Victor Engmark
8ed1104a4a pkgs/build-support: Redirect to standard error rather than file "2" 2021-11-11 18:14:21 +13:00
Alyssa Ross
3f01b576af
Merge remote-tracking branch 'nixpkgs/staging-next' into staging
Conflicts:
	nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
	nixos/doc/manual/release-notes/rl-2111.section.md
2021-10-28 16:07:38 +00:00
github-actions[bot]
22401dcc39
Merge master into staging-next 2021-10-27 18:01:02 +00:00
bb010g
29fedf210f canonicalize-jars-hook: add
A build hook to run functions previously only implemented privately in
`pkgs/build-support/release/functions.sh`.
2021-10-27 13:21:27 +03:00
John Ericson
e2eccfc521
Merge pull request #141072 from r-burns/validatepkgconfig-cross
[staging] validatePkgConfig: fix cross-compilation
2021-10-23 23:09:42 -04:00
Ryan Burns
9fb1f66d30 validatePkgConfig: fix cross-compilation
Fixes cross-compilation for duktape and pugixml
2021-10-23 15:50:21 -07:00
ash
c6b0247067 copyDesktopItems: fix handling of plain paths 2021-10-08 01:36:13 +01:00
sterni
5d0972c63b
Merge pull request #138289 from sternenseemann/fix-non-gnu-strip
stdenv: move --enable-deterministic-archives flag into GNU wrapper
2021-10-07 12:29:59 +02:00
Noah Fontes
a7f5e8321e
autoPatchelfHook: fix packages that use stdenvNoCC
autoPatchelfHook actually doesn't depend on stdenv and only needs
bintools (with its wrapper). This change uses $NIX_BINTOOLS instead of
$NIX_CC and makes the dependency on bintools explicit.
2021-09-18 21:58:02 -07:00
Noah Fontes
4765a3e153
autoPatchelfHook: improve arch/ABI compatibility
Fully enabling crossSystem support for autoPatchelfHook came with some
perhaps unintended consequences of being a bit more aggressive about
patching ELF files from architectures/ABIs that differ from the target
(previously, those files would be ignored because ldd usually couldn't
handle them).

This change adds architecture and rough OS ABI detection to the script
so that it doesn't try to blindly replace the interpreter of files that
can't possibly use that interpreter, and also makes sure it doesn't
accidentally use libraries of other architectures/ABIs.
2021-09-18 21:57:08 -07:00
sternenseemann
11fe2fc3cf stdenv: move --enable-deterministic-archives flag into GNU wrapper
`--enable-deterministic-archives` is a GNU specific strip flag and
causes other strip implementations (for example LLVM's, see #138013)
to fail. Since strip failures are ignored, this means that stripping
doesn't work at all in certain situation (causing unnecessary
dependencies etc.).

To fix this, no longer pass `--enable-deterministic-archives`
unconditionally, but instead add it in a GNU binutils specific strip
wrapper only.

`commonStripFlags` was only used for this flag, so we can remove
it altogether.

Future work could be to make a generic strip wrapper, with support for
nix-support/strip-flags-{before,after} and NIX_STRIP_FLAGS_{BEFORE,AFTER}.
This possibly overkill and unnecessary though -- also with the
additional challenge of incorporating the darwin strip wrapper somehow.
2021-09-18 15:11:17 +02:00
github-actions[bot]
0f78d9c4b7
Merge staging-next into staging 2021-09-15 00:02:12 +00:00
github-actions[bot]
728f30ca03
Merge master into staging-next 2021-09-15 00:01:33 +00:00
Noah Fontes
b79483d2b7
autoPatchelfHook: fix detection under crossSystem
In #84415, autoPatchelfHook was taught to use the correct path to the
readelf binary when a crossSystem is specified. Unfortunately, the
remainder of the functionality in the script depended on ldd, which only
reads ELF files of its own architecture. It has the further unfortunate
quality of not reporting any useful error, but rather that the file is
not a dynamic executable.

This change uses patchelf to directly analyze the DT_NEEDED tags in the
target files instead, which correctly works across architectures. It
also updates the use of objdump to be prefix-aware $OBJDUMP (which would
have been required in the PR mentioned above, but we never made it that
far into the script execution).
2021-09-12 15:07:15 -07:00
Artturi
fb2781ff0a
Merge pull request #134881 from OmnipotentEntity/dont-compress-xz
setup-hooks: compress-man-pages.sh: Do not attempt to compress .xz files
2021-09-11 04:03:12 +03:00
Martin Weinelt
7f732aca66 Revert "Merge remote-tracking branch 'origin/python-unstable' into staging-next"
This reverts commit b041b2e1b25a0ed55d0943030c9da1b5f68ab3c6, reversing
changes made to 5b6c2380adb4c4ddb0f87152cef0016333ea5a4d.
2021-09-05 15:02:25 +02:00
happysalada
5b86e637d7 move-docs.sh: simplify redundant conditional
remove impossible check for empty variable after it's been set twice
2021-08-30 10:27:45 +09:00
Michael Reilly
51f21e91e8 setup-hooks: compress-man-pages.sh: Do not attempt to compress .xz files 2021-08-19 17:13:05 -04:00
Sandro
f6b209b891
Merge pull request #132800 from deliciouslytyped/separatedebuginfo-extraneous-local
setup-hooks: separate-debug-info.sh: Remove extraneous local variable…
2021-08-07 11:53:29 +02:00
deliciouslytyped
0e6b107cac setup-hooks: separate-debug-info.sh: Remove extraneous local variable originally used in ec5b66eb 2021-08-05 17:52:27 +02:00
happysalada
0900850680 stdenv: conservative undefined variables 2021-08-03 12:43:34 +09:00
happysalada
f3d9711f05 stdenv: add link to clarify 2021-07-19 14:50:01 +09:00
Andrew Childs
c696fcdacb fixDarwinDylibNames: set name of install_name_tool 2021-05-17 00:27:01 +09:00
Andrew Childs
ca156a66b7 stdenv/patchShebangs: fix off by one reading old interpreter
This caused shebangs that were already store paths to be rewritten.

Introduced by ab4c35982269e8f1f15e07afa7fedf65c749f276 in #94642

Example difference:

    $ echo "hello world" | tail -c+3
    llo world

    $ str="hello world"; echo ${str:3}
    lo world
2021-02-09 13:05:38 +09:00
Andrew Childs
2bd3aa4bc2 Revert "Revert "stdenv/patchShebangs: avoid temporary time reference file""
This reverts commit df21fb8afa235a71b4e814f1ed1c4003ce34b220.
2021-02-09 12:57:21 +09:00
Martin Weinelt
df21fb8afa Revert "stdenv/patchShebangs: avoid temporary time reference file"
This reverts commit 6e3f4c90790f112f6b6da54b9f1eb0e85310ee64.

This apparently breaks the x86_64 darwin stdenv. Details in #112417.
2021-02-09 01:33:33 +01:00
Jörg Thalheim
2dcc858efc
Merge pull request #94642 from Mic92/patch-shebangs 2021-02-04 21:20:40 +00:00
Jörg Thalheim
6e3f4c9079
stdenv/patchShebangs: avoid temporary time reference file
less commands -> faster
2021-01-14 20:00:58 +01:00
Jörg Thalheim
cb1654ff92
stdenv/patchShebangs: consistent conditional tests
according to shellcheck [[ foo == "bla" ]] && [[ ... ]] has better posix
semantics over [ foo = "bla" -a ... ]. It is also easier to read.
2021-01-14 20:00:57 +01:00
Jörg Thalheim
ab4c359822
stdenv/patchShebangs: use builtins where possible
builtins for small input sizes should be faster due to less forking.
2021-01-14 20:00:54 +01:00
Sandro
7ff9b3699d
Merge pull request #108081 from SuperSandro2000/silence-file-format-not-recognized
setup-hooks/strip: silence 'File format not recognized' errors again
2021-01-07 00:49:44 +01:00
Andreas Rammhold
c2884c4011
Merge pull request #106954 from r-burns/randomseed
[staging] stdenv: trim random seed to avoid reference cycles
2021-01-02 11:01:34 +01:00
Sandro Jäckel
03ba885fa2
setup-hooks/strip: silence 'File format not recognized' errors again
This got lost in e4d17dc558f61f8565df025fa46de7035c4a1d93.
2021-01-02 10:46:27 +01:00
DavHau
2efcf6dc26 autoPatchelf: add comment why ignore failing ldd/sed 2020-12-25 12:13:03 +01:00
DavHau
2fde1e63ba autoPatchelfHook: fix shellcheck errors 2020-12-25 12:13:03 +01:00
DavHau
4ac5d22654 autoPatchelfHook: fix bug introduced by #101142 2020-12-25 12:13:03 +01:00
Ryan Burns
61a6d1aae2 stdenv: trim random seed to avoid reference cycles
Using the full store hash as the random seed occasionally caused
reference cycles when the invocation was stored in output artifacts.
For example, cross-compiled gcc was failing due to this:
https://hydra.nixos.org/eval/1631713#tabs-now-fail

Simply truncating the hash is sufficient to avoid this.
2020-12-23 16:46:39 -08:00
Emery Hemingway
e4d17dc558 setup-hooks/strip: more robust stripping
Use "find -exec" to strip rather than "find … | xargs …". The former
ensures that stripping is attempted for each file, whereas the latter
will stop stripping at the first failure. Unstripped files can fool
runtime dependency detection and bloat closure sizes.
2020-12-08 05:35:48 +01:00
Anderson Torres
cef4502feb
Merge pull request #105818 from raboof/symlink-compressed-manpages-deterministically
compress-man-pages: symlink compressed manpages deterministically
2020-12-07 23:37:35 -03:00
Arnout Engelen
777cb35eb8
compress-man-pages: symlink compressed manpages deterministically
For example graphviz has chained symlinked manpages: dot2gxl.1 is
a symlink to gv2gxl.1 which is a symlink to gxl2gv.1

The second loop replaces each non-compressed symlink to a compressed
symlink. The target is determined with 'readlink -f', which follows
links recursively until the first name that is not a link (so either
the 'target name' or the first 'dangling' symlink).

This means that if the loop converted dot2gxl.1 before converting
gv2gxl.1 it would add a symlink `dot2gxl.1.gz->gxl2gv.1.gz`. When
it converted gv2gxl.1 first, it would then add a
`dot2gxl.1.gz->gv2gxl.1.gz` symlink.

Both are 'correct', but it's weird the result depends on the order
in which 'find' returns the files. This PR makes the behaviour
deterministic.

fixes #104708
2020-12-04 09:24:37 +01:00
Frederik Rietdijk
c7843cf6a2
Merge pull request #101142 from DavHau/improve-autopatchelf
autoPatchelfHook: optimize performance; better error handling
2020-12-03 12:34:05 +01:00
Frederik Rietdijk
05d1c49209 Merge staging-next into staging 2020-11-29 13:51:33 +01:00
Frederik Rietdijk
0d8491cb2b Merge master into staging-next 2020-11-29 13:51:10 +01:00
Fabian Möller
50f54c5ca7 copyDesktopItems: add new setup-hook 2020-11-29 04:03:38 +01:00
Jan Tojnar
136152af80
Merge pull request #101537 from jtojnar/gtk-tracker 2020-11-28 01:37:37 +01:00
Jan Tojnar
acfc45bacc
wrapGAppsNoGuiHook: init 2020-11-26 14:06:07 +01:00
DavHau
05fa0f1a2e improve things shellcheck complains about 2020-11-07 18:08:48 +07:00