1
0
Fork 0
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:
Dave Davenport 2021-01-17 16:43:16 +01:00
parent faf46b2473
commit 0445025058

View file

@ -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
```