mirror of
https://github.com/davatorium/rofi.git
synced 2024-11-18 13:54:36 -05:00
Reindent the INSTALL.md file.
This commit is contained in:
parent
faf46b2473
commit
0445025058
1 changed files with 71 additions and 119 deletions
190
INSTALL.md
190
INSTALL.md
|
@ -10,36 +10,36 @@ You can also use [Meson](https://mesonbuild.com/) as an alternative.
|
||||||
|
|
||||||
### For building:
|
### For building:
|
||||||
|
|
||||||
* C compiler that supports the c99 standard. (gcc or clang)
|
* C compiler that supports the c99 standard. (gcc or clang)
|
||||||
* make
|
* make
|
||||||
* autoconf
|
* autoconf
|
||||||
* automake (1.11.3 or up)
|
* automake (1.11.3 or up)
|
||||||
* pkg-config
|
* pkg-config
|
||||||
* flex 2.5.39 or higher
|
* flex 2.5.39 or higher
|
||||||
* bison
|
* bison
|
||||||
* check (Can be disabled using the `--disable-check` configure flag)
|
* check (Can be disabled using the `--disable-check` configure flag)
|
||||||
check is used for build-time tests and does not affect functionality.
|
check is used for build-time tests and does not affect functionality.
|
||||||
* Developer packages of the external libraries
|
* Developer packages of the external libraries
|
||||||
* glib-compile-resources
|
* glib-compile-resources
|
||||||
|
|
||||||
### External libraries
|
### External libraries
|
||||||
|
|
||||||
* libpango
|
* libpango
|
||||||
* libpangocairo
|
* libpangocairo
|
||||||
* libcairo
|
* libcairo
|
||||||
* libcairo-xcb
|
* libcairo-xcb
|
||||||
* libglib2.0 >= 2.40
|
* libglib2.0 >= 2.40
|
||||||
* gmodule-2.0
|
* gmodule-2.0
|
||||||
* gio-unix-2.0
|
* gio-unix-2.0
|
||||||
* libgdk-pixbuf-2.0
|
* libgdk-pixbuf-2.0
|
||||||
* libstartup-notification-1.0
|
* libstartup-notification-1.0
|
||||||
* libxkbcommon >= 0.4.1
|
* libxkbcommon >= 0.4.1
|
||||||
* libxkbcommon-x11
|
* libxkbcommon-x11
|
||||||
* libxcb (sometimes split, you need libxcb, libxcb-xkb and libxcb-randr libxcb-xinerama)
|
* libxcb (sometimes split, you need libxcb, libxcb-xkb and libxcb-randr libxcb-xinerama)
|
||||||
* xcb-util
|
* xcb-util
|
||||||
* xcb-util-wm (sometimes split as libxcb-ewmh and libxcb-icccm)
|
* xcb-util-wm (sometimes split as libxcb-ewmh and libxcb-icccm)
|
||||||
* xcb-util-xrm [new module might not be available in your distribution. The source can be found
|
* xcb-util-xrm [new module might not be available in your distribution. The source can be found
|
||||||
here](https://github.com/Airblader/xcb-util-xrm/)
|
here](https://github.com/Airblader/xcb-util-xrm/)
|
||||||
|
|
||||||
On debian based systems, the developer packages are in the form of: `<package>-dev` on rpm based
|
On debian based systems, the developer packages are in the form of: `<package>-dev` on rpm based
|
||||||
`<package>-devel`.
|
`<package>-devel`.
|
||||||
|
@ -50,27 +50,19 @@ On debian based systems, the developer packages are in the form of: `<package>-d
|
||||||
|
|
||||||
Create a build directory and enter it:
|
Create a build directory and enter it:
|
||||||
|
|
||||||
```
|
mkdir build && cd build
|
||||||
mkdir build && cd build
|
|
||||||
```
|
|
||||||
|
|
||||||
Check dependencies and configure build system:
|
Check dependencies and configure build system:
|
||||||
|
|
||||||
```
|
../configure
|
||||||
../configure
|
|
||||||
```
|
|
||||||
|
|
||||||
Build Rofi:
|
Build Rofi:
|
||||||
|
|
||||||
```
|
make
|
||||||
make
|
|
||||||
```
|
|
||||||
|
|
||||||
The actual install, execute as root (if needed):
|
The actual install, execute as root (if needed):
|
||||||
|
|
||||||
```
|
make install
|
||||||
make install
|
|
||||||
```
|
|
||||||
|
|
||||||
The default installation prefix is: `/usr/local/` use `./configure --prefix={prefix}` to install into another location.
|
The default installation prefix is: `/usr/local/` use `./configure --prefix={prefix}` to install into another location.
|
||||||
|
|
||||||
|
@ -78,21 +70,15 @@ The default installation prefix is: `/usr/local/` use `./configure --prefix={pre
|
||||||
|
|
||||||
Check dependencies and configure build system:
|
Check dependencies and configure build system:
|
||||||
|
|
||||||
```
|
meson setup build
|
||||||
meson setup build
|
|
||||||
```
|
|
||||||
|
|
||||||
Build Rofi:
|
Build Rofi:
|
||||||
|
|
||||||
```
|
ninja -C build
|
||||||
ninja -C build
|
|
||||||
```
|
|
||||||
|
|
||||||
The actual install, execute as root (if needed):
|
The actual install, execute as root (if needed):
|
||||||
|
|
||||||
```
|
ninja -C build install
|
||||||
ninja -C build install
|
|
||||||
```
|
|
||||||
|
|
||||||
The default installation prefix is: `/usr/local/` use `meson setup build --prefix={prefix}` to install into another location.
|
The default installation prefix is: `/usr/local/` use `meson setup build --prefix={prefix}` to install into another location.
|
||||||
|
|
||||||
|
@ -105,29 +91,21 @@ The GitHub Pages version of these directions may be out of date. Please use
|
||||||
|
|
||||||
If you don't have a checkout:
|
If you don't have a checkout:
|
||||||
|
|
||||||
```
|
git clone --recursive https://github.com/DaveDavenport/rofi
|
||||||
git clone --recursive https://github.com/DaveDavenport/rofi
|
cd rofi/
|
||||||
cd rofi/
|
|
||||||
```
|
|
||||||
|
|
||||||
If you already have a checkout:
|
If you already have a checkout:
|
||||||
|
|
||||||
```
|
cd rofi/
|
||||||
cd rofi/
|
git pull
|
||||||
git pull
|
git submodule update --init
|
||||||
git submodule update --init
|
|
||||||
```
|
|
||||||
|
|
||||||
For Autotools you have an extra step, to generate build system:
|
For Autotools you have an extra step, to generate build system:
|
||||||
|
|
||||||
```
|
autoreconf -i
|
||||||
autoreconf -i
|
|
||||||
```
|
|
||||||
|
|
||||||
From this point, use the same steps you use for a release.
|
From this point, use the same steps you use for a release.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Options for configure
|
## Options for configure
|
||||||
|
|
||||||
When you run the configure step there are several options you can configure.
|
When you run the configure step there are several options you can configure.
|
||||||
|
@ -137,36 +115,29 @@ After the initial setup, use `meson configure build`.
|
||||||
|
|
||||||
The most useful one to set the installation prefix:
|
The most useful one to set the installation prefix:
|
||||||
|
|
||||||
```
|
# Autotools
|
||||||
# Autotools
|
../configure --prefix=<installation path>
|
||||||
../configure --prefix=<installation path>
|
|
||||||
|
|
||||||
# Meson
|
# Meson
|
||||||
meson setup build --prefix <installation path>
|
meson setup build --prefix <installation path>
|
||||||
```
|
|
||||||
|
|
||||||
f.e.
|
f.e.
|
||||||
|
|
||||||
```
|
# Autotools
|
||||||
# Autotools
|
../configure --prefix=/usr/
|
||||||
../configure --prefix=/usr/
|
|
||||||
|
|
||||||
# Meson
|
# Meson
|
||||||
meson setup build --prefix /usr
|
meson setup build --prefix /usr
|
||||||
```
|
|
||||||
|
|
||||||
### Install locally
|
### Install locally
|
||||||
|
|
||||||
or to install locally:
|
or to install locally:
|
||||||
|
|
||||||
```
|
# Autotools
|
||||||
# Autotools
|
../configure --prefix=${HOME}/.local/
|
||||||
../configure --prefix=${HOME}/.local/
|
|
||||||
|
|
||||||
# Meson
|
|
||||||
meson setup build --prefix ${HOME}/.local
|
|
||||||
```
|
|
||||||
|
|
||||||
|
# Meson
|
||||||
|
meson setup build --prefix ${HOME}/.local
|
||||||
|
|
||||||
## Options for make
|
## Options for make
|
||||||
|
|
||||||
|
@ -176,26 +147,22 @@ When you run make you can tweak the build process a little.
|
||||||
|
|
||||||
Show the commands called:
|
Show the commands called:
|
||||||
|
|
||||||
```
|
# Autotools
|
||||||
# Autotools
|
make V=1
|
||||||
make V=1
|
|
||||||
|
|
||||||
# Meson
|
# Meson
|
||||||
ninja -C build -v
|
ninja -C build -v
|
||||||
```
|
|
||||||
|
|
||||||
### Debug build
|
### Debug build
|
||||||
|
|
||||||
Compile with debug symbols and no optimization, this is useful for making backtraces:
|
Compile with debug symbols and no optimization, this is useful for making backtraces:
|
||||||
|
|
||||||
```
|
# Autotools
|
||||||
# Autotools
|
make CFLAGS="-O0 -g3" clean rofi
|
||||||
make CFLAGS="-O0 -g3" clean rofi
|
|
||||||
|
|
||||||
# Meson
|
# Meson
|
||||||
meson configure build --debug
|
meson configure build --debug
|
||||||
ninja -C build
|
ninja -C build
|
||||||
```
|
|
||||||
|
|
||||||
### Get a backtrace
|
### Get a backtrace
|
||||||
|
|
||||||
|
@ -204,13 +171,11 @@ mouse. So if it crashes in GDB you are stuck.
|
||||||
The best way to go is to enable core file. (ulimit -c unlimited in bash) then make rofi crash. You
|
The best way to go is to enable core file. (ulimit -c unlimited in bash) then make rofi crash. You
|
||||||
can then load the core in GDB.
|
can then load the core in GDB.
|
||||||
|
|
||||||
```
|
# Autotools
|
||||||
# Autotools
|
gdb rofi core
|
||||||
gdb rofi core
|
|
||||||
|
|
||||||
# Meson (because it uses a separate build directory)
|
# Meson (because it uses a separate build directory)
|
||||||
gdb build/rofi core
|
gdb build/rofi core
|
||||||
```
|
|
||||||
|
|
||||||
> Where the core file is located and what its exact name is different on each distributions. Please consult the
|
> Where the core file is located and what its exact name is different on each distributions. Please consult the
|
||||||
> relevant documentation.
|
> relevant documentation.
|
||||||
|
@ -219,9 +184,7 @@ gdb build/rofi core
|
||||||
|
|
||||||
### Debian or Ubuntu
|
### Debian or Ubuntu
|
||||||
|
|
||||||
```
|
apt install rofi
|
||||||
apt install rofi
|
|
||||||
```
|
|
||||||
|
|
||||||
### Fedora
|
### Fedora
|
||||||
|
|
||||||
|
@ -229,27 +192,20 @@ rofi from [russianfedora repository](http://ru.fedoracommunity.org/repository)
|
||||||
and also
|
and also
|
||||||
[Yaroslav's COPR (Cool Other Package Repo)](https://copr.fedorainfracloud.org/coprs/yaroslav/i3desktop/)
|
[Yaroslav's COPR (Cool Other Package Repo)](https://copr.fedorainfracloud.org/coprs/yaroslav/i3desktop/)
|
||||||
|
|
||||||
|
|
||||||
### ArchLinux
|
### ArchLinux
|
||||||
|
|
||||||
```
|
pacman -S rofi
|
||||||
pacman -S rofi
|
|
||||||
```
|
|
||||||
|
|
||||||
### Gentoo
|
### Gentoo
|
||||||
|
|
||||||
An ebuild is available, `x11-misc/rofi`. It's up to date, but you may need to
|
An ebuild is available, `x11-misc/rofi`. It's up to date, but you may need to
|
||||||
enable ~arch to get the latest release:
|
enable ~arch to get the latest release:
|
||||||
|
|
||||||
```
|
echo 'x11-misc/rofi ~amd64' >> /etc/portage/package.accept_keywords
|
||||||
echo 'x11-misc/rofi ~amd64' >> /etc/portage/package.accept_keywords
|
|
||||||
```
|
|
||||||
|
|
||||||
for amd64 or:
|
for amd64 or:
|
||||||
|
|
||||||
```
|
echo 'x11-misc/rofi ~x86' >> /etc/portage/package.accept_keywords
|
||||||
echo 'x11-misc/rofi ~x86' >> /etc/portage/package.accept_keywords
|
|
||||||
```
|
|
||||||
|
|
||||||
for i386.
|
for i386.
|
||||||
|
|
||||||
|
@ -259,12 +215,8 @@ To install it, simply issue `emerge rofi`.
|
||||||
|
|
||||||
On both openSUSE Leap and openSUSE Tumbleweed rofi can be installed using:
|
On both openSUSE Leap and openSUSE Tumbleweed rofi can be installed using:
|
||||||
|
|
||||||
```
|
sudo zypper install rofi
|
||||||
sudo zypper install rofi
|
|
||||||
```
|
|
||||||
|
|
||||||
### FreeBSD
|
### FreeBSD
|
||||||
|
|
||||||
```
|
sudo pkg install rofi
|
||||||
sudo pkg install rofi
|
|
||||||
```
|
|
||||||
|
|
Loading…
Reference in a new issue