nixpkgs/pkgs/applications/audio/zrythm/default.nix
tshaynik 100670b224 zrythm: init at 1.0.0-alpha.26.0.13
Closes #98871

Built on work done by @andreasfelix on #129457 but adds additional
missing dependencies, uses the latest zrythm
version, makes use of dependencies that have since been added to
nixpkgs, and resolves the issue of the crash on start that previous
packaging attempt was encountering.
2021-11-05 15:12:39 -04:00

169 lines
2.5 KiB
Nix

{ stdenv
, lib
, fetchFromGitHub
, SDL2
, alsa-lib
, libaudec
, bash
, bash-completion
, breeze-icons
, carla
, chromaprint
, cmake
, curl
, dconf
, epoxy
, ffmpeg
, fftw
, fftwFloat
, flex
, glib
, gtk3
, gtksourceview3
, guile
, graphviz
, help2man
, json-glib
, jq
, libbacktrace
, libcyaml
, libgtop
, libjack2
, libpulseaudio
, libsamplerate
, libsndfile
, libsoundio
, libxml2
, libyaml
, lilv
, lv2
, meson
, ninja
, pandoc
, pcre
, pcre2
, pkg-config
, python3
, reproc
, rtaudio
, rtmidi
, rubberband
, serd
, sord
, sratom
, texi2html
, wrapGAppsHook
, xdg-utils
, xxHash
, vamp-plugin-sdk
, zstd
}:
stdenv.mkDerivation rec {
pname = "zrythm";
version = "1.0.0-alpha.26.0.13";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "sha256-dkXlkJ+qlfxV9Bv2UvZZa2iRVm8tgpK4JxkWL2Jeq48=";
};
nativeBuildInputs = [
help2man
jq
libaudec
libxml2
meson
ninja
pandoc
pkg-config
python3
python3.pkgs.sphinx
texi2html
wrapGAppsHook
cmake
];
buildInputs = [
SDL2
alsa-lib
bash-completion
carla
chromaprint
curl
dconf
epoxy
ffmpeg
fftw
fftwFloat
flex
breeze-icons
glib
gtk3
gtksourceview3
graphviz
guile
json-glib
libbacktrace
libcyaml
libgtop
libjack2
libpulseaudio
libsamplerate
libsndfile
libsoundio
libyaml
lilv
lv2
pcre
pcre2
reproc
rtaudio
rtmidi
rubberband
serd
sord
sratom
vamp-plugin-sdk
xdg-utils
xxHash
zstd
];
mesonFlags = [
"-Denable_ffmpeg=true"
"-Denable_rtmidi=true"
"-Denable_rtaudio=true"
"-Denable_sdl=true"
"-Dmanpage=true"
# "-Duser_manual=true" # needs sphinx-intl
"-Dlsp_dsp=disabled"
"-Db_lto=false"
];
NIX_LDFLAGS = ''
-lfftw3_threads -lfftw3f_threads
'';
postPatch = ''
chmod +x scripts/meson-post-install.sh
patchShebangs ext/sh-manpage-completions/run.sh scripts/generic_guile_wrap.sh \
scripts/meson-post-install.sh tools/check_have_unlimited_memlock.sh
'';
preFixup = ''
gappsWrapperArgs+=(
--prefix GSETTINGS_SCHEMA_DIR : "$out/share/gsettings-schemas/${pname}-${version}/glib-2.0/schemas/"
)
'';
meta = with lib; {
homepage = "https://www.zrythm.org";
description = "Highly automated and intuitive digital audio workstation";
maintainers = with maintainers; [ tshaynik magnetophon ];
platforms = platforms.linux;
license = licenses.agpl3Plus;
};
}