Eix

Updated 14 March 2019

Eix is a search, diff and binary cache update in your local tree. The detailed manual on eix can be found here.

The app-portage/eix package is provided in all Calculate Linux flavours. It is a much faster tool than Portage, the package manager. Eix uses its own Portage and overlay database, which is updated according to your system settings every time you call cl-update. Thus, you do not need to run eix-update to update the database unless you have modified it and want to check the result with the same tool. Besides, eix can also synchronize the Portage tree. In Calculate Linux, cl-update --sync-only will still be called.

Here is some of the most common examples of how to use eix.

Output syntax

Default output

By default, calling eix without options will result in listing all packages, as shown below:

eix

[I] app-misc/mc
     Available versions:      4.8.15 4.8.18-r1 ~4.8.19 4.8.20-r1{tbz2} ~4.8.20-r2 **9999 {X +edit gpm mclib nls samba sftp +slang spell test unicode +xdg}
     Installed versions:  4.8.20-r1{tbz2}(12:45:03 16.01.2018)(X edit gpm nls samba slang xdg -mclib -sftp -spell -test)
     Homepage:     https://www.midnight-commander.org
     Description:              GNU Midnight Commander is a text based file manager
...

Here you can see all available versions of the package, the installed version, available USE flags as well as USE flags the package was installed with, the developers' site address, a package description.

Compact output

If you only need to check if the package is available, together with its name, version and description, use the -c, or --compact option:

eix -c

[I] app-misc/mc (4.8.20-r1{tbz2}@16.01.2018): GNU Midnight Commander is a text based file manager
...


Package name listing only

If you browse through numerous packages, you might also want to list their names only. To do so, use the -#, or --only-names option:

eix -#

app-misc/mc
...

Verbose output

For more detailed information about the package, e.g. the license, use the -v, --verbose option:

eix -v firefox

* www-client/firefox                                                                                    
     Available versions:      52.4.0^d 52.6.0^d 58.0.1^d{                   tbz2}                                                                                                                                        
     IUSE (all versions):     bindist custom-cflags custom-optimization dbus debug eme-free +gmp-autoupdate g                    tk2 hardened hwaccel jack +jemalloc neon pgo pulseaudio rust +screenshot selinux startup-notification system-cairo system                  -harfbuzz system-icu system-jpeg system-libevent system-libvpx system-sqlite test wifi L10N="ach af an ar as ast az bg bn              -BD bn-IN br bs ca cak cs cy da de dsb el en-GB en-ZA eo es-AR es-CL es-ES es-MX et eu fa ff fi fr fy ga gd gl gn gu he h          i hr hsb hu hy id is it ja ka kab kk km kn ko lij lt lv mai mk ml mr ms nb nl nn or pa pl pt-BR pt-PT rm ro ru si sk sl s    on sq sr sv ta te th tr uk uz vi xh zh-CN zh-TW"
     Installed versions:  Version:  58.0.1^d{tbz2}
                            Date:    14:12:21 27.02.2018
                            USE:     dbus gmp-autoupdate hwaccel screenshot system-icu system-jpeg system-libevent system-libvpx system-sqlite -bindist -custom-cflags -custom-optimization -debug -eme-free -hardened -jack -neon -pulseaudio -selinux -startup-notification -system-harfbuzz -test -wifi L10N="bg bs cs da de es-AR es-ES es-MX et fi fr hr hu it kk lt lv nl pl pt-BR pt-PT ro ru sk sl sq sr sv uk -ach -af -an -ar -as -ast -az -bn-BD -bn-IN -br -ca -cak -cy -dsb -el -en-GB -en-ZA -eo -es-CL -eu -fa -ff -fy -ga -gd -gl -gn -gu -he -hi -hsb -hy -id -is -ja -ka -kab -km -kn -ko -lij -mai -mk -ml -mr -ms -nb -nn -or -pa -rm -si -son -ta -te -th -tr -uz -vi -xh -zh-CN -zh-TW"
                            DEPEND:  >=dev-libs/nss-3.34.1 >=dev-libs/nspr-4.17 >=sys-devel/llvm-4.0.1 >=sys-devel/clang-4.0.1 >=dev-lang/yasm-1.1 virtual/opengl >=sys-apps/sed-4 virtual/pkgconfig >=dev-lang/python-2.7.5-r2:2.7[ncurses,sqlite,ssl,threads] app-arch/zip app-arch/unzip >=sys-devel/binutils-2.16.1 sys-apps/findutils || ( ( >=dev-lang/rust-1.21.0 >=dev-util/cargo-0.22.0 ) >=dev-lang/rust-1.21.0[extended] ( >=dev-lang/rust-bin-1.21.0 >=dev-util/cargo-0.22.0 ) ) >=app-text/hunspell-1.5.4:0/1.6= dev-libs/atk dev-libs/expat >=x11-libs/cairo-1.10[X] >=x11-libs/gtk+-2.18:2 x11-libs/gdk-pixbuf >=x11-libs/pango-1.22.0 >=media-libs/libpng-1.6.34:0/16=[apng] >=media-libs/mesa-10.2:* media-libs/fontconfig >=media-libs/freetype-2.4.10 media-libs/alsa-lib virtual/freedesktop-icon-theme >=sys-apps/dbus-0.60 >=dev-libs/dbus-glib-0.72 >=x11-libs/pixman-0.19.2 >=dev-libs/glib-2.26:2 >=sys-libs/zlib-1.2.3 >=virtual/libffi-3.0.10 virtual/ffmpeg x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrender x11-libs/libXt >=dev-libs/icu-59.1:0/60.2= >=media-libs/libjpeg-turbo-1.2.1 >=dev-libs/libevent-2.0:0/2.1-6= >=dev-db/sqlite-3.20.1:3[secure-delete,-debug] >=media-libs/libvpx-1.5.0:0/3=[postproc] >=x11-libs/gtk+-3.4.0:3 >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16:1.16 >=sys-devel/automake-1.15.1:1.15 ) ~sys-devel/autoconf-2.13 >=sys-devel/libtool-2.4 app-arch/unzip
                            RDEPEND: >=dev-libs/nss-3.34.1 >=dev-libs/nspr-4.17 >=app-text/hunspell-1.5.4:0/1.6= dev-libs/atk dev-libs/expat >=x11-libs/cairo-1.10[X] >=x11-libs/gtk+-2.18:2 x11-libs/gdk-pixbuf >=x11-libs/pango-1.22.0 >=media-libs/libpng-1.6.34:0/16=[apng] >=media-libs/mesa-10.2:* media-libs/fontconfig >=media-libs/freetype-2.4.10 media-libs/alsa-lib virtual/freedesktop-icon-theme >=sys-apps/dbus-0.60 >=dev-libs/dbus-glib-0.72 >=x11-libs/pixman-0.19.2 >=dev-libs/glib-2.26:2 >=sys-libs/zlib-1.2.3 >=virtual/libffi-3.0.10 virtual/ffmpeg x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrender x11-libs/libXt >=dev-libs/icu-59.1:0/60.2= >=media-libs/libjpeg-turbo-1.2.1 >=dev-libs/libevent-2.0:0/2.1-6= >=dev-db/sqlite-3.20.1:3[secure-delete,-debug] >=media-libs/libvpx-1.5.0:0/3=[postproc] >=x11-libs/gtk+-3.4.0:3
                            EAPI:    6
                            58.0.1^d{tbz2}
     Homepage:     http://www.mozilla.com/firefox
     Find open bugs:   https://bugs.gentoo.org/buglist.cgi?quicksearch=www-client%2Ffirefox
     Description:              Firefox Web Browser
     License:              MPL-2.0 GPL-2 LGPL-2.1
