Skip to content

Installation

Komposition runs on Linux, macOS, and Windows. The main way to install Komposition is from source, but binary packages are available for macOS from Homebrew.

Binary Packages

Homebrew

Komposition is available for macOS through a Homebrew formula. Given that you have Homebrew installed, run the following in your terminal to install Komposition:

brew install komposition

Komposition is now on your PATH and can be run from a terminal:

komposition

Note

There's currently no application launcher in the Homebrew formula, but that might be added in the future.

Install from Source Code

Komposition can be built on macOS, Windows, and Linux. If you're not an experienced Haskell developer, it's recommended to use Stack to build the application. The following instructions will be based on Stack, so go ahead and install that first.

Using another build tool

If you know your way around building Haskell programs, you might want to build it using Nix or regular Cabal, instead.

Getting the Source Code

Next, clone the source code repository using Git.

git clone https://github.com/owickstrom/komposition.git
cd komposition

Alternatively, if you're not using Git, download a ZIP archive:

wget https://github.com/owickstrom/komposition/archive/master.zip -O komposition-master.zip
unzip komposition-master.zip
cd komposition-master

You now have the source code. Jump on to the instructions below specific to your operating system.

Debian/Ubuntu

First, install the required dependencies:

sudo apt-get install \
    ffmpeg \
    sox \
    libgmp-dev \
    libavutil-dev \
    libavformat-dev \
    libavcodec-dev \
    libswscale-dev \
    libavdevice-dev \
    libgirepository1.0-dev \
    libgtk-3-dev \
    libpango1.0-dev \
    libgdk-pixbuf2.0-dev \
    libgstreamer1.0-dev \
    gstreamer1.0-libav \
    gstreamer1.0-gtk3 \
    gstreamer1.0-plugins-base \
    gstreamer1.0-plugins-good \
    gstreamer1.0-plugins-bad

Warning

If you find additional packages that needs to be installed, please submit an issue on GitHub.

Next, build and install the application using Stack:

stack install

You should now have Komposition available:

~/.local/bin/komposition

If you have added ~/.local/bin to your PATH, run:

komposition

Older GTK+ Versions

If you see an error like the following when installing, it means your version of GTK+ is too old:

Not in scope: data constructor ‘Gtk.FileChooserNative’

This has been detected on Ubuntu 16.04. You may fix the issue by upgrading to Ubuntu 18.04, or by compiling and installing a newer version of GTK+ from source.

macOS

brew install pkg-config gobject-introspection gtk+3 ffmpeg sox gstreamer libffi gst-plugins-base gst-libav
brew install gst-plugins-good --with-gtk+3

export PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"

# if you get an error in the next step about 'happy' not being on your
# PATH, run this command first:
stack build happy
stack install

Windows

Komposition can be built on Windows in an MSYS2 environment. The precise instructions are not available in this documentation yet, but you should be able to install the dependencies using a command like the following, and then compile and run Komposition using Stack.

# something like this...
pacman -S mingw-w64-x86_64-gstreamer mingw-w64-x86_64-gst-libav mingw-w64-x86_64-gst-plugins-{base,good,bad}
# TODO: also gtk+3, ffmpeg, and sox

Nix/NixOS

Komposition is not yet in nixpkgs, but it can be installed with Nix from an archive on GitHub.

First, consider installing Cachix and using the Komposition binary cache. It's not strictly required, but will save you time waiting on compilation.

cachix use komposition

Next, use nix-env to install Komposition from the master branch:

nix-env -iA komposition -f https://github.com/owickstrom/komposition/archive/master.tar.gz

Run it from the command line:

komposition