📦 Package manager for REAPER
cfillion HACK: destruct thread-local storage objects earlier on Windows to avo…
…id a possible schannel deadlock [p=2038163]
Latest commit 298b5b6 Sep 23, 2018
Permalink
Failed to load latest commit information.
Extensions improve v1.2.1 changelog Dec 14, 2017
src HACK: destruct thread-local storage objects earlier on Windows to avo… Sep 24, 2018
test use structured binding declaration in range-based loops Aug 26, 2018
vendor prevent git from converting the line endings in the patches Jul 30, 2018
x64 link against system zlib/Catch2 and use vcpkg on Windows Jul 29, 2018
x86 link against system zlib/Catch2 and use vcpkg on Windows Jul 29, 2018
.appveyor.yml use AppVeyor's new Ubuntu 18.04 images Sep 19, 2018
.gitignore link against system zlib/Catch2 and use vcpkg on Windows Jul 29, 2018
.reapack-index.conf apply changes to ABOUT.md to the index Sep 13, 2016
.travis.yml only unset CURLOPT_CAINFO on macOS (see 0918a84 p=1956940) Jul 31, 2018
ABOUT.md happy new year 2018! 🎆 Jun 15, 2018
COPYING license the source code under LGPL v3 Dec 17, 2015
COPYING.LESSER license the source code under LGPL v3 Dec 17, 2015
Makefile remove rake, run tup directly and optionally make Jul 30, 2018
README.md only unset CURLOPT_CAINFO on macOS (see 0918a84 p=1956940) Jul 31, 2018
Tupfile use C++17's std::size instead of a custom macro or function Jul 30, 2018
Tupfile.ini initial commit Nov 22, 2015
index.xml index: 1 modified package, 1 new version Dec 14, 2017
linux.tup strip dead code from the binaries on linux and macos Aug 13, 2018
macosx.tup strip dead code from the binaries on linux and macos Aug 13, 2018
prepare.rb happy new year 2018! 🎆 Jun 15, 2018
win32.tup use structured binding declaration in range-based loops Aug 26, 2018
wrapper.bat win32: autodetect visual studio Jul 30, 2018

README.md

ReaPack: Package manager for REAPER

Build status macOS build status Donate

Visit the ReaPack website for ready-to-use binaries and the user guide.

Compilation

The following section describes how to build ReaPack on your computer. The build system is based on Tup. A modern compiler (gcc/clang/msvc) with C++17 support is needed.

By default the tup command triggers both the 64-bit and 32-bit builds. Use tup x64 or tup x86 to select a single architecture. Run the test suite with make test.

The 64-bit and 32-bit binaries (such as reaper_reapack64.so) are created in x64/bin and x86/bin respectively. Copy or link the desired one into <REAPER resource path>/UserPlugins and restart REAPER to use it.

Compiling ReaPack requires a few external libraries and files depending on the operating system.

Put the REAPER extension SDK into the vendor directory:

  • reaper_plugin.h from reaper-oss/sws
  • reaper_plugin_functions.h from the REAPER action "[developer] Write C++ API functions header"

Clone WDL: git clone https://github.com/justinfrankel/WDL.git vendor/WDL

Linux

Install GCC/G++, tup, PHP and the development files for Boost (1.56 or later), Catch2, libcurl, SQLite3 and zlib matching the target architecture(s).

Custom compiler

Set the CXX environement variable to select a different compiler (default is gcc if unset).

CXX=gcc-8 tup x64

Custom libcurl

Set the CURLSO environment variable to override the system default libcurl used for linking. Some older distributions still ship libcurl with the old pre-7.16 SONAME. Consider using a libcurl built with --disable-versioned-symbols to produce more compatible binaries (libcurl-compat on Arch Linux for example).

CURLSO=:libcurl.so.3 tup

macOS

Install Boost, tup and Xcode Command Line Tools. Using Homebrew:

xcode-select --install
brew cask install osxfuse
brew install boost tup

Download the single header version of Catch2 (catch.hpp) into vendor/catch2.

Apply these patches to WDL:

Windows

Install tup (explicit-variant branch, see this thread) and Visual Studio 2017 with C++ support.

Clone vcpkg into vendor and install the build dependencies:

git clone https://github.com/Microsoft/vcpkg.git vendor\vcpkg
git apply --directory=vendor vendor\0001-vcpkg-curl-use-winssl.patch
vendor\vcpkg\bootstrap-vcpkg.bat

set /p vcpkg-deps=<vendor\vcpkg-deps.txt
vendor\vcpkg\vcpkg install --triplet x64-windows-static %vcpkg-deps%
vendor\vcpkg\vcpkg install --triplet x86-windows-static %vcpkg-deps%

Support and feedback

Ask any ReaPack-releated questions in the ReaPack forum thread. Questions related to development or packaging can be asked in the development thread.

Report bugs or request features in the issue tracker.