...

If necessary, use this to display information about each version of the package, line by line. To do this, use option -l, --versionlines:

eix -l

[I] www-client/firefox
     Available versions:      
            52.4.0    ^d [bindist custom-cflags custom-optimization dbus debug eme-free +gmp-autoupdate gtk2 hardened hwaccel jack +jemalloc neon pgo pulseaudio rust selinux startup-notification system-cairo system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-sqlite test wifi L10N="ach af an ar as ast az bg bn-BD bn-IN br bs ca cak cs cy da de dsb el en-GB en-ZA eo es-AR es-CL es-ES es-MX et eu fa ff fi fr fy ga gd gl gn gu he hi hr hsb hu hy id is it ja ka kab kk km kn ko lij lt lv mai mk ml mr ms nb nl nn or pa pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv ta te th tr uk uz vi xh zh-CN zh-TW"]
            52.6.0    ^d [bindist custom-cflags custom-optimization dbus debug eme-free +gmp-autoupdate gtk2 hardened hwaccel jack +jemalloc neon pgo pulseaudio rust selinux startup-notification system-cairo system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-sqlite test wifi L10N="ach af an ar as ast az bg bn-BD bn-IN br bs ca cak cs cy da de dsb el en-GB en-ZA eo es-AR es-CL es-ES es-MX et eu fa ff fi fr fy ga gd gl gn gu he hi hr hsb hu hy id is it ja ka kab kk km kn ko lij lt lv mai mk ml mr ms nb nl nn or pa pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv ta te th tr uk uz vi xh zh-CN zh-TW"]
            58.0.1    ^d{tbz2} [bindist custom-cflags custom-optimization dbus debug eme-free +gmp-autoupdate hardened hwaccel jack neon pulseaudio +screenshot selinux startup-notification system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-sqlite test wifi L10N="ach af an ar as ast az bg bn-BD bn-IN br bs ca cak cs cy da de dsb el en-GB en-ZA eo es-AR es-CL es-ES es-MX et eu fa ff fi fr fy ga gd gl gn gu he hi hr hsb hu hy id is it ja ka kab kk km kn ko lij lt lv mai mk ml mr ms nb nl nn or pa pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv ta te th tr uk uz vi xh zh-CN zh-TW"]
     Installed versions:  58.0.1^d{tbz2}(14:12:21 27.02.2018)(dbus gmp-autoupdate hwaccel screenshot system-icu system-jpeg system-libevent system-libvpx system-sqlite -bindist -custom-cflags -custom-optimization -debug -eme-free -hardened -jack -neon -pulseaudio -selinux -startup-notification -system-harfbuzz -test -wifi L10N="bg bs cs da de es-AR es-ES es-MX et fi fr hr hu it kk lt lv nl pl pt-BR pt-PT ro ru sk sl sq sr sv uk -ach -af -an -ar -as -ast -az -bn-BD -bn-IN -br -ca -cak -cy -dsb -el -en-GB -en-ZA -eo -es-CL -eu -fa -ff -fy -ga -gd -gl -gn -gu -he -hi -hsb -hy -id -is -ja -ka -kab -km -kn -ko -lij -mai -mk -ml -mr -ms -nb -nn -or -pa -rm -si -son -ta -te -th -tr -uz -vi -xh -zh-CN -zh-TW")
     Homepage:     http://www.mozilla.com/firefox
     Description:              Firefox Web Browser
