Commit graph

3 commits

Author SHA1 Message Date
Jörg Thalheim
dadc7eb329
treewide: use runtimeShell instead of stdenv.shell whenever possible
Whenever we create scripts that are installed to $out, we must use runtimeShell
in order to get the shell that can be executed on the machine we create the
package for. This is relevant for cross-compiling. The only use case for
stdenv.shell are scripts that are executed as part of the build system.
Usages in checkPhase are borderline however to decrease the likelyhood
of people copying the wrong examples, I decided to use runtimeShell as well.
2019-02-26 14:10:49 +00:00
rnhmjoj
bcf54ce5bb
treewide: use ${stdenv.shell} instead of /bin/sh where possible 2019-01-16 20:37:15 +01:00
Bas van Dijk
872d8fc5c9 flockit: init at 2012-08-11
The flockit library and tool exists solely because rsync doesn't have file
locking.

It's not used like a normal library; you don't link against it, and you don't
have to patch your source code to use it. It's inserted between your program and
its libraries by use of LD_PRELOAD.

For example:

  $ env LD_PRELOAD=$(nix-build -A pkgs.flockit)/lib/libflockit.so FLOCKIT_FILE_PREFIX=test rsync SRC DEST

Besides the library a handy executable is provided which can simplify the above to:

  $ $(nix-build -A pkgs.flockit)/bin/flockit test rsync SRC DEST

Also see the following blog post:
https://www.swiftstack.com/blog/2012/08/15/old-school-monkeypatching/
2017-08-06 00:38:29 +02:00