summary refs log tree commit diff
path: root/pkgs/stdenv
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2019-08-18 13:58:10 +0200
committerGitHub <noreply@github.com>2019-08-18 13:58:10 +0200
commitdbd7ea5f294d9d31ea74b4288ec9fa2a5cc78f79 (patch)
tree37554c63a5e6e81ba1f10755983f584200b854cc /pkgs/stdenv
parenta5b549e816e9eeb1e76303f837ee2d1324c250a5 (diff)
parent88146a095f5040b5beb9612c63604493aefa9fd2 (diff)
downloadnixpkgs-dbd7ea5f294d9d31ea74b4288ec9fa2a5cc78f79.tar
nixpkgs-dbd7ea5f294d9d31ea74b4288ec9fa2a5cc78f79.tar.gz
nixpkgs-dbd7ea5f294d9d31ea74b4288ec9fa2a5cc78f79.tar.bz2
nixpkgs-dbd7ea5f294d9d31ea74b4288ec9fa2a5cc78f79.tar.lz
nixpkgs-dbd7ea5f294d9d31ea74b4288ec9fa2a5cc78f79.tar.xz
nixpkgs-dbd7ea5f294d9d31ea74b4288ec9fa2a5cc78f79.tar.zst
nixpkgs-dbd7ea5f294d9d31ea74b4288ec9fa2a5cc78f79.zip
Merge pull request #66725 from flokli/wrapqtappshook-exec
stdenv: add isELFExec, isELFDyn, fix wrappers
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r--pkgs/stdenv/generic/setup.sh12
1 files changed, 12 insertions, 0 deletions
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index ebcedce60b8..311292169ec 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -212,6 +212,18 @@ isELF() {
     if [ "$magic" = $'\177ELF' ]; then return 0; else return 1; fi
 }
 
+# Return success if the specified file is an ELF object
+# and its e_type is ET_EXEC (executable file)
+isELFExec() {
+    grep -ao -P '^\177ELF.{11}\x00\x02' "$1" >/dev/null
+}
+
+# Return success if the specified file is an ELF object
+# and its e_type is ET_DYN (shared object file)
+isELFDyn() {
+    grep -ao -P '^\177ELF.{11}\x00\x03' "$1" >/dev/null
+}
+
 # Return success if the specified file is a script (i.e. starts with
 # "#!").
 isScript() {