Skip to content

Commit c6c2a65

Browse files
committed
Fix NixOS#310, add zsh completion
1 parent 99db062 commit c6c2a65

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

Makefile.am

+3
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,6 @@ EXTRA_DIST = COPYING README.md patchelf.spec version $(man1_MANS)
55
man1_MANS = patchelf.1
66

77
doc_DATA = README.md
8+
9+
zshcompletiondir = $(datadir)/zsh/site-functions
10+
dist_zshcompletion_DATA = completions/zsh/_patchelf

completions/zsh/_patchelf

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#compdef patchelf
2+
3+
local options=(
4+
'--page-size[Uses the given page size]:SIZE'
5+
'--set-interpreter[Change the dynamic loader of executable]:INTERPRETER:dynamic loader:_files'
6+
'(- : *)--print-interpreter[Prints the ELF interpreter of the executable]'
7+
'(- : *)--print-os-abi[Prints the OS ABI of the executable]'
8+
'--set-os-abi[Changes the OS ABI of the executable]:ABI:(none sysv hpux netbsd gnu linux solaris aix irix freebsd tru64 modesto openbsd arm_aeabi arm standalone)'
9+
'(- : *)--print-soname[Prints DT_SONAME entry of .dynamic section]'
10+
'--set-soname[Sets DT_SONAME entry of a library to SONAME]:SONAME'
11+
'--set-rpath[Change the DT_RUNPATH of the executable or library to RUNPATH]:RUNPATH:_dirs'
12+
'--remove-rpath[Removes the DT_RPATH or DT_RUNPATH entry of the executable or library]'
13+
'--shrink-rpath[Remove from the DT_RUNPATH or DT_RPATH all directories that do not contain a library referenced by DT_NEEDED fields of the executable or library]'
14+
'--allowed-rpath-prefixes[Combined with the "--shrink-rpath" option, this can be used for further rpath tuning]:PREFIXES'
15+
'(- : *)--print-rpath[Prints the DT_RUNPATH or DT_RPATH for an executable or library]'
16+
'--force-rpath[Forces the use of the obsolete DT_RPATH in the file instead of DT_RUNPATH]'
17+
'--add-needed[Adds a declared dependency on a dynamic library]:LIBRARY'
18+
'*--replace-needed[Replaces a declared dependency on a dynamic library with another one]:a declared dependency:LIB_ORIG:another declared dependency:LIB_NEW'
19+
'--remove-needed[Removes a declared dependency on LIBRARY]:LIBRARY'
20+
'(- : *)--print-needed[Prints all DT_NEEDED entries of the executable]'
21+
'--no-default-lib[Marks the object so that the search for dependencies of this object will ignore any default library search paths]'
22+
'--no-sort[Do not sort program headers or section headers]'
23+
'--add-debug-tag[Adds DT_DEBUG tag to the .dynamic section if not yet present in an ELF object]'
24+
'(- : *)--print-execstack[Prints the state of the executable flag of the GNU_STACK program header, if present]'
25+
'--clear-execstack[Clears the executable flag of the GNU_STACK program header, or adds a new header]'
26+
'--set-execstack[Sets the executable flag of the GNU_STACK program header, or adds a new header]'
27+
'--rename-dynamic-symbols[Renames dynamic symbols]:NAME_MAP_FILE'
28+
'--output[Set the output file name]:FILE:_files'
29+
'--debug[Prints details of the changes made to the input file]'
30+
'--version[Shows the version of patchelf]'
31+
"(- : *)"{-h,--help}'[Show list of command-line options]'
32+
)
33+
34+
_arguments -s -S $options '*: :_files'

0 commit comments

Comments
 (0)