...

-l, --versionlines and -v, --verbose are perfectly compatible options:

eix -lv

Search options

Search by package name

By default, eix makes search by package name. For example, if you look up the word 'browser', you will see 19 results:

eix browser

* www-client/qutebrowser
     Available versions:      ~1.0.4^t 1.1.1^t **9999^t {test PYTHON_TARGETS="python3_5 python3_6"}
     Homepage:     https://www.qutebrowser.org/ https://github.com/qutebrowser/qutebrowser
     Description:              A keyboard-driven, vim-like browser based on PyQt5 and QtWebEngine
...

Search by package description

If you need to search by package description, use option -S, --description. Search for 'browser' will return 106 matches:

eix -S browser

* www-client/opera
     Available versions:      12.16_p1860-r1 45.0.2552.898[1] 51.0.2830.34 51.0.2830.40 {gtk multilib ELIBC="FreeBSD" L10N="af ar az (+)be (+)bg (+)bn +ca cnr (+)cs (+)da (+)de (+)el (+)en-GB +es (+)es-419 es-ES et fa (+)fi +fil (+)fr (+)fr-CA fy gd (+)he (+)hi (+)hr (+)hu (+)id (+)it (+)ja ka kk (+)ko (+)lt (+)lv mk (+)ms (+)nb (+)nl nn pa (+)pl pt (+)pt-BR +pt-PT (+)ro (+)ru (+)sk (+)sr (+)sv (+)sw (+)ta (+)te (+)th tl (+)tr (+)uk ur uz (+)vi (+)zh-CN (+)zh-TW zu"}
     Homepage:     http://www.opera.com/
     Description:              A fast and secure web browser

[1] "calculate" /var/lib/layman/calculate
...

Search by USE flag

Most Calculate Linux packages have USE flags that define their functionality. To search by USE flag, use option -U, --use:

eix -U qt5

It may be useful to filter the installed packages by flag:

eix -IU qt5

Compact output is available for this option:

eix -#IU qt5

Eix can search both by a USE flag, but also among installed packages for which a specified USE flag was enabled. To do so, use option --installed-with-use. You can, for instance, get a compact list of the installed packages with the enabled 'qt5' USE flag:

eix -# --installed-with-use qt5

While the --installed-without-use option is used to display installed packages with the flag disabled. Here is an example of how to get a compact list of the installed packages with the 'qt5' flag disabled:

eix -# --installed-without-use qt5

Search scope

Search among installed packages

To list the installed packages only, use -I, --installed:

eix -I

Search within a package category

To view the packages belonging to a category, use -C, --category:

eix -C kde-apps

Search within a slot

Slots allow to have multiple versions of a package in your system: for instance, KDE4 and KDE5 ones. To limit your search to a slot, use option --slot:

eix --slot

When combined to a category option, this command will list all packages with the specified slot belonging to the specified category:

eix -C kde-apps --slot 5

Search in the added overlays

If used with parameter -O, --overlay, eix will display all packages of the overlays enabled on your system. Such packages or package versions are marked with a numbered footnote. At the end of the list a legend is added:

eix -O

* x11-themes/elementary-icon-theme [1]
     Available versions:      2.7.1-r4^bs ~9999^bs
     Homepage:     https://launchpad.net/elementaryicons
     Description:              Elementary icon theme is designed to be smooth, sexy, clear, and efficient

* x11-themes/calculate-xcursors [1]
     Available versions:      13-r1 14-r1
     Homepage:     http://www.calculate-linux.org/packages/x11-themes/calculate-xcursors
     Description:              Calculate X.Org mouse cursor
...

This output shows that in the 'calculate' overlay, x11-themes/elementary-icon-theme is the only package to have all the ebuilds, while xfce-extra/xfce4-power-manager only has an ebuild for version 1.2.0. You can also see that ebuilds are only in the 'calculate' overlay.

To search by overlay name, use option --in-overlay:

eix --in-overlay calculate

Search for unstable versions

The system can be installed as stable or unstable versions of packages, some of which are unmasked in the 'calculate' overlay. To view the list of unstable packages, use option --installed-unstable:

eix --installed-unstable