Commit 7f3416ff authored by Vagrant Cascadian's avatar Vagrant Cascadian Committed by Vagrant Cascadian

Add support for known external tools on GNU Guix.

parent d2d3deca
Pipeline #47753 passed with stage
in 16 minutes and 30 seconds
......@@ -18,43 +18,68 @@
# along with diffoscope. If not, see <>.
'abootimg': {'debian': 'abootimg'},
'abootimg': {'debian': 'abootimg', 'guix': 'abootimg'},
'apktool': {'debian': 'apktool'},
'db_dump': {'debian': 'db-util'},
'db_dump': {'debian': 'db-util', 'guix': 'bdb'},
'bsdtar': {
'debian': 'libarchive-tools',
'arch': 'libarchive',
'fedora': 'bsdtar',
'FreeBSD': 'libarchive',
'guix': 'libarchive',
'bzip2': {'debian': 'bzip2', 'arch': 'bzip2'},
'bzip2': {'debian': 'bzip2', 'arch': 'bzip2', 'guix': 'bzip2'},
'cbfstool': {},
'cd-iccdump': {'debian': 'colord', 'arch': 'colord', 'FreeBSD': 'colord'},
'cmp': {'debian': 'diffutils', 'arch': 'diffutils'},
'compare': {'debian': 'imagemagick', 'arch': 'imagemagick'},
'cpio': {'debian': 'cpio', 'arch': 'cpio'},
'diff': {'debian': 'diffutils', 'arch': 'diffutils'},
'docx2txt': {'debian': 'docx2txt', 'arch': 'docx2txt'},
'cd-iccdump': {
'debian': 'colord',
'arch': 'colord',
'FreeBSD': 'colord',
'guix': 'colord',
'cmp': {'debian': 'diffutils', 'arch': 'diffutils', 'guix': 'diffutils'},
'compare': {
'debian': 'imagemagick',
'arch': 'imagemagick',
'guix': 'imagemagick',
'cpio': {'debian': 'cpio', 'arch': 'cpio', 'guix': 'cpio'},
'diff': {'debian': 'diffutils', 'arch': 'diffutils', 'guix': 'diffutils'},
'docx2txt': {'debian': 'docx2txt', 'arch': 'docx2txt', 'guix': 'docx2txt'},
'enjarify': {'debian': 'enjarify', 'arch': 'enjarify'},
'fdtdump': {'debian': 'device-tree-compiler', 'arch': 'dtc'},
'ffprobe': {'debian': 'ffmpeg'},
'file': {'debian': 'file', 'arch': 'file'},
'find': {'debian': 'findutils', 'arch': 'findutils'},
'getfacl': {'debian': 'acl', 'arch': 'acl'},
'fdtdump': {
'debian': 'device-tree-compiler',
'arch': 'dtc',
'guix': 'dtc',
'ffprobe': {'debian': 'ffmpeg', 'guix': 'ffmpeg'},
'file': {'debian': 'file', 'arch': 'file', 'guix': 'file'},
'find': {'debian': 'findutils', 'arch': 'findutils', 'guix': 'findutils'},
'getfacl': {'debian': 'acl', 'arch': 'acl', 'guix': 'acl'},
'gifbuild': {'debian': 'giflib-tools', 'arch': 'giflib'},
'ghc': {'debian': 'ghc', 'arch': 'ghc', 'FreeBSD': 'ghc'},
'gpg': {'debian': 'gnupg', 'arch': 'gnupg', 'FreeBSD': 'gnupg'},
'gzip': {'debian': 'gzip', 'arch': 'gzip'},
'identify': {'debian': 'imagemagick', 'arch': 'imagemagick'},
'ghc': {'debian': 'ghc', 'arch': 'ghc', 'FreeBSD': 'ghc', 'guix': 'ghc'},
'gpg': {
'debian': 'gnupg',
'arch': 'gnupg',
'FreeBSD': 'gnupg',
'guix': 'gnupg',
'gzip': {'debian': 'gzip', 'arch': 'gzip', 'guix': 'gzip'},
'identify': {
'debian': 'imagemagick',
'arch': 'imagemagick',
'guix': 'imagemagick',
'img2txt': {
'debian': 'caca-utils',
'arch': 'libcaca',
'FreeBSD': 'libcaca',
'guix': 'libcaca',
'isoinfo': {
'debian': 'genisoimage',
'arch': 'cdrtools',
'FreeBSD': 'cdrtools',
'guix': 'cdrtools',
'javap': {
'debian': 'default-jdk-headless | default-jdk | java-sdk',
......@@ -62,26 +87,44 @@ EXTERNAL_TOOLS = {
'js-beautify': {'debian': 'jsbeautifier', 'arch': 'python-jsbeautifier'},
'kbxutil': {'debian': 'gnupg-utils'},
'llvm-bcanalyzer': {'debian': 'llvm', 'arch': 'llvm'},
'llvm-bcanalyzer': {'debian': 'llvm', 'arch': 'llvm', 'guix': 'llvm'},
'llvm-config': {'debian': 'llvm', 'arch': 'llvm'},
'llvm-dis': {'debian': 'llvm', 'arch': 'llvm'},
'ls': {'debian': 'coreutils', 'arch': 'coreutils'},
'llvm-dis': {'debian': 'llvm', 'arch': 'llvm', 'guix': 'llvm'},
'ls': {'debian': 'coreutils', 'arch': 'coreutils', 'guix': 'coreutils'},
'lsattr': {
'debian': 'e2fsprogs',
'arch': 'e2fsprogs',
'FreeBSD': 'e2fsprogs',
'guix': 'e2fsprogs',
'lz4': {'debian': 'lz4 | liblz4-tool', 'FreeBSD': 'lz4'},
'lz4': {'debian': 'lz4 | liblz4-tool', 'FreeBSD': 'lz4', 'guix': 'lz4'},
'msgunfmt': {
'debian': 'gettext',
'arch': 'gettext',
'FreeBSD': 'gettext-tools',
'guix': 'gettext',
'convert': {
'debian': 'imagemagick',
'arch': 'imagemagick',
'guix': 'imagemagick',
'nm': {
'debian': 'binutils-multiarch',
'arch': 'binutils',
'guix': 'binutils',
'objcopy': {
'debian': 'binutils-multiarch',
'arch': 'binutils',
'guix': 'binutils',
'convert': {'debian': 'imagemagick', 'arch': 'imagemagick'},
'nm': {'debian': 'binutils-multiarch', 'arch': 'binutils'},
'objcopy': {'debian': 'binutils-multiarch', 'arch': 'binutils'},
'objdump': {'debian': 'binutils-multiarch', 'arch': 'binutils'},
'ocamlobjinfo': {'debian': 'ocaml-nox'},
'objdump': {
'debian': 'binutils-multiarch',
'arch': 'binutils',
'guix': 'binutils',
'ocamlobjinfo': {'debian': 'ocaml-nox', 'guix': 'ocaml'},
'odt2txt': {'debian': 'odt2txt', 'arch': 'odt2txt'},
'oggDump': {'debian': 'oggvideotools'},
'pgpdump': {'debian': 'pgpdump', 'arch': 'pgpdump'},
......@@ -89,43 +132,75 @@ EXTERNAL_TOOLS = {
'debian': 'poppler-utils',
'arch': 'poppler',
'FreeBSD': 'poppler-utils',
'guix': 'poppler',
'pedump': {
'debian': 'mono-utils',
'arch': 'mono',
'FreeBSD': 'mono',
'guix': 'mono',
'pedump': {'debian': 'mono-utils', 'arch': 'mono', 'FreeBSD': 'mono'},
'ppudump': {'debian': 'fp-utils', 'arch': 'fpc', 'FreeBSD': 'fpc'},
'ps2ascii': {
'debian': 'ghostscript',
'arch': 'ghostscript',
'FreeBSD': 'ghostscript9-base',
'guix': 'ghostscript',
'readelf': {
'debian': 'binutils-multiarch',
'arch': 'binutils',
'guix': 'binutils',
'readelf': {'debian': 'binutils-multiarch', 'arch': 'binutils'},
'rpm2cpio': {
'debian': 'rpm2cpio',
'arch': 'rpmextract',
'FreeBSD': 'rpm2cpio',
'guix': 'rpm',
'Rscript': {'debian': 'r-base-core', 'arch': 'r'},
'Rscript': {'debian': 'r-base-core', 'arch': 'r', 'guix': 'r-minimal'},
'showttf': {'debian': 'fontforge-extras'},
'sng': {'debian': 'sng'},
'ssconvert': {'debian': 'gnumeric', 'arch': 'gnumeric'},
'ssh-keygen': {'debian': 'openssh-client', 'arch': 'openssh'},
'stat': {'debian': 'coreutils', 'arch': 'coreutils'},
'sqlite3': {'debian': 'sqlite3', 'arch': 'sqlite', 'FreeBSD': 'sqlite3'},
'ssconvert': {
'debian': 'gnumeric',
'arch': 'gnumeric',
'guix': 'gnumeric',
'ssh-keygen': {
'debian': 'openssh-client',
'arch': 'openssh',
'guix': 'openssh',
'stat': {'debian': 'coreutils', 'arch': 'coreutils', 'guix': 'coreutils'},
'sqlite3': {
'debian': 'sqlite3',
'arch': 'sqlite',
'FreeBSD': 'sqlite3',
'guix': 'sqlite',
'wasm2wat': {'arch': 'wabt'},
'tar': {'debian': 'tar', 'arch': 'tar'},
'tcpdump': {'debian': 'tcpdump', 'arch': 'tcpdump'},
'tar': {'debian': 'tar', 'arch': 'tar', 'guix': 'tar'},
'tcpdump': {'debian': 'tcpdump', 'arch': 'tcpdump', 'guix': 'tcpdump'},
'unsquashfs': {
'debian': 'squashfs-tools',
'arch': 'squashfs-tools',
'FreeBSD': 'squashfs-tools',
'guix': 'squashfs-tools',
'xxd': {
'debian': 'xxd | vim-common',
'arch': 'vim',
'FreeBSD': 'vim | vim-lite',
'guix': 'xxd',
'xz': {'debian': 'xz-utils', 'arch': 'xz', 'guix': 'xz'},
'zipinfo': {
'debian': 'unzip',
'arch': 'unzip',
'FreeBSD': 'unzip',
'guix': 'unzip',
'xz': {'debian': 'xz-utils', 'arch': 'xz'},
'zipinfo': {'debian': 'unzip', 'arch': 'unzip', 'FreeBSD': 'unzip'},
'zipnote': {'debian': 'zip'},
'zipnote': {'debian': 'zip', 'guix': 'zip'},
'procyon': {'debian': 'procyon-decompiler'},
'dumpxsb': {'debian': 'xmlbeans'},
......@@ -38,7 +38,12 @@ find_executable = functools.lru_cache()(find_executable)
# The output of --help and --list-tools will use the order of this dict.
# Please keep it alphabetized.
OS_NAMES = collections.OrderedDict(
[('arch', 'Arch Linux'), ('debian', 'Debian'), ('FreeBSD', 'FreeBSD')]
('arch', 'Arch Linux'),
('debian', 'Debian'),
('FreeBSD', 'FreeBSD'),
('guix', 'GNU Guix'),
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment