Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

treewide: unzip buildInputs to nativeBuildInputs #112302

Merged
merged 2 commits into from Feb 20, 2021

Conversation

siraben
Copy link
Member

@siraben siraben commented Feb 7, 2021

Motivation for this change

Helps with cross-compilation.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@ofborg ofborg bot added 6.topic: fetch 6.topic: GNOME GNOME desktop environment and its underlying platform 6.topic: python 6.topic: steam 6.topic: TeX Issues regarding texlive and TeX in general labels Feb 7, 2021
@siraben siraben changed the base branch from master to staging February 7, 2021 13:45
@bjornfor bjornfor added the 6.topic: cross-compilation Building packages on a different sort platform than than they will be run on label Feb 7, 2021
Copy link
Member

@veprbl veprbl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Marked some packages which are not so obvious about their unzip usage.

pkgs/applications/editors/eclipse/plugins.nix Outdated Show resolved Hide resolved
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
sha256 = "0rb4lvv40pz6ab5kxq40ycvh7kh1yxn7swzgv2ff2nbhi62xnzp0";
};

buildInputs = [ python unzip wxPython wrapPython ];
nativeBuildInputs = [ unzip ];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

src fetches a tar.gz. Could be that unzip is not needed anymore.

@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {

phases = [ "unpackPhase" "installPhase" ];

buildInputs = [ unzip jdk ib-tws ];
nativeBuildInputs = [ unzip ];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also a tar.gz

@@ -21,7 +21,8 @@ in python2Packages.buildPythonApplication {

inherit python; # pass it so that the same version can be used in hg2git

buildInputs = [ makeWrapper docutils unzip ]
nativeBuildInputs = [ unzip ];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A tar.gz

@@ -19,7 +19,8 @@ in python3Packages.buildPythonApplication rec {

passthru = { inherit python; }; # pass it so that the same version can be used in hg2git

buildInputs = [ makeWrapper docutils unzip ]
nativeBuildInputs = [ unzip ];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A tar.gz

...
}:
stdenv.mkDerivation (a // {
name = name;

inherit pluginType;
inherit configurePhase buildPhase;
inherit configurePhase buildPhase buildInputs;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

buildInputs = [] is already the default

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this should be reverted.

@@ -11,8 +11,7 @@ stdenv.mkDerivation rec {
sha256 = "0v44rlg9gvwc4ggr2lhcqll8ppal3dk7zsg5bqwcc5lg3ynk2pz4";
};

nativeBuildInputs = [ perl /* for pod2man */ ];
buildInputs = [ unzip ];
nativeBuildInputs = [ perl /* for pod2man */ unzip ];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fetchFromGitHub

@@ -16,7 +16,8 @@ in stdenv.mkDerivation rec {
sha256 = "0xy1nvqrnifx46g8ch69pk31by0va6hn10wpi1fkrsrgncanjjh1";
};

buildInputs = [ unzip xz dpkg libxslt python setuptools makeWrapper curl gnupg diffutils ] ++
nativeBuildInputs = [ unzip ];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A tar.xz

@@ -10,7 +10,8 @@ stdenv.mkDerivation rec {

hardeningDisable = [ "format" ];

buildInputs = [ unzip libogg libvorbis ];
nativeBuildInputs = [ unzip ];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A tar.gz

@@ -897,7 +897,7 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
sha256 = "07r63xam6icm17pf6amh1qkmna13nxa3ncdan7a3ql307i5isriz";
};

buildInputs = [ unzip ];
nativeBuildInputs = [ unzip ];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fetchFromGitHub

@veprbl veprbl added this to WIP in Staging via automation Feb 7, 2021
@jonringer
Copy link
Contributor

@veprbl maybe we can tackle your recommendations in another PR, this is already a great improvement.

@veprbl
Copy link
Member

veprbl commented Feb 7, 2021

I don't mind as long as nothing is broken.

@siraben
Copy link
Member Author

siraben commented Feb 8, 2021

How do I find the occurrences of unzip after buildInputs using a multiline regex?

@siraben
Copy link
Member Author

siraben commented Feb 14, 2021

Any updates? Would be good to have this merged sooner rather than later.

@veprbl
Copy link
Member

veprbl commented Feb 14, 2021

Let's merge. I believe the only breakage that this can produce will only affect cross compilation.

@siraben
Copy link
Member Author

siraben commented Feb 16, 2021

@jonringer do you mind merging?

@@ -21,7 +21,8 @@ in python2Packages.buildPythonApplication {

inherit python; # pass it so that the same version can be used in hg2git

buildInputs = [ makeWrapper docutils unzip ]
nativeBuildInputs = [ unzip ];
buildInputs = [ makeWrapper docutils ]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

makeWrapper also should move in another PR.

@@ -64,7 +64,8 @@ stdenv.mkDerivation {
}
else throw "Platform: ${stdenv.system} not supported!";

buildInputs = [ unzip makeWrapper ];
nativeBuildInputs = [ unzip ];
buildInputs = [ makeWrapper ];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also nativeBuildInputs

@@ -64,7 +64,8 @@ stdenv.mkDerivation {
}
else throw "Platform: ${stdenv.system} not supported!";

buildInputs = [ unzip makeWrapper ];
nativeBuildInputs = [ unzip ];
buildInputs = [ makeWrapper ];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also nativeBuildInputs

@@ -64,7 +64,8 @@ stdenv.mkDerivation {
}
else throw "Platform: ${stdenv.system} not supported!";

buildInputs = [ unzip makeWrapper ];
nativeBuildInputs = [ unzip ];
buildInputs = [ makeWrapper ];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also nativeBuildInputs

nativeBuildInputs = [ pkg-config ];
buildInputs = [ ocaml automake gnum4 autoconf unzip
nativeBuildInputs = [ pkg-config unzip ];
buildInputs = [ ocaml automake gnum4 autoconf
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

more nativeBuildInputs.

...
}:
stdenv.mkDerivation (a // {
name = name;

inherit pluginType;
inherit configurePhase buildPhase;
inherit configurePhase buildPhase buildInputs;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this should be reverted.

@siraben
Copy link
Member Author

siraben commented Feb 16, 2021

@SuperSandro2000 The makeWrapper changes are handled by #112276 which needs to merge as well.

@siraben
Copy link
Member Author

siraben commented Feb 16, 2021

Example of how it fixes cross-compilation. As you can see when unzip is in the wrong place, it cannot even be called at build time.

Before

$ nix build .#pkgsCross.raspberryPi.dlx        
error: builder for '/nix/store/h82kpd2mqbqkxg3avm8hp9447hmi7ml1-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf.drv' failed with exit code 1;
       last 4 log lines:
       > unpacking sources
       > unpacking source archive /nix/store/cyl795yyc8jqn8axkxs619kbr7y9a60w-dlx.zip
       > /nix/store/y8167jl72xkxsfkg17ig9ly1cnz2q2cg-unzip-6.0-armv6l-unknown-linux-gnueabihf/nix-support/setup-hook: line 4: unzip: command not found
       > do not know how to unpack source archive /nix/store/cyl795yyc8jqn8axkxs619kbr7y9a60w-dlx.zip
       For full logs, run 'nix log /nix/store/h82kpd2mqbqkxg3avm8hp9447hmi7ml1-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf.drv'.

After

Had to adjust the line in pkgs/misc/emulators/dlx/default.nix

- makeFlags = [ "LINK=gcc" "CFLAGS=-O2" ];
+ makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "LINK=${stdenv.cc.targetPrefix}cc" "CFLAGS=-O2" ];
$ nix build --rebuild -L .#pkgsCross.raspberryPi.dlx
dlx> unpacking sources
dlx> unpacking source archive /nix/store/cyl795yyc8jqn8axkxs619kbr7y9a60w-dlx.zip
dlx> source root is dlx
dlx> setting SOURCE_DATE_EPOCH to timestamp 1156364802 of file dlx/new.m
dlx> patching sources
dlx> updateAutotoolsGnuConfigScriptsPhase
dlx> configuring
dlx> no configure script, doing nothing
dlx> building
dlx> build flags: SHELL=/nix/store/rq1inyhyr4gddgc5gxdid38iwn7769d7-bash-4.4-p23/bin/bash CC=armv6l-unknown-linux-gnueabihf-cc LINK=armv6l-unknown-linux-gnueabihf-cc CFLAGS=-O2
dlx> armv6l-unknown-linux-gnueabihf-cc -c -O2  -o cpu.o cpu.c
dlx> cpu.c: In function 'InitCpu':
dlx> cpu.c:626:13: warning: ignoring return value of 'fgets' declared with attribute 'warn_unused_result' [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wunused-result-Wunused-result8;;]
dlx>   626 |             fgets (Txt, 80, f);
dlx>       |             ^~~~~~~~~~~~~~~~~~
dlx> armv6l-unknown-linux-gnueabihf-cc -c -O2  -o cpuh.o cpuh.c
dlx> armv6l-unknown-linux-gnueabihf-cc -c -O2  -o cpum.o cpum.c
dlx> armv6l-unknown-linux-gnueabihf-cc -c -O2  -o cpup.o cpup.c
dlx> armv6l-unknown-linux-gnueabihf-cc -c -O2  -o mem.o mem.c
dlx> armv6l-unknown-linux-gnueabihf-cc -c -O2  -o mon.o mon.c
dlx> mon.c: In function 'MainLoop':
dlx> mon.c:873:21: warning: implicit declaration of function 'DisMicrocode'; did you mean 'LoadMicrocode'? [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wimplicit-function-declaration-Wimplicit-function-declaration8;;]
dlx>   873 |                     DisMicrocode ();
dlx>       |                     ^~~~~~~~~~~~
dlx>       |                     LoadMicrocode
dlx> mon.c:1172:17: warning: implicit declaration of function 'DoMcLoad'; did you mean 'DoLoad'? [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wimplicit-function-declaration-Wimplicit-function-declaration8;;]
dlx>  1172 |                 DoMcLoad (&Cmd [1]);
dlx>       |                 ^~~~~~~~
dlx>       |                 DoLoad
dlx> mon.c: In function 'EnterMemory':
dlx> mon.c:147:13: warning: ignoring return value of 'fgets' declared with attribute 'warn_unused_result' [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wunused-result-Wunused-result8;;]
dlx>   147 |             fgets (Str, 160, Rec);
dlx>       |             ^~~~~~~~~~~~~~~~~~~~~
dlx> mon.c:151:13: warning: ignoring return value of 'fgets' declared with attribute 'warn_unused_result' [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wunused-result-Wunused-result8;;]
dlx>   151 |             fgets (Str, 160, stdin);
dlx>       |             ^~~~~~~~~~~~~~~~~~~~~~~
dlx> mon.c: In function 'MainLoop':
dlx> mon.c:823:13: warning: ignoring return value of 'fgets' declared with attribute 'warn_unused_result' [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wunused-result-Wunused-result8;;]
dlx>   823 |             fgets (Cmd, 160, Rec);
dlx>       |             ^~~~~~~~~~~~~~~~~~~~~
dlx> mon.c:827:13: warning: ignoring return value of 'fgets' declared with attribute 'warn_unused_result' [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wunused-result-Wunused-result8;;]
dlx>   827 |             fgets (Cmd, 160, stdin);
dlx>       |             ^~~~~~~~~~~~~~~~~~~~~~~
dlx> mon.c:1168:17: warning: ignoring return value of 'system' declared with attribute 'warn_unused_result' [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wunused-result-Wunused-result8;;]
dlx>  1168 |                 system (&Cmd [1]);
dlx>       |                 ^~~~~~~~~~~~~~~~~
dlx> armv6l-unknown-linux-gnueabihf-cc -c -O2  -o mon2.o mon2.c
dlx> mon2.c: In function 'PauseForKey':
dlx> mon2.c:141:5: warning: ignoring return value of 'fgets' declared with attribute 'warn_unused_result' [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wunused-result-Wunused-result8;;]
dlx>   141 |     fgets (Pause, 3, stdin);
dlx>       |     ^~~~~~~~~~~~~~~~~~~~~~~
dlx> armv6l-unknown-linux-gnueabihf-cc -c -O2  -o mon3.o mon3.c
dlx> armv6l-unknown-linux-gnueabihf-cc -c -O2  -o dis.o dis.c
dlx> armv6l-unknown-linux-gnueabihf-cc -c -O2  -o ini.o ini.c
dlx> ini.c: In function 'ReadIni':
dlx> ini.c:174:13: warning: ignoring return value of 'fgets' declared with attribute 'warn_unused_result' [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wunused-result-Wunused-result8;;]
dlx>   174 |             fgets (Line, 120, fIni);
dlx>       |             ^~~~~~~~~~~~~~~~~~~~~~~
dlx> armv6l-unknown-linux-gnueabihf-cc -c -O2  -o help.o help.c
dlx> help.c: In function 'GetHelpLine':
dlx> help.c:39:9: warning: ignoring return value of 'fgets' declared with attribute 'warn_unused_result' [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wunused-result-Wunused-result8;;]
dlx>    39 |         fgets (Txt, TEXTLEN - 1, H);
dlx>       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
dlx> armv6l-unknown-linux-gnueabihf-cc -c -O2  -o io.o io.c
dlx> io.c: In function 'DoLoad':
dlx> io.c:103:13: warning: implicit declaration of function 'ExtractNo' [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wimplicit-function-declaration-Wimplicit-function-declaration8;;]
dlx>   103 |     Start = ExtractNo (Cmd, &Pos, &Blank);
dlx>       |             ^~~~~~~~~
dlx> armv6l-unknown-linux-gnueabihf-cc -c -O2  -o monlink.o monlink.c
dlx> armv6l-unknown-linux-gnueabihf-cc  -o mon cpu.o cpuh.o cpum.o cpup.o mem.o mon.o mon2.o mon3.o dis.o ini.o help.o io.o monlink.o  -lm
dlx> armv6l-unknown-linux-gnueabihf-cc -c -O2  -o msym.o msym.c
dlx> msym.c: In function 'AddSymbol':
dlx> msym.c:86:9: warning: implicit declaration of function 'Error'; did you mean 'perror'? [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wimplicit-function-declaration-Wimplicit-function-declaration8;;]
dlx>    86 |         Error ("Out of memory (AddSymbol)", FALSE);
dlx>       |         ^~~~~
dlx>       |         perror
dlx> armv6l-unknown-linux-gnueabihf-cc -c -O2  -o masm.o masm.c
dlx> masm.c: In function 'main':
dlx> masm.c:891:13: warning: ignoring return value of 'fgets' declared with attribute 'warn_unused_result' [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wunused-result-Wunused-result8;;]
dlx>   891 |             fgets (Line, LINELEN, In);
dlx>       |             ^~~~~~~~~~~~~~~~~~~~~~~~~
dlx> armv6l-unknown-linux-gnueabihf-cc -c -O2  -o masmlink.o masmlink.c
dlx> armv6l-unknown-linux-gnueabihf-cc  -o masm msym.o masm.o masmlink.o  -lm
dlx> armv6l-unknown-linux-gnueabihf-cc -c -O2  -o dsym.o dsym.c
dlx> dsym.c: In function 'AddSymbol':
dlx> dsym.c:113:9: warning: implicit declaration of function 'Error'; did you mean 'perror'? [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wimplicit-function-declaration-Wimplicit-function-declaration8;;]
dlx>   113 |         Error ("Out of memory (AddSymbol)", FALSE);
dlx>       |         ^~~~~
dlx>       |         perror
dlx> armv6l-unknown-linux-gnueabihf-cc -c -O2  -o dasm.o dasm.c
dlx> dasm.c: In function 'HandleSymbol':
dlx> dasm.c:1070:6: warning: implicit declaration of function 'CopyMacro' [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wimplicit-function-declaration-Wimplicit-function-declaration8;;]
dlx>  1070 |      CopyMacro (ST);
dlx>       |      ^~~~~~~~~
dlx> dasm.c: In function 'main':
dlx> dasm.c:1675:4: warning: ignoring return value of 'fgets' declared with attribute 'warn_unused_result' [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wunused-result-Wunused-result8;;]
dlx>  1675 |    fgets (Name, 90, FL);
dlx>       |    ^~~~~~~~~~~~~~~~~~~~
dlx> armv6l-unknown-linux-gnueabihf-cc -c -O2  -o dasm2.o dasm2.c
dlx> dasm2.c: In function 'GetLine':
dlx> dasm2.c:451:9: warning: ignoring return value of 'fgets' declared with attribute 'warn_unused_result' [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wunused-result-Wunused-result8;;]
dlx>   451 |         fgets (Line, LINELEN, In);
dlx>       |         ^~~~~~~~~~~~~~~~~~~~~~~~~
dlx> armv6l-unknown-linux-gnueabihf-cc -c -O2  -o dasmlink.o dasmlink.c
dlx> armv6l-unknown-linux-gnueabihf-cc  -o dasm dsym.o dasm.o dasm2.o dasmlink.o  -lm
dlx> installing
dlx> copied 'masm' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/bin/masm'
dlx> removed 'masm'
dlx> copied 'mon' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/bin/mon'
dlx> removed 'mon'
dlx> copied 'dasm' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/bin/dasm'
dlx> removed 'dasm'
dlx> copied 'auto.i' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/include/dlx/auto.i'
dlx> removed 'auto.i'
dlx> copied 'macro.i' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/include/dlx/macro.i'
dlx> removed 'macro.i'
dlx> copied 'print.i' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/include/dlx/print.i'
dlx> removed 'print.i'
dlx> copied 'start.i' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/include/dlx/start.i'
dlx> removed 'start.i'
dlx> copied 'timer.i' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/include/dlx/timer.i'
dlx> removed 'timer.i'
dlx> copied 'traps.i' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/include/dlx/traps.i'
dlx> removed 'traps.i'
dlx> copied 'auto.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/include/dlx/auto.a'
dlx> removed 'auto.a'
dlx> copied 'align.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/align.a'
dlx> removed 'align.a'
dlx> copied 'alu.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/alu.a'
dlx> removed 'alu.a'
dlx> copied 'clock.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/clock.a'
dlx> removed 'clock.a'
dlx> copied 'clockp.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/clockp.a'
dlx> removed 'clockp.a'
dlx> copied 'error.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/error.a'
dlx> removed 'error.a'
dlx> copied 'im.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/im.a'
dlx> removed 'im.a'
dlx> copied 'input.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/input.a'
dlx> removed 'input.a'
dlx> copied 'loop.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/loop.a'
dlx> removed 'loop.a'
dlx> copied 'loop2.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/loop2.a'
dlx> removed 'loop2.a'
dlx> copied 'mt.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/mt.a'
dlx> removed 'mt.a'
dlx> copied 'mtest.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/mtest.a'
dlx> removed 'mtest.a'
dlx> copied 'num.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/num.a'
dlx> removed 'num.a'
dlx> copied 'pbr.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/pbr.a'
dlx> removed 'pbr.a'
dlx> copied 'pdata.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/pdata.a'
dlx> removed 'pdata.a'
dlx> copied 'pld.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/pld.a'
dlx> removed 'pld.a'
dlx> copied 'print.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/print.a'
dlx> removed 'print.a'
dlx> copied 'set.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/set.a'
dlx> removed 'set.a'
dlx> copied 'sra.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/sra.a'
dlx> removed 'sra.a'
dlx> copied 't.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/t.a'
dlx> removed 't.a'
dlx> copied 'task.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/task.a'
dlx> removed 'task.a'
dlx> copied 'task2.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/task2.a'
dlx> removed 'task2.a'
dlx> copied 'test.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/test.a'
dlx> removed 'test.a'
dlx> copied 'trap.a' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/trap.a'
dlx> removed 'trap.a'
dlx> copied 'hp.m' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/hp.m'
dlx> removed 'hp.m'
dlx> copied 'new.m' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/examples/new.m'
dlx> removed 'new.m'
dlx> copied 'README.txt' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/doc/README.txt'
dlx> removed 'README.txt'
dlx> copied 'MANUAL.TXT' -> '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/share/dlx/doc/MANUAL.TXT'
dlx> removed 'MANUAL.TXT'
dlx> post-installation fixup
dlx> shrinking RPATHs of ELF executables and libraries in /nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf
dlx> shrinking /nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/bin/dasm
dlx> shrinking /nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/bin/mon
dlx> shrinking /nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/bin/masm
dlx> armv6l-unknown-linux-gnueabihf-strip is /nix/store/ak0iwdshx9dn7dlz3sr07ia8dqdbckwp-armv6l-unknown-linux-gnueabihf-binutils-2.35.1/bin/armv6l-unknown-linux-gnueabihf-strip
dlx> stripping (with command armv6l-unknown-linux-gnueabihf-strip and flags -S) in /nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf/bin
dlx> patching script interpreter paths in /nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf
dlx> checking for references to /private/tmp/nix-build-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf.drv-0/ in /nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf...
warning: rewriting hashes in '/nix/store/j03xqdn47dx4z7m1idiaka37fjnscwsg-dlx-2012.07.08-armv6l-unknown-linux-gnueabihf'; cross fingers
$ tree result
result
├── bin
│   ├── dasm
│   ├── masm
│   └── mon
├── include
│   └── dlx
│       ├── auto.a
│       ├── auto.i
│       ├── macro.i
│       ├── print.i
│       ├── start.i
│       ├── timer.i
│       └── traps.i
└── share
    └── dlx
        ├── doc
        │   ├── MANUAL.TXT
        │   └── README.txt
        └── examples
            ├── align.a
            ├── alu.a
            ├── clock.a
            ├── clockp.a
            ├── error.a
            ├── hp.m
            ├── im.a
            ├── input.a
            ├── loop.a
            ├── loop2.a
            ├── mt.a
            ├── mtest.a
            ├── new.m
            ├── num.a
            ├── pbr.a
            ├── pdata.a
            ├── pld.a
            ├── print.a
            ├── set.a
            ├── sra.a
            ├── t.a
            ├── task.a
            ├── task2.a
            ├── test.a
            └── trap.a

7 directories, 37 files

@jonringer
Copy link
Contributor

@siraben did you want to wait for your targetprefix PR to get merged?

@siraben
Copy link
Member Author

siraben commented Feb 17, 2021

@jonringer now I do, yes 😆.

@SuperSandro2000
Copy link
Member

@siraben I merged the makeWrapper treewide change. Give me a ping after this PR is rebased to get it merged before new merge conflicts are created.

@siraben
Copy link
Member Author

siraben commented Feb 19, 2021

@siraben I merged the makeWrapper treewide change. Give me a ping after this PR is rebased to get it merged before new merge conflicts are created.

@SuperSandro2000 Rebased and expanded to cover use of unzip in buildInputs that spans lines using

$ rg -l -U -P 'buildInputs[^]]*\n*[^]]*?\bunzip'

@siraben
Copy link
Member Author

siraben commented Feb 19, 2021

Note that since unzip does not provide any libraries, the only behavioral difference would be when cross-compiling or in the presence of strictDeps=true. In the latter case it would actually be an improvement, because if it were true then calls to unzip (in buildInputs) would be invalid at build time.

@veprbl
Copy link
Member

veprbl commented Feb 19, 2021

I suppose if unzip is used in runtime, the software would have to pick it from HOST_PATH anyway?

@Ericson2314
Copy link
Member

patchShebangs would use HOST_PATH, yeah.

Co-authored-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
@veprbl veprbl merged commit 1277332 into NixOS:staging Feb 20, 2021
Staging automation moved this from WIP to Done Feb 20, 2021
@siraben siraben deleted the unzip-buildInputs branch February 21, 2021 02:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: cross-compilation Building packages on a different sort platform than than they will be run on 6.topic: fetch 6.topic: GNOME GNOME desktop environment and its underlying platform 6.topic: python 6.topic: steam 6.topic: TeX Issues regarding texlive and TeX in general 10.rebuild-darwin: 501-1000 10.rebuild-darwin: 501+ 10.rebuild-linux: 501-1000 10.rebuild-linux: 501+
Projects
Staging
  
Done
Development

Successfully merging this pull request may close these issues.

None yet

6 participants