From 100670b224c8d3cb0e78501d2cc0154f28d0f4af Mon Sep 17 00:00:00 2001 From: tshaynik Date: Fri, 5 Nov 2021 15:12:39 -0400 Subject: [PATCH] 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. --- pkgs/applications/audio/zrythm/default.nix | 169 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 + 2 files changed, 173 insertions(+) create mode 100644 pkgs/applications/audio/zrythm/default.nix diff --git a/pkgs/applications/audio/zrythm/default.nix b/pkgs/applications/audio/zrythm/default.nix new file mode 100644 index 000000000000..ee6eef5527f9 --- /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; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0f110ba95290..c2e8a26185e1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -33563,5 +33563,9 @@ with pkgs; zktree = callPackage ../applications/misc/zktree {}; + zrythm = callPackage ../applications/audio/zrythm { + inherit (plasma5Packages) breeze-icons; + }; + zthrottle = callPackage ../tools/misc/zthrottle { }; }