libredirect: specify libName

reduces a bit of duplication and can also be used from the outside:

   export LD_PRELOAD=${libredirect}/lib/${libredirect.libName}
This commit is contained in:
zimbatm 2018-11-13 12:26:13 +01:00
parent cb95a3c1d1
commit e62db105c4
No known key found for this signature in database
GPG Key ID: 71BAF6D40C1D63D7

View File

@ -8,11 +8,11 @@ stdenv.mkDerivation {
cp ${./test.c} test.c cp ${./test.c} test.c
''; '';
shlibext = stdenv.targetPlatform.extensions.sharedLibrary; libName = "libredirect" + stdenv.targetPlatform.extensions.sharedLibrary;
buildPhase = '' buildPhase = ''
$CC -Wall -std=c99 -O3 -shared libredirect.c \ $CC -Wall -std=c99 -O3 -shared libredirect.c \
-o "libredirect$shlibext" -fPIC -ldl -o "$libName" -fPIC -ldl
if [ -n "$doInstallCheck" ]; then if [ -n "$doInstallCheck" ]; then
$CC -Wall -std=c99 -O3 test.c -o test $CC -Wall -std=c99 -O3 test.c -o test
@ -20,18 +20,18 @@ stdenv.mkDerivation {
''; '';
installPhase = '' installPhase = ''
install -vD "libredirect$shlibext" "$out/lib/libredirect$shlibext" install -vD "$libName" "$out/lib/$libName"
''; '';
doInstallCheck = true; doInstallCheck = true;
installCheckPhase = if stdenv.isDarwin then '' installCheckPhase = if stdenv.isDarwin then ''
NIX_REDIRECTS="/foo/bar/test=${coreutils}/bin/true" \ NIX_REDIRECTS="/foo/bar/test=${coreutils}/bin/true" \
DYLD_INSERT_LIBRARIES="$out/lib/libredirect$shlibext" \ DYLD_INSERT_LIBRARIES="$out/lib/$libName" \
DYLD_FORCE_FLAT_NAMESPACE=1 ./test DYLD_FORCE_FLAT_NAMESPACE=1 ./test
'' else '' '' else ''
NIX_REDIRECTS="/foo/bar/test=${coreutils}/bin/true" \ NIX_REDIRECTS="/foo/bar/test=${coreutils}/bin/true" \
LD_PRELOAD="$out/lib/libredirect$shlibext" ./test LD_PRELOAD="$out/lib/$libName" ./test
''; '';
meta = { meta = {