Skip to content
This repository has been archived by the owner on May 12, 2021. It is now read-only.

Latest commit

 

History

History
141 lines (100 loc) · 2.8 KB

INSTALL.md

File metadata and controls

141 lines (100 loc) · 2.8 KB

Installation

The readme contains some information on the simplest installation methods, but you can also install Patchwork by fetching from Git and building from source.

Dependencies

  • Git
  • Node.js (Active LTS)
  • npm or Yarn
  • autoconf and automake
  • libtool
  • x11 and libxkbfile (Linux only)

Debian / Ubuntu

apt-get install \
  automake \
  g++ \
  libgconf-2-4 \
  libtool \
  libxext-dev \
  libxkbfile-dev \
  libxtst-dev \
  m4 \ 
  make

CentOS / Fedora

dnf install \
  libXext-devel \
  libXtst-devel \
  libxkbfile-devel \
  gcc-c++ \
  m4 \
  automake \
  libtool

macOS

brew install libtool automake

NixOS

nix-shell -p nodejs autoconf automake libtool x11 xlibs.libxkbfile electron_8

Fetch

git clone https://github.com/ssbc/patchwork
cd patchwork

Build

With npm:

npm install

If you receive 'No native build found' errors, try instead:

npm install --build-from-source

With yarn:

yarn

Proxy

Normally, the application will follow your system settings to use a proxy, or you can set up a proxy by the following command line options.

--proxy-server=<SERVER>:<PORT>
--proxy-pac-url=<URL>

On Windows, please make sure to add -- before options. For example, C:\Users\YourUser\AppData\Local\Programs\ssb-patchwork\Patchwork.exe -- --proxy-server=....

Start

npm

npm start

Yarn

yarn start

Sandbox

Some Linux users may see an error like this:

The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that node_modules/electron/dist/chrome-sandbox is owned by root and has mode 4755.

You have three options, pick the one that you think sucks the least:

  1. Change your kernel settings: sudo sysctl kernel.unprivileged_userns_clone=1
  2. Follow the instructions and change the file's owner to root
  • sudo chown root node_modules/electron/dist/chrome-sandbox
  • sudo chmod 4755 node_modules/electron/dist/chrome-sandbox
  1. Disable the sandbox with either:
  • npm start -- --no-sandbox, or
  • yarn start -- --no-sandbox

See also:

AppImage

Note that the chown and chmod solution doesn't work with AppImages, but you can launch the AppImage with the --no-sandbox flag appended to the command.

You can permanently patch the AppImage to add --no-sandbox, but that change is experimental and requires some extra steps.