about summary refs log tree commit diff
path: root/pkgs/applications/audio/zrythm
diff options
context:
space:
mode:
authortshaynik <tshaynik@protonmail.com>2021-11-05 15:12:39 -0400
committertshaynik <tshaynik@protonmail.com>2021-11-05 15:12:39 -0400
commit100670b224c8d3cb0e78501d2cc0154f28d0f4af (patch)
treeb365bd627c7d9f3372df18f2718f156754374add /pkgs/applications/audio/zrythm
parentbebe27a8232bb336acd19b91e2f6bc5fe17bf2e9 (diff)
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.
Diffstat (limited to 'pkgs/applications/audio/zrythm')
-rw-r--r--pkgs/applications/audio/zrythm/default.nix169
1 files changed, 169 insertions, 0 deletions
diff --git a/pkgs/applications/audio/zrythm/default.nix b/pkgs/applications/audio/zrythm/default.nix
new file mode 100644
index 0000000000000..ee6eef5527f9d
--- /dev/null
+++ b/pkgs/applications/audio/zrythm/default.nix
@@ -0,0 +1,169 @@
+{ 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;
+  };
+}